1#ifndef STANDARDBML_FORMAT_TIME_H
2#define STANDARDBML_FORMAT_TIME_H
4#include "../framework/module.h"
5#include "../framework/state_map.h"
20 state_map
const& input_quantities,
21 state_map* output_quantities)
25 time{get_input(input_quantities,
"time")},
28 doy_op{get_op(output_quantities,
"doy")},
29 fractional_doy_op{get_op(output_quantities,
"fractional_doy")},
30 hour_op{get_op(output_quantities,
"hour")}
35 static std::string
get_name() {
return "format_time"; }
43 double* fractional_doy_op;
47 void do_operation()
const;
66void format_time::do_operation()
const
68 double constexpr hr_per_day = 24.0;
70 int const d = std::floor(time / hr_per_day);
71 double const doy = 1 + d;
72 double const hour = time - hr_per_day * d;
75 update(fractional_doy_op, doy + hour / hr_per_day);
76 update(hour_op, hour);
This is the standard BioCro module library; it includes the essential modules used in typical BioCro ...