@@ -33,6 +33,180 @@ possibly with simpler physics, however, this seems to only be a problem at high
3333
3434===============================================================
3535
36+ Tag name: cam6_4_091
37+ Originator(s): kuanchihwang
38+ Date: May 8, 2025
39+ One-line Summary: Implement support for moving mountain gravity wave scheme in MPAS dycore
40+ Github PR URL: https://github.com/ESCOMP/CAM/pull/1297
41+
42+ Purpose of changes (include the issue number and title text for each relevant GitHub issue):
43+
44+ This PR implements support for moving mountain gravity wave scheme in MPAS dycore.
45+
46+ The `use_gw_movmtn_pbl` namelist option will now default to `.true.` when MPAS dycore and CAM7
47+ physics are both selected.
48+
49+ The moving mountain gravity wave scheme needs relative vorticities at cell points as input.
50+ However, because MPAS uses staggered C-grid for spatial discretization, where wind vectors are
51+ located at edge points, it calculates relative vorticities at vertex points instead. As a result,
52+ this PR introduces a new functionality in MPAS subdriver to regrid vertex values to cell values.
53+ The regridding functionality is also generalized so that it will work with all variables at vertex
54+ points.
55+
56+ Subsequently, relative vorticities are passed to physics buffer during dynamics-physics coupling,
57+ after which the moving mountain gravity wave scheme can query and use them as input.
58+
59+ Closes #1253 (Support for new moving mountains gravity wave trigger with MPAS dycore)
60+ Closes #1277 (MPAS dycore support for moving mountains parameterization)
61+
62+ Describe any changes made to build system:
63+
64+ None
65+
66+ Describe any changes made to the namelist:
67+
68+ The `use_gw_movmtn_pbl` namelist option will now default to `.true.` when MPAS dycore and CAM7
69+ physics are both selected.
70+
71+ List any changes to the defaults for the boundary datasets:
72+
73+ None
74+
75+ Describe any substantial timing or memory changes:
76+
77+ None
78+
79+ Code reviewed by:
80+
81+ PeterHjortLauritzen, mgduda, nusbaume
82+
83+ List all files eliminated:
84+
85+ None
86+
87+ List all files added and what they do:
88+
89+ None
90+
91+ List all existing files that have been modified, and describe the changes:
92+
93+ M bld/build-namelist
94+ * Allow the moving mountain gravity wave scheme to be selected with MPAS dycore
95+ M cime_config/testdefs/testlist_cam.xml
96+ * Add testing for CAM7 low top with MPAS dynamical core
97+ M src/dynamics/mpas/dp_coupling.F90
98+ * Pass relative vorticities to physics buffer during dynamics-physics coupling
99+ M src/dynamics/mpas/driver/cam_mpas_subdriver.F90
100+ * Implement the computation of relative vorticities at cell points
101+ M src/dynamics/mpas/dyn_comp.F90
102+ * Pass relative vorticities to physics buffer during dynamics-physics coupling
103+
104+ If there were any failures reported from running test_driver.sh on any test
105+ platform, and checkin with these failures has been OK'd by the gatekeeper,
106+ then copy the lines from the td.*.status files for the failed tests to the
107+ appropriate machine below. All failed tests must be justified.
108+
109+ NOTE:
110+
111+ Since cam6_4_089, `model_version`, which is a variable that stores the current model version,
112+ has been introduced to `nuopc.runconfig`. However, the testing framework will detect it as a
113+ significant difference and fail at "NLCOMP" incorrectly.
114+
115+ All tests currently exhibit "NLFAIL" in their overall results due to those "NLCOMP" failures.
116+
117+ They are harmless and can be ignored.
118+
119+ derecho/intel/aux_cam:
120+
121+ ERS_D_Ln9.mpasa480_mpasa480.FHISTC_LTso.derecho_intel.cam-outfrq9s_mpasa480 (Overall: DIFF) details:
122+ FAIL ERS_D_Ln9.mpasa480_mpasa480.FHISTC_LTso.derecho_intel.cam-outfrq9s_mpasa480 BASELINE (Baseline directory does not exist)
123+ * New test
124+ SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: FAIL) details:
125+ FAIL SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s SETUP
126+ * Pre-existing failures due to build-namelist error requiring CLM/CTSM external update
127+
128+ NOTE:
129+
130+ SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s (Overall: NLFAIL) details:
131+ PASS SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s RUN
132+ * This test is unstable. Sometimes (like 2 out of 3) it fails at "RUN", but with enough retries it eventually passes.
133+ When it does fail, a stack trace similar to the following can be reliably observed:
134+
135+ forrtl: error (65): floating invalid
136+ Image PC Routine Line Source
137+ libpthread-2.31.s 000015356741A8C0 Unknown Unknown Unknown
138+ libesmf.so 000015356DD8E72A _ZN5ESMCI3XXE10ps Unknown Unknown
139+ libesmf.so 000015356DD82D90 _ZN5ESMCI3XXE10ps Unknown Unknown
140+ libesmf.so 000015356DD777B0 _ZN5ESMCI3XXE10ps Unknown Unknown
141+ libesmf.so 000015356DD6DBB4 _ZN5ESMCI3XXE4exe Unknown Unknown
142+ libesmf.so 000015356DD6D36D _ZN5ESMCI3XXE4exe Unknown Unknown
143+ libesmf.so 000015356DCC66CD _ZN5ESMCI26sparse Unknown Unknown
144+ libesmf.so 000015356DCBACAF _ZN5ESMCI5Array18 Unknown Unknown
145+ libesmf.so 000015356DCB970E _ZN5ESMCI5Array17 Unknown Unknown
146+ libesmf.so 000015356DD1E340 c_esmc_arraysmmst Unknown Unknown
147+ libesmf.so 000015356E0A419F _Z19ESMCI_regrid_ Unknown Unknown
148+ libesmf.so 000015356E030568 _ZN5ESMCI7MeshCap Unknown Unknown
149+ libesmf.so 000015356E0E0E42 c_esmc_regrid_cre Unknown Unknown
150+ libesmf.so 000015356E7787B1 esmf_regridmod_mp Unknown Unknown
151+ libesmf.so 000015356E4E198C esmf_fieldregridm Unknown Unknown
152+ cesm.exe 00000000080D8794 lnd_set_decomp_an 497 lnd_set_decomp_and_domain.F90
153+ cesm.exe 00000000080D0F4E lnd_set_decomp_an 128 lnd_set_decomp_and_domain.F90
154+ cesm.exe 00000000080A2F3F lnd_comp_nuopc_mp 644 lnd_comp_nuopc.F90
155+ libesmf.so 000015356DE68020 _ZN5ESMCI6FTable1 Unknown Unknown
156+ libesmf.so 000015356DE67A6C ESMCI_FTableCallE Unknown Unknown
157+ libesmf.so 000015356E153DE4 _ZN5ESMCI2VM5ente Unknown Unknown
158+ libesmf.so 000015356DE68704 c_esmc_ftablecall Unknown Unknown
159+ libesmf.so 000015356E359B9D esmf_compmod_mp_e Unknown Unknown
160+ libesmf.so 000015356E5DD298 esmf_gridcompmod_ Unknown Unknown
161+ libesmf.so 000015356E999B87 nuopc_driver_mp_l Unknown Unknown
162+ libesmf.so 000015356E98F82B nuopc_driver_mp_i Unknown Unknown
163+ libesmf.so 000015356DE68020 _ZN5ESMCI6FTable1 Unknown Unknown
164+ libesmf.so 000015356DE67A6C ESMCI_FTableCallE Unknown Unknown
165+ libesmf.so 000015356E153DE4 _ZN5ESMCI2VM5ente Unknown Unknown
166+ libesmf.so 000015356DE68704 c_esmc_ftablecall Unknown Unknown
167+ libesmf.so 000015356E359B9D esmf_compmod_mp_e Unknown Unknown
168+ libesmf.so 000015356E5DD298 esmf_gridcompmod_ Unknown Unknown
169+ libesmf.so 000015356E999B87 nuopc_driver_mp_l Unknown Unknown
170+ libesmf.so 000015356E98F92C nuopc_driver_mp_i Unknown Unknown
171+ libesmf.so 000015356E97F883 nuopc_driver_mp_i Unknown Unknown
172+ libesmf.so 000015356DE68020 _ZN5ESMCI6FTable1 Unknown Unknown
173+ libesmf.so 000015356DE67A6C ESMCI_FTableCallE Unknown Unknown
174+ libesmf.so 000015356E153DE4 _ZN5ESMCI2VM5ente Unknown Unknown
175+ libesmf.so 000015356DE68704 c_esmc_ftablecall Unknown Unknown
176+ libesmf.so 000015356E359B9D esmf_compmod_mp_e Unknown Unknown
177+ libesmf.so 000015356E5DD298 esmf_gridcompmod_ Unknown Unknown
178+ cesm.exe 00000000004502F8 MAIN__ 128 esmApp.F90
179+ cesm.exe 000000000042711D Unknown Unknown Unknown
180+ libc-2.31.so 0000153562F2429D __libc_start_main Unknown Unknown
181+ cesm.exe 000000000042704A Unknown Unknown Unknown
182+
183+ Line 497 of lnd_set_decomp_and_domain.F90 is a call to ESMF_FieldRegridStore, which is outside of our (CAM) control.
184+
185+ derecho/nvhpc/aux_cam:
186+
187+ All pass
188+
189+ izumi/nag/aux_cam:
190+
191+ All pass
192+
193+ izumi/gnu/aux_cam:
194+
195+ ERS_D_Ln9.mpasa480_mpasa480.FHISTC_LTso.izumi_gnu.cam-outfrq9s_mpasa480 (Overall: DIFF) details:
196+ FAIL ERS_D_Ln9.mpasa480_mpasa480.FHISTC_LTso.izumi_gnu.cam-outfrq9s_mpasa480 BASELINE (Baseline directory does not exist)
197+ * New test
198+
199+ CAM tag used for the baseline comparison tests if different than previous
200+ tag:
201+
202+ cam6_4_090
203+
204+ Summarize any changes to answers:
205+
206+ None
207+
208+ ===============================================================
209+
36210Tag name: cam6_4_090
37211Originator(s): lizziel
38212Date: April 30, 2025
0 commit comments