Skip to content

Commit

Permalink
Merge pull request #1029 from gdicker1/add_v8mpasfiles
Browse files Browse the repository at this point in the history
 cam6_4_033: Add updated ncdata and bnd_topo files for MPASv8
  • Loading branch information
gdicker1 authored Sep 13, 2024
2 parents 98c35fc + 3c63318 commit fa94177
Show file tree
Hide file tree
Showing 3 changed files with 161 additions and 11 deletions.
30 changes: 19 additions & 11 deletions bld/namelist_files/namelist_defaults_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,16 @@
<ncdata nlev="32" analytic_ic="1" >atm/cam/inic/cam_vcoords_L32_c180105.nc</ncdata>

<!-- Vertical/Horizontal coordinates only - MPAS initial files for analytic cases-->
<ncdata hgrid="mpasa480" nlev="32" analytic_ic="1" >atm/cam/inic/mpas/mpasa480_L32_notopo_coords_c201125.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="32" analytic_ic="1" >atm/cam/inic/mpas/mpasa120_L32_notopo_coords_c201216.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="32" analytic_ic="1" phys="cam6" >atm/cam/inic/mpas/mpasa120_L32_topo_coords_c201022.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="32" analytic_ic="1" phys="cam7" >atm/cam/inic/mpas/mpasa120_L32_topo_coords_c201022.nc</ncdata>
<ncdata hgrid="mpasa60" nlev="32" analytic_ic="1" >atm/cam/inic/mpas/mpasa60_L32_notopo_coords_c230707.nc</ncdata>
<ncdata hgrid="mpasa30" nlev="32" analytic_ic="1" >atm/cam/inic/mpas/mpasa30_L32_notopo_coords_c230707.nc</ncdata>
<ncdata hgrid="mpasa480" nlev="32" analytic_ic="1" >atm/cam/inic/mpas/mpasa480_L32_notopo_coords_c240507.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="32" analytic_ic="1" >atm/cam/inic/mpas/mpasa120_L32_notopo_coords_c240507.nc</ncdata>
<ncdata hgrid="mpasa60" nlev="32" analytic_ic="1" >atm/cam/inic/mpas/mpasa60_L32_notopo_coords_c240507.nc</ncdata>
<ncdata hgrid="mpasa30" nlev="32" analytic_ic="1" >atm/cam/inic/mpas/mpasa30_L32_notopo_coords_c240507.nc</ncdata>
<ncdata hgrid="mpasa480" nlev="58" analytic_ic="1" >atm/cam/inic/mpas/mpasa480_L58_notopo_coords_c240814.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="58" analytic_ic="1" >atm/cam/inic/mpas/mpasa120_L58_notopo_coords_c240814.nc</ncdata>
<ncdata hgrid="mpasa60" nlev="58" analytic_ic="1" >atm/cam/inic/mpas/mpasa60_L58_notopo_coords_c240814.nc</ncdata>
<ncdata hgrid="mpasa480" nlev="93" analytic_ic="1" >atm/cam/inic/mpas/mpasa480_L93_notopo_coords_c240814.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="93" analytic_ic="1" >atm/cam/inic/mpas/mpasa120_L93_notopo_coords_c240814.nc</ncdata>
<ncdata hgrid="mpasa60" nlev="93" analytic_ic="1" >atm/cam/inic/mpas/mpasa60_L93_notopo_coords_c240814.nc</ncdata>

<!-- Files with initial conditions -->
<ncdata dyn="fv" hgrid="0.23x0.31" nlev="26" ic_ymd="101" >atm/cam/inic/fv/cami_0000-01-01_0.23x0.31_L26_c100513.nc</ncdata>
Expand Down Expand Up @@ -280,10 +284,14 @@

<ncdata dyn="se" hgrid="ne0np4CONUS.ne30x8" nlev="70" ic_ymd="101">atm/waccm/ic/FW2000_CONUS_30x8_L70_01-01-0001_c200602.nc</ncdata>

<ncdata hgrid="mpasa120" nlev="70" waccm_phys="1">atm/waccm/ic/mpasa120km.waccm_fulltopo_c220818.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="70" waccm_phys="1">atm/waccm/ic/mpasa120_L70.waccm_topography_SC_c240904.nc</ncdata>

<ncdata hgrid="mpasa120" nlev="32" >atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa120_L32_CFSR_c210426.nc</ncdata>
<ncdata hgrid="mpasa480" nlev="32" >atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa480_L32_CFSR_c211013.nc</ncdata>
<ncdata hgrid="mpasa480" nlev="32" >atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa480_L32_CFSR_c240508.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="32" >atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa120_L32_CFSR_c240508.nc</ncdata>
<ncdata hgrid="mpasa480" nlev="58" >atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa480_L58_CFSR_c240814.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="58" >atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa120_L58_CFSR_c240814.nc</ncdata>
<ncdata hgrid="mpasa480" nlev="93" >atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa480_L93_CFSR_c240814.nc</ncdata>
<ncdata hgrid="mpasa120" nlev="93" >atm/cam/inic/mpas/cami_01-01-2000_00Z_mpasa120_L93_CFSR_c240814.nc</ncdata>

<!-- Topography -->
<bnd_topo hgrid="256x512" >atm/cam/topo/topo-from-cami_0000-01-01_256x512_L26_c030918.nc</bnd_topo>
Expand Down Expand Up @@ -335,8 +343,8 @@
<bnd_topo hgrid="ne0np4.ARCTIC.ne30x4" >atm/cam/topo/se/ne30x4_ARCTIC_nc3000_Co060_Fi001_MulG_PF_RR_Nsw042_c200428.nc</bnd_topo>
<bnd_topo hgrid="ne0np4.ARCTICGRIS.ne30x8" >atm/cam/topo/se/ne30x8_ARCTICGRIS_nc3000_Co060_Fi001_MulG_PF_RR_Nsw042_c200428.nc</bnd_topo>

<bnd_topo hgrid="mpasa120" >atm/cam/topo/mpas/mpas_120_nc3000_Co060_Fi001_MulG_PF_Nsw042_c200921.nc</bnd_topo>
<bnd_topo hgrid="mpasa480" >atm/cam/topo/mpas_480_nc3000_Co240_Fi001_MulG_PF_Nsw170.nc</bnd_topo>
<bnd_topo hgrid="mpasa480" >atm/cam/topo/mpas/mpasa480_gmted2010_modis_bedmachine_nc3000_Laplace0400_noleak_20240507.nc</bnd_topo>
<bnd_topo hgrid="mpasa120" >atm/cam/topo/mpas/mpasa120_gmted2010_modis_bedmachine_nc3000_Laplace0100_noleak_20240507.nc</bnd_topo>

<!-- Scale Dry Air Mass: 0=> no scaling / +nnn=>scale to nnn Pressure -->
<scale_dry_air_mass > 0.0D0 </scale_dry_air_mass>
Expand Down
128 changes: 128 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,133 @@
===============================================================

Tag name: cam6_4_033
Originator(s): gdicker1 ([email protected])
Date: Tue 10 Sep 2024
One-line Summary: Add updated meshes and topo for v8 MPAS-A dycore
Github PR URL: https://github.com/ESCOMP/CAM/pull/1029

Purpose of changes (include the issue number and title text for each relevant GitHub issue):

Add files created by v8 MPAS init_atmosphere model for frontogenesis fields
#995 - Runs with MPAS-A dycore and CAM7 physics fail - missing variables in inic files: https://github.com/ESCOMP/CAM/issues/995
#1094 - Wrap MPAS-A longitudes to [0,2pi) range: https://github.com/ESCOMP/CAM/issues/1094

Describe any changes made to build system: N/A

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: adamrher, jtruesdal, cacraigucar, mgduda

List all files eliminated:

- mpasa120_L32_topo_coords_c201022.nc

Eliminated, replaced by newer versions:
- mpasa480_L32_notopo_coords_c201125.nc
- mpasa120_L32_notopo_coords_c201216.nc
- mpasa60_L32_notopo_coords_c230707.nc
- mpasa30_L32_notopo_coords_c230707.nc
- mpasa120km.waccm_fulltopo_c220818.nc
- cami_01_01_2000_00Z_mpasa120_L32_CFSR_c210426.nc
- cami_01_01_2000_00Z_mpasa480_L32_CFSR_c211013.nc
- mpas_120_nc3000_Co060_Fi001_MulG_PF_Nsw042_c200921.nc
- mpas_480_nc3000_Co240_Fi001_MulG_PF_Nsw170.nc

List all files added and what they do:

New input 32, 58, and 93L without real-data (analytic-ICs only):
- mpasa480_L32_notopo_coords_c240507.nc
- mpasa120_L32_notopo_coords_c240507.nc
- mpasa60_L32_notopo_coords_c240507.nc
- mpasa30_L32_notopo_coords_c240507.nc
- mpasa480_L58_notopo_coords_c240814.nc
- mpasa120_L58_notopo_coords_c240814.nc
- mpasa60_L58_notopo_coords_c240814.nc
- mpasa480_L93_notopo_coords_c240814.nc
- mpasa120_L93_notopo_coords_c240814.nc
- mpasa60_L93_notopo_coords_c240814.nc

New input L70 file for waccm cases:
- mpasa120_L70.waccm_topography_SC_c240904.nc

New input data with topology and real-data ICs:
- cami_01-01-2000_00Z_mpasa480_L32_CFSR_c240508.nc
- cami_01-01-2000_00Z_mpasa120_L32_CFSR_c240508.nc
- cami_01-01-2000_00Z_mpasa480_L58_CFSR_c240814.nc
- cami_01-01-2000_00Z_mpasa120_L58_CFSR_c240814.nc
- cami_01-01-2000_00Z_mpasa480_L93_CFSR_c240814.nc
- cami_01-01-2000_00Z_mpasa120_L93_CFSR_c240814.nc

New bnd_topo files:
- mpasa480_gmted2010_modis_bedmachine_nc3000_Laplace0400_noleak_20240507.nc
- mpasa120_gmted2010_modis_bedmachine_nc3000_Laplace0100_noleak_20240507.nc

List all existing files that have been modified, and describe the changes:
M bld/namelist_files/namelist_defaults_cam.xml
- Add new ncdata and bnd_topo files above so they can be used
M src/dynamics/mpas/dyn_grid.F90
- Modifies setup_time_invariant to ensure lonCell values are in [0,2pi) range

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)
- pre-existing failure due to HEMCO not having reproducible results issues #1018 and #856

SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: PEND)
- pre-existing failure -- need fix in CLM external

ERS_Ln9_P288x1.mpasa120_mpasa120.F2000climo.derecho_intel.cam-outfrq9s_mpasa120 (Overall: DIFF)
ERS_Ln9_P36x1.mpasa480_mpasa480.F2000climo.derecho_intel.cam-outfrq9s_mpasa480 (Overall: DIFF)
- expected fails of BASELINE and NLCOMP steps, new mpas input data

derecho/nvhpc/aux_cam: ALL PASS

izumi/nag/aux_cam:

FAIL DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae
- pre-existing failure - issue #670

ERC_D_Ln9.mpasa480z32_mpasa480.FHS94.izumi_nag.cam-outfrq3s_usecase (Overall: DIFF)
- expected fails of BASELINE and NLCOMP steps, new mpas input data

izumi/gnu/aux_cam: ALL PASS

CAM tag used for the baseline comparison tests if different than previous
tag:

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):

If bitwise differences were observed, how did you show they were no worse
than roundoff?

If this tag changes climate describe the run(s) done to evaluate the new
climate in enough detail that it(they) could be reproduced, i.e.,
- source tag (all code used must be in the repository):
- platform/compilers:
- configure commandline:
- build-namelist command (or complete namelist):
- MSS location of output:

MSS location of control simulations used to validate new climate:

URL for AMWG diagnostics output used to validate new climate:

===============================================================
===============================================================

Tag name: cam6_4_032
Originator(s): eaton
Date:
Expand Down
14 changes: 14 additions & 0 deletions src/dynamics/mpas/dyn_grid.F90
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,8 @@ subroutine setup_time_invariant(fh_ini)
type(mpas_pool_type), pointer :: meshPool
real(r8), pointer :: rdzw(:)
real(r8), allocatable :: dzw(:)
integer, pointer :: nCells
real(r8), dimension(:), pointer :: lonCell

integer :: k, kk
integer :: ierr
Expand All @@ -473,6 +475,7 @@ subroutine setup_time_invariant(fh_ini)
call mpas_pool_get_dimension(meshPool, 'nEdgesSolve', nEdgesSolve)
call mpas_pool_get_dimension(meshPool, 'nVerticesSolve', nVerticesSolve)
call mpas_pool_get_dimension(meshPool, 'nVertLevels', nVertLevelsSolve) ! MPAS always solves over the full column
call mpas_pool_get_dimension(meshPool, 'nCells', nCells)

! check that number of vertical layers matches MPAS grid data
if (plev /= nVertLevelsSolve) then
Expand All @@ -482,6 +485,17 @@ subroutine setup_time_invariant(fh_ini)
') does not match plev ('//int2str(nVertLevelsSolve)//').')
end if

! Ensure longitudes are within the [0,2*pi) range, and only remap values that
! are outside the range. Some non-simple physics in CAM require this
! longitude range, the MPAS-A dycore does not require any specific range for
! lonCell
call mpas_pool_get_array(meshPool, 'lonCell', lonCell)
do k=1,nCells
if (lonCell(k) < 0._r8 .or. lonCell(k) >= (2._r8 * pi)) then
lonCell(k) = lonCell(k) - (2._r8 * pi) * floor(lonCell(k) / (2._r8 * pi))
end if
end do

! Initialize fields needed for reconstruction of cell-centered winds from edge-normal winds
! Note: This same pair of calls happens a second time later in the initialization of
! the MPAS-A dycore (in atm_mpas_init_block), but the redundant calls do no harm
Expand Down

0 comments on commit fa94177

Please sign in to comment.