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

R21C HISTORY output specs (precip, land, landice, ...) #356

Merged

Conversation

gmao-rreichle
Copy link
Contributor

@gmao-rreichle gmao-rreichle commented Sep 9, 2022

This PR proposes updated R21C HISTORY specs on top of @sdrabenh's R21C branch.
See also matching PR #637 in GEOSgcm_GridComp.
These updates will eventually need to find their way into the default and/or FP file specs in the 'develop' branch, which will require another PR.


Details:

Updates are focused on (but not entirely limited to) land and landice outputs.

For precip outputs, clarified variable names for rain vs. snow and model vs. corrected.

For land outputs in the "lnd" collection, appended/inserted "LAND" in the nc4 variable name wherever there's any chance at all that users could be confused that the output is only over land tiles. (The nc4 variable names for soil moisture and soil temperature, which are probably the most commonly used outputs, ,were not changed.)

Updates were applied to both the lat/lon and cube-sphere collection definitions. (For "lnd", updates are also applied to the forecast collection, which is not written out for R21C. This should help with getting the updates into 'develop' later.)

Removed obsolete SWLAND output from "lfo" collections.

Made variables that are exported in R21C consistent across land and landice (incl. runoff).

Fixed sign issue for GHTSKIN in landice.

Added interception water storage (CAPAC) to lnd output (suggested by Mike B based on user feedback)

Still to do:

  1. There seem to be some funky choices in the list of outputs for the ocn collections.

  2. Add runoff (and other variables?) averaged across land and landice. [DONE @lcandre2, @gmao-rreichle 16Nov22]

  3. TBD: Is there a difference for DRPAR & DFPAR output from SOLAR vs SURFACE? --> only roundoff [DONE @lcandre2 16Nov22]

  4. TBD: Is there a difference for ALBEDO output from SOLAR vs SURFACE? --> only roundoff [DONE @lcandre2 16Nov22]

  5. TBD: Community request for output of nadir albedo (in addition to broadband albedo). [DONE @lcandre2 16Nov22]

  6. Resolve conflicting signs for GHTSKIN (GHLAND?) in landice and land collections. [DONE @lcandre2 16Nov22]

  7. The "vertically integrated" ("int") collection is only defined for lat/lon. Is the omission of the cube-sphere collection intentional?

  8. For "lnd", when merging with 'develop', make sure not to inadvertently drop the new "PEATCLSM" output variables.

  9. Add land surface constants output as in MERRA-2: const_2d_lnd_Nx (M2CONXLND) "Constant Land‐Surface Parameters". I think in MERRA-2, this was done manually (Rob and Qing working with matlab). It would be preferable to have this formalized through HISTORY, if at all possible. Needs thought.

cc: @elakkraoui @lcandre2 @gmao-qliu @lltakacs @sdrabenh @rcullath @rdkoster @rlucches

From @lcandre2 (11/18/22):
I merged my branch /feature/lcandre2/r21c_landice_updates into /feature/rreichle/r21c_updates and made some modifications based on a meeting with @gmao-rreichle on 16Nov22.

There are outstanding issues that require input from others to resolve. See notes in files changed.

@gmao-rreichle gmao-rreichle added the 0 diff trivial The changes in this pull request are trivially zero-diff (documentation, build failure, &c.) label Sep 9, 2022
@gmao-rreichle gmao-rreichle requested a review from a team as a code owner September 9, 2022 22:05
@gmao-rreichle gmao-rreichle marked this pull request as draft September 9, 2022 22:07
@gmao-rreichle gmao-rreichle added the Contingent - DNA Do Not Approve (DNA). These changes are contingent on other PRs label Sep 9, 2022
@sanAkel
Copy link
Collaborator

sanAkel commented Sep 14, 2022

@elakkraoui and others,
here is a suggested addition that writes out 2d fields for the ocean surface.

ocean_forcing.rc.txt

I worked out a few scripts to extract what I need from files that are already being generated.
With that, there is no need to write a new stream.

@sanAkel sanAkel self-requested a review September 14, 2022 21:03
@GEOS-ESM GEOS-ESM deleted a comment from rcullath Sep 16, 2022
@GEOS-ESM GEOS-ESM deleted a comment from rcullath Sep 16, 2022
@lcandre2
Copy link

@elakkraoui and others, here is a suggested addition that writes out 2d fields for the ocean surface.

ocean_forcing.rc.txt

@sanAkel, here you have RUNSURF for runoff. This does not include glacier runoff. Do you want me to change this?

@@ -1032,7 +1033,7 @@ COLLECTIONS: 'asm_inst_3hr_glo_L@HIST_IMx@HIST_JM_p48'
flx_tavg_1hr_glo_C@AGCM_IMx@AGCM_IMx6_slv.end_date: >>>IOEDATE<<< ,
flx_tavg_1hr_glo_C@AGCM_IMx@AGCM_IMx6_slv.end_time: >>>IOETIME<<< ,
flx_tavg_1hr_glo_C@AGCM_IMx@AGCM_IMx6_slv.fields: 'LHFX' , 'SURFACE' , 'EFLUX' ,
'EVAP' , 'SURFACE' ,
'EVAP' , 'SURFACE' , ##

Choose a reason for hiding this comment

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

**@lcandre2 is determining if EVAP=EVAPOUT
ISSUE:
EVAP is both an import and export of SURFACE
flx collection: EVAP from surface
ocn collection: EVAPOUT from surface
lnd collection: separate EVAP components
glc collection: EVAPOUT from landice

Copy link
Contributor Author

Choose a reason for hiding this comment

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

FYI, "lnd" outputs are:

  • EVLAND = total evaporation in kg/m2/s
  • LHLAND = total latent heat flux in W/m2
  • EVPINTR, EVPSBLN, EVPSOIL, EVPTRNS = evaporation components in W/m2 (should sum up to LHLAND)

All of the above are gridded outputs from SURFACE where the tile-to-grid aggregation includes only across "land" tiles.

Copy link
Collaborator

Choose a reason for hiding this comment

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

To add to what @gmao-rreichle said ⬆️ when ocean collection puts output, land is masked, same applies for land outputs: ocean masked.

Makes sense?

Choose a reason for hiding this comment

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

The concern is that in the flx collection EVAP is exported from SURFACE, while in the ocn and glc collections EVAPOUT is exported from SURFACE and LANDICE, respectively. EVAP and EVAPOUT from surface do not produce the same fields (see attached figure), suggesting an inconsistency. I looked at EVLAND and it is most similar to EVAP (not EVAPOUT).

Rolf and I noticed the differences when going through HISTORY_R21C.rc.tmpl. I don't have any particular insight into this, and perhaps it isn't worth pursuing, but the differences are non-negligible.

@elakkraoui @lltakacs

evapdifferencesM11

@@ -1525,7 +1531,7 @@ COLLECTIONS: 'asm_inst_3hr_glo_L@HIST_IMx@HIST_JM_p48'
'FLNS' , 'IRRAD' , 'LWGNT' ,
'OLR' , 'IRRAD' , 'LWTUP' ,
'RSRS' , 'SOLAR' , 'SWGNT' ,
'RUNSURF' , 'SURFACE' , 'RUNOFF' ,
'RUNSURF' , 'SURFACE' , 'RUNOFF' , #is this the right runoff?

Choose a reason for hiding this comment

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

@sanAkel I think that this should actually be:
'RUNOFF', 'SURFACE', 'RUNOFFTOT',
in order to include glacier runoff

@@ -1537,8 +1543,8 @@ COLLECTIONS: 'asm_inst_3hr_glo_L@HIST_IMx@HIST_JM_p48'
'DFNIR' , 'SOLAR' , 'NIRDF' ,
'DRNIR' , 'SOLAR' , 'NIRDR' ,
'TAUX;TAUY' , 'SURFACE' ,
'SHWTR' , 'SURFACE' , 'HFLUXWTR',
'HLATWTR' , 'SURFACE' , 'EFLUXWTR',
'SHWTR' , 'SURFACE' , 'SHOCN',

Choose a reason for hiding this comment

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

@sanAkel @elakkraoui I changed the variable name to be consistent with land and landice.

@sanAkel
Copy link
Collaborator

sanAkel commented Nov 18, 2022

@elakkraoui and others, here is a suggested addition that writes out 2d fields for the ocean surface.
ocean_forcing.rc.txt

@sanAkel, here you have RUNSURF for runoff. This does not include glacier runoff. Do you want me to change this?

That would be good. I am glad you identified this fault. Thank you @lcandre2

@sdrabenh sdrabenh merged commit 5171b2d into feature/sdrabenh/r21c_updates Dec 8, 2022
@gmao-rreichle
Copy link
Contributor Author

gmao-rreichle commented Dec 8, 2022

Many thanks, @sdrabenh, for merging this GEOSgcm_App PR, and especially for fixing the double comma and DRPAR & DFPAR export variable name issues during the merge.
I double-checked that everything that was in the branch was merged ok, so I'm going to delete my branch. For any future changes that may be needed, we'll start with another clone of your most recent branch.
I'll also transfer the remaining to-do items into a new GEOSgcm_App Github issue #384.
cc: @elakkraoui @lcandre2

@gmao-rreichle gmao-rreichle deleted the feature/rreichle/r21c_updates branch December 8, 2022 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 diff trivial The changes in this pull request are trivially zero-diff (documentation, build failure, &c.) Contingent - DNA Do Not Approve (DNA). These changes are contingent on other PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants