|
SNOWPACK 20260217.97ebebde
Physically based, energy balance snow cover model
|
The surface fluxes data as computed by Snowpack.
#include <DataClasses.h>
Public Types | |
| enum | SN_MASS_CHANGES { MS_TOTALMASS , MS_SWE , MS_WATER , MS_WATER_SOIL , MS_ICE_SOIL , MS_HNW , MS_RAIN , MS_WIND , MS_EVAPORATION , MS_SUBLIMATION , MS_SNOWPACK_RUNOFF , MS_SURFACE_MASS_FLUX , MS_SOIL_RUNOFF , MS_FLOODING , MS_ICEBASE_MELTING_FREEZING , N_MASS_CHANGES } |
| The different types of mass fluxes: Mass fluxes in kg m-2 Rates in kg m-2 h-1 (MS_HNW, MS_RAIN and MS_WIND) More... | |
Public Member Functions | |
| const std::string | toString () const |
| SurfaceFluxes () | |
| void | reset (const bool &cumsum_mass) |
| void | compSnowSoilHeatFlux (const SnowStation &Xdata) |
| Compute ground heat flux at soil/snow boundary. | |
| void | collectSurfaceFluxes (const BoundCond &Bdata, SnowStation &Xdata, const CurrentMeteo &Mdata) |
| Assign surface data from SnowStation and BoundCond to SurfaceFluxes. | |
| void | multiplyFluxes (const double &factor) |
| If multiple surface fluxes have been summed over multiple time steps, the fluxes then need to be averaged by the number of steps. The albedos are also averaged in this method. | |
Public Attributes | |
| double | lw_in |
| Energy fluxes: Energy change of snowpack in kJ m-2 (dIntEnergy) Fluxes in W m-2. | |
| double | lw_out |
| outgoing longwave radiation | |
| double | lw_net |
| net longwave radiation | |
| double | qs |
| sensible heat | |
| double | ql |
| latent heat | |
| double | hoar |
| mass of surface hoar formed or sublimated | |
| double | qr |
| rain energy | |
| double | qg |
| geothermal heat flux or heat flux at lower boundary | |
| double | qg0 |
| ground heat flux at soil-snow interface | |
| double | sw_hor |
| incoming global shortwave radiation on horizontal surface | |
| double | sw_in |
| incoming global shortwave radiation; on slopes: projected | |
| double | sw_out |
| reflected shortwave radiation | |
| double | qw |
| net shortwave radiation at the surface (absorbed within the snowpack) | |
| double | sw_dir |
| incoming direct shortwave radiation; on slopes: projected | |
| double | sw_diff |
| incoming diffuse shortwave radiation | |
| double | pAlbedo |
| parameterized Albedo (used for OUTPUT only) | |
| double | mAlbedo |
| measured Albedo (used for OUTPUT only) | |
| double | dIntEnergy |
| Internal energy change in J m-2 in snowpack (used for OUTPUT only) | |
| double | dIntEnergySoil |
| Internal energy change in J m-2 in soil (used for OUTPUT only) | |
| double | meltFreezeEnergy |
| Melt freeze part of internal energy change in J m-2 in snowpack (used for OUTPUT only) | |
| double | meltFreezeEnergySoil |
| Melt freeze part of internal energy change in J m-2 in soil (used for OUTPUT only) | |
| double | drift |
| Other surface data: | |
| std::vector< double > | mass |
| Total mass of snowpack PLUS different amounts of total mass change, sublimation, runoff, erosion, etc. Basically the mass which crosses the surface. | |
| std::vector< double > | load |
| Total load (kg m-2) in water runoff from solutes like nitrate. | |
| double | dhs_corr |
| operational mode only: snow depth correction in case of squeezing or blow-up (m) | |
| double | cRho_hn |
| Computed new snow density (kg m-3) | |
| double | mRho_hn |
| Measured new snow density (kg m-3) | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const SurfaceFluxes &data) |
| std::istream & | operator>> (std::istream &is, SurfaceFluxes &data) |
The different types of mass fluxes: Mass fluxes in kg m-2
Rates in kg m-2 h-1 (MS_HNW, MS_RAIN and MS_WIND)
| SurfaceFluxes::SurfaceFluxes | ( | ) |
| void SurfaceFluxes::collectSurfaceFluxes | ( | const BoundCond & | Bdata, |
| SnowStation & | Xdata, | ||
| const CurrentMeteo & | Mdata | ||
| ) |
Assign surface data from SnowStation and BoundCond to SurfaceFluxes.
| Bdata | |
| Xdata | |
| Mdata |
| void SurfaceFluxes::compSnowSoilHeatFlux | ( | const SnowStation & | Xdata | ) |
Compute ground heat flux at soil/snow boundary.
| Xdata |
| void SurfaceFluxes::multiplyFluxes | ( | const double & | factor | ) |
If multiple surface fluxes have been summed over multiple time steps, the fluxes then need to be averaged by the number of steps. The albedos are also averaged in this method.
| factor | Averaging factor (for example, 1/Nsteps) |
| void SurfaceFluxes::reset | ( | const bool & | cumsum_mass | ) |
| const std::string SurfaceFluxes::toString | ( | ) | const |
|
friend |
|
friend |
| double SurfaceFluxes::cRho_hn |
Computed new snow density (kg m-3)
| double SurfaceFluxes::dhs_corr |
operational mode only: snow depth correction in case of squeezing or blow-up (m)
| double SurfaceFluxes::dIntEnergy |
Internal energy change in J m-2 in snowpack (used for OUTPUT only)
| double SurfaceFluxes::dIntEnergySoil |
Internal energy change in J m-2 in soil (used for OUTPUT only)
| double SurfaceFluxes::drift |
Other surface data:
the surface flux of drifting snow in kg m-1 s-1
| double SurfaceFluxes::hoar |
mass of surface hoar formed or sublimated
| std::vector<double> SurfaceFluxes::load |
Total load (kg m-2) in water runoff from solutes like nitrate.
| double SurfaceFluxes::lw_in |
Energy fluxes: Energy change of snowpack in kJ m-2 (dIntEnergy)
Fluxes in W m-2.
incoming longwave radiation
| double SurfaceFluxes::lw_net |
net longwave radiation
| double SurfaceFluxes::lw_out |
outgoing longwave radiation
| double SurfaceFluxes::mAlbedo |
measured Albedo (used for OUTPUT only)
| std::vector<double> SurfaceFluxes::mass |
Total mass of snowpack PLUS different amounts of total mass change, sublimation, runoff, erosion, etc. Basically the mass which crosses the surface.
| double SurfaceFluxes::meltFreezeEnergy |
Melt freeze part of internal energy change in J m-2 in snowpack (used for OUTPUT only)
| double SurfaceFluxes::meltFreezeEnergySoil |
Melt freeze part of internal energy change in J m-2 in soil (used for OUTPUT only)
| double SurfaceFluxes::mRho_hn |
Measured new snow density (kg m-3)
| double SurfaceFluxes::pAlbedo |
parameterized Albedo (used for OUTPUT only)
| double SurfaceFluxes::qg |
geothermal heat flux or heat flux at lower boundary
| double SurfaceFluxes::qg0 |
ground heat flux at soil-snow interface
| double SurfaceFluxes::ql |
latent heat
| double SurfaceFluxes::qr |
rain energy
| double SurfaceFluxes::qs |
sensible heat
| double SurfaceFluxes::qw |
net shortwave radiation at the surface (absorbed within the snowpack)
| double SurfaceFluxes::sw_diff |
incoming diffuse shortwave radiation
| double SurfaceFluxes::sw_dir |
incoming direct shortwave radiation; on slopes: projected
| double SurfaceFluxes::sw_hor |
incoming global shortwave radiation on horizontal surface
| double SurfaceFluxes::sw_in |
incoming global shortwave radiation; on slopes: projected
| double SurfaceFluxes::sw_out |
reflected shortwave radiation