Skip to content

Commit

Permalink
Merge branch 'cbegeman/ocn/modify-SO-runoff-removal' into next (PR #6693
Browse files Browse the repository at this point in the history
)

Update conditions for Southern Ocean ice and river runoff removal

This PR modifies the conditions for river and ice runoff removal in E3SM
cases. This changes the behavior of E3SM cases where data icebergs (DIB)
or ice-shelf melting (ISMF) were active and thus doesn't not affect
water cycle simulations.

River runoff:
  Previous behavior: never removed
  New behavior: removed when atmosphere is not active and ice shelf melt
                fluxes are on
Ice runoff:
  Previous behavior: removed when DIB is on and atmosphere is active
  New behavior: removed when DIB is on

[NML] when DIB or DISMF are active
[BFB] when DIB and DISMF are inactive (all WC configurations)
[non-BFB] when DIB or DISMF are active
  • Loading branch information
jonbob committed Nov 12, 2024
2 parents 381dcdc + 238536c commit c85d870
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 133 deletions.
24 changes: 2 additions & 22 deletions components/data_comps/drof/cime_config/config_component.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,14 @@
-->

<description modifier_mode="1">
<desc rof="DROF[%NULL][%NYF][%NYFAIS00][%NYFAIS45][%NYFAIS55][%IAF][%IAFAIS00][%IAFAIS45][%IAFAIS55][%CPLHIST][%JRA][%JRA-1p5][%JRA-1p5-2023][%JRA-1p5-AIS0ROF][%JRA-1p4-2018][%JRA-1p4-2018-AIS0ICE][%JRA-1p4-2018-AIS0LIQ][%JRA-1p4-2018-AIS0ROF[%JRA-RYF8485][%JRA-RYF9091][%JRA-RYF0304]">Data runoff model</desc>
<desc rof="DROF[%NULL][%NYF][%IAF][%CPLHIST][%JRA][%JRA-1p5][%JRA-1p5-2023][%JRA-1p4-2018][%JRA-RYF8485][%JRA-RYF9091][%JRA-RYF0304]">Data runoff model</desc>
<desc option="NULL" >NULL mode</desc>
<desc option="NYF" >COREv2 normal year forcing:</desc>
<desc option="NYFAIS00" >COREv2 normal year forcing:</desc>
<desc option="NYFAIS45" >COREv2 normal year forcing:</desc>
<desc option="NYFAIS55" >COREv2 normal year forcing:</desc>
<desc option="IAF" >COREv2 interannual year forcing:</desc>
<desc option="IAFAIS00" >COREv2 interannual year forcing:</desc>
<desc option="IAFAIS45" >COREv2 interannual year forcing:</desc>
<desc option="IAFAIS55" >COREv2 interannual year forcing:</desc>
<desc option="CPLHIST" >CPLHIST mode:</desc>
<desc option="JRA-1p5-2023">JRA55 interannual forcing, v1.5, through 2023</desc>
<desc option="JRA-1p5">JRA55 interannual forcing, v1.5, through 2020</desc>
<desc option="JRA-1p5-AIS0ROF">JRA55 interannual forcing, v1.5, through 2020, no rofi or rofl around AIS</desc>
<desc option="JRA-1p4-2018">JRA55 interannual forcing, v1.4, through 2018</desc>
<desc option="JRA-1p4-2018-AIS0ICE">JRA55 interannual forcing, v1.4, through 2018, no rofi around AIS</desc>
<desc option="JRA-1p4-2018-AIS0LIQ">JRA55 interannual forcing, v1.4, through 2018, no rofl around AIS</desc>
<desc option="JRA-1p4-2018-AIS0ROF">JRA55 interannual forcing, v1.4, through 2018, no rofi or rofl around AIS</desc>
<desc option="JRA" >JRA55 interannual forcing</desc>
<desc option="JRA-RYF8485">JRA55 Repeat Year Forcing v1.3 1984-1985</desc>
<desc option="JRA-RYF9091">JRA55 Repeat Year Forcing v1.3 1990-1991</desc>
Expand All @@ -48,27 +38,17 @@

<entry id="DROF_MODE">
<type>char</type>
<valid_values>CPLHIST,DIATREN_ANN_RX1,DIATREN_ANN_AIS00_RX1,DIATREN_ANN_AIS45_RX1,DIATREN_ANN_AIS55_RX1,DIATREN_IAF_RX1,DIATREN_IAF_AIS00_RX1,DIATREN_IAF_AIS45_RX1,DIATREN_IAF_AIS55_RX1,IAF_JRA,IAF_JRA_1p5,IAF_JRA_1p5_AIS0ROF,IAF_JRA_1p4_2018,IAF_JRA_1p4_2018_AIS0ICE,IAF_JRA_1p4_2018_AIS0LIQ,IAF_JRA_1p4_2018_AIS0ROF,RYF8485_JRA,RYF9091_JRA,RYF0304_JRA,NULL</valid_values>
<valid_values>CPLHIST,DIATREN_ANN_RX1,DIATREN_IAF_RX1,IAF_JRA,IAF_JRA_1p5,IAF_JRA_1p4_2018,RYF8485_JRA,RYF9091_JRA,RYF0304_JRA,NULL</valid_values>
<default_value>DIATREN_ANN_RX1</default_value>
<values match="last">
<value compset="_DROF%NULL">NULL</value>
<value compset="_DROF%NYF" >DIATREN_ANN_RX1</value>
<value compset="_DROF%NYFAIS00" >DIATREN_ANN_AIS00_RX1</value>
<value compset="_DROF%NYFAIS45" >DIATREN_ANN_AIS45_RX1</value>
<value compset="_DROF%NYFAIS55" >DIATREN_ANN_AIS55_RX1</value>
<value compset="_DROF%IAF" >DIATREN_IAF_RX1</value>
<value compset="_DROF%IAFAIS00" >DIATREN_IAF_AIS00_RX1</value>
<value compset="_DROF%IAFAIS45" >DIATREN_IAF_AIS45_RX1</value>
<value compset="_DROF%IAFAIS55" >DIATREN_IAF_AIS55_RX1</value>
<value compset="_DROF%CPLHIST">CPLHIST</value>
<value compset="_DROF%JRA" >IAF_JRA</value>
<value compset="_DROF%JRA-1p5-2023" >IAF_JRA_1p5</value>
<value compset="_DROF%JRA-1p5" >IAF_JRA_1p5</value>
<value compset="_DROF%JRA-1p5-AIS0ROF" >IAF_JRA_1p5_AIS0ROF</value>
<value compset="_DROF%JRA-1p4-2018" >IAF_JRA_1p4_2018</value>
<value compset="_DROF%JRA-1p4-2018-AIS0ICE" >IAF_JRA_1p4_2018_AIS0ICE</value>
<value compset="_DROF%JRA-1p4-2018-AIS0LIQ" >IAF_JRA_1p4_2018_AIS0LIQ</value>
<value compset="_DROF%JRA-1p4-2018-AIS0ROF" >IAF_JRA_1p4_2018_AIS0ROF</value>
<value compset="_DROF%JRA-RYF8485" >RYF8485_JRA</value>
<value compset="_DROF%JRA-RYF9091" >RYF9091_JRA</value>
<value compset="_DROF%JRA-RYF0304" >RYF0304_JRA</value>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,8 @@
<value drof_mode="NULL" >NULL</value>
<value drof_mode="CPLHIST" >rof.cplhist</value>
<value drof_mode="DIATREN_ANN_RX1" >rof.diatren_ann_rx1</value>
<value drof_mode="DIATREN_ANN_AIS00_RX1">rof.diatren_ann_ais00_rx1</value>
<value drof_mode="DIATREN_ANN_AIS45_RX1">rof.diatren_ann_ais45_rx1</value>
<value drof_mode="DIATREN_ANN_AIS55_RX1">rof.diatren_ann_ais55_rx1</value>
<value drof_mode="DIATREN_IAF_RX1" >rof.diatren_iaf_rx1</value>
<value drof_mode="DIATREN_IAF_AIS00_RX1">rof.diatren_iaf_ais00_rx1</value>
<value drof_mode="DIATREN_IAF_AIS45_RX1">rof.diatren_iaf_ais45_rx1</value>
<value drof_mode="DIATREN_IAF_AIS55_RX1">rof.diatren_iaf_ais55_rx1</value>
<value drof_mode="IAF_JRA_1p4_2018_AIS0ICE">rof.iaf_jra_1p4_2018_ais0ice</value>
<value drof_mode="IAF_JRA_1p4_2018_AIS0LIQ">rof.iaf_jra_1p4_2018_ais0liq</value>
<value drof_mode="IAF_JRA_1p4_2018_AIS0ROF">rof.iaf_jra_1p4_2018_ais0rof</value>
<value drof_mode="IAF_JRA_1p4_2018" >rof.iaf_jra_1p4_2018</value>
<value drof_mode="IAF_JRA_1p5_AIS0ROF" >rof.iaf_jra_1p5_ais0rof</value>
<value drof_mode="IAF_JRA_1p5" >rof.iaf_jra_1p5</value>
<value drof_mode="IAF_JRA" >rof.iaf_jra</value>
<value drof_mode="RYF8485_JRA" >rof.ryf8485_jra</value>
Expand All @@ -80,13 +70,7 @@
<values>
<value>$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_ann_rx1" >$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_ann_ais00_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_ann_ais45_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_ann_ais55_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_iaf_rx1" >$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_iaf_ais00_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_iaf_ais45_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_iaf_ais55_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.iaf_jra_1p5" >$DIN_LOC_ROOT/lnd/dlnd7/JRA55</value>
<value stream="rof.iaf_jra.*" >$DIN_LOC_ROOT/lnd/dlnd7/JRA55</value>
<value stream="rof.ryf*" >$DIN_LOC_ROOT/lnd/dlnd7/JRA55</value>
Expand All @@ -101,13 +85,7 @@
<desc>Stream domain file path(s).</desc>
<values>
<value stream="rof.diatren_ann_rx1" >runoff.daitren.annual.20190226.nc</value>
<value stream="rof.diatren_ann_ais00_rx1">runoff.daitren.annual-AISx00.20190226.nc</value>
<value stream="rof.diatren_ann_ais45_rx1">runoff.daitren.annual-AISx45.20190226.nc</value>
<value stream="rof.diatren_ann_ais55_rx1">runoff.daitren.annual-AISx55.20190226.nc</value>
<value stream="rof.diatren_iaf_rx1" >runoff.daitren.iaf.20120419.nc</value>
<value stream="rof.diatren_iaf_ais00_rx1">runoff.daitren.iaf-AISx00.20120419.nc</value>
<value stream="rof.diatren_iaf_ais45_rx1">runoff.daitren.iaf-AISx45.20120419.nc</value>
<value stream="rof.diatren_iaf_ais55_rx1">runoff.daitren.iaf-AISx55.20120419.nc</value>
<value stream="rof.iaf_jra.*" >domain.roff.JRA025.170111.nc</value>
<value stream="rof.ryf*" >domain.roff.JRA025.170111.nc</value>
<value stream="rof.cplhist" >null</value>
Expand All @@ -134,27 +112,6 @@
arear area
mask mask
</value>
<value stream="rof.diatren_iaf_ais00_rx1">
time time
xc lon
yc lat
arear area
mask mask
</value>
<value stream="rof.diatren_iaf_ais45_rx1">
time time
xc lon
yc lat
arear area
mask mask
</value>
<value stream="rof.diatren_iaf_ais55_rx1">
time time
xc lon
yc lat
arear area
mask mask
</value>
<value stream="rof.cplhist">
time time
domrb_lon lon
Expand All @@ -173,13 +130,7 @@
<values>
<value>$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_ann_rx1" >$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_ann_ais00_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_ann_ais45_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_ann_ais55_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_iaf_rx1" >$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_iaf_ais00_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_iaf_ais45_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.diatren_iaf_ais55_rx1">$DIN_LOC_ROOT/lnd/dlnd7/RX1</value>
<value stream="rof.iaf_jra_1p5" >$DIN_LOC_ROOT/ocn/jra55/v1.5_noleap</value>
<value stream="rof.iaf_jra.*" >$DIN_LOC_ROOT/lnd/dlnd7/JRA55</value>
<value stream="rof.ryf*" >$DIN_LOC_ROOT/lnd/dlnd7/JRA55</value>
Expand All @@ -194,31 +145,13 @@
<desc>Stream data file path(s).</desc>
<values>
<value stream="rof.diatren_ann_rx1" >runoff.daitren.annual.20190226.nc</value>
<value stream="rof.diatren_ann_ais00_rx1">runoff.daitren.annual.20190226.nc</value>
<value stream="rof.diatren_ann_ais45_rx1">runoff.daitren.annual.20190226.nc</value>
<value stream="rof.diatren_ann_ais55_rx1">runoff.daitren.annual.20190226.nc</value>
<value stream="rof.diatren_iaf_rx1" >runoff.daitren.iaf.20120419.nc</value>
<value stream="rof.diatren_iaf_ais00_rx1">runoff.daitren.iaf-AISx00.20120419.nc</value>
<value stream="rof.diatren_iaf_ais45_rx1">runoff.daitren.iaf-AISx45.20120419.nc</value>
<value stream="rof.diatren_iaf_ais55_rx1">runoff.daitren.iaf-AISx55.20120419.nc</value>
<value stream="rof.ryf8485_jra" >RAF_8485.JRA.v1.3.runoff.180404.nc</value>
<value stream="rof.ryf9091_jra" >RAF_9091.JRA.v1.3.runoff.180404.nc</value>
<value stream="rof.ryf0304_jra" >RAF_0304.JRA.v1.3.runoff.180404.nc</value>
<value stream="rof.iaf_jra_1p5_ais0rof">
JRA.v1.5.runoff.%y.no_rofi_no_rofl.240411.nc
</value>
<value stream="rof.iaf_jra_1p5">
JRA.v1.5.runoff.%y.240411.nc
</value>
<value stream="rof.iaf_jra_1p4_2018_ais0ice">
JRA.v1.4.runoff.%y.no_rofi.190214.nc
</value>
<value stream="rof.iaf_jra_1p4_2018_ais0liq">
JRA.v1.4.runoff.%y.no_rofl.190214.nc
</value>
<value stream="rof.iaf_jra_1p4_2018_ais0rof">
JRA.v1.4.runoff.%y.no_rofi_no_rofl.190214.nc
</value>
<value stream="rof.iaf_jra_1p4_2018">
JRA.v1.4.runoff.%y.190214.nc
</value>
Expand All @@ -244,9 +177,6 @@
<value stream="rof.diatren_iaf_rx1">
runoff rofl
</value>
<value stream="rof.diatren_iaf_ais45_rx1">
runoff rofl
</value>
<value stream="rof.iaf_jra.*">
rofl rofl
rofi rofi
Expand Down Expand Up @@ -282,7 +212,6 @@
<value>1</value>
<value stream="rof.diatren_ann_rx1" >1</value>
<value stream="rof.diatren_iaf_rx1" >1</value>
<value stream="rof.diatren_iaf_ais45_rx1">1</value>
<value stream="rof.iaf_jra.*" >$DROF_STRM_YR_ALIGN</value>
<value stream="rof.ryf*" >$DROF_STRM_YR_ALIGN</value>
<value stream="rof.cplhist" >$DROF_CPLHIST_YR_ALIGN</value>
Expand All @@ -296,13 +225,7 @@
<desc>First year of stream.</desc>
<values>
<value stream="rof.diatren_ann_rx1" >1</value>
<value stream="rof.diatren_ann_ais00_rx1">1</value>
<value stream="rof.diatren_ann_ais45_rx1">1</value>
<value stream="rof.diatren_ann_ais55_rx1">1</value>
<value stream="rof.diatren_iaf_rx1" >1948</value>
<value stream="rof.diatren_iaf_ais00_rx1">1948</value>
<value stream="rof.diatren_iaf_ais45_rx1">1948</value>
<value stream="rof.diatren_iaf_ais55_rx1">1948</value>
<value stream="rof.iaf_jra.*" >$DROF_STRM_YR_START</value>
<value stream="rof.ryf8485_jra" >1984</value>
<value stream="rof.ryf9091_jra" >1990</value>
Expand All @@ -318,18 +241,9 @@
<desc>Last year of stream.</desc>
<values>
<value stream="rof.diatren_ann_rx1" >1</value>
<value stream="rof.diatren_ann_ais00_rx1" >1</value>
<value stream="rof.diatren_ann_ais45_rx1" >1</value>
<value stream="rof.diatren_ann_ais55_rx1" >1</value>
<value stream="rof.diatren_iaf_rx1" >2009</value>
<value stream="rof.diatren_iaf_ais00_rx1" >2009</value>
<value stream="rof.diatren_iaf_ais45_rx1" >2009</value>
<value stream="rof.diatren_iaf_ais55_rx1" >2009</value>
<value stream="rof.iaf_jra_1p5" >$DROF_STRM_YR_END</value>
<value stream="rof.iaf_jra_1p4_2018" >$DROF_STRM_YR_END</value>
<value stream="rof.iaf_jra_1p4_2018_ais0ice">$DROF_STRM_YR_END</value>
<value stream="rof.iaf_jra_1p4_2018_ais0liq">$DROF_STRM_YR_END</value>
<value stream="rof.iaf_jra_1p4_2018_ais0rof">$DROF_STRM_YR_END</value>
<value stream="rof.iaf_jra" >$DROF_STRM_YR_END</value>
<value stream="rof.ryf8485_jra" >1984</value>
<value stream="rof.ryf9091_jra" >1990</value>
Expand Down
13 changes: 11 additions & 2 deletions components/mpas-ocean/bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -725,12 +725,21 @@ add_default($nl, 'config_sgr_salinity_prescribed');
# Namelist group: coupling #
############################

add_default($nl, 'config_remove_ais_river_runoff');
if (($OCN_ICEBERG eq 'true') && ($OCN_FORCING eq 'active_atm')) {
# When we have a data representation of icebergs, remove ice runoff
if ($OCN_ICEBERG eq 'true') {
add_default($nl, 'config_remove_ais_ice_runoff', 'val'=>".true.");
} else {
add_default($nl, 'config_remove_ais_ice_runoff', 'val'=>".false.");
}
# Assume river runoff corresponds to ISMF in Southern Ocean only for G-cases
# (true for JRA). When atm active, we assume liquid runoff corresonds to precip
# or snow melt so we do not remove it. In either case, the energy for melting
# doesn't come from the ocean.
if (($OCN_ISMF ne 'none') && ($OCN_FORCING ne 'active_atm')) {
add_default($nl, 'config_remove_ais_river_runoff', 'val'=>".true.");
} else {
add_default($nl, 'config_remove_ais_river_runoff', 'val'=>".false.");
}

######################################
# Namelist group: shortwaveRadiation #
Expand Down
Loading

0 comments on commit c85d870

Please sign in to comment.