Skip to content

Commit

Permalink
Merge tag 'mosart1.1.04' into zerothtstep
Browse files Browse the repository at this point in the history
time in hist now equals the middle of the time_bounds

MOSART equivalent to CTSM work done in ESCOMP/CTSM#2838
Answers change only for the time variable.

slevis resolved conflicts:
src/riverroute/RtmHistFile.F90
src/riverroute/RtmTimeManager.F90
  • Loading branch information
slevis-lmwg committed Nov 11, 2024
2 parents 9d24b69 + 9fe1ea8 commit 16bc164
Show file tree
Hide file tree
Showing 46 changed files with 9,814 additions and 11,017 deletions.
12 changes: 12 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,18 @@ Model for Scale Adaptive River Transport
The Model for Scale Adaptive River Transport, Mosart,
is part of the Community Earth System Model.

IMPORTANT NOTE: MOSART is Obsolescent!

MOSART is part of CESM3, but is obsolescent.

We do not have support for creating input datasets for MOSART and
as such can NOT use MOSART for Paleo work.

Longer term MOSART will be removed in future versions of CESM and the new model
mizuRoute will be used for Paleo work as well as present day.
It's also possible that external collaborators will support the use of MOSART
for present day climate even as mizuRoute becomes the default model for CESM.

See the CESM web site for documentation and information:

http://www.cesm.ucar.edu
20 changes: 10 additions & 10 deletions cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ def _create_namelists(case, confdir, inst_string, infile, nmlgen, data_list_path
#----------------------------------------------------

run_type = case.get_value("RUN_TYPE")
finidat_rtm = str(nmlgen.get_value("finidat_rtm"))
finidat = str(nmlgen.get_value("finidat"))
if run_type == 'branch' or run_type == 'hybrid':
run_refcase = case.get_value("RUN_REFCASE")
run_refdate = case.get_value("RUN_REFDATE")
Expand All @@ -90,17 +90,17 @@ def _create_namelists(case, confdir, inst_string, infile, nmlgen, data_list_path
filename = "%s.mosart.r.%s-%s.nc" %(run_refcase, run_refdate, run_tod)

if run_type == "hybrid":
nmlgen.add_default("finidat_rtm", value=filename, ignore_abs_path=True)
nmlgen.add_default("finidat", value=filename, ignore_abs_path=True)
else:

nmlgen.add_default("nrevsn_rtm", value=filename)
elif finidat_rtm.strip() == '':
nmlgen.set_value('finidat_rtm', value=' ')
nmlgen.add_default("nrevsn", value=filename)
elif finidat.strip() == '':
nmlgen.set_value('finidat', value=' ')
else:
if nmlgen.get_default('finidat_rtm') == 'UNSET':
nmlgen.add_default('finidat_rtm', value=' ', ignore_abs_path=True)
if nmlgen.get_default('finidat') == 'UNSET':
nmlgen.add_default('finidat', value=' ', ignore_abs_path=True)
else:
nmlgen.add_default("finidat_rtm")
nmlgen.add_default("finidat")

ncpl_base_period = case.get_value('NCPL_BASE_PERIOD')
if ncpl_base_period == 'hour':
Expand Down Expand Up @@ -131,8 +131,8 @@ def _create_namelists(case, confdir, inst_string, infile, nmlgen, data_list_path
coupling_period = basedt // mosart_ncpl
nmlgen.set_value("coupling_period", value=coupling_period)

if ( nmlgen.get_value("frivinp_rtm") == "UNSET" and config["mosart_mode"] != "NULL" ):
raise SystemExit("ERROR: Direction file is NOT set and is required when MOSART is active: frivinp_rtm")
if ( nmlgen.get_value("frivinp") == "UNSET" and config["mosart_mode"] != "NULL" ):
raise SystemExit("ERROR: Direction file is NOT set and is required when MOSART is active: frivinp")

bypass_routing_option = nmlgen.get_value("bypass_routing_option")
qgwl_runoff_option = nmlgen.get_value("qgwl_runoff_option")
Expand Down
3 changes: 2 additions & 1 deletion cime_config/config_compsets.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@
<!-- R compsets -->

<compset>
<!-- This compset is NOT yet functional, but it is a capability that would be good for testing -->
<alias>R2000MOSART</alias>
<lname>2000_SATM_DLND%LCPL_SICE_SOCN_MIZUROUTE_SGLC_SWAV</lname>
<lname>2000_SATM_DLND%LCPL_SICE_SOCN_MOSART_SGLC_SWAV</lname>
</compset>

</compsets>
102 changes: 64 additions & 38 deletions cime_config/namelist_definition_mosart.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,6 @@
<!-- MOSART Namelist -->
<!-- ======================================================================================== -->

<entry id="do_rtmflood" modify_via_xml="MOSART_FLOOD_MODE">
<type>logical</type>
<category>mosart</category>
<group>mosart_inparm</group>
<values>
<value mosart_flood_mode="ACTIVE">.true.</value>
<value mosart_flood_mode="NULL">.false.</value>
</values>
<desc>
If .true., turn on mosart flooding back to clm
Note that mosart flood is not supported in CESM1.1
</desc>
</entry>

<entry id="ice_runoff">
<type>logical</type>
<category>mosart</category>
Expand Down Expand Up @@ -61,30 +47,30 @@
</desc>
</entry>

<entry id="smat_option">
<entry id="decomp_option">
<type>char</type>
<category>mosart</category>
<group>mosart_inparm</group>
<valid_values>opt,Xonly,Yonly</valid_values>
<valid_values>basin,1d,roundrobin</valid_values>
<values>
<value>Xonly</value>
<value>roundrobin</value>
</values>
<desc>
sparse matrix mct setting. Xonly is bfb on different pe counts,
opt and Yonly might involve partial sums
Decomposition Option for mosart
</desc>
</entry>

<entry id="decomp_option">
<type>char</type>
<entry id="use_halo_option">
<type>logical</type>
<category>mosart</category>
<group>mosart_inparm</group>
<valid_values>basin,1d,roundrobin</valid_values>
<values>
<value>roundrobin</value>
<value>.false.</value>
</values>
<desc>
Decomposition Option for mosart
If true, add capability to have halo option for mosart fields.
In particular these can be used to create derivatives using halo values
from neighboring cells.
</desc>
</entry>

Expand Down Expand Up @@ -115,7 +101,7 @@
</desc>
</entry>

<entry id="finidat_rtm" skip_default_entry="true">
<entry id="finidat" skip_default_entry="true">
<type>char</type>
<category>mosart</category>
<group>mosart_inparm</group>
Expand All @@ -124,11 +110,12 @@
<value>UNSET</value>
</values>
<desc>
Full pathname of initial rtm file
Full pathname of initial conditions file. If blank or UNSET Mosart will startup from
cold start initial conditions.
</desc>
</entry>

<entry id="nrevsn_rtm" skip_default_entry="true">
<entry id="nrevsn" skip_default_entry="true">
<type>char</type>
<category>mosart</category>
<group>mosart_inparm</group>
Expand All @@ -140,7 +127,7 @@
</desc>
</entry>

<entry id="frivinp_rtm">
<entry id="frivinp">
<type>char</type>
<category>mosart</category>
<input_pathname>abs</input_pathname>
Expand All @@ -152,11 +139,11 @@
<value rof_grid="0.125nldas2">$DIN_LOC_ROOT/rof/mosart/MOSART_routing_0.125nldas2_cdf5_c200727.nc</value>
</values>
<desc>
Full pathname of input datafile for RTM.
Full pathname of input mosart datafile
</desc>
</entry>

<entry id="rtmhist_fexcl1">
<entry id="fexcl1">
<type>char(1000)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -168,7 +155,7 @@
</desc>
</entry>

<entry id="rtmhist_fexcl2">
<entry id="fexcl2">
<type>char(1000)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -180,7 +167,7 @@
</desc>
</entry>

<entry id="rtmhist_fexcl3">
<entry id="fexcl3">
<type>char(1000)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -192,7 +179,7 @@
</desc>
</entry>

<entry id="rtmhist_fincl1">
<entry id="fincl1">
<type>char(1000)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -204,7 +191,7 @@
</desc>
</entry>

<entry id="rtmhist_fincl2">
<entry id="fincl2">
<type>char(1000)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -216,7 +203,7 @@
</desc>
</entry>

<entry id="rtmhist_fincl3">
<entry id="fincl3">
<type>char(1000)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -228,7 +215,7 @@
</desc>
</entry>

<entry id="rtmhist_mfilt">
<entry id="mfilt">
<type>integer(6)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -240,7 +227,7 @@
</desc>
</entry>

<entry id="rtmhist_ndens">
<entry id="ndens">
<type>integer(6)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -254,7 +241,7 @@
</desc>
</entry>

<entry id="rtmhist_nhtfrq">
<entry id="nhtfrq">
<type>integer(6)</type>
<category>history</category>
<group>mosart_inparm</group>
Expand All @@ -268,4 +255,43 @@
</desc>
</entry>

<entry id="mosart_tracers">
<type>char</type>
<category>mosart</category>
<group>mosart_inparm</group>
<values>
<value>LIQ:ICE</value>
</values>
<desc>
Colon delimited string of mosart tracers.
</desc>
</entry>

<entry id="mosart_euler_calc">
<type>char</type>
<category>mosart</category>
<group>mosart_inparm</group>
<values>
<value>T:F</value>
</values>
<desc>
Colon delimited string of toggle to turn on Euler algorithm for
tracer name in mosart_tracers.
</desc>
</entry>

<entry id="budget_frq">
<type>integer(6)</type>
<category>mosart</category>
<group>mosart_inparm</group>
<values>
<value>-24</value>
</values>
<desc>
Frequency to perform budget check. Similar to nhtfrq,
positive means in time steps, 0=monthly, negative means hours
(i.e. 24 means every 24 time-steps and -24 means every day
</desc>
</entry>

</entry_id>
Loading

0 comments on commit 16bc164

Please sign in to comment.