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

noresm2_5_015_cam6_4_041: Updates from ESCOMP/CAM #175

Merged
merged 50 commits into from
Nov 12, 2024

Conversation

gold2718
Copy link

@gold2718 gold2718 commented Nov 8, 2024

Summary: Update CAM with ESCOMP changes between cam6_3_158 and cam6_4_041

Contributors: gold2718

Reviewers: DirkOlivie, mvertens, oyvindseland

Purpose of changes: Update CAM with new NCAR configurations #173

Github PR URL: #175

Changes made to build system: Replace manage_externals with git-fleximod

Changes made to the namelist:

  • CAM3 entries removed
  • New entries for gravity wave moving mountain parameterization
  • GEOSchem updates
  • RRTMGP added as a radiation scheme
  • New SCAM variables
  • Wetdep variables made into independent namelist
  • New (temporary?) dust emission variables to coordinate with CTSM

Changes to the defaults for the boundary datasets: None (for LT)

Substantial timing or memory changes: None

Change highlights:

  • Adjustments to chemistry compset names
  • Bring in re-organized atmospheric_physics repo
  • Update to GEOS-Chem 14.4.3 and HEMCO 3.9.0, and add Cloud-J 7.7.3 and HETP 1.0
  • Generalize aerosol wet removal
  • Add missing total energy in physics state from dycore in snapshots and cleanup total water
  • Use same cloud water for radiation and COSP.
  • fix psl values sent to coupler in cam7
  • Updates to age of air diagnostic tracers
  • Add capability to use Leung dust emission scheme
  • Repartition dust deposition fluxes passed to surface models
  • Deposition fixes for aquaplanet and simple model configurations.
  • SCAM-SE feature addition plus bugfixes and some refactoring
  • Remove 0.5*timestep from call to ZM
  • Correction to aerosol convective removal
  • New CLUBB external
  • Add climate-chemistry compset
  • Initial Gravity Wave moving mountain
  • replaced outdated log-gamma function with intrinsic
  • fix clubb interface bug (dry/moist mixing ratio conversion)
  • Limit vertical domain used by COSP.
  • activate additional clubb diffusion in cam6
  • Change name of physics package 'cam_dev' to 'cam7'
  • Replace manage_externals with git-fleximod
  • Update subcomponents where ESCOMP component is used directly in CAM
  • Update top level externals to match NorESMhub/NorESM/noresm_develop
  • Diagnostic rainbows
  • New PUMAS external with fixed GPU directives

closes #173

Katetc and others added 30 commits November 8, 2024 09:23
Merge pull request ESCOMP#702 from PUMASDevelopment/katetc/rainbows_pr

cam6_3_159: Diagnostic rainbows and GPU fixes in PUMAS microphysics
Fixes ESCOMP#683 Add Diagnostic Rainbow Calculation
Partially addresses ESCOMP#1007 Broken PUMAS GPU code and GPU regression test by bringing in an updated PUMAS external tag with fixed GPU code. However, the needed ccs_config tag ( ccs_config_cesm0.0.99 ) caused a failure in the single column tests right now. So the updates to the ccs_config external will be left for the next GPU fixing tag.

RAINBOWS!!! I'M NOT KIDDING!!!!111!
Also a new PUMAS tag that fixes GPU OpenACC calls. B4b

Does not change answers.

ESCOMP commit: 46ff80c
Merge pull request ESCOMP#1020 from cacraigucar/cam_sct_fix

Fix for SCT when using ccs_config_ces0.0.99 on derecho

ESCOMP commit: eaa6435
Merge pull request ESCOMP#1031 from cacraigucar/cam_alpha17_externals

Update to alpha17 externals

ESCOMP commit: 8554477
Merge pull request ESCOMP#1052 from jedwards4b/rme/cam6_3_161

cam6_3_162: Remove manage externals

ESCOMP commit: ab476f9

NorESMhub changes
Conversion to .gitmodules: Updated .gitmodules file
Removed Externals.cfg and Externals_CAM.cfg
Merge pull request ESCOMP#1028 from brian-eaton/cam7

cam6_4_001: Change name of physics package 'cam_dev' to 'cam7'

ESCOMP commit: 62110ab
Merge pull request ESCOMP#1056 from brian-eaton/clubb-nl-fix

cam6_4_002: activate additional clubb diffusion in cam6

ESCOMP commit: 5a92247
Merge pull request ESCOMP#1040 from adamrher/cam.L93v2

cam6_4_003:  replace L93 ncdata files w/ corrected versions. L93 hybrid coefficients had a discontinuous kink, or offset, creating an anomalously thin layer in the 300 hPa - 100 hPa altitude range. This region overlaps with the L58 grid, but for some reason the L58 grid didn't get contaminated like it was in L93. We aren't sure how this happened.

ESCOMP commit: 5d2d6a5
Merge pull request ESCOMP#1023 from fvitt/waccmx_corrections

cam6_4_004: Corrections for WACCMX

ESCOMP commit: 7507e72
Merge pull request ESCOMP#1010 from brian-eaton/cosp-vlim

cam6_4_005: Limit vertical domain used by COSP

ESCOMP commit: 08d0326
Merge pull request ESCOMP#1054 from PeterHjortLauritzen/clubb_intr_bug_fix

cam6_4_006: fix CLUBB interface bug

ESCOMP commit: 9ca1ea4
cam6_4_007: CCPP-ized TJ2016 (ESCOMP#1070)

Tag name: cam6_4_007
Originator(s): Michael Waxmonsky
Date: 7/8/2024
One-line Summary: cam6_4_007: CCPP-ized TJ2016
Github PR URL: ESCOMP#1070

Purpose of changes (include the issue number and title text for each relevant GitHub issue):
- Exchanges TJ2016 source from cam/physics/simple to atmospheric_physics
submodule (ESCOMP/atmospheric_physics#92)

Describe any changes made to build system:
- Adds src/atmos_phys/tj2016 to list of folders to search for compiling in
<case>/bld/atm/obj/Filepath used during ./preview_namelists

Describe any changes made to the namelist: N/A

List any changes to the defaults for the boundary datasets: N/A

Describe any substantial timing or memory changes: N/A

Code reviewed by: cacraigucar, nusbaume

List all files eliminated:

$ git diff --name-status   cam_development..tj2016 | grep ^D
D       src/physics/simple/tj2016.F90

List all files added and what they do: N/A

List all existing files that have been modified, and describe the changes:

$ git diff --name-status cam_development..tj2016 | grep ^M

M       .gitmodules
- Updating atmospheric_physics to tag atmos_phys0_03_000

M       bld/configure
- See comment to change in build system

M       src/physics/simple/tj2016_cam.F90
- Updated API into CCPP-ized TJ2016 precip and sfc_plb_hs run functions
  (See ESCOMP/atmospheric_physics#92 for API change desciription).

If there were any failures reported from running test_driver.sh on any test
platform, and checkin with these failures has been OK'd by the gatekeeper,
then copy the lines from the td.*.status files for the failed tests to the
appropriate machine below.  All failed tests must be justified.

derecho/intel/aux_cam:
ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (Overall: FAIL) details:
  FAIL ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s COMPARE_base_rest
SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s
(Overall: FAIL) details:
  FAIL SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s SHAREDLIB_BUILD time=3
SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: PEND) details:
  PEND SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s SHAREDLIB_BUILD
SMS_D_Ln9.T42_T42.FSCAM.derecho_intel.cam-outfrq9s (Overall: PEND) details:
  PEND SMS_D_Ln9.T42_T42.FSCAM.derecho_intel.cam-outfrq9s RUN RERUN
- Pre-existing failures

izumi/nag/aux_cam:
DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: FAIL) details:
  FAIL DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae RUN time=12
  PEND DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae COMPARE_base_da
- Pre-existing failure

izumi/gnu/aux_cam: N/A

CAM tag used for the baseline comparison tests if different than previous
tag:
- cesm2_3_alpha17g for manually testing FTJ16 compset, previous baseline for aux_cam tests

Summarize any changes to answers, i.e.,
- what code configurations:
- what platforms/compilers:
- nature of change (roundoff; larger than roundoff but same climate; new climate): N/A

ESCOMP commit: 7784099
Merge pull request ESCOMP#1071 from PeterHjortLauritzen/cam_hb_simple

cam6_4_008: HB mods + dycore mods

ESCOMP commit: b29e7e3
Merge pull request ESCOMP#1081 from briandobbins/log_gamma_fix

Switch log-gamma call to a Fortran 2008 intrinsic

ESCOMP commit: de0bef8
Merge pull request ESCOMP#1057 from JulioTBacmeister/gw_movmtn_devel

cam6_4_010: Initial Gravity Wave moving mountain

ESCOMP commit: 7f30c82
Merge pull request ESCOMP#1089 from brian-eaton/rm-mct

cam6_4_011: Update submodules, git-fleximod; fix fv3 build; remove mct reference

ESCOMP commit: fb7f4b6
Merge pull request ESCOMP#1074 from fvitt/climchem

cam6_4_012: climate chemistry compset

ESCOMP commit: 662a6f0
Merge pull request ESCOMP#1085 from fvitt/aerosol_convproc_fixes

cam6_4_013: aerosol wet removal fixes

ESCOMP commit: 094aa35
Merge pull request ESCOMP#1069 from fvitt/waccmx_nuopc

cam6_4_014: Remove WACCMX gridded component layer

ESCOMP commit: 87f3b5d
Merge pull request ESCOMP#1072 from brian-eaton/misc02

cam6_4_015: Miscellaneous fixes

ESCOMP commit: fe60b8d
Merge pull request ESCOMP#1100 from brian-eaton/rrtmgp-mt

cam6_4_016: Modify RRTMGP interface for MT configurations.

ESCOMP commit: 3e9a281
Merge pull request ESCOMP#1112 from brian-eaton/misc03

cam6_4_017: fix issues ESCOMP#1087 and ESCOMP#1103

ESCOMP commit: d723056
Merge pull request ESCOMP#1107 from peverwhee/fleximod-test

cam6_4_018: Update git-fleximod to 8.4 and add fleximod_test workflow

ESCOMP commit: 0921f39
Merge pull request ESCOMP#1086 from Katetc/katetc/new_clubb_061424

cam6_4_019: New CLUBB External to fix GPU problem
Small answer changes, but no new CLUBB science. Diagnostics can be found here:
https://webext.cgd.ucar.edu/F2000climo/newCLUBBtesting/larson_tag_20240605.katemerge.062724-0201.F2000dev.f09_f09_mg17_1_2_vs_larson_tag_control.cam6_3_162.062724-1359.F2000dev.f09_f09_mg17_1_2/website/index.html

Ran 6 year ne30 BLT1850 simulations to look at differences in applicable and longer runs. Had some trouble with diagnostics but the results can be found here:
https://webext.cgd.ucar.edu/FHIST/clubb_tests/larson_tag_20240605.katemerge.071924-1633.FLTHIST.ne30pg3_g17_1979_1984_vs_larson_tag_control.cam6_4_007.071924-1639.FLTHIST.ne30pg3_g17_1979_1984/website/

Differences seem to be minimal.

Fixes ESCOMP#1036
closes ESCOMP#1048

ESCOMP commit: eb27509
Merge pull request ESCOMP#1111 from fvitt/aeroconv_dz

cam6_4_020: dz fix in convproc

ESCOMP commit: e23526f
Merge pull request ESCOMP#1026 from jtruesdal/dadadj_ccpp

cam6_4_021: CCPP'ize dadadj
Refactor dadadj parameterization for inclusion in the CCPP framework. On the CAM side this entails moving the core parameterization over to atmos_phys and updating the dadadj_cam interface file to call the new library routine. There are additional mods to cime and ccs_config that are needed for the CAM-SIMA dadadj CCPP validation.

ESCOMP commit: 782f134
Merge pull request ESCOMP#1127 from cacraigucar/zm_cleanup3a

cam6_4_022: Remove 0.5*timestep from call to ZM

ESCOMP commit: fc29092
Merge pull request ESCOMP#958 from jtruesdal/scam_dev_exp

cam6_4_023: SCAM-SE feature addition plus bugfixes and some refactoring.
This update includes some refactoring of SCAM, a few bugfixes, and adding the capability to use spectral elements dycore to do vertical transport in the column. The SE feature addition follows the E3SM implementation where a complete coarse resolution (ne3np4) of the SE dycore is initialized but only a single element is run through vertical transport with all element subcolumns being copies of the single column chosen by scmlat, scmlon.

Like the Eulerian version, SCAM-SE also has a bit for bit test to validate an exact run through the same physics as the full 3d model. Because SCAM updates the solution using a slightly different order of operations, the bfb capability is tested by making a special diagnostic run of CAM where the 3d model derives the phys/dyn tendency each time step and then recalculates the prognostic solution using the derived tendencies and SCAM's prognostic equation. This new solution (which is less precise (roundoff) due to the change in order of operations) is substituted for the full 3d solution at each time step of the model run. The substitution of the roundoff state in the 3d run allows SCAM to reproduce (BFB) each time step using the captured tendencies in the cam iop history file.

The SCAM-SE vertical advection skips the horizontal step and derives the floating level tendency based on the IOP prescribed vertical velocity. The floating levels are subsequently remapped at the end of the vertically Lagrangian dynamics step.

This PR also includes an update to .gitmodules for cice and CDEPS.
- update cice to fix scam regression failure
- update cdeps to fix CDEPS regression test build failures

Closes ESCOMP#957
Closes ESCOMP#853
Closes ESCOMP#742

ESCOMP commit: 6e32d03
Merge pull request ESCOMP#1120 from brian-eaton/ndep-ddep

cam6_4_024: Deposition fixes for aquaplanet and simple model configurations.

ESCOMP commit: 265425a
Merge pull request ESCOMP#1096 from fvitt/aerosol_deposition_fluxes

cam6_4_025: Aerosol deposition fluxes

ESCOMP commit: 2f8ec4d
Merge pull request ESCOMP#1137 from cacraigucar/zm_cleanup3a

cam6_4_026: Neglected to remove the 0.5*timestep call from zm_convr_run - done now

ESCOMP commit: 7decb60
peverwhee and others added 11 commits November 8, 2024 09:23
Merge pull request ESCOMP#1084 from brian-eaton/cosp-cwat2

cam6_4_032: Use same cloud water for radiation and COSP.

ESCOMP commit: 98c35fc
Merge pull request ESCOMP#1029 from gdicker1/add_v8mpasfiles

 cam6_4_033: Add updated ncdata and bnd_topo files for MPASv8

ESCOMP commit: fa94177
Merge pull request ESCOMP#1142 from jimmielin/hplin/fix_total_energy_snapshots

cam6_4_034: Add missing total energy in physics state from dycore in snapshots and cleanup total water

ESCOMP commit: 4c7c062
Merge pull request ESCOMP#1099 from fvitt/gen_aero_wet_rmvl

cam6_4_035: Generalized aerosol wet removal

ESCOMP commit: ef7617d
Update ChangeLog with Derecho and Izumi tests

ESCOMP commit: e2da4bf
Merge pull request ESCOMP#1135 from jimmielin/hplin/tropopause_find

cam6_4_037: Implementation of CCPP-ized tropopause_find with compatibility with current CAM

ESCOMP commit: cf436f7
Merge pull request ESCOMP#1093 from geoschem/feature/geoschem_14.4

cam6_4_038: GEOS-Chem 14.4 and dependencies

ESCOMP commit: 1abe4a8
Merge pull request ESCOMP#1161 from brian-eaton/ext

cam6_4_039: update externals to cesm3_0_alpha03d

ESCOMP commit: f0e489e
Merge pull request ESCOMP#1160 from nusbaume/atmos_phys_dirs

cam6_4_040: Bring in re-organized atmospheric_physics repo

ESCOMP commit: a12dd47
Merge pull request ESCOMP#1164 from fvitt/compset_names

cam6_4_041: CAM-Chem compset names

ESCOMP commit: 54af3ee
Incorporate updates from NCAR between cam6_3_158 and cam6_4_041.
Update protected files with selected changes from NCAR
Convert from manage_externals to git-fleximod
@gold2718 gold2718 added the enhancement New feature or request label Nov 8, 2024
@gold2718 gold2718 added this to the NorESM2.5 milestone Nov 8, 2024
@gold2718 gold2718 self-assigned this Nov 8, 2024
@oyvindseland
Copy link

I think I will have a hard time going through all the namelist updates. I presume that at least a couple of the modified compsets have been tested, ideally from a clean clone?

Some questions:
As far as I can see there are no updates to the NorESM / oslo_aero specific files or shadow files --> Most NorESM compsets will not work within this update? Or are the shadow files complete enough that it can still use old code?
Same question for PUMAS
All the binary object files being added back and forth / deleted etc. Are these really needed as commits?
Minor detail: Although cam3 is, supposed to be? removed I notice it is still included in bld/config_files/definition.xml

@gold2718
Copy link
Author

All the binary object files being added back and forth / deleted etc. Are these really needed as commits?

Good question. These are due to the replacement of manage_externals (136 files including several binary files) with git-fleximod (30 files). Is that what you were referring to?

@gold2718
Copy link
Author

Minor detail: Although cam3 is, supposed to be? removed I notice it is still included in bld/config_files/definition.xml

Good catch! This is an oversight on my part. I will remove it.

@oyvindseland
Copy link

All the binary object files being added back and forth / deleted etc. Are these really needed as commits?

Good question. These are due to the replacement of manage_externals (136 files including several binary files) with git-fleximod >(30 files). Is that what you were referring to?

Yes these are the files. I thought that at least some of those files comes from the files add to your local repo and is changed for every new checkout to your local repo. I never thought it was needed to add files such as .gitignore upstream?

Copy link

@DirkOlivie DirkOlivie left a comment

Choose a reason for hiding this comment

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

Hi Steve, I went fast through all the files in a clone on Betzy (instead of on Github). It was only a very quick scan - but I did not notice anything strange. Best regards, Dirk

Copy link

@oyvindseland oyvindseland left a comment

Choose a reason for hiding this comment

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

I just had a brief look through all the files and was not able to see any problems (except for the CAM3 text)

Address review comment
Fix testlist (including longer test times and more PEs)
@gold2718 gold2718 removed the request for review from mvertens November 11, 2024 21:58
@gold2718 gold2718 merged commit a2c1885 into NorESMhub:noresm_develop Nov 12, 2024
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.