1#ifndef PRIESTLEY_TRANSPIRATION_H
2#define PRIESTLEY_TRANSPIRATION_H
4#include "../framework/module.h"
5#include "../framework/state_map.h"
16 slope_water_vapor_ip{get_ip(input_quantities,
"slope_water_vapor")},
17 psychrometric_parameter_ip{get_ip(input_quantities,
"psychrometric_parameter")},
18 latent_heat_vaporization_of_water_ip{get_ip(input_quantities,
"latent_heat_vaporization_of_water")},
19 PhiN_ip{get_ip(input_quantities,
"PhiN")},
22 transpiration_rate_op{get_op(output_quantities,
"transpiration_rate")}
27 static std::string
get_name() {
return "priestley_transpiration"; }
31 const double* slope_water_vapor_ip;
32 const double* psychrometric_parameter_ip;
33 const double* latent_heat_vaporization_of_water_ip;
34 const double* PhiN_ip;
37 double* transpiration_rate_op;
40 void do_operation()
const;
47 "psychrometric_parameter",
48 "latent_heat_vaporization_of_water",
55 "transpiration_rate"};
58void priestley_transpiration::do_operation()
const
62 double slope_water_vapor = *slope_water_vapor_ip;
63 double psychr_parameter = *psychrometric_parameter_ip;
64 double LHV = *latent_heat_vaporization_of_water_ip;
65 double PhiN = *PhiN_ip;
67 double evapotranspiration = 1.26 * slope_water_vapor * PhiN / (LHV * (slope_water_vapor + psychr_parameter));
70 update(transpiration_rate_op, evapotranspiration);
priestley_transpiration(state_map const &input_quantities, state_map *output_quantities)
static string_vector get_outputs()
static string_vector get_inputs()
static std::string get_name()
This is the standard BioCro module library; it includes the essential modules used in typical BioCro ...