LandscapeDNDC 1.37.0
Loading...
Searching...
No Matches
flood.h
1
2#ifndef LMOD_EVENTHANDLER_FLOOD_H_
3#define LMOD_EVENTHANDLER_FLOOD_H_
4
5#include "mbe_legacymodel.h"
6#include "state/mbe_state.h"
7#include "ld_eventqueue.h"
8
9namespace ldndc {
10
11
12class LDNDC_API EventHandlerFlood : public MBE_LegacyModel
13{
14 LMOD_EXPORT_MODULE_INFO(EventHandlerFlood,"eventhandler:flood","EventHandler Flood");
15
16 public:
17 EventHandlerFlood( MoBiLE_State *,
18 cbm::io_kcomm_t *, timemode_e);
19 ~EventHandlerFlood();
20
21 lerr_t configure( ldndc::config_file_t const *) { return LDNDC_ERR_OK; }
22 lerr_t register_ports( cbm::io_kcomm_t *);
23 lerr_t initialize() { return LDNDC_ERR_OK; }
24
25 lerr_t solve();
26 lerr_t unregister_ports( cbm::io_kcomm_t *);
27 lerr_t finalize() { return LDNDC_ERR_OK; }
28
29 lerr_t wake() { return LDNDC_ERR_OK; }
30 lerr_t sleep() { return LDNDC_ERR_OK; }
31
32
33 double get_bund_height() const { return cbm::bound_min( get_water_table(), bund_height); };
34
35 double get_irrigation_amount() const { return irrigation_amount; };
36
37 double get_irrigation_height() const { return irrigation_height; };
38
39 double get_maximum_percolation() const { return maximum_percolation; };
40
41 double get_water_table() const { return water_table; };
42
43 bool have_unlimited_water() const { return unlimited_water; };
44
45 double get_saturation_level() const { return saturation_level; };
46
47 double get_soil_depth() const { return soil_depth; };
48
49 private:
50 substate_soilchemistry_t const & sc_;
51 input_class_soillayers_t const & sl_;
52
53 EventQueue m_FloodEvents;
54 CBM_Handle m_FloodHandle;
55
56 double bund_height;
57 double irrigation_amount;
58 double irrigation_height;
59 double maximum_percolation;
60 double water_table;
61 bool unlimited_water;
62 double saturation_level;
63 double soil_depth;
64
65 protected:
66 virtual lerr_t flood();
67};
68
69} /*namespace ldndc*/
70
71#endif /* !LMOD_EVENTHANDLER_FLOOD_H_ */
72
Spatially explicit groundwater model.
Definition airchemistryput.h:15