SNOWPACK 20260312.9ea114d3
Physically based, energy balance snow cover model
Loading...
Searching...
No Matches
Meteo Class Reference

#include <Meteo.h>

Public Types

enum  ATM_STABILITY {
  RICHARDSON , NEUTRAL , MO_LOG_LINEAR , MO_HOLTSLAG ,
  MO_STEARNS , MO_MICHLMAYR , MO_SCHLOEGL_UNI , MO_SCHLOEGL_MULTI ,
  MO_SCHLOEGL_MULTI_OFFSET
}
 

Public Member Functions

 Meteo (const SnowpackConfig &i_cfg)
 
void compMeteo (CurrentMeteo &Mdata, SnowStation &Xdata, const bool runCanopyModel)
 Compute atmospheric stability related parameters and if necessary run canopy model.
 
void compMeteo (CurrentMeteo &Mdata, SnowStation &Xdata, const bool runCanopyModel, const bool i_adjust_height_of_wind_value)
 Compute atmospheric stability related parameters and if necessary run canopy model.
 
void setStability (const ATM_STABILITY &i_stability)
 Set the atmospheric stability to a given value.
 
ATM_STABILITY getStability () const
 Get the atmospheric stability.
 

Static Public Member Functions

static ATM_STABILITY getStability (const std::string &stability_model)
 Parse the given string an return the matching atmospheric stability algorithm.
 

Member Enumeration Documentation

◆ ATM_STABILITY

Enumerator
RICHARDSON 

Simplified Richardson number stability correction.

NEUTRAL 

Assume neutral stratification.

MO_LOG_LINEAR 

Simple log-linear model.

MO_HOLTSLAG 

Holtslag and DeBruin (1988) prepared from Ed Andreas.

MO_STEARNS 

Stearns C. and Weidner G., "sensible and latent heat flux estimates in antarctica", Antarctic meteorology and climatology: studies based on automatic weather stations, Antarctic Research Series, 61, pp 190–138, 1993.

MO_MICHLMAYR 

Stearns & Weidner, 1993 modified by Michlmayr, 2008.

MO_SCHLOEGL_UNI 

Schloegl univariate, see Schlögl et al. "How do stability corrections perfom over snow in the stable boundary layer?", Boundary-Layer Meteorol., in review, 2016.

MO_SCHLOEGL_MULTI 

Schloegl multivariate without offset.

MO_SCHLOEGL_MULTI_OFFSET 

Schloegl multivariate with offset.

Constructor & Destructor Documentation

◆ Meteo()

Meteo::Meteo ( const SnowpackConfig i_cfg)

Member Function Documentation

◆ compMeteo() [1/2]

void Meteo::compMeteo ( CurrentMeteo Mdata,
SnowStation Xdata,
const bool  runCanopyModel 
)

Compute atmospheric stability related parameters and if necessary run canopy model.

Same as compMeteo(CurrentMeteo &Mdata, SnowStation &Xdata, const bool runCanopyModel, const bool i_adjust_height_of_wind_value) but adjust_height_of_wind_value is taken from the SnowpackConfig object that has been given to the constructor, so it is initiallized from the configuration file and configuration defaults.

Parameters
Mdatameteorological forcing
Xdatasnow profile data
runCanopyModelshould the canopy module also be called?

◆ compMeteo() [2/2]

void Meteo::compMeteo ( CurrentMeteo Mdata,
SnowStation Xdata,
const bool  runCanopyModel,
const bool  i_adjust_height_of_wind_value 
)

Compute atmospheric stability related parameters and if necessary run canopy model.

  • with CANOPY set: In case of an existing canopy, call canopy routine, which computes precipitation, radiation, friction velocity and reference temperature for the surface below the canopy. Note that solar radiation may change also in dg_cn_Canopy().
    • Mdata->iswr incoming global solar radiation (direct + diffuse), adapted to canopy
    • Mdata->rswr reflected global solar radiation (diffuse), adapted to canopy
    • Mdata->ustar friction velocity, adapted to canopy
    • Mdata->z0 roughness length, adapted to canopy
    • Mdata->ea atmospheric emissivity below canopy, i.e., to give correct longwave radiation as function of air temperature, however modified to include effect of canopy
  • without canopy (CANOPY is not set): For bare soil as well as snowed-in canopy or some other problems, compute the roughness length z0, the friction velocity ustar as well as the atmospheric stability correction psi_s for scalar heat fluxes
    • Mdata->ustar friction velocity
    • Mdata->z0 roughness length
    • psi_s stability correction for scalar heat fluxes
      Parameters
      Mdatameteorological forcing
      Xdatasnow profile data
      runCanopyModelshould the canopy module also be called?
      i_adjust_height_of_wind_valueshould the height of wind values be adjusted?

◆ getStability() [1/2]

Meteo::ATM_STABILITY Meteo::getStability ( ) const

Get the atmospheric stability.

Returns
Stability model (see possible values in constructor)

◆ getStability() [2/2]

Meteo::ATM_STABILITY Meteo::getStability ( const std::string &  stability_model)
static

Parse the given string an return the matching atmospheric stability algorithm.

Parameters
[in]stability_modelAtmospheric stability model specification
Returns
Stability model

◆ setStability()

void Meteo::setStability ( const ATM_STABILITY i_stability)

Set the atmospheric stability to a given value.

Parameters
i_stabilityStability model (see possible values in constructor)

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