NumberSource (const BlockModel& al) : Number (al), source (Librarian::build_item<Source> (al, "source")), begin (al.check ("begin") ? new Time (al.submodel ("begin")) : NULL), end (al.check ("end") ? new Time (al.submodel ("end")) : NULL), state (uninitialized), val (-42.42e42) { }
ActionWaitDays (const BlockModel& al) : Action (al), days (al.integer ("days")), hours (al.integer ("hours")), activated (al.check ("end_time")), end_time (1, 1, 1, 1) { if (activated) end_time = Time (al.submodel ("end_time")); }
Horizon::Implementation::Implementation (const BlockModel& al) : dry_bulk_density (al.number ("dry_bulk_density", -42.42e42)), SOM_C_per_N (al.number_sequence ("SOM_C_per_N")), C_per_N (al.number ("C_per_N", -42.42e42)), SOM_fractions (al.check ("SOM_fractions") ? al.number_sequence ("SOM_fractions") : std::vector<double> ()), turnover_factor (al.number ("turnover_factor")), anisotropy (al.number ("anisotropy")), attributes (get_attributes (al.submodel_sequence ("attributes"))), dimensions (get_dimensions (al.submodel_sequence ("attributes"))), nitrification (Librarian::build_item<Nitrification> (al, "Nitrification")), secondary (Librarian::build_item<Secondary> (al, "secondary_domain")), r_pore_min (al.number ("r_pore_min")), primary_sorption_fraction (NAN), hor_heat (al.submodel ("HorHeat")), CEC (al.number ("CEC", -42.42e42)) { }
ConditionAfter (const BlockModel& al) : Condition (al), time (al.submodel ("time")) { }
ConditionBefore (const BlockModel& al) : Condition (al), time (al.submodel ("time")) { }
ActionRidge (const BlockModel& al) : Action (al), ridge (al.submodel ("ridge")) { }