diff --git a/components/mpas-ocean/bld/build-namelist b/components/mpas-ocean/bld/build-namelist
index 1c55bcb7be1d..6e63d8f9c11c 100755
--- a/components/mpas-ocean/bld/build-namelist
+++ b/components/mpas-ocean/bld/build-namelist
@@ -707,10 +707,11 @@ add_default($nl, 'config_flux_attenuation_coefficient_runoff');
# Namelist group: coupling #
############################
+add_default($nl, 'config_remove_ais_river_runoff');
if (($OCN_ICEBERG eq 'true') && ($OCN_FORCING eq 'active_atm')) {
- add_default($nl, 'config_remove_AIS_coupler_runoff', 'val'=>".true.");
+ add_default($nl, 'config_remove_ais_ice_runoff', 'val'=>".true.");
} else {
- add_default($nl, 'config_remove_AIS_coupler_runoff', 'val'=>".false.");
+ add_default($nl, 'config_remove_ais_ice_runoff', 'val'=>".false.");
}
######################################
diff --git a/components/mpas-ocean/bld/build-namelist-section b/components/mpas-ocean/bld/build-namelist-section
index cc1695243faa..cae11d395c9f 100644
--- a/components/mpas-ocean/bld/build-namelist-section
+++ b/components/mpas-ocean/bld/build-namelist-section
@@ -229,7 +229,8 @@ add_default($nl, 'config_flux_attenuation_coefficient_runoff');
# Namelist group: coupling #
############################
-add_default($nl, 'config_remove_AIS_coupler_runoff');
+add_default($nl, 'config_remove_ais_river_runoff');
+add_default($nl, 'config_remove_ais_ice_runoff');
######################################
# Namelist group: shortwaveRadiation #
diff --git a/components/mpas-ocean/bld/namelist_files/namelist_defaults_mpaso.xml b/components/mpas-ocean/bld/namelist_files/namelist_defaults_mpaso.xml
index c7441c6b2214..d4a1487ba161 100644
--- a/components/mpas-ocean/bld/namelist_files/namelist_defaults_mpaso.xml
+++ b/components/mpas-ocean/bld/namelist_files/namelist_defaults_mpaso.xml
@@ -344,7 +344,8 @@
10.0
-.false.
+.false.
+.false.
'jerlov'
diff --git a/components/mpas-ocean/bld/namelist_files/namelist_definition_mpaso.xml b/components/mpas-ocean/bld/namelist_files/namelist_definition_mpaso.xml
index f6c2f9c5b765..6ebd149d17ac 100644
--- a/components/mpas-ocean/bld/namelist_files/namelist_definition_mpaso.xml
+++ b/components/mpas-ocean/bld/namelist_files/namelist_definition_mpaso.xml
@@ -1191,9 +1191,17 @@ Default: Defined in namelist_defaults.xml
-
-If true, solid and liquid runoff from the Antarctic Ice Sheet (below 60S latitude) coming from the coupled is zeroed in the coupler import routines. To be used with data iceberg fluxes coming from the sea ice model.
+If true, liquid runoff from the Antarctic Ice Sheet (below 60S latitude) coming from the coupled is zeroed in the coupler import routines. To be used with data iceberg fluxes coming from the sea ice model.
+
+Valid values: .true. or .false.
+Default: Defined in namelist_defaults.xml
+
+
+
+If true, solid runoff from the Antarctic Ice Sheet (below 60S latitude) coming from the coupled is zeroed in the coupler import routines. To be used with data iceberg fluxes coming from the sea ice model.
Valid values: .true. or .false.
Default: Defined in namelist_defaults.xml
diff --git a/components/mpas-ocean/driver/ocn_comp_mct.F b/components/mpas-ocean/driver/ocn_comp_mct.F
index b23d54770735..bd425e7e806a 100644
--- a/components/mpas-ocean/driver/ocn_comp_mct.F
+++ b/components/mpas-ocean/driver/ocn_comp_mct.F
@@ -1729,7 +1729,8 @@ subroutine ocn_import_mct(x2o_o, errorCode)!{{{
config_use_MacroMoleculesTracers, &
config_use_MacroMoleculesTracers_sea_ice_coupling, &
config_use_CFCTracers, &
- config_remove_AIS_coupler_runoff, &
+ config_remove_ais_river_runoff, &
+ config_remove_ais_ice_runoff, &
config_cvmix_kpp_use_theory_wave
character(len=StrKIND), pointer :: config_ecosys_atm_co2_option, &
@@ -1886,7 +1887,8 @@ subroutine ocn_import_mct(x2o_o, errorCode)!{{{
call mpas_pool_get_config(domain % configs, 'config_use_MacroMoleculesTracers_sea_ice_coupling', &
config_use_MacroMoleculesTracers_sea_ice_coupling)
call mpas_pool_get_config(domain % configs, 'config_use_CFCTracers', config_use_CFCTracers)
- call mpas_pool_get_config(domain % configs, 'config_remove_AIS_coupler_runoff', config_remove_AIS_coupler_runoff)
+ call mpas_pool_get_config(domain % configs, 'config_remove_ais_river_runoff', config_remove_ais_river_runoff)
+ call mpas_pool_get_config(domain % configs, 'config_remove_ais_ice_runoff', config_remove_ais_ice_runoff)
call mpas_pool_get_config(domain % configs, 'config_cvmix_kpp_use_theory_wave', config_cvmix_kpp_use_theory_wave)
n = 0
@@ -2063,14 +2065,18 @@ subroutine ocn_import_mct(x2o_o, errorCode)!{{{
windSpeedSquared10mCFC => windSpeedSquared10mField % array
endif
- if (config_remove_AIS_coupler_runoff) then
- ! Initialize these fields
+ if (config_remove_ais_river_runoff) then
+ ! Initialize this field
removedRiverRunoffFlux(:) = 0.0_RKIND
+ endif
+
+ if (config_remove_ais_ice_runoff) then
+ ! Initialize this field
removedIceRunoffFlux(:) = 0.0_RKIND
endif
if (config_cvmix_kpp_use_theory_wave) then
- ! Initialize these fields
+ ! Initialize this field
windSpeed10m(:) = 0.0_RKIND
endif
@@ -2118,7 +2124,7 @@ subroutine ocn_import_mct(x2o_o, errorCode)!{{{
end if
if ( riverRunoffFluxField % isActive ) then
riverRunoffFlux(i) = x2o_o % rAttr(index_x2o_Foxx_rofl, n)
- if (config_remove_AIS_coupler_runoff) then
+ if (config_remove_ais_river_runoff) then
if (latCell(i) < -1.04719666667_RKIND) then ! 60S in radians
removedRiverRunoffFlux(i) = riverRunoffFlux(i)
riverRunoffFlux(i) = 0.0_RKIND
@@ -2131,7 +2137,7 @@ subroutine ocn_import_mct(x2o_o, errorCode)!{{{
if(iceRunoffFlux(n) < 0.0_RKIND) then
call shr_sys_abort ('Error: incoming rofi_F is negative')
end if
- if (config_remove_AIS_coupler_runoff) then
+ if (config_remove_ais_ice_runoff) then
if (latCell(i) < -1.04719666667_RKIND) then ! 60S in radians
removedIceRunoffFlux(i) = iceRunoffFlux(i)
iceRunoffFlux(i) = 0.0_RKIND
@@ -2692,7 +2698,8 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
real (kind=RKIND) :: surfaceFreezingTemp
logical, pointer :: frazilIceActive, &
- config_remove_AIS_coupler_runoff, &
+ config_remove_ais_river_runoff, &
+ config_remove_ais_ice_runoff, &
config_use_ecosysTracers, &
config_use_DMSTracers, &
config_use_MacroMoleculesTracers, &
@@ -2709,7 +2716,8 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
call mpas_pool_get_package(domain % packages, 'frazilIceActive', frazilIceActive)
call mpas_pool_get_config(domain % configs, 'config_use_ecosysTracers', config_use_ecosysTracers)
call mpas_pool_get_config(domain % configs, 'config_land_ice_flux_mode', config_land_ice_flux_mode)
- call mpas_pool_get_config(domain % configs, 'config_remove_AIS_coupler_runoff', config_remove_AIS_coupler_runoff)
+ call mpas_pool_get_config(domain % configs, 'config_remove_ais_river_runoff', config_remove_ais_river_runoff)
+ call mpas_pool_get_config(domain % configs, 'config_remove_ais_ice_runoff', config_remove_ais_ice_runoff)
call mpas_pool_get_config(domain % configs, 'config_use_DMSTracers', config_use_DMSTracers)
call mpas_pool_get_config(domain % configs, 'config_use_MacroMoleculesTracers', config_use_MacroMoleculesTracers)
call mpas_pool_get_config(domain % configs, 'config_use_ecosysTracers_sea_ice_coupling', &
@@ -2757,8 +2765,10 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
call mpas_pool_get_array(forcingPool, 'avgLandIceFreshwaterFlux', avgLandIceFreshwaterFlux)
call mpas_pool_get_array(forcingPool, 'avgLandIceHeatFlux', avgLandIceHeatFlux)
endif
- if (config_remove_AIS_coupler_runoff) then
+ if (config_remove_ais_river_runoff) then
call mpas_pool_get_array(forcingPool, 'avgRemovedRiverRunoffFlux', avgRemovedRiverRunoffFlux)
+ endif
+ if (config_remove_ais_ice_runoff) then
call mpas_pool_get_array(forcingPool, 'avgRemovedIceRunoffFlux', avgRemovedIceRunoffFlux)
call mpas_pool_get_array(forcingPool, 'avgRemovedIceRunoffHeatFlux', avgRemovedIceRunoffHeatFlux)
endif
@@ -2819,8 +2829,10 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
o2x_o % rAttr(index_o2x_Foxo_ismw, n) = avgLandIceFreshwaterFlux(i)
o2x_o % rAttr(index_o2x_Foxo_ismh, n) = avgLandIceHeatFlux(i)
endif
- if (config_remove_AIS_coupler_runoff) then
+ if (config_remove_ais_river_runoff) then
o2x_o % rAttr(index_o2x_Foxo_rrofl, n) = avgRemovedRiverRunoffFlux(i)
+ endif
+ if (config_remove_ais_ice_runoff) then
o2x_o % rAttr(index_o2x_Foxo_rrofi, n) = avgRemovedIceRunoffFlux(i)
o2x_o % rAttr(index_o2x_Foxo_rrofih, n) = avgRemovedIceRunoffHeatFlux(i)
endif
@@ -3218,7 +3230,8 @@ subroutine ocn_import_moab( Eclock, errorCode)!{{{
config_use_DMSTracers_sea_ice_coupling, &
config_use_MacroMoleculesTracers, &
config_use_MacroMoleculesTracers_sea_ice_coupling, &
- config_remove_AIS_coupler_runoff, &
+ config_remove_ais_river_runoff, &
+ config_remove_ais_ice_runoff, &
config_cvmix_kpp_use_theory_wave
character(len=StrKIND), pointer :: config_ecosys_atm_co2_option, &
@@ -3365,7 +3378,8 @@ subroutine ocn_import_moab( Eclock, errorCode)!{{{
config_use_DMSTracers_sea_ice_coupling)
call mpas_pool_get_config(domain % configs, 'config_use_MacroMoleculesTracers_sea_ice_coupling', &
config_use_MacroMoleculesTracers_sea_ice_coupling)
- call mpas_pool_get_config(domain % configs, 'config_remove_AIS_coupler_runoff', config_remove_AIS_coupler_runoff)
+ call mpas_pool_get_config(domain % configs, 'config_remove_ais_river_runoff', config_remove_ais_river_runoff)
+ call mpas_pool_get_config(domain % configs, 'config_remove_ais_ice_runoff', config_remove_ais_ice_runoff)
call mpas_pool_get_config(domain % configs, 'config_cvmix_kpp_use_theory_wave', config_cvmix_kpp_use_theory_wave)
n = 0
@@ -3503,14 +3517,18 @@ subroutine ocn_import_moab( Eclock, errorCode)!{{{
iceFluxDMSP => iceFluxDMSPField % array
endif
- if (config_remove_AIS_coupler_runoff) then
- ! Initialize these fields
+ if (config_remove_ais_river_runoff) then
+ ! Initialize this field
removedRiverRunoffFlux(:) = 0.0_RKIND
+ endif
+
+ if (config_remove_ais_ice_runoff) then
+ ! Initialize this field
removedIceRunoffFlux(:) = 0.0_RKIND
endif
if (config_cvmix_kpp_use_theory_wave) then
- ! Initialize these fields
+ ! Initialize this field
windSpeed10m(:) = 0.0_RKIND
endif
@@ -3559,7 +3577,7 @@ subroutine ocn_import_moab( Eclock, errorCode)!{{{
end if
if ( riverRunoffFluxField % isActive ) then
riverRunoffFlux(i) = x2o_om(n, index_x2o_Foxx_rofl)
- if (config_remove_AIS_coupler_runoff) then
+ if (config_remove_ais_river_runoff) then
if (latCell(i) < -1.04719666667_RKIND) then ! 60S in radians
removedRiverRunoffFlux(i) = riverRunoffFlux(i)
riverRunoffFlux(i) = 0.0_RKIND
@@ -3572,7 +3590,7 @@ subroutine ocn_import_moab( Eclock, errorCode)!{{{
if(iceRunoffFlux(n) < 0.0_RKIND) then
call shr_sys_abort ('Error: incoming rofi_F is negative')
end if
- if (config_remove_AIS_coupler_runoff) then
+ if (config_remove_ais_ice_runoff) then
if (latCell(i) < -1.04719666667_RKIND) then ! 60S in radians
removedIceRunoffFlux(i) = iceRunoffFlux(i)
iceRunoffFlux(i) = 0.0_RKIND
@@ -3988,7 +4006,8 @@ subroutine ocn_export_moab(EClock) !{{{
real (kind=RKIND) :: surfaceFreezingTemp
logical, pointer :: frazilIceActive, &
- config_remove_AIS_coupler_runoff, &
+ config_remove_ais_river_runoff, &
+ config_remove_ais_ice_runoff, &
config_use_ecosysTracers, &
config_use_DMSTracers, &
config_use_MacroMoleculesTracers, &
@@ -4005,7 +4024,8 @@ subroutine ocn_export_moab(EClock) !{{{
call mpas_pool_get_package(domain % packages, 'frazilIceActive', frazilIceActive)
call mpas_pool_get_config(domain % configs, 'config_use_ecosysTracers', config_use_ecosysTracers)
call mpas_pool_get_config(domain % configs, 'config_land_ice_flux_mode', config_land_ice_flux_mode)
- call mpas_pool_get_config(domain % configs, 'config_remove_AIS_coupler_runoff', config_remove_AIS_coupler_runoff)
+ call mpas_pool_get_config(domain % configs, 'config_remove_ais_river_runoff', config_remove_ais_river_runoff)
+ call mpas_pool_get_config(domain % configs, 'config_remove_ais_ice_runoff', config_remove_ais_ice_runoff)
call mpas_pool_get_config(domain % configs, 'config_use_DMSTracers', config_use_DMSTracers)
call mpas_pool_get_config(domain % configs, 'config_use_MacroMoleculesTracers', config_use_MacroMoleculesTracers)
call mpas_pool_get_config(domain % configs, 'config_use_ecosysTracers_sea_ice_coupling', &
@@ -4052,8 +4072,10 @@ subroutine ocn_export_moab(EClock) !{{{
call mpas_pool_get_array(forcingPool, 'avgLandIceFreshwaterFlux', avgLandIceFreshwaterFlux)
call mpas_pool_get_array(forcingPool, 'avgLandIceHeatFlux', avgLandIceHeatFlux)
endif
- if (config_remove_AIS_coupler_runoff) then
+ if (config_remove_ais_river_runoff) then
call mpas_pool_get_array(forcingPool, 'avgRemovedRiverRunoffFlux', avgRemovedRiverRunoffFlux)
+ endif
+ if (config_remove_ais_ice_runoff) then
call mpas_pool_get_array(forcingPool, 'avgRemovedIceRunoffFlux', avgRemovedIceRunoffFlux)
call mpas_pool_get_array(forcingPool, 'avgRemovedIceRunoffHeatFlux', avgRemovedIceRunoffHeatFlux)
endif
@@ -4113,8 +4135,10 @@ subroutine ocn_export_moab(EClock) !{{{
o2x_om(n, index_o2x_Foxo_ismw) = avgLandIceFreshwaterFlux(i)
o2x_om(n, index_o2x_Foxo_ismh) = avgLandIceHeatFlux(i)
endif
- if (config_remove_AIS_coupler_runoff) then
+ if (config_remove_ais_river_runoff) then
o2x_om(n, index_o2x_Foxo_rrofl) = avgRemovedRiverRunoffFlux(i)
+ endif
+ if (config_remove_ais_ice_runoff) then
o2x_om(n, index_o2x_Foxo_rrofi) = avgRemovedIceRunoffFlux(i)
o2x_om(n, index_o2x_Foxo_rrofih) = avgRemovedIceRunoffHeatFlux(i)
endif
diff --git a/components/mpas-ocean/src/Registry.xml b/components/mpas-ocean/src/Registry.xml
index 00c63312b863..3bb6ead6b2d5 100644
--- a/components/mpas-ocean/src/Registry.xml
+++ b/components/mpas-ocean/src/Registry.xml
@@ -766,8 +766,12 @@
/>
-
+
@@ -3761,7 +3765,7 @@
packages="thicknessBulkPKG"
/>