Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more tests and merge in some other PR's #70

Merged
merged 13 commits into from
Nov 7, 2024
Merged
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
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>
54 changes: 29 additions & 25 deletions cime_config/testdefs/testlist_mosart.xml
Original file line number Diff line number Diff line change
@@ -1,27 +1,20 @@
<?xml version="1.0"?>
<testlist version="2.0">

<test name="PFS" grid="f10_f10_mg37" compset="I1850Clm50Sp" testmods="mosart/default">
<test name="PFS" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/default">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="derecho" compiler="gnu" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
<machine name="izumi" compiler="intel" category="mosart"></machine>
<machine name="izumi" compiler="gnu" category="mosart"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Performance test</option>
</options>
</test>
<test name="ERS_Ld5" grid="f10_f10_mg37" compset="I2000Clm50BgcCru" testmods="mosart/default">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Restart test without DEBUG</option>
</options>
</test>
<test name="ERS_Ld5" grid="f10_f10_mg37" compset="I1850Clm50BgcCropG" testmods="mosart/default">
<test name="ERS_Ld5" grid="f10_f10_mg37" compset="I1850Clm60BgcCropG" testmods="mosart/default">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
</machines>
Expand All @@ -30,56 +23,63 @@
<option name="comment" >Restart test without DEBUG with CISM</option>
</options>
</test>
<test name="ERS_Ld5" grid="f10_f10_mg37" compset="I2000Clm50BgcCru" testmods="mosart/iceOff">
<test name="ERS_Ld5" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/iceOff">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Restart test without DEBUG with ice flow off</option>
</options>
</test>
<test name="SMS_Ld5" grid="f10_f10_mg37" compset="I2000Clm50BgcCrop" testmods="mosart/mosartCold">
<test name="SMS_Ld5" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/mosartCold">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Run a Cold-Start with all machine/compilers</option>
<option name="comment" >Run a Cold-Start with main machine and all compilers</option>
</options>
</test>
<test name="SMS_Lh3" grid="f10_f10_mg37" compset="I2000Clm50BgcCru" testmods="mosart/mosartOff">
<test name="SMS_Lh3" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/mosartOff">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="izumi" compiler="gnu" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Test with MOSART turned off</option>
</options>
</test>
<test name="SMS_Lh3" grid="f10_f10_mg37" compset="I2000Clm51Sp" testmods="mosart/clmAccelSpinupIgnoreWarn">
<test name="SMS_Lh3" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/clmAccelSpinupIgnoreWarn">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Test with CLM accelerated spinup, but ignore warnigns so it will send a warning but still run</option>
<option name="comment" >Test with CLM accelerated spinup, but ignore warnings so it will send a warning but still run</option>
</options>
</test>
<test name="SMS_D_Ld5" grid="f10_f10_mg37" compset="I1850Clm50Bgc" testmods="mosart/default">
<test name="SMS_D_Ld5" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/default">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="derecho" compiler="gnu" category="mosart"></machine>
<machine name="derecho" compiler="nvhpc" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
<machine name="izumi" compiler="nag" category="mosart"></machine>
<machine name="izumi" compiler="intel" category="mosart"></machine>
<machine name="izumi" compiler="gnu" category="mosart"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Smoke test with DEBUG on all machines/compilers</option>
</options>
</test>
<test name="SMS_D" grid="f10_f10_mg37" compset="I1850Clm50Bgc" testmods="mosart/decompOpts">
<test name="SMS_D" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/decompOpts">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
Expand All @@ -89,36 +89,40 @@
<option name="comment" >decompOpts are not bit for bit on PE layout change</option>
</options>
</test>
<test name="SMS_D" grid="f10_f10_mg37" compset="I1850Clm50Bgc" testmods="mosart/passChannelDepths">
<test name="SMS_D" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/passChannelDepths">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
<machine name="izumi" compiler="nag" category="mosart"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Pass channel depths needed for hillslope model</option>
</options>
</test>
<test name="ERP_D" grid="f10_f10_mg37" compset="I1850Clm50Bgc" testmods="mosart/qgrwlOpts">
<test name="ERP_D" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/qgrwlOpts">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
<machine name="izumi" compiler="nag" category="mosart"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Exact restart test changing processor count with DEBUG on</option>
</options>
</test>
<test name="PEM_D" grid="f10_f10_mg37" compset="I1850Clm50Sp" testmods="mosart/inplacethreshold">
<test name="PEM_D" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/inplacethreshold">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
<machine name="izumi" compiler="nag" category="mosart"></machine>
</machines>
<options>
<option name="wallclock">00:20:00</option>
<option name="comment" >Set direct_in_place for threshold negative flow</option>
<option name="comment" >Change the processor count and set direct_in_place for threshold negative flow</option>
</options>
</test>
<test name="SMS" grid="f10_f10_mg37" compset="I1850Clm50Sp" testmods="mosart/nobypass">
<test name="SMS" grid="f10_f10_mg37" compset="I1850Clm60Sp" testmods="mosart/nobypass">
<machines>
<machine name="derecho" compiler="intel" category="mosart"></machine>
<machine name="betzy" compiler="intel" category="mosart_noresm"></machine>
Expand Down
6 changes: 4 additions & 2 deletions src/cpl/nuopc/rof_import_export.F90
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,10 @@ subroutine advertise_fields(gcomp, flds_scalar_name, rc)
call fldlist_add(fldsToRof_num, fldsToRof, 'Flrl_rofsub')
call fldlist_add(fldsToRof_num, fldsToRof, 'Flrl_rofi')
call fldlist_add(fldsToRof_num, fldsToRof, 'Flrl_irrig')
call fldlist_add(fldsToRof_num, fldsToRof, 'Fgrg_rofl') ! liq runoff from glc
call fldlist_add(fldsToRof_num, fldsToRof, 'Fgrg_rofi') ! ice runoff from glc
if ( ctl%rof_from_glc ) then
call fldlist_add(fldsToRof_num, fldsToRof, 'Fgrg_rofl') ! liq runoff from glc
call fldlist_add(fldsToRof_num, fldsToRof, 'Fgrg_rofi') ! ice runoff from glc
end if

do n = 1,fldsToRof_num
call NUOPC_Advertise(importState, standardName=fldsToRof(n)%stdname, &
Expand Down
2 changes: 2 additions & 0 deletions src/riverroute/mosart_control_type.F90
Original file line number Diff line number Diff line change
Expand Up @@ -990,10 +990,12 @@ subroutine init_decomp(this, locfn, decomp_option, use_halo_option, &
endif
pid = max(pid,0)
pid = min(pid,npes-1)
#ifndef NDEBUG
if (iam == pid) then
write(iulog,'(2a,i9,a,i9,a,i9,a,i9)')' mosart decomp info',&
' proc = ',iam,' begr = ',begr,' endr = ',endr,' numr = ',lnumr
endif
#endif
call mpi_barrier(mpicom_rof,ier)
enddo

Expand Down