Enable offline use of Lake GC; add analytical derivative of exchange coeffs for Lake and Landice - #1470
Enable offline use of Lake GC; add analytical derivative of exchange coeffs for Lake and Landice#1470biljanaorescanin wants to merge 29 commits into
Conversation
|
This PR is being prevented from merging because you have added one of our blocking labels: Contingent - DNA, Needs Lead Approval, Contingent -- Do Not Approve. You'll need to remove it before this PR can be merged. |
ff405ba to
32398ff
Compare
|
With changes as they are now, this PR is zero diff for 1-day AMIP, REPLAY and Inc REPLAY. |
Analytical Louis derivatives for Lake and LandIceThe latest commits update the offline Louis paths in both Lake and LandIce ( This treatment is equivalent to Catch L1. For both components, the implementation applies the same:
The sensible heat derivative, LakeLake stores the latent derivative as a water mass flux derivative:
The Lake solver later multiplies
LandIceLandIce stores the latent derivative directly as an energy flux derivative:
For
|
…y white-space and some trivial edits) (GEOS_LakeGridComp.F90)
…90, GEOS_LandIceGridComp.F90)
…() (GEOS_LakeGridComp.F90, GEOS_LandIceGridComp.F90)
|
PR testing summary: Note here after renaming variable in RST file metadata, comparisons in AMIP, REPLAY and IncREPLAY will fail. With: This difference is expected. The previous long_name value,
|
…d_lake_gridcomp_to_fixture' into feature/borescan_add_lake_gridcomp_to_fixture
…ctions (GEOS_LakeGridComp.F90)
|
Re. #1470 (comment):
|
…are correct (GEOS_CatchGridComp.F90)
…ssurface() in GMAO_Shared repo (GEOS_LakeGridComp.F90, GEOS_LandIceGridComp.F90)
…ile area fractions (GEOS_LandiceGridComp.F90)
…E flag; edited comments (GEOS_LandIceGridComp.F90)
…ouissurface() (GEOS_LandIceGridComp.F90)
|
Hi @biljanaorescanin and @lcandre2 : Yesterday and today, I added a bunch of commits to the branch. Here are the key changes:
For Landice and Lake, the sum of the changes above should be no more than "roundoff" different when compared to where @biljanaorescanin left off (59227cf). It may even be zero-diff. Taken together, my intent was to change only the implementation and not introduce any science changes. For Landice, the addition of the analytical "extra derivatives" is of course non-zero-diff w.r.t. develop. For Catch, the bug fix in GEOS-ESM/GMAO_Shared#454 introduces non-zero-diff changes. @biljanaorescanin : When you're back in the office and find some time, please:
For the latter two items, we may need to run the LDAS for a longer period, but let's start with the short test runs to see if anything looks terrible right away. cc: @weiyuan-jiang |
|
I've rerun my 1Y simulation to test, and after a year, lake and landice RST and History (glc and lake collections) are zero diff to what I had. For catch it is not zero diff as expected. But differences are far from roundoff. My guess is we will want to to much longer simulation like 30Y or more to compare and see? Issue in this run is I use same met-forcing as GEOSgcm idea was to be able to compare to what coupled run was doing. Some more relevant cherrypicked |
Enables running lake tiles in GEOSldas by adding an "offline mode" into Lake GC.
Additionally, analytical derivatives of the exchange coefficients for Louis are added into Landice GC and Lake GC (equivalent to MOSFC_EXTRA_DERIVS_OFFL_LAND=1 for Catch). For Landice and Lake, these analytical derivatives are used by default (as the only option) when CHOOSEMOSFC=0 (Louis).
Finally, the associated PR GEOS-ESM/GMAO_Shared#454 fixes a bug in the calculation of the analytical derivatives in louissurface():
Zero-diff for GCM (except for metadata comparison failure in Lake and Landice restarts owing to minor edits in the LONG_NAME of
FR).Non-zero-diff for GEOSldas:
Related PRs:
Testing:
cc: @lcandre2