1.3.49
 
Loading...
Searching...
No Matches
EnergyBalanceModel Class Reference

Energy balance model class. More...

#include <EnergyBalanceModel.h>

Public Member Functions

 EnergyBalanceModel (helios::Context *context)
 Constructor.
 
void enableMessages ()
 Enable standard output from this plug-in (default)
 
void disableMessages ()
 Disable standard output from this plug-in.
 
void run ()
 Function to run the energy balance model for all primitives in the Context.
 
void run (float dt)
 Function to run the dynamic /non steady state energy balance model for one timestep of length "dt" seconds.
 
void run (const std::vector< uint > &UUIDs)
 Function to run the energy balance model for a select set of primitives.
 
void run (const std::vector< uint > &UUIDs, float dt)
 Function to run the energy balance model for a select set of primitives for one timestep of length "dt" seconds.
 
void addRadiationBand (const char *band)
 Add the label of a radiation band in the RadiationModel plug-in that should be used in calculation of the absorbed all-wave radiation flux.
 
void addRadiationBand (const std::vector< std::string > &bands)
 Add the labels of radiation bands in the RadiationModel plug-in that should be used in calculation of the absorbed all-wave radiation flux.
 
void enableAirEnergyBalance ()
 Enable the air energy balance model, which computes the average air temperature and water vapor mole fraction based on the energy balance of the air layer in the canopy.
 
void enableAirEnergyBalance (float canopy_height_m, float reference_height_m)
 Enable the air energy balance model, which computes the average air temperature and water vapor mole fraction based on the energy balance of the air layer in the canopy.
 
void evaluateAirEnergyBalance (float dt_sec, float time_advance_sec)
 Advance the air energy balance over time for all primitives in the Context.
 
void evaluateAirEnergyBalance (const std::vector< uint > &UUIDs, float dt_sec, float time_advance_sec)
 Advance the air energy balance over time for primitives specified by UUIDs.
 
void optionalOutputPrimitiveData (const char *label)
 Add optional output primitive data values to the Context.
 
void printDefaultValueReport () const
 Print a report detailing usage of default input values for all primitives in the Context.
 
void printDefaultValueReport (const std::vector< uint > &UUIDs) const
 Print a report detailing usage of default input values based on a subset of primitive UUIDs.
 

Static Public Member Functions

static int selfTest (int argc=0, char **argv=nullptr)
 Self-test.
 

Detailed Description

Energy balance model class.

This model computes surface temperatures based on a local energy balance

Definition at line 40 of file EnergyBalanceModel.h.

Constructor & Destructor Documentation

◆ EnergyBalanceModel()

EnergyBalanceModel::EnergyBalanceModel ( helios::Context context)

Constructor.

Parameters
[in]contextPointer to the Helios context

Definition at line 23 of file EnergyBalanceModel.cpp.

Member Function Documentation

◆ addRadiationBand() [1/2]

void EnergyBalanceModel::addRadiationBand ( const char *  band)

Add the label of a radiation band in the RadiationModel plug-in that should be used in calculation of the absorbed all-wave radiation flux.

Parameters
[in]bandName of radiation band (e.g., PAR, NIR, LW, etc.)

Definition at line 445 of file EnergyBalanceModel.cpp.

◆ addRadiationBand() [2/2]

void EnergyBalanceModel::addRadiationBand ( const std::vector< std::string > &  bands)

Add the labels of radiation bands in the RadiationModel plug-in that should be used in calculation of the absorbed all-wave radiation flux.

Parameters
[in]bandsVector of names of radiation bands (e.g., PAR, NIR, LW, etc.)

Definition at line 451 of file EnergyBalanceModel.cpp.

◆ disableMessages()

void EnergyBalanceModel::disableMessages ( )

Disable standard output from this plug-in.

Definition at line 441 of file EnergyBalanceModel.cpp.

◆ enableAirEnergyBalance() [1/2]

void EnergyBalanceModel::enableAirEnergyBalance ( )

Enable the air energy balance model, which computes the average air temperature and water vapor mole fraction based on the energy balance of the air layer in the canopy.

Calling this version of enableAirEnergyBalance() will compute the canopy height based on a bounding box of all primitives in the Context, or the UUIDs based to evaluateAirEnergyBalance(). It also assumes that the reference height for ambient air temperature, humidity, and wind speed is at the canopy top. This routine sets primitive data 'air_temperature' and 'air_humidity' to the average air temperature and humidity in the canopy for all primitives.

Definition at line 457 of file EnergyBalanceModel.cpp.

◆ enableAirEnergyBalance() [2/2]

void EnergyBalanceModel::enableAirEnergyBalance ( float  canopy_height_m,
float  reference_height_m 
)

Enable the air energy balance model, which computes the average air temperature and water vapor mole fraction based on the energy balance of the air layer in the canopy.

This routine sets primitive data 'air_temperature' and 'air_humidity' to the average air temperature and humidity in the canopy for all primitives.

Parameters
[in]canopy_height_mHeight of the canopy in meters.
[in]reference_height_mHeight at which the ambient air temperature, humidity, and wind speed are measured in meters.

Definition at line 461 of file EnergyBalanceModel.cpp.

◆ enableMessages()

void EnergyBalanceModel::enableMessages ( )

Enable standard output from this plug-in (default)

Definition at line 437 of file EnergyBalanceModel.cpp.

◆ evaluateAirEnergyBalance() [1/2]

void EnergyBalanceModel::evaluateAirEnergyBalance ( const std::vector< uint > &  UUIDs,
float  dt_sec,
float  time_advance_sec 
)

Advance the air energy balance over time for primitives specified by UUIDs.

Parameters
[in]UUIDsUniversal unique identifiers for primitives that should be included in the air energy balance calculations.
[in]dt_secTime step in seconds.
[in]time_advance_secTotal time to advance the model in seconds (T must be greater than or equal to dt).

Definition at line 89 of file EnergyBalanceModel.cpp.

◆ evaluateAirEnergyBalance() [2/2]

void EnergyBalanceModel::evaluateAirEnergyBalance ( float  dt_sec,
float  time_advance_sec 
)

Advance the air energy balance over time for all primitives in the Context.

Parameters
[in]dt_secTime step in seconds.
[in]time_advance_secTotal time to advance the model in seconds (T must be greater than or equal to dt).

Definition at line 85 of file EnergyBalanceModel.cpp.

◆ optionalOutputPrimitiveData()

void EnergyBalanceModel::optionalOutputPrimitiveData ( const char *  label)

Add optional output primitive data values to the Context.

Parameters
[in]labelName of primitive data (e.g., vapor_pressure_deficit)

Definition at line 474 of file EnergyBalanceModel.cpp.

◆ printDefaultValueReport() [1/2]

void EnergyBalanceModel::printDefaultValueReport ( ) const

Print a report detailing usage of default input values for all primitives in the Context.

Definition at line 483 of file EnergyBalanceModel.cpp.

◆ printDefaultValueReport() [2/2]

void EnergyBalanceModel::printDefaultValueReport ( const std::vector< uint > &  UUIDs) const

Print a report detailing usage of default input values based on a subset of primitive UUIDs.

Parameters
[in]UUIDsUniversal unique identifiers for report

Definition at line 487 of file EnergyBalanceModel.cpp.

◆ run() [1/4]

void EnergyBalanceModel::run ( void  )

Function to run the energy balance model for all primitives in the Context.

Definition at line 53 of file EnergyBalanceModel.cpp.

◆ run() [2/4]

void EnergyBalanceModel::run ( const std::vector< uint > &  UUIDs)

Function to run the energy balance model for a select set of primitives.

Parameters
[in]UUIDsUnique universal identifiers (UUIDs) for primitives that should be included in energy balance calculations. All other primitives will be skipped by the model.

Definition at line 61 of file EnergyBalanceModel.cpp.

◆ run() [3/4]

void EnergyBalanceModel::run ( const std::vector< uint > &  UUIDs,
float  dt 
)

Function to run the energy balance model for a select set of primitives for one timestep of length "dt" seconds.

Parameters
[in]UUIDsUnique universal identifiers (UUIDs) for primitives that should be included in energy balance calculations. All other primitives will be skipped by the model.
[in]dtTime step in seconds.

Definition at line 66 of file EnergyBalanceModel.cpp.

◆ run() [4/4]

void EnergyBalanceModel::run ( float  dt)

Function to run the dynamic /non steady state energy balance model for one timestep of length "dt" seconds.

Parameters
[in]dtTime step in seconds.

Definition at line 57 of file EnergyBalanceModel.cpp.

◆ selfTest()

int EnergyBalanceModel::selfTest ( int  argc = 0,
char **  argv = nullptr 
)
static

Self-test.

Returns
0 if test was successful, 1 if test failed.

Definition at line 351 of file selfTest.cpp.


The documentation for this class was generated from the following files: