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

Add Option to Use MODIS-based Snow Albedo Climatology #618

Merged
merged 63 commits into from
Nov 29, 2022

Conversation

biljanaorescanin
Copy link
Contributor

@biljanaorescanin biljanaorescanin commented Aug 10, 2022

Overview:

  • Enables use of MODIS-derived, static snow albedo in Catchment ("land") tiles. Not (yet) implemented for CatchCN.
  • Adds new land bcs versions (v06, v07, v08 and v09).

Details:

The new snow albedo is read into the GCM or GEOSldas via the Catchment restart file. Prior to that, the data are processed in two steps:

  1. Preprocess MODIS snow albedo ('MOD10A1.061') for 2000-2022: First, MODIS snow cover information is used to determine times & locations with snow cover fraction greater than 60%. Second, for these snow-covered times & locations, the average of the top 10th percentile snow albedo is calculated at 30 arc sec "raster" resolution and stored in 36-by-18 regional files. The global mean over "land" (i.e., non-glaciated land) is computed (weighted by the raster grid cell area) and used to fill raster grid cells for which MODIS does not provide a snow albedo.
    This preprocessing step is not captured in the present PR; this will need to be addressed in the "make_bcs cleanup" project

  2. The bcs generation package reads the preprocessed (filled) data from step 1), maps them into GEOS tile space, and adds them to the clsm/catch_params.nc4 bcs file.

To do in future versions: The raster-to-tile remapping in step 2) should be based on the tile ID raster grid. Here, this mapping is implemented through simple averaging of all raster albedo values within each tile's bounding box (min/max lat/lon), which results in some loss of resolution and is particularly inaccurate along coastlines.

New land bcs versions:

  • v06 : NLv3 + JPL veg height + PEATMAP + MODIS snow alb
  • v07 : NLv3 + PEATMAP
  • v08 : NLv3 + MODIS snow alb
  • v09 : NLv3 + PEATMAP + MODIS snow alb

Dependencies:


Notes:

@biljanaorescanin
Copy link
Contributor Author

biljanaorescanin commented Aug 10, 2022

@weiyuan-jiang here is my branch with just processing and writing this information to catch_param.nc4 files. Next step is to add this to restart file and after reading this information from it. I still didn't clean all my comments in the code I will do that. This code produces what it should, I've tested it for several resolutions.

@biljanaorescanin biljanaorescanin added 0 diff The changes in this pull request have verified to be zero-diff with the target branch. Contingent - DNA These changes are contingent on other PRs (DNA=do not approve) labels Aug 10, 2022
@biljanaorescanin biljanaorescanin added the enhancement New feature or request label Aug 11, 2022
@weiyuan-jiang
Copy link
Contributor

@biljanaorescanin Now, SNOWALB is added to CatmentRst.F90. If this variable is in the boundary file catch_params.nc4, it will be added to catchment's restart file.

@biljanaorescanin
Copy link
Contributor Author

@gmao-rreichle I've changed NLv6 to be V06 and added 2 more options for testing. We can remove them if it turns out we don't need separate options for just peatlands and other for just snow albedo. I've cleanup some comments and indents as well.
PR is tested and now our catch_params.nc4 is zero diff when compare to land options that don't use snow albedo.

There is no need for PR to be draft at this point but I am leaving contingent label since we still need merge of GMAO_shared and GEOSldas PR's listed under notes for this PR to work.

I will close #550 since at this point it is obsolete. There is no more need for that intermediate step. I feel it is just confusing people at this point.

@biljanaorescanin
Copy link
Contributor Author

Since we merged both needed PR's one in GMAO_shared and other on GEOSldas side there is no need to keep this PR draft anymore.
@gmao-rreichle remove contingent label when you think PR is ready for Scott.

@biljanaorescanin biljanaorescanin marked this pull request as ready for review September 2, 2022 13:31
@biljanaorescanin biljanaorescanin requested review from a team as code owners September 2, 2022 13:31
@gmao-rreichle gmao-rreichle marked this pull request as draft September 2, 2022 18:32
@gmao-rreichle
Copy link
Contributor

This PR had not yet gone through a formal code review by the land team. After taking a closer look today, I think some additional cleanup and improved documentation are needed, which will then also require re-testing.
I'll add changes and comments as soon as I can and will report back when I've done my bit.
I'm also confused why the PR fails the CI "build-test"/"run-GCM-on-gfortran", among other CI failures.
Changing back to "draft" status for now.

- clarified that MODIS-based snow albedo option falls back to look-up table values where MODIS data are not available
- clarified that MODIS-based snow albedo is not yet available for CatchCN
- moved processing of “SNOW_ALBEDO_INFO:” into SetServices()
- cleaned up lists of available bcs versions
- changed name of subroutine that processes MODIS snow albedo to more intuitive “MODIS_snow_alb()”
- fixed typos in comments
@gmao-rreichle
Copy link
Contributor

I'll add changes and comments as soon as I can and will report back when I've done my bit.

I added the easy changes in d58f346 . Should build and be 0-diff (to be verified at a later time). I'll add more changes next week.

…scan_snowalb_modis2'

Manually resolved conlict in:
  GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/Utils/Raster/make_bcs
  (definition of new bcs versions)
@gmao-rreichle
Copy link
Contributor

gmao-rreichle commented Nov 16, 2022

  1. We still need a stop in regrid.pl that aborts execution of regrid.pl if the snow albedo restart variable is in either the source or the target restart file...

Added by @weiyuan-jiang in latest commit on #634 -- but this would need to be added into #618.

  1. It looks like the min/max lat/lon of each tile is used for a relatively crude mapping of the snow albedo from the raster grid into tile space...

After conversation with @rdkoster, it was decided to leave the refinement of the raster-to-tile remapping for future work.

  1. In the old code, you don't need out_bcs directory but still can do regrinding. Now the new code can not do that. Do we need to add this function?

  2. In CatchmentRST.F90, why isn't snow albedo included in read_shared_nc4() and read_GEOSldas_rst_bin() when the other "optional" variables do appear in these subroutines?...

This will be addressed in future cleanup (#669).
[DONE: #670]

@weiyuan-jiang, please:

@biljanaorescanin, please:

  • review the changes in my most recent commit (note revised "if" conditions in line 3138 of mod_process_hres_data.F90)
  • test @weiyuan-jiang's updated "regrid.pl" when the source and/or target restart includes snow albedo [OBSOLETE]
  • create an "issue" that reminds us to further refine the raster-to-tile mapping (item 2 above)

@biljanaorescanin
Copy link
Contributor Author

@gmao-rreichle I've tested PR again for different bcs options and remap_restarts.py with different options.
All results are as before.

@sdrabenh Contingent label will stay until we have new MAPL tag, after that this PR is ready for merger. (what we need from MAPL is already on develop).

Copy link
Contributor

@gmao-rreichle gmao-rreichle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving for the land team.

@mathomp4
Copy link
Member

Note: MAPL 2.31.0 has been released and it should have the change from @weiyuan-jiang. I've also made a PR in GEOSgcm to update the MAPL version, see GEOS-ESM/GEOSgcm#490

@sdrabenh sdrabenh removed the Contingent - DNA These changes are contingent on other PRs (DNA=do not approve) label Nov 29, 2022
@sdrabenh sdrabenh merged commit 3ac0cef into develop Nov 29, 2022
@sdrabenh sdrabenh deleted the feature/borescan_snowalb_modis2 branch November 29, 2022 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 diff The changes in this pull request have verified to be zero-diff with the target branch. enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants