Crocus-Resort: first version by P. Spandre¶
The understanding and implementation of snow management in detailed snowpack models is a major step towards a more realistic assessment of the evolution of snow conditions in ski resorts concerning past, present and future climate conditions. In this context, a new module accounting for snow management processes (grooming, snowmaking), named Crocus-Resort, has been integrated into the snowpack model Crocus. As for grooming, the effect of the tiller is explicitly taken into account and its effects on snow properties (density, snow microstructure) are simulated in addition to the compaction induced by the weight of the grooming machine. As for snowmaking, the production of machine-made snow is carried out with respect to specific rules and current meteorological conditions. Crocus-Resort has been proven to provide realistic simulations of snow conditions on ski slopes (for more details on the scientific intent of this development, please refer to the paper 2016_Spandre_CRST_Crocus_Resort.pdf available here below).
Technical note: in Crocus, the decisions to produce machine-made snow are defined in the routine snow_making.F90, while the impact of snowmaking and grooming on snow properties is coded in the routine snowcro.F90 (sub-routines SNOWNLFALL_UPGRID, SNOWCROCOMPACTN and SNOWGROOMING).
Developer name¶
Pierre Spandre.
Date of start of development¶
2013.
Commit number before the development¶
Commit number (spandre_V8 branch, before merging into cen_dev) = d41b8dd2b20ffcf55b60171ee50a71c02f1de26a.
Current status (in progress, or commit number in cen_dev or cen_release) and expected schedule¶
Commit number (merging into cen_dev) = 4bdd99222e5a0f05ca00cbc367996d2665c5d839.
Evaluated against SURFEX test database ?¶
Work in progress, by M. Fructus.
New test added in the database (if yes, describe)¶
Work in progress, by M. Fructus.
Changes in namelist¶
In order for Crocus-Resort to be run, a new set of options have been added to the namelist:
&NAM_ISBA_SNOWn CSNOWMETAMO = 'C13' LSNOWCOMPACT_BOOL = T LSNOWTILLER = T LSNOWMAK_BOOL = T LSNOWMAK_PROP = T LSELF_PROD = T / &NAM_SURF_SNOW_CSTS XPSR_SNOWMAK = 0.002 XRHO_SNOWMAK = 600 XPTA_SEUIL = 268.15 XPROD_SCHEME = 0,0,0,0,0 XSM_END = 4,30,4,30 XFREQ_GRO = 1 / &NAM_WRITE_DIAG_SURFn CSELECT='AVG_PCOUNT' ===> In the cen_release branch CSELECT='PCOUNT'
- CSNOWMETAMO = 'C13'
Please note that the Crocus-Resort model cannot be run with the 'B92' snow metamorphism formulation.
The only available options are 'C13', 'T07' and 'F06', which describe the snow microstructure using SSA and sphericity as prognostic variables (Carmagnola et al., 2013).
Using B92, the OFFLINE will fail with an "erroneous arithmetic operation" error.
- LSNOWCOMPACT_BOOL = T of F
Grooming main switch (F = no grooming).
By default, grooming only applies if SWE > 20 kg/m2 and between 20h and 21h (and also 6h-9h if there is some snowfall during the night).
- LSNOWTILLER = T of F
Switch for the activation of the tiller effect, which applies down to 35 kg/m2 below the surface (F = no tiller effect, only compaction).
- LSNOWMAK_BOOL = T of F
Snowmaking main switch (F = no snowmaking).
By default, snowmaking only applies if the wind speed is < 10 km/h, during all the day during the period 01/11-15/12 and between 18h-8h during the period 15/12-31/03.
During the first period (base-layer generation), the production is allowed until reaching a water consumption of 150 kg/m2, according to an average water availability of = 1500 m3/ha.
During the second period (snowpack reinforcement), the production is allowed if the total (natural+machine-made) snow height is < 60 cm.
Finally, a loss of 30% in the snow production process is applied in every condition.
- LSNOWMAK_PROP = T of F
Switch for the activation of machine-made snow properties (F = same as natural snow).
The machine-made snow properties are set as follows: SSA = 23 m2/kg, Sphericity = 0.9.
- LSELF_PROD = T of F
Switch for the control of snow production.
If T, the production follows the pre-defined rules defined above (threshold of 150 kg/m2 during the base-layer generation period, threshold of 60 cm during the snowpack reinforcement period).
If F, the production is forced to match the pre-set production scheme defined by XPROD_SCHEME.
- XPSR_SNOWMAK = 0.0012 kg/m2/s
Machine-made snow precipitation rate.
- XRHO_SNOWMAK = 600 kg/m3
Machine-made snow density.
- XPTA_SEUIL = 268.15 K
Wet but temperature threshold for machine-made snow production.
- XPROD_SCHEME = 2500,5000,4000,2500,1000 s of production per day
This monthly production target (from November to March) is used when LSELF_PROD = F.
Every day at 18:00, a production counter is compared to the target. If it's lower, the production is allowed.
- XSM_END = 4,30,4,30
Month and day to stop grooming (for LSNOWMAK_BOOL = F and for LSNOWMAK_BOOL = T, respectively).
- XFREQ_GRO = 1
Grooming frequency (usually 1/day).
- CSELECT='AVG_PCOUNT'
This new variable corresponds to the machine-made snow cumulative time of production (s) and can further be found in the PRO.nc output as the "Snow production counter (s)".
Please note that this is not a prognostic variable and it is not written in the PREP.nc file. Therefore, at every new simulation this counter is re-set to 0.
The Boolean options for grooming and snowmaking are presented below.
It is possible to activate grooming without activating snowmaking, and the other way around.
This latter case, however, is not meaningful, since in practice the machine-made snow has always to be groomed once produced.
More details can be found in the document Wiki_Crocus_resort_Developers_20170626.pdf.
Other required changes (forcing files, snowtools code or options, VORTEX, ....)¶
The computation of the viability index (also called snow reliability index) can be realized based on the example of the python script 20170922_Traitement_viab.py (see below) and the data describing resort locations (20180820_Fichier_poids_France.csv). A manual describing the method has also been added to this page (20170922_Calcul_viabilite_s2m.pdf).
Crocus-Resort: updated version by C. Carmagnola¶
The Crocus-Resort module has been modified in order to be used to run the PROSNOW modeling chain (www.prosnow.org).
The main changes compared to the previous version and their scientific interest are briefly presented here.
Technical note: the main changes have been made in the routine snow_making.F90.
- The wet bulb temperature is now computed even if LSNOWMAK_BOOL=F and is turned into a diagnostic variable that can be shown by selecting CSELECT='WBT' in the namelist.
- The water consumption threshold during the base-layer generation period, previously set 150 kg/m2, is now adjustable in the namelist (XPT), along with several other variables (see below).
- The snow production rate, whose value was constant and had to be set in the namelist in the previous version (XPSR_SNOWMAK), is now wet bulb temperature-dependent.
The linear dependency of the rate on the temperature has been implemented according to Hanzer et al., 2014 (more info in the paper Hanzer_2014.pdf here below).
In the namelist, XPSR_SNOWMAK has been then replaced by the 2 adjustable coefficients XPR_A and XPR_B, that can be adapted depending on the snow-gun type (lances or fences, for instance).
Assuming a machine-made snow density of 400 kg/m3, the production rate is computed as XPR_A*WBT+XPR_B and expressed in m²/h.
- When LSELF_PROD=F, XPROD_SCHEME is now used as the water consumption target (in kg/m2) and does not depend on atmospheric or timing conditions.
This means that in this case, regardless of the hour, the date and the atmospheric conditions, the model will produce machine-made snow until reaching the value of XPROD_SCHEME.
In addition, this variable depends now on the location; therefore, it is possible to prescribe different values for different points.
- The machine-made snow cumulative time of production (AVG_PCOUNT) has been replaced by a new prognostic variable, called MMP (for Machine-Made snow Production).
This new variable corresponds to cumulative water consumption and is expressed in km/m2.
During the base-layer generation period, the production is then allowed as long as MMP < XPT (if LSELF_PROD=T) or MMP < XPROD_SCHEME(1) (if LSELF_PROD=F).
The value of MMP is written in the PREP.nc file and therefore it can be carried over between different simulation runs.
The value of MMP can be displayed by selecting CSELECT='MMP_VEG' in the namelist.
Developer name¶
Carlo Carmagnola.
Date of start of development¶
November 2018.
Commit number before the development¶
Commit number before merging into cen_dev = addee2b007013731224d1da71b25c95903121c20.
Current status (in progress, or commit number in cen_dev or cen_release) and expected schedule¶
Commit number of the latest version = 87d0598cbeec518a561254dd28247c755cc82489.
Evaluated against SURFEX test database ? yes or no¶
Work in progress, by M. Fructus.
New test added in the database (if yes, describe)¶
Work in progress, by M. Fructus.
Changes in namelist¶
&NAM_ISBA_SNOWn CSNOWMETAMO='C13' LSNOWCOMPACT_BOOL=.TRUE. LSNOWTILLER=.TRUE. LSNOWMAK_BOOL = .TRUE. LSNOWMAK_PROP = .TRUE. LSELF_PROD = .TRUE. / &NAM_SURF_SNOW_CSTS XPP_D1 = 342. XPP_D2 = 387. XPP_D3 = 124. XPP_H1 = 0. XPP_H2 = 86400. XPP_H3 = 64800. XPP_H4 = 28800. XPR_A = -3.94 XPR_B = -4.23 XPTA_SEUIL = 267.15 XWT = 4.2 XPT = 150. XPTR = 0.60 XRHO_SNOWMAK = 600 XPROD_SCHEME = 300,450 XSM_END = 4,30,4,30 XFREQ_GRO = 1 / &NAM_WRITE_DIAG_SURFn LPROVAR_TO_DIAG = .TRUE. LSNOWDIMNC = .TRUE. LSELECT= .TRUE. CSELECT='time','WBT','DSN_T_ISBA','WSN_T_ISBA','MMP_VEG'
- XPP_D1, XPP_D2, XPP_D3
Beginning of the base-layer generation production period (by default, 1st of November [11*31+1=342]).
End of the base-layer generation production period (by default, 15th of December [12*31+1=387]).
End of the reinforcement production period (by default, 31st of March [3*31+31=124]).
- XPP_H1, XPP_H2
Seconds of beginning and end of the base-layer generation production period.
By default, the production during this period is allowed all the day (0s to 86400s).
- XPP_H3, XPP_H4
Seconds of beginning and end of the reinforcement production period.
By default, the production during this period is allowed from 6pm (64800s) to 8am (28800s).
- XPR_A, XPR_B
Adjustable coefficients that can be adapted depending on the snow-gun type (Hanzer et al., 2014).
- XWT
Wind speed threshold for snowmaking (in m/s).
- XPT
Water consumption threshold during the base-layer generation production period (in kg/m2).
- XPTR
Total (natural+machine-made) snow height threshold during the reinforcement production period (in m).
- XPROD_SCHEME
If LSELF_PROD=F, XPROD_SCHEME is the target water consumption (in kg/m2).
XPROD_SCHEME is an array whose values correspond to different points (the first value is attributed to the first point, and so on).
- CSELECT='WBT','MMP_VEG'
Wet bulb temperature (°C) and cumulative water consumption for snowmaking (kg/m2).
Other required changes (forcing files, snowtools code or options, VORTEX, ....)¶
Nothing special, for now...