#include <Meteo.h>
|
| | Meteo (const SnowpackConfig &i_cfg) |
| |
| | Meteo (const Meteo &mt) |
| |
| Meteo & | operator= (const Meteo &mt) |
| | Assignement operator.
|
| |
| virtual | ~Meteo () |
| |
| void | editMeteoData (mio::MeteoData &md) const |
| |
| bool | validMeteoData (const mio::MeteoData &md, const std::string &StationName, const unsigned int &nslopes) const |
| |
| void | copyMeteoData (const mio::MeteoData &md, CurrentMeteo &Mdata, const double &prevailing_wind_dir, bool &iswr_is_net) const |
| |
| void | dataForCurrentTimeStep (CurrentMeteo &Mdata, SurfaceFluxes &surfFluxes, std::vector< SnowStation > &vecXdata, const Slope &slope, SnowpackConfig &cfg, mio::SunObject &sun, double &precip, const double &lw_in, const double hs_a3hl6, double &tot_mass_in, const bool &iswr_is_net) |
| |
| void | compMeteo (CurrentMeteo &Mdata, SnowStation &Xdata, const bool runCanopyModel, const bool adjust_height_of_wind_value) |
| |
| void | compRadiation (const SnowStation &station, mio::SunObject &sun, SnowpackConfig &cfg, CurrentMeteo &Mdata) |
| | Compute radiation components (direct, diff, emissivity, sun position)
|
| |
| void | setStability (const ATM_STABILITY &i_stability) |
| | Set the atmospheric stability to a given value.
|
| |
| ATM_STABILITY | getStability () const |
| | Get the atmospheric stability.
|
| |
|
| static double | getHS_last3hours (mio::IOManager &io, const mio::Date ¤t_date) |
| |
| static void | setShortWave (CurrentMeteo &Mdata, const SnowStation &Xdata, const bool &iswr_is_net) |
| | Make sure that both short wave fluxes get at least a "realistic" value.
|
| |
| static void | projectPrecipitations (const double &SlopeAngle, double &precips, double &hs) |
| | Projects precipitations and snow height perpendicular to slope.
|
| |
| static bool | compHSrate (CurrentMeteo &Mdata, const SnowStation &vecXdata, const double &hs_a3hl6) |
| | Compute measured snow depth change rate to detect growing grass (canopy) vs. snowfall on bare ground.
|
| |
| static void | radiationOnSlope (const SnowStation §or, const mio::SunObject &sun, CurrentMeteo &Mdata, SurfaceFluxes &surfFluxes) |
| | Projects radiation on slope.
|
| |
| static ATM_STABILITY | getStability (const std::string &stability_model) |
| | Parse the given string an return the matching atmospheric stability algorithm.
|
| |
◆ 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.
|
◆ Meteo() [1/2]
◆ Meteo() [2/2]
| Meteo::Meteo |
( |
const Meteo & |
mt | ) |
|
◆ ~Meteo()
◆ compHSrate()
Compute measured snow depth change rate to detect growing grass (canopy) vs. snowfall on bare ground.
- Parameters
-
| Mdata | Current meteorological data |
| Xdata | Snow station data |
| hs_a3hl6 | snow depth average from t_now - 6 h to t_now - 3 h |
- Returns
- whether grass should be detected
◆ compMeteo()
| void Meteo::compMeteo |
( |
CurrentMeteo & |
Mdata, |
|
|
SnowStation & |
Xdata, |
|
|
const bool |
runCanopyModel, |
|
|
const bool |
adjust_height_of_wind_value |
|
) |
| |
- 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
-
| Mdata | meteorological forcing |
| Xdata | snow profile data |
| runCanopyModel | should the canopy module also be called? |
| adjust_height_of_wind_value | should the height of wind values be adjusted? |
◆ compRadiation()
Compute radiation components (direct, diff, emissivity, sun position)
- Parameters
-
| station | Snow station data |
| sun | Sun object |
| cfg | Snowpack configuration |
| Mdata | Current meteorological data |
◆ copyMeteoData()
| void Meteo::copyMeteoData |
( |
const mio::MeteoData & |
md, |
|
|
CurrentMeteo & |
Mdata, |
|
|
const double & |
prevailing_wind_dir, |
|
|
bool & |
iswr_is_net |
|
) |
| const |
◆ dataForCurrentTimeStep()
| void Meteo::dataForCurrentTimeStep |
( |
CurrentMeteo & |
Mdata, |
|
|
SurfaceFluxes & |
surfFluxes, |
|
|
std::vector< SnowStation > & |
vecXdata, |
|
|
const Slope & |
slope, |
|
|
SnowpackConfig & |
cfg, |
|
|
mio::SunObject & |
sun, |
|
|
double & |
precip, |
|
|
const double & |
lw_in, |
|
|
const double |
hs_a3hl6, |
|
|
double & |
tot_mass_in, |
|
|
const bool & |
iswr_is_net |
|
) |
| |
◆ editMeteoData()
| void Meteo::editMeteoData |
( |
mio::MeteoData & |
md | ) |
const |
◆ getHS_last3hours()
| double Meteo::getHS_last3hours |
( |
mio::IOManager & |
io, |
|
|
const mio::Date & |
current_date |
|
) |
| |
|
static |
◆ getStability() [1/2]
Get the atmospheric stability.
- Returns
- Stability model (see possible values in constructor)
◆ getStability() [2/2]
Parse the given string an return the matching atmospheric stability algorithm.
- Parameters
-
| [in] | stability_model | Atmospheric stability model specification |
- Returns
- Stability model
◆ operator=()
◆ projectPrecipitations()
| void Meteo::projectPrecipitations |
( |
const double & |
slope_angle, |
|
|
double & |
precips, |
|
|
double & |
hs |
|
) |
| |
|
static |
Projects precipitations and snow height perpendicular to slope.
- Parameters
-
| [in] | slope_angle | Slope angle in degrees. |
| precips | Precipitation in kg/m². |
| hs | Snow height in meters. |
◆ radiationOnSlope()
Projects radiation on slope.
- Parameters
-
| [in] | sector | Snow station data |
| [in] | sun | Sun object |
| Mdata | Current meteorological data |
| surfFluxes | Surface fluxes |
◆ setShortWave()
Make sure that both short wave fluxes get at least a "realistic" value.
If both iswr and rswr are available and larger than a given threshold, compute the measured albedo. If only one of iswr/rswr is provided, compute the other one based on Xdata.Albedo. If the provided iswr is actually a net short wave radiation, compute iswr and rswr based on Xdata.Albedo.
- Note
- This should only be done for flat field or single slope station
- Parameters
-
| [in] | Mdata | Current meteorological forcings |
| [in] | Xdata | Snow station |
| [in] | iswr_is_net | If set to true, this means that iswr actually contains net short wave radiation |
◆ setStability()
Set the atmospheric stability to a given value.
- Parameters
-
| i_stability | Stability model (see possible values in constructor) |
◆ validMeteoData()
| bool Meteo::validMeteoData |
( |
const mio::MeteoData & |
md, |
|
|
const std::string & |
StationName, |
|
|
const unsigned int & |
nslopes |
|
) |
| const |
The documentation for this class was generated from the following files: