Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snow cover percentage for albedo diagnostics #26

Open
tammasloughran opened this issue Mar 13, 2024 · 5 comments
Open

Snow cover percentage for albedo diagnostics #26

tammasloughran opened this issue Mar 13, 2024 · 5 comments
Labels
help wanted Extra attention is needed Land & Carbon Cycle

Comments

@tammasloughran
Copy link

tammasloughran commented Mar 13, 2024

I'm interested in the diagnostics in recipe_albedolandcover.yml

I tried adding ACCESS-ESM1-5 to the yaml file. Running the recipe tells me that it needs ACCESS-ESM1-5 variable snc, which is the percentage of snow cover. This does not exist for ACCESS CMORIzed output on fs38. How can I get this variable?

@tammasloughran
Copy link
Author

tammasloughran commented Mar 13, 2024

On closer inspection of raw ACCESS-ESM1-5 output, I cant even find a variable for snow cover fraction at all...

@tammasloughran
Copy link
Author

After reading the docs for this recipe, the snc variable is used to do the diagnostics for snow free regions and snow covered regions.
Should I modify the script to ignore the snow-free and snow covered parts of the diagnostics for ACCESS?

@tammasloughran
Copy link
Author

I've tried removing references to snc, but I'm getting some other error now. Something to do with stacking arrays. After some investigation I suspect that this has something to do with how ACCESS has no representation of pasture, while MPI/Hadgem does. However, for whatever reason, the script executes despite pastureFrac not being available.

At this point I would be inclined to throw out ESMValTool altogether and write a custom one for ACCESS myself. The diagnostics are too complicated and the data aren't available for ACCESS. i.e. I just wanted a simple linear regression for albedo against treeFrac.

@flicj191
Copy link
Contributor

True, might be best to make a new script and recipe suitable for ACCESS that is simpler. Using just the variables albedo and treeFrac? and output a map with values?
fyi this is how esmvalcore derives alb: https://github.com/ESMValGroup/ESMValCore/blob/main/esmvalcore/preprocessor/_derive/alb.py
Happy to try to help

@flicj191 flicj191 added help wanted Extra attention is needed Land & Carbon Cycle labels Mar 13, 2024
@har917
Copy link

har917 commented Mar 19, 2024

@tammasloughran CABLE doesn't carry a snow cover fraction variable - all land in one tile will have snow or non-snow on a particular time step. In grid cells with mixed land cover you may be able to get an estimate of spatial snow cover for those few time steps when one tile has snow and the others don't - but that would require tiled snow output (i.e. again not usually available).

So in practice albedo will be best calculated via the script @flicj191 has linked (or something very similar). I would have gone with the non-clear sky variables rsds and rsus for CABLE/ACCESS since these include diffuse/direct radiation differentiation and fractionation as they impact the albedo.

More generally there are other science elements to snow cover percentage that CABLE does not consider, or that we will never be able to assess from monthly output. First (data availability) is variation within the month - i.e. how many days snow was present. Albedo is nonlinear to snow so this can be important. Second (parameterization) is sub-tile level variation in snow - meaning an ACCESS tile with 1cm snow on average will, in practice, have some area with no snow and some area with >1cm snow. This can be particularly important for energy considerations during the snow melt periods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed Land & Carbon Cycle
Projects
None yet
Development

No branches or pull requests

3 participants