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

Updates to facilitate FATES history variable overhaul #1542

Merged
merged 13 commits into from
Nov 29, 2021

Conversation

adrifoster
Copy link
Collaborator

Description of changes

This is a set of changes that go along with a FATES PR intended to make the FATES history output more clear to users (new and otherwise), with standardized units and unit descriptions in the metadata, standardized naming conventions for how the variables are indexed, and more verbose long names. This also updates how we treat non-FATES columns in the upscaling to the grid-cell level output. This resolves FATES issue 630 and 535.

Specifically, almost all FATES history variable names have been updated with specific naming conventions, many of the units have been modified to be more standardized, and we update the flushing logic so that variables are flushed to 0.0_r8 on the FATES side, and the HLM ignore val (generally 1E36) on the host land model side.

Updates to the CTSM code include:

We add a call to flush_hvars inside the init_coldstart and restart subroutines in clmfates_interfaceMod.F90 (here and here).

Specific notes

Contributors other than yourself, if any: discussions with @billsacks, @glemieux, and @rgknox

Are answers expected to change (and if so in what way)?

These should not change the answers per se, but will result in factor differences between this update and master because of the units changes on the FATES code side. Also, all of the history field names have changed for FATES.

Any User Interface Changes (namelist or namelist defaults changes)?

The user_nl_clm hist_fincl1 lists in the testmods directories are updated to reflect the new FATES history variable names.

Testing performed, if any:
running aux_clm and fates suites against ctsm5.1.dev061

@glemieux glemieux self-requested a review November 8, 2021 21:14
Copy link
Member

@billsacks billsacks left a comment

Choose a reason for hiding this comment

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

Thanks for all of your work on this @adrifoster ! Let me know if you'd like to go through any testing stuff together.

@rgknox rgknox self-requested a review November 16, 2021 15:28
Copy link
Collaborator

@glemieux glemieux left a comment

Choose a reason for hiding this comment

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

This looks great. Thank you for all your work on this.

@adrifoster
Copy link
Collaborator Author

adrifoster commented Nov 24, 2021

For aux_clm tests on Cheyenne I got a DIFF for test ERS_D_Ld5.f09_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef, ERS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.cheyenne_intel.clm-FatesColdDef, ERS_Ld30.f45_f45_mg37.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDefReducedComplexFixedBiogeo, and SMS_Ld5.f19_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef.

The DIFF seems to be coming from fates_levleaf, but this doesn't quite makes sense to me. @glemieux should I go ahead and make baselines?

tests are in /glade/scratch/afoster/tests_1123-155830ch

@adrifoster
Copy link
Collaborator Author

adrifoster commented Nov 24, 2021

For aux_clm tests on Cheyenne I got a DIFF for test ERS_D_Ld5.f09_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef, ERS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.cheyenne_intel.clm-FatesColdDef, ERS_Ld30.f45_f45_mg37.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDefReducedComplexFixedBiogeo, and SMS_Ld5.f19_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef.

The DIFF seems to be coming from fates_levleaf, but this doesn't quite makes sense to me. @glemieux should I go ahead and make baselines?

tests are in /glade/scratch/afoster/tests_1123-155830ch

Further investigation showed that fates_levleaf in the baselines were sometimes garbage values:

data:

 fates_levleaf = 1079574527, -1, 1079574527, -1, 1079574528, 0, 1079574528, 
    0, 1079574528, 2, 1079574528, 0, 1079574528, 3, 1079574527, -1, 
    1079574528, 0, 1079574528, 0, 1079574527, -1, 1079574527, -1, 1079574528, 
    0, 1079574528, 0, 1079574527, -1 ;
}

Due to a line being commented out in CTSM main/histFileMod.f90, but this should be fixed through #1561

@glemieux
Copy link
Collaborator

@adrifoster per our conversation on slack and chat with @ekluzek, this DIFF is expected since the dimension hasn't yet been hooked up to the fates-side, so the values will be garbage. This should be fixed with reasonable values when we integrate NGEET/fates#752 after we integrate your PR.

@adrifoster
Copy link
Collaborator Author

Just putting this here for future reference and as per @ekluzek 's suggestion, since the aim now is to wait to fix the fates_levleaf diffs:

aux_clm tests on Cheyenne that failed for DIFF and variables that were found using grep "RMS":

  • ERS_D_Ld5.f09_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef : fates_levleaf
  • ERS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.cheyenne_intel.clm-FatesColdDef : fates_levleaf
  • ERS_Ld30.f45_f45_mg37.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDefReducedComplexFixedBiogeo : fates_levleaf
  • SMS_Ld5.f19_g17.I2000Clm50FatesRs.cheyenne_intel.clm-FatesColdDef : fates_levleaf
  • SMS_Lm3_D_Mmpi-serial.1x1_brazil.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefHydro : FATES_SOILMATPOT_SL, FATES_ROOTUPTAKE_SL, this is expected due to units change

fates tests on Cheyenne that failed for DIFF and variables that were found using grep "RMS":

  • ERS_D_Ld3.f19_g17.I2000Clm50FatesCruRsGs.cheyenne_gnu.clm-FatesColdDef : fates_levleaf
  • ERP_D_P32x2_Ld3.f19_g17.I2000Clm50FatesCru.cheyenne_intel.clm-FatesColdDef : fates_levleaf
  • ERP_Ld9.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefAllVars : fates_levleaf
  • ERS_D_Ld30.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefPRT2 : fates_levleaf
  • ERS_D_Ld3.f19_g17.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDef : fates_levleaf
  • ERS_D_Ld5.1x1_brazil.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefHydro : FATES_ROOTUPTAKE_SL, FATES_SOILMATPOT_SL, this is expected due to units change
  • ERS_Ld30.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefReducedComplexFixedBiogeo : fates_levleaf
  • ERS_Ld30.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefReducedComplexNoComp : fates_levleaf
  • ERS_Ld30.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefSizeAgeMort : fates_levleaf
  • ERS_Ld5.f19_g17.I2000Clm45Fates.cheyenne_intel.clm-FatesColdDef : fates_levleaf
  • ERS_Ld60.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefLogging : fates_levleaf
  • ERS_Ld60.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-FatesColdDefNoFire : fates_levleaf
  • SMS_Lm6.f45_f45_mg37.I2000Clm50FatesCruRsGs.cheyenne_intel.clm-Fates : fates_levleaf

@ekluzek ekluzek merged commit 492bdc0 into ESCOMP:master Nov 29, 2021
@rgknox rgknox added the FATES API update Changes to the FATES version that also REQUIRE an API change in CTSM label Feb 4, 2022
@adrifoster adrifoster deleted the fateshistoryvars_update branch September 8, 2022 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FATES API update Changes to the FATES version that also REQUIRE an API change in CTSM
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants