2#ifndef LM_EVENTHANDLER_FERTILIZE_H_
3#define LM_EVENTHANDLER_FERTILIZE_H_
5#include "mbe_legacymodel.h"
6#include "state/mbe_state.h"
7#include "ld_eventqueue.h"
11 {
class EventFertilize; }
13class LDNDC_API EventHandlerFertilize :
public MBE_LegacyModel
16 static const double DEPTHMAX;
18 LMOD_EXPORT_MODULE_INFO(EventHandlerFertilize,
"eventhandler:fertilize",
"EventHandler Fertilize");
21 EventHandlerFertilize( MoBiLE_State *,
22 cbm::io_kcomm_t *, timemode_e);
23 ~EventHandlerFertilize();
25 lerr_t configure( ldndc::config_file_t
const *) {
return LDNDC_ERR_OK; }
27 lerr_t initialize() {
return LDNDC_ERR_OK; }
29 lerr_t finalize() {
return LDNDC_ERR_OK; }
31 lerr_t wake() {
return LDNDC_ERR_OK; }
32 lerr_t sleep() {
return LDNDC_ERR_OK; }
35 cbm::io_kcomm_t * io_kcomm;
37 input_class_siteparameters_t
const * sipar_in;
38 input_class_soillayers_t
const * soillayers_in;
40 substate_soilchemistry_t * soilchem;
41 substate_surfacebulk_t * surfacebulk;
47 lerr_t event_fertilize(
54 lerr_t event_manure_dndc();
59 lerr_t event_manure_deconit_metrx();
65 bool have_fertilization_event(){
return ! m_FertilizeEvents.is_empty(); };
71 bool have_manuring_event(){
return ! m_ManureEvents.is_empty(); };
74 lerr_t fertilize_surface( EventAttributes
const &);
75 lerr_t fertilize_soil( EventAttributes
const &);
78 lerr_t register_ports( cbm::io_kcomm_t *);
79 lerr_t unregister_ports( cbm::io_kcomm_t *);
81 lerr_t queue_event_fertilize( EventAttributes &);
82 lerr_t queue_event_manure( EventAttributes &);
86 EventQueue m_FertilizeEvents;
88 EventQueue m_ManureEvents;
Spatially explicit groundwater model.
Definition airchemistryput.h:15