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

Implementation of CCPP-ized TJ2016 #92

Merged
merged 34 commits into from
Jun 24, 2024
Merged

Conversation

mwaxmonsky
Copy link
Collaborator

@mwaxmonsky mwaxmonsky commented May 7, 2024

Implements TJ2016 schemes using CCPP-ized metadata files. Required the following changes:

  1. Updated Kessler/ZM/geopotential meta data files to use updated gravity standard name
  2. Added test suite definition files to test the before/after coupler
    functions in isolation
  3. Updated the design of the run functions to pass in state data and output
    tendencies (instead of modifying state directly) and the tendencies are now
    applied afterwards via additional apply_* schemes listed in the suite
    definition file.
  4. Updates several variables from CAM that were 2D to now be 3D to enable
    future updates to take the vertical dimension into account for different
    planetary physics.
  5. Adds index_top_interface in *_sfc_pbl_hs scheme to allow integrating
    with models that invert the vertical dimension data.
  6. Introduces minor answer change to *_sfc_pbl_hs functionality.

As mentioned, there is a single know change to the after coupler run function
(tj2016_sfc_pbl_hs) which has consistently been off on timestep 2 only
by at most 0.13E-22 for a single variable (excerpt from run/atm log):

********** Physics Check Data Results **********

TIMESTEP:            2

 Variable                                          # Diffs  Max Diff   Max Diff loc (rank, col, lev)
 --------                                          -------  --------   -----------------------------
water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water
                                                         3  0.13E-22   (43,7,29)

********** End Physics Check Data Results **********

Copy link
Collaborator

@nusbaume nusbaume 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 the hard work in getting this through @mwaxmonsky! I do have some change requests, but hopefully all of them are fairly minor. Of course if you have any questions or concerns with any of my requests just let me know!

@mwaxmonsky mwaxmonsky requested a review from nusbaume June 14, 2024 22:02
Copy link
Collaborator

@nusbaume nusbaume left a comment

Choose a reason for hiding this comment

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

Looks great now, thanks @mwaxmonsky!

Copy link
Collaborator

@peverwhee peverwhee left a comment

Choose a reason for hiding this comment

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

looks good to me!

@cacraigucar cacraigucar removed their request for review June 18, 2024 21:46
@mwaxmonsky mwaxmonsky merged commit f4c0961 into ESCOMP:main Jun 24, 2024
1 check passed
mwaxmonsky added a commit to ESCOMP/CAM that referenced this pull request Jul 8, 2024
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: #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
gold2718 pushed a commit to gold2718/CAM that referenced this pull request Oct 16, 2024
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
gold2718 pushed a commit to gold2718/CAM that referenced this pull request Oct 16, 2024
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
gold2718 pushed a commit to gold2718/CAM that referenced this pull request Nov 8, 2024
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants