LandscapeDNDC 1.37.0
oryza-et.h
1
2#ifndef MOBILE_MODULE_ORYZA_ET_H_
3#define MOBILE_MODULE_ORYZA_ET_H_
4
5#include "mbe_legacymodel.h"
6#include "state/mbe_state.h"
7
8namespace ldndc {
9
10class substate_physiology_t;
11class substate_soilchemistry_t;
12class substate_watercycle_t;
13
14/*
15 * @brief
16 * WaterCycleOryzaET origins from the Oryza2000 model
17 * and calculates:
18 * - potential evapotranspiration
19 * - potential evaporation
20 * - potential transpiration
21 * Potential evapotranspiration is calculated based on penman
22 *
23 * @author
24 * David Kraus
25 *
26 */
27class LDNDC_API WaterCycleOryzaET : public MBE_LegacyModel
28{
29 LMOD_EXPORT_MODULE_INFO(WaterCycleOryzaET,"watercycle:oryza-et","Oryza ET");
30
31
32public:
33 WaterCycleOryzaET(
34 MoBiLE_State *,
35 cbm::io_kcomm_t *,
36 timemode_e);
37
38 ~WaterCycleOryzaET();
39
40 lerr_t configure( ldndc::config_file_t const *);
41
42 lerr_t initialize();
43 lerr_t solve();
44 lerr_t finalize();
45
46 lerr_t sleep();
47 lerr_t wake();
48
49private:
50
51 cbm::io_kcomm_t * io_kcomm;
52
53 MoBiLE_PlantVegetation * m_veg;
54
55 input_class_climate_t const * climate_in;
56 input_class_species_t const * species_in;
57
58 substate_physiology_t const & ph_;
59 substate_soilchemistry_t const & sc_;
60 substate_watercycle_t & wc_;
61
62 bool time_mode_subdaily_;
63 double day_fraction_;
64
84 lerr_t
85 saturated_vapour_pressure(
86 double /* temperature */,
87 double & /* saturated vapour pressure */,
88 double & /* slope of saturated vapour pressure at given temperature */);
89
115 lerr_t penman(
116 int /* switch for different surface types */,
117 int /* day of year */,
118 double /* latitude */,
119 double /* albedo */,
120 double /* A value of Angstrom formula */,
121 double /* B value of Angstrom formula */,
122 double /* temperature tolerance */,
123 double /* short-wave radiation */,
124 double /* temperature */,
125 double /* wind speed */,
126 double /* vapour pressure */,
127 double /* estimated temperature difference between surface height and reference height */,
128 double & /* potential evapotranspiration */,
129 double & /* radiation driven part of potential evapotranspiration */,
130 double & /* dryness driven part of potential evapotranspiration */);
131};
132
133} /*namespace ldndc*/
134
135#endif // MOBILE_MODULE_ORYZA_ET_H_
Spatially explicit groundwater model.
Definition: airchemistryput.h:15