11#ifndef LDNDC_SUBSTATE_WATERCYCLE_H_
12#define LDNDC_SUBSTATE_WATERCYCLE_H_
14#include "state/mbe_substate.h"
15#include "substate/mbe_watercycle.h.inc"
20class LDNDC_API substate_watercycle_t :
public MoBiLE_Substate
25 LDNDC_watercycle_SUBSTATE_ITEMS
29 enum transpiration_method_e
32 POTENTIALTRANSPIRATION,
36 double snow_height()
const;
38 double canopy_snow_and_water()
const;
39 double canopy_snow_and_water(
size_t )
const;
41 double canopy_snow_and_water_fl(
size_t )
const;
45 int create_checkpoint( substate_checkpoint_write_context_t *);
46 int restore_checkpoint( substate_checkpoint_read_context_t *);
49#ifdef _LDNDC_HAVE_ONLINECONTROL
51 int process_request( lreply_t * , lrequest_t
const * );
58assign_soillayer_wc_sat_and_min(
59 double &_wc_sat_with_stones,
60 double &_wc_res_with_stones,
61 double &_porosity_with_stones,
62 size_t const &_nd_stratum,
64 double const &_stone_fraction,
65 const ldndc::site::input_class_site_t *_site,
66 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
67 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
72assign_soillayer_fc_and_wp(
73 double &_wc_fc_with_stones,
74 double &_wc_wp_withstones,
75 double _wc_sat_withstones,
76 double _wc_res_withstones,
77 double const &_bulk_density_without_stones,
78 size_t const &_nd_stratum,
80 double const &_stone_fraction,
81 const ldndc::site::input_class_site_t *_site,
82 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
83 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
84 const ldndc::siteparameters::input_class_siteparameters_t *_siteparameters,
91 double &_macropores_with_stones,
94 size_t const &_nd_stratum,
96 double const &_stone_fraction,
97 double const &_porosity_with_stones,
98 const ldndc::site::input_class_site_t *_site,
99 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
100 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
106 double &_macropores_with_stones,
107 size_t const &_nd_stratum,
108 double const &_depth,
109 double const &_stone_fraction,
110 const ldndc::site::input_class_site_t *_site,
111 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
112 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
117assign_soillayer_van_genuchten_parameter(
118 double const &_vg_a_old,
119 double const &_vg_n_old,
124 double const &_wc_sat,
125 double const &_wc_res,
126 double const &_wc_fc,
127 double const &_wc_wp,
128 double const &_bulk_density_without_stones,
129 bool &_vg_parameter_from_input,
130 bool &_assign_from_wc_fc_and_wc_wp,
131 size_t const &_nd_stratum,
132 double const &_depth,
133 const ldndc::site::input_class_site_t *_site,
134 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
135 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
136 const ldndc::siteparameters::input_class_siteparameters_t *_siteparameters,
Spatially explicit groundwater model.
Definition: airchemistryput.h:15
lerr_t assign_soillayer_macropores(double &_macropores_with_stones, double &_wc_fc, double &_wc_sat, size_t const &_nd_stratum, double const &_depth, double const &_stone_fraction, double const &_porosity_with_stones, const ldndc::site::input_class_site_t *_site, const ldndc::soillayers::input_class_soillayers_t *_soillayers, const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters, bool _info=false)
Definition: mbe_watercycle.cpp:760
@ LSUB_FLAG_NONE
Definition: mbe_substate.h:77