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

FATES parteh scale fixes api (ie nutrient + methane coupling) #1371

Merged
merged 22 commits into from
May 27, 2021

Conversation

rgknox
Copy link
Collaborator

@rgknox rgknox commented May 10, 2021

Description of changes

This set of changes is necessary to have API compatibility with FATES PR: NGEET/fates#716
In brief, these changes accomodate boundary conditions needed for nutrient coupling, although CLM-FATES nutrient coupling is forthcoming. These changes are also needed to enable methane coupling in with FATES-CLM which should be enabled now.

Specific notes

Tested this on cheyenne with modifications to check B4B, which generated expected results.
Here are the sub-branches to this PR that have the non-b4b changes suspended:

https://github.com/rgknox/fates/tree/parteh-scaling-fixes-may05-b4b
https://github.com/rgknox/ctsm/tree/fates_parteh_scale_fixes_api_b4b

Contributors other than yourself, if any: see NGEET/fates#716

CTSM Issues Fixed (include github issue #):

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

yes

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

A new default parameter file has been loaded.
No new NL entries.
No changes in default NL entries.
use_fates and use_lch4 can now both be true.

Testing performed, if any:

The FATES test suite was run on the B4B sub-branches, results pass and are found here:

/glade/scratch/rgknox/clmed-tests/parteh-scaling-fixes-api-C7bd490c2-Fabb43f0b-test-b4b-v4.fates.cheyenne

(List what testing you did to show your changes worked as expected)
(This can be manual testing or running of the different test suites)
(Documentation on system testing is here: https://github.com/ESCOMP/ctsm/wiki/System-Testing-Guide)
(aux_clm on cheyenne for intel/gnu and izumi for intel/gnu/nag/pgi is the standard for tags on master)

NOTE: Be sure to check your coding style against the standard
(https://github.com/ESCOMP/ctsm/wiki/CTSM-coding-guidelines) and review
the list of common problems to watch out for
(https://github.com/ESCOMP/CTSM/wiki/List-of-common-problems).

@rgknox rgknox mentioned this pull request May 10, 2021
3 tasks
@rgknox
Copy link
Collaborator Author

rgknox commented May 11, 2021

ran aux_clm, still interpreting output, see here:

/glade/scratch/rgknox/clmed-tests/parteh-scaling-fixes-api-Cbf358079-Fb77a0d5d-v3.aux_clm.cheyenne

I did have to make some tweaks to the new fates-ch4 test, see the commit following this message. I re-ran that specific test and things seem to be working now:

/glade/scratch/rgknox/ERS_Ld30.f45_f45_mg37.I2000Clm50FatesCru.cheyenne_intel.clm-FatesCH4.20210510_203248_jl6kjw/

@billsacks billsacks requested a review from ekluzek May 13, 2021 17:02
@rgknox
Copy link
Collaborator Author

rgknox commented May 14, 2021

Imported new parameter file:

cseg/inputdata> ./rimport -file lnd/clm2/paramdata/fates_params_api.15.1.0_12pft_c210505.nc
 
svn import  /glade/p/cesm/cseg/inputdata/lnd/clm2/paramdata/fates_params_api.15.1.0_12pft_c210505.nc https://svn-ccsm-inputdata.cgd.ucar.edu/trunk/inputdata/lnd/clm2/paramdata/fates_params_api.15.1.0_12pft_c210505.nc
Adding  (bin)  /glade/p/cesm/cseg/inputdata/lnd/clm2/paramdata/fates_params_api.15.1.0_12pft_c210505.nc

@rgknox
Copy link
Collaborator Author

rgknox commented May 14, 2021

Addressed some issues brought up in the ctsm software meeting:

  1. the new fates-ch4 test is now based off of FatesColdDef
  2. the new fates-ch4 tests are now reduced in scope (no izumi on aux_clm) and less resource intensive (f10 grid, 9 days instead of f45 and 30 days)

Copy link
Collaborator

@ekluzek ekluzek left a comment

Choose a reason for hiding this comment

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

I have a lot of nit picky things here. Some of it I just want to hear about your thinking. And as we have already discussed I'm fine with making an initial implementation that we don't change much, but start going toward a design we agree on.

src/biogeochem/ch4Mod.F90 Show resolved Hide resolved
src/biogeochem/ch4Mod.F90 Show resolved Hide resolved
src/biogeochem/ch4Mod.F90 Outdated Show resolved Hide resolved
src/main/ColumnType.F90 Outdated Show resolved Hide resolved
src/utils/clmfates_interfaceMod.F90 Outdated Show resolved Hide resolved
src/main/ColumnType.F90 Show resolved Hide resolved
src/utils/clmfates_interfaceMod.F90 Show resolved Hide resolved
src/biogeochem/ch4Mod.F90 Show resolved Hide resolved
src/biogeochem/ch4Mod.F90 Show resolved Hide resolved
src/biogeochem/ch4Mod.F90 Outdated Show resolved Hide resolved
@ekluzek
Copy link
Collaborator

ekluzek commented May 21, 2021

An important issue that relates to this is #1051. We want to think of this as a step going towards some of that.

@ekluzek
Copy link
Collaborator

ekluzek commented May 21, 2021

After looking at the implementation. I do think that there should be some filters setup for running over FATES points versus vegetation (but NOT FATES) points. In most cases there should be two loops one loop for each. I only saw one instance where right now there might be issues with that since there's a part that they both do within the same loop.

@rgknox
Copy link
Collaborator Author

rgknox commented May 22, 2021

updated test results:
cheyenne aux_clm: /glade/scratch/rgknox/clmed-tests/parteh-scaling-fixes-api-dev039Ce8851116-Fb77a0d5d
izumi to follow:

@rgknox
Copy link
Collaborator Author

rgknox commented May 24, 2021

Here are the izumi tests: /scratch/cluster/rgknox/tests_0522-093537iz

From what I can tell, results between this branch (merged with dev039) and dev039 are identical (with exceptions to fates tests) and NLCOMPs. Although I'm not sure if the nlcomps are failing because of some write permission issues, or something else.

@rgknox
Copy link
Collaborator Author

rgknox commented May 24, 2021

Tests on izumi: /scratch/cluster/rgknox/tests_0524-115727iz

From discussions with @glemieux , the nag fales with Clm50Fates D are known

[rgknox@izumi tests_0524-115727iz]$ ./cs.status.fails 
0524-115727iz_gnu: 4 tests

 
0524-115727iz_int: 6 tests

 
0524-115727iz_nag: 35 tests
    FAIL ERI_D_Ld9_P48x1_Vnuopc.f10_f10_mg37.I2000Clm50Sp.izumi_nag.clm-SNICARFRC SHAREDLIB_BUILD time=305
    FAIL ERS_D_Ld5.f10_f10_mg37.I2000Clm45Fates.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL ERS_D_Ld5.f10_f10_mg37.I2000Clm45Fates.izumi_nag.clm-FatesColdDef RUN time=42
    FAIL ERS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL ERS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.izumi_nag.clm-FatesColdDef RUN time=17
    FAIL ERS_D_Mmpi-serial_Ld5.1x1_brazil.I2000Clm45FatesRs.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL ERS_D_Mmpi-serial_Ld5.1x1_brazil.I2000Clm45FatesRs.izumi_nag.clm-FatesColdDef RUN time=12
    FAIL ERS_D_Mmpi-serial_Ld5.1x1_brazil.I2000Clm50FatesRs.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL ERS_D_Mmpi-serial_Ld5.1x1_brazil.I2000Clm50FatesRs.izumi_nag.clm-FatesColdDef RUN time=12
    FAIL ERS_D_Mmpi-serial_Ld5_Vnuopc.1x1_brazil.I2000Clm50FatesRs.izumi_nag.clm-FatesColdDef SHAREDLIB_BUILD time=305
    FAIL ERS_D_Mmpi-serial_Ld5_Vnuopc.1x1_brazil.I2000Clm50FatesRs.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL SMS_D_Ld1_P48x1_Vnuopc.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-af_bias_v7 SHAREDLIB_BUILD time=305
    FAIL SMS_D_Ld5.f10_f10_mg37.I2000Clm45Fates.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL SMS_D_Ld5.f10_f10_mg37.I2000Clm45Fates.izumi_nag.clm-FatesColdDef RUN time=67
    FAIL SMS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL SMS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.izumi_nag.clm-FatesColdDef RUN time=17
    FAIL SMS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm45FatesRs.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL SMS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm45FatesRs.izumi_nag.clm-FatesColdDef RUN time=12
    FAIL SMS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm50FatesRs.izumi_nag.clm-FatesColdDef NLCOMP
    FAIL SMS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm50FatesRs.izumi_nag.clm-FatesColdDef RUN time=11
    FAIL SMS_D_Vnuopc_Mmpi-serial.CLM_USRDAT.I1PtClm51Bgc.izumi_nag.clm-NEON_NIWO SHAREDLIB_BUILD time=304

 
0524-115727iz_pgi: 2 tests

 
========================================================================
Non-PASS results for select phases:
TPUTCOMP non-passes: 0
MEMCOMP non-passes: 0

src/biogeochem/ch4Mod.F90 Show resolved Hide resolved
src/biogeochem/ch4Mod.F90 Show resolved Hide resolved
src/utils/clmfates_interfaceMod.F90 Show resolved Hide resolved
@ekluzek
Copy link
Collaborator

ekluzek commented May 25, 2021

The failed RUN tests on izumi were due to a "dangling pointer". The nuopc tests are expected fails. @rgknox thinks he knows the solution so he's trying it out. If it looks good we'll go ahead with the tag. Otherwise, it might take more time to get it out...

@rgknox
Copy link
Collaborator Author

rgknox commented May 26, 2021

Updated tests on izumi and cheyenne. (merged in dev040, and performed compare):

Cheyenne: /glade/scratch/rgknox/tests_0525-131115ch
Izumi: /scratch/cluster/rgknox/tests_0525-125435iz

I couldn't find any tests that had unexpected fails.

Summary all pass with following expected exceptions:

Expected BASELINE AND NLCOMP fails for all fates tests.
Cheyenne:
DAE_N2_D_Lh12_Vnuopc.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_intel.clm-DA_multidrv (expected failure)
ERS_Ld9.f10_f10_mg37.I2000Clm50FatesCru.cheyenne_intel.clm-FatesColdDefCH4 (BFAIL - NEW TEST)

Izumi (Vnuopc fails SHAREDLIB_BUILD):
FAIL ERI_D_Ld9_P48x1_Vnuopc.f10_f10_mg37.I2000Clm50Sp.izumi_nag.clm-SNICARFRC SHAREDLIB_BUILD
FAIL ERS_D_Mmpi-serial_Ld5_Vnuopc.1x1_brazil.I2000Clm50FatesRs.izumi_nag.clm-FatesColdDef SHAREDLIB_BUILD
FAIL SMS_D_Ld1_P48x1_Vnuopc.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-af_bias_v7 SHAREDLIB_BUILD
FAIL SMS_D_Vnuopc_Mmpi-serial.CLM_USRDAT.I1PtClm51Bgc.izumi_nag.clm-NEON_NIWO SHAREDLIB_BUILD

@rgknox
Copy link
Collaborator Author

rgknox commented May 26, 2021

@ekluzek and I realized that the fates hash in the test, even though it was using the correct fates branch, had not merged in the most up-to-date version of fates. So I updated the external model pointer to use the new fates tag, and re-ran tests:

cheyenne: /glade/scratch/rgknox/tests_0526-120450ch
izumi: /scratch/cluster/rgknox/tests_0526-122208iz

Update: ALL tests OK

@ekluzek ekluzek merged commit 3653013 into ESCOMP:master May 27, 2021
@ekluzek ekluzek self-assigned this May 27, 2021
@rgknox rgknox deleted the fates_parteh_scale_fixes_api branch October 31, 2023 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done (non release/external)
Development

Successfully merging this pull request may close these issues.

2 participants