-
Notifications
You must be signed in to change notification settings - Fork 8
Merge latest escomp/main plus shr_flux_namelist branch into noresm branch #45
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
base: noresm
Are you sure you want to change the base?
Conversation
This is no longer used in the code
Previously this could only be set via a code change
Add dbug_flag namelist option and remove unused info_dbug ### Description of changes (1) Add dbug_flag namelist option to control this flag in the code, rather than requiring source code changes to change this value (2) Remove unused info_dbug flag ### Specific notes Contributors other than yourself, if any: CMEPS Issues Fixed (include github issue #): - Resolves ESCOMP#607 Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) - No Any User Interface Changes (namelist or namelist defaults changes)? - Adds dbug_flag namelist variable - Removes unused INFO_DBUG xml variable and info_dbug namelist variable ### Testing performed Please describe the tests along with the target model and machine(s) If possible, please also added hashes that were used in the testing Ran `SMS_Ld3_D_P8x1.f10_f10_mg37.X.green_gnu` with dbug_flag set at 0 (default) and 11.
Changes ESMF version check to allow version 9+ in addition to 8.4+
This way Meg will be requested for a review for any changes to files in this directory. See also ESCOMP#609 for some discussion of this change
Add Meg Fowler as code owner of the atm-ocn flux code This way Meg will be requested for a review for any changes to files in this directory. See also ESCOMP#609 for some discussion of this change
Fix monthly averaged med history files
Copying from noresm branch at 6539501 This is needed for ESCOMP/CDEPS#364 Co-authored-by: Mariana Vertenstein <marianav@met.no>
Copy shr_lnd2rof_tracers_mod from noresm branch ### Description of changes Copying from noresm branch at NorESMhub/CMEPS@6539501e This is needed for ESCOMP/CDEPS#364 We should soon try to bring in all of the changes from the noresm branch, but that will take more work. ### Specific notes Contributors other than yourself, if any: Mariana Vertenstein CMEPS Issues Fixed (include github issue #): Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) : no Any User Interface Changes (namelist or namelist defaults changes)? none ### Testing performed Please describe the tests along with the target model and machine(s) If possible, please also added hashes that were used in the testing Ran `SMS_Ld3_D_P8x1.f10_f10_mg37.X.green_gnu` with the changes from ESCOMP/CDEPS#364
remove unneeded dependancy on shr_mpi_mod
Rather than having med_methods_FB_init accept one of fieldNameList or STflds, now it accepts an array of med_field_info_type objects. med_field_info_type is defined in a new module that also includes some creation methods, making calls to med_methods_FB_init a two-step process: first create field_info_array, then call med_methods_FB_init with this field_info_array. A key new feature is that the creation of a field_info_array from field_names will assume a single ungridded dimension with size given by shr_wtracers_get_num_tracers for any field with the water tracer suffix. This was the main motivation for the refactor here. Some specific notes about the changes in this commit: - Behavior change: if there are only scalar or blank fields, we do some unnecessary work now (retrieving the mesh that we won't end up ever using) - I think I got the gridToFieldMap right: before it was hard-coded to 2, but I think that was only right for a single ungridded dimension; here I'm generalizing that for multiple ungridded dimensions
We haven't set that up here; we'll fix this in an upcoming set of changes.
…change Remove a duplicate block from esmFldsExchange_cesm_mod ### Description of changes This block of code was accidentally duplicated twice. ### Specific notes Contributors other than yourself, if any: CMEPS Issues Fixed (include github issue #): Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) - no: bfb Any User Interface Changes (namelist or namelist defaults changes)? ### Testing performed From `cesm3_0_alpha08a` ran these two tests: ``` ERS_D_Ld3.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-defaultio SMS_D.TL319_t232.G_JRA_RYF.derecho_intel ``` These both passed and are bit-for-bit. (They both had NLCOMP failures, as I've also experienced in other recent testing, but this seems unrelated to the changes here.)
This way CESM can use shr_wtracers_mod while UFS uses a stub that removes this CESM_share dependency.
…init Refactor med_methods_FB_init to allow handling of water tracer fields ### Description of changes Rather than having med_methods_FB_init accept one of fieldNameList or STflds, now it accepts an array of med_field_info_type objects. med_field_info_type is defined in a new module that also includes some creation methods, making calls to med_methods_FB_init a two-step process: first create field_info_array, then call med_methods_FB_init with this field_info_array. A key new feature is that the creation of a field_info_array from field_names will assume a single ungridded dimension with size given by shr_wtracers_get_num_tracers for any field with the water tracer suffix. This was the main motivation for the refactor here. Some specific notes about the changes in this commit: - Behavior change: if there are only scalar or blank fields, we do some unnecessary work now (retrieving the mesh that we won't end up ever using) - I think I got the gridToFieldMap right: before it was hard-coded to 2, but I think that was only right for a single ungridded dimension; here I'm generalizing that for multiple ungridded dimensions **This depends on the CESM_share changes in ESCOMP/CESM_share#78 and ESCOMP/CESM_share#80 ### Specific notes Contributors other than yourself, if any: CMEPS Issues Fixed (include github issue #): Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) No - bfb Any User Interface Changes (namelist or namelist defaults changes)? No ### Testing performed Please describe the tests along with the target model and machine(s) If possible, please also added hashes that were used in the testing Ran a subset of the CESM prealpha tests with baseline comparisons, using cesm3_0_alpha08a with this CMEPS branch and the share branch from ESCOMP/CESM_share#78: ``` ERS_D_Ld3.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-defaultio ERI.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-defaultio ERC_D_Ln9.ne30pg3_ne30pg3_mt232.FHISTC_LTso.derecho_intel.cam-outfrq9s ERS_Ly7.f09_g17_gris4.T1850Gg.derecho_intel SMS_Lm13.f10_f10_mg37.I1850Clm50SpG.derecho_intel MULTINOAIS_Ly2.f10_f10_ais8gris4_mg37.I1850Clm50SpRsGag.derecho_intel.cism-change_params SMS_D_Ld1.ne30pg3_t232.I1850Clm50BgcSpinup.derecho_intel.clm-cplhist ERI.TL319_t232.G_JRA.derecho_intel.cice-default SMS_D.TL319_t232.G_JRA_RYF.derecho_intel SMS_Ld40.TL319_t232.C_JRA.derecho_intel ``` All tests pass and are bit-for-bit with the baselines. There were NLCOMP failures in some tests; from spot-checking, the NLCOMP failures all seem to be in MOM files. Nothing in this PR or the accompanying share PR could change the namelists, so I assume these are a pre-existing issue: ``` FAIL ERI.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-defaultio NLCOMP FAIL ERI.TL319_t232.G_JRA.derecho_intel.cice-default NLCOMP FAIL ERS_D_Ld3.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-defaultio NLCOMP FAIL SMS_D.TL319_t232.G_JRA_RYF.derecho_intel NLCOMP FAIL SMS_Ld40.TL319_t232.C_JRA.derecho_intel NLCOMP ```
This currently isn't used but will be in an upcoming commit
Use shr_wv_sat_qsat_liquid if aofluxes_use_shr_wv_sat is true, otherwise use the old, inline formulation. This just applies to the Large and COARE formulations.
Instead, refer to the relevant issue
This is the branch from ESCOMP#625 Resolved Conflicts: cesm/flux_atmocn/flux_atmocn_COARE_mod.F90 cesm/flux_atmocn/flux_atmocn_Large.F90 cime_config/namelist_definition_drv.xml
IMPORTANT: We'll want to exclude the changes in this commit when merging the noresm branch back to escomp.
|
@mvertens - for your review and testing in NorESM. I still want to give this a little more careful look myself, but I need to run for the night and wanted to get this open so you could start looking at it. |
I've skimmed through the diffs to make sure I didn't completely botch something in the merge. It looks about as expected, so I think this is ready for review and testing in noresm - and @mvertens we can talk about next steps for merging the noresm branch back to escomp after this comes in. |
3.9 is now the minimum supported by CIME
3.9 gives a warning, which seems to create a error in the GitHub testing. So instead of 3.9 and 3.11, use 3.10 and 3.12.
Otherwise it's interpreted as 3.1
This just updates the srt.yml github workflow
Add namelist control around the qsat calculation for atm-ocn fluxes ### Description of changes The calculation of qsat in the atm-ocn fluxes was [recently changed](ESCOMP#589) to use the shr_wv_sat module. However, NorESM would like to continue to use the old formulation for now. This PR reintroduces the old code and introduces a new config variable that controls whether to use the old or new formulation for qsat. The goal here is to allow NorESM and CESM to use the same code, so that Mariana doesn't need to maintain a separate fork of CMEPS for NorESM. For now, NorESM will need a one-line difference in the namelist definition file, setting the default value of aofluxes_use_shr_wv_sat to false instead of true. Note that this only applies to ocn_surface_flux_scheme = 0 (Large) or 1 (COARE) (but see ESCOMP#624 regarding extending this at some point). This PR also renames some arguments in the calls to shr_wv_sat_qsat_liquid to better match the argument names in that subroutine. ### Specific notes Contributors other than yourself, if any: CMEPS Issues Fixed (include github issue #): Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) No - bfb Any User Interface Changes (namelist or namelist defaults changes)? Adds new namelist flag, aofluxes_use_shr_wv_sat. ### Testing performed Ran these tests in the context of cesm3_0_alpha08a (but with share code updated to the latest, since that's a dependency of the latest CMEPS): ``` ERS_D_Ld3.ne30pg3_t232.B1850C_LTso.derecho_intel.allactive-defaultio SMS_Ld1.ne30_ne30_mg17.FC2010climo.derecho_intel.cam-outfrq1d ERP_D_Ln9.ne30pg3_ne30pg3_mt232.F1850C_MTso.derecho_intel.cam-outfrq9s ``` I ran 4 versions of these tests: - ocn_surface_flux_scheme = 0, aofluxes_use_shr_wv_sat = true (out-of-the-box defaults): bit-for-bit - ocn_surface_flux_scheme = 1, aofluxes_use_shr_wv_sat = true, comparing against baselines with ocn_surface_flux_scheme = 1: bit-for-bit - ocn_surface_flux_scheme = 0, aofluxes_use_shr_wv_sat = false: changes answers, as expected - ocn_surface_flux_scheme = 1, aofluxes_use_shr_wv_sat = false, comparing against baselines with ocn_surface_flux_scheme = 1: changes answers as expected
(There are no additional changes here, just merging a merge commit from main to bring it up to date with the latest tag on main: cmeps1.1.32.)
|
@mvertens - I just merged ESCOMP#625 and have brought this NorESM-merge branch up-to-date with the latest CMEPS main. So I think this is ready for next steps: first your review and merge of this PR, then opening a PR of the NorESM CMEPS back into ESCOMP CMEPS. (No rush, just letting you know that this is ready.) |
Description of changes
(1) Merge recent changes from escomp/main into noresm branch
(2) Merge changes from shr_flux_namelist branch (ESCOMP#625) into noresm branch. However, change the default for aofluxes_use_shr_wv_sat to false for the noresm branch (it's true for cesm).
Specific notes
Contributors other than yourself, if any:
CMEPS Issues Fixed (include github issue #):
Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) - no: bfb (but this should be confirmed with testing)
Any User Interface Changes (namelist or namelist defaults changes)? Adds aofluxes_use_shr_wv_sat, renames info_debug to dbug_flag
Testing performed
None yet.
Some testing should be done of this branch in the context of noresm. Note that this will require the latest version of CESM_share.