LandscapeDNDC 1.37.0
Loading...
Searching...
No Matches
fertilize.h
1
2#ifndef LM_EVENTHANDLER_FERTILIZE_H_
3#define LM_EVENTHANDLER_FERTILIZE_H_
4
5#include "mbe_legacymodel.h"
6#include "state/mbe_state.h"
7#include "ld_eventqueue.h"
8
9namespace ldndc {
10 namespace event
11 { class EventFertilize; }
12
13class LDNDC_API EventHandlerFertilize : public MBE_LegacyModel
14{
16 static const double DEPTHMAX;
17
18 LMOD_EXPORT_MODULE_INFO(EventHandlerFertilize,"eventhandler:fertilize","EventHandler Fertilize");
19
20 public:
21 EventHandlerFertilize( MoBiLE_State *,
22 cbm::io_kcomm_t *, timemode_e);
23 ~EventHandlerFertilize();
24
25 lerr_t configure( ldndc::config_file_t const *) { return LDNDC_ERR_OK; }
26
27 lerr_t initialize() { return LDNDC_ERR_OK; }
28 lerr_t solve();
29 lerr_t finalize() { return LDNDC_ERR_OK; }
30
31 lerr_t wake() { return LDNDC_ERR_OK; }
32 lerr_t sleep() { return LDNDC_ERR_OK; }
33
34 private:
35 cbm::io_kcomm_t * io_kcomm;
36
37 input_class_siteparameters_t const * sipar_in;
38 input_class_soillayers_t const * soillayers_in;
39
40 substate_soilchemistry_t * soilchem;
41 substate_surfacebulk_t * surfacebulk;
42
43 public:
47 lerr_t event_fertilize(
48 bool /* surfacewater yes/no*/,
49 bool = false /* location specific fertilization yes/no */);
50
54 lerr_t event_manure_dndc();
55
59 lerr_t event_manure_deconit_metrx();
60
65 bool have_fertilization_event(){ return ! m_FertilizeEvents.is_empty(); };
66
71 bool have_manuring_event(){ return ! m_ManureEvents.is_empty(); };
72
73 private:
74 lerr_t fertilize_surface( EventAttributes const &);
75 lerr_t fertilize_soil( EventAttributes const &);
76
77 public:
78 lerr_t register_ports( cbm::io_kcomm_t *);
79 lerr_t unregister_ports( cbm::io_kcomm_t *);
80
81 lerr_t queue_event_fertilize( EventAttributes &);
82 lerr_t queue_event_manure( EventAttributes &);
83
84 private:
85 CBM_Handle m_FHandle;
86 EventQueue m_FertilizeEvents;
87 CBM_Handle m_MHandle;
88 EventQueue m_ManureEvents;
89};
90
91}
92
93#endif /* !LMOD_EVENTHANDLER_FERTILIZE_H_ */
94
Spatially explicit groundwater model.
Definition airchemistryput.h:15