Explicit representation of impurities¶
In order to use the model configuration including light-absorbing impurities in snow presented in Tuzet et al. (2017) you have to install the branch cen_dev from the SURFEX_Git2 repository.
Moreover, some changes must be done in the default namelist.
These changes are detailed hereafter for each namelist section and a default Impurity namelist is attached to the wiki page.
NIMPUR=0/1/2 ; default=0
NIMPUR is the number of impurity you want to use in your simulation.
For now you can set NIMPUR=1 if you want to run simulations with BC only and NIMPUR=2 if you want to run, simulations with BC and Dust.
If you want to run a simulation with dust only you can set NIMPUR=2 and prescribe no BC deposition.
LSPECSNOW = .TRUE. ; default=.FALSE. , #Enable spectral computation inside SURFEX/Crocus, necessary to run TARTES model NIMPUROF=0/1/2 ; default=0 #Initialize the number of impurities in the OFFLINE module, you have to set NIMPUROF to the same value as NIMPUR.
LPROBANDS= .TRUE. ; default=.FALSE. #Enable the spectral resolution of Crocus diagnostics, necessary if you want to get spectral albedo and spectral direct/diffuse ratio diagnostics
CSNOWRAD='T17' ; default=B92 #Set the radiative transfer scheme to TARTES+impurity as in Tuzet et al. (2017) LATMORAD=.FALSE. ; default=.FALSE. # This option is not stable yet, but it is supposed to compute the direct/diffuse ratio directly from atmospheric informations (AOD, Ozone column, Water column..) LFORCATMOTARTES =.FALSE. ; default=.FALSE. # Activate the prescription of aerosol optical depth and ozone column from forcing file if LATMORAD=.TRUE.
When you activate LFORCATMOTARTES by setting it to .TRUE., you have to add new variables in your forcing file : AODTOT (total aerosol optical depth) and OZONE (total ozone column).
These new variables must be defined with the same dimension as the snowfall rate for exemple. If those variables are not defined in your forcing files you will get an error when running the simulation.
CSELECT: You have to add 'SNOWIMP1','SNOWIMP2','SPEC_ALB', 'DIFF_RATIO' in this field.
CSELECT makes a selection of the diagnostics you want to compute in your output NetCDF file (PRO file).
SNOWIMP1 is the BC concentration in each snow layer (g/g_of_snow)
SNOWIMP2 is the Dust concentration in each snow layer (g/gg_of_snow)
SPEC_ALB is the spectral albedo for the 186 Crocus spectral bands (from 300 to 4000nm included by step of 20nm; i.e [300,320...,3980,4000])
DIFF_RATIO is the spectral direct to diffuse ratio for the 186 Crocus spectral bands (from 300 to 4000nm included by step of 20nm; i.e [300,320...,3980,4000])
The following changes set the way you want to prescribe your deposition fluxes in input of SURFEX/Crocus.
You can either feed the model with prescribed and constant deposition fluxes or introduce a wet and dry deposition field directly in the forcing file.
- If you want to prescribe constant deposition fluxes over time:
XIMPUR_WET(1)=5.e-11 ; default=0. XIMPUR_WET(2)=5.e-10 ; default=0. XIMPUR_DRY(1)=3.e-10 ; default=0. XIMPUR_DRY(2)=5.e-9 ; default=0.
These variable set the different depositions fluxes and are expressed in g m^(-2) s^(-1).
XIMPUR_WET corresponds to the initial amount of impurity present in the falling snow (wet deposition), activated in case of rain or snow.
XIMPUR_DRY corresponds to the dry deposition coefficient always activated.
You can precise the type of impurity into parenthesis as done above. e.g XIMPUR_WET(1)=1.e-9 set the wet depostion coefficient of BC to 1.e-9 g m^(-2) s^(-1)
- If you want to prescribe directly the deposition fluxes at each model time step
LFORCIMP = .TRUE. ; default=.FALSE.
When you activate LFORCIMP by setting it to .TRUE., you have to add new variables in your forcing file.
You have two variables to add for each type of impurity: IMPWET (wet deposition coefficient) and IMPDRY (dry deposition coefficient). Both these deposition fluxes have to be in g m^(-2) s^(-1).
If you have one type of impurity you will need IMPWET1 and IMPDRY1.
If you have two type of impurity you will need IMPWET1 and IMPDRY1 (BC) and IMPWET2 and IMPDRY2 (Dust). etc...
These new variables must be defined with the same dimension as the snowfall rate for exemple.
If those variables are not defined in your forcing files you will get an error when running the simulation.
Note that if you activate LFORCIMP the deposition values contained in NAM_SURF_SNOW_CSTS are ignored.
P.S: In the attached namelist the other parameters have default values, you might need to tune this parameters for your study or to use the multiphysics ensemble of Crocus, ESCROC described in Lafaysse et al. (2017).
If you need to add another type of impurity in the model please open a new ticket on the support page and someone will get back to you.
Initialization of an user prescribed snowpack with impurities¶
In the case you want to initialize an user-prescribed snowpack by defining manually it's layers, it's possible to initialize the concentration of impurities in each layer by adding the values in NAM_PREP_ISBA_SNOW by adapting the following exemple:
&NAM_PREP_ISBA_SNOW XIMPURSNOW= 0,0,5e-9,0,0 #BC concentration (g/g_of_snow) in each layer (5 layers here)
XIMPURSNOW= 0,0,5000e-9,0,0 #Dust concentration (g/g_of_snow) in each layer(5 layers here)
And so on if you have more impurity types. By default the concentration in all layers will be 0.