diff --git a/.config_files.xml b/.config_files.xml
index a1775b52ce..e459a6e5d3 100644
--- a/.config_files.xml
+++ b/.config_files.xml
@@ -19,8 +19,8 @@
$SRCROOT
$SRCROOT
- $CIMEROOT/src/components/data_comps_mct/dlnd
- $CIMEROOT/src/components/cdeps/dlnd
+ $SRCROOT/components/cpl7/components/data_comps_mct/dlnd
+ $SRCROOT/components/cdeps/dlnd
$CIMEROOT/src/components/stub_comps_$COMP_INTERFACE/slnd
$CIMEROOT/src/components/xcpl_comps_$COMP_INTERFACE/xlnd
diff --git a/Externals.cfg b/Externals.cfg
index 881b4e6ee7..93dd607730 100644
--- a/Externals.cfg
+++ b/Externals.cfg
@@ -8,7 +8,7 @@ required = True
local_path = components/cism
protocol = git
repo_url = https://github.com/ESCOMP/CISM-wrapper
-tag = cismwrap_2_1_83
+tag = cismwrap_2_1_85
externals = Externals_CISM.cfg
required = True
@@ -16,14 +16,14 @@ required = True
local_path = components/rtm
protocol = git
repo_url = https://github.com/ESCOMP/RTM
-tag = rtm1_0_76
+tag = rtm1_0_77
required = True
[mosart]
local_path = components/mosart
protocol = git
repo_url = https://github.com/ESCOMP/MOSART
-tag = mosart1_0_42
+tag = mosart1_0_43
required = True
[mizuRoute]
@@ -37,22 +37,50 @@ required = True
local_path = cime
protocol = git
repo_url = https://github.com/ESMCI/cime
-tag = branch_tags/cime5.8.47_a01
+tag = cime6.0.3
required = True
[cmeps]
-local_path = cime/src/drivers/nuopc/
+tag = cmeps0.13.15
protocol = git
repo_url = https://github.com/ESCOMP/CMEPS.git
-tag = cmeps0.13.2
+local_path = components/cmeps
required = True
[cdeps]
-local_path = components/cdeps
+tag = cdeps0.12.14
protocol = git
repo_url = https://github.com/ESCOMP/CDEPS.git
-tag = cdeps0.12.11
-externals = Externals_CDEPS.cfg
+local_path = components/cdeps
+externals = Externals_CDEPS.cfg
+required = True
+
+[cpl7]
+tag = cpl7.0.3
+protocol = git
+repo_url = https://github.com/ESCOMP/CESM_CPL7andDataComps
+local_path = components/cpl7
+required = True
+
+[share]
+tag = share1.0.2
+protocol = git
+repo_url = https://github.com/ESCOMP/CESM_share
+local_path = share
+required = True
+
+[mct]
+tag = MCT_2.11.0
+protocol = git
+repo_url = https://github.com/MCSclimate/MCT
+local_path = libraries/mct
+required = True
+
+[parallelio]
+tag = pio2_5_4
+protocol = git
+repo_url = https://github.com/NCAR/ParallelIO
+local_path = libraries/parallelio
required = True
[doc-builder]
diff --git a/cime_config/buildnml b/cime_config/buildnml
index e3f6a5b933..0c5492da5a 100755
--- a/cime_config/buildnml
+++ b/cime_config/buildnml
@@ -32,7 +32,7 @@ def buildnml(case, caseroot, compname):
###############################################################################
"""Build the CTSM namelist """
- # Build the component namelist
+ # Build the component namelist
if compname != "ctsm" and compname != "clm":
raise AttributeError
@@ -73,10 +73,10 @@ def buildnml(case, caseroot, compname):
os.makedirs(ctsmconf)
# -----------------------------------------------------
- # Create config_cache.xml file
+ # Create config_cache.xml file
# -----------------------------------------------------
- # Note that build-namelist utilizes the contents of the config_cache.xml file in
+ # Note that build-namelist utilizes the contents of the config_cache.xml file in
# the namelist_defaults.xml file to obtain namelist variables
clm_phys = case.get_value("CLM_PHYSICS_VERSION")
@@ -159,15 +159,15 @@ def buildnml(case, caseroot, compname):
ignore = "-ignore_ic_date"
tuning = "-lnd_tuning_mode %s "%lnd_tuning_mode
-
+
spinup = "-clm_accelerated_spinup %s "%clm_accelerated_spinup
-
+
infile = os.path.join(ctsmconf, "namelist")
-
+
inputdata_file = os.path.join(caseroot,"Buildconf","ctsm.input_data_list")
-
+
lndfrac_file = os.path.join(lnd_domain_path,lnd_domain_file)
-
+
config_cache_file = os.path.join(caseroot,"Buildconf", compname+"conf","config_cache.xml")
# -----------------------------------------------------
@@ -191,7 +191,7 @@ def buildnml(case, caseroot, compname):
# If multi-instance case does not have restart file, use
# single-case restart for each instance
- rpointer = "rpointer.lnd"
+ rpointer = "rpointer.lnd"
if (os.path.isfile(os.path.join(rundir,rpointer)) and
(not os.path.isfile(os.path.join(rundir,rpointer + inst_string)))):
shutil.copy(os.path.join(rundir, rpointer),
@@ -234,7 +234,7 @@ def buildnml(case, caseroot, compname):
"-configuration %s -structure %s "
"-lnd_frac %s -glc_nec %s %s -co2_ppmv %s -co2_type %s -config %s -driver %s "
"%s %s %s %s"
- %(cmd, _CIMEROOT, infile, din_loc_root, inputdata_file, ignore, start_ymd, clm_namelist_opts,
+ %(cmd, _CIMEROOT, infile, din_loc_root, inputdata_file, ignore, start_ymd, clm_namelist_opts,
nomeg, usecase, lnd_grid, clmusr, start_type, caseroot,
configuration, structure,
lndfrac_file, glc_nec, glc_use_antarctica_flag, ccsm_co2_ppmv, clm_co2_type, config_cache_file, driver,
diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml
index f0e7ac509b..7dafdcfd27 100644
--- a/cime_config/testdefs/ExpectedTestFails.xml
+++ b/cime_config/testdefs/ExpectedTestFails.xml
@@ -37,20 +37,6 @@
-
-
- FAIL
- ESMCI/cime#3915
-
-
-
-
-
- FAIL
- ESMCI/cime#3915
-
-
-
FAIL
diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml
index 97bd63eb06..52bf8596c4 100644
--- a/cime_config/testdefs/testlist_clm.xml
+++ b/cime_config/testdefs/testlist_clm.xml
@@ -1432,7 +1432,7 @@
-
@@ -1680,7 +1680,7 @@
-
+
@@ -2422,7 +2422,7 @@
-
+
@@ -2442,7 +2442,7 @@
-
+
@@ -2520,16 +2520,6 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/cime_config/testdefs/testmods_dirs/clm/NEON_NIWO/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/NEON_NIWO/include_user_mods
deleted file mode 100644
index 56aab07c3e..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/NEON_NIWO/include_user_mods
+++ /dev/null
@@ -1 +0,0 @@
-../../../../usermods_dirs/NEON/NIWO
diff --git a/cime_config/testdefs/testmods_dirs/clm/extra_outputs/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/extra_outputs/user_nl_clm
index 6d1167fc39..6dc5225f1d 100644
--- a/cime_config/testdefs/testmods_dirs/clm/extra_outputs/user_nl_clm
+++ b/cime_config/testdefs/testmods_dirs/clm/extra_outputs/user_nl_clm
@@ -1,2 +1,6 @@
calc_human_stress_indices = 'ALL'
hist_master_list_file = .true.
+
+hist_fincl1 += 'GSSUN:L43200', 'GSSHA:L43200', 'FSDSND:L43200', 'FSRND:L43200', 'FSRSFND:L43200',
+ 'SSRE_FSRND:L43200', 'FSDSVD:L43200', 'FSDSVI:L43200',
+ 'FSRVD:L43200', 'FSRSFVD:L43200', 'SSRE_FSRVD:L43200'
diff --git a/cime_config/testdefs/testmods_dirs/clm/localtimeOutput/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/localtimeOutput/include_user_mods
deleted file mode 100644
index fe0e18cf88..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/localtimeOutput/include_user_mods
+++ /dev/null
@@ -1 +0,0 @@
-../default
diff --git a/cime_config/testdefs/testmods_dirs/clm/localtimeOutput/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/localtimeOutput/user_nl_clm
deleted file mode 100644
index 772436f82b..0000000000
--- a/cime_config/testdefs/testmods_dirs/clm/localtimeOutput/user_nl_clm
+++ /dev/null
@@ -1,3 +0,0 @@
- hist_fincl1 += 'GSSUN:L43200', 'GSSHA:L43200', 'FSDSND:L43200', 'FSRND:L43200', 'FSRSFND:L43200',
- 'SSRE_FSRND:L43200', 'FSDSVD:L43200', 'FSDSVI:L43200', 'PARVEG:L43200',
- 'FSRVD:L43200', 'FSRSFVD:L43200', 'SSRE_FSRVD:L43200'
diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm
index 01db7d0380..742cd6f65e 100644
--- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm
+++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm
@@ -19,7 +19,7 @@
!----------------------------------------------------------------------------------
flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets
-fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210513.nc"
+fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_78pfts_CMIP6_simyr2000_${NEONSITE}_c210720.nc"
model_year_align_urbantv = 2018
stream_year_first_urbantv = 2018
stream_year_last_urbantv = 2019
@@ -29,3 +29,9 @@ stream_year_last_ndep = 2019
model_year_align_popdens = 2018
stream_year_first_popdens = 2018
stream_year_last_popdens = 2019
+stream_fldfilename_lightng = '$DIN_LOC_ROOT/atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720.lnfm_Total_NEONarea_c210625.nc'
+! h1 output stream
+hist_fincl2 = 'AR','ELAI','FCEV','FCTR','FGEV','FIRA','FSA','FSH','GPP','H2OSOI',
+ 'HR','SNOW_DEPTH','TBOT','TSOI','SOILC_vr','FV','NET_NMIN_vr'
+hist_mfilt(2) = 48
+hist_nhtfrq(2) = 1
diff --git a/doc/ChangeLog b/doc/ChangeLog
index f8747837c6..0348311856 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,4 +1,132 @@
===============================================================
+Tag name: ctsm5.1.dev049
+Originator(s): jedwards4b/erik (Erik Kluzek,UCAR/TSS,303-497-1326)
+Date: Mon Jul 26 01:31:04 MDT 2021
+One-line Summary: Update externals, NEON updates, fix stop_option=date, move neon niwo test to match user_mods, local time option
+
+Purpose and description of changes
+----------------------------------
+
+Move the NEON_NIWO test to NEON/NIWO to match the names in usermods. Output particular fields for the NEON
+cases, and use a reduced size dataset for lightning for NEON sites. Update NEON surface datasets with
+new scripts included here. Fix stop option for NUOPC. NEON NIWO test in testlist explicity uses the user-mod
+as well as the defaults testmod.
+
+This script is for modifying the surface dataset at neon sites using data available from the neon server.
+
+Also add the ability to output history fields for a particular time of day (in seconds) with the LXXXXX
+history averaging option from Ronny Meier.
+
+Externals are updated extensively to the version with cpl7 cime directories split out for CESM.
+
+Significant changes to scientifically-supported configurations
+--------------------------------------------------------------
+
+Does this tag change answers significantly for any of the following physics configurations? No
+(Details of any changes will be given in the "Answer changes" section below.)
+
+ [Put an [X] in the box for any configuration with significant answer changes.]
+
+[ ] clm5_1
+
+[ ] clm5_0
+
+[ ] ctsm5_0-nwp
+
+[ ] clm4_5
+
+
+Bugs fixed or introduced
+------------------------
+
+Issues fixed (include CTSM Issue #): #1412
+ Fixes #1412 -- Reduce data requirements for NEON single point sites
+ Fixes #1353 -- Need script to modify NEON surface datasets
+
+CIME Issues fixed (include issue #): #3915
+ Fixes cime/#3915 -- CESM nuopc build fails on izumi_nag
+
+Known bugs introduced in this tag (include issue #):
+ #1437 -- modify_singlept_site_neon.py seems to have trouble finding latest file and creates hidden file for output
+ #1436 -- Need subset_data.py script to be able to run from any directory
+
+Known bugs found since the previous tag (include issue #):
+ #1429 -- Modified NEON surface datasets have errors
+
+
+Notes of particular relevance for users
+---------------------------------------
+
+Caveats for users (e.g., need to interpolate initial conditions):
+ NEON cases now download data to $RUNDIR
+
+Changes to the datasets (e.g., parameter, surface or initial files): NEON sufdata
+
+Notes of particular relevance for developers:
+---------------------------------------------
+NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide
+[Remove any lines that don't apply. Remove entire section if nothing applies.]
+
+Caveats for developers (e.g., code that is duplicated that requires double maintenance):
+ Note when you have a test with two testmod directories it won't be able to reduce any deuplication
+ that happens in directories used between the two.
+
+Changes to tests or testing:
+ Test mods in testlists can now include multiple test mod directories and this is used for the NEON test
+
+
+Testing summary: regular
+----------------
+ [PASS means all tests PASS; OK means tests PASS other than expected fails.]
+
+ build-namelist tests (if CLMBuildNamelist.pm has changed):
+
+ cheyenne - PASS (47 tests differ from before because of NEON surface dataset update)
+
+ tools-tests (test/tools) (if tools have been changed):
+
+ cheyenne - OK
+
+ python testing (if python code has changed; see instructions in python/README.md; document testing done):
+
+ cheyenne - PASS
+
+ regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
+
+ cheyenne ---- OK
+ izumi ------- OK
+
+Answer changes
+--------------
+
+Changes answers relative to baseline: No bit-for-bit
+
+-------------
+
+List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cism, mosart, rtm, cime, cmeps, cdeps (cime split)
+ cism to cismwrap_2_1_85
+ mosart to mosart1_0_43
+ rtm to rtm1_0_77
+ cime to cime6.0.3
+ cmeps to cmeps0.13.15
+ cdeps to cdeps0.12.14
+
+ New cime-split externals:
+
+ cpl7.0.3
+ share1.0.2
+ MCT_2.11.0
+ pio2_5_4
+
+Pull Requests that document the changes (include PR ids):
+(https://github.com/ESCOMP/ctsm/pull)
+
+ #1411 -- fix stop_option=date, move neon niwo test to match user_mods
+ #1375 -- Script for modifying neon surface dataset
+ #1374 -- Local solar time option for average flag
+
+===============================================================
+===============================================================
Tag name: ctsm5.1.dev048
Originator(s): slevis (Samuel Levis,SLevis Consulting,303-665-1310)
Date: Sat Jul 10 11:39:55 MDT 2021
diff --git a/doc/ChangeSum b/doc/ChangeSum
index 7b2b7cce94..e18d42d22b 100644
--- a/doc/ChangeSum
+++ b/doc/ChangeSum
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
+ ctsm5.1.dev049 jedwards 07/26/2021 Update externals, NEON updates, fix stop_option=date, move neon niwo test to match user_mods, local time option
ctsm5.1.dev048 slevis 07/10/2021 Make certain history fields descriptive inst. of labeling by number
ctsm5.1.dev047 mvertens 07/08/2021 Start bounds at 1; remove references to MCT
ctsm5.1.dev046 rgknox 07/02/2021 Updating external fates has to tag sci.1.46.2_api.16.1.0
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 490aa3542a..395c2e4868 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -16,10 +16,10 @@ add_definitions(-DHIDE_MPI)
# done first, so that in case of name collisions, the CLM versions take
# precedence (when there are two files with the same name, the one added later
# wins).
-add_subdirectory(${CIMEROOT}/src/share/util csm_share)
-add_subdirectory(${CIMEROOT}/src/share/unit_test_stubs/util csm_share_stubs)
-add_subdirectory(${CIMEROOT}/src/share/esmf_wrf_timemgr esmf_wrf_timemgr)
-add_subdirectory(${CIMEROOT}/src/drivers/mct/shr drv_share)
+add_subdirectory(${CLM_ROOT}/share/src csm_share)
+add_subdirectory(${CLM_ROOT}/share/unit_test_stubs/util csm_share_stubs)
+add_subdirectory(${CLM_ROOT}/share/src/esmf_wrf_timemgr esmf_wrf_timemgr)
+add_subdirectory(${CLM_ROOT}/components/cpl7/driver/shr drv_share)
# Extract just the files we need from drv_share
set (drv_sources_needed_base
@@ -83,12 +83,11 @@ add_dependencies(esmf_wrf_timemgr csm_share)
add_dependencies(clm csm_share esmf_wrf_timemgr)
# We need to look for header files here, in order to pick up shr_assert.h
-include_directories(${CIMEROOT}/src/share/include)
+include_directories(${CLM_ROOT}/share/include)
# And we need to look for header files here, for some include files needed by
# the esmf_wrf_timemgr code
-include_directories(${CIMEROOT}/src/share/esmf_wrf_timemgr)
-
+include_directories(${CLM_ROOT}/share/src/esmf_wrf_timemgr)
# Tell cmake to look for libraries & mod files here, because this is where we built libraries
include_directories(${CMAKE_CURRENT_BINARY_DIR})
link_directories(${CMAKE_CURRENT_BINARY_DIR})
@@ -106,4 +105,4 @@ add_subdirectory(${CLM_ROOT}/src/soilbiogeochem/test clm_soilbiogeochem_test)
add_subdirectory(${CLM_ROOT}/src/dyn_subgrid/test clm_dyn_subgrid_test)
add_subdirectory(${CLM_ROOT}/src/main/test clm_main_test)
add_subdirectory(${CLM_ROOT}/src/init_interp/test clm_init_interp_test)
-add_subdirectory(${CLM_ROOT}/src/self_tests/test clm_self_tests_test)
\ No newline at end of file
+add_subdirectory(${CLM_ROOT}/src/self_tests/test clm_self_tests_test)
diff --git a/src/cpl/nuopc/lnd_comp_nuopc.F90 b/src/cpl/nuopc/lnd_comp_nuopc.F90
index d4bf072402..77c666b835 100644
--- a/src/cpl/nuopc/lnd_comp_nuopc.F90
+++ b/src/cpl/nuopc/lnd_comp_nuopc.F90
@@ -76,9 +76,9 @@ module lnd_comp_nuopc
real(R8) :: orb_mvelp ! attribute - moving vernal equinox longitude
real(R8) :: orb_eccen ! attribute and update- orbital eccentricity
- logical :: scol_valid ! if single_column, does point have a mask of zero
+ logical :: scol_valid ! if single_column, does point have a mask of zero
- integer :: nthrds ! Number of threads per task in this component
+ integer :: nthrds ! Number of threads per task in this component
character(len=*) , parameter :: orb_fixed_year = 'fixed_year'
character(len=*) , parameter :: orb_variable_year = 'variable_year'
@@ -324,7 +324,7 @@ subroutine InitializeRealize(gcomp, importState, exportState, clock, rc)
use decompMod , only : bounds_type, get_proc_bounds
use lnd_set_decomp_and_domain , only : lnd_set_decomp_and_domain_from_readmesh
use lnd_set_decomp_and_domain , only : lnd_set_mesh_for_single_column
- use lnd_set_decomp_and_domain , only : lnd_set_decomp_and_domain_for_single_column
+ use lnd_set_decomp_and_domain , only : lnd_set_decomp_and_domain_for_single_column
! input/output variables
type(ESMF_GridComp) :: gcomp
@@ -385,7 +385,7 @@ subroutine InitializeRealize(gcomp, importState, exportState, clock, rc)
call ESMF_LogWrite(subname//' called', ESMF_LOGMSG_INFO)
!----------------------------------------------------------------------------
- ! Single column logic - if mask is zero for nearest neighbor search then
+ ! Single column logic - if mask is zero for nearest neighbor search then
! set all export state fields to zero and return
!----------------------------------------------------------------------------
@@ -477,24 +477,24 @@ subroutine InitializeRealize(gcomp, importState, exportState, clock, rc)
call memmon_dump_fort('memmon.out','lnd_comp_nuopc_InitializeRealize:start::',lbnum)
endif
#endif
- !----------------------------------------------------------------------------
- ! Initialize component threading
- !----------------------------------------------------------------------------
-
- call ESMF_GridCompGet(gcomp, vm=vm, localPet=localPet, rc=rc)
- if (chkerr(rc,__LINE__,u_FILE_u)) return
- call ESMF_VMGet(vm, pet=localPet, peCount=localPeCount, rc=rc)
- if (chkerr(rc,__LINE__,u_FILE_u)) return
-
- if(localPeCount == 1) then
- call NUOPC_CompAttributeGet(gcomp, "nthreads", value=cvalue, rc=rc)
- if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=u_FILE_u)) return
- read(cvalue,*) nthrds
- else
- nthrds = localPeCount
- endif
-
- !$ call omp_set_num_threads(nthrds)
+ !----------------------------------------------------------------------------
+ ! Initialize component threading
+ !----------------------------------------------------------------------------
+
+ call ESMF_GridCompGet(gcomp, vm=vm, localPet=localPet, rc=rc)
+ if (chkerr(rc,__LINE__,u_FILE_u)) return
+ call ESMF_VMGet(vm, pet=localPet, peCount=localPeCount, rc=rc)
+ if (chkerr(rc,__LINE__,u_FILE_u)) return
+
+ if(localPeCount == 1) then
+ call NUOPC_CompAttributeGet(gcomp, "nthreads", value=cvalue, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=u_FILE_u)) return
+ read(cvalue,*) nthrds
+ else
+ nthrds = localPeCount
+ endif
+
+ !$ call omp_set_num_threads(nthrds)
!----------------------
! Consistency check on namelist filename
@@ -966,6 +966,7 @@ subroutine ModelSetRunClock(gcomp, rc)
character(len=256) :: stop_option ! Stop option units
integer :: stop_n ! Number until stop interval
integer :: stop_ymd ! Stop date (YYYYMMDD)
+ integer :: stop_tod ! Stop time of day (seconds)
type(ESMF_ALARM) :: stop_alarm
character(len=128) :: name
integer :: alarmcount
@@ -1004,7 +1005,7 @@ subroutine ModelSetRunClock(gcomp, rc)
call ESMF_GridCompGet(gcomp, name=name, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
- call ESMF_LogWrite(subname//'setting alarms for' // trim(name), ESMF_LOGMSG_INFO)
+ call ESMF_LogWrite(subname//'setting alarms for ' // trim(name), ESMF_LOGMSG_INFO)
!----------------
! Restart alarm
@@ -1044,10 +1045,17 @@ subroutine ModelSetRunClock(gcomp, rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) stop_ymd
- call alarmInit(mclock, stop_alarm, stop_option, &
+ call NUOPC_CompAttributeGet(gcomp, name="stop_tod", value=cvalue, rc=rc)
+ if (ChkErr(rc,__LINE__,u_FILE_u)) return
+ read(cvalue,*) stop_tod
+
+ call alarmInit(mclock, &
+ alarm = stop_alarm, &
+ option = stop_option, &
opt_n = stop_n, &
opt_ymd = stop_ymd, &
- RefTime = mcurrTime, &
+ opt_tod = stop_tod, &
+ RefTime = mcurrTime, &
alarmname = 'alarm_stop', rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
diff --git a/src/main/histFileMod.F90 b/src/main/histFileMod.F90
index 8ae2f37f0d..ec19eb35b3 100644
--- a/src/main/histFileMod.F90
+++ b/src/main/histFileMod.F90
@@ -5768,7 +5768,7 @@ function avgflag_valid(avgflag, blank_valid) result(valid)
valid = .true.
if(tod < dtime .or. isecspday - tod <= dtime) then
write(iulog,*) 'Warning: Local time history output ', avgflag, ' is closer than ', &
- 'dtime to midnight! This problematic particularly for daily output.'
+ 'dtime to midnight! This is problematic particularly for daily output.'
end if
else
valid = .false.