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 @@ cpl/gridmaps/IcoswISC30E3r5/map_IcoswISC30E3r5_to_T62_traave.20231121.nc + + cpl/gridmaps/TL319/map_TL319_to_oQU240wLI_traave.20240509.nc + cpl/gridmaps/TL319/map_TL319_to_oQU240wLI-nomask_trbilin.20240509.nc + cpl/gridmaps/TL319/map_TL319_to_oQU240wLI_esmfpatch.20240509.nc + cpl/gridmaps/oQU240wLI/map_oQU240wLI_to_TL319_traave.20240509.nc + cpl/gridmaps/oQU240wLI/map_oQU240wLI_to_TL319_traave.20240509.nc + + cpl/gridmaps/TL319/map_TL319_to_oEC60to30v3_aave.181203.nc cpl/gridmaps/TL319/map_TL319_to_oEC60to30v3_bilin.181203.nc @@ -4972,6 +5002,11 @@ cpl/cpl6/map_rx1_to_IcoswISC30E3r5_cstmnn.r150e300.20231121.nc + + cpl/cpl6/map_JRA025_to_oQU240wLI_cstmnn.r150e300.20240516.nc + cpl/cpl6/map_JRA025_to_oQU240wLI_cstmnn.r150e300.20240516.nc + + cpl/cpl6/map_JRA025_to_oEC60to30v3_smoothed.r150e300.181204.nc cpl/cpl6/map_JRA025_to_oEC60to30v3_smoothed.r150e300.181204.nc @@ -5418,6 +5453,24 @@ cpl/gridmaps/mpas.ais20km/map_ais20km_TO_f09_aave.151005.nc + + cpl/gridmaps/TL319/map_TL319_to_ais20km_traave.20240509.nc + cpl/gridmaps/TL319/map_TL319_to_ais20km_trbilin.20240509.nc + cpl/gridmaps/mpas.ais20km/map_ais20km_to_TL319_traave.20240509.nc + cpl/gridmaps/mpas.ais20km/map_ais20km_to_TL319_traave.20240509.nc + + + + cpl/gridmaps/oQU240wLI/map_oQU240wLI-nomask_to_ais20km_esmfaave.20240509.nc + cpl/gridmaps/oQU240wLI/map_oQU240wLI-nomask_to_ais20km_esmfbilin.20240509.nc + cpl/gridmaps/mpas.ais20km/map_ais20km_to_oQU240wLI-nomask_esmfaave.20240509.nc + cpl/gridmaps/mpas.ais20km/map_ais20km_to_oQU240wLI-nomask_esmfbilin.20240509.nc + cpl/gridmaps/mpas.ais20km/map_ais20km_to_oQU240wLI-nomask_esmfaave.20240509.nc + cpl/gridmaps/mpas.ais20km/map_ais20km_to_oQU240wLI-nomask_esmfbilin.20240509.nc + cpl/gridmaps/mpas.ais20km/map_ais20km_to_oQU240wLI-nomask_esmfnearestdtos.20240509.nc + cpl/gridmaps/mpas.ais20km/map_ais20km_to_oQU240wLI_esmfnearestdtos.20240509.nc + + 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