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

CPL: Add field exclusions list for nonlinear maps. #6094

Merged

Conversation

ambrad
Copy link
Member

@ambrad ambrad commented Dec 1, 2023

Add the user_nl_cpl namelist option nlmaps_exclude_fields. This is a list of fields that are to be excluded from the set that are nonlinearly mapped. For these excluded fields, the low-order linear map is used instead. The default is

nlmaps_exclude_fields = 'Faxa_rainc', 'Faxa_rainl', 'Faxa_snowc', 'Faxa_snowl'

[non-BFB] for cases using nlmaps
[NML] for all tests due to extra variable nlmaps_exclude_fields

Add the user_nl_cpl namelist option nlmaps_exclude_fields. This is a list of
fields that are to be excluded from the set that are nonlinearly mapped. For
these excluded fields, the low-order linear map is used instead. The default is
   nlmaps_exclude_fields =
     'Faxa_rainc', 'Faxa_rainl', 'Faxa_snowc', 'Faxa_snowl'
@ambrad ambrad force-pushed the ambrad/cpl/nonlinear-maps-exclusions branch from 1cdc4ba to 597b6a2 Compare December 1, 2023 23:39
@ambrad ambrad requested a review from rljacob December 1, 2023 23:46
@ambrad
Copy link
Member Author

ambrad commented Dec 2, 2023

e3sm_integration on Chrysalis matches the dashboard except (1) that every test has a NML diff:

2023-12-01 17:43:37: NLCOMP
Comparison failed ... drv_in
  found extra variable: 'nlmaps_exclude_fields'

and (2) ERS_Ld3.ne30pg2_r05_EC30to60E2r2.WCYCL1850.chrysalis_intel.allactive-nlmaps, the stealth-feature test, DIFFs. Both of these are expected.

@ambrad ambrad requested a review from golaz December 2, 2023 06:11
@ambrad
Copy link
Member Author

ambrad commented Dec 2, 2023

@golaz Rob and I agreed that defaulting the namelist variable to include the four preciptiation fluxes is best. Is that OK with you? This has two implications:

  1. Run scripts don't have to have any modifications to get the better wrain budget value.
  2. A simulation won't be BFB with previous runs unless the namelist variable is set to the list of empty strings, like this:
cat << EOF >> user_nl_cpl
    nlmaps_exclude_fields = '','','','' 
EOF

@ambrad ambrad changed the title CPL: Add optional field exclusions list for nonlinear maps. CPL: Add field exclusions list for nonlinear maps. Dec 2, 2023
@golaz
Copy link
Contributor

golaz commented Dec 4, 2023

@ambrad : thank you for working on this quickly. We discussed it during the meeting this morning. We should go ahead with this option for v3.

@rljacob rljacob added non-BFB PR makes roundoff changes to answers. Coupler labels Dec 4, 2023
@rljacob
Copy link
Member

rljacob commented Dec 4, 2023

I'm going to call this "non-BFB" all the v3 cases are using nlmaps now. Our testing is lagging in bringing in those cases.

@ambrad
Copy link
Member Author

ambrad commented Dec 4, 2023

all the v3 cases are using nlmaps now. Our testing is lagging in bringing in those cases.

I see. Do I interpret this correctly as follows?

  • e3sm_integration does not yet have this option on, which is why I see only one DIFF in my testing.
  • But from the v3 campaign perspective, it's not BFB?

@rljacob
Copy link
Member

rljacob commented Dec 4, 2023

right. Also when a PR makes any test non-BFB, I prefer to call it "non-BFB except for" or "non-BFB only in" instead of "BFB except for". Makes it easier to find the possibly non-BFB PRs in the git log.

@ambrad
Copy link
Member Author

ambrad commented Dec 4, 2023

Re: testing, I checked that the following code modification makes the nlmaps test BFB with the current baseline, as expected and desired:

--- a/cime_config/testmods_dirs/allactive/nlmaps/user_nl_cpl
+++ b/cime_config/testmods_dirs/allactive/nlmaps/user_nl_cpl
@@ -1 +1,2 @@
 nlmaps_verbosity = 1
+nlmaps_exclude_fields = '','','',''

@rljacob
Copy link
Member

rljacob commented Dec 4, 2023

@ambrad did you want to handle the integration?

@ambrad
Copy link
Member Author

ambrad commented Dec 4, 2023

@rljacob Yes, I will do it unless you prefer someone else does.

Edit: I see I forgot to assign myself, prompting Rob's question. Fixed.

@ambrad ambrad self-assigned this Dec 4, 2023
ambrad added a commit that referenced this pull request Dec 4, 2023
CPL: Add field exclusions list for nonlinear maps.

Add the user_nl_cpl namelist option nlmaps_exclude_fields. This is a list of
fields that are to be excluded from the set that are nonlinearly mapped. For
these excluded fields, the low-order linear map is used instead. The default is

nlmaps_exclude_fields = 'Faxa_rainc', 'Faxa_rainl', 'Faxa_snowc', 'Faxa_snowl'

[non-BFB] for cases using nlmaps
[NML] for all tests due to extra variable nlmaps_exclude_fields
@rljacob rljacob added this to the v3.0beta03 milestone Dec 4, 2023
@ambrad ambrad merged commit b03c25e into E3SM-Project:master Dec 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Coupler non-BFB PR makes roundoff changes to answers.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants