12#ifndef LDNDC_SUBSTATE_SOILCHEMISTRY_H_
13#define LDNDC_SUBSTATE_SOILCHEMISTRY_H_
16#include "state/mbe_substate.h"
17#include "substate/mbe_soilchemistry.h.inc"
20class LDNDC_API substate_soilchemistry_t :
public MoBiLE_Substate
23 static double const INCR;
25 MOBILE_SUBSTATE_OBJECT(soilchemistry,LSUB_FLAG_NONE);
28 LDNDC_soilchemistry_SUBSTATE_ITEMS
33 int create_checkpoint( substate_checkpoint_write_context_t *);
34 int restore_checkpoint( substate_checkpoint_read_context_t *);
36#ifdef _LDNDC_HAVE_ONLINECONTROL
39 lreply_t * , lrequest_t
const * );
43 lerr_t initialize_profile_(
45 lerr_t initialize_pools_(
55 lerr_t initialize_soil_carbon_(
60 double get_soil_organic_matter(
size_t )
const;
62 double get_soil_mass(
size_t )
const;
64 double get_accumulated_c_net_flux()
const;
66 double get_bulk_density_without_stones(
size_t )
const;
68 double get_organic_carbon_content_without_stones(
size_t )
const;
71 std::map< std::string, double > n_subdivision;
78assign_soillayer_stone_fraction(
80 size_t const &_nd_stratum,
82 const ldndc::site::input_class_site_t *_site,
83 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
84 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
88assign_soillayer_soil_texture(
92 size_t const &_nd_stratum,
94 const ldndc::site::input_class_site_t *_site,
95 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
96 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
100assign_soillayer_bulk_density(
101 double &_bulk_density_with_stones,
102 size_t const &_nd_stratum,
103 double const &_depth,
104 double const &_stone_fraction,
105 double const &_c_org_without_stones,
106 const ldndc::site::input_class_site_t *_site,
107 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
108 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
112assign_soillayer_organic_carbon_and_nitrogen_content(
114 double &_c_org_without_stones,
115 double &_n_org_without_stones,
116 size_t const &_nd_stratum,
119 const ldndc::site::input_class_site_t *_site,
120 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
121 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
126 double &_porosity_with_stones,
127 size_t const &_nd_stratum,
128 double const &_depth,
129 double const &_stone_fraction,
130 double const &_c_org_without_stones,
131 double const &_bulk_density_without_stones,
132 const ldndc::site::input_class_site_t *_site,
133 const ldndc::soillayers::input_class_soillayers_t *_soillayers,
134 const ldndc::soilparameters::input_class_soilparameters_t *_soilparameters,
Spatially explicit groundwater model.
Definition airchemistryput.h:15
lerr_t assign_soillayer_porosity(double &_porosity_with_stones, size_t const &_nd_stratum, double const &_depth, double const &_stone_fraction, double const &_c_org_without_stones, double const &_bulk_density_without_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_soilchemistry.cpp:632