The BioCro C++ Library
litter_cover.h
Go to the documentation of this file.
1#ifndef LITTER_COVER_H
2#define LITTER_COVER_H
3
4#include "../framework/module.h"
5#include "../framework/state_map.h"
6
7namespace standardBML
8{
47class litter_cover : public direct_module
48{
49 public:
51 state_map const& input_quantities,
52 state_map* output_quantities)
53 : direct_module{},
54
55 // Get pointers to input quantities
56 LeafLitter{get_input(input_quantities, "LeafLitter")},
57 km_leaf_litter{get_input(input_quantities, "km_leaf_litter")},
58
59 // Get pointers to output quantities
60 lcf_op{get_op(output_quantities, "litter_cover_fraction")}
61 {
62 }
63 static string_vector get_inputs();
64 static string_vector get_outputs();
65 static std::string get_name() { return "litter_cover"; }
66
67 private:
68 // References to input quantities
69 double const& LeafLitter;
70 double const& km_leaf_litter;
71
72 // Pointers to output quantities
73 double* lcf_op;
74
75 // Main operation
76 void do_operation() const;
77};
78
80{
81 return {
82 "LeafLitter", // Mg / ha
83 "km_leaf_litter" // Mg / ha
84 };
85}
86
88{
89 return {
90 "litter_cover_fraction" // dimensionless
91 };
92}
93
94void litter_cover::do_operation() const
95{
96 update(lcf_op, LeafLitter / (LeafLitter + km_leaf_litter));
97}
98
99} // namespace standardBML
100#endif
Estimates the fraction of ground covered by leaf litter.
Definition: litter_cover.h:48
static string_vector get_outputs()
Definition: litter_cover.h:87
litter_cover(state_map const &input_quantities, state_map *output_quantities)
Definition: litter_cover.h:50
static string_vector get_inputs()
Definition: litter_cover.h:79
static std::string get_name()
Definition: litter_cover.h:65
This is the standard BioCro module library; it includes the essential modules used in typical BioCro ...
Definition: aba_decay.h:8