1 2 /////////////////////////////////////////////////////////// 3 // // 4 // SAGA // 5 // // 6 // System for Automated Geoscientific Analyses // 7 // // 8 // Tool Library // 9 // sim_hydrology // 10 // // 11 //-------------------------------------------------------// 12 // // 13 // topmodel.h // 14 // // 15 // Copyright (C) 2003 by // 16 // Olaf Conrad // 17 // // 18 //-------------------------------------------------------// 19 // // 20 // This file is part of 'SAGA - System for Automated // 21 // Geoscientific Analyses'. SAGA is free software; you // 22 // can redistribute it and/or modify it under the terms // 23 // of the GNU General Public License as published by the // 24 // Free Software Foundation, either version 2 of the // 25 // License, or (at your option) any later version. // 26 // // 27 // SAGA is distributed in the hope that it will be // 28 // useful, but WITHOUT ANY WARRANTY; without even the // 29 // implied warranty of MERCHANTABILITY or FITNESS FOR A // 30 // PARTICULAR PURPOSE. See the GNU General Public // 31 // License for more details. // 32 // // 33 // You should have received a copy of the GNU General // 34 // Public License along with this program; if not, see // 35 // <http://www.gnu.org/licenses/>. // 36 // // 37 //-------------------------------------------------------// 38 // // 39 // e-mail: oconrad@saga-gis.org // 40 // // 41 // contact: Olaf Conrad // 42 // Institute of Geography // 43 // University of Goettingen // 44 // Goldschmidtstr. 5 // 45 // 37077 Goettingen // 46 // Germany // 47 // // 48 /////////////////////////////////////////////////////////// 49 50 //--------------------------------------------------------- 51 #ifndef HEADER_INCLUDED__topmodel_H 52 #define HEADER_INCLUDED__topmodel_H 53 54 55 /////////////////////////////////////////////////////////// 56 // // 57 // // 58 // // 59 /////////////////////////////////////////////////////////// 60 61 //--------------------------------------------------------- 62 #include "topmodel_values.h" 63 64 65 /////////////////////////////////////////////////////////// 66 // // 67 // // 68 // // 69 /////////////////////////////////////////////////////////// 70 71 //--------------------------------------------------------- 72 class CTOPMODEL : public CSG_Tool_Grid 73 { 74 public: 75 CTOPMODEL(void); 76 77 78 protected: 79 80 virtual bool On_Execute (void); 81 82 83 private: 84 85 int m_fP, m_fET, m_fTime; 86 87 double dTime, inf_cumf, inf_bPonding; 88 89 CSG_Table *m_pWeather; 90 91 CTOPMODEL_Values Vals; 92 93 94 void Run (double Evaporation, double Infiltration, double Infiltration_Excess); 95 96 bool Get_Weather (int iTimeStep, double &Precipitation, double &Evaporation, CSG_String &Date); 97 double Get_Infiltration (double t, double R); 98 99 }; 100 101 102 /////////////////////////////////////////////////////////// 103 // // 104 // // 105 // // 106 /////////////////////////////////////////////////////////// 107 108 //--------------------------------------------------------- 109 #endif // #ifndef HEADER_INCLUDED__topmodel_H 110