diff --git a/.gitmodules b/.gitmodules
index 811bd080f3..6c437e63cb 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -80,7 +80,7 @@
url = https://github.com/MPAS-Dev/MPAS-Model.git
fxrequired = AlwaysRequired
fxsparse = ../.mpas_sparse_checkout
- fxtag = b8c33daa
+ fxtag = ff76a231
fxDONOTUSEurl = https://github.com/MPAS-Dev/MPAS-Model.git
[submodule "cosp2"]
diff --git a/bld/build-namelist b/bld/build-namelist
index 7a5c8c1132..4766ddbb90 100755
--- a/bld/build-namelist
+++ b/bld/build-namelist
@@ -4243,7 +4243,6 @@ if ($dyn =~ /mpas/) {
add_default($nl, 'mpas_zd');
add_default($nl, 'mpas_xnutr');
add_default($nl, 'mpas_cam_coef');
- add_default($nl, 'mpas_cam_damping_levels');
add_default($nl, 'mpas_print_detailed_minmax_vel');
add_default($nl, 'mpas_rayleigh_damp_u');
add_default($nl, 'mpas_rayleigh_damp_u_timescale_days');
diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml
index ddb1505ad1..884958904a 100644
--- a/bld/namelist_files/namelist_defaults_cam.xml
+++ b/bld/namelist_files/namelist_defaults_cam.xml
@@ -3317,7 +3317,6 @@
0.2D0
0.0D0
0.2D0
- 0
.true.
5.0
5
diff --git a/bld/namelist_files/namelist_definition.xml b/bld/namelist_files/namelist_definition.xml
index e0c4b46778..4ab437a8e2 100644
--- a/bld/namelist_files/namelist_definition.xml
+++ b/bld/namelist_files/namelist_definition.xml
@@ -8615,26 +8615,15 @@ Default: 0.2
-Coefficient for scaling the 2nd-order horizontal diffusion in the mpas_cam absorbing
-layer. The absorbing layer depth is controlled with mpas_cam_damping_levels. The damping
-coefficients scale linearly with mpas_cam_coef. A value of 0.0 (or
-mpas_cam_damping_levels=0) disables the 2nd-order diffusion in the absorbing layer. Sponge
-layer absorption can also be provided by Rayleigh damping.
-
-E.g. a value of 1.0 with mpas_cam_damping_levels=3 will result in damping coefficients of
-2E6 m^2/s, 6E5, 2E5 in the top-most three layers on the dynamics variables u, w, and
-theta.
+Coefficient for scaling the 2nd-order horizontal diffusion in the mpas_cam absorbing layer.
+A value of 1.0 will result in layered diffusion similar to CAM-SE and gives damping
+coefficients of 0.2216E7, 0.6482E6, 0.1927E6 in the top-most three layers on the dynamics
+variables u, w, and theta. The top 3 damping coefficients scale linearly with
+mpas_cam_coef. 0.0 disables SE like 2nd-order diffusion in the absorbing layer and is the
+current default. Sponge layer absorption can also be provided by Rayleigh damping.
Default: 0.0
-
-Number mpas_cam absorbing layers in which to apply 2nd-order horizontal diffusion.
-Viscocity linearly ramps to zero by layer number from the top. mpas_cam_damping_levels and
-mpas_cam_coef must both be greater than 0 for the diffusion to be enabled.
-Default: 0
-
-
Whether to apply Rayleigh damping on horizontal velocity in the top-most model levels.
diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam
index ccffd8c129..8482082dce 100644
--- a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam
+++ b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam
@@ -2,5 +2,3 @@ mfilt=1,1,1,1,1,1
ndens=1,1,1,1,1,1
nhtfrq=9,9,9,9,9,9
inithist='ENDOFRUN'
-mpas_cam_coef=1.0D0
-mpas_cam_damping_levels=3
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 077a11ada7..aeedd35c89 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -5251,126 +5251,6 @@ Summarize any changes to answers: bit-for-bit unchanged
===============================================================
===============================================================
-Tag name: cam6_3_137
-Originator(s): gdicker
-Date: Nov 29, 2023
-One-line Summary: Update MPAS-A within CAM to v8.0
-Github PR URL: https://https://github.com/ESCOMP/CAM/pull/908
-
-Purpose of changes (include the issue number and title text for each relevant GitHub issue):
- - Update MPAS-A within CAM to v8.0.1: https://github.com/ESCOMP/CAM/issues/861
-
-Describe any changes made to build system: N/A
-
-Describe any changes made to the namelist:
- - Added new namelist variable mpas_cam_damping_levels. Determines how many layers from
- model top to apply CAM-SE-like horizontal diffusion in MPAS.
-
-
-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, jtruesdal, PeterHjortLauritzen
-
-List all files eliminated: N/A
-
-List all files added and what they do: N/A
-
-List all existing files that have been modified, and describe the changes:
-M Externals_CAM.cfg
- - Update mpas hash to point a few commits after MPAS-Dev/MPAS-Model 'v8.0.1' tag
-
-M src/dynamics/mpas/Makefile
- - Add MPAS_PIO_SUPPORT to CPPFLAGS to ensure PIO is used instead of the new SMIOL
- - Rename diagnostics with "mpas_" prefix that was added
- - Add mpas_string_utils, mpas_halo, mpas_atm_halos modules
-
-M bld/build-namelist
-M bld/namelist_files/namelist_defaults_cam.xml
-M bld/namelist_files/namelist_definition.xml
- - Add mpas_cam_damping_levels namelist argument and update mpas_cam_coef
- description
-
-M src/dynamics/mpas/driver/cam_mpas_subdriver.F90
- - Update arguments for {postread,prewrite}_reindex subroutines
- - Add calls to create/destroy mpas halo_groups during init and finalize
- - Modify some halo exchange calls to use exchange_halo_group routine pointer
-
-M src/dynamics/mpas/dyn_comp.F90
- - Add config_halo_exch_method to configs pool with default value 'mpas_halo'
- - Add mpas_cam_damping_levels namelist argument
-
-M cime_config/testdefs/testmods_dirs/cam/outfrq9s_mpasa480/user_nl_cam
- - Modify F2000climo test using mpasa480_mpasa480 to test the mpas_cam damping
-
-M test/system/archive_baseline.sh
- - Modify baselinedir path for derecho to point to /glade/campaign location
-
-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.
-
-cheyenne/intel/aux_cam:
- ERP_Ln9_Vnuopc.C96_C96_mg17.F2000climo.cheyenne_intel.cam-outfrq9s_mg3 (Overall: PEND) details:
- PEND ERP_Ln9_Vnuopc.C96_C96_mg17.F2000climo.cheyenne_intel.cam-outfrq9s_mg3 MODEL_BUILD RERUN
- ERP_Ln9_Vnuopc.f09_f09_mg17.FCSD_HCO.cheyenne_intel.cam-outfrq9s (Overall: FAIL) details:
- FAIL ERP_Ln9_Vnuopc.f09_f09_mg17.FCSD_HCO.cheyenne_intel.cam-outfrq9s COMPARE_base_rest
- FAIL ERP_Ln9_Vnuopc.f09_f09_mg17.FCSD_HCO.cheyenne_intel.cam-outfrq9s BASELINE /glade/p/cesm/amwg/cesm_baselines/cam6_3_133: DIFF
- - pre-existing failures
-
- ERS_Ln9_P288x1_Vnuopc.mpasa120_mpasa120.F2000climo.cheyenne_intel.cam-outfrq9s_mpasa120 (Overall: NLFAIL) details:
- FAIL ERS_Ln9_P288x1_Vnuopc.mpasa120_mpasa120.F2000climo.cheyenne_intel.cam-outfrq9s_mpasa120 NLCOMP
- found extra variable: 'mpas_cam_damping_levels'
- - expected failure, added mpas_cam_damping_levels to namelist
-
- ERS_Ln9_P36x1_Vnuopc.mpasa480_mpasa480.F2000climo.cheyenne_intel.cam-outfrq9s_mpasa480 (Overall: DIFF) details:
- FAIL ERS_Ln9_P36x1_Vnuopc.mpasa480_mpasa480.F2000climo.cheyenne_intel.cam-outfrq9s_mpasa480 NLCOMP
- found extra variable: 'mpas_cam_damping_levels'
- FAIL ERS_Ln9_P36x1_Vnuopc.mpasa480_mpasa480.F2000climo.cheyenne_intel.cam-outfrq9s_mpasa480 BASELINE /glade/ p/cesm/amwg/cesm_baselines/cam6_3_136: DIFF
- - expected failure, added mpas_cam_damping_levels to namelist and modified test via outfrq9s_mpasa480/user_nl_cam
-
-derecho/intel/aux_cam:
- ERP_Ln9_Vnuopc.C96_C96_mg17.F2000climo.derecho_intel.cam-outfrq9s_mg3 (Overall: PEND) details:
- PEND ERP_Ln9_Vnuopc.C96_C96_mg17.F2000climo.derecho_intel.cam-outfrq9s_mg3 SHAREDLIB_BUILD RERUN
- ERP_Ln9_Vnuopc.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (Overall: FAIL) details:
- FAIL ERP_Ln9_Vnuopc.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s BASELINE /glade/p/cesm/amwg/derecho_baselines/cam6_3_136: DIFF
- ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_wcm_ne30 (Overall: PEND) details:
- PEND ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_wcm_ne30 RUN
- PEND ERP_Ln9_Vnuopc.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_wcm_ne30 COMPARE_base_rest
- SMS_Lh12_Vnuopc.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq3h (Overall: DIFF) details:
- FAIL SMS_Lh12_Vnuopc.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq3h BASELINE /glade/p/cesm/amwg/derecho_baselines/cam6_3_136: DIFF
- - pre-existing failures
-
- ERS_Ln9_P288x1_Vnuopc.mpasa120_mpasa120.F2000climo.derecho_intel.cam-outfrq9s_mpasa120 (Overall: NLFAIL) details:
- FAIL ERS_Ln9_P288x1_Vnuopc.mpasa120_mpasa120.F2000climo.derecho_intel.cam-outfrq9s_mpasa120 NLCOMP
- found extra variable: 'mpas_cam_damping_levels'
- - expected failure, added mpas_cam_damping_levels to namelist
-
- ERS_Ln9_P36x1_Vnuopc.mpasa480_mpasa480.F2000climo.derecho_intel.cam-outfrq9s_mpasa480 (Overall: DIFF) details:
- FAIL ERS_Ln9_P36x1_Vnuopc.mpasa480_mpasa480.F2000climo.derecho_intel.cam-outfrq9s_mpasa480 NLCOMP
- found extra variable: 'mpas_cam_damping_levels'
- FAIL ERS_Ln9_P36x1_Vnuopc.mpasa480_mpasa480.F2000climo.derecho_intel.cam-outfrq9s_mpasa480 BASELINE /glade/p/cesm/amwg/derecho_baselines/cam6_3_136: DIFF
- - expected failure, added mpas_cam_damping_levels to namelist and modified to use mpas_cam damping
-
-izumi/nag/aux_cam:
- DAE_Vnuopc.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: FAIL) details:
- FAIL DAE_Vnuopc.f45_f45_mg37.FHS94.izumi_nag.cam-dae RUN time=10
- - pre-existing failure
-
- ERC_D_Ln9_Vnuopc.mpasa480z32_mpasa480.FHS94.izumi_nag.cam-outfrq3s_usecase (Overall: NLFAIL) details:
- FAIL ERC_D_Ln9_Vnuopc.mpasa480z32_mpasa480.FHS94.izumi_nag.cam-outfrq3s_usecase NLCOMP
- found extra variable: 'mpas_cam_damping_levels'
- - expected failure, added mpas_cam_damping_levels to namelist
-
-izumi/gnu/aux_cam: All PASS
-
-Summarize any changes to answers: bit-for-bit unchanged
-
-===============================================================
-===============================================================
-
Tag name: cam6_3_136
Originator(s): cacraig, fischer
Date: Nov 18, 2023
diff --git a/src/dynamics/mpas/Makefile b/src/dynamics/mpas/Makefile
index 216be0ff1a..89c4d71931 100644
--- a/src/dynamics/mpas/Makefile
+++ b/src/dynamics/mpas/Makefile
@@ -1,4 +1,4 @@
-CPPFLAGS := -D_MPI -DMPAS_NATIVE_TIMERS -DMPAS_GIT_VERSION=unknown -DMPAS_NAMELIST_SUFFIX=atmosphere -DMPAS_CAM_DYCORE -DMPAS_PIO_SUPPORT -DMPAS_NO_ESMF_INIT
+CPPFLAGS := -D_MPI -DMPAS_NATIVE_TIMERS -DMPAS_GIT_VERSION=unknown -DMPAS_NAMELIST_SUFFIX=atmosphere -DMPAS_CAM_DYCORE -DMPAS_NO_ESMF_INIT
ifdef PIODEF
CPPFLAGS += $(PIODEF)
endif
@@ -18,7 +18,6 @@ INTERFACE_OBJS = \
mpas_atm_core_interface.o \
mpas_atm_dimensions.o \
mpas_atm_threading.o \
- mpas_atm_halos.o \
cam_mpas_subdriver.o
DYN_OBJS = \
@@ -32,11 +31,10 @@ DIAG_OBJS = \
DIAGNOSTICS = \
mpas_atm_diagnostic_template.o \
- mpas_isobaric_diagnostics.o \
- mpas_cloud_diagnostics.o \
- mpas_convective_diagnostics.o \
- mpas_pv_diagnostics.o \
- mpas_soundings.o
+ isobaric_diagnostics.o \
+ convective_diagnostics.o \
+ pv_diagnostics.o \
+ soundings.o
REG_OBJS = \
parse.o \
@@ -92,10 +90,7 @@ FRAME_OBJS = \
mpas_pool_routines.o \
xml_stream_parser.o \
regex_matching.o \
- mpas_log.o \
- mpas_halo.o \
- mpas_string_utils.o
-
+ mpas_log.o
UTIL_OBJS = \
ezxml.o
@@ -134,8 +129,7 @@ mpas_framework.o: mpas_dmpar.o \
mpas_io_units.o \
mpas_block_decomp.o \
mpas_stream_manager.o \
- mpas_c_interfacing.o \
- mpas_halo.o
+ mpas_c_interfacing.o
mpas_abort.o: mpas_kind_types.o mpas_io_units.o mpas_threading.o
@@ -161,7 +155,7 @@ mpas_dmpar.o: mpas_sort.o mpas_kind_types.o mpas_derived_types.o mpas_hash.o mpa
mpas_sort.o: mpas_kind_types.o mpas_log.o
-mpas_timekeeping.o: mpas_string_utils.o mpas_kind_types.o mpas_derived_types.o mpas_dmpar.o mpas_threading.o mpas_log.o
+mpas_timekeeping.o: mpas_kind_types.o mpas_derived_types.o mpas_dmpar.o mpas_threading.o mpas_log.o
mpas_timer.o: mpas_kind_types.o mpas_dmpar.o mpas_threading.o mpas_log.o
@@ -185,7 +179,6 @@ mpas_stream_manager.o: mpas_io_streams.o mpas_timekeeping.o mpas_derived_types.o
mpas_forcing.o: mpas_derived_types.o mpas_timekeeping.o mpas_stream_manager.o mpas_log.o mpas_io_units.o
-mpas_halo.o: mpas_derived_types.o mpas_pool_routines.o mpas_log.o
#
# Operator dependencies
@@ -241,10 +234,9 @@ mpas_atm_time_integration.o: mpas_atm_iau.o mpas_atm_dimensions.o mpas_atm_bound
#
mpas_atm_diagnostics_manager.o: mpas_atm_diagnostics_utils.o $(DIAGNOSTICS)
-mpas_cloud_diagnostics.o: mpas_atm_diagnostics_utils.o
-mpas_convective_diagnostics.o: mpas_atm_diagnostics_utils.o
-mpas_isobaric_diagnostics.o: mpas_atm_diagnostics_utils.o
-mpas_pv_diagnostics.o: mpas_atm_diagnostics_utils.o
+convective_diagnostics.o: mpas_atm_diagnostics_utils.o
+isobaric_diagnostics.o: mpas_atm_diagnostics_utils.o
+pv_diagnostics.o: mpas_atm_diagnostics_utils.o
#
@@ -252,7 +244,7 @@ mpas_pv_diagnostics.o: mpas_atm_diagnostics_utils.o
#
mpas_atm_core_interface.o: mpas_atm_core.o incs
-mpas_atm_core.o: mpas_atm_threading.o mpas_atm_time_integration.o mpas_atm_diagnostics_manager.o mpas_atm_halos.o
+mpas_atm_core.o: mpas_atm_threading.o mpas_atm_time_integration.o mpas_atm_diagnostics_manager.o
cam_mpas_subdriver.o: mpas_atm_core_interface.o mpas_derived_types.o mpas_framework.o mpas_domain_routines.o mpas_pool_routines.o
diff --git a/src/dynamics/mpas/driver/cam_mpas_subdriver.F90 b/src/dynamics/mpas/driver/cam_mpas_subdriver.F90
index 676bacd4af..cc6ac75114 100644
--- a/src/dynamics/mpas/driver/cam_mpas_subdriver.F90
+++ b/src/dynamics/mpas/driver/cam_mpas_subdriver.F90
@@ -278,7 +278,7 @@ subroutine cam_mpas_init_phase4(endrun)
use mpas_pool_routines, only : mpas_pool_get_subpool, mpas_pool_get_dimension, mpas_pool_get_config, &
mpas_pool_get_field, mpas_pool_get_array, mpas_pool_initialize_time_levels
use atm_core, only : atm_mpas_init_block, core_clock => clock
- use mpas_atm_halos, only : atm_build_halo_groups, exchange_halo_group
+ use mpas_dmpar, only : mpas_dmpar_exch_halo_field
use atm_time_integration, only : mpas_atm_dynamics_init
procedure(halt_model) :: endrun
@@ -327,14 +327,6 @@ subroutine cam_mpas_init_phase4(endrun)
clock => domain_ptr % clock
core_clock => domain_ptr % clock
- !
- ! Build halo exchange groups and set method for exchanging halos in a group
- !
- call atm_build_halo_groups(domain_ptr, ierr)
- if (ierr /= 0) then
- call endrun(subname//':failed to build MPAS-A halo exchange groups.')
- end if
-
call mpas_pool_get_config(domain_ptr % blocklist % configs, 'config_do_restart', config_do_restart)
call mpas_pool_get_config(domain_ptr % blocklist % configs, 'config_dt', dt)
@@ -356,7 +348,9 @@ subroutine cam_mpas_init_phase4(endrun)
call mpas_get_time(startTime, dateTimeString=startTimeStamp)
- call exchange_halo_group(domain_ptr, 'initialization:u')
+ call mpas_pool_get_subpool(domain_ptr % blocklist % structs, 'state', state)
+ call mpas_pool_get_field(state, 'u', u_field, 1)
+ call mpas_dmpar_exch_halo_field(u_field)
call mpas_pool_get_subpool(domain_ptr % blocklist % structs, 'mesh', mesh)
call mpas_pool_get_subpool(domain_ptr % blocklist % structs, 'state', state)
@@ -373,7 +367,15 @@ subroutine cam_mpas_init_phase4(endrun)
call mpas_pool_get_array(state, 'initial_time', initial_time2, 2)
initial_time2 = initial_time1
- call exchange_halo_group(domain_ptr, 'initialization:pv_edge,ru,rw')
+ call mpas_pool_get_subpool(domain_ptr % blocklist % structs, 'diag', diag)
+ call mpas_pool_get_field(diag, 'pv_edge', pv_edge_field)
+ call mpas_dmpar_exch_halo_field(pv_edge_field)
+
+ call mpas_pool_get_field(diag, 'ru', ru_field)
+ call mpas_dmpar_exch_halo_field(ru_field)
+
+ call mpas_pool_get_field(diag, 'rw', rw_field)
+ call mpas_dmpar_exch_halo_field(rw_field)
!
! Prepare the dynamics for integration
@@ -907,7 +909,6 @@ subroutine cam_mpas_read_static(fh_ini, endrun)
integer :: ierr_total
type (MPAS_pool_type), pointer :: meshPool
type (MPAS_pool_type), pointer :: reindexPool
- type (MPAS_pool_type), pointer :: allPackages, reindexPkgs
type (field1DReal), pointer :: latCell, lonCell, xCell, yCell, zCell
type (field1DReal), pointer :: latEdge, lonEdge, xEdge, yEdge, zEdge
type (field1DReal), pointer :: latVertex, lonVertex, xVertex, yVertex, zVertex
@@ -1254,15 +1255,9 @@ subroutine cam_mpas_read_static(fh_ini, endrun)
call MPAS_pool_add_config(reindexPool, 'edgesOnVertex', 1)
call MPAS_pool_add_config(reindexPool, 'cellsOnVertex', 1)
- ! Use an empty package list for reindexPool
- call MPAS_pool_create_pool(reindexPkgs)
-
- call postread_reindex(meshPool, domain_ptr % streamManager % allPackages, &
- reindexPool, reindexPkgs)
-
+ call postread_reindex(meshPool, reindexPool)
call MPAS_pool_destroy_pool(reindexPool)
- call MPAS_pool_destroy_pool(reindexPkgs)
end subroutine cam_mpas_read_static
@@ -1760,7 +1755,6 @@ subroutine cam_mpas_read_restart(restart_stream, endrun)
integer :: ierr
type (MPAS_pool_type), pointer :: reindexPool
- type (MPAS_pool_type), pointer :: reindexPkgs
call MPAS_readStream(restart_stream, 1, ierr=ierr)
if (ierr /= MPAS_STREAM_NOERR) then
@@ -1888,15 +1882,9 @@ subroutine cam_mpas_read_restart(restart_stream, endrun)
call MPAS_pool_add_config(reindexPool, 'edgesOnVertex', 1)
call MPAS_pool_add_config(reindexPool, 'cellsOnVertex', 1)
- ! Use an empty package list for reindexPool
- call MPAS_pool_create_pool(reindexPkgs)
-
- call postread_reindex(domain_ptr % blocklist % allFields, &
- domain_ptr % streamManager % allPackages, &
- reindexPool, reindexPkgs)
+ call postread_reindex(domain_ptr % blocklist % allFields, reindexPool)
call MPAS_pool_destroy_pool(reindexPool)
- call MPAS_pool_destroy_pool(reindexPkgs)
end subroutine cam_mpas_read_restart
@@ -1930,7 +1918,6 @@ subroutine cam_mpas_write_restart(restart_stream, endrun)
integer :: ierr
type (MPAS_pool_type), pointer :: reindexPool
- type (MPAS_pool_type), pointer :: reindexPkgs
!
! Re-index from local index space to global index space
@@ -1946,11 +1933,7 @@ subroutine cam_mpas_write_restart(restart_stream, endrun)
call MPAS_pool_add_config(reindexPool, 'edgesOnVertex', 1)
call MPAS_pool_add_config(reindexPool, 'cellsOnVertex', 1)
- call MPAS_pool_create_pool(reindexPkgs)
-
- call prewrite_reindex(domain_ptr % blocklist % allFields, &
- domain_ptr % streamManager % allPackages, &
- reindexPool, reindexPkgs)
+ call prewrite_reindex(domain_ptr % blocklist % allFields, reindexPool)
call MPAS_writeStream(restart_stream, 1, ierr=ierr)
if (ierr /= MPAS_STREAM_NOERR) then
@@ -1960,7 +1943,6 @@ subroutine cam_mpas_write_restart(restart_stream, endrun)
call postwrite_reindex(domain_ptr % blocklist % allFields, reindexPool)
call MPAS_pool_destroy_pool(reindexPool)
- call MPAS_pool_destroy_pool(reindexPkgs)
call MPAS_closeStream(restart_stream, ierr=ierr)
if (ierr /= MPAS_STREAM_NOERR) then
@@ -2322,7 +2304,6 @@ subroutine cam_mpas_finalize()
use mpas_timer, only : mpas_timer_stop
use mpas_framework, only : mpas_framework_finalize
use atm_time_integration, only : mpas_atm_dynamics_finalize
- use mpas_atm_halos, only : atm_destroy_halo_groups
! Local variables
integer :: ierr
@@ -2336,12 +2317,6 @@ subroutine cam_mpas_finalize()
call mpas_destroy_clock(clock, ierr)
call mpas_decomp_destroy_decomp_list(domain_ptr % decompositions)
-
- call atm_destroy_halo_groups(domain_ptr, ierr)
- if (ierr /= 0) then
- call endrun(subname//':failed to destroy MPAS-A halo exchange groups.')
- end if
-
call mpas_atm_threading_finalize(domain_ptr % blocklist)
call mpas_timer_stop('total time')
diff --git a/src/dynamics/mpas/dyn_comp.F90 b/src/dynamics/mpas/dyn_comp.F90
index a1b02c1f86..77372763d2 100644
--- a/src/dynamics/mpas/dyn_comp.F90
+++ b/src/dynamics/mpas/dyn_comp.F90
@@ -295,7 +295,6 @@ subroutine dyn_readnl(NLFileName)
call mpas_pool_add_config(domain_ptr % configs, 'config_restart_timestamp_name', 'restart_timestamp')
call mpas_pool_add_config(domain_ptr % configs, 'config_IAU_option', 'off')
call mpas_pool_add_config(domain_ptr % configs, 'config_do_DAcycling', .false.)
- call mpas_pool_add_config(domain_ptr % configs, 'config_halo_exch_method', 'mpas_halo')
call cam_mpas_init_phase2(pio_subsystem, endrun, timemgr_get_calendar_cf())
@@ -1357,7 +1356,6 @@ subroutine cam_mpas_namelist_read(namelistFilename, configPool)
real(r8) :: mpas_zd = 22000.0_r8
real(r8) :: mpas_xnutr = 0.2_r8
real(r8) :: mpas_cam_coef = 0.0_r8
- integer :: mpas_cam_damping_levels = 0
logical :: mpas_rayleigh_damp_u = .true.
real(r8) :: mpas_rayleigh_damp_u_timescale_days = 5.0_r8
integer :: mpas_number_rayleigh_damp_u_levels = 3
@@ -1408,7 +1406,6 @@ subroutine cam_mpas_namelist_read(namelistFilename, configPool)
mpas_zd, &
mpas_xnutr, &
mpas_cam_coef, &
- mpas_cam_damping_levels, &
mpas_rayleigh_damp_u, &
mpas_rayleigh_damp_u_timescale_days, &
mpas_number_rayleigh_damp_u_levels
@@ -1544,7 +1541,6 @@ subroutine cam_mpas_namelist_read(namelistFilename, configPool)
call mpi_bcast(mpas_zd, 1, mpi_real8, masterprocid, mpicom, mpi_ierr)
call mpi_bcast(mpas_xnutr, 1, mpi_real8, masterprocid, mpicom, mpi_ierr)
call mpi_bcast(mpas_cam_coef, 1, mpi_real8, masterprocid, mpicom, mpi_ierr)
- call mpi_bcast(mpas_cam_damping_levels, 1, mpi_integer, masterprocid, mpicom, mpi_ierr)
call mpi_bcast(mpas_rayleigh_damp_u, 1, mpi_logical, masterprocid, mpicom, mpi_ierr)
call mpi_bcast(mpas_rayleigh_damp_u_timescale_days, 1, mpi_real8, masterprocid, mpicom, mpi_ierr)
call mpi_bcast(mpas_number_rayleigh_damp_u_levels, 1, mpi_integer, masterprocid, mpicom, mpi_ierr)
@@ -1552,7 +1548,6 @@ subroutine cam_mpas_namelist_read(namelistFilename, configPool)
call mpas_pool_add_config(configPool, 'config_zd', mpas_zd)
call mpas_pool_add_config(configPool, 'config_xnutr', mpas_xnutr)
call mpas_pool_add_config(configPool, 'config_mpas_cam_coef', mpas_cam_coef)
- call mpas_pool_add_config(configPool, 'config_number_cam_damping_levels', mpas_cam_damping_levels)
call mpas_pool_add_config(configPool, 'config_rayleigh_damp_u', mpas_rayleigh_damp_u)
call mpas_pool_add_config(configPool, 'config_rayleigh_damp_u_timescale_days', mpas_rayleigh_damp_u_timescale_days)
call mpas_pool_add_config(configPool, 'config_number_rayleigh_damp_u_levels', mpas_number_rayleigh_damp_u_levels)
@@ -1703,7 +1698,6 @@ subroutine cam_mpas_namelist_read(namelistFilename, configPool)
write(iulog,*) ' mpas_zd = ', mpas_zd
write(iulog,*) ' mpas_xnutr = ', mpas_xnutr
write(iulog,*) ' mpas_cam_coef = ', mpas_cam_coef
- write(iulog,*) ' mpas_cam_damping_levels = ', mpas_cam_damping_levels
write(iulog,*) ' mpas_rayleigh_damp_u = ', mpas_rayleigh_damp_u
write(iulog,*) ' mpas_rayleigh_damp_u_timescale_days = ', mpas_rayleigh_damp_u_timescale_days
write(iulog,*) ' mpas_number_rayleigh_damp_u_levels = ', mpas_number_rayleigh_damp_u_levels