Skip to content

Hard-Coded CLASS Parameters #117

@mee067

Description

@mee067

As an old code, CLASS contains many hard-coded thresholds. These are effectively parameters an they changed over time from CLASS 2.7 all the way to 3.6. The same equations are used in other models (e.g. CHRM) and have different values for those parameters. We exposed some of these for ICEBAL. I found a few more in SNOADD and SNOALBW as follows:

In SNOADD, there is a threshold for the snowfall amount to reset the albedo to its maximum value (which is another parameter set to 0.84). This Snow Albedo Refreshment Threshold (SART) is set in the equations to 0.1mm. DeBeer and Pomeroy (2009, 2010) used a value of 10mm and max snow albedo of 0.85 (not very different from CLASS). Additionally, they had a linear refreshment component if snowfall is less that SART (partial refreshment) which does not exist in CLASS 3.6 (because SART=0.1mm is just too small). in CLASS 2.7, SART =1.3 mm, and in CLASS 3.5, SART = 5mm (Verseghy et al., 2017). This is not even read from CLASSBD/G Data Blocks, it is directly written in the IF statement.

I recommend exposing this parameter. A single value a least, but by GRU, maybe! The max albedo is not a big deal.

In SNOWABW, the snow decay (albedo reduction and density increase) equations include several parameters:

  1. The exponential decay function for albedo has a time constant controlling the rate of albedo reduction, currently set at 0.01 ΔT/3600. DeBeer and Pomeroy (2009, 2010) used a different form where the 3600 (which I assume as the number of seconds per hour) is embedded into the factor with the value 1e6, which means 0.0036 ΔT/3600 if we put it back in the above form. This means, it is a parameter to be exposed.

  2. CLASS does not let the albedo fall below 0.5, except during melt - and that is handled elsewhere. DeBeer and Pomeroy (2009, 2010) let it drop to 0.3. This another parameter to be exposed.

  3. Densification of snow during aging uses a similar exponential formula to increase density and uses the same time constant. After discussions with John, we agreed that they needn't be the same. The physical processes affecting the albedo reduction are not the same as those causing densification. So, this is a third parameter to sperate/expose.

  4. Densification requires the calculation of some max density to approach (similar to the min albedo to approach in 1), This is a function of Zsnow, and a threshold (450 for cold snow, 700 kg/m3 for isothermal (T > -0.1 C) snow). The first threshold changed from 300 in CLASS up to 2.7, then was changed to 450 in CLASS 3.1 (Brown et al., 2006). This needs to exposed. I am not about the second one but if we are exposing the first, let's do the second. The equation (Tabler et al., 1990) has a couple of more constants - I would leave them for now. It is a fitting equation, not a physical one.

I have been trying to optimize these parameters for my case but changing and recompiling is tedious and can make things messy.

I guess CLASS has several hundred of such parameters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions