Class Richard_albedo
Defined in File Richard_albedo.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public module_base
(Class module_base)
Class Documentation
-
class Richard_albedo : public module_base
Slow albedo changes for cold snow are neglected, but an exponential decay to an asymptotic minimum of 0.5 with an adjustable time constant applied to melting snow.
Somewhat mis-named as although this is detailed in Essery and Etchevers (2004), the original source is from CLASS detailed in Verseghy, et al (1991).
Depends:
Snow Water Equivalent “swe” [mm]
Snow surface temperature “T_s_0” [ \( K \) ]
Precipitation, snow phase “p_snow” [ \( mm \cdot dt^{-1} \) ]
Provides:
Snow albedo “snow_albedo” [0-1]
True if a melting snow albedo is being used “melting_albedo” [0 or 1]
Configuration:
{ "albedo_min": 0.5, "albedo_max": 0.84, "a1": 1.08e7, "a2": 7.2e5, "min_swe_refresh": 1.0, "init_albedo_snow": 0.85, "init_albedo_bare": 0.17 }
- albedo_min
Minimum snow albedo
- albedo_max
Maximum snow albedo
- a1
Cold snow decay constant
- a2
Melting snow decay constant
- init_albedo_snow
Initial fresh snow albedo
- init_albedo_bare
Bare ground albedo
References:
Equation 4 and 5
Essery, R., and P. Etchevers (2004), Parameter sensitivity in simulations of snowmelt, J. Geophys. Res., 109(D20111), 1–15, doi:10.1029/2004JD005036.
Verseghy, D. L.: Class – A Canadian land surface scheme for GCMS, I. Soil model, Int. J. Climatol., 11, 111–133, https://doi.org/10.1002/joc.3370110202, 1991
- Type:
double
- Default:
0.5
- Type:
double
- Default:
0.84
- Type:
double
- Default:
1.08e7 s
- Type:
double
- Default:
7.2e5 s
- Type:
double
- Default:
0.85
- Type:
double
- Default:
0.17
Public Functions
-
Richard_albedo(config_file cfg)
-
~Richard_albedo()
-
virtual void run(mesh_elem &face)
Needs to be implemented by each data parallel module. This will be called and executed for each timestep
- Parameters:
face – The terrain element (triangle) to be worked upon for an element parallel domain
global_param – A pointer to the shared global paramter space with domain-wide paramters
-
virtual void init(mesh &domain)
-
virtual void checkpoint(mesh &domain, netcdf &chkpt)
Checkpoint (save state) the current module. By default this errors out if the modules does not support checkpointing.
- Parameters:
domain –
data –
-
virtual void load_checkpoint(mesh &domain, netcdf &chkpt)