From 2597b0a993128ff6a351bfb9a0ebd66bbf4dbb82 Mon Sep 17 00:00:00 2001 From: Robert Oehmke Date: Mon, 16 Sep 2024 11:53:39 -0600 Subject: [PATCH 1/6] Set versioning for 8.7.0 release. --- README.md | 2 +- src/Infrastructure/Util/include/ESMC_Macros.h | 6 +++--- src/Infrastructure/Util/src/ESMF_UtilTypes.F90 | 6 +++--- src/addon/NUOPC/doc/NUOPC_howtodoc.ctex | 2 +- src/addon/NUOPC/doc/NUOPC_refdoc.ctex | 2 +- src/addon/esmpy/pyproject.toml | 2 +- src/doc/ESMC_crefdoc.ctex | 2 +- src/doc/ESMF_refdoc.ctex | 2 +- src/doc/ESMF_usrdoc.ctex | 2 +- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 499f50e5fd..b011749030 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Pre-built binaries for ESMF and ESMPy are available through a number of channels ``` docker run -it --rm esmf/esmf-build-release:latest ``` - Replace `latest` in the above command with a valid version, like `8.6.0`, in order to access a specific ESMF version. + Replace `latest` in the above command with a valid version, like `8.7.0`, in order to access a specific ESMF version. * [Anaconda Conda-Forge](https://anaconda.org/conda-forge/): Under [conda-forge/esmpy](https://anaconda.org/conda-forge/esmpy). To install locally (_note Windows is not supported_), run: ``` diff --git a/src/Infrastructure/Util/include/ESMC_Macros.h b/src/Infrastructure/Util/include/ESMC_Macros.h index 37d5dfd600..a66a6f74b2 100644 --- a/src/Infrastructure/Util/include/ESMC_Macros.h +++ b/src/Infrastructure/Util/include/ESMC_Macros.h @@ -54,10 +54,10 @@ #define ESMF_VERSION_MINOR 7 #define ESMF_VERSION_REVISION 0 #define ESMF_VERSION_PATCHLEVEL 0 -#define ESMF_VERSION_PUBLIC 'F' -#define ESMF_VERSION_BETASNAPSHOT 'T' +#define ESMF_VERSION_PUBLIC 'T' +#define ESMF_VERSION_BETASNAPSHOT 'F' -#define ESMF_VERSION_STRING "8.7.0 beta snapshot" +#define ESMF_VERSION_STRING "8.7.0" #endif // ESMC_MACROS_H diff --git a/src/Infrastructure/Util/src/ESMF_UtilTypes.F90 b/src/Infrastructure/Util/src/ESMF_UtilTypes.F90 index be758f0daf..16d1a964bf 100644 --- a/src/Infrastructure/Util/src/ESMF_UtilTypes.F90 +++ b/src/Infrastructure/Util/src/ESMF_UtilTypes.F90 @@ -85,10 +85,10 @@ module ESMF_UtilTypesMod integer, parameter :: ESMF_VERSION_MINOR = 7 integer, parameter :: ESMF_VERSION_REVISION = 0 integer, parameter :: ESMF_VERSION_PATCHLEVEL = 0 - logical, parameter :: ESMF_VERSION_PUBLIC = .false. - logical, parameter :: ESMF_VERSION_BETASNAPSHOT = .true. + logical, parameter :: ESMF_VERSION_PUBLIC = .true. + logical, parameter :: ESMF_VERSION_BETASNAPSHOT = .false. - character(*), parameter :: ESMF_VERSION_STRING = "8.7.0 beta snapshot" + character(*), parameter :: ESMF_VERSION_STRING = "8.7.0" #if defined (ESMF_NETCDF) logical, parameter :: ESMF_IO_NETCDF_PRESENT = .true. diff --git a/src/addon/NUOPC/doc/NUOPC_howtodoc.ctex b/src/addon/NUOPC/doc/NUOPC_howtodoc.ctex index 4499ecb7db..1ed74030c0 100644 --- a/src/addon/NUOPC/doc/NUOPC_howtodoc.ctex +++ b/src/addon/NUOPC/doc/NUOPC_howtodoc.ctex @@ -17,7 +17,7 @@ \addtolength{\oddsidemargin}{-.75in} \newcommand{\mytitle}{\Large {\bf Building a NUOPC Model}} \newcommand{\myauthors}{\large {\it Content Standards Committee (CSC) Members}} -\newcommand{\myversion}{ESMF 8.7.0 beta snapshot} +\newcommand{\myversion}{ESMF 8.7.0} % set a standard paragraph style \setlength{\parskip}{0pt} \setlength{\parindent}{0pt} diff --git a/src/addon/NUOPC/doc/NUOPC_refdoc.ctex b/src/addon/NUOPC/doc/NUOPC_refdoc.ctex index 92777d849e..08cf5c49b4 100644 --- a/src/addon/NUOPC/doc/NUOPC_refdoc.ctex +++ b/src/addon/NUOPC/doc/NUOPC_refdoc.ctex @@ -17,7 +17,7 @@ \addtolength{\oddsidemargin}{-.75in} \newcommand{\mytitle}{\Large {\bf NUOPC Layer Reference}} \newcommand{\myauthors}{\large {\it Content Standards Committee (CSC) Members}} -\newcommand{\myversion}{ESMF 8.7.0 beta snapshot} +\newcommand{\myversion}{ESMF 8.7.0} % set a standard paragraph style \setlength{\parskip}{0pt} \setlength{\parindent}{0pt} diff --git a/src/addon/esmpy/pyproject.toml b/src/addon/esmpy/pyproject.toml index 3c7c03aa5a..2de064acde 100644 --- a/src/addon/esmpy/pyproject.toml +++ b/src/addon/esmpy/pyproject.toml @@ -33,7 +33,7 @@ enabled = true template = "{tag}" dev_template = "{tag}" dirty_template = "{tag}" -starting_version = "8.7.0beta" # this is a backup for pip <= 22.0 where git-versioning doesn't work +starting_version = "8.7.0" # this is a backup for pip <= 22.0 where git-versioning doesn't work [tool.dynamic] version = "placeholder" # this is a placeholder for the version pulled with git-versioning diff --git a/src/doc/ESMC_crefdoc.ctex b/src/doc/ESMC_crefdoc.ctex index 9c9b12f657..087062db1c 100644 --- a/src/doc/ESMC_crefdoc.ctex +++ b/src/doc/ESMC_crefdoc.ctex @@ -14,7 +14,7 @@ \newcommand{\sreq}[1]{\subsection{\hspace{.2in}#1}} \newcommand{\ssreq}[1]{\subsubsection{\hspace{.2in}#1}} \newcommand{\mytitle}{\longname \docmttype ~~} -\newcommand{\myversion}{Version 8.7.0 beta snapshot} +\newcommand{\myversion}{Version 8.7.0} \newenvironment {reqlist} diff --git a/src/doc/ESMF_refdoc.ctex b/src/doc/ESMF_refdoc.ctex index 05c693040c..292f77b3de 100644 --- a/src/doc/ESMF_refdoc.ctex +++ b/src/doc/ESMF_refdoc.ctex @@ -15,7 +15,7 @@ \newcommand{\sreq}[1]{\subsection{\hspace{.2in}#1}} \newcommand{\ssreq}[1]{\subsubsection{\hspace{.2in}#1}} \newcommand{\mytitle}{\longname \docmttype ~~} -\newcommand{\myversion}{Version 8.7.0 beta snapshot} +\newcommand{\myversion}{Version 8.7.0} \input{common_commands} diff --git a/src/doc/ESMF_usrdoc.ctex b/src/doc/ESMF_usrdoc.ctex index 8a10bcc157..d3de1fc6a4 100644 --- a/src/doc/ESMF_usrdoc.ctex +++ b/src/doc/ESMF_usrdoc.ctex @@ -14,7 +14,7 @@ \newcommand{\sreq}[1]{\subsection{\hspace{.2in}#1}} \newcommand{\ssreq}[1]{\subsubsection{\hspace{.2in}#1}} \newcommand{\mytitle}{\longname \docmttype ~~} -\newcommand{\myversion}{Version 8.7.0 beta snapshot} +\newcommand{\myversion}{Version 8.7.0} \newenvironment {reqlist} From ee70455b15823449b3870a46121dce29cb4a9002 Mon Sep 17 00:00:00 2001 From: Robert Oehmke Date: Wed, 2 Oct 2024 13:55:29 -0600 Subject: [PATCH 2/6] Re-BOPI ESMF_FieldBundleGetIndex() to enable discussion of adding an ordering flag before making interface officially public. --- src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 b/src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 index e160fae06a..9e2a21aab0 100644 --- a/src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 +++ b/src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 @@ -2183,7 +2183,7 @@ msg="This call does not work with packed FieldBundle.",& !------------------------------------------------------------------------------ ^undef ESMF_METHOD ^define ESMF_METHOD "ESMF_FieldBundleGetIndex()" -!BOP +!BOPI ! !IROUTINE: ESMF_FieldBundleGet - Access the Field at a specific index in a FieldBundle ! ! !INTERFACE: @@ -2214,7 +2214,7 @@ type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} ! -!EOP +!EOPI !------------------------------------------------------------------------------ integer :: localrc ! local return code integer :: l_fieldCount, i ! helper variable From 32de985bf7668334c92db91882e893f8f862d477 Mon Sep 17 00:00:00 2001 From: Robert Oehmke Date: Wed, 2 Oct 2024 14:26:29 -0600 Subject: [PATCH 3/6] Add 8.7 status information to ESMF_ClockCreateNew() and ESMF_ClockGet(). --- .../TimeMgr/interface/ESMF_Clock.F90 | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 index fce650e6d4..18bceda375 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 @@ -447,6 +447,15 @@ function ESMF_ClockCreateNew(timeStep, startTime, keywordEnforcer, & ! !STATUS: ! \begin{itemize} ! \item\apiStatusCompatibleVersion{5.2.0r} +! \item\apiStatusModifiedSinceVersion{5.2.0r} +! \begin{description} +! \item[8.7.0] Added argument {\tt repeatDuration}. +! The new argument allows the user to specify that they want the +! clock to be a repeat clock and repeatedly go through the same +! interval of time. +! \end{description} +! \end{itemize} + ! \end{itemize} ! ! !DESCRIPTION: @@ -718,6 +727,11 @@ subroutine ESMF_ClockGet(clock, keywordEnforcer, & ! !STATUS: ! \begin{itemize} ! \item\apiStatusCompatibleVersion{5.2.0r} +! \begin{description} +! \item[8.7.0] Added arguments {\tt repeatDuration} and {\tt repeatCount}. +! The argument {\tt repeatDuration} allows the user to get information +! about how far the clock will advance before repeating. The argument +! {\tt repeatCount} tells how many times the clock has repeated. ! \end{itemize} ! ! !DESCRIPTION: @@ -773,9 +787,11 @@ subroutine ESMF_ClockGet(clock, keywordEnforcer, & ! {\tt ESMF\_ClockIsReverse()}, an alternative for convenient use in ! "if" and "do while" constructs. ! \item[{[repeatDuration]}] -! If not 0, then how long the clock should run before going back to startTime. +! If not 0, then tells how long the clock will advance before going back to +! startTime. If 0, then the clock is not a repeat clock. ! \item[{[repeatCount]}] -! The number of times this clock has gone back to startTime when repeating. +! If this clock is a repeat clock, then gives the number of times this +! clock has gone back to startTime. ! \item[{[name]}] ! The name of this clock. ! \item[{[rc]}] From 955adb5dc29b0f49c1bf5ecee94db88ebecb031f Mon Sep 17 00:00:00 2001 From: Robert Oehmke Date: Wed, 2 Oct 2024 14:39:16 -0600 Subject: [PATCH 4/6] Specify more precisely which ISO version (8601) the TimeInterval set from string usees. --- .../TimeMgr/interface/ESMF_TimeInterval.F90 | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 index d96f160f26..a64cdc17b6 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 @@ -3135,7 +3135,7 @@ end subroutine ESMF_ParseDurString #undef ESMF_METHOD #define ESMF_METHOD "ESMF_TimeIntervalSetStr()" !BOP -! !IROUTINE: ESMF_TimeIntervalSet - Initialize or set a TimeInterval from an ISO format string +! !IROUTINE: ESMF_TimeIntervalSet - Initialize or set a TimeInterval from an ISO 8601 format string ! \label{API:TimeIntervalSetStr} ! !INTERFACE: @@ -3152,7 +3152,7 @@ subroutine ESMF_TimeIntervalSetStr(timeinterval, timeIntervalString, rc) ! ! !DESCRIPTION: ! Sets the value of the {\tt ESMF\_TimeInterval} using a user specified -! string in ISO duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for information about the format. In ESMF's implementation the time values can have the following types: +! string in ISO 8601 duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for information about the format. In ESMF's implementation the time values can have the following types: ! \begin{description} ! \item[y] - the number of years expressed in up to a 64-bit integer ! \item[mm] - the number of months expressed in up to a 64-bit integer @@ -3170,7 +3170,7 @@ subroutine ESMF_TimeIntervalSetStr(timeinterval, timeIntervalString, rc) ! \item[timeinterval] ! The object instance to initialize. ! \item[timeIntervalString] -! ISO format duration string (e.g. P[y]Y[mm]M[d]DT[h]H[m]M[s]S). +! ISO 8601 format duration string (e.g. P[y]Y[mm]M[d]DT[h]H[m]M[s]S). ! \item[{[rc]}] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} @@ -3229,7 +3229,7 @@ end subroutine ESMF_TimeIntervalSetStr #undef ESMF_METHOD #define ESMF_METHOD "ESMF_TimeIntervalSetStrCal()" !BOP -! !IROUTINE: ESMF_TimeIntervalSet - Initialize or set a TimeInterval from an ISO format string and calendar +! !IROUTINE: ESMF_TimeIntervalSet - Initialize or set a TimeInterval from an ISO 8601 format string and calendar ! !INTERFACE: ! Private name; call using ESMF_TimeIntervalSet() @@ -3246,7 +3246,7 @@ subroutine ESMF_TimeIntervalSetStrCal(timeinterval, calendar, & ! ! !DESCRIPTION: ! Sets the value of the {\tt ESMF\_TimeInterval} using a user specified -! string in ISO duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for +! string in ISO 8601 duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for ! information about the format. Also, see the description for the method ! {\tt ESMF\_TimeIntervalSetStr()}~\ref{API:TimeIntervalSetStr} ! for the specific types supported by ESMF for the values in the duration string. @@ -3265,7 +3265,7 @@ subroutine ESMF_TimeIntervalSetStrCal(timeinterval, calendar, & ! it contains a calendar. Alternate to, and mutually exclusive with, ! calkindflag below. Primarily for specifying a custom calendar kind. ! \item[timeIntervalString] -! ISO format duration string (e.g. P[y]Y[mm]M[d]DT[h]H[m]M[s]S). +! ISO 8601 format duration string (e.g. P[y]Y[mm]M[d]DT[h]H[m]M[s]S). ! \item[{[rc]}] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} @@ -3325,7 +3325,7 @@ end subroutine ESMF_TimeIntervalSetStrCal #undef ESMF_METHOD #define ESMF_METHOD "ESMF_TimeIntervalSetStrCalTyp()" !BOP -! !IROUTINE: ESMF_TimeIntervalSet - Initialize or set a TimeInterval from an ISO format string and calendar kind +! !IROUTINE: ESMF_TimeIntervalSet - Initialize or set a TimeInterval from an ISO 8601 format string and calendar kind ! !INTERFACE: ! Private name; call using ESMF_TimeIntervalSet() @@ -3342,7 +3342,7 @@ subroutine ESMF_TimeIntervalSetStrCalTyp(timeinterval, calkindflag, & ! ! !DESCRIPTION: ! Sets the value of the {\tt ESMF\_TimeInterval} using a user specified -! string in ISO duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for +! string in ISO 8601 duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for ! information about the format. Also, see the description for the method ! {\tt ESMF\_TimeIntervalSetStr()}~\ref{API:TimeIntervalSetStr} ! for the specific types supported by ESMF for the values in the duration string. @@ -3356,7 +3356,7 @@ subroutine ESMF_TimeIntervalSetStrCalTyp(timeinterval, calkindflag, & ! calendar above. More convenient way of specifying a built-in ! calendar kind. ! \item[timeIntervalString] -! ISO format duration string (e.g. P[y]Y[mm]M[d]DT[h]H[m]M[s]S). +! ISO 8601 format duration string (e.g. P[y]Y[mm]M[d]DT[h]H[m]M[s]S). ! \item[{[rc]}] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} @@ -3414,7 +3414,7 @@ end subroutine ESMF_TimeIntervalSetStrCalTyp #undef ESMF_METHOD #define ESMF_METHOD "ESMF_TimeIntervalSetStrStart()" !BOP -! !IROUTINE: ESMF_TimeIntervalSet - Initialize or set a TimeInterval from an ISO format string and start time +! !IROUTINE: ESMF_TimeIntervalSet - Initialize or set a TimeInterval from an ISO 8601 format string and start time ! !INTERFACE: ! Private name; call using ESMF_TimeIntervalSet() @@ -3431,7 +3431,7 @@ subroutine ESMF_TimeIntervalSetStrStart(timeinterval, startTime, & ! ! !DESCRIPTION: ! Sets the value of the {\tt ESMF\_TimeInterval} using a user specified -! string in ISO duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for +! string in ISO 8601 duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for ! information about the format. Also, see the description for the method ! {\tt ESMF\_TimeIntervalSetStr()}~\ref{API:TimeIntervalSetStr} ! for the specific types supported by ESMF for the values in the duration string. @@ -3446,7 +3446,7 @@ subroutine ESMF_TimeIntervalSetStrStart(timeinterval, startTime, & ! in time. If not set, and calendar also not set, calendar interval ! "floats" across all calendars and times. ! \item[timeIntervalString] -! ISO format duration string (e.g. P[y]Y[mm]M[d]DT[h]H[m]M[s]S). +! ISO 8601 format duration string (e.g. P[y]Y[mm]M[d]DT[h]H[m]M[s]S). ! \item[{[rc]}] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} From 6e4bf0b2ccd71998fca5e58293c8f36e837413b8 Mon Sep 17 00:00:00 2001 From: Robert Oehmke Date: Wed, 2 Oct 2024 17:08:12 -0600 Subject: [PATCH 5/6] Fix small problem with 8.7 doc changes. --- src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 index 18bceda375..322628fe41 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 @@ -454,8 +454,6 @@ function ESMF_ClockCreateNew(timeStep, startTime, keywordEnforcer, & ! clock to be a repeat clock and repeatedly go through the same ! interval of time. ! \end{description} -! \end{itemize} - ! \end{itemize} ! ! !DESCRIPTION: @@ -727,11 +725,13 @@ subroutine ESMF_ClockGet(clock, keywordEnforcer, & ! !STATUS: ! \begin{itemize} ! \item\apiStatusCompatibleVersion{5.2.0r} +! \item\apiStatusModifiedSinceVersion{5.2.0r} ! \begin{description} ! \item[8.7.0] Added arguments {\tt repeatDuration} and {\tt repeatCount}. ! The argument {\tt repeatDuration} allows the user to get information ! about how far the clock will advance before repeating. The argument ! {\tt repeatCount} tells how many times the clock has repeated. +! \end{description} ! \end{itemize} ! ! !DESCRIPTION: From d29442cb2ffd8364890b5fb5ec515e20d3d6cb20 Mon Sep 17 00:00:00 2001 From: Robert Oehmke Date: Wed, 2 Oct 2024 17:35:41 -0600 Subject: [PATCH 6/6] Fix some odd wording. --- .../TimeMgr/interface/ESMF_TimeInterval.F90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 index a64cdc17b6..646aabc445 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 @@ -3151,7 +3151,7 @@ subroutine ESMF_TimeIntervalSetStr(timeinterval, timeIntervalString, rc) ! ! ! !DESCRIPTION: -! Sets the value of the {\tt ESMF\_TimeInterval} using a user specified +! Sets the value of an {\tt ESMF\_TimeInterval} using a ! string in ISO 8601 duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for information about the format. In ESMF's implementation the time values can have the following types: ! \begin{description} ! \item[y] - the number of years expressed in up to a 64-bit integer @@ -3245,7 +3245,7 @@ subroutine ESMF_TimeIntervalSetStrCal(timeinterval, calendar, & ! ! ! !DESCRIPTION: -! Sets the value of the {\tt ESMF\_TimeInterval} using a user specified +! Sets the value of an {\tt ESMF\_TimeInterval} using a ! string in ISO 8601 duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for ! information about the format. Also, see the description for the method ! {\tt ESMF\_TimeIntervalSetStr()}~\ref{API:TimeIntervalSetStr} @@ -3341,7 +3341,7 @@ subroutine ESMF_TimeIntervalSetStrCalTyp(timeinterval, calkindflag, & ! ! ! !DESCRIPTION: -! Sets the value of the {\tt ESMF\_TimeInterval} using a user specified +! Sets the value of an {\tt ESMF\_TimeInterval} using a ! string in ISO 8601 duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for ! information about the format. Also, see the description for the method ! {\tt ESMF\_TimeIntervalSetStr()}~\ref{API:TimeIntervalSetStr} @@ -3430,7 +3430,7 @@ subroutine ESMF_TimeIntervalSetStrStart(timeinterval, startTime, & ! ! ! !DESCRIPTION: -! Sets the value of the {\tt ESMF\_TimeInterval} using a user specified +! Sets the value of an {\tt ESMF\_TimeInterval} using a ! string in ISO 8601 duration format P[y]Y[mm]M[d]DT[h]H[m]M[s]S. See ~\cite{ISO} and ~\cite{ISOnotes} for ! information about the format. Also, see the description for the method ! {\tt ESMF\_TimeIntervalSetStr()}~\ref{API:TimeIntervalSetStr}