1#ifndef THERMAL_TIME_LINEAR_H
2#define THERMAL_TIME_LINEAR_H
4#include "../framework/module.h"
5#include "../framework/state_map.h"
74 state_map
const& input_quantities,
75 state_map* output_quantities)
76 : differential_module{},
79 fractional_doy{get_input(input_quantities,
"fractional_doy")},
80 sowing_fractional_doy{get_input(input_quantities,
"sowing_fractional_doy")},
81 temp{get_input(input_quantities,
"temp")},
82 tbase{get_input(input_quantities,
"tbase")},
85 TTc_op{get_op(output_quantities,
"TTc")}
90 static std::string
get_name() {
return "thermal_time_linear"; }
94 double const& fractional_doy;
95 double const& sowing_fractional_doy;
103 void do_operation()
const;
110 "sowing_fractional_doy",
123void thermal_time_linear::do_operation()
const
126 double const rate_per_day =
127 fractional_doy < sowing_fractional_doy ? 0.0
128 : temp <= tbase ? 0.0
132 double const rate_per_hour = rate_per_day / 24.0;
135 update(TTc_op, rate_per_hour);
Calculates the rate of thermal time accumulation using a linear model.
static string_vector get_outputs()
static string_vector get_inputs()
static std::string get_name()
thermal_time_linear(state_map const &input_quantities, state_map *output_quantities)
This is the standard BioCro module library; it includes the essential modules used in typical BioCro ...