diff --git a/cime_config/allactive/config_compsets.xml b/cime_config/allactive/config_compsets.xml
index adc58dc20edf..d376750750eb 100755
--- a/cime_config/allactive/config_compsets.xml
+++ b/cime_config/allactive/config_compsets.xml
@@ -412,8 +412,8 @@
- MPAS_LISIO_TEST
- 2000_DATM%NYF_SLND_MPASSI_MPASO_DROF%NYF_MALI%SIA_SWAV
+ MPAS_LISIO_JRA1p5
+ 2000_DATM%JRA-1p5_SLND_MPASSI_MPASO%DATMFORCED_DROF%JRA-1p5_MALI%SIA_SWAV
diff --git a/cime_config/config_grids.xml b/cime_config/config_grids.xml
index ccfb3d908d86..7c8eb0ff75bd 100755
--- a/cime_config/config_grids.xml
+++ b/cime_config/config_grids.xml
@@ -406,6 +406,16 @@
IcoswISC30E3r5
+
+ TL319
+ TL319
+ oQU240wLI
+ JRA025
+ null
+ null
+ oQU240wLI
+
+
TL319
TL319
@@ -1925,6 +1935,16 @@
gx1v6
+
+ TL319
+ TL319
+ oQU240wLI
+ JRA025
+ mpas.ais20km
+ null
+ oQU240wLI
+
+
@@ -2601,6 +2621,8 @@
640
320
+ $DIN_LOC_ROOT/share/domains/domain.lnd.TL319_oQU240wLI.240509.nc
+ $DIN_LOC_ROOT/share/domains/domain.ocn.TL319_oQU240wLI.240509.nc
$DIN_LOC_ROOT/share/domains/domain.lnd.TL319_oEC60to30v3.181203.nc
$DIN_LOC_ROOT/share/domains/domain.ocn.TL319_oEC60to30v3.181203.nc
$DIN_LOC_ROOT/share/domains/domain.lnd.TL319_oEC60to30v3wLI.200108.nc
@@ -4346,6 +4368,14 @@
+
+
+
+
+
+
+
+
@@ -4972,6 +5002,11 @@
+
+
+
+
+
@@ -5418,6 +5453,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cime_config/tests.py b/cime_config/tests.py
index 7c3e914cb0c8..135273d2f34b 100644
--- a/cime_config/tests.py
+++ b/cime_config/tests.py
@@ -287,7 +287,7 @@
"ERS_Ld5.T62_oQU120.CMPASO-NYF",
"SMS_Ld1.T62_oQU240wLI.GMPAS-IAF-DISMF",
"ERS.f09_g16_g.MALISIA",
- "SMS.T62_oQU120_ais20.MPAS_LISIO_TEST",
+ "ERS_Ld5.TL319_oQU240wLI_ais20.MPAS_LISIO_JRA1p5.mpaso-ocn_glcshelf",
"SMS_P12x2.ne4pg2_oQU480.WCYCL1850NS.allactive-mach_mods",
"ERS_Ln9.ne4pg2_ne4pg2.F2010-MMF1.eam-mmf_crmout",
)
diff --git a/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/README b/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/README
new file mode 100644
index 000000000000..d289cdb3c26f
--- /dev/null
+++ b/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/README
@@ -0,0 +1,8 @@
+This testdef is used to test a stealth feature in mpaso introduced by
+PR #2726. It changes one mpaso namelist variable,
+ config_land_ice_flux_mode
+from its default value to 'coupled'.
+This tests the ocn/glcshelf coupling.
+
+It also specified that DATM forcing should be restricted to 1958.
+This allows JRA1p5 forcing to be used without a large input data requirement.
diff --git a/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/shell_commands b/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/shell_commands
new file mode 100644
index 000000000000..1d43ad8c5baf
--- /dev/null
+++ b/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/shell_commands
@@ -0,0 +1,4 @@
+./xmlchange DATM_CLMNCEP_YR_START=1958
+./xmlchange DATM_CLMNCEP_YR_END=1958
+./xmlchange DROF_STRM_YR_START=1958
+./xmlchange DROF_STRM_YR_END=1958
diff --git a/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/user_nl_mpaso b/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/user_nl_mpaso
new file mode 100644
index 000000000000..a79590247fff
--- /dev/null
+++ b/components/mpas-ocean/cime_config/testdefs/testmods_dirs/mpaso/ocn_glcshelf/user_nl_mpaso
@@ -0,0 +1 @@
+ config_land_ice_flux_mode = 'coupled'
diff --git a/components/mpas-ocean/src/shared/mpas_ocn_effective_density_in_land_ice.F b/components/mpas-ocean/src/shared/mpas_ocn_effective_density_in_land_ice.F
index f06850d350d1..a8b5ca9f053c 100644
--- a/components/mpas-ocean/src/shared/mpas_ocn_effective_density_in_land_ice.F
+++ b/components/mpas-ocean/src/shared/mpas_ocn_effective_density_in_land_ice.F
@@ -111,7 +111,7 @@ subroutine ocn_effective_density_in_land_ice_update(forcingPool, &
landIcePressure, &! land ice pressure
effectiveDensityCur, &! effective density at current time
effectiveDensityNew ! effective density at new time level
-
+
integer, dimension(:), pointer :: &
landIceFloatingMask ! mask for land ice presence on cell
@@ -179,15 +179,17 @@ subroutine ocn_effective_density_in_land_ice_update(forcingPool, &
#else
!$omp do schedule(runtime) private(weightSum, i, cell2)
#endif
- do iCell = 1, nCellsAll
+ do iCell = 1, nCellsOwned
weightSum = 1.0_RKIND
effectiveDensityNew(iCell) = effectiveDensityScratch(iCell)
do i = 1, nEdgesOnCell(iCell)
cell2 = cellsOnCell(i,iCell)
- effectiveDensityNew(iCell) = effectiveDensityNew(iCell) &
- + cellMask(1,cell2)* &
- effectiveDensityScratch(cell2)
- weightSum = weightSum + cellMask(1,cell2)
+ if (cell2 <= nCellsAll) then
+ effectiveDensityNew(iCell) = effectiveDensityNew(iCell) &
+ + cellMask(1,cell2)* &
+ effectiveDensityScratch(cell2)
+ weightSum = weightSum + cellMask(1,cell2)
+ end if
end do
effectiveDensityNew(iCell) = effectiveDensityNew(iCell)/ &
weightSum