diff --git a/.github/DISCUSSION_TEMPLATE/building-installing.yaml b/.github/DISCUSSION_TEMPLATE/building-installing.yaml new file mode 100644 index 0000000000..3857be7489 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/building-installing.yaml @@ -0,0 +1,50 @@ +labels: ["source: discussions", "build/porting"] +body: + - type: markdown + attributes: + value: | + ### Instructions + Before submitting a new discussion please review the [ESMF User's Guide](https://earthsystemmodeling.org/doc/) and check for [existing discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=). + + **Note:** The ESMF Core Team continues to operate the esmf_support@ucar.edu address. If you have privacy concerns posting to ESMF Discussions or if you prefer email then send us an email. + - type: checkboxes + attributes: + label: Requirements + options: + - label: Reviewed [ESMF User's Guide](https://earthsystemmodeling.org/doc/) + required: true + - label: Searched [GitHub Discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=) + required: true + - type: input + id: affiliation + attributes: + label: Affiliation(s) + description: "Are you affiliated with an organization?" + placeholder: "NASA, NOAA, NRL, NSF-NCAR, University, ..." + validations: + required: false + - type: input + id: version + attributes: + label: ESMF Version + description: "What version of ESMF are you using?" + placeholder: "v0.0.0" + validations: + required: false + - type: textarea + id: question + attributes: + label: Issue + description: "What is your question or issue?" + placeholder: "enter issue here" + validations: + required: true + - type: dropdown + id: tag + attributes: + label: Autotag + options: + - "@oehmke" + default: 0 + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/esmpy.yaml b/.github/DISCUSSION_TEMPLATE/esmpy.yaml new file mode 100644 index 0000000000..8a18f2c628 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/esmpy.yaml @@ -0,0 +1,50 @@ +labels: ["source: discussions", "product: ESMPy"] +body: + - type: markdown + attributes: + value: | + ### Instructions + Before submitting a new discussion please review the [ESMPy Documentation](https://earthsystemmodeling.org/esmpy/) and check for [existing discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=). + + **Note:** The ESMF Core Team continues to operate the esmf_support@ucar.edu address. If you have privacy concerns posting to ESMF Discussions or if you prefer email then send us an email. + - type: checkboxes + attributes: + label: Requirements + options: + - label: Reviewed [ESMPy Documentation](https://earthsystemmodeling.org/esmpy/) + required: true + - label: Searched [GitHub Discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=) + required: true + - type: input + id: affiliation + attributes: + label: Affiliation(s) + description: "Are you affiliated with an organization?" + placeholder: "NASA, NOAA, NRL, NSF-NCAR, University, ..." + validations: + required: false + - type: input + id: version + attributes: + label: ESMF Version + description: "What version of ESMF are you using?" + placeholder: "v0.0.0" + validations: + required: false + - type: textarea + id: question + attributes: + label: Issue + description: "What is your question or issue?" + placeholder: "enter issue here" + validations: + required: true + - type: dropdown + id: tag + attributes: + label: Autotag + options: + - "@billsacks" + default: 0 + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/esmx.yaml b/.github/DISCUSSION_TEMPLATE/esmx.yaml new file mode 100644 index 0000000000..9da34d7705 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/esmx.yaml @@ -0,0 +1,50 @@ +labels: ["source: discussions", "product: ESMX"] +body: + - type: markdown + attributes: + value: | + ### Instructions + Before submitting a new discussion please review the [ESMX Guide](https://github.com/esmf-org/esmf/tree/develop/src/addon/ESMX) and check for [existing discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=). + + **Note:** The ESMF Core Team continues to operate the esmf_support@ucar.edu address. If you have privacy concerns posting to ESMF Discussions or if you prefer email then send us an email. + - type: checkboxes + attributes: + label: Requirements + options: + - label: Reviewed [ESMX Guide](https://github.com/esmf-org/esmf/tree/develop/src/addon/ESMX) + required: true + - label: Searched [GitHub Discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=) + required: true + - type: input + id: affiliation + attributes: + label: Affiliation(s) + description: "Are you affiliated with an organization?" + placeholder: "NASA, NOAA, NRL, NSF-NCAR, University, ..." + validations: + required: false + - type: input + id: version + attributes: + label: ESMF Version + description: "What version of ESMF are you using?" + placeholder: "v0.0.0" + validations: + required: false + - type: textarea + id: question + attributes: + label: Issue + description: "What is your question or issue?" + placeholder: "enter issue here" + validations: + required: true + - type: dropdown + id: tag + attributes: + label: Autotag + options: + - "@danrosen25" + default: 0 + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/infrastructure-superstructure.yaml b/.github/DISCUSSION_TEMPLATE/infrastructure-superstructure.yaml new file mode 100644 index 0000000000..6d96caf5d4 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/infrastructure-superstructure.yaml @@ -0,0 +1,50 @@ +labels: ["source: discussions", "product: ESMF"] +body: + - type: markdown + attributes: + value: | + ### Instructions + Before submitting a new discussion please review the [ESMF Reference Manuals](https://earthsystemmodeling.org/doc/) and check for [existing discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=). + + **Note:** The ESMF Core Team continues to operate the esmf_support@ucar.edu address. If you have privacy concerns posting to ESMF Discussions or if you prefer email then send us an email. + - type: checkboxes + attributes: + label: Requirements + options: + - label: Reviewed [ESMF Reference Manual](https://earthsystemmodeling.org/doc/) + required: true + - label: Searched [GitHub Discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=) + required: true + - type: input + id: affiliation + attributes: + label: Affiliation(s) + description: "Are you affiliated with an organization?" + placeholder: "NASA, NOAA, NRL, NSF-NCAR, University, ..." + validations: + required: false + - type: input + id: version + attributes: + label: ESMF Version + description: "What version of ESMF are you using?" + placeholder: "v0.0.0" + validations: + required: false + - type: textarea + id: question + attributes: + label: Issue + description: "What is your question or issue?" + placeholder: "enter issue here" + validations: + required: true + - type: dropdown + id: tag + attributes: + label: Autotag + options: + - "@oehmke" + default: 0 + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/nuopc.yaml b/.github/DISCUSSION_TEMPLATE/nuopc.yaml new file mode 100644 index 0000000000..a46b4098b6 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/nuopc.yaml @@ -0,0 +1,50 @@ +labels: ["source: discussions", "product: NUOPC"] +body: + - type: markdown + attributes: + value: | + ### Instructions + Before submitting a new discussion please review the [NUOPC Reference Manual](https://earthsystemmodeling.org/doc/) and check for [existing discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=). + + **Note:** The ESMF Core Team continues to operate the esmf_support@ucar.edu address. If you have privacy concerns posting to ESMF Discussions or if you prefer email then send us an email. + - type: checkboxes + attributes: + label: Requirements + options: + - label: Reviewed [NUOPC Reference Manual](https://earthsystemmodeling.org/doc/) + required: true + - label: Searched [GitHub Discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=) + required: true + - type: input + id: affiliation + attributes: + label: Affiliation(s) + description: "Are you affiliated with an organization?" + placeholder: "NASA, NOAA, NRL, NSF-NCAR, University, ..." + validations: + required: false + - type: input + id: version + attributes: + label: ESMF Version + description: "What version of ESMF are you using?" + placeholder: "v0.0.0" + validations: + required: false + - type: textarea + id: question + attributes: + label: Issue + description: "What is your question or issue?" + placeholder: "enter issue here" + validations: + required: true + - type: dropdown + id: tag + attributes: + label: Autotag + options: + - "@danrosen25" + default: 0 + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/other.yaml b/.github/DISCUSSION_TEMPLATE/other.yaml new file mode 100644 index 0000000000..a76da68998 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/other.yaml @@ -0,0 +1,50 @@ +labels: ["source: discussions"] +body: + - type: markdown + attributes: + value: | + ### Instructions + Before submitting a new discussion please review the [ESMF Documentation](https://earthsystemmodeling.org/doc/) and check for [existing discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=). + + **Note:** The ESMF Core Team continues to operate the esmf_support@ucar.edu address. If you have privacy concerns posting to ESMF Discussions or if you prefer email then send us an email. + - type: checkboxes + attributes: + label: Requirements + options: + - label: Reviewed [ESMF Documentation](https://earthsystemmodeling.org/doc/) + required: true + - label: Searched [GitHub Discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=) + required: true + - type: input + id: affiliation + attributes: + label: Affiliation(s) + description: "Are you affiliated with an organization?" + placeholder: "NASA, NOAA, NRL, NSF-NCAR, University, ..." + validations: + required: false + - type: input + id: version + attributes: + label: ESMF Version + description: "What version of ESMF are you using?" + placeholder: "v0.0.0" + validations: + required: false + - type: textarea + id: question + attributes: + label: Issue + description: "What is your question or issue?" + placeholder: "enter issue here" + validations: + required: true + - type: dropdown + id: tag + attributes: + label: Autotag + options: + - "@anntsay" + default: 0 + validations: + required: false diff --git a/.github/DISCUSSION_TEMPLATE/performance-parallelization.yaml b/.github/DISCUSSION_TEMPLATE/performance-parallelization.yaml new file mode 100644 index 0000000000..e89ca4d5c1 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/performance-parallelization.yaml @@ -0,0 +1,50 @@ +labels: ["source: discussions", "performance"] +body: + - type: markdown + attributes: + value: | + ### Instructions + Before submitting a new discussion please review the [ESMF Reference Manuals](https://earthsystemmodeling.org/doc/) and check for [existing discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=). + + **Note:** The ESMF Core Team continues to operate the esmf_support@ucar.edu address. If you have privacy concerns posting to ESMF Discussions or if you prefer email then send us an email. + - type: checkboxes + attributes: + label: Requirements + options: + - label: Reviewed [ESMF Reference Manual](https://earthsystemmodeling.org/doc/) + required: true + - label: Searched [GitHub Discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=) + required: true + - type: input + id: affiliation + attributes: + label: Affiliation(s) + description: "Are you affiliated with an organization?" + placeholder: "NASA, NOAA, NRL, NSF-NCAR, University, ..." + validations: + required: false + - type: input + id: version + attributes: + label: ESMF Version + description: "What version of ESMF are you using?" + placeholder: "v0.0.0" + validations: + required: false + - type: textarea + id: question + attributes: + label: Issue + description: "What is your question or issue?" + placeholder: "enter issue here" + validations: + required: true + - type: dropdown + id: tag + attributes: + label: Autotag + options: + - "@oehmke" + default: 0 + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/remapping-regridding.yaml b/.github/DISCUSSION_TEMPLATE/remapping-regridding.yaml new file mode 100644 index 0000000000..c0213ae60c --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/remapping-regridding.yaml @@ -0,0 +1,50 @@ +labels: ["source: discussions"] +body: + - type: markdown + attributes: + value: | + ### Instructions + Before submitting a new discussion please review the [ESMF Reference Manuals](https://earthsystemmodeling.org/doc/) and check for [existing discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=). + + **Note:** The ESMF Core Team continues to operate the esmf_support@ucar.edu address. If you have privacy concerns posting to ESMF Discussions or if you prefer email then send us an email. + - type: checkboxes + attributes: + label: Requirements + options: + - label: Reviewed [ESMF Reference Manual](https://earthsystemmodeling.org/doc/) + required: true + - label: Searched [GitHub Discussions](https://github.com/orgs/esmf-org/discussions?discussions_q=) + required: true + - type: input + id: affiliation + attributes: + label: Affiliation(s) + description: "Are you affiliated with an organization?" + placeholder: "NASA, NOAA, NRL, NSF-NCAR, University, ..." + validations: + required: false + - type: input + id: version + attributes: + label: ESMF Version + description: "What version of ESMF are you using?" + placeholder: "v0.0.0" + validations: + required: false + - type: textarea + id: question + attributes: + label: Issue + description: "What is your question or issue?" + placeholder: "enter issue here" + validations: + required: true + - type: dropdown + id: tag + attributes: + label: Autotag + options: + - "@oehmke" + default: 0 + validations: + required: true diff --git a/.github/workflows/test-build-spack.yml b/.github/workflows/test-build-spack.yml index 11418fbcb6..845fd5f719 100644 --- a/.github/workflows/test-build-spack.yml +++ b/.github/workflows/test-build-spack.yml @@ -28,7 +28,7 @@ on: jobs: set-matrix: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 outputs: matrix: ${{ steps.list_comp_pkgs.outputs.matrix }} @@ -66,7 +66,7 @@ jobs: build: needs: set-matrix - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: matrix: ${{ fromJson(needs.set-matrix.outputs.matrix) }} diff --git a/.gitignore b/.gitignore index 38e4168014..673241656d 100644 --- a/.gitignore +++ b/.gitignore @@ -46,8 +46,8 @@ src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.F90 src/Infrastructure/LocalArray/interface/ESMF_LocalArrayCreate.F90 src/Infrastructure/LocalArray/interface/ESMF_LocalArrayGet.F90 src/Infrastructure/LocalArray/interface/ESMF_LocalArrayWrapperType.F90 -src/Infrastructure/Mesh/tests/ESMC_MeshCapGenUTest.C -src/Infrastructure/Mesh/tests/ESMC_MeshCapRegridGenUTest.C +src/Infrastructure/Mesh/tests/ESMCI_MeshCapGenUTest.C +src/Infrastructure/Mesh/tests/ESMCI_MeshCapRegridGenUTest.C src/Infrastructure/IO/interface/ESMF_IO_NCPutGet.F90 src/Infrastructure/Util/doc/ESMC_ReturnCodes.tex src/Infrastructure/Util/src/ESMF_FortranWordsize.F90 diff --git a/.zenodo.json b/.zenodo.json new file mode 100644 index 0000000000..f730d54b43 --- /dev/null +++ b/.zenodo.json @@ -0,0 +1,7 @@ +{ + "creators": [ + { + "name": "ESMF Core Team" + } + ] +} diff --git a/LICENSE b/LICENSE index 77a3eee3ea..6b67fd39d4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ Earth System Modeling Framework -Copyright (c) 2002-2023 University Corporation for Atmospheric Research, +Copyright (c) 2002-2024 University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/README.md b/README.md index 201beb82cb..499f50e5fd 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,9 @@ # Earth System Modeling Framework (ESMF) ->Copyright (c) 2002-2023 University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. All rights reserved. +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.11205526.svg)](https://doi.org/10.5281/zenodo.11205526) + +>Copyright (c) 2002-2024 University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. All rights reserved. Hello and welcome to ESMF. diff --git a/build/README.md b/build/README.md index a8c2b0c249..ad53b9eca2 100644 --- a/build/README.md +++ b/build/README.md @@ -2,7 +2,7 @@ > Earth System Modeling Framework > -> Copyright (c) 2002-2023 University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. All rights reserved. +> Copyright (c) 2002-2024 University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. All rights reserved. This directory contains a single file `common.mk` that contains GNU makefile code used by the ESMF build system across all platforms. diff --git a/build/common.mk b/build/common.mk index 01c98436cc..2eed9e406e 100644 --- a/build/common.mk +++ b/build/common.mk @@ -1699,12 +1699,6 @@ export ESMF_PIO = $(ESMF_PIODEFAULT) endif ifeq ($(ESMF_PIO),internal) -ifeq ($(ESMF_COMM),mpiuni) -#TODO: This turns PIO off if it was set to internal from a default setting. -#TODO: We need to do this while our internal PIO does not support mpiuni mode, -#TODO: but want to allow external PIO or explicit ESMF_PIO setting for developm. #TODO: Eventually this should become unnecessary. -ESMF_PIO = OFF -endif ifndef ESMF_NETCDF # PIO, starting with version 2, depends on NetCDF. Defaulting to internal needs # be turned off if there is no NetCDF available. Externally set PIO will be let @@ -1814,6 +1808,10 @@ endif #------------------------------------------------------------------------------- # NVML #------------------------------------------------------------------------------- +ifeq ($(ESMF_NVML),OFF) +ESMF_NVML= +endif + ifeq ($(ESMF_NVML),ON) ESMF_NVML = standard endif @@ -2049,6 +2047,8 @@ ESMF_TRACE_LDPRELOAD := $(ESMF_LIBDIR)/libesmftrace_preload.$(ESMF_SL_SUFFIX) ESMF_PRELOADSCRIPT = $(ESMF_LIBDIR)/preload.sh ESMF_SL_PRELOAD_LIBLINKER = $(ESMF_CXXCOMPILER) +ESMF_SL_PRELOAD_LIBOPTS = $(ESMF_CXXLINKOPTS) +ESMF_SL_PRELOAD_LIBLIBS = $(ESMF_CXXLINKPATHS) $(ESMF_CXXLINKRPATHS) $(ESMF_CXXLINKLIBS) ifeq ($(ESMF_OS),Darwin) ESMF_ENV_PRELOAD = DYLD_INSERT_LIBRARIES @@ -2056,6 +2056,10 @@ ESMF_ENV_PRELOAD_DELIMIT = ':' ifeq ($(ESMF_COMM),openmpi) # make sure to link in the Fortran MPI bindings ESMF_SL_PRELOAD_LIBLINKER = $(ESMF_F90COMPILER) +# and since we're using the F90 compiler as the linker, make sure to use link +# options and libs appropriate for the F90 compiler instead of the C++ compiler +ESMF_SL_PRELOAD_LIBOPTS = $(ESMF_F90LINKOPTS) +ESMF_SL_PRELOAD_LIBLIBS = $(ESMF_F90LINKPATHS) $(ESMF_F90LINKRPATHS) $(ESMF_F90LINKLIBS) endif else ESMF_ENV_PRELOAD = LD_PRELOAD @@ -2344,7 +2348,7 @@ endif lib: info @$(MAKE) build_libs @$(MAKE) build_tracelibs - @$(MAKE) info_mk + @$(MAKE) info_mk ESMF_CCOMPILEPATHS="$(ESMF_CCOMPILEPATHS) -I$(ESMF_CONFDIR)" @echo "ESMF library built successfully on "`date` @echo "To verify, build and run the unit and system tests with: $(MAKE) check" @echo " or the more extensive: $(MAKE) all_tests" diff --git a/build_config/AIX.default.default/ESMC_Conf.h b/build_config/AIX.default.default/ESMC_Conf.h index 2f89d342a3..26814b474d 100644 --- a/build_config/AIX.default.default/ESMC_Conf.h +++ b/build_config/AIX.default.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/AIX.default.default/ESMF_Conf.inc b/build_config/AIX.default.default/ESMF_Conf.inc index d80fca31ec..03b7b87f26 100644 --- a/build_config/AIX.default.default/ESMF_Conf.inc +++ b/build_config/AIX.default.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Cygwin.g95.default/ESMC_Conf.h b/build_config/Cygwin.g95.default/ESMC_Conf.h index 5574c43680..91972521b3 100644 --- a/build_config/Cygwin.g95.default/ESMC_Conf.h +++ b/build_config/Cygwin.g95.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Cygwin.g95.default/ESMF_Conf.inc b/build_config/Cygwin.g95.default/ESMF_Conf.inc index bf58cc2272..2c54647e14 100644 --- a/build_config/Cygwin.g95.default/ESMF_Conf.inc +++ b/build_config/Cygwin.g95.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Cygwin.gfortran.default/ESMC_Conf.h b/build_config/Cygwin.gfortran.default/ESMC_Conf.h index 77aaea11c7..4b0e5eac4d 100644 --- a/build_config/Cygwin.gfortran.default/ESMC_Conf.h +++ b/build_config/Cygwin.gfortran.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Cygwin.gfortran.default/ESMF_Conf.inc b/build_config/Cygwin.gfortran.default/ESMF_Conf.inc index 857149ce35..f4850f01c5 100644 --- a/build_config/Cygwin.gfortran.default/ESMF_Conf.inc +++ b/build_config/Cygwin.gfortran.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.absoft.default/ESMC_Conf.h b/build_config/Darwin.absoft.default/ESMC_Conf.h index 57c69025d2..9f08a4070e 100644 --- a/build_config/Darwin.absoft.default/ESMC_Conf.h +++ b/build_config/Darwin.absoft.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.absoft.default/ESMF_Conf.inc b/build_config/Darwin.absoft.default/ESMF_Conf.inc index 689038cd82..f728dbf6f2 100644 --- a/build_config/Darwin.absoft.default/ESMF_Conf.inc +++ b/build_config/Darwin.absoft.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.g95.default/ESMC_Conf.h b/build_config/Darwin.g95.default/ESMC_Conf.h index 3cb8f5aabc..ffe8d429c2 100644 --- a/build_config/Darwin.g95.default/ESMC_Conf.h +++ b/build_config/Darwin.g95.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.g95.default/ESMF_Conf.inc b/build_config/Darwin.g95.default/ESMF_Conf.inc index bf58cc2272..2c54647e14 100644 --- a/build_config/Darwin.g95.default/ESMF_Conf.inc +++ b/build_config/Darwin.g95.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.gfortran.default/ESMC_Conf.h b/build_config/Darwin.gfortran.default/ESMC_Conf.h index 40e8c1adcd..f6bf969f08 100644 --- a/build_config/Darwin.gfortran.default/ESMC_Conf.h +++ b/build_config/Darwin.gfortran.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.gfortran.default/ESMF_Conf.inc b/build_config/Darwin.gfortran.default/ESMF_Conf.inc index 857149ce35..f4850f01c5 100644 --- a/build_config/Darwin.gfortran.default/ESMF_Conf.inc +++ b/build_config/Darwin.gfortran.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.gfortranclang.default/ESMC_Conf.h b/build_config/Darwin.gfortranclang.default/ESMC_Conf.h index 3ef2d2c78a..0cd56ead50 100644 --- a/build_config/Darwin.gfortranclang.default/ESMC_Conf.h +++ b/build_config/Darwin.gfortranclang.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.gfortranclang.default/ESMF_Conf.inc b/build_config/Darwin.gfortranclang.default/ESMF_Conf.inc index 857149ce35..f4850f01c5 100644 --- a/build_config/Darwin.gfortranclang.default/ESMF_Conf.inc +++ b/build_config/Darwin.gfortranclang.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.gfortranclang.default/build_rules.mk b/build_config/Darwin.gfortranclang.default/build_rules.mk index c04cf28d88..cec3f6ffe2 100644 --- a/build_config/Darwin.gfortranclang.default/build_rules.mk +++ b/build_config/Darwin.gfortranclang.default/build_rules.mk @@ -272,8 +272,7 @@ ESMF_F90LINKLIBS += -lgfortran ############################################################ # Shared library options ESMF_SL_LIBOPTS += -dynamiclib -# No need for "$(ESMF_F90LINKPATHS) $(ESMF_F90LINKLIBS)" in the following because they are identical to the CXX versions: -ESMF_SL_LIBLIBS += $(ESMF_CXXLINKPATHS) $(ESMF_CXXLINKLIBS) +ESMF_SL_LIBLIBS += $(ESMF_F90LINKPATHS) $(ESMF_F90LINKLIBS) $(ESMF_CXXLINKPATHS) $(ESMF_CXXLINKLIBS) ############################################################ # Static builds on Darwin do not support trace lib due to missing linker option diff --git a/build_config/Darwin.intel.default/ESMC_Conf.h b/build_config/Darwin.intel.default/ESMC_Conf.h index 2f6ead4904..a8da8997ee 100644 --- a/build_config/Darwin.intel.default/ESMC_Conf.h +++ b/build_config/Darwin.intel.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.intel.default/ESMF_Conf.inc b/build_config/Darwin.intel.default/ESMF_Conf.inc index e9616ddbcc..735226c6a5 100644 --- a/build_config/Darwin.intel.default/ESMF_Conf.inc +++ b/build_config/Darwin.intel.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.intelclang.default/ESMC_Conf.h b/build_config/Darwin.intelclang.default/ESMC_Conf.h index 2f6ead4904..a8da8997ee 100644 --- a/build_config/Darwin.intelclang.default/ESMC_Conf.h +++ b/build_config/Darwin.intelclang.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.intelclang.default/ESMF_Conf.inc b/build_config/Darwin.intelclang.default/ESMF_Conf.inc index edae9be235..6996d2d1ae 100644 --- a/build_config/Darwin.intelclang.default/ESMF_Conf.inc +++ b/build_config/Darwin.intelclang.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.intelgcc.default/ESMC_Conf.h b/build_config/Darwin.intelgcc.default/ESMC_Conf.h index 2f6ead4904..a8da8997ee 100644 --- a/build_config/Darwin.intelgcc.default/ESMC_Conf.h +++ b/build_config/Darwin.intelgcc.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.intelgcc.default/ESMF_Conf.inc b/build_config/Darwin.intelgcc.default/ESMF_Conf.inc index e9616ddbcc..735226c6a5 100644 --- a/build_config/Darwin.intelgcc.default/ESMF_Conf.inc +++ b/build_config/Darwin.intelgcc.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.nag.default/ESMC_Conf.h b/build_config/Darwin.nag.default/ESMC_Conf.h index 5216b7b034..8bf3edb229 100644 --- a/build_config/Darwin.nag.default/ESMC_Conf.h +++ b/build_config/Darwin.nag.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.nag.default/ESMF_Conf.inc b/build_config/Darwin.nag.default/ESMF_Conf.inc index 185e9a243d..4aa067fb9c 100644 --- a/build_config/Darwin.nag.default/ESMF_Conf.inc +++ b/build_config/Darwin.nag.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.pgi.default/ESMC_Conf.h b/build_config/Darwin.pgi.default/ESMC_Conf.h index 64e2008f31..b911fb2a3f 100644 --- a/build_config/Darwin.pgi.default/ESMC_Conf.h +++ b/build_config/Darwin.pgi.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.pgi.default/ESMF_Conf.inc b/build_config/Darwin.pgi.default/ESMF_Conf.inc index f132338957..1e2f6916af 100644 --- a/build_config/Darwin.pgi.default/ESMF_Conf.inc +++ b/build_config/Darwin.pgi.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.xlf.default/ESMC_Conf.h b/build_config/Darwin.xlf.default/ESMC_Conf.h index 3be3df3c2a..ef6a583bef 100644 --- a/build_config/Darwin.xlf.default/ESMC_Conf.h +++ b/build_config/Darwin.xlf.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.xlf.default/ESMF_Conf.inc b/build_config/Darwin.xlf.default/ESMF_Conf.inc index 35106f6ab0..6e3e8d785d 100644 --- a/build_config/Darwin.xlf.default/ESMF_Conf.inc +++ b/build_config/Darwin.xlf.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.xlfgcc.default/ESMC_Conf.h b/build_config/Darwin.xlfgcc.default/ESMC_Conf.h index 3be3df3c2a..ef6a583bef 100644 --- a/build_config/Darwin.xlfgcc.default/ESMC_Conf.h +++ b/build_config/Darwin.xlfgcc.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Darwin.xlfgcc.default/ESMF_Conf.inc b/build_config/Darwin.xlfgcc.default/ESMF_Conf.inc index 35106f6ab0..6e3e8d785d 100644 --- a/build_config/Darwin.xlfgcc.default/ESMF_Conf.inc +++ b/build_config/Darwin.xlfgcc.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/IRIX64.default.default/ESMC_Conf.h b/build_config/IRIX64.default.default/ESMC_Conf.h index 79598bee96..d43362701a 100644 --- a/build_config/IRIX64.default.default/ESMC_Conf.h +++ b/build_config/IRIX64.default.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/IRIX64.default.default/ESMF_Conf.inc b/build_config/IRIX64.default.default/ESMF_Conf.inc index 663929b065..ba96de36af 100644 --- a/build_config/IRIX64.default.default/ESMF_Conf.inc +++ b/build_config/IRIX64.default.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.absoft.default/ESMC_Conf.h b/build_config/Linux.absoft.default/ESMC_Conf.h index 8342651da5..d54394d40e 100644 --- a/build_config/Linux.absoft.default/ESMC_Conf.h +++ b/build_config/Linux.absoft.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.absoft.default/ESMF_Conf.inc b/build_config/Linux.absoft.default/ESMF_Conf.inc index 1c49d28ce5..136cd3746f 100644 --- a/build_config/Linux.absoft.default/ESMF_Conf.inc +++ b/build_config/Linux.absoft.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.absoftintel.default/ESMC_Conf.h b/build_config/Linux.absoftintel.default/ESMC_Conf.h index 70358b0324..29fb3066cc 100644 --- a/build_config/Linux.absoftintel.default/ESMC_Conf.h +++ b/build_config/Linux.absoftintel.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.absoftintel.default/ESMF_Conf.inc b/build_config/Linux.absoftintel.default/ESMF_Conf.inc index 6fb8cebb5a..617c20cfff 100644 --- a/build_config/Linux.absoftintel.default/ESMF_Conf.inc +++ b/build_config/Linux.absoftintel.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.aocc.default/ESMC_Conf.h b/build_config/Linux.aocc.default/ESMC_Conf.h index ea7c461b25..f5aa2464b8 100644 --- a/build_config/Linux.aocc.default/ESMC_Conf.h +++ b/build_config/Linux.aocc.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.aocc.default/ESMF_Conf.inc b/build_config/Linux.aocc.default/ESMF_Conf.inc index 4576adfbb7..30c58d7e8f 100644 --- a/build_config/Linux.aocc.default/ESMF_Conf.inc +++ b/build_config/Linux.aocc.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.arm.default/ESMC_Conf.h b/build_config/Linux.arm.default/ESMC_Conf.h index e92079c911..897d7af2c3 100644 --- a/build_config/Linux.arm.default/ESMC_Conf.h +++ b/build_config/Linux.arm.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.arm.default/ESMF_Conf.inc b/build_config/Linux.arm.default/ESMF_Conf.inc index 4576adfbb7..30c58d7e8f 100644 --- a/build_config/Linux.arm.default/ESMF_Conf.inc +++ b/build_config/Linux.arm.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.fujitsu.default/ESMF_Conf.inc b/build_config/Linux.fujitsu.default/ESMF_Conf.inc index 4576adfbb7..30c58d7e8f 100644 --- a/build_config/Linux.fujitsu.default/ESMF_Conf.inc +++ b/build_config/Linux.fujitsu.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.g95.default/ESMC_Conf.h b/build_config/Linux.g95.default/ESMC_Conf.h index 6c9e531493..756f92ea52 100644 --- a/build_config/Linux.g95.default/ESMC_Conf.h +++ b/build_config/Linux.g95.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.g95.default/ESMF_Conf.inc b/build_config/Linux.g95.default/ESMF_Conf.inc index bf58cc2272..2c54647e14 100644 --- a/build_config/Linux.g95.default/ESMF_Conf.inc +++ b/build_config/Linux.g95.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.gfortran.default/ESMC_Conf.h b/build_config/Linux.gfortran.default/ESMC_Conf.h index ea7c461b25..f5aa2464b8 100644 --- a/build_config/Linux.gfortran.default/ESMC_Conf.h +++ b/build_config/Linux.gfortran.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.gfortran.default/ESMF_Conf.inc b/build_config/Linux.gfortran.default/ESMF_Conf.inc index 1369e6833d..0a07775231 100644 --- a/build_config/Linux.gfortran.default/ESMF_Conf.inc +++ b/build_config/Linux.gfortran.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.gfortranclang.default/ESMC_Conf.h b/build_config/Linux.gfortranclang.default/ESMC_Conf.h index e92079c911..897d7af2c3 100644 --- a/build_config/Linux.gfortranclang.default/ESMC_Conf.h +++ b/build_config/Linux.gfortranclang.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.gfortranclang.default/ESMF_Conf.inc b/build_config/Linux.gfortranclang.default/ESMF_Conf.inc index 857149ce35..f4850f01c5 100644 --- a/build_config/Linux.gfortranclang.default/ESMF_Conf.inc +++ b/build_config/Linux.gfortranclang.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.intel.default/ESMC_Conf.h b/build_config/Linux.intel.default/ESMC_Conf.h index dd837dc7cf..6ba012b4b6 100644 --- a/build_config/Linux.intel.default/ESMC_Conf.h +++ b/build_config/Linux.intel.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.intel.default/ESMF_Conf.inc b/build_config/Linux.intel.default/ESMF_Conf.inc index e9616ddbcc..735226c6a5 100644 --- a/build_config/Linux.intel.default/ESMF_Conf.inc +++ b/build_config/Linux.intel.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.intelgcc.default/ESMC_Conf.h b/build_config/Linux.intelgcc.default/ESMC_Conf.h index dd837dc7cf..6ba012b4b6 100644 --- a/build_config/Linux.intelgcc.default/ESMC_Conf.h +++ b/build_config/Linux.intelgcc.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.intelgcc.default/ESMF_Conf.inc b/build_config/Linux.intelgcc.default/ESMF_Conf.inc index e9616ddbcc..735226c6a5 100644 --- a/build_config/Linux.intelgcc.default/ESMF_Conf.inc +++ b/build_config/Linux.intelgcc.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.lahey.default/ESMC_Conf.h b/build_config/Linux.lahey.default/ESMC_Conf.h index eb68eafbe5..a91cc3f38c 100644 --- a/build_config/Linux.lahey.default/ESMC_Conf.h +++ b/build_config/Linux.lahey.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.lahey.default/ESMF_Conf.inc b/build_config/Linux.lahey.default/ESMF_Conf.inc index 96c6d3ea44..584f2e3da2 100644 --- a/build_config/Linux.lahey.default/ESMF_Conf.inc +++ b/build_config/Linux.lahey.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.llvm.default/ESMC_Conf.h b/build_config/Linux.llvm.default/ESMC_Conf.h index e92079c911..897d7af2c3 100644 --- a/build_config/Linux.llvm.default/ESMC_Conf.h +++ b/build_config/Linux.llvm.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.llvm.default/ESMF_Conf.inc b/build_config/Linux.llvm.default/ESMF_Conf.inc index 4576adfbb7..30c58d7e8f 100644 --- a/build_config/Linux.llvm.default/ESMF_Conf.inc +++ b/build_config/Linux.llvm.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.nag.default/ESMC_Conf.h b/build_config/Linux.nag.default/ESMC_Conf.h index 8342651da5..d54394d40e 100644 --- a/build_config/Linux.nag.default/ESMC_Conf.h +++ b/build_config/Linux.nag.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.nag.default/ESMF_Conf.inc b/build_config/Linux.nag.default/ESMF_Conf.inc index 185e9a243d..4aa067fb9c 100644 --- a/build_config/Linux.nag.default/ESMF_Conf.inc +++ b/build_config/Linux.nag.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.nagintel.default/ESMC_Conf.h b/build_config/Linux.nagintel.default/ESMC_Conf.h index 8342651da5..d54394d40e 100644 --- a/build_config/Linux.nagintel.default/ESMC_Conf.h +++ b/build_config/Linux.nagintel.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.nagintel.default/ESMF_Conf.inc b/build_config/Linux.nagintel.default/ESMF_Conf.inc index 185e9a243d..4aa067fb9c 100644 --- a/build_config/Linux.nagintel.default/ESMF_Conf.inc +++ b/build_config/Linux.nagintel.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.nvhpc.default/ESMC_Conf.h b/build_config/Linux.nvhpc.default/ESMC_Conf.h index 9a9bf166b4..c7c9fd35e7 100644 --- a/build_config/Linux.nvhpc.default/ESMC_Conf.h +++ b/build_config/Linux.nvhpc.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.nvhpc.default/ESMF_Conf.inc b/build_config/Linux.nvhpc.default/ESMF_Conf.inc index 4576adfbb7..30c58d7e8f 100644 --- a/build_config/Linux.nvhpc.default/ESMF_Conf.inc +++ b/build_config/Linux.nvhpc.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.pathscale.default/ESMC_Conf.h b/build_config/Linux.pathscale.default/ESMC_Conf.h index 8342651da5..d54394d40e 100644 --- a/build_config/Linux.pathscale.default/ESMC_Conf.h +++ b/build_config/Linux.pathscale.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.pathscale.default/ESMF_Conf.inc b/build_config/Linux.pathscale.default/ESMF_Conf.inc index 45432a8d91..dcf6bebe1c 100644 --- a/build_config/Linux.pathscale.default/ESMF_Conf.inc +++ b/build_config/Linux.pathscale.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.pgi.default/ESMC_Conf.h b/build_config/Linux.pgi.default/ESMC_Conf.h index a07e205c53..6411c307fa 100644 --- a/build_config/Linux.pgi.default/ESMC_Conf.h +++ b/build_config/Linux.pgi.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.pgi.default/ESMF_Conf.inc b/build_config/Linux.pgi.default/ESMF_Conf.inc index c676152bf2..3716bcb395 100644 --- a/build_config/Linux.pgi.default/ESMF_Conf.inc +++ b/build_config/Linux.pgi.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.pgigcc.default/ESMC_Conf.h b/build_config/Linux.pgigcc.default/ESMC_Conf.h index 164a72de85..21d291b6f2 100644 --- a/build_config/Linux.pgigcc.default/ESMC_Conf.h +++ b/build_config/Linux.pgigcc.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.pgigcc.default/ESMF_Conf.inc b/build_config/Linux.pgigcc.default/ESMF_Conf.inc index c676152bf2..3716bcb395 100644 --- a/build_config/Linux.pgigcc.default/ESMF_Conf.inc +++ b/build_config/Linux.pgigcc.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.sxcross.default/ESMC_Conf.h b/build_config/Linux.sxcross.default/ESMC_Conf.h index cfb12c8195..664823c645 100644 --- a/build_config/Linux.sxcross.default/ESMC_Conf.h +++ b/build_config/Linux.sxcross.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.sxcross.default/ESMF_Conf.inc b/build_config/Linux.sxcross.default/ESMF_Conf.inc index c03e10d2da..ac7575ca6a 100644 --- a/build_config/Linux.sxcross.default/ESMF_Conf.inc +++ b/build_config/Linux.sxcross.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.sxcross.default/build_rules.mk b/build_config/Linux.sxcross.default/build_rules.mk index 17c14b91b2..330bab53a9 100644 --- a/build_config/Linux.sxcross.default/build_rules.mk +++ b/build_config/Linux.sxcross.default/build_rules.mk @@ -65,11 +65,6 @@ ESMF_F90LINKOPTS += -Wf,"-L fmtlist,map,objlist,summary,transform" # ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_POSIXIPC -############################################################ -# NEC SX compute nodes do not have support for "gethostid()" -# -ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_GETHOSTID - ############################################################ # NEC SX compute nodes do not have support for "nanosleep()" # diff --git a/build_config/Linux.xlf.default/ESMC_Conf.h b/build_config/Linux.xlf.default/ESMC_Conf.h index f4974f3469..48b4931560 100644 --- a/build_config/Linux.xlf.default/ESMC_Conf.h +++ b/build_config/Linux.xlf.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Linux.xlf.default/ESMF_Conf.inc b/build_config/Linux.xlf.default/ESMF_Conf.inc index 2015cd419e..d0b5740778 100644 --- a/build_config/Linux.xlf.default/ESMF_Conf.inc +++ b/build_config/Linux.xlf.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/MinGW.gfortran.default/ESMC_Conf.h b/build_config/MinGW.gfortran.default/ESMC_Conf.h index b60b12eebe..c2bea764f0 100644 --- a/build_config/MinGW.gfortran.default/ESMC_Conf.h +++ b/build_config/MinGW.gfortran.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/MinGW.gfortran.default/ESMF_Conf.inc b/build_config/MinGW.gfortran.default/ESMF_Conf.inc index 857149ce35..f4850f01c5 100644 --- a/build_config/MinGW.gfortran.default/ESMF_Conf.inc +++ b/build_config/MinGW.gfortran.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/MinGW.gfortran.default/build_rules.mk b/build_config/MinGW.gfortran.default/build_rules.mk index a935f4e138..da9e9806c1 100644 --- a/build_config/MinGW.gfortran.default/build_rules.mk +++ b/build_config/MinGW.gfortran.default/build_rules.mk @@ -137,11 +137,6 @@ ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_POSIXIPC # ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_DLFCN -############################################################ -# Windows does not have support for "gethostid()" -# -ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_GETHOSTID - ############################################################ # Windows does not have support for signals # diff --git a/build_config/MinGW.intel.default/ESMC_Conf.h b/build_config/MinGW.intel.default/ESMC_Conf.h index 500961289a..2def7c35df 100644 --- a/build_config/MinGW.intel.default/ESMC_Conf.h +++ b/build_config/MinGW.intel.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/MinGW.intel.default/ESMF_Conf.inc b/build_config/MinGW.intel.default/ESMF_Conf.inc index e9616ddbcc..735226c6a5 100644 --- a/build_config/MinGW.intel.default/ESMF_Conf.inc +++ b/build_config/MinGW.intel.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/MinGW.intel.default/build_rules.mk b/build_config/MinGW.intel.default/build_rules.mk index fc62098da8..2819996edc 100644 --- a/build_config/MinGW.intel.default/build_rules.mk +++ b/build_config/MinGW.intel.default/build_rules.mk @@ -86,11 +86,6 @@ ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_POSIXIPC # ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_DLFCN -############################################################ -# Windows does not have support for "gethostid()" -# -ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_GETHOSTID - ############################################################ # Windows does not have support for signals # diff --git a/build_config/MinGW.intelcl.default/ESMC_Conf.h b/build_config/MinGW.intelcl.default/ESMC_Conf.h index 500961289a..2def7c35df 100644 --- a/build_config/MinGW.intelcl.default/ESMC_Conf.h +++ b/build_config/MinGW.intelcl.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/MinGW.intelcl.default/ESMF_Conf.inc b/build_config/MinGW.intelcl.default/ESMF_Conf.inc index e9616ddbcc..735226c6a5 100644 --- a/build_config/MinGW.intelcl.default/ESMF_Conf.inc +++ b/build_config/MinGW.intelcl.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/MinGW.intelcl.default/build_rules.mk b/build_config/MinGW.intelcl.default/build_rules.mk index 187eb1b2ec..5f47fe8335 100644 --- a/build_config/MinGW.intelcl.default/build_rules.mk +++ b/build_config/MinGW.intelcl.default/build_rules.mk @@ -84,11 +84,6 @@ ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_POSIXIPC # ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_DLFCN -############################################################ -# Windows does not have support for "gethostid()" -# -ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_GETHOSTID - ############################################################ # Windows does not have support for signals # diff --git a/build_config/OSF1.default.default/ESMC_Conf.h b/build_config/OSF1.default.default/ESMC_Conf.h index 95065a363b..df0aeb8daf 100644 --- a/build_config/OSF1.default.default/ESMC_Conf.h +++ b/build_config/OSF1.default.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/OSF1.default.default/ESMF_Conf.inc b/build_config/OSF1.default.default/ESMF_Conf.inc index 4aebf785fe..82b2b0dd37 100644 --- a/build_config/OSF1.default.default/ESMF_Conf.inc +++ b/build_config/OSF1.default.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/README.md b/build_config/README.md index 803ea4ad1f..807d27b594 100644 --- a/build_config/README.md +++ b/build_config/README.md @@ -2,7 +2,7 @@ > Earth System Modeling Framework > -> Copyright (c) 2002-2023 University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. All rights reserved. +> Copyright (c) 2002-2024 University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. All rights reserved. The files in this directory contain per-platform makefile information which is included by the ESMF build system. diff --git a/build_config/SunOS.default.default/ESMC_Conf.h b/build_config/SunOS.default.default/ESMC_Conf.h index b862383605..bb77e4c4b5 100644 --- a/build_config/SunOS.default.default/ESMC_Conf.h +++ b/build_config/SunOS.default.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/SunOS.default.default/ESMF_Conf.inc b/build_config/SunOS.default.default/ESMF_Conf.inc index f1e3abdd79..62871841e5 100644 --- a/build_config/SunOS.default.default/ESMF_Conf.inc +++ b/build_config/SunOS.default.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.aocc.default/ESMC_Conf.h b/build_config/Unicos.aocc.default/ESMC_Conf.h index ea7c461b25..f5aa2464b8 100644 --- a/build_config/Unicos.aocc.default/ESMC_Conf.h +++ b/build_config/Unicos.aocc.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.aocc.default/ESMF_Conf.inc b/build_config/Unicos.aocc.default/ESMF_Conf.inc index 857149ce35..f4850f01c5 100644 --- a/build_config/Unicos.aocc.default/ESMF_Conf.inc +++ b/build_config/Unicos.aocc.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.cce.default/ESMC_Conf.h b/build_config/Unicos.cce.default/ESMC_Conf.h index 8342651da5..d54394d40e 100644 --- a/build_config/Unicos.cce.default/ESMC_Conf.h +++ b/build_config/Unicos.cce.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.cce.default/ESMF_Conf.inc b/build_config/Unicos.cce.default/ESMF_Conf.inc index 9fbc4aa93f..906d9d4a1b 100644 --- a/build_config/Unicos.cce.default/ESMF_Conf.inc +++ b/build_config/Unicos.cce.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.default.default/ESMC_Conf.h b/build_config/Unicos.default.default/ESMC_Conf.h index fb0ffc68c3..48527dad58 100644 --- a/build_config/Unicos.default.default/ESMC_Conf.h +++ b/build_config/Unicos.default.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.default.default/ESMF_Conf.inc b/build_config/Unicos.default.default/ESMF_Conf.inc index 2366d64539..a51cdea4e0 100644 --- a/build_config/Unicos.default.default/ESMF_Conf.inc +++ b/build_config/Unicos.default.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.gfortran.default/ESMC_Conf.h b/build_config/Unicos.gfortran.default/ESMC_Conf.h index ea7c461b25..f5aa2464b8 100644 --- a/build_config/Unicos.gfortran.default/ESMC_Conf.h +++ b/build_config/Unicos.gfortran.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.gfortran.default/ESMF_Conf.inc b/build_config/Unicos.gfortran.default/ESMF_Conf.inc index 857149ce35..f4850f01c5 100644 --- a/build_config/Unicos.gfortran.default/ESMF_Conf.inc +++ b/build_config/Unicos.gfortran.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.intel.default/ESMC_Conf.h b/build_config/Unicos.intel.default/ESMC_Conf.h index 1c7856de34..6b6b0e9d59 100644 --- a/build_config/Unicos.intel.default/ESMC_Conf.h +++ b/build_config/Unicos.intel.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.intel.default/ESMF_Conf.inc b/build_config/Unicos.intel.default/ESMF_Conf.inc index e9616ddbcc..735226c6a5 100644 --- a/build_config/Unicos.intel.default/ESMF_Conf.inc +++ b/build_config/Unicos.intel.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.nvhpc.default/ESMC_Conf.h b/build_config/Unicos.nvhpc.default/ESMC_Conf.h index 9a9bf166b4..c7c9fd35e7 100644 --- a/build_config/Unicos.nvhpc.default/ESMC_Conf.h +++ b/build_config/Unicos.nvhpc.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.nvhpc.default/ESMF_Conf.inc b/build_config/Unicos.nvhpc.default/ESMF_Conf.inc index 4576adfbb7..30c58d7e8f 100644 --- a/build_config/Unicos.nvhpc.default/ESMF_Conf.inc +++ b/build_config/Unicos.nvhpc.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.pathscale.default/ESMC_Conf.h b/build_config/Unicos.pathscale.default/ESMC_Conf.h index 8342651da5..d54394d40e 100644 --- a/build_config/Unicos.pathscale.default/ESMC_Conf.h +++ b/build_config/Unicos.pathscale.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.pathscale.default/ESMF_Conf.inc b/build_config/Unicos.pathscale.default/ESMF_Conf.inc index 45432a8d91..dcf6bebe1c 100644 --- a/build_config/Unicos.pathscale.default/ESMF_Conf.inc +++ b/build_config/Unicos.pathscale.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.pathscale.default/build_rules.mk b/build_config/Unicos.pathscale.default/build_rules.mk index 07a4735eca..241bf85181 100644 --- a/build_config/Unicos.pathscale.default/build_rules.mk +++ b/build_config/Unicos.pathscale.default/build_rules.mk @@ -57,11 +57,6 @@ ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_POSIXIPC # ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_DLFCN -############################################################ -# XT compute nodes do not have support for "gethostid()" -# -ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_GETHOSTID - ############################################################ # XT compute nodes do not have support for signals # diff --git a/build_config/Unicos.pgi.default/ESMC_Conf.h b/build_config/Unicos.pgi.default/ESMC_Conf.h index f7d5d274c1..a94926d681 100644 --- a/build_config/Unicos.pgi.default/ESMC_Conf.h +++ b/build_config/Unicos.pgi.default/ESMC_Conf.h @@ -5,7 +5,7 @@ #if 0 Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.pgi.default/ESMF_Conf.inc b/build_config/Unicos.pgi.default/ESMF_Conf.inc index 07cc935881..e424b3ab30 100644 --- a/build_config/Unicos.pgi.default/ESMF_Conf.inc +++ b/build_config/Unicos.pgi.default/ESMF_Conf.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/build_config/Unicos.pgi.default/build_rules.mk b/build_config/Unicos.pgi.default/build_rules.mk index 4e1f98e6cb..45e77f0c96 100644 --- a/build_config/Unicos.pgi.default/build_rules.mk +++ b/build_config/Unicos.pgi.default/build_rules.mk @@ -83,11 +83,6 @@ ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_POSIXIPC # ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_DLFCN -############################################################ -# XT compute nodes do not have support for "gethostid()" -# -ESMF_CXXCOMPILECPPFLAGS += -DESMF_NO_GETHOSTID - ############################################################ # XT compute nodes do not have support for signals # diff --git a/cmake/FindESMF.cmake b/cmake/FindESMF.cmake index 23efbb31d0..4eb0f6a54e 100644 --- a/cmake/FindESMF.cmake +++ b/cmake/FindESMF.cmake @@ -96,19 +96,24 @@ if(EXISTS ${ESMFMKFILE}) message(WARNING "Static ESMF library (libesmf.a) not found in \ ${ESMF_LIBSDIR}. Try setting USE_ESMF_STATIC_LIBS=OFF") endif() - if(NOT TARGET ESMF) - add_library(ESMF STATIC IMPORTED) + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF STATIC IMPORTED) endif() else() find_library(ESMF_LIBRARY_LOCATION NAMES esmf PATHS ${ESMF_LIBSDIR} NO_DEFAULT_PATH) if(ESMF_LIBRARY_LOCATION MATCHES "ESMF_LIBRARY_LOCATION-NOTFOUND") message(WARNING "ESMF library not found in ${ESMF_LIBSDIR}.") endif() - if(NOT TARGET ESMF) - add_library(ESMF UNKNOWN IMPORTED) + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF UNKNOWN IMPORTED) endif() endif() + # Add ESMF as an alias to ESMF::ESMF for backward compatibility + if(NOT TARGET ESMF) + add_library(ESMF ALIAS ESMF::ESMF) + endif() + # Add ESMF include directories set(ESMF_INCLUDE_DIRECTORIES "") separate_arguments(_ESMF_F90COMPILEPATHS UNIX_COMMAND ${ESMF_F90COMPILEPATHS}) @@ -130,7 +135,7 @@ if(EXISTS ${ESMFMKFILE}) ESMF_F90COMPILEPATHS VERSION_VAR ESMF_VERSION) - set_target_properties(ESMF PROPERTIES + set_target_properties(ESMF::ESMF PROPERTIES IMPORTED_LOCATION "${ESMF_LIBRARY_LOCATION}" INTERFACE_INCLUDE_DIRECTORIES "${ESMF_INCLUDE_DIRECTORIES}" INTERFACE_LINK_LIBRARIES "${ESMF_INTERFACE_LINK_LIBRARIES}") diff --git a/makefile b/makefile index 3a2443b8df..1691cf50bd 100644 --- a/makefile +++ b/makefile @@ -782,6 +782,7 @@ install: envdump -@echo "Installing ESMF:" -@echo " " mkdir -p $(ESMF_INSTALL_HEADERDIR_ABSPATH) + cp -f $(ESMF_BUILD)/src/include/NUOPC.h $(ESMF_INSTALL_HEADERDIR_ABSPATH) cp -f $(ESMF_BUILD)/src/include/ESMC.h $(ESMF_INSTALL_HEADERDIR_ABSPATH) cp -f $(ESMF_BUILD)/src/include/ESMC_*.h $(ESMF_INSTALL_HEADERDIR_ABSPATH) cp -f $(ESMF_DIR)/build_config/$(ESMF_OS).$(ESMF_COMPILER).$(ESMF_SITE)/ESMC_Conf.h $(ESMF_INSTALL_HEADERDIR_ABSPATH) diff --git a/scripts/doc_templates/templates/scripts/do_ccprotex b/scripts/doc_templates/templates/scripts/do_ccprotex index f7ddb0ba9e..168175b561 100755 --- a/scripts/doc_templates/templates/scripts/do_ccprotex +++ b/scripts/doc_templates/templates/scripts/do_ccprotex @@ -1,7 +1,7 @@ #!/bin/csh -f # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/scripts/do_chprotex b/scripts/doc_templates/templates/scripts/do_chprotex index 4b9c7a99fe..2dae89263f 100755 --- a/scripts/doc_templates/templates/scripts/do_chprotex +++ b/scripts/doc_templates/templates/scripts/do_chprotex @@ -1,7 +1,7 @@ #!/bin/csh -f # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/scripts/do_fprotex b/scripts/doc_templates/templates/scripts/do_fprotex index c43da7f1ae..249b435578 100755 --- a/scripts/doc_templates/templates/scripts/do_fprotex +++ b/scripts/doc_templates/templates/scripts/do_fprotex @@ -1,7 +1,7 @@ #!/bin/csh -f # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/scripts/do_l2h b/scripts/doc_templates/templates/scripts/do_l2h index c1a3cddc64..2489ef5a03 100755 --- a/scripts/doc_templates/templates/scripts/do_l2h +++ b/scripts/doc_templates/templates/scripts/do_l2h @@ -1,7 +1,7 @@ #!/bin/csh -f # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/scripts/do_latex b/scripts/doc_templates/templates/scripts/do_latex index 96a3aeda55..5678c2e7dd 100755 --- a/scripts/doc_templates/templates/scripts/do_latex +++ b/scripts/doc_templates/templates/scripts/do_latex @@ -1,7 +1,7 @@ #!/bin/csh -f # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/scripts/do_newclass b/scripts/doc_templates/templates/scripts/do_newclass index b5771f7633..3851217fef 100755 --- a/scripts/doc_templates/templates/scripts/do_newclass +++ b/scripts/doc_templates/templates/scripts/do_newclass @@ -1,7 +1,7 @@ #!/bin/csh -f # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/scripts/do_newcomp b/scripts/doc_templates/templates/scripts/do_newcomp index ad5c8ff739..059f39a24d 100755 --- a/scripts/doc_templates/templates/scripts/do_newcomp +++ b/scripts/doc_templates/templates/scripts/do_newcomp @@ -1,7 +1,7 @@ #!/bin/csh -f # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/scripts/do_newdoc b/scripts/doc_templates/templates/scripts/do_newdoc index 18fb4e4203..69c176edea 100755 --- a/scripts/doc_templates/templates/scripts/do_newdoc +++ b/scripts/doc_templates/templates/scripts/do_newdoc @@ -1,7 +1,7 @@ #!/bin/csh -f # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/title_alldoc.tex b/scripts/doc_templates/templates/title_alldoc.tex index 6dff10621d..b279e99f37 100644 --- a/scripts/doc_templates/templates/title_alldoc.tex +++ b/scripts/doc_templates/templates/title_alldoc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/doc_templates/templates/verstitle_alldoc.tex b/scripts/doc_templates/templates/verstitle_alldoc.tex index 41629bd2a0..d8b8dfddc5 100644 --- a/scripts/doc_templates/templates/verstitle_alldoc.tex +++ b/scripts/doc_templates/templates/verstitle_alldoc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/scripts/jinja2_templating/generate_templates.py b/scripts/jinja2_templating/generate_templates.py index 6308cf222e..4feb3e0d73 100644 --- a/scripts/jinja2_templating/generate_templates.py +++ b/scripts/jinja2_templating/generate_templates.py @@ -96,7 +96,7 @@ """! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -110,7 +110,7 @@ """// $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/doc/Array_cdesc.tex b/src/Infrastructure/Array/doc/Array_cdesc.tex index acf85c4e48..402d524b52 100644 --- a/src/Infrastructure/Array/doc/Array_cdesc.tex +++ b/src/Infrastructure/Array/doc/Array_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/doc/Array_crefdoc.ctex b/src/Infrastructure/Array/doc/Array_crefdoc.ctex index 57c637ef93..6b8244dd33 100644 --- a/src/Infrastructure/Array/doc/Array_crefdoc.ctex +++ b/src/Infrastructure/Array/doc/Array_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/doc/Array_desc.tex b/src/Infrastructure/Array/doc/Array_desc.tex index 1c5cca9c28..fdb80403ff 100644 --- a/src/Infrastructure/Array/doc/Array_desc.tex +++ b/src/Infrastructure/Array/doc/Array_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/doc/Array_refdoc.ctex b/src/Infrastructure/Array/doc/Array_refdoc.ctex index 0751930bd0..69ff713137 100644 --- a/src/Infrastructure/Array/doc/Array_refdoc.ctex +++ b/src/Infrastructure/Array/doc/Array_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayArbHaloEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayArbHaloEx.F90 index e1c0402e5b..0f961bbc12 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayArbHaloEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayArbHaloEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayCommNBEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayCommNBEx.F90 index 6c43dff6ef..ab7e0c808a 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayCommNBEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayCommNBEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayEx.F90 index 6f81c77a3e..78bceb18f9 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayFarrayEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayFarrayEx.F90 index 627661f857..247259be6d 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayFarrayEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayFarrayEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayFarrayHaloEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayFarrayHaloEx.F90 index c0423a0731..9c8c308062 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayFarrayHaloEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayFarrayHaloEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayHaloEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayHaloEx.F90 index b80ef24f46..1e926ea29a 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayHaloEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayHaloEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayLarrayEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayLarrayEx.F90 index 5b17c5d6b7..ac20d22f7b 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayLarrayEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayLarrayEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayRedistEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayRedistEx.F90 index 5f67c99e91..04ec710ad6 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayRedistEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayRedistEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayScatterGatherArbEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayScatterGatherArbEx.F90 index 2d7bbbec4a..5a328c4ed8 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayScatterGatherArbEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayScatterGatherArbEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArrayScatterGatherEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArrayScatterGatherEx.F90 index 155b97b618..735819eb9e 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArrayScatterGatherEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArrayScatterGatherEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/examples/ESMF_ArraySparseMatMulEx.F90 b/src/Infrastructure/Array/examples/ESMF_ArraySparseMatMulEx.F90 index 945512e493..6a2ea91b80 100644 --- a/src/Infrastructure/Array/examples/ESMF_ArraySparseMatMulEx.F90 +++ b/src/Infrastructure/Array/examples/ESMF_ArraySparseMatMulEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/include/ESMCI_Array.h b/src/Infrastructure/Array/include/ESMCI_Array.h index 1a131adfb1..512c4e99dc 100644 --- a/src/Infrastructure/Array/include/ESMCI_Array.h +++ b/src/Infrastructure/Array/include/ESMCI_Array.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/include/ESMC_Array.h b/src/Infrastructure/Array/include/ESMC_Array.h index 92e8e8493e..c5189b974f 100644 --- a/src/Infrastructure/Array/include/ESMC_Array.h +++ b/src/Infrastructure/Array/include/ESMC_Array.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMCI_Array_F.C b/src/Infrastructure/Array/interface/ESMCI_Array_F.C index a899987245..79bc0a48a0 100644 --- a/src/Infrastructure/Array/interface/ESMCI_Array_F.C +++ b/src/Infrastructure/Array/interface/ESMCI_Array_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMC_Array.C b/src/Infrastructure/Array/interface/ESMC_Array.C index e713343c51..05ff2d8d87 100644 --- a/src/Infrastructure/Array/interface/ESMC_Array.C +++ b/src/Infrastructure/Array/interface/ESMC_Array.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMF_Array.F90 b/src/Infrastructure/Array/interface/ESMF_Array.F90 index 653148cc04..ea1688b0ec 100644 --- a/src/Infrastructure/Array/interface/ESMF_Array.F90 +++ b/src/Infrastructure/Array/interface/ESMF_Array.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMF_ArrayCreate.cppF90 b/src/Infrastructure/Array/interface/ESMF_ArrayCreate.cppF90 index 99becf82ec..0a041a8031 100644 --- a/src/Infrastructure/Array/interface/ESMF_ArrayCreate.cppF90 +++ b/src/Infrastructure/Array/interface/ESMF_ArrayCreate.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMF_ArrayGather.cppF90 b/src/Infrastructure/Array/interface/ESMF_ArrayGather.cppF90 index f1efe2ab43..19b09b679b 100644 --- a/src/Infrastructure/Array/interface/ESMF_ArrayGather.cppF90 +++ b/src/Infrastructure/Array/interface/ESMF_ArrayGather.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMF_ArrayGet.cppF90 b/src/Infrastructure/Array/interface/ESMF_ArrayGet.cppF90 index 3f202ced35..25c2c19faf 100644 --- a/src/Infrastructure/Array/interface/ESMF_ArrayGet.cppF90 +++ b/src/Infrastructure/Array/interface/ESMF_ArrayGet.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMF_ArrayHa.F90 b/src/Infrastructure/Array/interface/ESMF_ArrayHa.F90 index 7b3ec01b03..d045a37c60 100644 --- a/src/Infrastructure/Array/interface/ESMF_ArrayHa.F90 +++ b/src/Infrastructure/Array/interface/ESMF_ArrayHa.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMF_ArrayScatter.cppF90 b/src/Infrastructure/Array/interface/ESMF_ArrayScatter.cppF90 index 73222f4fcd..b86e6e39d8 100644 --- a/src/Infrastructure/Array/interface/ESMF_ArrayScatter.cppF90 +++ b/src/Infrastructure/Array/interface/ESMF_ArrayScatter.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/interface/ESMF_DynamicMask.F90 b/src/Infrastructure/Array/interface/ESMF_DynamicMask.F90 index e688684045..0da60ddae2 100644 --- a/src/Infrastructure/Array/interface/ESMF_DynamicMask.F90 +++ b/src/Infrastructure/Array/interface/ESMF_DynamicMask.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/src/ESMCI_Array.C b/src/Infrastructure/Array/src/ESMCI_Array.C index a1b5d2ec9f..28ca01920d 100644 --- a/src/Infrastructure/Array/src/ESMCI_Array.C +++ b/src/Infrastructure/Array/src/ESMCI_Array.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMC_ArrayUTest.c b/src/Infrastructure/Array/tests/ESMC_ArrayUTest.c index c4aad74cb9..a85c4405f8 100644 --- a/src/Infrastructure/Array/tests/ESMC_ArrayUTest.c +++ b/src/Infrastructure/Array/tests/ESMC_ArrayUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayArbIdxSMMUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayArbIdxSMMUTest.F90 index 480555d018..4cea02134d 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayArbIdxSMMUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayArbIdxSMMUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayCreateGetUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayCreateGetUTest.F90 index 4ece4bca15..d476796789 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayCreateGetUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayCreateGetUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayDataUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayDataUTest.F90 index 159b594f0c..00fb1117f5 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayDataUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayDataUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayGatherUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayGatherUTest.F90 index 8eb7e7b43d..2a0a61776f 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayGatherUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayGatherUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayHaloUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayHaloUTest.F90 index 1fdd5919f9..b85609ab9f 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayHaloUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayHaloUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayIOUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayIOUTest.F90 index 85cf9a7bc1..e3d170fdfd 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayIOUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayIOUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayRedistPerfUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayRedistPerfUTest.F90 index e9ff09b0e3..65f12b52f9 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayRedistPerfUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayRedistPerfUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayRedistUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayRedistUTest.F90 index adac0be12a..5d0faf5b3b 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayRedistUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayRedistUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArraySMMFromFileUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArraySMMFromFileUTest.F90 index 417606366c..9bc348d560 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArraySMMFromFileUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArraySMMFromFileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArraySMMUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArraySMMUTest.F90 index e3168267dc..edbdef003c 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArraySMMUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArraySMMUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Array/tests/ESMF_ArrayScatterUTest.F90 b/src/Infrastructure/Array/tests/ESMF_ArrayScatterUTest.F90 index f1e0e7aef3..228f966a66 100644 --- a/src/Infrastructure/Array/tests/ESMF_ArrayScatterUTest.F90 +++ b/src/Infrastructure/Array/tests/ESMF_ArrayScatterUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/doc/ArrayBundle_refdoc.ctex b/src/Infrastructure/ArrayBundle/doc/ArrayBundle_refdoc.ctex index 8e4f7e3b6e..57e57c2720 100644 --- a/src/Infrastructure/ArrayBundle/doc/ArrayBundle_refdoc.ctex +++ b/src/Infrastructure/ArrayBundle/doc/ArrayBundle_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/examples/ESMF_ArrayBundleEx.F90 b/src/Infrastructure/ArrayBundle/examples/ESMF_ArrayBundleEx.F90 index 654a26c899..46274ea294 100644 --- a/src/Infrastructure/ArrayBundle/examples/ESMF_ArrayBundleEx.F90 +++ b/src/Infrastructure/ArrayBundle/examples/ESMF_ArrayBundleEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/examples/ESMF_ArrayBundleHaloEx.F90 b/src/Infrastructure/ArrayBundle/examples/ESMF_ArrayBundleHaloEx.F90 index ca065e4c4d..f85b60d216 100644 --- a/src/Infrastructure/ArrayBundle/examples/ESMF_ArrayBundleHaloEx.F90 +++ b/src/Infrastructure/ArrayBundle/examples/ESMF_ArrayBundleHaloEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/include/ESMCI_ArrayBundle.h b/src/Infrastructure/ArrayBundle/include/ESMCI_ArrayBundle.h index d8b3ee97ef..ce09cf87db 100644 --- a/src/Infrastructure/ArrayBundle/include/ESMCI_ArrayBundle.h +++ b/src/Infrastructure/ArrayBundle/include/ESMCI_ArrayBundle.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/interface/ESMCI_ArrayBundle_F.C b/src/Infrastructure/ArrayBundle/interface/ESMCI_ArrayBundle_F.C index e740fc8025..e36198c7de 100644 --- a/src/Infrastructure/ArrayBundle/interface/ESMCI_ArrayBundle_F.C +++ b/src/Infrastructure/ArrayBundle/interface/ESMCI_ArrayBundle_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/interface/ESMF_ArrayBundle.F90 b/src/Infrastructure/ArrayBundle/interface/ESMF_ArrayBundle.F90 index 3d6f65f323..803f05520a 100644 --- a/src/Infrastructure/ArrayBundle/interface/ESMF_ArrayBundle.F90 +++ b/src/Infrastructure/ArrayBundle/interface/ESMF_ArrayBundle.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/src/ESMCI_ArrayBundle.C b/src/Infrastructure/ArrayBundle/src/ESMCI_ArrayBundle.C index 98da510ce6..59068660dd 100644 --- a/src/Infrastructure/ArrayBundle/src/ESMCI_ArrayBundle.C +++ b/src/Infrastructure/ArrayBundle/src/ESMCI_ArrayBundle.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleCreateUTest.F90 b/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleCreateUTest.F90 index b09c30bcd1..1de0c1c029 100644 --- a/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleCreateUTest.F90 +++ b/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleCreateUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleIOUTest.F90 b/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleIOUTest.F90 index 55ba00f969..0e8b24c62b 100644 --- a/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleIOUTest.F90 +++ b/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleIOUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleRedistUTest.F90 b/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleRedistUTest.F90 index bfa984e3c3..55fb6b6388 100644 --- a/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleRedistUTest.F90 +++ b/src/Infrastructure/ArrayBundle/tests/ESMF_ArrayBundleRedistUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/doc/ArraySpec_crefdoc.ctex b/src/Infrastructure/ArraySpec/doc/ArraySpec_crefdoc.ctex index dd3e2cf837..f6fbcadc9c 100644 --- a/src/Infrastructure/ArraySpec/doc/ArraySpec_crefdoc.ctex +++ b/src/Infrastructure/ArraySpec/doc/ArraySpec_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/examples/ESMF_ArraySpecEx.F90 b/src/Infrastructure/ArraySpec/examples/ESMF_ArraySpecEx.F90 index a325f83272..8c0a3eecea 100644 --- a/src/Infrastructure/ArraySpec/examples/ESMF_ArraySpecEx.F90 +++ b/src/Infrastructure/ArraySpec/examples/ESMF_ArraySpecEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/include/ESMCI_ArraySpec.h b/src/Infrastructure/ArraySpec/include/ESMCI_ArraySpec.h index 033d596cbf..99ca79e222 100644 --- a/src/Infrastructure/ArraySpec/include/ESMCI_ArraySpec.h +++ b/src/Infrastructure/ArraySpec/include/ESMCI_ArraySpec.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/include/ESMC_ArraySpec.h b/src/Infrastructure/ArraySpec/include/ESMC_ArraySpec.h index 61676ac1c3..ced9e5e5e4 100644 --- a/src/Infrastructure/ArraySpec/include/ESMC_ArraySpec.h +++ b/src/Infrastructure/ArraySpec/include/ESMC_ArraySpec.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/interface/ESMCI_ArraySpec.C b/src/Infrastructure/ArraySpec/interface/ESMCI_ArraySpec.C index 9f5c77f03d..7cc2b28064 100644 --- a/src/Infrastructure/ArraySpec/interface/ESMCI_ArraySpec.C +++ b/src/Infrastructure/ArraySpec/interface/ESMCI_ArraySpec.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/interface/ESMC_ArraySpec.C b/src/Infrastructure/ArraySpec/interface/ESMC_ArraySpec.C index 5da4dc6828..ff15f61fe1 100644 --- a/src/Infrastructure/ArraySpec/interface/ESMC_ArraySpec.C +++ b/src/Infrastructure/ArraySpec/interface/ESMC_ArraySpec.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/interface/ESMF_ArraySpec_C.F90 b/src/Infrastructure/ArraySpec/interface/ESMF_ArraySpec_C.F90 index c9479aefd1..c50020a80d 100644 --- a/src/Infrastructure/ArraySpec/interface/ESMF_ArraySpec_C.F90 +++ b/src/Infrastructure/ArraySpec/interface/ESMF_ArraySpec_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/src/ESMF_ArraySpec.F90 b/src/Infrastructure/ArraySpec/src/ESMF_ArraySpec.F90 index 2cd35a86e4..89a4c22dfe 100644 --- a/src/Infrastructure/ArraySpec/src/ESMF_ArraySpec.F90 +++ b/src/Infrastructure/ArraySpec/src/ESMF_ArraySpec.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/tests/ESMC_ArraySpecUTest.c b/src/Infrastructure/ArraySpec/tests/ESMC_ArraySpecUTest.c index fdcf8ca2c9..9d88a6bc5e 100644 --- a/src/Infrastructure/ArraySpec/tests/ESMC_ArraySpecUTest.c +++ b/src/Infrastructure/ArraySpec/tests/ESMC_ArraySpecUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/ArraySpec/tests/ESMF_ArraySpecUTest.F90 b/src/Infrastructure/ArraySpec/tests/ESMF_ArraySpecUTest.F90 index 365d555b2d..7c335c4210 100644 --- a/src/Infrastructure/ArraySpec/tests/ESMF_ArraySpecUTest.F90 +++ b/src/Infrastructure/ArraySpec/tests/ESMF_ArraySpecUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/doc/Info_refdoc.ctex b/src/Infrastructure/Base/doc/Info_refdoc.ctex index 47a3efdc8e..b417597d3d 100644 --- a/src/Infrastructure/Base/doc/Info_refdoc.ctex +++ b/src/Infrastructure/Base/doc/Info_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/examples/ESMF_InfoGetFromHostEx.F90 b/src/Infrastructure/Base/examples/ESMF_InfoGetFromHostEx.F90 index d377e0cb3e..b006ae4e6e 100644 --- a/src/Infrastructure/Base/examples/ESMF_InfoGetFromHostEx.F90 +++ b/src/Infrastructure/Base/examples/ESMF_InfoGetFromHostEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/examples/ESMF_InfoTutorialEx.F90 b/src/Infrastructure/Base/examples/ESMF_InfoTutorialEx.F90 index d370e1a713..b5bfeb6d6e 100644 --- a/src/Infrastructure/Base/examples/ESMF_InfoTutorialEx.F90 +++ b/src/Infrastructure/Base/examples/ESMF_InfoTutorialEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/include/ESMCI_Base.h b/src/Infrastructure/Base/include/ESMCI_Base.h index ba901a5249..f7e5bc5f27 100644 --- a/src/Infrastructure/Base/include/ESMCI_Base.h +++ b/src/Infrastructure/Base/include/ESMCI_Base.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/include/ESMCI_Info.h b/src/Infrastructure/Base/include/ESMCI_Info.h index 3e03180206..1bfdc13f56 100644 --- a/src/Infrastructure/Base/include/ESMCI_Info.h +++ b/src/Infrastructure/Base/include/ESMCI_Info.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/interface/ESMCI_Base_F.C b/src/Infrastructure/Base/interface/ESMCI_Base_F.C index d2b853d6de..c17ab6ca31 100644 --- a/src/Infrastructure/Base/interface/ESMCI_Base_F.C +++ b/src/Infrastructure/Base/interface/ESMCI_Base_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/interface/ESMF_Base.F90 b/src/Infrastructure/Base/interface/ESMF_Base.F90 index 78d98113ad..f2a9749006 100644 --- a/src/Infrastructure/Base/interface/ESMF_Base.F90 +++ b/src/Infrastructure/Base/interface/ESMF_Base.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/interface/ESMF_FactorRead.F90 b/src/Infrastructure/Base/interface/ESMF_FactorRead.F90 index c097857e6c..624a483bb1 100644 --- a/src/Infrastructure/Base/interface/ESMF_FactorRead.F90 +++ b/src/Infrastructure/Base/interface/ESMF_FactorRead.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/interface/ESMF_Info.F90 b/src/Infrastructure/Base/interface/ESMF_Info.F90 index fc31ca8b3f..339df16403 100644 --- a/src/Infrastructure/Base/interface/ESMF_Info.F90 +++ b/src/Infrastructure/Base/interface/ESMF_Info.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/interface/ESMF_InfoCDefGeneric.F90 b/src/Infrastructure/Base/interface/ESMF_InfoCDefGeneric.F90 index aef965b9fb..ab15ea629b 100644 --- a/src/Infrastructure/Base/interface/ESMF_InfoCDefGeneric.F90 +++ b/src/Infrastructure/Base/interface/ESMF_InfoCDefGeneric.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/src/ESMCI_Base.C b/src/Infrastructure/Base/src/ESMCI_Base.C index c4577e7091..4b363d93b7 100644 --- a/src/Infrastructure/Base/src/ESMCI_Base.C +++ b/src/Infrastructure/Base/src/ESMCI_Base.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/src/ESMCI_Info.C b/src/Infrastructure/Base/src/ESMCI_Info.C index 21542a2933..77706d1e82 100644 --- a/src/Infrastructure/Base/src/ESMCI_Info.C +++ b/src/Infrastructure/Base/src/ESMCI_Info.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/src/ESMC_InfoCDef.C b/src/Infrastructure/Base/src/ESMC_InfoCDef.C index 58c959fc25..b56ccbe224 100644 --- a/src/Infrastructure/Base/src/ESMC_InfoCDef.C +++ b/src/Infrastructure/Base/src/ESMC_InfoCDef.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/src/ESMC_InfoCDefGeneric.C b/src/Infrastructure/Base/src/ESMC_InfoCDefGeneric.C index 37ee9e8f03..64d03d2b47 100644 --- a/src/Infrastructure/Base/src/ESMC_InfoCDefGeneric.C +++ b/src/Infrastructure/Base/src/ESMC_InfoCDefGeneric.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/tests/ESMCI_BaseUTest.C b/src/Infrastructure/Base/tests/ESMCI_BaseUTest.C index aaa98c610d..19eff03910 100644 --- a/src/Infrastructure/Base/tests/ESMCI_BaseUTest.C +++ b/src/Infrastructure/Base/tests/ESMCI_BaseUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/tests/ESMCI_InfoUTest.C b/src/Infrastructure/Base/tests/ESMCI_InfoUTest.C index 5cd6c81ffe..adcfa8de3c 100644 --- a/src/Infrastructure/Base/tests/ESMCI_InfoUTest.C +++ b/src/Infrastructure/Base/tests/ESMCI_InfoUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/tests/ESMCI_NlohmannJSONUTest.C b/src/Infrastructure/Base/tests/ESMCI_NlohmannJSONUTest.C index 98489a608e..c88e2c37af 100644 --- a/src/Infrastructure/Base/tests/ESMCI_NlohmannJSONUTest.C +++ b/src/Infrastructure/Base/tests/ESMCI_NlohmannJSONUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/tests/ESMF_BaseUTest.F90 b/src/Infrastructure/Base/tests/ESMF_BaseUTest.F90 index 288215731d..3d6dd388b3 100644 --- a/src/Infrastructure/Base/tests/ESMF_BaseUTest.F90 +++ b/src/Infrastructure/Base/tests/ESMF_BaseUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/tests/ESMF_InfoArrayUTest.F90 b/src/Infrastructure/Base/tests/ESMF_InfoArrayUTest.F90 index 3db2081950..7073cee738 100644 --- a/src/Infrastructure/Base/tests/ESMF_InfoArrayUTest.F90 +++ b/src/Infrastructure/Base/tests/ESMF_InfoArrayUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/tests/ESMF_InfoProfileUTest.F90 b/src/Infrastructure/Base/tests/ESMF_InfoProfileUTest.F90 index fdd2b196f4..04caf0d001 100644 --- a/src/Infrastructure/Base/tests/ESMF_InfoProfileUTest.F90 +++ b/src/Infrastructure/Base/tests/ESMF_InfoProfileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Base/tests/ESMF_InfoUTest.F90 b/src/Infrastructure/Base/tests/ESMF_InfoUTest.F90 index bc8e779113..8659c62a0a 100644 --- a/src/Infrastructure/Base/tests/ESMF_InfoUTest.F90 +++ b/src/Infrastructure/Base/tests/ESMF_InfoUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/doc/Config_crefdoc.ctex b/src/Infrastructure/Config/doc/Config_crefdoc.ctex index 07d7fac986..cfb70f56c0 100644 --- a/src/Infrastructure/Config/doc/Config_crefdoc.ctex +++ b/src/Infrastructure/Config/doc/Config_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/doc/Config_refdoc.ctex b/src/Infrastructure/Config/doc/Config_refdoc.ctex index 1089493f1e..ffecb662da 100644 --- a/src/Infrastructure/Config/doc/Config_refdoc.ctex +++ b/src/Infrastructure/Config/doc/Config_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/doc/Config_usage.tex b/src/Infrastructure/Config/doc/Config_usage.tex index b6fb6aaa89..430f7ee10f 100644 --- a/src/Infrastructure/Config/doc/Config_usage.tex +++ b/src/Infrastructure/Config/doc/Config_usage.tex @@ -3,11 +3,11 @@ \subsubsection{Resource files} A {\em Resource File (RF)} is a text file consisting of list of - {\em label}-{\em value} pairs. There is a limit of 1024 characters - per line and the Resource File can contain a maximum of 200 records. - Each {\em label} should be followed by some data, the {\em value}. - An example Resource File follows. It is the file used in the example - below. + {\em label}-{\em value} pairs. There is a buffer limit of 256,000 + characters for the entire Resource File. Each {\em label} is limited + to 1,000 characters. Each label should be followed by some data, the + {\em value}. An example Resource File follows. It is the file used + in the example below. \begin{verbatim} # This is an example Resource File. diff --git a/src/Infrastructure/Config/examples/ESMC_ConfigOverviewEx.C b/src/Infrastructure/Config/examples/ESMC_ConfigOverviewEx.C index aabe5a15d6..14953008b0 100644 --- a/src/Infrastructure/Config/examples/ESMC_ConfigOverviewEx.C +++ b/src/Infrastructure/Config/examples/ESMC_ConfigOverviewEx.C @@ -1,6 +1,6 @@ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/examples/ESMF_ConfigOverviewEx.F90 b/src/Infrastructure/Config/examples/ESMF_ConfigOverviewEx.F90 index 6288aabf79..a60bf13df3 100644 --- a/src/Infrastructure/Config/examples/ESMF_ConfigOverviewEx.F90 +++ b/src/Infrastructure/Config/examples/ESMF_ConfigOverviewEx.F90 @@ -1,6 +1,6 @@ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/include/ESMCI_Config.h b/src/Infrastructure/Config/include/ESMCI_Config.h index 78ce267d32..bb055c9a32 100644 --- a/src/Infrastructure/Config/include/ESMCI_Config.h +++ b/src/Infrastructure/Config/include/ESMCI_Config.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/include/ESMC_Config.h b/src/Infrastructure/Config/include/ESMC_Config.h index 35b8da53a6..ab5a97ac38 100644 --- a/src/Infrastructure/Config/include/ESMC_Config.h +++ b/src/Infrastructure/Config/include/ESMC_Config.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/interface/ESMC_Config.C b/src/Infrastructure/Config/interface/ESMC_Config.C index 75af8d7b40..a5c330ea31 100644 --- a/src/Infrastructure/Config/interface/ESMC_Config.C +++ b/src/Infrastructure/Config/interface/ESMC_Config.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/interface/ESMF_Config_C.F90 b/src/Infrastructure/Config/interface/ESMF_Config_C.F90 index 786cea289c..87ff9256e2 100644 --- a/src/Infrastructure/Config/interface/ESMF_Config_C.F90 +++ b/src/Infrastructure/Config/interface/ESMF_Config_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/src/ESMF_Config.F90 b/src/Infrastructure/Config/src/ESMF_Config.F90 index 48991377f1..6673283b3f 100644 --- a/src/Infrastructure/Config/src/ESMF_Config.F90 +++ b/src/Infrastructure/Config/src/ESMF_Config.F90 @@ -2,7 +2,7 @@ !============================================================================== ! Earth System Modeling Framework ! -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -182,23 +182,18 @@ module ESMF_ConfigMod !------------------------------------------------------------------------------ ! Revised parameter table to fit Fortran 90 standard. - integer, parameter :: LSZ = max (1024,ESMF_MAXPATHLEN) ! Maximum line size - ! should be at least long enough - ! to read in a file name with full - ! path prepended. - integer, parameter :: MSZ = 256 ! Used to size buffer; this is - ! usually *less* than the number - ! of non-blank/comment lines - ! (because most lines are shorter - ! then LSZ) - - integer, parameter :: NBUF_MAX = MSZ*LSZ ! max size of buffer + integer, parameter :: LSZ = 1024 ! Maximum label size + integer, parameter :: NBUF_MAX = 256*1024 ! max size of buffer integer, parameter :: NATT_MAX = NBUF_MAX/64 ! max # attributes; ! assumes an average line ! size of 16, the code ! will do a bound check character, parameter :: BLK = achar(32) ! blank (space) + character, parameter :: QTD = achar(34) ! double quotation " + character, parameter :: CMT = achar(35) ! number sign # + character, parameter :: DSN = achar(36) ! dollar sign $ + character, parameter :: QTS = achar(39) ! single quotation ' character, parameter :: TAB = achar(09) ! TAB character, parameter :: EOL = achar(10) ! end of line mark (newline) character, parameter :: EOB = achar(00) ! end of buffer mark (null) @@ -223,10 +218,11 @@ module ESMF_ConfigMod #endif !private character(len=NBUF_MAX),pointer :: buffer => null () ! hold the whole file - character(len=LSZ), pointer :: this_line => null () ! the current line integer :: nbuf ! actual size of buffer integer :: next_line ! index_ for next line on buffer + integer :: next_item ! index_ for beginning of line integer :: value_begin ! index of beginning of value + logical :: eolflag ! end of line reached type(ESMF_ConfigAttrUsed), dimension(:), & pointer :: attr_used => null () ! used attributes table integer :: nattr ! number of attributes @@ -514,7 +510,6 @@ subroutine ESMF_ConfigClassInit(s) ! !EOPI nullify(s%buffer) - nullify(s%this_line) nullify(s%attr_used) ESMF_INIT_SET_DEFINED(s) @@ -646,7 +641,7 @@ type(ESMF_Config) function ESMF_ConfigCreateDefault(keywordEnforcer, hconfig, rc if (ESMF_LogFoundAllocError(memstat, msg="Allocating config class", & ESMF_CONTEXT, rcToReturn=rc)) return - allocate(config_local%buffer, config_local%this_line, stat = memstat) + allocate(config_local%buffer, stat = memstat) if (ESMF_LogFoundAllocError(memstat, msg="Allocating local buffer 1", & ESMF_CONTEXT, rcToReturn=rc)) return @@ -660,6 +655,8 @@ type(ESMF_Config) function ESMF_ConfigCreateDefault(keywordEnforcer, hconfig, rc config_local%nbuf = 2 config_local%buffer(1:1) = EOL config_local%buffer(2:2) = EOB + config_local%next_item = 1 + config_local%eolflag = .false. config_local%next_line = 2 config_local%attr_used => attr_used_local @@ -785,8 +782,9 @@ type(ESMF_Config) function ESMF_ConfigCreateFromSection(config, & ESMF_ConfigCreateFromSection % cptr % nbuf = ptr ESMF_ConfigCreateFromSection % cptr % buffer(ptr:ptr) = EOB - ESMF_ConfigCreateFromSection % cptr % this_line = ' ' - ESMF_ConfigCreateFromSection % cptr % next_line = 1 + ESMF_ConfigCreateFromSection % cptr % next_line = 2 + ESMF_ConfigCreateFromSection % cptr % next_item = 1 + ESMF_ConfigCreateFromSection % cptr % eolflag = .false. ESMF_ConfigCreateFromSection % cptr % value_begin = 1 call ESMF_ConfigParseAttributes(ESMF_ConfigCreateFromSection, & @@ -864,7 +862,7 @@ subroutine ESMF_ConfigDestroy(config, keywordEnforcer, rc) if (ESMF_LogFoundDeallocError(memstat, msg="Deallocating local buffer 2", & ESMF_CONTEXT, rcToReturn=rc)) return - deallocate(config%cptr%buffer, config%cptr%this_line, stat = memstat) + deallocate(config%cptr%buffer, stat = memstat) if (ESMF_LogFoundDeallocError(memstat, msg="Deallocating local buffer 1", & ESMF_CONTEXT, rcToReturn=rc)) return @@ -957,7 +955,6 @@ subroutine ESMF_ConfigFindLabel(config, label, keywordEnforcer, isPresent, rc) i = index_ ( config%cptr%buffer(1:config%cptr%nbuf), EOL//label ) + 1 if ( i .eq. 1 ) then - config%cptr%this_line = BLK // EOL if (present (isPresent)) then if (present (rc)) rc = ESMF_SUCCESS return @@ -984,12 +981,22 @@ subroutine ESMF_ConfigFindLabel(config, label, keywordEnforcer, isPresent, rc) ! Extract the line associated with this label ! ------------------------------------------- i = i + len ( label ) - j = i + index_(config%cptr%buffer(i:config%cptr%nbuf),EOL) - 2 - config%cptr%this_line = config%cptr%buffer(i:j) // BLK // EOL - - config%cptr%next_line = j + 2 - + j = verify(config%cptr%buffer(i:config%cptr%nbuf),":") + if (j .eq. 0) then + i = config%cptr%nbuf + else + i = i + j - 1 + end if config%cptr%value_begin = i + config%cptr%next_item = i + config%cptr%eolflag = .false. + + j = index_(config%cptr%buffer(i:config%cptr%nbuf),EOL) + if (j .eq. 0) then + config%cptr%next_line = config%cptr%nbuf + else + config%cptr%next_line = i + j + end if if ( present (rc )) rc = ESMF_SUCCESS @@ -1053,7 +1060,6 @@ subroutine ESMF_ConfigFindNextLabel(config, label, keywordEnforcer, isPresent, r i = index_ ( config%cptr%buffer(ptr:config%cptr%nbuf ), EOL//label) + 1 if ( i .eq. 1 ) then - config%cptr%this_line = BLK // EOL if (present (isPresent)) then if (present (rc)) rc = ESMF_SUCCESS return @@ -1079,12 +1085,22 @@ subroutine ESMF_ConfigFindNextLabel(config, label, keywordEnforcer, isPresent, r ! Extract the line associated with this label ! ------------------------------------------- i = i + len ( label ) + ptr - 1 - j = i + index_ ( config%cptr%buffer(i:config%cptr%nbuf),EOL ) - 2 - config%cptr%this_line = config%cptr%buffer(ptr:j) // BLK // EOL - - config%cptr%next_line = j + 2 - + j = verify(config%cptr%buffer(i:config%cptr%nbuf),":") + if (j .eq. 0) then + i = config%cptr%nbuf + else + i = i + j - 1 + end if config%cptr%value_begin = i + config%cptr%next_item = i + config%cptr%eolflag = .false. + + j = index_(config%cptr%buffer(i:config%cptr%nbuf),EOL) + if (j .eq. 0) then + config%cptr%next_line = config%cptr%nbuf + else + config%cptr%next_line = i + j + end if if ( present (rc )) rc = ESMF_SUCCESS @@ -1287,7 +1303,7 @@ subroutine ESMF_ConfigGetString(config, value, & !EOPI ------------------------------------------------------------------ character(len=1) :: ch - integer :: ib, ie, localrc + integer :: ib, ie, nb, localrc logical :: found ! Initialize return code; assume routine not implemented @@ -1300,21 +1316,18 @@ subroutine ESMF_ConfigGetString(config, value, & ! Default setting if( present( default ) ) then - value = default - else - value = BLK - endif - - if (present (eolFlag)) then - eolFlag = .false. - end if - - if (present (default)) then if (len (value) < len (default)) then if (ESMF_LogFoundError (ESMF_RC_ARG_BAD, & msg='default length too long for value string', & ESMF_CONTEXT, rcToReturn=rc)) return end if + value = default + else + value = BLK + endif + + if (present (eolFlag)) then + eolFlag = .false. end if ! Processing @@ -1337,22 +1350,15 @@ subroutine ESMF_ConfigGetString(config, value, & endif endif - call ESMF_Config_trim ( config%cptr%this_line ) - - ch = config%cptr%this_line(1:1) - if ( ch .eq. '"' .or. ch .eq. "'" ) then - ib = 2 - ie = index_ ( config%cptr%this_line(ib:), ch ) - else - ib = 1 - ie = min(index_(config%cptr%this_line,BLK), & - index_(config%cptr%this_line,EOL)) - 1 - end if - - if ( ie .lt. ib ) then - value = BLK + ib = config%cptr%next_item + ie = config%cptr%next_line-2 + if ( config%cptr%eolflag ) then + ! reached end of line + config%cptr%next_item = config%cptr%next_line-1 if ( present ( default )) then value = default + else + value = BLK endif if (present (eolFlag)) then eolFlag = .true. @@ -1365,21 +1371,65 @@ subroutine ESMF_ConfigGetString(config, value, & endif return else - ! Get the string, and shift the rest of %this_line to - ! the left - value = config%cptr%this_line(ib:ie) - config%cptr%this_line = config%cptr%this_line(ie+2:) - if (len (value) >= ie-ib+1) then - localrc = ESMF_SUCCESS - else - localrc = ESMF_RC_ARG_SIZE - end if + nb = verify(config%cptr%buffer(ib:ie),BLK//TAB) + if (nb .eq. 0) then + ! remainder of line is blank + value = BLK + config%cptr%eolflag = .true. + config%cptr%next_item = config%cptr%next_line-1 + if (present (eolFlag)) then + eolFlag = .true. + end if + localrc = ESMF_SUCCESS + else + ! shift to first non blank + ib = ib + nb - 1 + ch = config%cptr%buffer(ib:ib) + if ( ch .eq. '"' .or. ch .eq. "'" ) then + ! quotation separated list + ib = ib + 1 + ie = index_(config%cptr%buffer(ib:ie),ch) + if (ie .eq. 0) then + ! missing end quotation + ib = ib - 1 + ie = config%cptr%next_line - 2 + config%cptr%eolflag = .true. + config%cptr%next_item = config%cptr%next_line-1 + else + ie = ib + ie - 2 + config%cptr%next_item = ie + 2 + nb = verify(config%cptr%buffer(config%cptr%next_item:config%cptr%next_line-2),BLK//TAB) + if (nb .eq. 0) config%cptr%eolflag = .true. + end if + else + ! blank separated list + ie = index_(config%cptr%buffer(ib:ie),BLK) + if (ie .eq. 0) then + ! last item + ie = config%cptr%next_line - 2 + config%cptr%eolflag = .true. + config%cptr%next_item = config%cptr%next_line-1 + else + ie = ib + ie - 2 + config%cptr%next_item = ie + 2 + nb = verify(config%cptr%buffer(config%cptr%next_item:config%cptr%next_line-2),BLK//TAB) + if (nb .eq. 0) config%cptr%eolflag = .true. + end if + end if + value = config%cptr%buffer(ib:ie) + ! error if value truncated + if (len (value) >= ie-ib+1) then + localrc = ESMF_SUCCESS + else + localrc = ESMF_RC_ARG_SIZE + end if + end if end if if ( present (rc)) then rc = localrc endif - + end subroutine ESMF_ConfigGetString !------------------------------------------------------------------------------ @@ -1536,7 +1586,7 @@ subroutine ESMF_ConfigGetFloatR4(config, value, & ! integer :: localrc integer :: iostat - character(len=LSZ) :: string + character(len=NBUF_MAX) :: string real(ESMF_KIND_R4) :: x ! Initialize return code; assume routine not implemented @@ -1629,7 +1679,7 @@ subroutine ESMF_ConfigGetFloatR8(config, value, & ! integer :: localrc integer :: iostat - character(len=LSZ) :: string + character(len=NBUF_MAX) :: string real(ESMF_KIND_R8) :: x ! Initialize return code; assume routine not implemented @@ -1926,7 +1976,7 @@ subroutine ESMF_ConfigGetIntI4(config, value, & !EOPI ------------------------------------------------------------------- integer :: localrc - character(len=LSZ) :: string + character(len=NBUF_MAX) :: string real(ESMF_KIND_R8) :: x integer(ESMF_KIND_I4) :: n integer :: iostat @@ -2026,7 +2076,7 @@ subroutine ESMF_ConfigGetIntI8(config, value, & ! integer :: localrc integer :: iostat - character(len=LSZ) :: string + character(len=NBUF_MAX) :: string real(ESMF_KIND_R8) :: x integer(ESMF_KIND_I8) :: n @@ -2331,7 +2381,7 @@ subroutine ESMF_ConfigGetLogical(config, value, & ! \end{description} ! !EOPI ------------------------------------------------------------------- - character(len=LSZ) :: string + character(len=NBUF_MAX) :: string integer :: localrc ! Initialize return code; assume routine not implemented @@ -2543,7 +2593,7 @@ subroutine ESMF_ConfigGetChar(config, value, & ! ! !EOP ------------------------------------------------------------------- - character(len=LSZ) :: string + character(len=NBUF_MAX) :: string integer :: localrc ! Initialize return code; assume routine not implemented @@ -2725,7 +2775,7 @@ integer function ESMF_ConfigGetLen(config, keywordEnforcer, label, rc) ! \end{description} ! !EOP ------------------------------------------------------------------- - character(len=LSZ) :: string + character(len=NBUF_MAX) :: string integer :: localrc integer :: count logical :: eol, found @@ -2954,12 +3004,11 @@ subroutine ESMF_ConfigLoadFile_1proc_( config, filename, rc ) ! !DESCRIPTION: Resource file filename is loaded into memory ! !EOPI ------------------------------------------------------------------- - integer :: i, ls, ptr + integer :: i, j, lsz, lst, led, qst, qed, cst, ptr integer :: lu, nrecs integer :: iostat - character(len=LSZ) :: line integer :: localrc - character(LSZ), allocatable :: line_buffer(:) + character(NBUF_MAX) :: line_buffer ! Initialize return code; assume routine not implemented if (present(rc)) rc = ESMF_RC_NOT_IMPL @@ -2991,33 +3040,69 @@ subroutine ESMF_ConfigLoadFile_1proc_( config, filename, rc ) rewind (lu) - allocate (line_buffer(nrecs)) - do, i = 1, nrecs - read (lu, '(a)') line_buffer(i) - end do - ! Read to end of file ! ------------------- config%cptr%buffer(1:1) = EOL ptr = 2 ! next buffer position do, i = 1, nrecs - ! Read next line ! -------------- - line = line_buffer(i) ! copy next line - call ESMF_Config_trim ( line ) ! remove trailing white space - call ESMF_Config_pad ( line ) ! Pad with # from end of line - -! A non-empty line -! ---------------- - ls = index_(line,'#' ) - 1 ! line length - if ( ls .gt. 0 ) then - if ( (ptr+ls) .gt. NBUF_MAX ) then - if (ESMF_LogFoundError(ESMF_RC_MEM, msg="exceeded NBUF_MAX size", & - ESMF_CONTEXT, rcToReturn=rc)) return - end if - config%cptr%buffer(ptr:ptr+ls) = line(1:ls) // EOL - ptr = ptr + ls + 1 + read (lu, '(a)', iostat=iostat) line_buffer + if (iostat /= 0) then + if (ESMF_LogFoundError(ESMF_RC_FILE_READ, & + msg="error reading file - "//trim(filename), & + ESMF_CONTEXT, rcToReturn=rc)) return + end if + ! find comment start, skip quoted comments + ! lst = line start, led = line end + ! qst = next quote start, qed = last quote end + ! cst = comment start + led = verify(line_buffer,BLK//TAB//DSN,back=.true.) + if (led .gt. 0) then + ! replace TAB's with blanks for convenience + ! backwards compatibility after removing ESMF_Config_pad + do j = 1, led + if (line_buffer(j:j) .eq. TAB) line_buffer(j:j) = BLK + end do + lst = verify(line_buffer(:led),BLK) + qst = scan(line_buffer(:led),QTS//QTD) + cst = index(line_buffer(:led),CMT) + if (cst .eq. 0) cst = led + 1 + qed = 0 + do while ((qst .ne. qed) .and. (qst .lt. cst)) + ! find end of quotation + if (qst .eq. led) then + qed = qst + else + qed = qst + index(line_buffer(qst+1:led),line_buffer(qst:qst)) + end if + if (qed .eq. qst) then + if (ESMF_LogFoundError(ESMF_RC_ARG_BAD, & + msg="missing end quote - "//trim(filename), & + ESMF_CONTEXT, rcToReturn=rc)) return + else + ! find next quotation start + qst = qed + scan(line_buffer(qed+1:led),QTS//QTD) + ! find next comment start + cst = index(line_buffer(qed+1:led),CMT) + if (cst .eq. 0) then + cst = led + 1 + else + cst = qed + cst + end if + end if + end do + led = len_trim(line_buffer(1:cst-1)) + lsz = led - lst + 1 + ! append line to buffer + if ( lsz .gt. 0 ) then + if ( (ptr+lsz) .ge. NBUF_MAX ) then + if (ESMF_LogFoundError(ESMF_RC_MEM, msg="exceeded NBUF_MAX size", & + ESMF_CONTEXT, rcToReturn=rc)) return + end if + config%cptr%buffer(ptr:ptr+lsz) = line_buffer(lst:led) // EOL + ptr = ptr + lsz + 1 + end if end if end do @@ -3035,7 +3120,7 @@ subroutine ESMF_ConfigLoadFile_1proc_( config, filename, rc ) endif config%cptr%buffer(ptr:ptr) = EOB config%cptr%nbuf = ptr - config%cptr%this_line = ' ' + config%cptr%next_item = 1 config%cptr%next_line = 1 config%cptr%value_begin = 1 @@ -3207,13 +3292,15 @@ subroutine ESMF_ConfigNextLine(config, keywordEnforcer, tableEnd, rc) end if i = config%cptr%next_line - j = i + index_(config%cptr%buffer(i:config%cptr%nbuf),EOL) - 2 - config%cptr%this_line = config%cptr%buffer(i:j) // BLK // EOL - - if ( config%cptr%this_line(1:2) .eq. '::' ) then + j = i + index_(config%cptr%buffer(i:config%cptr%nbuf),EOL) + + if ( config%cptr%buffer(i:i+1) .eq. '::' ) then localrc = ESMF_SUCCESS ! end of table. We set rc = ESMF_SUCCESS local_tend = .true. ! and end = .true. Used to be iret = 1 config%cptr%next_line = config%cptr%nbuf + 1 + config%cptr%value_begin = config%cptr%nbuf + 1 + config%cptr%next_item = config%cptr%nbuf + 1 + config%cptr%eolflag = .true. if ( present (tableEnd )) then tableEnd = local_tend endif @@ -3223,7 +3310,10 @@ subroutine ESMF_ConfigNextLine(config, keywordEnforcer, tableEnd, rc) return end if - config%cptr%next_line = j + 2 + config%cptr%value_begin = i + config%cptr%next_item = i + config%cptr%next_line = j + config%cptr%eolflag = .false. localrc = ESMF_SUCCESS if ( present (tableEnd )) then tableEnd = local_tend @@ -3260,7 +3350,7 @@ subroutine ESMF_ConfigParseAttributes( config, unique, rc ) ! !EOPI ------------------------------------------------------------------- integer :: i, j, k, a, b, localrc - character(len=LSZ) :: this_line, label + character(len=LSZ) :: this_label, label character(len=ESMF_MAXSTR) :: logmsg logical :: duplicate @@ -3283,15 +3373,20 @@ subroutine ESMF_ConfigParseAttributes( config, unique, rc ) do while ( i .lt. config%cptr%nbuf ) ! get next line from buffer - j = i + index_(config%cptr%buffer(i:config%cptr%nbuf), EOL) - 1 - this_line = config%cptr%buffer(i:j) + j = index_(config%cptr%buffer(i:config%cptr%nbuf), EOL) + if (j .eq. 0) then + j = config%cptr%nbuf - 1 + else + j = i + j - 1 + endif + this_label = config%cptr%buffer(i:j) - ! look for label in this_line; non-blank characters followed by a colon - if (this_line(1:2) .ne. '::' ) then ! skip end-of-table mark - k = index_(this_line, ':') - 1 ! label sans colon + ! look for label in this_label; non-blank characters followed by a colon + if (this_label(1:2) .ne. '::' ) then ! skip end-of-table mark + k = index_(this_label, ':') - 1 ! label sans colon if (k .ge. 1) then ! non-blank match ! found a label, trim it, - label = trim(adjustl(this_line(1:k))) + label = trim(adjustl(this_label(1:k))) ! ... check it for uniqueness if requested, duplicate = .false. @@ -3491,7 +3586,7 @@ subroutine ESMF_ConfigSetIntI4(config, value, & ! integer :: localrc character(len=ESMF_MAXSTR) :: logmsg - character(len=LSZ) :: curVal, newVal + character(len=ESMF_MAXSTR) :: newVal integer :: i, j, k, m, nchar, ninsert, ndelete, lenThisLine ! Initialize return code; assume routine not implemented @@ -3501,116 +3596,9 @@ subroutine ESMF_ConfigSetIntI4(config, value, & !check variables ESMF_INIT_CHECK_DEEP(ESMF_ConfigGetInit,config,rc) - ! Set config buffer at desired attribute - if ( present (label) ) then - call ESMF_ConfigGetString( config, curVal, label=label, rc=localrc) - else - call ESMF_ConfigGetString( config, curVal, rc = localrc ) - endif - - if ( localrc /= ESMF_SUCCESS ) then - if ( localrc == ESMF_RC_NOT_FOUND ) then - ! set config buffer at end for appending - i = config%cptr%nbuf - else - if ( present( rc ) ) then - rc = localrc - endif - return - endif - else ! attribute found - ! set config buffer for overwriting/inserting - i = config%cptr%value_begin - curVal = BLK // trim(curVal) // BLK // EOL ! like config%cptr%this_line - endif - - ! for appending, create new attribute string with label and value - if ( i .eq. config%cptr%nbuf .and. present(label) ) then - write(newVal, *) label, BLK, value - newVal = trim(adjustl(newVal)) // EOL - j = i + len_trim(newVal) - - ! check to ensure len of newVal doesn't exceed LSZ - if ( (j-i) .gt. LSZ) then - write(logmsg, *) ", attribute label, value & EOL are ", j-i, & - " characters long, only ", LSZ, " characters allowed per line" - if (ESMF_LogFoundError(ESMC_RC_LONG_STR, msg=logmsg, & - ESMF_CONTEXT, rcToReturn=rc)) return - endif - - ! check if enough space left in config buffer - if (j .ge. NBUF_MAX) then ! room for EOB if necessary - write(logmsg, *) ", attribute label & value require ", j-i+1, & - " characters (including EOL & EOB), only ", NBUF_MAX-i, & - " characters left in config buffer" - if (ESMF_LogFoundError(ESMC_RC_LONG_STR, msg=logmsg, & - ESMF_CONTEXT, rcToReturn=rc)) return - endif - endif - - ! overwrite, with possible insertion or deletion of extra characters - if (i .eq. config%cptr%value_begin) then - write(newVal, *) value - newVal = BLK // trim(adjustl(newVal)) // EOL - j = i + len_trim(newVal) - 1 - - ! check if we need more space to insert new characters; - ! shift buffer down (linked-list redesign would be better!) - nchar = j-i+1 - lenThisLine = len_trim(curVal) - 1 - if ( nchar .gt. lenThisLine) then - - ! check to ensure length of extended line doesn't exceed LSZ - do m = i, 1, -1 - if (config%cptr%buffer(m:m) .eq. EOL) then - exit - endif - enddo - if (j-m+1 .gt. LSZ) then - write(logmsg, *) ", attribute label, value & EOL are ", j-m+1, & - " characters long, only ", LSZ, " characters allowed per line" - if (ESMF_LogFoundError(ESMC_RC_LONG_STR, msg=logmsg, & - ESMF_CONTEXT, rcToReturn=rc)) return - endif - - ! check if enough space left in config buffer to extend line - if (j+1 .ge. NBUF_MAX) then ! room for EOB if necessary - write(logmsg, *) ", attribute label & value require ", j-m+1, & - " characters (including EOL & EOB), only ", NBUF_MAX-i, & - " characters left in config buffer" - if (ESMF_LogFoundError(ESMC_RC_LONG_STR, msg=logmsg, & - ESMF_CONTEXT, rcToReturn=rc)) return - endif - - ninsert = nchar - lenThisLine - do k = config%cptr%nbuf, j, -1 - config%cptr%buffer(k+ninsert:k+ninsert) = config%cptr%buffer(k:k) - enddo - config%cptr%nbuf = config%cptr%nbuf + ninsert - - ! or if we need less space and remove characters; - ! shift buffer up - elseif ( nchar .lt. lenThisLine ) then - ndelete = lenThisLine - nchar - do k = j+1, config%cptr%nbuf - config%cptr%buffer(k-ndelete:k-ndelete) = config%cptr%buffer(k:k) - enddo - config%cptr%nbuf = config%cptr%nbuf - ndelete - endif - endif - - ! write new attribute value into config - config%cptr%buffer(i:j) = newVal(1:len_trim(newVal)) - - ! if appended, reset EOB marker and nbuf - if (i .eq. config%cptr%nbuf) then - config%cptr%buffer(j:j) = EOB - config%cptr%nbuf = j - endif + write(newVal, *) value - if( present( rc )) then - rc = ESMF_SUCCESS - endif + call ESMF_ConfigSetAttribute(config, value=newVal, label=label, rc=rc) return end subroutine ESMF_ConfigSetIntI4 @@ -3620,7 +3608,7 @@ end subroutine ESMF_ConfigSetIntI4 #define ESMF_METHOD "ESMF_ConfigSetString" !BOPI ! -! !IROUTINE: ESMF_ConfigSetAttribute - Set a 4-byte integer number +! !IROUTINE: ESMF_ConfigSetAttribute - Set a string ! ! !INTERFACE: @@ -3655,7 +3643,7 @@ subroutine ESMF_ConfigSetString(config, value, & ! integer :: localrc character(len=ESMF_MAXSTR) :: logmsg - character(len=LSZ) :: curVal, newVal + character(len=NBUF_MAX) :: curVal, newVal integer :: i, j, k, m, nchar, ninsert, ndelete, lenThisLine ! Initialize return code; assume routine not implemented @@ -3685,22 +3673,18 @@ subroutine ESMF_ConfigSetString(config, value, & else ! attribute found ! set config buffer for overwriting/inserting i = config%cptr%value_begin - curVal = BLK // trim(curVal) // BLK // EOL ! like config%cptr%this_line endif ! for appending, create new attribute string with label and value - if ( i .eq. config%cptr%nbuf .and. present(label) ) then - write(newVal, *) label, BLK, value - newVal = trim(adjustl(newVal)) // EOL - j = i + len_trim(newVal) - - ! check to ensure len of newVal doesn't exceed LSZ - if ( (j-i) .gt. LSZ) then - write(logmsg, *) ", attribute label, value & EOL are ", j-i, & - " characters long, only ", LSZ, " characters allowed per line" - if (ESMF_LogFoundError(ESMC_RC_LONG_STR, msg=logmsg, & - ESMF_CONTEXT, rcToReturn=rc)) return + if ( i .eq. config%cptr%nbuf ) then + if ( present(label) ) then + write(newVal, *) trim(label), BLK, value + else + write(newVal, *) "__MISSING__:", BLK, value endif + newVal = trim(adjustl(newVal)) // EOL + nchar = len_trim(newVal) + j = i + nchar ! check if enough space left in config buffer if (j .ge. NBUF_MAX) then ! room for EOB if necessary @@ -3716,29 +3700,24 @@ subroutine ESMF_ConfigSetString(config, value, & if (i .eq. config%cptr%value_begin) then write(newVal, *) value newVal = BLK // trim(adjustl(newVal)) // EOL - j = i + len_trim(newVal) - 1 + + nchar = len_trim(newVal) + + j = i + nchar - 1 ! check if we need more space to insert new characters; ! shift buffer down (linked-list redesign would be better!) - nchar = j-i+1 - lenThisLine = len_trim(curVal) - 1 - if ( nchar .gt. lenThisLine) then + lenThisLine = index(config%cptr%buffer(i:config%cptr%next_line),EOL) + if (lenThisLine .eq. 0) lenThisLine = config%cptr%nbuf - i - ! check to ensure length of extended line doesn't exceed LSZ - do m = i, 1, -1 - if (config%cptr%buffer(m:m) .eq. EOL) then - exit - endif - enddo - if (j-m+1 .gt. LSZ) then - write(logmsg, *) ", attribute label, value & EOL are ", j-m+1, & - " characters long, only ", LSZ, " characters allowed per line" - if (ESMF_LogFoundError(ESMC_RC_LONG_STR, msg=logmsg, & - ESMF_CONTEXT, rcToReturn=rc)) return - endif + if ( nchar .gt. lenThisLine) then + ninsert = nchar - lenThisLine ! check if enough space left in config buffer to extend line - if (j+1 .ge. NBUF_MAX) then ! room for EOB if necessary + ! leave room for EOB with .ge. + if (config%cptr%nbuf+ninsert .ge. NBUF_MAX) then + m = index(config%cptr%buffer(1:i), EOL, back=.true.) + if (m .lt. 1) m = 1 write(logmsg, *) ", attribute label & value require ", j-m+1, & " characters (including EOL & EOB), only ", NBUF_MAX-i, & " characters left in config buffer" @@ -3746,29 +3725,28 @@ subroutine ESMF_ConfigSetString(config, value, & ESMF_CONTEXT, rcToReturn=rc)) return endif - ninsert = nchar - lenThisLine - do k = config%cptr%nbuf, j, -1 - config%cptr%buffer(k+ninsert:k+ninsert) = config%cptr%buffer(k:k) - enddo config%cptr%nbuf = config%cptr%nbuf + ninsert + config%cptr%buffer(i+lenThisLine+ninsert:config%cptr%nbuf+ninsert) = & + config%cptr%buffer(i+lenThisLine:config%cptr%nbuf) ! or if we need less space and remove characters; ! shift buffer up elseif ( nchar .lt. lenThisLine ) then - ndelete = lenThisLine - nchar - do k = j+1, config%cptr%nbuf - config%cptr%buffer(k-ndelete:k-ndelete) = config%cptr%buffer(k:k) - enddo + ndelete = lenThisLine - nchar + config%cptr%buffer(i+lenThisLine-ndelete:config%cptr%nbuf-ndelete) = & + config%cptr%buffer(i+lenThisLine:config%cptr%nbuf) config%cptr%nbuf = config%cptr%nbuf - ndelete endif endif ! write new attribute value into config - config%cptr%buffer(i:j) = newVal(1:len_trim(newVal)) + config%cptr%buffer(i:j) = newVal(1:nchar) + config%cptr%next_line = j + 1 + config%cptr%next_item = config%cptr%value_begin ! if appended, reset EOB marker and nbuf if (i .eq. config%cptr%nbuf) then - config%cptr%buffer(j:j) = EOB + config%cptr%buffer(j+1:j+1) = EOB config%cptr%nbuf = j endif @@ -4077,58 +4055,6 @@ subroutine ESMF_Config_Trim ( string ) end subroutine ESMF_Config_trim - subroutine ESMF_Config_pad ( string ) - -!-------------------------------------------------------------------------! -! !ROUTINE: ESMF_CONFIG_Pad() --- Pad strings. -! -! !DESCRIPTION: -! -! Pads from the right with the comment character (\#). It also -! replaces TAB's with blanks for convenience. This is a low level -! i90 routine. -! -! !CALLING SEQUENCE: -! -! call ESMF_Config_pad ( string ) -! -! !INPUT PARAMETERS: -! - character(*), intent(inout) :: string ! input string - -! !OUTPUT PARAMETERS: ! modified string -! -! character(*), intent(inout) :: string -! -! !BUGS: -! -! It alters TAB's even inside strings. -! -! -! !REVISION HISTORY: -! -! 19Jun96 da Silva Original code. -!------------------------------------------------------------------------- - - integer :: i - -! Pad end of string with # -! ------------------------ - do i = len (string), 1, -1 - if ( string(i:i) .ne. ' ' .and. & - string(i:i) .ne. '$' ) exit - string(i:i) = '#' - end do - -! Replace TAB's with blanks -! ------------------------- - do i = 1, len (string) - if ( string(i:i) .eq. TAB ) string(i:i) = BLK - if ( string(i:i) .eq. '#' ) exit - end do - - end subroutine ESMF_Config_pad - !----------------------------------------------------------------------- ! !IROUTINE: opntext - portably open a text file ! diff --git a/src/Infrastructure/Config/tests/ESMC_ConfigUTest.c b/src/Infrastructure/Config/tests/ESMC_ConfigUTest.c index 2935b573aa..4cb8fd6b1f 100644 --- a/src/Infrastructure/Config/tests/ESMC_ConfigUTest.c +++ b/src/Infrastructure/Config/tests/ESMC_ConfigUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Config/tests/ESMF_ConfigUTest.F90 b/src/Infrastructure/Config/tests/ESMF_ConfigUTest.F90 index 1b1e3f181a..45c363fe4c 100644 --- a/src/Infrastructure/Config/tests/ESMF_ConfigUTest.F90 +++ b/src/Infrastructure/Config/tests/ESMF_ConfigUTest.F90 @@ -2,7 +2,7 @@ !============================================================================== ! Earth System Modeling Framework ! -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Container/include/ESMCI_Container.h b/src/Infrastructure/Container/include/ESMCI_Container.h index bb4f058bb0..4d84be6c08 100644 --- a/src/Infrastructure/Container/include/ESMCI_Container.h +++ b/src/Infrastructure/Container/include/ESMCI_Container.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Container/interface/ESMCI_Container_F.C b/src/Infrastructure/Container/interface/ESMCI_Container_F.C index e4dd5c97ce..01d9cc32e8 100644 --- a/src/Infrastructure/Container/interface/ESMCI_Container_F.C +++ b/src/Infrastructure/Container/interface/ESMCI_Container_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Container/interface/ESMF_Container.F90 b/src/Infrastructure/Container/interface/ESMF_Container.F90 index 2a81ca3a96..ff8419d61b 100644 --- a/src/Infrastructure/Container/interface/ESMF_Container.F90 +++ b/src/Infrastructure/Container/interface/ESMF_Container.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Container/tests/ESMF_ContainerUTest.F90 b/src/Infrastructure/Container/tests/ESMF_ContainerUTest.F90 index d0ffb4523c..3f192a42f5 100644 --- a/src/Infrastructure/Container/tests/ESMF_ContainerUTest.F90 +++ b/src/Infrastructure/Container/tests/ESMF_ContainerUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/doc/CommMem_syn.tex b/src/Infrastructure/DELayout/doc/CommMem_syn.tex index 75838d3773..73ace49163 100644 --- a/src/Infrastructure/DELayout/doc/CommMem_syn.tex +++ b/src/Infrastructure/DELayout/doc/CommMem_syn.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/doc/DELayout_crefdoc.ctex b/src/Infrastructure/DELayout/doc/DELayout_crefdoc.ctex index 7ffc870066..a7a635bc0c 100644 --- a/src/Infrastructure/DELayout/doc/DELayout_crefdoc.ctex +++ b/src/Infrastructure/DELayout/doc/DELayout_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/doc/DELayout_options.tex b/src/Infrastructure/DELayout/doc/DELayout_options.tex index d6ff8a9558..a94b78c0a7 100644 --- a/src/Infrastructure/DELayout/doc/DELayout_options.tex +++ b/src/Infrastructure/DELayout/doc/DELayout_options.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/doc/DELayout_refdoc.ctex b/src/Infrastructure/DELayout/doc/DELayout_refdoc.ctex index f7f52d8fa4..a1f736568e 100644 --- a/src/Infrastructure/DELayout/doc/DELayout_refdoc.ctex +++ b/src/Infrastructure/DELayout/doc/DELayout_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/examples/ESMF_DELayoutEx.F90 b/src/Infrastructure/DELayout/examples/ESMF_DELayoutEx.F90 index aaa0f89d3d..3483e39c6b 100644 --- a/src/Infrastructure/DELayout/examples/ESMF_DELayoutEx.F90 +++ b/src/Infrastructure/DELayout/examples/ESMF_DELayoutEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/include/ESMCI_DELayout.h b/src/Infrastructure/DELayout/include/ESMCI_DELayout.h index 9c8e6f67df..994802e78d 100644 --- a/src/Infrastructure/DELayout/include/ESMCI_DELayout.h +++ b/src/Infrastructure/DELayout/include/ESMCI_DELayout.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/interface/ESMCI_DELayout_F.C b/src/Infrastructure/DELayout/interface/ESMCI_DELayout_F.C index ea3a9bab84..829ded04b2 100644 --- a/src/Infrastructure/DELayout/interface/ESMCI_DELayout_F.C +++ b/src/Infrastructure/DELayout/interface/ESMCI_DELayout_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/interface/ESMF_DELayout.F90 b/src/Infrastructure/DELayout/interface/ESMF_DELayout.F90 index 249740d1f8..894b9b16a4 100644 --- a/src/Infrastructure/DELayout/interface/ESMF_DELayout.F90 +++ b/src/Infrastructure/DELayout/interface/ESMF_DELayout.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/src/ESMCI_DELayout.C b/src/Infrastructure/DELayout/src/ESMCI_DELayout.C index 8ee2a13995..056eba0300 100644 --- a/src/Infrastructure/DELayout/src/ESMCI_DELayout.C +++ b/src/Infrastructure/DELayout/src/ESMCI_DELayout.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/tests/ESMF_DELayoutUTest.F90 b/src/Infrastructure/DELayout/tests/ESMF_DELayoutUTest.F90 index 4d8bacb1ab..d00e870cf5 100644 --- a/src/Infrastructure/DELayout/tests/ESMF_DELayoutUTest.F90 +++ b/src/Infrastructure/DELayout/tests/ESMF_DELayoutUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DELayout/tests/ESMF_DELayoutWorkQueueUTest.F90 b/src/Infrastructure/DELayout/tests/ESMF_DELayoutWorkQueueUTest.F90 index 5da78bfd2c..08400c9afa 100644 --- a/src/Infrastructure/DELayout/tests/ESMF_DELayoutWorkQueueUTest.F90 +++ b/src/Infrastructure/DELayout/tests/ESMF_DELayoutWorkQueueUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/doc/DistGrid_cdesc.tex b/src/Infrastructure/DistGrid/doc/DistGrid_cdesc.tex index 5450051fbe..0d25fd237f 100644 --- a/src/Infrastructure/DistGrid/doc/DistGrid_cdesc.tex +++ b/src/Infrastructure/DistGrid/doc/DistGrid_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/doc/DistGrid_crefdoc.ctex b/src/Infrastructure/DistGrid/doc/DistGrid_crefdoc.ctex index 2661ba7c3f..37d8b1e6d1 100644 --- a/src/Infrastructure/DistGrid/doc/DistGrid_crefdoc.ctex +++ b/src/Infrastructure/DistGrid/doc/DistGrid_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/doc/DistGrid_desc.tex b/src/Infrastructure/DistGrid/doc/DistGrid_desc.tex index 7a74342f69..9f513b16dc 100644 --- a/src/Infrastructure/DistGrid/doc/DistGrid_desc.tex +++ b/src/Infrastructure/DistGrid/doc/DistGrid_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/doc/DistGrid_options.tex b/src/Infrastructure/DistGrid/doc/DistGrid_options.tex index 0e01f699c3..e58958a598 100644 --- a/src/Infrastructure/DistGrid/doc/DistGrid_options.tex +++ b/src/Infrastructure/DistGrid/doc/DistGrid_options.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/doc/DistGrid_refdoc.ctex b/src/Infrastructure/DistGrid/doc/DistGrid_refdoc.ctex index 05a11d62d7..75494a9fa4 100644 --- a/src/Infrastructure/DistGrid/doc/DistGrid_refdoc.ctex +++ b/src/Infrastructure/DistGrid/doc/DistGrid_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/examples/ESMF_DistGridEx.F90 b/src/Infrastructure/DistGrid/examples/ESMF_DistGridEx.F90 index 308b04f2a9..0b6a7c3eef 100644 --- a/src/Infrastructure/DistGrid/examples/ESMF_DistGridEx.F90 +++ b/src/Infrastructure/DistGrid/examples/ESMF_DistGridEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/include/ESMCI_DistGrid.h b/src/Infrastructure/DistGrid/include/ESMCI_DistGrid.h index 989c078be4..64ec9307b9 100644 --- a/src/Infrastructure/DistGrid/include/ESMCI_DistGrid.h +++ b/src/Infrastructure/DistGrid/include/ESMCI_DistGrid.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/include/ESMC_DistGrid.h b/src/Infrastructure/DistGrid/include/ESMC_DistGrid.h index e131052d90..b0104f7651 100644 --- a/src/Infrastructure/DistGrid/include/ESMC_DistGrid.h +++ b/src/Infrastructure/DistGrid/include/ESMC_DistGrid.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/interface/ESMCI_DistGrid_F.C b/src/Infrastructure/DistGrid/interface/ESMCI_DistGrid_F.C index e798e02c53..184935737f 100644 --- a/src/Infrastructure/DistGrid/interface/ESMCI_DistGrid_F.C +++ b/src/Infrastructure/DistGrid/interface/ESMCI_DistGrid_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/interface/ESMC_DistGrid.C b/src/Infrastructure/DistGrid/interface/ESMC_DistGrid.C index eabc3bb24d..b88b2363ae 100644 --- a/src/Infrastructure/DistGrid/interface/ESMC_DistGrid.C +++ b/src/Infrastructure/DistGrid/interface/ESMC_DistGrid.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/interface/ESMF_DistGrid.F90 b/src/Infrastructure/DistGrid/interface/ESMF_DistGrid.F90 index 7ae21c614e..9f483a64a1 100644 --- a/src/Infrastructure/DistGrid/interface/ESMF_DistGrid.F90 +++ b/src/Infrastructure/DistGrid/interface/ESMF_DistGrid.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/interface/ESMF_DistGridConnection.F90 b/src/Infrastructure/DistGrid/interface/ESMF_DistGridConnection.F90 index 4decd42da6..349e4ff5bd 100644 --- a/src/Infrastructure/DistGrid/interface/ESMF_DistGridConnection.F90 +++ b/src/Infrastructure/DistGrid/interface/ESMF_DistGridConnection.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/interface/ESMF_DistGridRegDecomp.F90 b/src/Infrastructure/DistGrid/interface/ESMF_DistGridRegDecomp.F90 index 678232752e..85b5996a82 100644 --- a/src/Infrastructure/DistGrid/interface/ESMF_DistGridRegDecomp.F90 +++ b/src/Infrastructure/DistGrid/interface/ESMF_DistGridRegDecomp.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/src/ESMCI_DistGrid.C b/src/Infrastructure/DistGrid/src/ESMCI_DistGrid.C index 2d7617b332..5cbcb3fe6b 100644 --- a/src/Infrastructure/DistGrid/src/ESMCI_DistGrid.C +++ b/src/Infrastructure/DistGrid/src/ESMCI_DistGrid.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/tests/ESMC_DistGridUTest.c b/src/Infrastructure/DistGrid/tests/ESMC_DistGridUTest.c index 4bc44fd4a0..7ee53c8ba8 100644 --- a/src/Infrastructure/DistGrid/tests/ESMC_DistGridUTest.c +++ b/src/Infrastructure/DistGrid/tests/ESMC_DistGridUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/DistGrid/tests/ESMF_DistGridCreateGetUTest.F90 b/src/Infrastructure/DistGrid/tests/ESMF_DistGridCreateGetUTest.F90 index 857300a8f7..040d8ce6fb 100644 --- a/src/Infrastructure/DistGrid/tests/ESMF_DistGridCreateGetUTest.F90 +++ b/src/Infrastructure/DistGrid/tests/ESMF_DistGridCreateGetUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldArbGridEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldArbGridEx.F90 index 6ce45348cc..c36f9a8afa 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldArbGridEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldArbGridEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldCommEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldCommEx.F90 index 25d038d498..0f257e9972 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldCommEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldCommEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldCreateEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldCreateEx.F90 index 6bec3ddb92..8fb01273e3 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldCreateEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldCreateEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldEx.F90 index 0de397263c..0c08e9c9c0 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldHaloEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldHaloEx.F90 index 2d96b8e736..a2a0b02b88 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldHaloEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldHaloEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldMeshRegridEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldMeshRegridEx.F90 index 5eeb876b6d..1884e86183 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldMeshRegridEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldMeshRegridEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldRedistEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldRedistEx.F90 index 2425babf1c..300e10568d 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldRedistEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldRedistEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldRegridEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldRegridEx.F90 index bd9b773c2c..329e93044e 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldRegridEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldRegridEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldRegridMaskEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldRegridMaskEx.F90 index d0d282ad8b..c2c2d35207 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldRegridMaskEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldRegridMaskEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldRepDimEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldRepDimEx.F90 index a64bf390b3..130bdd01f9 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldRepDimEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldRepDimEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldSMMEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldSMMEx.F90 index c5b456171d..ab0b5b3535 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldSMMEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldSMMEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/examples/ESMF_FieldSphereRegridEx.F90 b/src/Infrastructure/Field/examples/ESMF_FieldSphereRegridEx.F90 index 92a5fd9755..92f56d1472 100644 --- a/src/Infrastructure/Field/examples/ESMF_FieldSphereRegridEx.F90 +++ b/src/Infrastructure/Field/examples/ESMF_FieldSphereRegridEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/include/ESMCI_Field.h b/src/Infrastructure/Field/include/ESMCI_Field.h index 26a18661d4..1e16e7a35d 100644 --- a/src/Infrastructure/Field/include/ESMCI_Field.h +++ b/src/Infrastructure/Field/include/ESMCI_Field.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/include/ESMC_Field.h b/src/Infrastructure/Field/include/ESMC_Field.h index 429b6f8c98..d4967fb0d9 100644 --- a/src/Infrastructure/Field/include/ESMC_Field.h +++ b/src/Infrastructure/Field/include/ESMC_Field.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/interface/ESMCI_Field.C b/src/Infrastructure/Field/interface/ESMCI_Field.C index 470428d190..80e0abda4c 100644 --- a/src/Infrastructure/Field/interface/ESMCI_Field.C +++ b/src/Infrastructure/Field/interface/ESMCI_Field.C @@ -1,7 +1,7 @@ //$1.10 2007/04/26 16:13:59 rosalind Exp $ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/interface/ESMCI_Field_F.C b/src/Infrastructure/Field/interface/ESMCI_Field_F.C index 6137044efc..4d50657cf0 100644 --- a/src/Infrastructure/Field/interface/ESMCI_Field_F.C +++ b/src/Infrastructure/Field/interface/ESMCI_Field_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/interface/ESMC_Field.C b/src/Infrastructure/Field/interface/ESMC_Field.C index e9ecb84f70..de31141176 100644 --- a/src/Infrastructure/Field/interface/ESMC_Field.C +++ b/src/Infrastructure/Field/interface/ESMC_Field.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/interface/ESMF_Field_C.F90 b/src/Infrastructure/Field/interface/ESMF_Field_C.F90 index c67bd96b23..f634d2fe0f 100644 --- a/src/Infrastructure/Field/interface/ESMF_Field_C.F90 +++ b/src/Infrastructure/Field/interface/ESMF_Field_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_Field.F90 b/src/Infrastructure/Field/src/ESMF_Field.F90 index b3bd886a61..60ce5f98a2 100644 --- a/src/Infrastructure/Field/src/ESMF_Field.F90 +++ b/src/Infrastructure/Field/src/ESMF_Field.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldCreate.cppF90 b/src/Infrastructure/Field/src/ESMF_FieldCreate.cppF90 index f98be31db2..be1f75a76f 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldCreate.cppF90 +++ b/src/Infrastructure/Field/src/ESMF_FieldCreate.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldEmpty.cppF90 b/src/Infrastructure/Field/src/ESMF_FieldEmpty.cppF90 index 21891b0a6d..19886384ef 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldEmpty.cppF90 +++ b/src/Infrastructure/Field/src/ESMF_FieldEmpty.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldGather.cppF90 b/src/Infrastructure/Field/src/ESMF_FieldGather.cppF90 index 0cd8e05274..f662061f9b 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldGather.cppF90 +++ b/src/Infrastructure/Field/src/ESMF_FieldGather.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldGet.cppF90 b/src/Infrastructure/Field/src/ESMF_FieldGet.cppF90 index 49f3135963..a4b1b77304 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldGet.cppF90 +++ b/src/Infrastructure/Field/src/ESMF_FieldGet.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -374,11 +374,7 @@ type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below !------------------------------------------------------------------------------ type(ESMF_FieldType), pointer :: ftype integer :: localrc, fieldrank - type(ESMF_GridDecompType) :: decompType - type(ESMF_GeomType_Flag) :: localGeomType type(ESMF_Status) :: fieldstatus - type(ESMF_Grid) :: l_grid - type(ESMF_Mesh) :: l_mesh type(ESMF_DistGrid) :: distgrid ! Initialize @@ -407,16 +403,12 @@ type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below status = ftype%status endif - ! set default decomp type to non-arb. - decompType = ESMF_GRID_NONARBITRARY - ! Get the geometry type if (present(geomtype)) then - call ESMF_GeomGet(ftype%geom, geomtype=localGeomType, rc=localrc) + call ESMF_GeomGet(ftype%geom, geomtype=geomtype, rc=localrc) if (ESMF_LogFoundError(localrc, & ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return - geomtype = localGeomType endif if (present(geom)) then @@ -651,40 +643,8 @@ type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below if(present(minIndex) .or. present(maxIndex) .or. present(elementCount) .or. & present(localMinIndex) .or. present(localMaxIndex) .or. present(localElementCount)) then - call ESMF_GeomGet(ftype%geom, geomtype=localGeomType, rc=localrc) - if (ESMF_LogFoundError(localrc, & - ESMF_ERR_PASSTHRU, & - ESMF_CONTEXT, rcToReturn=rc)) return - - if (localGeomType == ESMF_GEOMTYPE_GRID) then - call ESMF_GeomGet(ftype%geom, & - grid=l_grid, rc=localrc) - if (ESMF_LogFoundError(localrc, & - ESMF_ERR_PASSTHRU, & - ESMF_CONTEXT, rcToReturn=rc)) return - call ESMF_GridGet(l_grid, distgrid=distgrid, rc=localrc) - if (ESMF_LogFoundError(localrc, & - ESMF_ERR_PASSTHRU, & - ESMF_CONTEXT, rcToReturn=rc)) return - else if (localGeomType == ESMF_GEOMTYPE_MESH) then - call ESMF_GeomGet(ftype%geom, & - mesh=l_mesh, rc=localrc) - if (ESMF_LogFoundError(localrc, & - ESMF_ERR_PASSTHRU, & - ESMF_CONTEXT, rcToReturn=rc)) return - call ESMF_MeshGet(l_mesh, nodaldistgrid=distgrid, rc=localrc) - if (ESMF_LogFoundError(localrc, & - ESMF_ERR_PASSTHRU, & - ESMF_CONTEXT, rcToReturn=rc)) return - else - call ESMF_LogSetError(rcToCheck=ESMF_RC_OBJ_BAD, & - msg="Only implemented for Grid and Mesh.", & - ESMF_CONTEXT, rcToReturn=rc) - return - endif - call ESMF_ArrayGet(ftype%array, rank=fieldrank, & - rc=localrc) + distgrid=distgrid, rc=localrc) if (localrc .ne. ESMF_SUCCESS) then call ESMF_LogSetError(rcToCheck=ESMF_RC_OBJ_BAD, & msg="Cannot retrieve fieldrank from ftypep%array", & diff --git a/src/Infrastructure/Field/src/ESMF_FieldGetAllocBounds.F90 b/src/Infrastructure/Field/src/ESMF_FieldGetAllocBounds.F90 index ae31fdc7fa..d97eeb2285 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldGetAllocBounds.F90 +++ b/src/Infrastructure/Field/src/ESMF_FieldGetAllocBounds.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldHalo.F90 b/src/Infrastructure/Field/src/ESMF_FieldHalo.F90 index b9f1850692..b2254ba8d3 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldHalo.F90 +++ b/src/Infrastructure/Field/src/ESMF_FieldHalo.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldPr.F90 b/src/Infrastructure/Field/src/ESMF_FieldPr.F90 index 38049125fb..bd84703cad 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldPr.F90 +++ b/src/Infrastructure/Field/src/ESMF_FieldPr.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldRedist.F90 b/src/Infrastructure/Field/src/ESMF_FieldRedist.F90 index 1304271806..c9aae2c0aa 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldRedist.F90 +++ b/src/Infrastructure/Field/src/ESMF_FieldRedist.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldRegrid.F90 b/src/Infrastructure/Field/src/ESMF_FieldRegrid.F90 index 1bd9a27383..65819e29d1 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldRegrid.F90 +++ b/src/Infrastructure/Field/src/ESMF_FieldRegrid.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldSMM.F90 b/src/Infrastructure/Field/src/ESMF_FieldSMM.F90 index 3305ffbaaa..a01157c5d8 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldSMM.F90 +++ b/src/Infrastructure/Field/src/ESMF_FieldSMM.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldScatter.cppF90 b/src/Infrastructure/Field/src/ESMF_FieldScatter.cppF90 index e019173d4b..b0bbe14a63 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldScatter.cppF90 +++ b/src/Infrastructure/Field/src/ESMF_FieldScatter.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldSet.F90 b/src/Infrastructure/Field/src/ESMF_FieldSet.F90 index dc6551ab39..1c61cd2afa 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldSet.F90 +++ b/src/Infrastructure/Field/src/ESMF_FieldSet.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_FieldWr.F90 b/src/Infrastructure/Field/src/ESMF_FieldWr.F90 index 87a5f96c9e..4c1538c58c 100644 --- a/src/Infrastructure/Field/src/ESMF_FieldWr.F90 +++ b/src/Infrastructure/Field/src/ESMF_FieldWr.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/src/ESMF_UtilRWG.F90 b/src/Infrastructure/Field/src/ESMF_UtilRWG.F90 index 93829fd748..73132f6ca2 100644 --- a/src/Infrastructure/Field/src/ESMF_UtilRWG.F90 +++ b/src/Infrastructure/Field/src/ESMF_UtilRWG.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldGridGridRegridCsrvUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldGridGridRegridCsrvUTest.c index 34341e6801..b9509c198c 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldGridGridRegridCsrvUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldGridGridRegridCsrvUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldGridGridRegridUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldGridGridRegridUTest.c index bbe75f8621..1c38411212 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldGridGridRegridUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldGridGridRegridUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldGridRegrid2UTest.c b/src/Infrastructure/Field/tests/ESMC_FieldGridRegrid2UTest.c index a3a69bb863..8d74271510 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldGridRegrid2UTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldGridRegrid2UTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldGridRegridCsrv2UTest.c b/src/Infrastructure/Field/tests/ESMC_FieldGridRegridCsrv2UTest.c index c6d1cde8d8..cb63a71d43 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldGridRegridCsrv2UTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldGridRegridCsrv2UTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldGridRegridCsrvUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldGridRegridCsrvUTest.c index 0d6591a601..38218467c9 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldGridRegridCsrvUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldGridRegridCsrvUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldGridRegridParUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldGridRegridParUTest.c index 617e55a595..83fd35db5c 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldGridRegridParUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldGridRegridParUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldGridRegridUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldGridRegridUTest.c index d8b2257732..ab409a913a 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldGridRegridUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldGridRegridUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldRegridCsrvUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldRegridCsrvUTest.c index aad184fa37..9b15fe1975 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldRegridCsrvUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldRegridCsrvUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldRegridUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldRegridUTest.c index 773598223e..a27180f530 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldRegridUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldRegridUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldSMMFromFileUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldSMMFromFileUTest.c index e62ede4e66..372c932397 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldSMMFromFileUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldSMMFromFileUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldTripoleRegridUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldTripoleRegridUTest.c index c3dca7927d..163d31f754 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldTripoleRegridUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldTripoleRegridUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMC_FieldUTest.c b/src/Infrastructure/Field/tests/ESMC_FieldUTest.c index 3ccb528760..e71bfa0118 100644 --- a/src/Infrastructure/Field/tests/ESMC_FieldUTest.c +++ b/src/Infrastructure/Field/tests/ESMC_FieldUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldArbGridUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldArbGridUTest.F90 index 08913053a9..c9661e07b2 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldArbGridUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldArbGridUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldCreateGetUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldCreateGetUTest.F90 index 6b57989f54..4dd6f8571c 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldCreateGetUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldCreateGetUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldGatherUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldGatherUTest.F90 index b15b645716..43c6786df8 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldGatherUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldGatherUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldHaloUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldHaloUTest.F90 index 3c9d1f5d32..d301082729 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldHaloUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldHaloUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldIOUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldIOUTest.F90 index 8fc05e3d43..85d8369cd9 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldIOUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldIOUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldLSSMMUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldLSSMMUTest.F90 index 5f627856ff..b5bfd02e75 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldLSSMMUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldLSSMMUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldMeshSMMUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldMeshSMMUTest.F90 index 029fc5765c..a4c56309d3 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldMeshSMMUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldMeshSMMUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldRedistArbUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldRedistArbUTest.F90 index 519e90e501..5d04dd7a96 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldRedistArbUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldRedistArbUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldRedistUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldRedistUTest.F90 index d6355e266c..922a33d430 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldRedistUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldRedistUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldRegridCSUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldRegridCSUTest.F90 index f9198d5696..ed569bbed2 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldRegridCSUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldRegridCSUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldRegridCsrv2ndUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldRegridCsrv2ndUTest.F90 index 1f87f6fd53..bb88507ecc 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldRegridCsrv2ndUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldRegridCsrv2ndUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldRegridCsrvUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldRegridCsrvUTest.F90 index b6261826b1..f74e8c2583 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldRegridCsrvUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldRegridCsrvUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -7416,7 +7416,7 @@ subroutine test_RegridCsrvCartPHMesh(itrp, csrv, rc) elemIds=(/5/) ! Allocate and fill the element topology type array. - allocate(elemTypes(numElemConn)) + allocate(elemTypes(numTotElems)) elemTypes=(/5/) ! elem id 5 ! Allocate and fill the element connection type array. @@ -8146,7 +8146,7 @@ subroutine test_RegridCsrvCartMesh(itrp, csrv, rc) elemMask=(/0/) ! Allocate and fill the element topology type array. - allocate(elemTypes(numElemConn)) + allocate(elemTypes(numTotElems)) elemTypes=(/ESMF_MESHELEMTYPE_QUAD/) ! elem id 4 ! Allocate and fill the element connection type array. @@ -8504,7 +8504,7 @@ subroutine test_RegridCsrvCartMesh(itrp, csrv, rc) elemIds=(/5/) ! Allocate and fill the element topology type array. - allocate(elemTypes(numElemConn)) + allocate(elemTypes(numTotElems)) elemTypes=(/ESMF_MESHELEMTYPE_QUAD/) ! elem id 4 ! Allocate and fill the element connection type array. @@ -10406,7 +10406,7 @@ subroutine test_RegridCsrvCartPHFracNorm(itrp, csrv, rc) elemIds=(/5/) ! Allocate and fill the element topology type array. - allocate(elemTypes(numElemConn)) + allocate(elemTypes(numTotElems)) elemTypes=(/5/) ! elem id 5 ! Allocate and fill the element connection type array. diff --git a/src/Infrastructure/Field/tests/ESMF_FieldRegridUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldRegridUTest.F90 index 5040544a37..97007e3763 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldRegridUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldRegridUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldRegridXGSMMUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldRegridXGSMMUTest.F90 index 97fa8650b4..62bd63713d 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldRegridXGSMMUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldRegridXGSMMUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldRegridXGUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldRegridXGUTest.F90 index 054e05eb24..535837c66a 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldRegridXGUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldRegridXGUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldSMMFromFileUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldSMMFromFileUTest.F90 index 2bd209ed0f..f38e0dce2a 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldSMMFromFileUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldSMMFromFileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldSMMUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldSMMUTest.F90 index 1d2ad73762..5bc49211ab 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldSMMUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldSMMUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldStressUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldStressUTest.F90 index 34be9848bb..b83884e235 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldStressUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldStressUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Field/tests/ESMF_FieldUTest.F90 b/src/Infrastructure/Field/tests/ESMF_FieldUTest.F90 index c4a602639c..e42941c875 100644 --- a/src/Infrastructure/Field/tests/ESMF_FieldUTest.F90 +++ b/src/Infrastructure/Field/tests/ESMF_FieldUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleHaloEx.F90 b/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleHaloEx.F90 index 63c0be752e..87e82b7cfb 100644 --- a/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleHaloEx.F90 +++ b/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleHaloEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleRedistEx.F90 b/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleRedistEx.F90 index b977cd23f8..45267d9248 100644 --- a/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleRedistEx.F90 +++ b/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleRedistEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleSMMEx.F90 b/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleSMMEx.F90 index 8e48433c85..e0864f80ed 100644 --- a/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleSMMEx.F90 +++ b/src/Infrastructure/FieldBundle/examples/ESMF_FieldBundleSMMEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/interface/ESMCI_FieldBundle_F.C b/src/Infrastructure/FieldBundle/interface/ESMCI_FieldBundle_F.C index 6839d5f6f3..1f0edf7a88 100644 --- a/src/Infrastructure/FieldBundle/interface/ESMCI_FieldBundle_F.C +++ b/src/Infrastructure/FieldBundle/interface/ESMCI_FieldBundle_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/interface/ESMF_FieldBundle_C.F90 b/src/Infrastructure/FieldBundle/interface/ESMF_FieldBundle_C.F90 index 45801ae3b6..366f16861c 100644 --- a/src/Infrastructure/FieldBundle/interface/ESMF_FieldBundle_C.F90 +++ b/src/Infrastructure/FieldBundle/interface/ESMF_FieldBundle_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 b/src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 index 741b2d8adf..e160fae06a 100644 --- a/src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 +++ b/src/Infrastructure/FieldBundle/src/ESMF_FieldBundle.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -2183,8 +2183,8 @@ msg="This call does not work with packed FieldBundle.",& !------------------------------------------------------------------------------ ^undef ESMF_METHOD ^define ESMF_METHOD "ESMF_FieldBundleGetIndex()" -!BOPI -! !IROUTINE: ESMF_FieldBundleGet - Access the fieldIndex-th Field in FieldBundle +!BOP +! !IROUTINE: ESMF_FieldBundleGet - Access the Field at a specific index in a FieldBundle ! ! !INTERFACE: ! Private name; call using ESMF_FieldBundleGet() @@ -2198,28 +2198,23 @@ msg="This call does not work with packed FieldBundle.",& type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below integer, intent(out), optional :: rc ! -! TODO: This method is DEPRECATED starting at 5.2.0r (was not part of the 5.2.0r -! reference manual. -! TODO: We should put a deprecation message into the Log file when this message -! is being called! -! ! !DESCRIPTION: -! Get the fieldIndex-th Field in FieldBundle. The order of the Field in FieldBundle -! is not guranteed. If this call is used iteratively, then any Add, Replace, Remove -! call on the FieldBundle will invalidate the order of the Field in the FieldBundle. +! Get the fieldIndex-th Field from a FieldBundle. The order of the Fields in FieldBundle +! is not guranteed. If this call is used iteratively, then any Add, Replace, or Remove +! call on the FieldBundle can change the order and/or number of Fields in that FieldBundle. ! ! \begin{description} ! \item [fieldbundle] ! {\tt ESMF\_FieldBundle} to be queried. ! \item [fieldIndex] -! The fieldIndex-th Field to be returned. +! The index of the Field to be returned. ! \item [field] ! The fieldIndex-th Field to be returned. ! \item [{[rc]}] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} ! -!EOPI +!EOP !------------------------------------------------------------------------------ integer :: localrc ! local return code integer :: l_fieldCount, i ! helper variable diff --git a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleCrGetUTest.F90 b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleCrGetUTest.F90 index 15bd7f0621..3dcdb65e19 100644 --- a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleCrGetUTest.F90 +++ b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleCrGetUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleIOUTest.F90 b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleIOUTest.F90 index 4257412709..c629b23202 100644 --- a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleIOUTest.F90 +++ b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleIOUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National diff --git a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleRedistUTest.F90 b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleRedistUTest.F90 index 7512a6a715..9f84c98bfb 100644 --- a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleRedistUTest.F90 +++ b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleRedistUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleRegridUTest.F90 b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleRegridUTest.F90 index 5426f61740..826b44e16b 100644 --- a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleRegridUTest.F90 +++ b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleRegridUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleSMMUTest.F90 b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleSMMUTest.F90 index 34cffaad66..cb62487666 100644 --- a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleSMMUTest.F90 +++ b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleSMMUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleUTest.F90 b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleUTest.F90 index cbba153316..478f13742b 100644 --- a/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleUTest.F90 +++ b/src/Infrastructure/FieldBundle/tests/ESMF_FieldBundleUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Geom/interface/ESMCI_Geom_F.C b/src/Infrastructure/Geom/interface/ESMCI_Geom_F.C index 7813a8b096..69dcf63896 100644 --- a/src/Infrastructure/Geom/interface/ESMCI_Geom_F.C +++ b/src/Infrastructure/Geom/interface/ESMCI_Geom_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Geom/src/ESMF_Geom.F90 b/src/Infrastructure/Geom/src/ESMF_Geom.F90 index 73fd528753..72f749d77c 100644 --- a/src/Infrastructure/Geom/src/ESMF_Geom.F90 +++ b/src/Infrastructure/Geom/src/ESMF_Geom.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid.bib b/src/Infrastructure/Grid/doc/Grid.bib index c364b1396e..377b0d3bec 100644 --- a/src/Infrastructure/Grid/doc/Grid.bib +++ b/src/Infrastructure/Grid/doc/Grid.bib @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid_cdesc.tex b/src/Infrastructure/Grid/doc/Grid_cdesc.tex index ffe8b4a589..7f37cc3510 100644 --- a/src/Infrastructure/Grid/doc/Grid_cdesc.tex +++ b/src/Infrastructure/Grid/doc/Grid_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid_crefdoc.ctex b/src/Infrastructure/Grid/doc/Grid_crefdoc.ctex index 0b58729cae..1b4844109c 100644 --- a/src/Infrastructure/Grid/doc/Grid_crefdoc.ctex +++ b/src/Infrastructure/Grid/doc/Grid_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid_desc.tex b/src/Infrastructure/Grid/doc/Grid_desc.tex index 267842a5e9..41b0adeeef 100644 --- a/src/Infrastructure/Grid/doc/Grid_desc.tex +++ b/src/Infrastructure/Grid/doc/Grid_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid_desdoc.bib b/src/Infrastructure/Grid/doc/Grid_desdoc.bib index c0e8fd90e6..6743e655b6 100644 --- a/src/Infrastructure/Grid/doc/Grid_desdoc.bib +++ b/src/Infrastructure/Grid/doc/Grid_desdoc.bib @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid_glos.tex b/src/Infrastructure/Grid/doc/Grid_glos.tex index d99d6cb7d5..59cf840c00 100644 --- a/src/Infrastructure/Grid/doc/Grid_glos.tex +++ b/src/Infrastructure/Grid/doc/Grid_glos.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid_obj.tex b/src/Infrastructure/Grid/doc/Grid_obj.tex index 759c539191..230e8802a4 100644 --- a/src/Infrastructure/Grid/doc/Grid_obj.tex +++ b/src/Infrastructure/Grid/doc/Grid_obj.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid_refdoc.ctex b/src/Infrastructure/Grid/doc/Grid_refdoc.ctex index 861aaccc55..46669dce87 100644 --- a/src/Infrastructure/Grid/doc/Grid_refdoc.ctex +++ b/src/Infrastructure/Grid/doc/Grid_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/doc/Grid_req.tex b/src/Infrastructure/Grid/doc/Grid_req.tex index c49684f5fd..433f20c3b6 100644 --- a/src/Infrastructure/Grid/doc/Grid_req.tex +++ b/src/Infrastructure/Grid/doc/Grid_req.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/examples/ESMF_GridCreateFromF90ArraysEx.F90 b/src/Infrastructure/Grid/examples/ESMF_GridCreateFromF90ArraysEx.F90 index 27005a5843..372cc5b5ce 100644 --- a/src/Infrastructure/Grid/examples/ESMF_GridCreateFromF90ArraysEx.F90 +++ b/src/Infrastructure/Grid/examples/ESMF_GridCreateFromF90ArraysEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/examples/ESMF_GridCreateRegFromDGEx.F90 b/src/Infrastructure/Grid/examples/ESMF_GridCreateRegFromDGEx.F90 index 21e20fe29d..ad941ed850 100644 --- a/src/Infrastructure/Grid/examples/ESMF_GridCreateRegFromDGEx.F90 +++ b/src/Infrastructure/Grid/examples/ESMF_GridCreateRegFromDGEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/examples/ESMF_GridCreateSph2DPlus1Ex.F90 b/src/Infrastructure/Grid/examples/ESMF_GridCreateSph2DPlus1Ex.F90 index a2a85d376f..1447cd4196 100644 --- a/src/Infrastructure/Grid/examples/ESMF_GridCreateSph2DPlus1Ex.F90 +++ b/src/Infrastructure/Grid/examples/ESMF_GridCreateSph2DPlus1Ex.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/examples/ESMF_GridCreateTripoleEx.F90 b/src/Infrastructure/Grid/examples/ESMF_GridCreateTripoleEx.F90 index 3db827f372..696f8c696a 100644 --- a/src/Infrastructure/Grid/examples/ESMF_GridCreateTripoleEx.F90 +++ b/src/Infrastructure/Grid/examples/ESMF_GridCreateTripoleEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/examples/ESMF_GridUsageEx.F90 b/src/Infrastructure/Grid/examples/ESMF_GridUsageEx.F90 index f196de6d8f..84c2c760b5 100644 --- a/src/Infrastructure/Grid/examples/ESMF_GridUsageEx.F90 +++ b/src/Infrastructure/Grid/examples/ESMF_GridUsageEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/include/ESMCI_Grid.h b/src/Infrastructure/Grid/include/ESMCI_Grid.h index 772f79a537..cd7c2c46e0 100644 --- a/src/Infrastructure/Grid/include/ESMCI_Grid.h +++ b/src/Infrastructure/Grid/include/ESMCI_Grid.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/include/ESMC_Grid.h b/src/Infrastructure/Grid/include/ESMC_Grid.h index 72caaa8fe9..f2b929279c 100644 --- a/src/Infrastructure/Grid/include/ESMC_Grid.h +++ b/src/Infrastructure/Grid/include/ESMC_Grid.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/interface/ESMCI_Grid_F.C b/src/Infrastructure/Grid/interface/ESMCI_Grid_F.C index d9a08832dd..edfaf56bdc 100644 --- a/src/Infrastructure/Grid/interface/ESMCI_Grid_F.C +++ b/src/Infrastructure/Grid/interface/ESMCI_Grid_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/interface/ESMC_Grid.C b/src/Infrastructure/Grid/interface/ESMC_Grid.C index cce9bf589b..ba3f4ab832 100644 --- a/src/Infrastructure/Grid/interface/ESMC_Grid.C +++ b/src/Infrastructure/Grid/interface/ESMC_Grid.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/interface/ESMF_Grid.F90 b/src/Infrastructure/Grid/interface/ESMF_Grid.F90 index c144ccefdb..2eb34ef289 100644 --- a/src/Infrastructure/Grid/interface/ESMF_Grid.F90 +++ b/src/Infrastructure/Grid/interface/ESMF_Grid.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/interface/ESMF_Grid_C.F90 b/src/Infrastructure/Grid/interface/ESMF_Grid_C.F90 index f0c13ac682..c2b309e964 100644 --- a/src/Infrastructure/Grid/interface/ESMF_Grid_C.F90 +++ b/src/Infrastructure/Grid/interface/ESMF_Grid_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/interface/ESMF_StaggerLoc.F90 b/src/Infrastructure/Grid/interface/ESMF_StaggerLoc.F90 index bfddeef88c..d9b695efce 100644 --- a/src/Infrastructure/Grid/interface/ESMF_StaggerLoc.F90 +++ b/src/Infrastructure/Grid/interface/ESMF_StaggerLoc.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/src/ESMCI_Grid.C b/src/Infrastructure/Grid/src/ESMCI_Grid.C index 07ff584b34..ead8fa3c1a 100644 --- a/src/Infrastructure/Grid/src/ESMCI_Grid.C +++ b/src/Infrastructure/Grid/src/ESMCI_Grid.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/tests/ESMC_GridUTest.c b/src/Infrastructure/Grid/tests/ESMC_GridUTest.c index 5519153e90..33fde6eda0 100644 --- a/src/Infrastructure/Grid/tests/ESMC_GridUTest.c +++ b/src/Infrastructure/Grid/tests/ESMC_GridUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/tests/ESMF_GridArbitraryUTest.F90 b/src/Infrastructure/Grid/tests/ESMF_GridArbitraryUTest.F90 index c86597fc70..a084625b9d 100644 --- a/src/Infrastructure/Grid/tests/ESMF_GridArbitraryUTest.F90 +++ b/src/Infrastructure/Grid/tests/ESMF_GridArbitraryUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/tests/ESMF_GridCoordUTest.F90 b/src/Infrastructure/Grid/tests/ESMF_GridCoordUTest.F90 index 31d6a0b87e..2749495634 100644 --- a/src/Infrastructure/Grid/tests/ESMF_GridCoordUTest.F90 +++ b/src/Infrastructure/Grid/tests/ESMF_GridCoordUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/tests/ESMF_GridCreateUTest.F90 b/src/Infrastructure/Grid/tests/ESMF_GridCreateUTest.F90 index a6a4e0b5dc..aefef96e73 100644 --- a/src/Infrastructure/Grid/tests/ESMF_GridCreateUTest.F90 +++ b/src/Infrastructure/Grid/tests/ESMF_GridCreateUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Grid/tests/ESMF_GridItemUTest.F90 b/src/Infrastructure/Grid/tests/ESMF_GridItemUTest.F90 index 08ade4c2a2..2e7cb2f2dc 100644 --- a/src/Infrastructure/Grid/tests/ESMF_GridItemUTest.F90 +++ b/src/Infrastructure/Grid/tests/ESMF_GridItemUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/GridUtil/include/ESMCI_GridToMesh.h b/src/Infrastructure/GridUtil/include/ESMCI_GridToMesh.h index ffeaf5da43..4b3cbdca74 100644 --- a/src/Infrastructure/GridUtil/include/ESMCI_GridToMesh.h +++ b/src/Infrastructure/GridUtil/include/ESMCI_GridToMesh.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/GridUtil/include/ESMCI_Ptypes.h b/src/Infrastructure/GridUtil/include/ESMCI_Ptypes.h index 7a2cac1866..17bd2de3e0 100644 --- a/src/Infrastructure/GridUtil/include/ESMCI_Ptypes.h +++ b/src/Infrastructure/GridUtil/include/ESMCI_Ptypes.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/GridUtil/interface/ESMCI_GridUtil_F.C b/src/Infrastructure/GridUtil/interface/ESMCI_GridUtil_F.C index de0608a3ec..077801faeb 100644 --- a/src/Infrastructure/GridUtil/interface/ESMCI_GridUtil_F.C +++ b/src/Infrastructure/GridUtil/interface/ESMCI_GridUtil_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/GridUtil/interface/ESMF_GridUtil.F90 b/src/Infrastructure/GridUtil/interface/ESMF_GridUtil.F90 index 758bfb9fe7..1a2d6e757e 100644 --- a/src/Infrastructure/GridUtil/interface/ESMF_GridUtil.F90 +++ b/src/Infrastructure/GridUtil/interface/ESMF_GridUtil.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/GridUtil/src/ESMCI_GridToMesh.C b/src/Infrastructure/GridUtil/src/ESMCI_GridToMesh.C index 99620416ab..799867792d 100644 --- a/src/Infrastructure/GridUtil/src/ESMCI_GridToMesh.C +++ b/src/Infrastructure/GridUtil/src/ESMCI_GridToMesh.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/GridUtil/tests/ESMF_GridToMeshUTest.F90 b/src/Infrastructure/GridUtil/tests/ESMF_GridToMeshUTest.F90 index 9b59689288..2078c2dbed 100644 --- a/src/Infrastructure/GridUtil/tests/ESMF_GridToMeshUTest.F90 +++ b/src/Infrastructure/GridUtil/tests/ESMF_GridToMeshUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/HConfig/doc/HConfig_desc.tex b/src/Infrastructure/HConfig/doc/HConfig_desc.tex index 59d50e7a61..34146b0905 100644 --- a/src/Infrastructure/HConfig/doc/HConfig_desc.tex +++ b/src/Infrastructure/HConfig/doc/HConfig_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/HConfig/doc/HConfig_refdoc.ctex b/src/Infrastructure/HConfig/doc/HConfig_refdoc.ctex index 3250cfae92..03f3c01605 100644 --- a/src/Infrastructure/HConfig/doc/HConfig_refdoc.ctex +++ b/src/Infrastructure/HConfig/doc/HConfig_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/HConfig/examples/ESMF_HConfigEx.F90 b/src/Infrastructure/HConfig/examples/ESMF_HConfigEx.F90 index b7f1ca403c..0f38d757b0 100644 --- a/src/Infrastructure/HConfig/examples/ESMF_HConfigEx.F90 +++ b/src/Infrastructure/HConfig/examples/ESMF_HConfigEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/HConfig/include/ESMCI_HConfig.h b/src/Infrastructure/HConfig/include/ESMCI_HConfig.h index 1fc26aadb6..67e96c4a89 100644 --- a/src/Infrastructure/HConfig/include/ESMCI_HConfig.h +++ b/src/Infrastructure/HConfig/include/ESMCI_HConfig.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -64,6 +64,7 @@ namespace ESMCI { static HConfig create(int *rc=NULL); template static HConfig create(T content, int *rc=NULL); template static HConfig create(T *content, int count, int *rc=NULL); + static bool equal(HConfig *hconfig1, HConfig *hconfig2); static int destroy(HConfig *hconfig); template inline static YAML::Node find(T self, HConfig *key); diff --git a/src/Infrastructure/HConfig/interface/ESMCI_HConfig_F.C b/src/Infrastructure/HConfig/interface/ESMCI_HConfig_F.C index 1129d3ca36..273ab08db6 100644 --- a/src/Infrastructure/HConfig/interface/ESMCI_HConfig_F.C +++ b/src/Infrastructure/HConfig/interface/ESMCI_HConfig_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -172,6 +172,26 @@ extern "C" { if (rc!=NULL) *rc = ESMF_SUCCESS; } + // Check for equality + // Since this is used as equality operator above, there isn't a place to pass + // a return code, so just pass false for an error instead (as done with + // equality operators elsewhere in ESMF). + void FTN_X(c_esmc_hconfigequal)(ESMCI::HConfig *hconfig1, + ESMCI::HConfig *hconfig2, ESMC_Logical *isEqual){ +#undef ESMC_METHOD +#define ESMC_METHOD "c_esmc_hconfigequal()" + // Init return + *isEqual = ESMF_FALSE; + // Test for NULL pointers + if (hconfig1 == NULL) return; + if (hconfig2 == NULL) return; + // call into C++ + bool equal = ESMCI::HConfig::equal(hconfig1, hconfig2); + // Convert to ESMF Logical + if (equal) *isEqual=ESMF_TRUE; + else *isEqual = ESMF_FALSE; + } + void FTN_X(c_esmc_hconfigdestroy)(ESMCI::HConfig *ptr, int *rc){ #undef ESMC_METHOD #define ESMC_METHOD "c_esmc_hconfigdestroy()" diff --git a/src/Infrastructure/HConfig/interface/ESMF_HConfig.F90 b/src/Infrastructure/HConfig/interface/ESMF_HConfig.F90 index 0ef2341635..a09ce21078 100644 --- a/src/Infrastructure/HConfig/interface/ESMF_HConfig.F90 +++ b/src/Infrastructure/HConfig/interface/ESMF_HConfig.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -581,6 +581,25 @@ module ESMF_HConfigMod !------------------------------------------------------------------------------ +!------------------------------------------------------------------------------ +! ! Interoperability interfaces + +#ifndef ESMF_NO_F2018ASSUMEDTYPE + + interface + + subroutine c_ESMC_HConfigEqual(HConfig1, HConfig2, isEqual) + import :: ESMF_Logical + type(*) :: HConfig1, HConfig2 + type(ESMF_Logical) :: isEqual + end subroutine + + end interface + +#endif + +!------------------------------------------------------------------------------ + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -614,8 +633,7 @@ function ESMF_HConfigEQ(HConfig1, HConfig2) !------------------------------------------------------------------------------- ESMF_INIT_TYPE init1, init2 - integer :: localrc1, localrc2 - logical :: lval1, lval2 + type(ESMF_Logical) :: isEqual ! Use the following logic, rather than "ESMF-INIT-CHECK-DEEP", to gain ! init checks on both args, and in the case where both are uninitialized, @@ -626,12 +644,19 @@ function ESMF_HConfigEQ(HConfig1, HConfig2) init1 = ESMF_HConfigGetInit(HConfig1) init2 = ESMF_HConfigGetInit(HConfig2) + ! initialize return value + ESMF_HConfigEQ = .false. + ! TODO: this line must remain split in two for SunOS f90 8.3 127000-03 if (init1 .eq. ESMF_INIT_CREATED .and. & init2 .eq. ESMF_INIT_CREATED) then - ESMF_HConfigEQ = all(HConfig1%shallowMemory .eq. HConfig2%shallowMemory) - else - ESMF_HConfigEQ = .false. + + ! Call into the C++ interface to determine equality + call c_ESMC_HConfigEqual(HConfig1, HConfig2, isEqual) + + ! Translate from ESMF logical to Fortran logical + ESMF_HConfigEQ = isEqual + endif end function ESMF_HConfigEQ @@ -662,8 +687,7 @@ function ESMF_HConfigIterEQ(HConfig1, HConfig2) !------------------------------------------------------------------------------- ESMF_INIT_TYPE init1, init2 - integer :: localrc1, localrc2 - logical :: lval1, lval2 + type(ESMF_Logical) :: isEqual ! Use the following logic, rather than "ESMF-INIT-CHECK-DEEP", to gain ! init checks on both args, and in the case where both are uninitialized, @@ -674,12 +698,21 @@ function ESMF_HConfigIterEQ(HConfig1, HConfig2) init1 = ESMF_HConfigIterGetInit(HConfig1) init2 = ESMF_HConfigIterGetInit(HConfig2) + ! initialize return value + ESMF_HConfigIterEQ = .false. + ! TODO: this line must remain split in two for SunOS f90 8.3 127000-03 if (init1 .eq. ESMF_INIT_CREATED .and. & init2 .eq. ESMF_INIT_CREATED) then - ESMF_HConfigIterEQ = all(HConfig1%shallowMemory .eq. HConfig2%shallowMemory) - else - ESMF_HConfigIterEQ = .false. + + ! Call into the C++ interface to determine equality + ! For now use HConfig equality since HConfig iterators and HConfig are + ! stored in the same class + call c_ESMC_HConfigEqual(HConfig1, HConfig2, isEqual) + + ! Translate from ESMF logical to Fortran logical + ESMF_HConfigIterEQ = isEqual + endif end function ESMF_HConfigIterEQ @@ -777,7 +810,8 @@ end function ESMF_HConfigIterNE ! ! The supported options are: ! \begin{itemize} -! \item {\tt type(HConfig)} (scalar only variant!) +! \item {\tt type(HConfig)} (Scalar only variant! +! Only a single HConfig object can be provided.) ! \item {\tt integer(ESMF\_KIND\_I4)} ! \item {\tt integer(ESMF\_KIND\_I8)} ! \item {\tt logical} @@ -2053,7 +2087,8 @@ subroutine ESMF_HConfigIterAddStringSeq(hconfig, content, keywordEnforcer, & ! ! The supported options are: ! \begin{itemize} -! \item {\tt type(HConfig)} (scalar only variant!) +! \item {\tt type(HConfig)} (Scalar only variant! +! Only a single HConfig object can be provided.) ! \item {\tt integer(ESMF\_KIND\_I4)} ! \item {\tt integer(ESMF\_KIND\_I8)} ! \item {\tt logical} @@ -2784,7 +2819,8 @@ subroutine ESMF_HConfigAddMapKeyStringSeq(hconfig, content, keywordEnforcer, & ! ! The supported options are: ! \begin{itemize} -! \item {\tt type(HConfig)} (scalar only variant!) +! \item {\tt type(HConfig)} (Scalar only variant! +! Only a single HConfig object can be provided.) ! \item {\tt integer(ESMF\_KIND\_I4)} ! \item {\tt integer(ESMF\_KIND\_I8)} ! \item {\tt logical} @@ -8163,10 +8199,6 @@ subroutine ESMF_HConfigDestroy(hconfig, keywordEnforcer, rc) ! Destroys an {\tt ESMF\_HConfig}, releasing the resources associated ! with the object. ! -! By default a small remnant of the object is kept in memory in order to -! prevent problems with dangling aliases. The default garbage collection -! mechanism can be overridden with the {\tt noGarbage} argument. -! ! The arguments are: ! \begin{description} ! \item[hconfig] @@ -11213,7 +11245,7 @@ subroutine ESMF_HConfigIterRemove(hconfig, keywordEnforcer, index, keyString, rc ! ! !ARGUMENTS: ! type(ESMF_HConfig[Iter]), intent(in) :: hconfig -! , intent(in) :: content[(:}] +! , intent(in) :: content[(:)] !type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below ! integer, intent(in), optional :: index ! character(*), intent(in), optional :: keyString @@ -11229,7 +11261,8 @@ subroutine ESMF_HConfigIterRemove(hconfig, keywordEnforcer, index, keyString, rc ! ! The supported options are: ! \begin{itemize} -! \item {\tt type(HConfig)} (scalar only variant!) +! \item {\tt type(HConfig)} (Scalar only variant! +! Only a single HConfig object can be provided.) ! \item {\tt integer(ESMF\_KIND\_I4)} ! \item {\tt integer(ESMF\_KIND\_I8)} ! \item {\tt logical} @@ -12370,7 +12403,7 @@ subroutine ESMF_HConfigIterSetStringSeq(hconfig, content, keywordEnforcer, & ! ! !ARGUMENTS: ! type(ESMF_HConfigIter), intent(in) :: hconfig -! , intent(in) :: content[(:}] +! , intent(in) :: content[(:)] !type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below ! integer, intent(in), optional :: index ! character(*), intent(in), optional :: keyString @@ -12386,7 +12419,8 @@ subroutine ESMF_HConfigIterSetStringSeq(hconfig, content, keywordEnforcer, & ! ! The supported options are: ! \begin{itemize} -! \item {\tt type(HConfig)} (scalar only variant!) +! \item {\tt type(HConfig)} (Scalar only variant! +! Only a single HConfig object can be provided.) ! \item {\tt integer(ESMF\_KIND\_I4)} ! \item {\tt integer(ESMF\_KIND\_I8)} ! \item {\tt logical} @@ -13034,7 +13068,7 @@ subroutine ESMF_HConfigSetMapKeyStringSeq(hconfig, content, keywordEnforcer, & ! ! !ARGUMENTS: ! type(ESMF_HConfigIter), intent(in) :: hconfig -! , intent(in) :: content[(:}] +! , intent(in) :: content[(:)] !type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below ! integer, intent(in), optional :: index ! character(*), intent(in), optional :: keyString @@ -13050,7 +13084,8 @@ subroutine ESMF_HConfigSetMapKeyStringSeq(hconfig, content, keywordEnforcer, & ! ! The supported options are: ! \begin{itemize} -! \item {\tt type(HConfig)} (scalar only variant!) +! \item {\tt type(HConfig)} (Scalar only variant! +! Only a single HConfig object can be provided.) ! \item {\tt integer(ESMF\_KIND\_I4)} ! \item {\tt integer(ESMF\_KIND\_I8)} ! \item {\tt logical} diff --git a/src/Infrastructure/HConfig/src/ESMCI_HConfig.C b/src/Infrastructure/HConfig/src/ESMCI_HConfig.C index d1bb3a8c52..00f7ca9273 100644 --- a/src/Infrastructure/HConfig/src/ESMCI_HConfig.C +++ b/src/Infrastructure/HConfig/src/ESMCI_HConfig.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -246,6 +246,72 @@ HConfig HConfig::create( //----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +#undef ESMC_METHOD +#define ESMC_METHOD "ESMCI::HConfig::equal()" +//BOP +// !IROUTINE: ESMCI::HConfig::equal - check if two hconfigs are equal +// +// !INTERFACE: +bool HConfig::equal( +// +// !RETURN VALUE: +// bool +// +// !ARGUMENTS: + HConfig *hconfig1, + HConfig *hconfig2) { +// +// +// !DESCRIPTION: +// +//EOP +//----------------------------------------------------------------------------- + +#ifdef ESMF_YAMLCPP + + // Check for error condition of NULL inputs, since this is used as an equality + // operator above, there isn't really a way to pass an error code, so return + // false instead (which seems to be the way this is handled in other equality + // operators in the framework). + if (hconfig1 == NULL) return false; + if (hconfig2 == NULL) return false; + + // TODO: Move this into an equality operator for HConfig and call that instead + + // See if the docs are equal + if (hconfig1->doc == hconfig2->doc) { + + // They are both NULL, so this is an iterator + if (hconfig1->doc == NULL) { + + // See if they are the same type + if (hconfig1->type == hconfig2->type) { + + // Compare iterators to determine final equality + if (hconfig1->iter == hconfig2->iter) return true; + else return false; + + } else { + return false; // Not the same type so not the same + } + + } else { // Not NULL -> aren't iterators, but have the same docs -> equal + return true; + } + + } else { // Not the same docs -> not equal + return false; + } + +#else + return false; +#endif + +} +//----------------------------------------------------------------------------- + + //----------------------------------------------------------------------------- #undef ESMC_METHOD #define ESMC_METHOD "ESMCI::HConfig::destroy()" diff --git a/src/Infrastructure/HConfig/tests/ESMF_HConfigUTest.F90 b/src/Infrastructure/HConfig/tests/ESMF_HConfigUTest.F90 index ffa6659144..ce0355ffb1 100644 --- a/src/Infrastructure/HConfig/tests/ESMF_HConfigUTest.F90 +++ b/src/Infrastructure/HConfig/tests/ESMF_HConfigUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -789,6 +789,14 @@ program ESMF_HConfigUTest call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE) !------------------------------------------------------------------------ + !------------------------------------------------------------------------ + !NEX_UTest + write(name, *) "Test fix for issue where two HConfig begin iterators aren't equal." + write(failMsg, *) "Did not return ESMF_SUCCESS" + call HConfigNASAIterIssueTest(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE) + !------------------------------------------------------------------------ + !------------------------------------------------------------------------ call ESMF_TestEnd(ESMF_SRCLINE) ! calls ESMF_Finalize() internally !------------------------------------------------------------------------ @@ -1074,4 +1082,69 @@ subroutine HConfigIterationTest(hconfig, rc) end subroutine + ! Reproduce an issue found by NASA on NAG systems (support ticket #385) where two begin iterators produced by + ! subsequent calls to ESMF_HConfigIterBegin() aren't equal. + subroutine HConfigNASAIterIssueTest(rc) + integer, intent(out) :: rc + + type(ESMF_HConfig) :: base_config, temp_configs + type(ESMF_HConfigIter) :: hconfigIter,hconfigIterBegin,hconfigIterEnd + logical :: looped + + ! Create base hconfig + base_config = ESMF_HConfigCreate(filename='iterequalrepro.yaml',rc=rc) + if (rc /= ESMF_SUCCESS) return + + ! Does it have collections + if (ESMF_HConfigIsDefined(base_config,keyString='Collections')) then + ! Get Collection + temp_configs = ESMF_HConfigCreateAt(base_config,keyString="Collections",rc=rc) + if (rc /= ESMF_SUCCESS) return + + ! Get iterator to collection + hconfigIter = ESMF_HConfigIterBegin(temp_configs,rc=rc) + if (rc /= ESMF_SUCCESS) return + + ! Get begin iterator to collection + hconfigIterBegin = ESMF_HConfigIterBegin(temp_configs, rc=rc) + if (rc /= ESMF_SUCCESS) return + + ! Get end iterator to collection + hconfigIterEnd = ESMF_HConfigIterEnd(temp_configs,rc=rc) + if (rc /= ESMF_SUCCESS) return + + ! Both begin iterators should be the same + if (hconfigIter /= hconfigIterBegin) then + rc=ESMF_FAILURE + return + endif + + ! Check if it's looping + looped=.false. + do while (ESMF_HConfigIterLoop(hconfigIter,hconfigIterBegin,hconfigIterEnd)) + looped=.true. + enddo + + ! Should have looped at least once + if (.not. looped) then + rc=ESMF_FAILURE + return + endif + + ! Get rid of Collection hconfig + call ESMF_HConfigDestroy(temp_configs, rc=rc) + if (rc /= ESMF_SUCCESS) return + end if + + ! Get rid of Collection hconfig + call ESMF_HConfigDestroy(base_config, rc=rc) + if (rc /= ESMF_SUCCESS) return + + ! Return success + rc = ESMF_SUCCESS + + end subroutine HConfigNASAIterIssueTest + + + end program ESMF_HConfigUTest diff --git a/src/Infrastructure/HConfig/tests/iterequalrepro.yaml b/src/Infrastructure/HConfig/tests/iterequalrepro.yaml new file mode 100644 index 0000000000..c2a587f9a8 --- /dev/null +++ b/src/Infrastructure/HConfig/tests/iterequalrepro.yaml @@ -0,0 +1,4 @@ +Collections: + fstream1: + template: foo + range: bar diff --git a/src/Infrastructure/HConfig/tests/makefile b/src/Infrastructure/HConfig/tests/makefile index 0c3c68e15d..af4e3a6c03 100644 --- a/src/Infrastructure/HConfig/tests/makefile +++ b/src/Infrastructure/HConfig/tests/makefile @@ -29,9 +29,11 @@ DIRS = RUN_ESMF_HConfigUTest: cp -f sample.rc $(ESMF_TESTDIR) cp -f sample.yaml $(ESMF_TESTDIR) + cp -f iterequalrepro.yaml $(ESMF_TESTDIR) $(MAKE) TNAME=HConfig NP=4 ftest RUN_ESMF_HConfigUTestUNI: cp -f sample.rc $(ESMF_TESTDIR) cp -f sample.yaml $(ESMF_TESTDIR) + cp -f iterequalrepro.yaml $(ESMF_TESTDIR) $(MAKE) TNAME=HConfig NP=1 ftest diff --git a/src/Infrastructure/IO/PIO/makefile b/src/Infrastructure/IO/PIO/makefile index de0b38fb8d..74ddbea8f6 100644 --- a/src/Infrastructure/IO/PIO/makefile +++ b/src/Infrastructure/IO/PIO/makefile @@ -17,6 +17,14 @@ else PIO_CMAKE_OPTS += -DPIO_ENABLE_LOGGING=OFF -DCMAKE_BUILD_TYPE=release endif +ifeq ($(ESMF_COMM),mpiuni) + # Use ESMF's mpiuni as a stand-in for the mpi-serial library that PIO expects + PIO_CMAKE_OPTS += -DPIO_USE_MPISERIAL=ON -DMPISERIAL_PATH=$(ESMF_DIR)/src/Infrastructure/stubs/mpiuni + + # There are problems building PIO's tests with mpiuni; for now, just disable this internal testing + PIO_CMAKE_OPTS += -DPIO_ENABLE_TESTS=OFF +endif + ifdef ESMF_NETCDF_INCLUDE ifneq ("$(wildcard $(ESMF_NETCDF_LIBPATH)/libnetcdf.a)","") PIO_CMAKE_OPTS += -DNetCDF_C_INCLUDE_DIR=$(ESMF_NETCDF_INCLUDE) -DNetCDF_C_LIBRARY=$(ESMF_NETCDF_LIBPATH)/libnetcdf.a diff --git a/src/Infrastructure/IO/doc/IO_rest.tex b/src/Infrastructure/IO/doc/IO_rest.tex index 8108f95cdd..94c23cb204 100644 --- a/src/Infrastructure/IO/doc/IO_rest.tex +++ b/src/Infrastructure/IO/doc/IO_rest.tex @@ -2,11 +2,6 @@ \begin{enumerate} -% See https://github.com/esmf-org/esmf/issues/131 -\item {\bf I/O of NetCDF files requires a real MPI library.} -Currently I/O of NetCDF files (which uses PIO) requires a real MPI -library: it cannot be done with ESMF\_COMM set to "mpiuni". - \item {\bf Limited data formats supported.} Currently a small fraction of the anticipated data formats is implemented by ESMF. The data I/O uses NetCDF format, and ESMF Info diff --git a/src/Infrastructure/IO/include/ESMCI_IO.h b/src/Infrastructure/IO/include/ESMCI_IO.h index 1d05781081..32300ee41f 100644 --- a/src/Infrastructure/IO/include/ESMCI_IO.h +++ b/src/Infrastructure/IO/include/ESMCI_IO.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_IO_Gridspec.h b/src/Infrastructure/IO/include/ESMCI_IO_Gridspec.h index c91620b334..633e10b5fa 100644 --- a/src/Infrastructure/IO/include/ESMCI_IO_Gridspec.h +++ b/src/Infrastructure/IO/include/ESMCI_IO_Gridspec.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_IO_Handler.h b/src/Infrastructure/IO/include/ESMCI_IO_Handler.h index 1abe20c561..c61dea7df1 100644 --- a/src/Infrastructure/IO/include/ESMCI_IO_Handler.h +++ b/src/Infrastructure/IO/include/ESMCI_IO_Handler.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_IO_NetCDF.h b/src/Infrastructure/IO/include/ESMCI_IO_NetCDF.h index d7395966d3..dc5df458ac 100644 --- a/src/Infrastructure/IO/include/ESMCI_IO_NetCDF.h +++ b/src/Infrastructure/IO/include/ESMCI_IO_NetCDF.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_IO_Schema.h b/src/Infrastructure/IO/include/ESMCI_IO_Schema.h index d81a230c33..434070dc22 100644 --- a/src/Infrastructure/IO/include/ESMCI_IO_Schema.h +++ b/src/Infrastructure/IO/include/ESMCI_IO_Schema.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_IO_Scrip.h b/src/Infrastructure/IO/include/ESMCI_IO_Scrip.h index 4e9c955e03..57500f601e 100644 --- a/src/Infrastructure/IO/include/ESMCI_IO_Scrip.h +++ b/src/Infrastructure/IO/include/ESMCI_IO_Scrip.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_IO_XML.h b/src/Infrastructure/IO/include/ESMCI_IO_XML.h index 4b0dfd223c..a7660a5139 100644 --- a/src/Infrastructure/IO/include/ESMCI_IO_XML.h +++ b/src/Infrastructure/IO/include/ESMCI_IO_XML.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_IO_YAML.h b/src/Infrastructure/IO/include/ESMCI_IO_YAML.h index 383d9a7585..6b2e581870 100644 --- a/src/Infrastructure/IO/include/ESMCI_IO_YAML.h +++ b/src/Infrastructure/IO/include/ESMCI_IO_YAML.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_PIO_Handler.h b/src/Infrastructure/IO/include/ESMCI_PIO_Handler.h index 66f6e2afe4..dc5f3dd0b2 100644 --- a/src/Infrastructure/IO/include/ESMCI_PIO_Handler.h +++ b/src/Infrastructure/IO/include/ESMCI_PIO_Handler.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_SAX2ReadHandler.h b/src/Infrastructure/IO/include/ESMCI_SAX2ReadHandler.h index 4da09a785e..9afef46f38 100644 --- a/src/Infrastructure/IO/include/ESMCI_SAX2ReadHandler.h +++ b/src/Infrastructure/IO/include/ESMCI_SAX2ReadHandler.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMCI_SAX2WriteHandler.h b/src/Infrastructure/IO/include/ESMCI_SAX2WriteHandler.h index b32ffa673c..6fa95124d4 100644 --- a/src/Infrastructure/IO/include/ESMCI_SAX2WriteHandler.h +++ b/src/Infrastructure/IO/include/ESMCI_SAX2WriteHandler.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/ESMC_IOScrip2ESMF.h b/src/Infrastructure/IO/include/ESMC_IOScrip2ESMF.h index d92747d090..dc4bd6850e 100644 --- a/src/Infrastructure/IO/include/ESMC_IOScrip2ESMF.h +++ b/src/Infrastructure/IO/include/ESMC_IOScrip2ESMF.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/include/esmf_io_debug.h b/src/Infrastructure/IO/include/esmf_io_debug.h index 17ac148ac9..aa0013a1da 100644 --- a/src/Infrastructure/IO/include/esmf_io_debug.h +++ b/src/Infrastructure/IO/include/esmf_io_debug.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMCI_IO_F.C b/src/Infrastructure/IO/interface/ESMCI_IO_F.C index 28e6bc9d91..2c016e0c21 100644 --- a/src/Infrastructure/IO/interface/ESMCI_IO_F.C +++ b/src/Infrastructure/IO/interface/ESMCI_IO_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMCI_IO_NetCDF_F.C b/src/Infrastructure/IO/interface/ESMCI_IO_NetCDF_F.C index 0beb5ba1bb..bc64fd18d8 100644 --- a/src/Infrastructure/IO/interface/ESMCI_IO_NetCDF_F.C +++ b/src/Infrastructure/IO/interface/ESMCI_IO_NetCDF_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMCI_IO_XML_F.C b/src/Infrastructure/IO/interface/ESMCI_IO_XML_F.C index 0d1c652533..44d89f13a5 100644 --- a/src/Infrastructure/IO/interface/ESMCI_IO_XML_F.C +++ b/src/Infrastructure/IO/interface/ESMCI_IO_XML_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMCI_IO_YAML_F.C b/src/Infrastructure/IO/interface/ESMCI_IO_YAML_F.C index 24e57a5268..9f21b0ddb2 100644 --- a/src/Infrastructure/IO/interface/ESMCI_IO_YAML_F.C +++ b/src/Infrastructure/IO/interface/ESMCI_IO_YAML_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMC_IOScrip2ESMF.C b/src/Infrastructure/IO/interface/ESMC_IOScrip2ESMF.C index 129b413913..020d3adbcd 100644 --- a/src/Infrastructure/IO/interface/ESMC_IOScrip2ESMF.C +++ b/src/Infrastructure/IO/interface/ESMC_IOScrip2ESMF.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMC_IO_Gridspec.C b/src/Infrastructure/IO/interface/ESMC_IO_Gridspec.C index 099ea88142..1646db50bd 100644 --- a/src/Infrastructure/IO/interface/ESMC_IO_Gridspec.C +++ b/src/Infrastructure/IO/interface/ESMC_IO_Gridspec.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMC_IO_Scrip.C b/src/Infrastructure/IO/interface/ESMC_IO_Scrip.C index f875cdd46c..8d04d8736e 100644 --- a/src/Infrastructure/IO/interface/ESMC_IO_Scrip.C +++ b/src/Infrastructure/IO/interface/ESMC_IO_Scrip.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IO.F90 b/src/Infrastructure/IO/interface/ESMF_IO.F90 index 4cf4ee3dda..ff1bfb4f71 100644 --- a/src/Infrastructure/IO/interface/ESMF_IO.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IO.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IOFileTypeCheck.F90 b/src/Infrastructure/IO/interface/ESMF_IOFileTypeCheck.F90 index dbcd68d133..40c0e7a523 100644 --- a/src/Infrastructure/IO/interface/ESMF_IOFileTypeCheck.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IOFileTypeCheck.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IOGridmosaic.F90 b/src/Infrastructure/IO/interface/ESMF_IOGridmosaic.F90 index caf965876d..9a09c0d0e3 100644 --- a/src/Infrastructure/IO/interface/ESMF_IOGridmosaic.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IOGridmosaic.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IOGridspec.F90 b/src/Infrastructure/IO/interface/ESMF_IOGridspec.F90 index 5bcc83556e..d7c30ac8e9 100644 --- a/src/Infrastructure/IO/interface/ESMF_IOGridspec.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IOGridspec.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IOScrip.F90 b/src/Infrastructure/IO/interface/ESMF_IOScrip.F90 index c3ea2df3dc..8d2890f8a0 100644 --- a/src/Infrastructure/IO/interface/ESMF_IOScrip.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IOScrip.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IOUGrid.F90 b/src/Infrastructure/IO/interface/ESMF_IOUGrid.F90 index 3c1d3b1455..bd35afd7a8 100644 --- a/src/Infrastructure/IO/interface/ESMF_IOUGrid.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IOUGrid.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IO_Gridspec_C.F90 b/src/Infrastructure/IO/interface/ESMF_IO_Gridspec_C.F90 index 5d6abc92bf..5d9380124e 100644 --- a/src/Infrastructure/IO/interface/ESMF_IO_Gridspec_C.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IO_Gridspec_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IO_NCPutGet.cppF90 b/src/Infrastructure/IO/interface/ESMF_IO_NCPutGet.cppF90 index ff1770d1aa..3aa68ac893 100644 --- a/src/Infrastructure/IO/interface/ESMF_IO_NCPutGet.cppF90 +++ b/src/Infrastructure/IO/interface/ESMF_IO_NCPutGet.cppF90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IO_NetCDF.F90 b/src/Infrastructure/IO/interface/ESMF_IO_NetCDF.F90 index 2bd6b6d35b..de48e325e6 100644 --- a/src/Infrastructure/IO/interface/ESMF_IO_NetCDF.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IO_NetCDF.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IO_Scrip_C.F90 b/src/Infrastructure/IO/interface/ESMF_IO_Scrip_C.F90 index 87ab77be94..18a8496bd4 100644 --- a/src/Infrastructure/IO/interface/ESMF_IO_Scrip_C.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IO_Scrip_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/interface/ESMF_IO_YAML.F90 b/src/Infrastructure/IO/interface/ESMF_IO_YAML.F90 index d9ffd54c15..a662fd5088 100644 --- a/src/Infrastructure/IO/interface/ESMF_IO_YAML.F90 +++ b/src/Infrastructure/IO/interface/ESMF_IO_YAML.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_IO.C b/src/Infrastructure/IO/src/ESMCI_IO.C index 9ac5a9cecc..9bbb7ceb77 100644 --- a/src/Infrastructure/IO/src/ESMCI_IO.C +++ b/src/Infrastructure/IO/src/ESMCI_IO.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_IO_Gridspec.C b/src/Infrastructure/IO/src/ESMCI_IO_Gridspec.C index bd2f20cde6..59294db4dc 100644 --- a/src/Infrastructure/IO/src/ESMCI_IO_Gridspec.C +++ b/src/Infrastructure/IO/src/ESMCI_IO_Gridspec.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_IO_Handler.C b/src/Infrastructure/IO/src/ESMCI_IO_Handler.C index 79c2e164e3..d46b746204 100644 --- a/src/Infrastructure/IO/src/ESMCI_IO_Handler.C +++ b/src/Infrastructure/IO/src/ESMCI_IO_Handler.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_IO_NetCDF.C b/src/Infrastructure/IO/src/ESMCI_IO_NetCDF.C index 43113e144a..28d0d9fdac 100644 --- a/src/Infrastructure/IO/src/ESMCI_IO_NetCDF.C +++ b/src/Infrastructure/IO/src/ESMCI_IO_NetCDF.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_IO_Schema.C b/src/Infrastructure/IO/src/ESMCI_IO_Schema.C index 979b704f63..25cc6345e9 100644 --- a/src/Infrastructure/IO/src/ESMCI_IO_Schema.C +++ b/src/Infrastructure/IO/src/ESMCI_IO_Schema.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_IO_Scrip.C b/src/Infrastructure/IO/src/ESMCI_IO_Scrip.C index 728ba5420a..c017586c48 100644 --- a/src/Infrastructure/IO/src/ESMCI_IO_Scrip.C +++ b/src/Infrastructure/IO/src/ESMCI_IO_Scrip.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_IO_XML.C b/src/Infrastructure/IO/src/ESMCI_IO_XML.C index d77d700760..9072eb94a9 100644 --- a/src/Infrastructure/IO/src/ESMCI_IO_XML.C +++ b/src/Infrastructure/IO/src/ESMCI_IO_XML.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_IO_YAML.C b/src/Infrastructure/IO/src/ESMCI_IO_YAML.C index b0c315c119..409f3acfe4 100644 --- a/src/Infrastructure/IO/src/ESMCI_IO_YAML.C +++ b/src/Infrastructure/IO/src/ESMCI_IO_YAML.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_PIO_Handler.C b/src/Infrastructure/IO/src/ESMCI_PIO_Handler.C index 5925bcca86..5bd1b6adda 100644 --- a/src/Infrastructure/IO/src/ESMCI_PIO_Handler.C +++ b/src/Infrastructure/IO/src/ESMCI_PIO_Handler.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_SAX2ReadHandler.C b/src/Infrastructure/IO/src/ESMCI_SAX2ReadHandler.C index dcc1aaf71f..953dcffe40 100644 --- a/src/Infrastructure/IO/src/ESMCI_SAX2ReadHandler.C +++ b/src/Infrastructure/IO/src/ESMCI_SAX2ReadHandler.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/src/ESMCI_SAX2WriteHandler.C b/src/Infrastructure/IO/src/ESMCI_SAX2WriteHandler.C index 236d9d6d9c..ae96884588 100644 --- a/src/Infrastructure/IO/src/ESMCI_SAX2WriteHandler.C +++ b/src/Infrastructure/IO/src/ESMCI_SAX2WriteHandler.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/tests/ESMCI_IO_NetCDFUTest.C b/src/Infrastructure/IO/tests/ESMCI_IO_NetCDFUTest.C index 6736a21d81..08b27165f6 100644 --- a/src/Infrastructure/IO/tests/ESMCI_IO_NetCDFUTest.C +++ b/src/Infrastructure/IO/tests/ESMCI_IO_NetCDFUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/tests/ESMCI_IO_PIOUTest.C b/src/Infrastructure/IO/tests/ESMCI_IO_PIOUTest.C index 5c4aab0dbe..05d33007d2 100644 --- a/src/Infrastructure/IO/tests/ESMCI_IO_PIOUTest.C +++ b/src/Infrastructure/IO/tests/ESMCI_IO_PIOUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/tests/ESMC_IO_InqUTest.c b/src/Infrastructure/IO/tests/ESMC_IO_InqUTest.c index 45b561d31d..fe8d3ec5f6 100644 --- a/src/Infrastructure/IO/tests/ESMC_IO_InqUTest.c +++ b/src/Infrastructure/IO/tests/ESMC_IO_InqUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/tests/ESMF_IOUTest.F90 b/src/Infrastructure/IO/tests/ESMF_IOUTest.F90 index 6d49837cc1..a524c7ff88 100644 --- a/src/Infrastructure/IO/tests/ESMF_IOUTest.F90 +++ b/src/Infrastructure/IO/tests/ESMF_IOUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/tests/ESMF_IO_FileTypeCheckUTest.F90 b/src/Infrastructure/IO/tests/ESMF_IO_FileTypeCheckUTest.F90 index 2d90080d96..bd0f8e7c27 100644 --- a/src/Infrastructure/IO/tests/ESMF_IO_FileTypeCheckUTest.F90 +++ b/src/Infrastructure/IO/tests/ESMF_IO_FileTypeCheckUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/tests/ESMF_IO_MultitileUTest.F90 b/src/Infrastructure/IO/tests/ESMF_IO_MultitileUTest.F90 index de218bc4fd..f94989b125 100644 --- a/src/Infrastructure/IO/tests/ESMF_IO_MultitileUTest.F90 +++ b/src/Infrastructure/IO/tests/ESMF_IO_MultitileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/IO/tests/ESMF_IO_YAMLUTest.F90 b/src/Infrastructure/IO/tests/ESMF_IO_YAMLUTest.F90 index fcd83b4e58..db9f0dbe23 100644 --- a/src/Infrastructure/IO/tests/ESMF_IO_YAMLUTest.F90 +++ b/src/Infrastructure/IO/tests/ESMF_IO_YAMLUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/doc/LocStream_crefdoc.ctex b/src/Infrastructure/LocStream/doc/LocStream_crefdoc.ctex index 9424e4683a..e087d60a32 100644 --- a/src/Infrastructure/LocStream/doc/LocStream_crefdoc.ctex +++ b/src/Infrastructure/LocStream/doc/LocStream_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/doc/LocStream_desc.tex b/src/Infrastructure/LocStream/doc/LocStream_desc.tex index 8dc19cd2c2..09d7fb1e60 100644 --- a/src/Infrastructure/LocStream/doc/LocStream_desc.tex +++ b/src/Infrastructure/LocStream/doc/LocStream_desc.tex @@ -1,6 +1,6 @@ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/doc/LocStream_refdoc.ctex b/src/Infrastructure/LocStream/doc/LocStream_refdoc.ctex index 96dc50ae63..a2174c8469 100644 --- a/src/Infrastructure/LocStream/doc/LocStream_refdoc.ctex +++ b/src/Infrastructure/LocStream/doc/LocStream_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/examples/ESMF_LocStreamEx.F90 b/src/Infrastructure/LocStream/examples/ESMF_LocStreamEx.F90 index 9a9198ad23..5ccd7230da 100644 --- a/src/Infrastructure/LocStream/examples/ESMF_LocStreamEx.F90 +++ b/src/Infrastructure/LocStream/examples/ESMF_LocStreamEx.F90 @@ -1,6 +1,6 @@ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/include/ESMCI_LocStream.h b/src/Infrastructure/LocStream/include/ESMCI_LocStream.h index b06f9386bd..c06a2ab832 100644 --- a/src/Infrastructure/LocStream/include/ESMCI_LocStream.h +++ b/src/Infrastructure/LocStream/include/ESMCI_LocStream.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/include/ESMC_LocStream.h b/src/Infrastructure/LocStream/include/ESMC_LocStream.h index 4ce4208838..dd1506430d 100644 --- a/src/Infrastructure/LocStream/include/ESMC_LocStream.h +++ b/src/Infrastructure/LocStream/include/ESMC_LocStream.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/interface/ESMCI_LocStream.C b/src/Infrastructure/LocStream/interface/ESMCI_LocStream.C index dfd82b01c0..98ca09bb6d 100644 --- a/src/Infrastructure/LocStream/interface/ESMCI_LocStream.C +++ b/src/Infrastructure/LocStream/interface/ESMCI_LocStream.C @@ -1,7 +1,7 @@ //$1.10 2007/04/26 16:13:59 rosalind Exp $ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/interface/ESMCI_LocStream_F.C b/src/Infrastructure/LocStream/interface/ESMCI_LocStream_F.C index 9c159113c6..4f56648c55 100644 --- a/src/Infrastructure/LocStream/interface/ESMCI_LocStream_F.C +++ b/src/Infrastructure/LocStream/interface/ESMCI_LocStream_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/interface/ESMC_LocStream.C b/src/Infrastructure/LocStream/interface/ESMC_LocStream.C index 071fc5d02f..e8463b9e9b 100644 --- a/src/Infrastructure/LocStream/interface/ESMC_LocStream.C +++ b/src/Infrastructure/LocStream/interface/ESMC_LocStream.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/interface/ESMF_LocStream_C.F90 b/src/Infrastructure/LocStream/interface/ESMF_LocStream_C.F90 index 4c3f0a77fb..892eeedfe4 100644 --- a/src/Infrastructure/LocStream/interface/ESMF_LocStream_C.F90 +++ b/src/Infrastructure/LocStream/interface/ESMF_LocStream_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/src/ESMF_LocStream.F90 b/src/Infrastructure/LocStream/src/ESMF_LocStream.F90 index 93edce7860..3f828e318e 100644 --- a/src/Infrastructure/LocStream/src/ESMF_LocStream.F90 +++ b/src/Infrastructure/LocStream/src/ESMF_LocStream.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/tests/ESMC_LocStreamUTest.c b/src/Infrastructure/LocStream/tests/ESMC_LocStreamUTest.c index 91812433ca..9001e7afa8 100644 --- a/src/Infrastructure/LocStream/tests/ESMC_LocStreamUTest.c +++ b/src/Infrastructure/LocStream/tests/ESMC_LocStreamUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocStream/tests/ESMF_LocStreamUTest.F90 b/src/Infrastructure/LocStream/tests/ESMF_LocStreamUTest.F90 index 23ab2d7b1b..5873cad56a 100644 --- a/src/Infrastructure/LocStream/tests/ESMF_LocStreamUTest.F90 +++ b/src/Infrastructure/LocStream/tests/ESMF_LocStreamUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/doc/LocalArray_refdoc.ctex b/src/Infrastructure/LocalArray/doc/LocalArray_refdoc.ctex index 2a8499b3ab..9a69fc714e 100644 --- a/src/Infrastructure/LocalArray/doc/LocalArray_refdoc.ctex +++ b/src/Infrastructure/LocalArray/doc/LocalArray_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/include/ESMCI_LocalArray.h b/src/Infrastructure/LocalArray/include/ESMCI_LocalArray.h index 90c23ed3ec..c0d5acea81 100644 --- a/src/Infrastructure/LocalArray/include/ESMCI_LocalArray.h +++ b/src/Infrastructure/LocalArray/include/ESMCI_LocalArray.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/interface/ESMCI_LocalArray_F.C b/src/Infrastructure/LocalArray/interface/ESMCI_LocalArray_F.C index b729fbbd70..8b8bb25a4a 100644 --- a/src/Infrastructure/LocalArray/interface/ESMCI_LocalArray_F.C +++ b/src/Infrastructure/LocalArray/interface/ESMCI_LocalArray_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/interface/ESMF_LocalArray.F90 b/src/Infrastructure/LocalArray/interface/ESMF_LocalArray.F90 index de32aa1c69..03d7968d98 100644 --- a/src/Infrastructure/LocalArray/interface/ESMF_LocalArray.F90 +++ b/src/Infrastructure/LocalArray/interface/ESMF_LocalArray.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayCreate.cppF90 b/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayCreate.cppF90 index 5f9601d1a8..5cdde2eb43 100644 --- a/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayCreate.cppF90 +++ b/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayCreate.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayGet.cppF90 b/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayGet.cppF90 index 335cffb78e..9387b0c906 100644 --- a/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayGet.cppF90 +++ b/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayGet.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayWrapperType.cppF90 b/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayWrapperType.cppF90 index 337de5b115..aa54eb1705 100644 --- a/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayWrapperType.cppF90 +++ b/src/Infrastructure/LocalArray/interface/ESMF_LocalArrayWrapperType.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/interface/ESMF_LocalArray_C.F90 b/src/Infrastructure/LocalArray/interface/ESMF_LocalArray_C.F90 index eae4873598..a45d27cfdc 100644 --- a/src/Infrastructure/LocalArray/interface/ESMF_LocalArray_C.F90 +++ b/src/Infrastructure/LocalArray/interface/ESMF_LocalArray_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/src/ESMCI_LocalArray.C b/src/Infrastructure/LocalArray/src/ESMCI_LocalArray.C index 50a8906ef3..e0364648d2 100644 --- a/src/Infrastructure/LocalArray/src/ESMCI_LocalArray.C +++ b/src/Infrastructure/LocalArray/src/ESMCI_LocalArray.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LocalArray/tests/ESMF_LocalArrayDataUTest.F90 b/src/Infrastructure/LocalArray/tests/ESMF_LocalArrayDataUTest.F90 index f0cff1ce22..e3d90c1600 100644 --- a/src/Infrastructure/LocalArray/tests/ESMF_LocalArrayDataUTest.F90 +++ b/src/Infrastructure/LocalArray/tests/ESMF_LocalArrayDataUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_background.tex b/src/Infrastructure/LogErr/doc/LogErr_background.tex index 47e859a69e..e6f44afda6 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_background.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_background.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_cdesc.tex b/src/Infrastructure/LogErr/doc/LogErr_cdesc.tex index d8981206de..78b4398066 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_cdesc.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_cex.tex b/src/Infrastructure/LogErr/doc/LogErr_cex.tex index 58882b55b3..acb99a1e0a 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_cex.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_cex.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_coptions.tex b/src/Infrastructure/LogErr/doc/LogErr_coptions.tex index 5147af7f19..97a4c53bf6 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_coptions.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_coptions.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_crefdoc.ctex b/src/Infrastructure/LogErr/doc/LogErr_crefdoc.ctex index aa0463714d..3db0fc9647 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_crefdoc.ctex +++ b/src/Infrastructure/LogErr/doc/LogErr_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_desc.tex b/src/Infrastructure/LogErr/doc/LogErr_desc.tex index 75a23deb23..14847421eb 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_desc.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_desc.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_design.tex b/src/Infrastructure/LogErr/doc/LogErr_design.tex index 493b52d93f..0858cb34a6 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_design.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_design.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_implnotes.tex b/src/Infrastructure/LogErr/doc/LogErr_implnotes.tex index febc8fcefa..83701cdd04 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_implnotes.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_implnotes.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_obj.tex b/src/Infrastructure/LogErr/doc/LogErr_obj.tex index afa7db3f99..14da8d52bd 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_obj.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_obj.tex @@ -1,7 +1,7 @@ %$Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_options.tex b/src/Infrastructure/LogErr/doc/LogErr_options.tex index f9b1d5588d..ff749388c8 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_options.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_options.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_refdoc.ctex b/src/Infrastructure/LogErr/doc/LogErr_refdoc.ctex index ce2e304501..e69af766e5 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_refdoc.ctex +++ b/src/Infrastructure/LogErr/doc/LogErr_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/doc/LogErr_rest.tex b/src/Infrastructure/LogErr/doc/LogErr_rest.tex index 6f71313dd7..67a429471d 100644 --- a/src/Infrastructure/LogErr/doc/LogErr_rest.tex +++ b/src/Infrastructure/LogErr/doc/LogErr_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/examples/ESMF_LogErrEx.F90 b/src/Infrastructure/LogErr/examples/ESMF_LogErrEx.F90 index 12b792d30d..f01994718b 100644 --- a/src/Infrastructure/LogErr/examples/ESMF_LogErrEx.F90 +++ b/src/Infrastructure/LogErr/examples/ESMF_LogErrEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/include/ESMCI_ErrMsgs.C b/src/Infrastructure/LogErr/include/ESMCI_ErrMsgs.C index 0a8e80d532..b013306c86 100644 --- a/src/Infrastructure/LogErr/include/ESMCI_ErrMsgs.C +++ b/src/Infrastructure/LogErr/include/ESMCI_ErrMsgs.C @@ -1,7 +1,7 @@ //$Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/include/ESMCI_LogErr.h b/src/Infrastructure/LogErr/include/ESMCI_LogErr.h index 0ee56f039a..7f8c5e645c 100644 --- a/src/Infrastructure/LogErr/include/ESMCI_LogErr.h +++ b/src/Infrastructure/LogErr/include/ESMCI_LogErr.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/include/ESMC_LogErr.h b/src/Infrastructure/LogErr/include/ESMC_LogErr.h index 4fee4aea6c..6130a5e670 100644 --- a/src/Infrastructure/LogErr/include/ESMC_LogErr.h +++ b/src/Infrastructure/LogErr/include/ESMC_LogErr.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/interface/ESMCI_LogErr_F.C b/src/Infrastructure/LogErr/interface/ESMCI_LogErr_F.C index 03699f81c5..92e6261b9c 100644 --- a/src/Infrastructure/LogErr/interface/ESMCI_LogErr_F.C +++ b/src/Infrastructure/LogErr/interface/ESMCI_LogErr_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/interface/ESMC_LogErr.C b/src/Infrastructure/LogErr/interface/ESMC_LogErr.C index 2de00ea2b4..93fe3cd7bb 100644 --- a/src/Infrastructure/LogErr/interface/ESMC_LogErr.C +++ b/src/Infrastructure/LogErr/interface/ESMC_LogErr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/interface/ESMF_LogErr_C.F90 b/src/Infrastructure/LogErr/interface/ESMF_LogErr_C.F90 index e84a89020d..6b71bce8a8 100644 --- a/src/Infrastructure/LogErr/interface/ESMF_LogErr_C.F90 +++ b/src/Infrastructure/LogErr/interface/ESMF_LogErr_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/interface/ESMF_LogPublic.F90 b/src/Infrastructure/LogErr/interface/ESMF_LogPublic.F90 index b529c20a00..63681251ab 100644 --- a/src/Infrastructure/LogErr/interface/ESMF_LogPublic.F90 +++ b/src/Infrastructure/LogErr/interface/ESMF_LogPublic.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/src/ESMCI_LogErr.C b/src/Infrastructure/LogErr/src/ESMCI_LogErr.C index 18f3a231b6..579736934a 100644 --- a/src/Infrastructure/LogErr/src/ESMCI_LogErr.C +++ b/src/Infrastructure/LogErr/src/ESMCI_LogErr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/tests/ESMCI_LogErrPerfUTest.C b/src/Infrastructure/LogErr/tests/ESMCI_LogErrPerfUTest.C index 9416b927b7..f0176254ed 100644 --- a/src/Infrastructure/LogErr/tests/ESMCI_LogErrPerfUTest.C +++ b/src/Infrastructure/LogErr/tests/ESMCI_LogErrPerfUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/tests/ESMCI_TestError.C b/src/Infrastructure/LogErr/tests/ESMCI_TestError.C index 683bc7b88a..19e24d9a3c 100644 --- a/src/Infrastructure/LogErr/tests/ESMCI_TestError.C +++ b/src/Infrastructure/LogErr/tests/ESMCI_TestError.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/tests/ESMC_LogErrUTest.c b/src/Infrastructure/LogErr/tests/ESMC_LogErrUTest.c index 5df690eabc..f267597491 100644 --- a/src/Infrastructure/LogErr/tests/ESMC_LogErrUTest.c +++ b/src/Infrastructure/LogErr/tests/ESMC_LogErrUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/tests/ESMF_LogErrHaltUTest.F90 b/src/Infrastructure/LogErr/tests/ESMF_LogErrHaltUTest.F90 index 57a79799fd..89ad88adc8 100644 --- a/src/Infrastructure/LogErr/tests/ESMF_LogErrHaltUTest.F90 +++ b/src/Infrastructure/LogErr/tests/ESMF_LogErrHaltUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/tests/ESMF_LogErrPerfUTest.F90 b/src/Infrastructure/LogErr/tests/ESMF_LogErrPerfUTest.F90 index 0cb694b193..121f3a57fb 100644 --- a/src/Infrastructure/LogErr/tests/ESMF_LogErrPerfUTest.F90 +++ b/src/Infrastructure/LogErr/tests/ESMF_LogErrPerfUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/LogErr/tests/ESMF_LogErrUTest.F90 b/src/Infrastructure/LogErr/tests/ESMF_LogErrUTest.F90 index 887bf51a86..e3a72014a1 100644 --- a/src/Infrastructure/LogErr/tests/ESMF_LogErrUTest.F90 +++ b/src/Infrastructure/LogErr/tests/ESMF_LogErrUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/doc/Mesh_crefdoc.ctex b/src/Infrastructure/Mesh/doc/Mesh_crefdoc.ctex index 5534a99e6a..370ce1e19b 100644 --- a/src/Infrastructure/Mesh/doc/Mesh_crefdoc.ctex +++ b/src/Infrastructure/Mesh/doc/Mesh_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/examples/ESMCI_DCatEx.C b/src/Infrastructure/Mesh/examples/ESMCI_DCatEx.C index e103fb0ccc..99caa935f1 100644 --- a/src/Infrastructure/Mesh/examples/ESMCI_DCatEx.C +++ b/src/Infrastructure/Mesh/examples/ESMCI_DCatEx.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/examples/ESMCI_DPart.C b/src/Infrastructure/Mesh/examples/ESMCI_DPart.C index f6747466b9..e1f41cc1a0 100644 --- a/src/Infrastructure/Mesh/examples/ESMCI_DPart.C +++ b/src/Infrastructure/Mesh/examples/ESMCI_DPart.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/examples/ESMCI_RefineEx.C b/src/Infrastructure/Mesh/examples/ESMCI_RefineEx.C index bbbba09a81..02a81c424e 100644 --- a/src/Infrastructure/Mesh/examples/ESMCI_RefineEx.C +++ b/src/Infrastructure/Mesh/examples/ESMCI_RefineEx.C @@ -2,7 +2,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/examples/ESMCI_RendEx.C b/src/Infrastructure/Mesh/examples/ESMCI_RendEx.C index 5742df9df5..b9bd6104d8 100644 --- a/src/Infrastructure/Mesh/examples/ESMCI_RendEx.C +++ b/src/Infrastructure/Mesh/examples/ESMCI_RendEx.C @@ -2,7 +2,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/examples/ESMF_MeshEx.F90 b/src/Infrastructure/Mesh/examples/ESMF_MeshEx.F90 index f86c78feef..4ce3565c7e 100644 --- a/src/Infrastructure/Mesh/examples/ESMF_MeshEx.F90 +++ b/src/Infrastructure/Mesh/examples/ESMF_MeshEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/examples/MeshCat b/src/Infrastructure/Mesh/examples/MeshCat index a5d8528898..9d6fc43f19 100755 --- a/src/Infrastructure/Mesh/examples/MeshCat +++ b/src/Infrastructure/Mesh/examples/MeshCat @@ -2,7 +2,7 @@ # $Id$ # # Earth System Modeling Framework -# Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +# Copyright (c) 2002-2024, University Corporation for Atmospheric Research, # Massachusetts Institute of Technology, Geophysical Fluid Dynamics # Laboratory, University of Michigan, National Centers for Environmental # Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_ClumpPnts.h b/src/Infrastructure/Mesh/include/ESMCI_ClumpPnts.h index aab39eadba..1cb65bf0d8 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_ClumpPnts.h +++ b/src/Infrastructure/Mesh/include/ESMCI_ClumpPnts.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_ESMFMesh_Util.h b/src/Infrastructure/Mesh/include/ESMCI_ESMFMesh_Util.h index c903cd9a3b..58408dc2e3 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_ESMFMesh_Util.h +++ b/src/Infrastructure/Mesh/include/ESMCI_ESMFMesh_Util.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_FileIO_Util.h b/src/Infrastructure/Mesh/include/ESMCI_FileIO_Util.h index 15c86931f3..53afbb0eda 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_FileIO_Util.h +++ b/src/Infrastructure/Mesh/include/ESMCI_FileIO_Util.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_GToM_Util.h b/src/Infrastructure/Mesh/include/ESMCI_GToM_Util.h index b87ef2fe2b..7910a42932 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_GToM_Util.h +++ b/src/Infrastructure/Mesh/include/ESMCI_GToM_Util.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh.h index fd9f546e98..6fc5ed7c81 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_BBox.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_BBox.h index 10ac533757..11e26f6585 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_BBox.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_BBox.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Bilinear.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Bilinear.h index aeb3f1559e..b02e458c9f 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Bilinear.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Bilinear.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Conserve.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Conserve.h index 2c9c0838d0..e00b8531f1 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Conserve.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Conserve.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Dual.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Dual.h index 5bbad100d4..ab22c184de 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Dual.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Dual.h @@ -1,6 +1,6 @@ // $Id: ESMCI_Search.h,v 1.13 2012/11/13 22:22:41 oehmke Exp $ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Extrapolation.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Extrapolation.h index 4cf3621aa1..dbcf1a7753 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Extrapolation.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Extrapolation.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_GToM_Glue.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_GToM_Glue.h index fa92704004..03b63f2586 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_GToM_Glue.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_GToM_Glue.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Glue.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Glue.h index f9e62e76bf..e961602095 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Glue.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Glue.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -60,7 +60,7 @@ void MBMesh_addelements(MBMesh **mbmpp, int *_num_elems, int *elemId, int *elemType, InterArray *_elemMaskII , int *_areaPresent, double *elemArea, int *_coordsPresent, double *elemCoords, - int *_num_elemConn, int *elemConn, + int *_elemConn_size, int *elemConn, ESMC_CoordSys_Flag *_coordSys, int *_orig_sdim, int *rc); diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Mapping.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Mapping.h index b1fbbc7267..c49074ee71 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Mapping.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Mapping.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Patch.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Patch.h index a23a197272..1f7a7aab03 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Patch.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Patch.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Redist.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Redist.h index f727d7aa27..91e1b4ca8a 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Redist.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Redist.h @@ -1,6 +1,6 @@ // $Id: ESMCI_Search.h,v 1.13 2012/11/13 22:22:41 oehmke Exp $ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Regrid_Glue.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Regrid_Glue.h index db9012ca6d..a60fc59c8b 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Regrid_Glue.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Regrid_Glue.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Rendez_Elem.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Rendez_Elem.h index 2e68a9aa06..83c56654c7 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Rendez_Elem.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Rendez_Elem.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Rendez_EtoP.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Rendez_EtoP.h index 373258df1e..dc866e6555 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Rendez_EtoP.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Rendez_EtoP.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search.h index 8358f49632..0de3117fd4 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search_EtoE.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search_EtoE.h index a88f59ecb4..f194a9a9a7 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search_EtoE.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search_EtoE.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search_EtoP.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search_EtoP.h index 64536dace4..3f9c5688bd 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search_EtoP.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Search_EtoP.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_ShapeFunc.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_ShapeFunc.h index b54d3f66e1..40aaafcf30 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_ShapeFunc.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_ShapeFunc.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Types.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Types.h index 4d3b6feb3d..c1ac3876b1 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Types.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Types.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Util.h b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Util.h index 5ca3827836..46618ede62 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Util.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MBMesh_Util.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MathUtil.h b/src/Infrastructure/Mesh/include/ESMCI_MathUtil.h index 823abe0719..41e2df7579 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MathUtil.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MathUtil.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_Mesh.h b/src/Infrastructure/Mesh/include/ESMCI_Mesh.h index 2c0c1da872..fe24b9ca8a 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Mesh.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Mesh.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -102,11 +102,16 @@ void RemoveGhost(); bool HasGhost() const { return sghost != NULL; } - CommReg &GhostComm() { ThrowRequire(sghost); return *sghost; } +CommReg &GhostComm() { ThrowRequire(sghost); return *sghost; } - // Convenience function to communicate all fields to ghost locations - void GhostCommAllFields(); +// Convenience function to communicate fields to ghost locations +void GhostCommFields(UInt nfields, MEField<> *const *sfields, MEField<> *const *rfields); + + +// Convenience function to communicate all fields to ghost locations +void GhostCommAllFields(); + // Create the sym rel void build_sym_comm_rel(UInt obj_type); diff --git a/src/Infrastructure/Mesh/include/ESMCI_MeshCXX.h b/src/Infrastructure/Mesh/include/ESMCI_MeshCXX.h index 82448ef21d..04a511b972 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MeshCXX.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MeshCXX.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MeshCap.h b/src/Infrastructure/Mesh/include/ESMCI_MeshCap.h index 71a1f8f763..5bc2a27f5f 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MeshCap.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MeshCap.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -138,7 +138,7 @@ namespace ESMCI { void meshaddelements(int *_num_elems, int *elemId, int *elemType, InterArray *_elemMaskII , int *_areaPresent, double *elemArea, int *_coordsPresent, double *elemCoords, - int *_num_elemConn, int *elemConn, + int *_elemConn_size, int *elemConn, ESMC_CoordSys_Flag *_coordSys, int *_orig_sdim, int *rc); diff --git a/src/Infrastructure/Mesh/include/ESMCI_MeshDual.h b/src/Infrastructure/Mesh/include/ESMCI_MeshDual.h index 92fcd88d7c..9296bc0a00 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MeshDual.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MeshDual.h @@ -1,6 +1,6 @@ // $Id: ESMCI_Search.h,v 1.13 2012/11/13 22:22:41 oehmke Exp $ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_MeshRedist.h b/src/Infrastructure/Mesh/include/ESMCI_MeshRedist.h index 0e5b839210..9ca06d643f 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_MeshRedist.h +++ b/src/Infrastructure/Mesh/include/ESMCI_MeshRedist.h @@ -1,6 +1,6 @@ // $Id: ESMCI_Search.h,v 1.13 2012/11/13 22:22:41 oehmke Exp $ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_Mesh_FileIO.h b/src/Infrastructure/Mesh/include/ESMCI_Mesh_FileIO.h index d0f3a615ac..c015c674b4 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Mesh_FileIO.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Mesh_FileIO.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_Mesh_GToM_Glue.h b/src/Infrastructure/Mesh/include/ESMCI_Mesh_GToM_Glue.h index b91a0b924a..a5cdc2f28f 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Mesh_GToM_Glue.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Mesh_GToM_Glue.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_Mesh_Glue.h b/src/Infrastructure/Mesh/include/ESMCI_Mesh_Glue.h index e59241c23d..591701db8d 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Mesh_Glue.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Mesh_Glue.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -77,7 +77,7 @@ void ESMCI_meshaddelements(Mesh **meshpp, int *_num_elems, int *elemId, int *elemType, InterArray *_elemMaskII , int *_areaPresent, double *elemArea, int *_coordsPresent, double *elemCoords, - int *_num_elemConn, int *elemConn, + int *_elemConn_size, int *elemConn, ESMC_CoordSys_Flag *_coordSys, int *_orig_sdim, int *rc); diff --git a/src/Infrastructure/Mesh/include/ESMCI_Mesh_Regrid_Glue.h b/src/Infrastructure/Mesh/include/ESMCI_Mesh_Regrid_Glue.h index 600bd0cf3d..e03bf900a9 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Mesh_Regrid_Glue.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Mesh_Regrid_Glue.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_Mesh_XGrid_Glue.h b/src/Infrastructure/Mesh/include/ESMCI_Mesh_XGrid_Glue.h index 5ffd76c84a..23279cd782 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Mesh_XGrid_Glue.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Mesh_XGrid_Glue.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_OTree.h b/src/Infrastructure/Mesh/include/ESMCI_OTree.h index 82cbb915c4..acc8d6c0f8 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_OTree.h +++ b/src/Infrastructure/Mesh/include/ESMCI_OTree.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_RegridConstants.h b/src/Infrastructure/Mesh/include/ESMCI_RegridConstants.h index 67ef20f789..9d37c55fb1 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_RegridConstants.h +++ b/src/Infrastructure/Mesh/include/ESMCI_RegridConstants.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_Regrid_Nearest.h b/src/Infrastructure/Mesh/include/ESMCI_Regrid_Nearest.h index 0a2b7bdf83..6cc3f69932 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Regrid_Nearest.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Regrid_Nearest.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_Rendez_Nearest.h b/src/Infrastructure/Mesh/include/ESMCI_Rendez_Nearest.h index e753aca33c..41a63c1dab 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Rendez_Nearest.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Rendez_Nearest.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_Search_Nearest.h b/src/Infrastructure/Mesh/include/ESMCI_Search_Nearest.h index 647ee148f1..5271dad749 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_Search_Nearest.h +++ b/src/Infrastructure/Mesh/include/ESMCI_Search_Nearest.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_UGRID_Util.h b/src/Infrastructure/Mesh/include/ESMCI_UGRID_Util.h index b78ba73c6b..7b4181c377 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_UGRID_Util.h +++ b/src/Infrastructure/Mesh/include/ESMCI_UGRID_Util.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMCI_XGridUtil.h b/src/Infrastructure/Mesh/include/ESMCI_XGridUtil.h index ddbf161efe..1d7b1b2f0f 100644 --- a/src/Infrastructure/Mesh/include/ESMCI_XGridUtil.h +++ b/src/Infrastructure/Mesh/include/ESMCI_XGridUtil.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/ESMC_Mesh.h b/src/Infrastructure/Mesh/include/ESMC_Mesh.h index ffac12fe2f..644a47f178 100644 --- a/src/Infrastructure/Mesh/include/ESMC_Mesh.h +++ b/src/Infrastructure/Mesh/include/ESMC_Mesh.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Attr.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Attr.h index bd525e08b9..557d823755 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Attr.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Attr.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_BBox.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_BBox.h index 819e421ce1..743b441d7e 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_BBox.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_BBox.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_CommReg.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_CommReg.h index 7d1c922470..0511ffc99f 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_CommReg.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_CommReg.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_CommRel.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_CommRel.h index 253c31548a..a698edea49 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_CommRel.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_CommRel.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Context.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Context.h index 913dfcb4b0..ca8d379695 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Context.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Context.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_DDir.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_DDir.h index 5e5465d975..e3ecfe781c 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_DDir.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_DDir.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Exception.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Exception.h index fe2c41bfa9..c4552a758f 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Exception.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Exception.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_FieldReg.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_FieldReg.h index 06f1ee6f86..7e4dc9380a 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_FieldReg.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_FieldReg.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_FindPnts.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_FindPnts.h index a32729aa4e..e79ed5633c 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_FindPnts.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_FindPnts.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Ftn.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Ftn.h index ecbf3523ec..b351ba5b16 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Ftn.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Ftn.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_GeomRendezvous.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_GeomRendezvous.h index 1ed0efc8c6..14022deafc 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_GeomRendezvous.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_GeomRendezvous.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_GlobalIds.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_GlobalIds.h index df5f4e7d49..fbc51a06f8 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_GlobalIds.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_GlobalIds.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_HAdapt.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_HAdapt.h index ae7a7b8633..c670d4a15b 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_HAdapt.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_HAdapt.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_IOField.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_IOField.h index 0d6c5ae96e..ab9a88f904 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_IOField.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_IOField.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Iterator.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Iterator.h index 1808888fdc..f13003b7fd 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Iterator.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Iterator.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Kernel.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Kernel.h index 9ce1582036..232735067e 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Kernel.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Kernel.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_List.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_List.h index 2f0eb822e4..0fe272a848 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_List.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_List.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MCoord.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MCoord.h index ab1f0d1675..52438bc64e 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MCoord.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MCoord.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEFamily.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEFamily.h index 0ae7ad57bd..e3651b9d0c 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEFamily.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEFamily.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEField.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEField.h index 5e09dd19a0..d681998fd6 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEField.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEField.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEImprint.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEImprint.h index dd7b14a3ab..a3d4cc4e37 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEImprint.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEImprint.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEValues.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEValues.h index 801cb5586e..6b3bb00010 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEValues.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MEValues.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Mask.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Mask.h index 445f0c53df..45afeccdc4 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Mask.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Mask.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MasterElement.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MasterElement.h index aab333999e..c9a03e611c 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MasterElement.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MasterElement.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshContext.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshContext.h index 6017a43547..808fc2d9e8 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshContext.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshContext.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshDB.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshDB.h index 0ff17bd031..1e84122346 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshDB.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshDB.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshExodus.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshExodus.h index 55d4a0d059..5ffd54af70 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshExodus.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshExodus.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshField.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshField.h index 5aace9179a..0cfc1f5eb0 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshField.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshField.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshGen.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshGen.h index f0af9222f7..e00540aada 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshGen.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshGen.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshMerge.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshMerge.h index 1107694f27..b1174d0ce2 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshMerge.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshMerge.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshNC.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshNC.h index 58763c7e96..8abed95352 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshNC.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshNC.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObj.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObj.h index 347df68741..3ba7463db2 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObj.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObj.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjConn.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjConn.h index b8e79da646..2173e1e07a 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjConn.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjConn.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjPack.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjPack.h index 30815ba829..c08939bcbc 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjPack.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjPack.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjTopo.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjTopo.h index f111d1cb1a..50afa71654 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjTopo.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshObjTopo.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshPNC.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshPNC.h index 14e7eb96a3..4af39fb62d 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshPNC.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshPNC.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshPartition.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshPartition.h index 0cbf4cb478..2e3a4e003d 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshPartition.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshPartition.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshRead.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshRead.h index 64a9d84ccf..b28e0f5141 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshRead.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshRead.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshRefine.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshRefine.h index 6ef17835fb..ca37e29e93 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshRefine.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshRefine.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshSet.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshSet.h index cfb7d6f87c..aa9a0eb502 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshSet.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshSet.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshSkin.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshSkin.h index b98f5368f6..ac2f5017b9 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshSkin.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshSkin.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshTests.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshTests.h index 41ef14dc25..f65abe680e 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshTests.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshTests.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshTypes.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshTypes.h index e771173d26..377cb83b0f 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshTypes.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshTypes.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshUtils.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshUtils.h index e72a84c06e..f44a300c25 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshUtils.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshUtils.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshVTK.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshVTK.h index eb23e231d3..7ac6138437 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshVTK.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshVTK.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshllField.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshllField.h index 8d1a77a1f0..7d6578f708 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshllField.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_MeshllField.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Migrator.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Migrator.h index 3c5c90989f..a7d723e7c1 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Migrator.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Migrator.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_ParEnv.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_ParEnv.h index 4ed8c4206a..a2879a88f9 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_ParEnv.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_ParEnv.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_ParLog.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_ParLog.h index c449644c53..91f50413ef 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_ParLog.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_ParLog.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Polynomial.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Polynomial.h index 1368bea591..28d8fdef3b 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Polynomial.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Polynomial.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Quadrature.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Quadrature.h index 7e79977322..f7ec4a40ff 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Quadrature.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Quadrature.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Rebalance.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Rebalance.h index 92401cc6c4..8fbb3c1abb 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Rebalance.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Rebalance.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_RefineTopo.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_RefineTopo.h index 1cb77dffaf..383f12cbfa 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_RefineTopo.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_RefineTopo.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_SFuncAdaptor.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_SFuncAdaptor.h index 93b31908b6..7265f646d6 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_SFuncAdaptor.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_SFuncAdaptor.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_SM.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_SM.h index 2fef7cb986..1197ac7133 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_SM.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_SM.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_ShapeLagrange.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_ShapeLagrange.h index c37d6e9a43..3bba07ae28 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_ShapeLagrange.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_ShapeLagrange.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Sintdnode.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Sintdnode.h index 192b38d2f4..1e9047cef0 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Sintdnode.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Sintdnode.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_SmallAlloc.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_SmallAlloc.h index 92d8a59280..b92e978776 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_SmallAlloc.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_SmallAlloc.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_SparseMsg.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_SparseMsg.h index ad4ad43aba..288b442c82 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_SparseMsg.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_SparseMsg.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Tree.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Tree.h index 4fa3823891..383278f61b 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_Tree.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_Tree.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_WriteWeights.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_WriteWeights.h index cbc23bbcce..4a85e718a2 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_WriteWeights.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_WriteWeights.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Legacy/ESMCI_WriteWeightsPar.h b/src/Infrastructure/Mesh/include/Legacy/ESMCI_WriteWeightsPar.h index 594a901386..994fcfa942 100644 --- a/src/Infrastructure/Mesh/include/Legacy/ESMCI_WriteWeightsPar.h +++ b/src/Infrastructure/Mesh/include/Legacy/ESMCI_WriteWeightsPar.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Conserve2ndInterp.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Conserve2ndInterp.h index fb82b5e402..8976903683 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Conserve2ndInterp.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Conserve2ndInterp.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_ConserveInterp.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_ConserveInterp.h index ddb7dee580..4661ca7955 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_ConserveInterp.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_ConserveInterp.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_CreepFill.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_CreepFill.h index 8ca897d0c9..ce9e272a37 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_CreepFill.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_CreepFill.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Extrap.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Extrap.h index 979bf2e878..8ea195870e 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Extrap.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Extrap.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_ExtrapolationPoleLGC.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_ExtrapolationPoleLGC.h index b709377e1e..28441ea5ff 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_ExtrapolationPoleLGC.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_ExtrapolationPoleLGC.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Integrate.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Integrate.h index e814fabdf3..61e927abe5 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Integrate.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Integrate.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Interp.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Interp.h index bcf46d0c83..6644a025a8 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Interp.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Interp.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Mapping.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Mapping.h index dd3e985296..906c32a269 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Mapping.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Mapping.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_MeshRegrid.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_MeshRegrid.h index 5abe41041d..4cc3bbec47 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_MeshRegrid.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_MeshRegrid.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_PatchRecovery.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_PatchRecovery.h index b50abd2e09..beabd27d35 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_PatchRecovery.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_PatchRecovery.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Regrid_Helper.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Regrid_Helper.h index 137a96edcb..ce01d44325 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Regrid_Helper.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Regrid_Helper.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Search.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Search.h index 60f0026c35..deaa87a172 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_Search.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_Search.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_SearchFlags.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_SearchFlags.h index c1b2af72be..477359f1df 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_SearchFlags.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_SearchFlags.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_ShapeFunc.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_ShapeFunc.h index a5b931634a..89f50892ed 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_ShapeFunc.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_ShapeFunc.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_SpaceDir.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_SpaceDir.h index bf44b96c37..efae7436e2 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_SpaceDir.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_SpaceDir.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/include/Regridding/ESMCI_WMat.h b/src/Infrastructure/Mesh/include/Regridding/ESMCI_WMat.h index a2f24355e7..c079854439 100644 --- a/src/Infrastructure/Mesh/include/Regridding/ESMCI_WMat.h +++ b/src/Infrastructure/Mesh/include/Regridding/ESMCI_WMat.h @@ -1,6 +1,6 @@ // $Id$ // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/interface/ESMCI_Mesh_F.C b/src/Infrastructure/Mesh/interface/ESMCI_Mesh_F.C index 5001f672eb..c5e0440bf9 100644 --- a/src/Infrastructure/Mesh/interface/ESMCI_Mesh_F.C +++ b/src/Infrastructure/Mesh/interface/ESMCI_Mesh_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/interface/ESMC_Mesh.C b/src/Infrastructure/Mesh/interface/ESMC_Mesh.C index 3c7069585d..5ec19c8697 100644 --- a/src/Infrastructure/Mesh/interface/ESMC_Mesh.C +++ b/src/Infrastructure/Mesh/interface/ESMC_Mesh.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -217,11 +217,6 @@ int ESMC_MeshAddElements(ESMC_Mesh mesh, int elementCount, int *elementIds, MeshCap *mc = static_cast (mesh.ptr); - // count elemconn - int ec = 0; - for (unsigned int i = 0; i < elementCount; ++i) - ec += elementTypes[i]; - // evaluate presence of input parameters int apresent = 0; if (elementArea != nullptr) apresent = 1; @@ -237,7 +232,7 @@ int ESMC_MeshAddElements(ESMC_Mesh mesh, int elementCount, int *elementIds, em, &apresent, elementArea, &cpresent, elementCoords, - &ec, elementConn, + NULL, elementConn, &(mc->coordsys_mc), &(mc->sdim_mc), &localrc); // elementConn, elementMask, elementArea, elementCoords); diff --git a/src/Infrastructure/Mesh/interface/ESMF_Mesh.F90 b/src/Infrastructure/Mesh/interface/ESMF_Mesh.F90 index 2c6633aaeb..33a4576ae0 100644 --- a/src/Infrastructure/Mesh/interface/ESMF_Mesh.F90 +++ b/src/Infrastructure/Mesh/interface/ESMF_Mesh.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/interface/ESMF_Mesh_C.F90 b/src/Infrastructure/Mesh/interface/ESMF_Mesh_C.F90 index 1490859ab1..5f3d495564 100644 --- a/src/Infrastructure/Mesh/interface/ESMF_Mesh_C.F90 +++ b/src/Infrastructure/Mesh/interface/ESMF_Mesh_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_ClumpPnts.C b/src/Infrastructure/Mesh/src/ESMCI_ClumpPnts.C index dac5ee4e87..5898a01f54 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_ClumpPnts.C +++ b/src/Infrastructure/Mesh/src/ESMCI_ClumpPnts.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_ESMFMesh_Util.C b/src/Infrastructure/Mesh/src/ESMCI_ESMFMesh_Util.C index d79ec7453a..d1426915a8 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_ESMFMesh_Util.C +++ b/src/Infrastructure/Mesh/src/ESMCI_ESMFMesh_Util.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -635,20 +635,20 @@ void get_elemConn_info_from_ESMFMesh_file(int pioSystemDesc, int pioFileDesc, ch // Declare some useful vars int dimid; - int varid; + int elementConn_id; int localrc; int piorc; - + // Figure out dimension of elementConn array int dimElementConn=2; // Get elementConn varid - piorc = PIOc_inq_varid(pioFileDesc, "elementConn", &varid); + piorc = PIOc_inq_varid(pioFileDesc, "elementConn", &elementConn_id); if (!CHECKPIOERROR(piorc, std::string("Error elementConn variable not in file ") + filename, ESMF_RC_FILE_OPEN, localrc)) throw localrc;; // Get elementConn number of dims - piorc = PIOc_inq_varndims(pioFileDesc, varid, &dimElementConn); + piorc = PIOc_inq_varndims(pioFileDesc, elementConn_id, &dimElementConn); if (!CHECKPIOERROR(piorc, std::string("Error getting number of dims for elementConn variable in file ") + filename, ESMF_RC_FILE_OPEN, localrc)) throw localrc;; @@ -667,12 +667,39 @@ void get_elemConn_info_from_ESMFMesh_file(int pioSystemDesc, int pioFileDesc, ch ESMC_CONTEXT, &localrc)) throw localrc; } - // Check if there's a polybreak attribute on elementConn and if so get it - int polygon_break_value; - piorc = PIOc_get_att_int(pioFileDesc, varid, "polygon_break_value", &polygon_break_value); - // Found value so convert to internal mesh polygon_break_value + //// Handle start_index attribute + // Get start_index attribute, otherwise default to 1. + int start_index=1; // Set to default for ESMFMesh + int att_start_index=1; // Set to default ESMFMesh + piorc = PIOc_get_att_int(pioFileDesc, elementConn_id, "start_index", &att_start_index); + + // If there's a start_index then record it and modify elementConn accordingly + // NOTE: the default start_index of 1, doesn't require the elementConn to be changed + if (piorc == PIO_NOERR) { + + // Get start_index value + start_index=att_start_index; + + // Given start_index switch base of connections to be 1-based (what's expected by mesh create code) + for (int i=0; i *_elemMaskII , int *_areaPresent, double *elemArea, int *_coordsPresent, double *elemCoords, - int *_num_elemConn, int *elemConn, + int *_elemConn_size, int *elemConn, ESMC_CoordSys_Flag *_coordSys, int *_orig_sdim, int *rc) { @@ -281,9 +281,6 @@ void MBMesh_addelements(MBMesh **mbmpp, // Number of elements being created int num_elems=*_num_elems; - // Total Size of connection list - int num_elemConn=*_num_elemConn; - // Element mask array InterArray *elemMaskII=_elemMaskII; int *elemMask=NULL; @@ -344,24 +341,28 @@ void MBMesh_addelements(MBMesh **mbmpp, } } - // Check size of connectivity list - int expected_conn_size=0; + + //// Calc size of connectivity list + int num_elemConn=0; if (pdim==2) { for (int i=0; i< num_elems; i++) { - expected_conn_size += elemType[i]; + num_elemConn += elemType[i]; } } else if (pdim==3) { for (int i=0; i< num_elems; i++) { - if (elemType[i]==10) expected_conn_size += 4; - else if (elemType[i]==12) expected_conn_size += 8; - } + if (elemType[i]==10) num_elemConn += 4; + else if (elemType[i]==12) num_elemConn += 8; + } } - if (expected_conn_size != num_elemConn) { - int localrc; - if(ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_VALUE, - "- element connectivity list doesn't contain the right number of entries ", - ESMC_CONTEXT, &localrc)) throw localrc; + /// If size of array is available, make sure it matches + if (_elemConn_size != NULL) { + if (*_elemConn_size != num_elemConn) { + int localrc; + if(ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_VALUE, + "element connectivity list doesn't contain the right number of entries ", + ESMC_CONTEXT, &localrc)) throw localrc; + } } diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Mapping.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Mapping.C index aece284207..6b02183d47 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Mapping.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Mapping.C @@ -1,6 +1,6 @@ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Patch.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Patch.C index a44101badd..4469c95c0c 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Patch.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Patch.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Redist.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Redist.C index 8c5a27e682..be5ac10ea5 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Redist.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Redist.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Regrid_Glue.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Regrid_Glue.C index 85a2ac7a9d..23bc3d807c 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Regrid_Glue.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Regrid_Glue.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Rendez_Elem.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Rendez_Elem.C index 46616ea0ed..8c505ec458 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Rendez_Elem.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Rendez_Elem.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Rendez_EtoP.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Rendez_EtoP.C index b6e7c7204f..45463cdb36 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Rendez_EtoP.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Rendez_EtoP.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Search_EtoE.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Search_EtoE.C index 94c8e668a6..3aa9e07b46 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Search_EtoE.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Search_EtoE.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Search_EtoP.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Search_EtoP.C index ece773cf41..600181d974 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Search_EtoP.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Search_EtoP.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_ShapeFunc.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_ShapeFunc.C index 898219d45f..756302b4b8 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_ShapeFunc.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_ShapeFunc.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Util.C b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Util.C index fe6380b363..4bea59b114 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Util.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MBMesh_Util.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MathUtil.C b/src/Infrastructure/Mesh/src/ESMCI_MathUtil.C index 154c205138..f25a21282a 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MathUtil.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MathUtil.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Mesh.C b/src/Infrastructure/Mesh/src/ESMCI_Mesh.C index 5e64a528e9..9ca20f813a 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Mesh.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Mesh.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -1689,6 +1689,32 @@ void Mesh::RemoveGhost() { ESMCI::Par::Init("MESHLOG", false, curr_comm); } + +// Function to communicate fields to ghost locations + void Mesh::GhostCommFields(UInt nfields, MEField<> *const *sfields, MEField<> *const *rfields) { + + // Only do on the original comm that this mesh was committed on, so + // leave if that's not set + if (orig_comm == MPI_COMM_NULL) return; + + // Error check + if (!sghost) Throw()<<"Ghost communicator must be present for ghost communication."; + + // Save current comm + MPI_Comm curr_comm=Par::Comm(); + + // Switch to orig comm + ESMCI::Par::Init("MESHLOG", false, orig_comm); + + // Send Fields + sghost->SendFields(nfields, sfields, rfields); + + // Switch back to curr comm + ESMCI::Par::Init("MESHLOG", false, curr_comm); + } + + + // Convenience function to communicate all fields to ghost locations void Mesh::GhostCommAllFields() { @@ -1725,6 +1751,8 @@ void Mesh::RemoveGhost() { // Switch back to curr comm ESMCI::Par::Init("MESHLOG", false, curr_comm); } + + void Mesh::build_sym_comm_rel(UInt obj_type) { diff --git a/src/Infrastructure/Mesh/src/ESMCI_MeshCXX.C b/src/Infrastructure/Mesh/src/ESMCI_MeshCXX.C index 1bd6f3c53d..c028a9e852 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MeshCXX.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MeshCXX.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_MeshCap.C b/src/Infrastructure/Mesh/src/ESMCI_MeshCap.C index 1034d7e795..6fadeeaa7a 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MeshCap.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MeshCap.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -561,7 +561,7 @@ void MeshCap::meshaddnodes(int *num_nodes, int *nodeId, void MeshCap::meshaddelements(int *_num_elems, int *elemId, int *elemType, InterArray *_elemMaskII , int *_areaPresent, double *elemArea, int *_coordsPresent, double *elemCoords, - int *_num_elemConn, int *elemConn, + int *_elemConn_size, int *elemConn, ESMC_CoordSys_Flag *_coordSys, int *_orig_sdim, int *rc) { @@ -576,7 +576,7 @@ void MeshCap::meshaddelements(int *_num_elems, int *elemId, int *elemType, Inter _num_elems, elemId, elemType, _elemMaskII , _areaPresent, elemArea, _coordsPresent, elemCoords, - _num_elemConn, elemConn, + _elemConn_size, elemConn, _coordSys, _orig_sdim, &localrc); ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU,ESMC_CONTEXT, rc); @@ -588,7 +588,7 @@ void MeshCap::meshaddelements(int *_num_elems, int *elemId, int *elemType, Inter _num_elems, elemId, elemType, _elemMaskII, _areaPresent, elemArea, _coordsPresent, elemCoords, - _num_elemConn, elemConn, + _elemConn_size, elemConn, _coordSys, _orig_sdim, &localrc); ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU,ESMC_CONTEXT, rc); diff --git a/src/Infrastructure/Mesh/src/ESMCI_MeshDual.C b/src/Infrastructure/Mesh/src/ESMCI_MeshDual.C index 17ccda5327..234d918034 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MeshDual.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MeshDual.C @@ -2,7 +2,7 @@ // $Id: ESMCI_MeshRedist.C,v 1.23 2012/01/06 20:17:51 svasquez Exp $ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -192,12 +192,6 @@ namespace ESMCI { // Communicate values to ghost cells src_mesh->GhostCommAllFields(); - // BOB: Use convenince method to comm all fields -#if 0 - src_mesh->GhostComm().SendFields(num_snd, snd, rcv); -#endif - - #ifdef DEBUG_WRITE_MESH {int *rc; int len = 18; char fname[len]; diff --git a/src/Infrastructure/Mesh/src/ESMCI_MeshRedist.C b/src/Infrastructure/Mesh/src/ESMCI_MeshRedist.C index 062734d739..f3bdcbc66b 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_MeshRedist.C +++ b/src/Infrastructure/Mesh/src/ESMCI_MeshRedist.C @@ -1,7 +1,7 @@ // $Id: ESMCI_MeshRedist.C,v 1.23 2012/01/06 20:17:51 svasquez Exp $ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Mesh_FileIO.C b/src/Infrastructure/Mesh/src/ESMCI_Mesh_FileIO.C index 9a0dd8d406..dbd867642e 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Mesh_FileIO.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Mesh_FileIO.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Mesh_GToM_Glue.C b/src/Infrastructure/Mesh/src/ESMCI_Mesh_GToM_Glue.C index a3dbfbb4d8..869014c0b3 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Mesh_GToM_Glue.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Mesh_GToM_Glue.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Mesh_Glue.C b/src/Infrastructure/Mesh/src/ESMCI_Mesh_Glue.C index 381675ea13..90b1024748 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Mesh_Glue.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Mesh_Glue.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -738,7 +738,7 @@ void ESMCI_meshaddelements(Mesh **meshpp, int *_num_elems, int *elemId, int *elemType, InterArray *_elemMaskII , int *_areaPresent, double *elemArea, int *_elemCoordsPresent, double *elemCoords, - int *_num_elemConn, int *elemConn, + int *_elemConn_size, int *elemConn, ESMC_CoordSys_Flag *_coordSys, int *_orig_sdim, int *rc) #undef ESMC_METHOD @@ -767,8 +767,6 @@ void ESMCI_meshaddelements(Mesh **meshpp, int num_elems=*_num_elems; - int num_elemConn=*_num_elemConn; - InterArray *elemMaskII=_elemMaskII; int areaPresent=*_areaPresent; @@ -807,27 +805,29 @@ void ESMCI_meshaddelements(Mesh **meshpp, } - //// Check size of connectivity list - int expected_conn_size=0; + //// Calc size of connectivity list + int num_elemConn=0; if (parametric_dim==2) { for (int i=0; i< num_elems; i++) { - expected_conn_size += elemType[i]; + num_elemConn += elemType[i]; } } else if (parametric_dim==3) { for (int i=0; i< num_elems; i++) { - if (elemType[i]==10) expected_conn_size += 4; - else if (elemType[i]==12) expected_conn_size += 8; + if (elemType[i]==10) num_elemConn += 4; + else if (elemType[i]==12) num_elemConn += 8; } } - if (expected_conn_size != num_elemConn) { - int localrc; - if(ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_VALUE, - "- element connectivity list doesn't contain the right number of entries ", - ESMC_CONTEXT, &localrc)) throw localrc; + /// If size of array is available, make sure it matches + if (_elemConn_size != NULL) { + if (*_elemConn_size != num_elemConn) { + int localrc; + if(ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_VALUE, + "element connectivity list doesn't contain the right number of entries ", + ESMC_CONTEXT, &localrc)) throw localrc; + } } - // Error check size of elements if (parametric_dim==2) { int conn_pos=0; diff --git a/src/Infrastructure/Mesh/src/ESMCI_Mesh_Regrid_Glue.C b/src/Infrastructure/Mesh/src/ESMCI_Mesh_Regrid_Glue.C index e72bcc54d4..982698e777 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Mesh_Regrid_Glue.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Mesh_Regrid_Glue.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Mesh_XGrid_Glue.C b/src/Infrastructure/Mesh/src/ESMCI_Mesh_XGrid_Glue.C index fdb07e20ff..5a97002b96 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Mesh_XGrid_Glue.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Mesh_XGrid_Glue.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_OTree.C b/src/Infrastructure/Mesh/src/ESMCI_OTree.C index ac6f7733c3..b7772a4ff4 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_OTree.C +++ b/src/Infrastructure/Mesh/src/ESMCI_OTree.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Regrid_Nearest.C b/src/Infrastructure/Mesh/src/ESMCI_Regrid_Nearest.C index d1cc995749..7812c818d4 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Regrid_Nearest.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Regrid_Nearest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Rendez_Nearest.C b/src/Infrastructure/Mesh/src/ESMCI_Rendez_Nearest.C index d71ff085f0..e4491c032a 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Rendez_Nearest.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Rendez_Nearest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Search_Nearest.C b/src/Infrastructure/Mesh/src/ESMCI_Search_Nearest.C index 3358f8149c..69c8dbbaff 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Search_Nearest.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Search_Nearest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_Search_NearestNPnts.C b/src/Infrastructure/Mesh/src/ESMCI_Search_NearestNPnts.C index 3725998fcf..a10e0741df 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_Search_NearestNPnts.C +++ b/src/Infrastructure/Mesh/src/ESMCI_Search_NearestNPnts.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_UGRID_Util.C b/src/Infrastructure/Mesh/src/ESMCI_UGRID_Util.C index 72cca927d9..b231c63283 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_UGRID_Util.C +++ b/src/Infrastructure/Mesh/src/ESMCI_UGRID_Util.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/ESMCI_XGridUtil.C b/src/Infrastructure/Mesh/src/ESMCI_XGridUtil.C index 8f1a4ec8c1..6d4a654042 100644 --- a/src/Infrastructure/Mesh/src/ESMCI_XGridUtil.C +++ b/src/Infrastructure/Mesh/src/ESMCI_XGridUtil.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Attr.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Attr.C index f88237d668..48e82df97e 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Attr.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Attr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_BBox.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_BBox.C index de1e193c43..d64911effc 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_BBox.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_BBox.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_CommReg.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_CommReg.C index 6d17670b8d..e3291e1301 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_CommReg.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_CommReg.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_CommRel.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_CommRel.C index 850ce7049a..74e41a32cd 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_CommRel.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_CommRel.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Context.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Context.C index 11a5af49d2..5d7db3b9a6 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Context.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Context.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_DDir.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_DDir.C index 4016688b73..477b6232b5 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_DDir.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_DDir.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Exception.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Exception.C index 1ffa3a54c0..8a1af8a808 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Exception.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Exception.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_FieldReg.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_FieldReg.C index 6c367607ad..81b4f779cc 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_FieldReg.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_FieldReg.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_FindPnts.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_FindPnts.C index 0044a1dae5..8d4eed0fdc 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_FindPnts.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_FindPnts.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_GeomRendezvous.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_GeomRendezvous.C index f966492705..9ededb47e4 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_GeomRendezvous.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_GeomRendezvous.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_GlobalIds.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_GlobalIds.C index 10ac27c462..d9b4a22d04 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_GlobalIds.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_GlobalIds.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_HAdapt.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_HAdapt.C index ea9bafa01a..78b46d02c7 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_HAdapt.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_HAdapt.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_IOField.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_IOField.C index 75fecccb65..c4c8d7f694 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_IOField.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_IOField.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Kernel.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Kernel.C index 3a6e403821..68612131ea 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Kernel.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Kernel.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MCoord.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MCoord.C index 3b2f1fa40f..6aba05801b 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MCoord.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MCoord.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEFamily.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEFamily.C index 138c072f11..c0393bd309 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEFamily.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEFamily.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEField.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEField.C index e097afeb48..6e16872772 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEField.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEField.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEImprint.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEImprint.C index fd7b8610c7..6fddd0a397 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEImprint.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEImprint.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEValues.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEValues.C index 96069070ff..40ffd487b4 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEValues.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MEValues.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MasterElement.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MasterElement.C index 072cb9d9fa..631ca8e05e 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MasterElement.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MasterElement.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MasterElementV.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MasterElementV.C index c0b2e28b5e..128f4ba549 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MasterElementV.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MasterElementV.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshDB.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshDB.C index fa755cd120..6ba3e191a7 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshDB.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshDB.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshExodus.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshExodus.C index c968de60f6..b08c24efa6 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshExodus.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshExodus.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshField.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshField.C index 2acfd4212f..1caf06f63e 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshField.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshField.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshGen.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshGen.C index 87cfbdf775..f885c0c0c5 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshGen.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshGen.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshMerge.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshMerge.C index d9e1fcc555..4285002832 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshMerge.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshMerge.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshNC.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshNC.C index 7162cc48e0..2358dba07b 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshNC.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshNC.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObj.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObj.C index 1f4209c70f..29b47a0cda 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObj.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObj.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjConn.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjConn.C index 42e442dde5..f6355d20d2 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjConn.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjConn.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjPack.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjPack.C index f539207472..46e2acdc4c 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjPack.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjPack.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjTopo.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjTopo.C index 59b63e157c..60afbe1811 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjTopo.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshObjTopo.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPNC.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPNC.C index e62f486ba1..3d8e8eb8fc 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPNC.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPNC.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPartition.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPartition.C index 14d20b8ad1..c7d2a771f7 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPartition.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshPartition.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshRead.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshRead.C index c78bcfe935..8161b74dde 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshRead.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshRead.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshRefine.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshRefine.C index 683385ec14..6622758f4b 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshRefine.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshRefine.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshSkin.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshSkin.C index 695d44fb41..6daa415c66 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshSkin.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshSkin.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshUtils.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshUtils.C index da43fff62c..f031cbe33e 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshUtils.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshUtils.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshVTK.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshVTK.C index d24dd0e94b..68d267ff30 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshVTK.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshVTK.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshllField.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshllField.C index 780d222081..622bc1770f 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshllField.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_MeshllField.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Migrator.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Migrator.C index 54c2670000..4b73a89793 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Migrator.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Migrator.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_ParEnv.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_ParEnv.C index e4764f303d..b643a95930 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_ParEnv.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_ParEnv.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_ParLog.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_ParLog.C index 71aeb4cd23..1326f3855c 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_ParLog.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_ParLog.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Polynomial.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Polynomial.C index 6bae86ca07..315ffef104 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Polynomial.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Polynomial.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Quadrature.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Quadrature.C index 6e2c697e12..37e8b84d59 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Quadrature.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Quadrature.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -39,34 +39,39 @@ std::string int2string(UInt i) { return oss.str(); } -// Straight from numerical recipes in C -void gauss_legendre(UInt n, double locs[], double *wgts) { - UInt m; - double z, z1, pp, p1, p2, p3; +void gauss_legendre(UInt num_points, double locs[], double *wgts) { + UInt half_points; + double root_approx, root_approx_prev; + double p1, p2, p3; + double p1_deriv; - m = (n+1)/2; - for (UInt i = 1; i <= m; i++) { - z = cos(M_PI*(i-0.25)/(n+0.5)); + half_points = (num_points+1)/2; + for (UInt i = 1; i <= half_points; i++) { + root_approx = cos(M_PI*(i-0.25)/(num_points+0.5)); + + // Refine the root approximation by Newton's method do { p1 = 1.0; p2 = 0.0; - for (UInt j = 1; j <= n; j++) { + for (UInt j = 1; j <= num_points; j++) { p3 = p2; p2 = p1; - p1 = ((2.0*j-1.0)*z*p2-(j-1)*p3)/j; + p1 = ((2.0*j-1.0)*root_approx*p2-(j-1)*p3)/j; } + // p1 is now the desired Legendre polynomial evaluated at root_approx - pp = n*(z*p1-p2)/(z*z-1.0); - z1 = z; - z=z1-p1/pp; -//std::cout << "z-z1=" << z-z1 << std::endl; - } while(std::abs(z-z1)> 1e-10); + p1_deriv = num_points*(root_approx*p1-p2)/(root_approx*root_approx-1.0); + root_approx_prev = root_approx; + root_approx = root_approx_prev-p1/p1_deriv; +//std::cout << "root_approx-root_approx_prev=" << root_approx-root_approx_prev << std::endl; + } while(std::abs(root_approx-root_approx_prev)> 1e-10); - locs[i-1] = -z; - locs[n+1-i-1] = z; + // The roots are symmetric, so each computed root is put in two locations + locs[i-1] = -root_approx; + locs[num_points+1-i-1] = root_approx; if (wgts) { - wgts[i-1] = 2.0/((1.0-z*z)*pp*pp); - wgts[n+1-i-1] = wgts[i-1]; + wgts[i-1] = 2.0/((1.0-root_approx*root_approx)*p1_deriv*p1_deriv); + wgts[num_points+1-i-1] = wgts[i-1]; } } // for i } diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Rebalance.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Rebalance.C index 23852f0356..7f42dbf8e7 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_Rebalance.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_Rebalance.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_RefineTopo.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_RefineTopo.C index 6fcaa16c50..17131a61d1 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_RefineTopo.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_RefineTopo.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_SFuncAdaptor.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_SFuncAdaptor.C index 71519605c1..db0b277f45 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_SFuncAdaptor.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_SFuncAdaptor.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_SM.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_SM.C index 2c580e82e6..76970520f7 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_SM.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_SM.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_ShapeLagrange.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_ShapeLagrange.C index 3a3146f025..f507372f7b 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_ShapeLagrange.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_ShapeLagrange.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_SmallAlloc.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_SmallAlloc.C index 4e05f0fe24..844d7d5c0a 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_SmallAlloc.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_SmallAlloc.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_SparseMsg.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_SparseMsg.C index b9e6e4d146..3f3513471c 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_SparseMsg.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_SparseMsg.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeights.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeights.C index d19c08370a..4a65040592 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeights.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeights.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeightsPar.C b/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeightsPar.C index 9f365c3fc9..843eb79915 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeightsPar.C +++ b/src/Infrastructure/Mesh/src/Legacy/ESMCI_WriteWeightsPar.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Legacy/ESMF_SolverUtil_C.F90 b/src/Infrastructure/Mesh/src/Legacy/ESMF_SolverUtil_C.F90 index 78820d0780..6c1b5cb71a 100644 --- a/src/Infrastructure/Mesh/src/Legacy/ESMF_SolverUtil_C.F90 +++ b/src/Infrastructure/Mesh/src/Legacy/ESMF_SolverUtil_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Conserve2ndInterp.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Conserve2ndInterp.C index 0ed3d4b3cf..79866c6623 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Conserve2ndInterp.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Conserve2ndInterp.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_ConserveInterp.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_ConserveInterp.C index 8a047391b2..82622c3061 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_ConserveInterp.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_ConserveInterp.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_CreepFill.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_CreepFill.C index 7c11616e49..59d977f409 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_CreepFill.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_CreepFill.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Extrap.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Extrap.C index 625b9b3d77..48a3b8a850 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Extrap.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Extrap.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_ExtrapolationPoleLGC.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_ExtrapolationPoleLGC.C index b7a6ebaec1..a5679f2338 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_ExtrapolationPoleLGC.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_ExtrapolationPoleLGC.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Integrate.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Integrate.C index e5ef907965..7829338985 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Integrate.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Integrate.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Interp.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Interp.C index e217a076a9..38a223adda 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Interp.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Interp.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Mapping.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Mapping.C index f5353a9279..21c0e125a8 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Mapping.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Mapping.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_MeshRegrid.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_MeshRegrid.C index 79a0eefb3f..f0ff264eea 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_MeshRegrid.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_MeshRegrid.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -111,7 +111,7 @@ namespace ESMCI { } srcmesh->CreateGhost(); - srcmesh->GhostComm().SendFields(num_snd, snd, rcv); + srcmesh->GhostCommFields(num_snd, snd, rcv); } // Create a layer of ghost elements since the higher order conservative needs a @@ -154,7 +154,7 @@ namespace ESMCI { } srcmesh->CreateGhost(); - srcmesh->GhostComm().SendFields(num_snd, snd, rcv); + srcmesh->GhostCommFields(num_snd, snd, rcv); #if 0 // DEBUG diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_PatchRecovery.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_PatchRecovery.C index c6847d0447..f571d5d436 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_PatchRecovery.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_PatchRecovery.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Regrid_Helper.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Regrid_Helper.C index d58096c192..44c932fe9f 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Regrid_Helper.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Regrid_Helper.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Search.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Search.C index ef502a1f26..236a12e52e 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_Search.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_Search.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestDToSLGC.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestDToSLGC.C index d433861cba..0707bbad22 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestDToSLGC.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestDToSLGC.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestLGC.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestLGC.C index 5991d7b933..5ed274351c 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestLGC.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestLGC.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestNPntsLGC.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestNPntsLGC.C index 118d3954ad..ff09e3007f 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestNPntsLGC.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_SearchNearestNPntsLGC.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_ShapeFunc.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_ShapeFunc.C index e0dbb89039..034730464d 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_ShapeFunc.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_ShapeFunc.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_SpaceDir.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_SpaceDir.C index 1e44eddd55..5dafe37d25 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_SpaceDir.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_SpaceDir.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/src/Regridding/ESMCI_WMat.C b/src/Infrastructure/Mesh/src/Regridding/ESMCI_WMat.C index 0965d9259b..19e9537345 100644 --- a/src/Infrastructure/Mesh/src/Regridding/ESMCI_WMat.C +++ b/src/Infrastructure/Mesh/src/Regridding/ESMCI_WMat.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_IntegrateUTest.C b/src/Infrastructure/Mesh/tests/ESMCI_IntegrateUTest.C index 65912fbc23..44cb45c302 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_IntegrateUTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_IntegrateUTest.C @@ -2,7 +2,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MBMesh_ExtrapolateUTest.C b/src/Infrastructure/Mesh/tests/ESMCI_MBMesh_ExtrapolateUTest.C index f421fb835e..12d30d722a 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MBMesh_ExtrapolateUTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MBMesh_ExtrapolateUTest.C @@ -2,7 +2,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MBMesh_UtilUTest.C b/src/Infrastructure/Mesh/tests/ESMCI_MBMesh_UtilUTest.C index 16d14bc06f..9bcd59c067 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MBMesh_UtilUTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MBMesh_UtilUTest.C @@ -2,7 +2,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MCT.C b/src/Infrastructure/Mesh/tests/ESMCI_MCT.C index f45c928735..a7d80b4fa9 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MCT.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MCT.C @@ -1,7 +1,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MCTGen.C b/src/Infrastructure/Mesh/tests/ESMCI_MCTGen.C index d5d98e8d60..bf82fb164b 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MCTGen.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MCTGen.C @@ -2,7 +2,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MeshCapRegridUTest.C b/src/Infrastructure/Mesh/tests/ESMCI_MeshCapRegridUTest.C index 2da816e028..928b5cdbf1 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MeshCapRegridUTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MeshCapRegridUTest.C @@ -1,7 +1,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MeshCapUTest.C b/src/Infrastructure/Mesh/tests/ESMCI_MeshCapUTest.C index 542388b1e2..aa17e894c5 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MeshCapUTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MeshCapUTest.C @@ -1,7 +1,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MeshMOABUTest.C b/src/Infrastructure/Mesh/tests/ESMCI_MeshMOABUTest.C index b5d9168c6b..3b64547bcb 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MeshMOABUTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MeshMOABUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MeshTestGenPL.C b/src/Infrastructure/Mesh/tests/ESMCI_MeshTestGenPL.C index 24b0dcf75c..40e6af42da 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MeshTestGenPL.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MeshTestGenPL.C @@ -2,7 +2,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_MeshUTest.C b/src/Infrastructure/Mesh/tests/ESMCI_MeshUTest.C index 957aef8385..467be2029c 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_MeshUTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_MeshUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_NearestUTest.C b/src/Infrastructure/Mesh/tests/ESMCI_NearestUTest.C index 197acfd218..34e35e1355 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_NearestUTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_NearestUTest.C @@ -2,7 +2,7 @@ //============================================================================== // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMCI_Proj4UTest.C b/src/Infrastructure/Mesh/tests/ESMCI_Proj4UTest.C index b316696c12..ad2c50940e 100644 --- a/src/Infrastructure/Mesh/tests/ESMCI_Proj4UTest.C +++ b/src/Infrastructure/Mesh/tests/ESMCI_Proj4UTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Mesh/tests/ESMC_MeshUTest.c b/src/Infrastructure/Mesh/tests/ESMC_MeshUTest.c new file mode 100644 index 0000000000..3e01c19dfe --- /dev/null +++ b/src/Infrastructure/Mesh/tests/ESMC_MeshUTest.c @@ -0,0 +1,419 @@ +// $Id$ +// +// Earth System Modeling Framework +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, +// Massachusetts Institute of Technology, Geophysical Fluid Dynamics +// Laboratory, University of Michigan, National Centers for Environmental +// Prediction, Los Alamos National Laboratory, Argonne National Laboratory, +// NASA Goddard Space Flight Center. +// Licensed under the University of Illinois-NCSA License. +// +//============================================================================== + +#include +#include +#include + +// ESMF header +#include "ESMC.h" + +// ESMF Test header +#include "ESMC_Test.h" + +//============================================================================== +//BOP +// !PROGRAM: ESMC_MeshUTest - Check ESMC_Mesh functionality +// +// !DESCRIPTION: +// +//EOP +//----------------------------------------------------------------------------- + +int main(void){ + + char name[80]; + char failMsg[80]; + int result = 0; + int rc, localrc; + bool correct; + ESMC_Mesh mesh; + + + int numNodes; + int *nodeIds; + double *nodeCoords; + int *nodeOwners; + + int numElems; + int *elemIds; + int *elemTypes; + int *elemConn; + int localPet, petCount; + + ESMC_VM vm; + + + //---------------------------------------------------------------------------- + ESMC_TestStart(__FILE__, __LINE__, 0); + //---------------------------------------------------------------------------- + + // Init to success + rc=ESMF_SUCCESS; + + // Get parallel information + vm=ESMC_VMGetGlobal(&localrc); + if (localrc != ESMF_SUCCESS) rc=ESMF_FAILURE; + + localrc=ESMC_VMGet(vm, &localPet, &petCount, (int *)NULL, (MPI_Comm *)NULL, (int *)NULL, (int *)NULL); + if (localrc != ESMF_SUCCESS) rc=ESMF_FAILURE; + + //---------------------------------------------------------------------------- + //NEX_UTest + // Test creating a 3D Mesh in C (Support issue #440) + strcpy(name, "Test creating a 3D Mesh in C"); + strcpy(failMsg, "Did not return ESMF_SUCCESS"); + + // Create Mesh + enum ESMC_CoordSys_Flag local_coordSys=ESMC_COORDSYS_CART; + mesh = ESMC_MeshCreate(3,3,&local_coordSys,&localrc); + if (localrc != ESMF_SUCCESS) rc=ESMF_FAILURE; + + // Set up 3D Mesh information + if (petCount == 1) { + // Set number of nodes + numNodes=18; + + // Allocate and fill the node id array. + nodeIds = (int *) malloc (numNodes * sizeof (int)); + nodeIds[0]=1; nodeIds[1]=2; nodeIds[2]=3; + nodeIds[3]=4; nodeIds[4]=5; nodeIds[5]=6; + nodeIds[6]=7; nodeIds[7]=8; nodeIds[8]=9; + nodeIds[9]=10; nodeIds[10]=11; nodeIds[11]=12; + nodeIds[12]=13; nodeIds[13]=14; nodeIds[14]=15; + nodeIds[15]=16; nodeIds[16]=17; nodeIds[17]=18; + + // Allocate and fill node coordinate array. + nodeCoords = (double *) malloc (3*numNodes * sizeof (double)); + nodeCoords[0]=0.0; nodeCoords[1]=0.0; nodeCoords[2]=0.0; // Node 1 + nodeCoords[3]=1.0; nodeCoords[4]=0.0; nodeCoords[5]=0.0; // Node 2 + nodeCoords[6]=2.0; nodeCoords[7]=0.0; nodeCoords[8]=0.0; // Node 3 + nodeCoords[9]=0.0; nodeCoords[10]=1.0; nodeCoords[11]=0.0; // Node 4 + nodeCoords[12]=1.0; nodeCoords[13]=1.0; nodeCoords[14]=0.0; // Node 5 + nodeCoords[15]=2.0; nodeCoords[16]=1.0; nodeCoords[17]=0.0; // Node 6 + nodeCoords[18]=0.0; nodeCoords[19]=2.0; nodeCoords[20]=0.0; // Node 7 + nodeCoords[21]=1.0; nodeCoords[22]=2.0; nodeCoords[23]=0.0; // Node 8 + nodeCoords[24]=2.0; nodeCoords[25]=2.0; nodeCoords[26]=0.0; // Node 9 + nodeCoords[27]=0.0; nodeCoords[28]=0.0; nodeCoords[29]=1.0; // Node 10 + nodeCoords[30]=1.0; nodeCoords[31]=0.0; nodeCoords[32]=1.0; // Node 11 + nodeCoords[33]=2.0; nodeCoords[34]=0.0; nodeCoords[35]=1.0; // Node 12 + nodeCoords[36]=0.0; nodeCoords[37]=1.0; nodeCoords[38]=1.0; // Node 13 + nodeCoords[39]=1.0; nodeCoords[40]=1.0; nodeCoords[41]=1.0; // Node 14 + nodeCoords[42]=2.0; nodeCoords[43]=1.0; nodeCoords[44]=1.0; // Node 15 + nodeCoords[45]=0.0; nodeCoords[46]=2.0; nodeCoords[47]=1.0; // Node 16 + nodeCoords[48]=1.0; nodeCoords[49]=2.0; nodeCoords[50]=1.0; // Node 17 + nodeCoords[51]=2.0; nodeCoords[52]=2.0; nodeCoords[53]=1.0; // Node 18 + + // Allocate and fill the node owner array. + // Since this Mesh is all on PET 0, it's just set to all 0. + nodeOwners = (int *) malloc (numNodes * sizeof (int)); + for (int i=0; i alarms; + std::vector clocks; // //EOP //------------------------------------------------------------------------- }; // end class Alarm + const int SAVEDCURRENT=0; + const int SAVESIZE=2; // Note: though seemingly redundant with the friend declarations within // the class definition above, the following declarations are necessary @@ -288,13 +293,9 @@ class Alarm { Alarm *ESMCI_alarmCreate(int nameLen, const char* name=0, - Clock* clock=0, - Time* ringTime=0, - TimeInterval* ringInterval=0, - Time* stopTime=0, - TimeInterval* ringDuration=0, - int* ringTimeStepCount=0, - Time* refTime=0, + Clock* clock=0, + Time* ringTime=0, + TimeInterval* ringInterval=0, bool* enabled=0, bool* sticky=0, int* rc=0); diff --git a/src/Infrastructure/TimeMgr/include/ESMCI_BaseTime.h b/src/Infrastructure/TimeMgr/include/ESMCI_BaseTime.h index c801951bd2..41b3581832 100644 --- a/src/Infrastructure/TimeMgr/include/ESMCI_BaseTime.h +++ b/src/Infrastructure/TimeMgr/include/ESMCI_BaseTime.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -180,6 +180,17 @@ class BaseTime : public Fraction { // it is a fraction ! // internal validation int validate(const char *options=0) const; + // Check if BaseTime hasn't been initialized yet. + // This was added to avoid going through validate and dumping the error message into the logs for an unset basetime + // in TimeSet(). + // Right now this mimics validate() in that it checks for a 0 denominator in the fraction. This works because + // the entire structure is init to 0 on the F90 level via ESMF_TimeType.F90 and setting a 0 denominator in Time after that + // will result in an error due to the validate() that occurs after the BaseTime set in TimeSet. + // + bool uninit() { + return (getd() == 0); + } + // for testing/debugging int print(const char *options=0) const; diff --git a/src/Infrastructure/TimeMgr/include/ESMCI_Calendar.h b/src/Infrastructure/TimeMgr/include/ESMCI_Calendar.h index 39512ca647..231dcf5807 100644 --- a/src/Infrastructure/TimeMgr/include/ESMCI_Calendar.h +++ b/src/Infrastructure/TimeMgr/include/ESMCI_Calendar.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/include/ESMCI_Clock.h b/src/Infrastructure/TimeMgr/include/ESMCI_Clock.h index bd498f805f..7d6bcd1787 100644 --- a/src/Infrastructure/TimeMgr/include/ESMCI_Clock.h +++ b/src/Infrastructure/TimeMgr/include/ESMCI_Clock.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -197,7 +197,7 @@ namespace ESMCI{ int syncToRealTime(void); // TMG3.4.5 // (see Time::SyncToRealTime() - // to suuport copying of the alarmList + // to support copying of the alarmList Clock& operator=(const Clock &); bool operator==(const Clock &) const; @@ -241,8 +241,8 @@ namespace ESMCI{ // friend to allocate and initialize alarm from heap // (needs access to clock current time to initialize alarm ring time) friend Alarm *ESMCI_alarmCreate(int, const char*, Clock*, - Time*, TimeInterval*, Time*, - TimeInterval*, int*, Time*, bool*, + Time*, + TimeInterval*, bool*, bool*, int*); // friend function to copy an alarm diff --git a/src/Infrastructure/TimeMgr/include/ESMCI_Time.h b/src/Infrastructure/TimeMgr/include/ESMCI_Time.h index 8198fe03fa..ca8a8f9f47 100644 --- a/src/Infrastructure/TimeMgr/include/ESMCI_Time.h +++ b/src/Infrastructure/TimeMgr/include/ESMCI_Time.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/include/ESMCI_TimeInterval.h b/src/Infrastructure/TimeMgr/include/ESMCI_TimeInterval.h index cfcb8b152a..633c6d4575 100644 --- a/src/Infrastructure/TimeMgr/include/ESMCI_TimeInterval.h +++ b/src/Infrastructure/TimeMgr/include/ESMCI_TimeInterval.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/include/ESMC_Calendar.h b/src/Infrastructure/TimeMgr/include/ESMC_Calendar.h index 013b08e8a1..ec88058753 100644 --- a/src/Infrastructure/TimeMgr/include/ESMC_Calendar.h +++ b/src/Infrastructure/TimeMgr/include/ESMC_Calendar.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/include/ESMC_Clock.h b/src/Infrastructure/TimeMgr/include/ESMC_Clock.h index a02ada8beb..c906868388 100644 --- a/src/Infrastructure/TimeMgr/include/ESMC_Clock.h +++ b/src/Infrastructure/TimeMgr/include/ESMC_Clock.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/include/ESMC_Time.h b/src/Infrastructure/TimeMgr/include/ESMC_Time.h index acc681337f..2f3732081e 100644 --- a/src/Infrastructure/TimeMgr/include/ESMC_Time.h +++ b/src/Infrastructure/TimeMgr/include/ESMC_Time.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/include/ESMC_TimeInterval.h b/src/Infrastructure/TimeMgr/include/ESMC_TimeInterval.h index 2afc924f9c..38ca52a31a 100644 --- a/src/Infrastructure/TimeMgr/include/ESMC_TimeInterval.h +++ b/src/Infrastructure/TimeMgr/include/ESMC_TimeInterval.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/include/ESMF_TimeMgr.inc b/src/Infrastructure/TimeMgr/include/ESMF_TimeMgr.inc index 61c98ad2cd..c76a303088 100644 --- a/src/Infrastructure/TimeMgr/include/ESMF_TimeMgr.inc +++ b/src/Infrastructure/TimeMgr/include/ESMF_TimeMgr.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMCI_Alarm_F.C b/src/Infrastructure/TimeMgr/interface/ESMCI_Alarm_F.C index 57c1af60a2..eca99a410d 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMCI_Alarm_F.C +++ b/src/Infrastructure/TimeMgr/interface/ESMCI_Alarm_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -41,8 +41,6 @@ extern "C" { void FTN_X(c_esmc_alarmcreatenew)(Alarm **ptr, int *nameLen, const char *name, Clock **clock, Time *ringTime, TimeInterval *ringInterval, - Time *stopTime, TimeInterval *ringDuration, - int *ringTimeStepCount, Time *refTime, bool *enabled, bool *sticky, int *status, ESMCI_FortranStrLenArg name_l) { *ptr = ESMCI_alarmCreate( @@ -52,10 +50,6 @@ extern "C" { *clock, // required. ESMC_NOT_PRESENT_FILTER(ringTime), ESMC_NOT_PRESENT_FILTER(ringInterval), - ESMC_NOT_PRESENT_FILTER(stopTime), - ESMC_NOT_PRESENT_FILTER(ringDuration), - ESMC_NOT_PRESENT_FILTER(ringTimeStepCount), - ESMC_NOT_PRESENT_FILTER(refTime), ESMC_NOT_PRESENT_FILTER(enabled), ESMC_NOT_PRESENT_FILTER(sticky), ESMC_NOT_PRESENT_FILTER(status) ); @@ -77,8 +71,6 @@ extern "C" { void FTN_X(c_esmc_alarmset)(Alarm **ptr, int *nameLen, const char *name, Clock **clock, Time *ringTime, TimeInterval *ringInterval, - Time *stopTime, TimeInterval *ringDuration, - int *ringTimeStepCount, Time *refTime, bool *ringing, bool *enabled, bool *sticky, int *status, ESMCI_FortranStrLenArg name_l) { @@ -90,28 +82,33 @@ extern "C" { ESMC_NOT_PRESENT_FILTER(clock), ESMC_NOT_PRESENT_FILTER(ringTime), ESMC_NOT_PRESENT_FILTER(ringInterval), - ESMC_NOT_PRESENT_FILTER(stopTime), - ESMC_NOT_PRESENT_FILTER(ringDuration), - ESMC_NOT_PRESENT_FILTER(ringTimeStepCount), - ESMC_NOT_PRESENT_FILTER(refTime), ESMC_NOT_PRESENT_FILTER(ringing), ESMC_NOT_PRESENT_FILTER(enabled), ESMC_NOT_PRESENT_FILTER(sticky) ); if (ESMC_PRESENT(status)) *status = rc; } + int get(int nameLen, + int *tempNameLen, + char *tempName=0, + Clock **clock=0, + Time *ringTime=0, + TimeInterval *ringInterval=0, + bool *ringing=0, + bool *enabled=0, // (TMG 4.1, 4.7) + bool *sticky=0, + bool *ringerIsOn=0); void FTN_X(c_esmc_alarmget)(Alarm **ptr, int *nameLen, int *tempNameLen, char *tempName, Clock **clock, - Time *ringTime, Time *prevRingTime, - TimeInterval *ringInterval, Time *stopTime, - TimeInterval *ringDuration, int *ringTimeStepCount, - int *timeStepRingingCount, Time *ringBegin, - Time *ringEnd, Time *refTime, bool *ringing, - bool *ringingOnPrevTimeStep, bool *enabled, bool *sticky, + Time *ringTime, + TimeInterval *ringInterval, + bool *ringing, + bool *enabled, bool *sticky, bool *ringerIsOn, int *status, ESMCI_FortranStrLenArg tempName_l) { ESMF_CHECK_POINTER(*ptr, status) + //if(sticky != 0) printf("ptr address %x => %d \n", sticky, (int)*sticky); int rc = (*ptr)->Alarm::get( // always presnet internal arguments *nameLen, @@ -119,19 +116,29 @@ extern "C" { tempName, ESMC_NOT_PRESENT_FILTER(clock), ESMC_NOT_PRESENT_FILTER(ringTime), - ESMC_NOT_PRESENT_FILTER(prevRingTime), ESMC_NOT_PRESENT_FILTER(ringInterval), - ESMC_NOT_PRESENT_FILTER(stopTime), - ESMC_NOT_PRESENT_FILTER(ringDuration), - ESMC_NOT_PRESENT_FILTER(ringTimeStepCount), - ESMC_NOT_PRESENT_FILTER(timeStepRingingCount), - ESMC_NOT_PRESENT_FILTER(ringBegin), - ESMC_NOT_PRESENT_FILTER(ringEnd), - ESMC_NOT_PRESENT_FILTER(refTime), ESMC_NOT_PRESENT_FILTER(ringing), - ESMC_NOT_PRESENT_FILTER(ringingOnPrevTimeStep), ESMC_NOT_PRESENT_FILTER(enabled), - ESMC_NOT_PRESENT_FILTER(sticky) ); + ESMC_NOT_PRESENT_FILTER(sticky), + ESMC_NOT_PRESENT_FILTER(ringerIsOn) ); + if(sticky != 0) { + if(*sticky) *(int *)sticky = 1; + else *(int *)sticky = 0; + //printf("ptr address %x => %d \n", sticky, *(int *)sticky); + } + if(ringing != 0) { + if(*ringing) *(int *)ringing = 1; + else *(int *)ringing = 0; + //printf("ptr address %x => %d \n", ringing, *(int *)ringing); + } + if(enabled != 0) { + if(*enabled) *(int *)enabled = 1; + else *(int *)enabled = 0; + } + if(ringerIsOn != 0) { + if(*ringerIsOn) *(int *)ringerIsOn = 1; + else *(int *)ringerIsOn = 0; + } if (ESMC_PRESENT(status)) *status = rc; } diff --git a/src/Infrastructure/TimeMgr/interface/ESMCI_BaseTime_F.C b/src/Infrastructure/TimeMgr/interface/ESMCI_BaseTime_F.C index c08f7f6022..3065185585 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMCI_BaseTime_F.C +++ b/src/Infrastructure/TimeMgr/interface/ESMCI_BaseTime_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMCI_Calendar_F.C b/src/Infrastructure/TimeMgr/interface/ESMCI_Calendar_F.C index ceabdafbee..8503b07bee 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMCI_Calendar_F.C +++ b/src/Infrastructure/TimeMgr/interface/ESMCI_Calendar_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMCI_Clock_F.C b/src/Infrastructure/TimeMgr/interface/ESMCI_Clock_F.C index fc9452213c..7ba1c1089d 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMCI_Clock_F.C +++ b/src/Infrastructure/TimeMgr/interface/ESMCI_Clock_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMCI_TimeInterval_F.C b/src/Infrastructure/TimeMgr/interface/ESMCI_TimeInterval_F.C index cd1482f970..b165e99d75 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMCI_TimeInterval_F.C +++ b/src/Infrastructure/TimeMgr/interface/ESMCI_TimeInterval_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMCI_Time_F.C b/src/Infrastructure/TimeMgr/interface/ESMCI_Time_F.C index 4652d89e42..141ba29a2d 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMCI_Time_F.C +++ b/src/Infrastructure/TimeMgr/interface/ESMCI_Time_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMC_Calendar.C b/src/Infrastructure/TimeMgr/interface/ESMC_Calendar.C index b52d16db06..ece397653e 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMC_Calendar.C +++ b/src/Infrastructure/TimeMgr/interface/ESMC_Calendar.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMC_Clock.C b/src/Infrastructure/TimeMgr/interface/ESMC_Clock.C index dc45baed74..77242aa689 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMC_Clock.C +++ b/src/Infrastructure/TimeMgr/interface/ESMC_Clock.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMC_Time.C b/src/Infrastructure/TimeMgr/interface/ESMC_Time.C index 6817b41c1e..9e982f15f7 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMC_Time.C +++ b/src/Infrastructure/TimeMgr/interface/ESMC_Time.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMC_TimeInterval.C b/src/Infrastructure/TimeMgr/interface/ESMC_TimeInterval.C index 9aab635658..c7b8a2d734 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMC_TimeInterval.C +++ b/src/Infrastructure/TimeMgr/interface/ESMC_TimeInterval.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_Alarm.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_Alarm.F90 index 0f93560799..5071c6e479 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_Alarm.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_Alarm.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -296,8 +296,8 @@ module ESMF_AlarmMod ! !INTERFACE: ! Private name; call using ESMF_AlarmCreate() function ESMF_AlarmCreateNew(clock, keywordEnforcer, & - ringTime, ringInterval, stopTime, ringDuration, ringTimeStepCount, & - refTime, enabled, sticky, name, rc) + ringTime, ringInterval, & + enabled, sticky, name, rc) ! !RETURN VALUE: type(ESMF_Alarm) :: ESMF_AlarmCreateNew @@ -307,10 +307,6 @@ function ESMF_AlarmCreateNew(clock, keywordEnforcer, & type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below type(ESMF_Time), intent(in), optional :: ringTime type(ESMF_TimeInterval), intent(in), optional :: ringInterval - type(ESMF_Time), intent(in), optional :: stopTime - type(ESMF_TimeInterval), intent(in), optional :: ringDuration - integer, intent(in), optional :: ringTimeStepCount - type(ESMF_Time), intent(in), optional :: refTime logical, intent(in), optional :: enabled logical, intent(in), optional :: sticky character (len=*), intent(in), optional :: name @@ -336,33 +332,15 @@ function ESMF_AlarmCreateNew(clock, keywordEnforcer, & ! \item[{[ringTime]}] ! The ring time for a one-shot alarm or the first ring time for a ! repeating (interval) alarm. Must specify at least one of ringTime -! or ringInterval. +! or ringInterval. ringTime defaults to clock's current time if +! not specified. ! \item[{[ringInterval]}] -! The ring interval for repeating (interval) alarms. If -! {\tt ringTime} is not also specified (first ring time), it will be -! calculated as the {\tt clock}'s current time plus {\tt ringInterval}. -! Must specify at least one of ringTime or ringInterval. -! \item[{[stopTime]}] -! The stop time for repeating (interval) alarms. If not -! specified, an interval alarm will repeat forever. -! \item[{[ringDuration]}] -! The absolute ring duration. If not sticky (see argument below), -! alarms rings for ringDuration, then turns itself off. Default is -! zero (unused). Mutually exclusive with ringTimeStepCount (below); -! used only if set to a non-zero duration and ringTimeStepCount is 1 -! (see below). -! See also {\tt ESMF\_AlarmSticky()}, {\tt ESMF\_AlarmNotSticky()}. -! \item[{[ringTimeStepCount]}] -! The relative ring duration. If not sticky (see argument below), -! alarms rings for ringTimeStepCount, then turns itself off. -! Default is 1: a non-sticky alarm will ring for one clock time step. -! Mutually exclusive with ringDuration (above); used if -! ringTimeStepCount > 1. If ringTimeStepCount is 1 (default) and -! ringDuration is non-zero, ringDuration is used (see above), otherwise -! ringTimeStepCount is used. -! See also {\tt ESMF\_AlarmSticky()}, {\tt ESMF\_AlarmNotSticky()}. -! \item[{[refTime]}] -! The reference (i.e. base) time for an interval alarm. +! The ring interval for repeating (interval) alarms. +! Must specify at least one of ringTime or ringInterval. If ringInterval +! is not specified, the alarm will only ring at ringTime effectively +! making the alarm a one shot alarm. When both ringTime and ringInterval +! are specified, alarm rings intermittently starting at ringTime every +! ringInterval. ! \item[{[enabled]}] ! Sets the enabled state; default is on (true). If disabled, ! an alarm will not function at all. @@ -406,9 +384,6 @@ function ESMF_AlarmCreateNew(clock, keywordEnforcer, & ESMF_INIT_CHECK_DEEP(ESMF_ClockGetInit,clock,rc) ESMF_INIT_CHECK_SHALLOW(ESMF_TimeGetInit,ringTime,rc) ESMF_INIT_CHECK_SHALLOW(ESMF_TimeIntervalGetInit,ringInterval,rc) - ESMF_INIT_CHECK_SHALLOW(ESMF_TimeGetInit,stopTime,rc) - ESMF_INIT_CHECK_SHALLOW(ESMF_TimeIntervalGetInit,ringDuration,rc) - ESMF_INIT_CHECK_SHALLOW(ESMF_TimeGetInit,refTime,rc) ! get length of given name for C++ validation if (present(name)) then @@ -417,8 +392,7 @@ function ESMF_AlarmCreateNew(clock, keywordEnforcer, & ! invoke C to C++ entry point to allocate and initialize new alarm call c_ESMC_AlarmCreateNew(ESMF_AlarmCreateNew, nameLen, name, clock, & - ringTime, ringInterval, stopTime, & - ringDuration, ringTimeStepCount, refTime, & + ringTime, ringInterval, & enabled, sticky, localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return @@ -660,28 +634,19 @@ end subroutine ESMF_AlarmEnable ! !INTERFACE: subroutine ESMF_AlarmGet(alarm, keywordEnforcer, & - clock, ringTime, prevRingTime, ringInterval, stopTime, ringDuration, & - ringTimeStepCount, timeStepRingingCount, ringBegin, ringEnd, & - refTime, ringing, ringingOnPrevTimeStep, enabled, sticky, name, rc) + clock, ringTime, ringInterval, & + ringing, enabled, sticky, ringerIsOn, name, rc) ! !ARGUMENTS: type(ESMF_Alarm), intent(in) :: alarm type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below type(ESMF_Clock), intent(out), optional :: clock type(ESMF_Time), intent(out), optional :: ringTime - type(ESMF_Time), intent(out), optional :: prevRingTime type(ESMF_TimeInterval), intent(out), optional :: ringInterval - type(ESMF_Time), intent(out), optional :: stopTime - type(ESMF_TimeInterval), intent(out), optional :: ringDuration - integer, intent(out), optional :: ringTimeStepCount - integer, intent(out), optional :: timeStepRingingCount - type(ESMF_Time), intent(out), optional :: ringBegin - type(ESMF_Time), intent(out), optional :: ringEnd - type(ESMF_Time), intent(out), optional :: refTime logical, intent(out), optional :: ringing - logical, intent(out), optional :: ringingOnPrevTimeStep logical, intent(out), optional :: enabled logical, intent(out), optional :: sticky + logical, intent(out), optional :: ringerIsOn character (len=*), intent(out), optional :: name integer, intent(out), optional :: rc @@ -701,51 +666,21 @@ subroutine ESMF_AlarmGet(alarm, keywordEnforcer, & ! \item[{[clock]}] ! The associated clock. ! \item[{[ringTime]}] -! The ring time for a one-shot alarm or the next repeating alarm. -! \item[{[prevRingTime]}] -! The previous ring time. +! The associated clock's time at which the alarm is ringing. ! \item[{[ringInterval]}] ! The ring interval for repeating (interval) alarms. -! \item[{[stopTime]}] -! The stop time for repeating (interval) alarms. -! \item[{[ringDuration]}] -! The ring duration. Mutually exclusive with -! ringTimeStepCount (see below). -! \item[{[ringTimeStepCount]}] -! The number of time steps comprising the ring duration. Mutually -! exclusive with ringDuration (see above). -! \item[{[timeStepRingingCount]}] -! The number of time steps for which the alarm has been ringing thus -! far. Used internally for tracking ringTimeStepCount ring -! durations (see above). Mutually exclusive with ringBegin -! (see below). Increments in {\tt ESMF\_DIRECTION\_FORWARD} and -! decrements in {\tt ESMF\_DIRECTION\_REVERSE}; -! see Section~\ref{sec:Clock}. -! \item[{[ringBegin]}] -! The time when the alarm began ringing. Used internally for tracking -! ringDuration (see above). Mutually exclusive with -! timeStepRingingCount (see above). -! \item[{[ringEnd]}] -! \begin{sloppypar} -! The time when the alarm ended ringing. Used internally for -! re-ringing alarm in {\tt ESMF\_DIRECTION\_REVERSE}. -! \end{sloppypar} -! \item[{[refTime]}] -! The reference (i.e. base) time for an interval alarm. ! \item[{[ringing]}] ! The current ringing state. ! See also {\tt ESMF\_AlarmRingerOn()}, {\tt ESMF\_AlarmRingerOff()}. -! \item[{[ringingOnPrevTimeStep]}] -! \begin{sloppypar} -! The ringing state upon the previous time step. Same as -! {\tt ESMF\_AlarmWasPrevRinging()}. -! \end{sloppypar} ! \item[{[enabled]}] ! The enabled state. ! See also {\tt ESMF\_AlarmEnable()}, {\tt ESMF\_AlarmDisable()}. ! \item[{[sticky]}] ! The sticky state. ! See also {\tt ESMF\_AlarmSticky()}, {\tt ESMF\_AlarmNotSticky()}. +! \item[{[ringerIsOn]}] +! The ringer state. +! See also {\tt ESMF\_AlarmRingerOn()}, {\tt ESMF\_AlarmRingerOff()}. ! \item[{[name]}] ! The name of this alarm. ! \item[{[rc]}] @@ -779,10 +714,8 @@ subroutine ESMF_AlarmGet(alarm, keywordEnforcer, & ! invoke C to C++ entry point call c_ESMC_AlarmGet(alarm, nameLen, tempNameLen, tempName, clock, & - ringTime, prevRingTime, ringInterval, stopTime, & - ringDuration, ringTimeStepCount, & - timeStepRingingCount, ringBegin, ringEnd, refTime, & - ringing, ringingOnPrevTimeStep, enabled, sticky, localrc) + ringTime, ringInterval, & + ringing, enabled, sticky, ringerIsOn, localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return @@ -795,13 +728,7 @@ subroutine ESMF_AlarmGet(alarm, keywordEnforcer, & ! mark outputs as successfully initialized call ESMF_ClockSetInitCreated(clock) call ESMF_TimeInit(ringTime) - call ESMF_TimeInit(prevRingTime) call ESMF_TimeIntervalInit(ringInterval) - call ESMF_TimeInit(stopTime) - call ESMF_TimeIntervalInit(ringDuration) - call ESMF_TimeInit(ringBegin) - call ESMF_TimeInit(ringEnd) - call ESMF_TimeInit(refTime) ! Return success if (present(rc)) rc = ESMF_SUCCESS @@ -1340,8 +1267,8 @@ end subroutine ESMF_AlarmRingerOn ! !INTERFACE: subroutine ESMF_AlarmSet(alarm, keywordEnforcer, & - clock, ringTime, ringInterval, stopTime, ringDuration, & - ringTimeStepCount, refTime, ringing, enabled, sticky, name, rc) + clock, ringTime, ringInterval, & + ringing, enabled, sticky, name, rc) ! !ARGUMENTS: type(ESMF_Alarm), intent(inout) :: alarm @@ -1349,10 +1276,6 @@ subroutine ESMF_AlarmSet(alarm, keywordEnforcer, & type(ESMF_Clock), intent(in), optional :: clock type(ESMF_Time), intent(in), optional :: ringTime type(ESMF_TimeInterval), intent(in), optional :: ringInterval - type(ESMF_Time), intent(in), optional :: stopTime - type(ESMF_TimeInterval), intent(in), optional :: ringDuration - integer, intent(in), optional :: ringTimeStepCount - type(ESMF_Time), intent(in), optional :: refTime logical, intent(in), optional :: ringing logical, intent(in), optional :: enabled logical, intent(in), optional :: sticky @@ -1446,9 +1369,6 @@ subroutine ESMF_AlarmSet(alarm, keywordEnforcer, & ESMF_INIT_CHECK_DEEP(ESMF_ClockGetInit,clock,rc) ESMF_INIT_CHECK_SHALLOW(ESMF_TimeGetInit,ringTime,rc) ESMF_INIT_CHECK_SHALLOW(ESMF_TimeIntervalGetInit,ringInterval,rc) - ESMF_INIT_CHECK_SHALLOW(ESMF_TimeGetInit,stopTime,rc) - ESMF_INIT_CHECK_SHALLOW(ESMF_TimeIntervalGetInit,ringDuration,rc) - ESMF_INIT_CHECK_SHALLOW(ESMF_TimeGetInit,refTime,rc) ! get length of given name for C++ validation if (present(name)) then @@ -1457,8 +1377,7 @@ subroutine ESMF_AlarmSet(alarm, keywordEnforcer, & ! invoke C to C++ entry point call c_ESMC_AlarmSet(alarm, nameLen, name, clock, ringTime, & - ringInterval, stopTime, ringDuration, & - ringTimeStepCount, refTime, ringing, & + ringInterval, ringing, & enabled, sticky, localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_AlarmType.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_AlarmType.F90 index 4de3d6f14c..53c82a0991 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_AlarmType.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_AlarmType.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_Calendar.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_Calendar.F90 index 11fdc3cced..24dcc7a356 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_Calendar.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_Calendar.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 index eb1ef8e9bf..e7f2053388 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_Clock.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -51,7 +51,8 @@ module ESMF_ClockMod use ESMF_TimeMod use ESMF_TimeTypeMod use ESMF_AlarmTypeMod - + use ESMF_AlarmMod + use ESMF_VMMod ! type definition for this module use ESMF_ClockTypeMod @@ -113,6 +114,11 @@ module ESMF_ClockMod private ESMF_ClockCreateNew private ESMF_ClockCreateCopy +! !PUBLIC MEMBER FUNCTIONS: + public ESMF_TimeDebug + public ESMF_TimeIntervalDebug + public ESMF_AlarmDebug + public ESMF_ClockDebug !------------------------------------------------------------------------------ ! The following line turns the CVS identifier string into a printable variable. character(*), parameter, private :: version = & @@ -2062,5 +2068,141 @@ impure elemental function ESMF_ClockNE(clock1, clock2) end function ESMF_ClockNE !------------------------------------------------------------------------------ +#undef ESMF_METHOD +#define ESMF_METHOD "ESMF_TimeIntervalDebug()" + + subroutine ESMF_TimeIntervalDebug(TimeIV, name, rc) + type (ESMF_TimeInterval), intent(in) :: TimeIV + character(len=*), intent(in) :: name + integer, intent(out) :: rc + + type (ESMF_VM) :: vm + integer :: lpet, npet, yy, mm, dd, d, h, m, s + + rc = ESMF_SUCCESS + call ESMF_VMGetCurrent(vm, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call ESMF_VMGet(vm, localpet =lpet, petcount=npet, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call ESMF_TimeIntervalGet(TimeIV, yy=yy, mm=mm, d=d, h=h, m=m, s=s, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + if(lpet == 0) then + write(*, '(A, A, 2I4, I10, 3I4)') 'TimeInterval Debug Printout: ', name, yy, mm, d, h, m, s + endif + + end subroutine ESMF_TimeIntervalDebug + +#undef ESMF_METHOD +#define ESMF_METHOD "ESMF_TimeDebug()" + subroutine ESMF_TimeDebug(Time, name, rc) + type (ESMF_Time), intent(in) :: Time + character(len=*), intent(in) :: name + integer, intent(out) :: rc + + type (ESMF_VM) :: vm + integer :: lpet, npet, yy, mm, dd, d, h, m, s + + rc = ESMF_SUCCESS + call ESMF_VMGetCurrent(vm, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call ESMF_VMGet(vm, localpet =lpet, petcount=npet, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call ESMF_TimeGet(Time, yy=yy, mm=mm, dd=dd, h=h, m=m, s=s, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + if(lpet == 0) then + write(*, '(A, A, 6I4)') 'Time Debug Printout: ', name, yy, mm, dd, h, m, s + endif + + end subroutine ESMF_TimeDebug + +#undef ESMF_METHOD +#define ESMF_METHOD "ESMF_AlarmDebug()" + subroutine ESMF_AlarmDebug(alarm, name, rc) + type (ESMF_Alarm), intent(in) :: alarm + character(len=*), intent(in) :: name + integer, intent(out) :: rc + + type (ESMF_VM) :: vm + integer :: lpet, npet + logical :: ringing, enabled, sticky, ringerIsOn + type (ESMF_Time) :: ringTime + type (ESMF_TimeInterval) :: ringInterval + + rc = ESMF_SUCCESS + + call ESMF_VMGetCurrent(vm, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call ESMF_VMGet(vm, localpet =lpet, petcount=npet, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ringing = .false. + enabled = .false. + sticky = .false. + ringerIsOn = .false. + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, ringerIsOn=ringerIsOn, & + ringTime=ringTime, ringInterval=ringInterval, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + if(lpet == 0) then + write(*, '(A,A)') 'Alarm Debug Printout: ', name + print *, 'ringing = ', ringing + print *, 'enabled = ', enabled + print *, 'sticky = ' , sticky + print *, 'ringerIsOn = ' , ringerIsOn + call ESMF_TimeDebug(ringTime, ' ringTime = ', rc=rc) + call ESMF_TimeIntervalDebug(ringInterval, 'ringInterval', rc=rc) + print *, '' + endif + end subroutine ESMF_AlarmDebug + + subroutine ESMF_ClockDebug(clock, name, rc) + type (ESMF_Clock), intent(in) :: clock + character(len=*), intent(in) :: name + integer, intent(out) :: rc + + type (ESMF_VM) :: vm + integer :: lpet, npet, alarmCount + logical :: ringing, enabled, sticky, ringingOnPrevTimeStep, alarmRinging + type (ESMF_Time) :: currTime, ringTime, prevRingTime, stopTime, ringBegin, ringEnd, ringRef + type (ESMF_TimeInterval) :: ringInterval, ringDuration + + rc = ESMF_SUCCESS + + call ESMF_VMGetCurrent(vm, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call ESMF_VMGet(vm, localpet =lpet, petcount=npet, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call ESMF_ClockGet(clock, currTime=currTime, alarmCount=alarmCount, rc=rc) + if (ESMF_LogFoundError(rc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + if(lpet == 0) then + write(*, '(A, A)') 'Clock Debug Printout: ', name + write(*, *) 'AlarmCount = ', alarmCount + call ESMF_TimeDebug(currTime, ' currTime = ', rc=rc) + write(*, *) '' + endif +end subroutine ESMF_ClockDebug end module ESMF_ClockMod diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_ClockType.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_ClockType.F90 index 35f0f05feb..1bd1f3adc0 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_ClockType.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_ClockType.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_Time.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_Time.F90 index 1f819b50ab..5b565fd8e8 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_Time.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_Time.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 index 1db5625ac9..d96f160f26 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_TimeInterval.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -928,7 +928,10 @@ module ESMF_TimeIntervalMod module procedure ESMF_TimeIntervalSetDurStart module procedure ESMF_TimeIntervalSetDurCal module procedure ESMF_TimeIntervalSetDurCalTyp - + module procedure ESMF_TimeIntervalSetStr + module procedure ESMF_TimeIntervalSetStrStart + module procedure ESMF_TimeIntervalSetStrCal + module procedure ESMF_TimeIntervalSetStrCalTyp ! !DESCRIPTION: ! This interface provides a single entry point for {\tt ESMF\_TimeInterval} ! Set methods. @@ -2763,6 +2766,743 @@ subroutine ESMF_TimeIntervalSetDurCalTyp(timeinterval, calkindflag, & if (present(rc)) rc = ESMF_SUCCESS end subroutine ESMF_TimeIntervalSetDurCalTyp + + !------------------------------------------------------------------------------ + +#undef ESMF_METHOD +#define ESMF_METHOD "ESMF_ParseDurTimeString()" + +! Internal subroutine to parse the time part of an +! ISO duration string and return +! the corresponding numeric time values +subroutine ESMF_ParseDurTimeString(timeintervalString, & + h_r8, m_r8, s_i8, s_r8, rc) + + character(*), intent(in) :: timeIntervalString + real(ESMF_KIND_R8), intent(out) :: h_r8 + real(ESMF_KIND_R8), intent(out) :: m_r8 + integer(ESMF_KIND_I8), intent(out) :: s_i8 + real(ESMF_KIND_R8), intent(out) :: s_r8 + integer, intent(out), optional :: rc + + integer :: localrc + integer :: beg_loc, end_loc + integer :: t_loc + integer :: ioStatus + + ! Init output to 0 + h_r8=0.0 + m_r8=0.0 + s_r8=0.0 + s_i8=0 + + ! Start at the beginning of the string + beg_loc=1 + + ! Look for H (hours), and if it exists process it + ! Use R8 for both real and integer, since R8 can exactly represent I4 + end_loc=INDEX(timeIntervalString,"H") + if (end_loc > 0) then + ! Shift position before Y for end loc + end_loc=end_loc-1 + + ! Make sure that it isn't empty + if (end_loc < beg_loc) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" H value missing in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + ! Read year value + read(timeIntervalString(beg_loc:end_loc), *, ioStat=ioStatus) h_r8 + if (ioStatus /=0) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" An error occurred while reading H value in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + ! New beg_loc is after indicator + beg_loc=end_loc+2 + endif + + ! Look for M (minutes), and if it exists process it + ! Use R8 for both real and integer, since R8 can exactly represent I4 + end_loc=INDEX(timeIntervalString,"M") + if (end_loc > 0) then + ! Shift position before M for end loc + end_loc=end_loc-1 + + ! Make sure that it isn't empty + if (end_loc < beg_loc) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" M value missing in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + ! Read year value + read(timeIntervalString(beg_loc:end_loc), *, ioStat=ioStatus) m_r8 + if (ioStatus /=0) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" An error occurred while reading M value in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + + ! New beg_loc is after indicator + beg_loc=end_loc+2 + endif + + ! Look for S (seconds), and if it exists process it + end_loc=INDEX(timeIntervalString,"S") + if (end_loc > 0) then + ! Shift position before M for end loc + end_loc=end_loc-1 + + ! Make sure that it isn't empty + if (end_loc < beg_loc) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" S value missing in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + ! Read second value depending on if it looks like an integer or a real + if (VERIFY(timeIntervalString(beg_loc:end_loc),"+-0123456789") == 0) then + read(timeIntervalString(beg_loc:end_loc), *, ioStat=ioStatus) s_i8 + else + read(timeIntervalString(beg_loc:end_loc), *, ioStat=ioStatus) s_r8 + endif + if (ioStatus /=0) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" An error occurred while reading S value in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + + ! New beg_loc is after indicator + beg_loc=end_loc+2 + endif + + ! DEBUG OUTPUT + ! write(*,*) "Hour value=",h_r8 + ! write(*,*) "Minute value=",m_r8 + ! write(*,*) "Seconds value=",s_r8 + ! write(*,*) "Seconds value=",s_i8 + + ! Return success + if (present(rc)) rc = ESMF_SUCCESS + +end subroutine ESMF_ParseDurTimeString + + + +!------------------------------------------------------------------------------ +#undef ESMF_METHOD +#define ESMF_METHOD "ESMF_ParseDurDateString()" + +! Internal subroutine to parse the date part of an +! ISO duration string and return +! the corresponding numeric time values +subroutine ESMF_ParseDurDateString(timeintervalString, & + yy_i8, mm_i8, d_i8, d_r8, rc) + + character(*), intent(in) :: timeIntervalString + integer(ESMF_KIND_I8), intent(out) :: yy_i8 + integer(ESMF_KIND_I8), intent(out) :: mm_i8 + integer(ESMF_KIND_I8), intent(out) :: d_i8 + real(ESMF_KIND_R8), intent(out) :: d_r8 + integer, intent(out), optional :: rc + + integer :: localrc + integer :: beg_loc, end_loc + integer :: t_loc + integer :: ioStatus + + ! Init output to 0 + yy_i8=0 + mm_i8=0 + d_i8=0 + d_r8=0.0 + + ! Start at the beginning of the string + beg_loc=1 + + ! Look for Y (year), and if it exists process it + end_loc=INDEX(timeIntervalString,"Y") + if (end_loc > 0) then + ! Shift position before Y for end loc + end_loc=end_loc-1 + + ! Make sure that it isn't empty + if (end_loc < beg_loc) then + Call Esmf_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" Y value missing in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + ! Read year value + read(timeIntervalString(beg_loc:end_loc), *, ioStat=ioStatus) yy_i8 + if (ioStatus /=0) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" An error occurred while reading Y value in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + + ! New beg_loc is after indicator + beg_loc=end_loc+2 + endif + + ! Look for M (month), and if it exists process it + end_loc=INDEX(timeIntervalString,"M") + if (end_loc > 0) then + ! Shift position before M for end loc + end_loc=end_loc-1 + + ! Make sure that it isn't empty + if (end_loc < beg_loc) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" M value missing in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + ! Read year value + read(timeIntervalString(beg_loc:end_loc), *, ioStat=ioStatus) mm_i8 + if (ioStatus /=0) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" An error occurred while reading M value in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + + ! New beg_loc is after indicator + beg_loc=end_loc+2 + endif + + ! Look for D (days), and if it exists process it + end_loc=INDEX(timeIntervalString,"D") + if (end_loc > 0) then + ! Shift position before M for end loc + end_loc=end_loc-1 + + ! Make sure that it isn't empty + if (end_loc < beg_loc) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" D value missing in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + ! Read day value depending on if it looks like an integer or a real + if (VERIFY(timeIntervalString(beg_loc:end_loc),"+-0123456789") == 0) then + read(timeIntervalString(beg_loc:end_loc), *, ioStat=ioStatus) d_i8 + else + read(timeIntervalString(beg_loc:end_loc), *, ioStat=ioStatus) d_r8 + endif + if (ioStatus /=0) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" An error occurred while reading D value in ISO duration string.", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + + ! New beg_loc is after indicator + beg_loc=end_loc+2 + endif + + ! DEBUG OUTPUT + ! write(*,*) "Year value=",yy_i8 + ! write(*,*) "Month value=",mm_i8 + ! write(*,*) "Days value (I8)=",d_i8 + ! write(*,*) "Days value (R8)=",d_r8 + + ! Return success + if (present(rc)) rc = ESMF_SUCCESS + +end subroutine ESMF_ParseDurDateString + + + +!------------------------------------------------------------------------------ +#undef ESMF_METHOD +#define ESMF_METHOD "ESMF_ParseDurString()" + +! Internal subroutine to parse an ISO duration string and return +! the corresponding numeric time values +subroutine ESMF_ParseDurString(timeintervalString, & + yy_i8, mm_i8, d_i8, d_r8, & + h_r8, m_r8, s_i8, s_r8, rc) + + character(*), intent(in) :: timeIntervalString + integer(ESMF_KIND_I8), intent(out) :: yy_i8 + integer(ESMF_KIND_I8), intent(out) :: mm_i8 + integer(ESMF_KIND_I8), intent(out) :: d_i8 + real(ESMF_KIND_R8), intent(out) :: d_r8 + real(ESMF_KIND_R8), intent(out) :: h_r8 + real(ESMF_KIND_R8), intent(out) :: m_r8 + integer(ESMF_KIND_I8), intent(out) :: s_i8 + real(ESMF_KIND_R8), intent(out) :: s_r8 + integer, intent(out), optional :: rc + + integer :: localrc + integer :: beg_loc, end_loc + integer :: t_loc + + ! Init output to 0 + ! NOTE: Need to do all of these here in case date or time parsing isn't done below + yy_i8=0 + mm_i8=0 + d_i8=0 + d_r8=0.0 + h_r8=0.0 + m_r8=0.0 + s_r8=0.0 + s_i8=0 + + ! Make sure P is there and find beginning of string + beg_loc=INDEX(timeIntervalString,"P") + + ! Complain if it doesn't start with P + if (beg_loc < 1) then + call ESMF_LogSetError(rcToCheck=ESMF_RC_ARG_VALUE, & + msg=" ISO 8601 duration strings need to begin with: P", & + ESMF_CONTEXT, rcToReturn=rc) + return + endif + + ! Advance to slot after P + beg_loc=beg_loc+1 + + ! See if T is there and if so where + t_loc=0 + t_loc=INDEX(timeIntervalString,"T") + + ! Figure out end_loc + if (t_loc == 0) then + ! No times, so end is the end of the string + end_loc=LEN(timeIntervalString) + else + ! There are times so end is right before t + end_loc=t_loc-1 + endif + + + ! If not empty, parse just the date part of the string + if (beg_loc <= end_loc) then + call ESMF_ParseDurDateString(timeintervalString(beg_loc:end_loc), & + yy_i8, mm_i8, d_i8, d_r8, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + endif + + + ! If there are times, then parse those + if (t_loc > 0) then + + ! Begin is after t + beg_loc=t_loc+1 + + ! End is end of string + end_loc=LEN(timeIntervalString) + + ! If not empty, parse just the time part of the string + if (beg_loc <= end_loc) then + call ESMF_ParseDurTimeString(timeintervalString(beg_loc:end_loc), & + h_r8, m_r8, s_i8, s_r8, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + endif + endif + + + ! Return success + if (present(rc)) rc = ESMF_SUCCESS + +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 +! \label{API:TimeIntervalSetStr} + +! !INTERFACE: +! Private name; call using ESMF_TimeIntervalSet() + + subroutine ESMF_TimeIntervalSetStr(timeinterval, timeIntervalString, rc) + +! !ARGUMENTS: + type(ESMF_TimeInterval), intent(inout) :: timeinterval + character(*), intent(in) :: timeIntervalString + integer, intent(out), optional :: 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: +! \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 +! \item[d] - the number of days expressed in up to a 64-bit integer or a 64-bit floating point value (double) +! \item[h] - the number of hours expressed in up to a 32-bit integer or a 64-bit floating point value (double) +! \item[m] - the number of minutes expressed in up to a 32-bit integer or a 64-bit floating point value (double) +! \item[s] - the number of seconds expressed in up to a 64-bit integer or a 64-bit floating point value (double) +! \end{description} +! +! As with the ISO format, in ESMF's implementation the specifier and value can be left out if the value is 0. For example, P1YT1H3M4S is a valid format if the number of months and +! days are both 0. The time part including the T can also be left off if the time values are all 0, so P1Y is a valid string if just 1 year is being specified. +! +! The arguments are: +! \begin{description} +! \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). +! \item[{[rc]}] +! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. +! \end{description} +! +!EOP +! !REQUIREMENTS: +! TMGn.n.n + integer :: localrc ! local return code + integer(ESMF_KIND_I8) :: yy_i8 + integer(ESMF_KIND_I8) :: mm_i8 + integer(ESMF_KIND_I8) :: d_i8 + integer(ESMF_KIND_I8) :: s_i8 + real(ESMF_KIND_R8) :: d_r8 + real(ESMF_KIND_R8) :: h_r8 + real(ESMF_KIND_R8) :: m_r8 + real(ESMF_KIND_R8) :: s_r8 + + ! Assume failure until success + if (present(rc)) rc = ESMF_RC_NOT_IMPL + localrc = ESMF_RC_NOT_IMPL + + ! Parse string into values for each time unit + call ESMF_ParseDurString(timeintervalString, & + yy_i8=yy_i8, mm_i8=mm_i8, d_i8=d_i8, d_r8=d_r8, & + h_r8=h_r8, m_r8=m_r8, s_i8=s_i8, s_r8=s_r8, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Set time interval using time unit values parsed above + + ! NOTE: Just use I8 for integer values, since it looks like integer values + ! are stored that way anyway. Also, for times (h,m,s), it looks like both R8 + ! and I8 are added together, so you can just + ! use both and whichever isn't needed set to 0. + ! An R8 can exactly represent an I4, so just use R8 for hours and minutes + ! where an I4 is all that's available. + call ESMF_TimeIntervalSetDur(timeinterval, & + yy_i8=yy_i8, & + mm_i8=mm_i8, & + d_i8=d_i8, & + s_i8=s_i8, & + d_r8=d_r8, & + h_r8=h_r8, & + m_r8=m_r8, & + s_r8=s_r8, & + rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return success + if (present(rc)) rc = ESMF_SUCCESS + 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 + +! !INTERFACE: + ! Private name; call using ESMF_TimeIntervalSet() + subroutine ESMF_TimeIntervalSetStrCal(timeinterval, calendar, & + timeIntervalString, rc) + +! !ARGUMENTS: + type(ESMF_TimeInterval), intent(inout) :: timeinterval + type(ESMF_Calendar), intent(in) :: calendar + character(*), intent(in) :: timeIntervalString + integer, intent(out), optional :: 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. 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. +! +! The arguments are: +! \begin{description} +! \item[timeinterval] +! The object instance to initialize. +! \item[calendar] +! {\tt Calendar} used to give better definition to +! calendar interval (yy, mm, and/or d) for arithmetic, comparison, +! and conversion operations. Allows calendar interval to "float" +! across all times on a specific calendar. Default = NULL; +! if startTime also not specified, calendar interval "floats" across +! all calendars and times. Mutually exclusive with startTime since +! 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). +! \item[{[rc]}] +! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. +! \end{description} +! +!EOP +! !REQUIREMENTS: +! TMGn.n.n + integer :: localrc ! local return code + integer(ESMF_KIND_I8) :: yy_i8 + integer(ESMF_KIND_I8) :: mm_i8 + integer(ESMF_KIND_I8) :: d_i8 + integer(ESMF_KIND_I8) :: s_i8 + real(ESMF_KIND_R8) :: d_r8 + real(ESMF_KIND_R8) :: h_r8 + real(ESMF_KIND_R8) :: m_r8 + real(ESMF_KIND_R8) :: s_r8 + + ! Assume failure until success + if (present(rc)) rc = ESMF_RC_NOT_IMPL + localrc = ESMF_RC_NOT_IMPL + + ! Parse string into values for each time unit + call ESMF_ParseDurString(timeintervalString, & + yy_i8=yy_i8, mm_i8=mm_i8, d_i8=d_i8, d_r8=d_r8, & + h_r8=h_r8, m_r8=m_r8, s_i8=s_i8, s_r8=s_r8, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Set time interval using time unit values parsed above + + ! NOTE: Just use I8 for integer values, since it looks like integer values + ! are stored that way anyway. Also, for times (h,m,s), it looks like both R8 + ! and I8 are added together, so you can just + ! use both and whichever isn't needed set to 0. + ! An R8 can exactly represent an I4, so just use R8 for hours and minutes + ! where an I4 is all that's available. + call ESMF_TimeIntervalSetDurCal(timeinterval, calendar, & + yy_i8=yy_i8, & + mm_i8=mm_i8, & + d_i8=d_i8, & + s_i8=s_i8, & + d_r8=d_r8, & + h_r8=h_r8, & + m_r8=m_r8, & + s_r8=s_r8, & + rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return success + if (present(rc)) rc = ESMF_SUCCESS + 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 + +! !INTERFACE: + ! Private name; call using ESMF_TimeIntervalSet() + subroutine ESMF_TimeIntervalSetStrCalTyp(timeinterval, calkindflag, & + timeIntervalString, rc) + +! !ARGUMENTS: + type(ESMF_TimeInterval), intent(inout) :: timeinterval + type(ESMF_CalKind_Flag), intent(in) :: calkindflag + character(*), intent(in) :: timeIntervalString + integer, intent(out), optional :: 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. 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. +! +! The arguments are: +! \begin{description} +! \item[timeinterval] +! The object instance to initialize. +! \item[calkindflag] +! Alternate to, and mutually exclusive with, +! 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). +! \item[{[rc]}] +! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. +! \end{description} +! +!EOP +! !REQUIREMENTS: +! TMGn.n.n + integer :: localrc ! local return code + integer(ESMF_KIND_I8) :: yy_i8 + integer(ESMF_KIND_I8) :: mm_i8 + integer(ESMF_KIND_I8) :: d_i8 + integer(ESMF_KIND_I8) :: s_i8 + real(ESMF_KIND_R8) :: d_r8 + real(ESMF_KIND_R8) :: h_r8 + real(ESMF_KIND_R8) :: m_r8 + real(ESMF_KIND_R8) :: s_r8 + + ! Assume failure until success + if (present(rc)) rc = ESMF_RC_NOT_IMPL + localrc = ESMF_RC_NOT_IMPL + + ! Parse string into values for each time unit + call ESMF_ParseDurString(timeintervalString, & + yy_i8=yy_i8, mm_i8=mm_i8, d_i8=d_i8, d_r8=d_r8, & + h_r8=h_r8, m_r8=m_r8, s_i8=s_i8, s_r8=s_r8, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Set time interval using time unit values parsed above + + ! NOTE: Just use I8 for integer values, since it looks like integer values + ! are stored that way anyway. Also, for times (h,m,s), it looks like both R8 + ! and I8 are added together, so you can just + ! use both and whichever isn't needed set to 0. + ! An R8 can exactly represent an I4, so just use R8 for hours and minutes + ! where an I4 is all that's available. + call ESMF_TimeIntervalSetDurCalTyp(timeinterval, calkindflag, & + yy_i8=yy_i8, & + mm_i8=mm_i8, & + d_i8=d_i8, & + s_i8=s_i8, & + d_r8=d_r8, & + h_r8=h_r8, & + m_r8=m_r8, & + s_r8=s_r8, & + rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return success + if (present(rc)) rc = ESMF_SUCCESS + 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 + +! !INTERFACE: + ! Private name; call using ESMF_TimeIntervalSet() + subroutine ESMF_TimeIntervalSetStrStart(timeinterval, startTime, & + timeIntervalString, rc) + +! !ARGUMENTS: + type(ESMF_TimeInterval), intent(inout) :: timeinterval + type(ESMF_Time), intent(in) :: startTime + character(*), intent(in) :: timeIntervalString + integer, intent(out), optional :: 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. 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. +! +! The arguments are: +! \begin{description} +! \item[timeinterval] +! The object instance to initialize. +! \item[startTime] +! Starting time of an absolute calendar interval +! (yy, mm, and/or d); pins a calendar interval to a specific point +! 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). +! \item[{[rc]}] +! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. +! \end{description} +! +!EOP +! !REQUIREMENTS: +! TMGn.n.n + integer :: localrc ! local return code + integer(ESMF_KIND_I8) :: yy_i8 + integer(ESMF_KIND_I8) :: mm_i8 + integer(ESMF_KIND_I8) :: d_i8 + integer(ESMF_KIND_I8) :: s_i8 + real(ESMF_KIND_R8) :: d_r8 + real(ESMF_KIND_R8) :: h_r8 + real(ESMF_KIND_R8) :: m_r8 + real(ESMF_KIND_R8) :: s_r8 + + ! Assume failure until success + if (present(rc)) rc = ESMF_RC_NOT_IMPL + localrc = ESMF_RC_NOT_IMPL + + ! Parse string into values for each time unit + call ESMF_ParseDurString(timeintervalString, & + yy_i8=yy_i8, mm_i8=mm_i8, d_i8=d_i8, d_r8=d_r8, & + h_r8=h_r8, m_r8=m_r8, s_i8=s_i8, s_r8=s_r8, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Set time interval using time unit values parsed above + + ! NOTE: Just use I8 for integer values, since it looks like integer values + ! are stored that way anyway. Also, for times (h,m,s), it looks like both R8 + ! and I8 are added together, so you can just + ! use both and whichever isn't needed set to 0. + ! An R8 can exactly represent an I4, so just use R8 for hours and minutes + ! where an I4 is all that's available. + call ESMF_TimeIntervalSetDurStart(timeinterval, startTime, & + yy_i8=yy_i8, & + mm_i8=mm_i8, & + d_i8=d_i8, & + s_i8=s_i8, & + d_r8=d_r8, & + h_r8=h_r8, & + m_r8=m_r8, & + s_r8=s_r8, & + rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return success + if (present(rc)) rc = ESMF_SUCCESS + end subroutine ESMF_TimeIntervalSetStrStart + + + + !------------------------------------------------------------------------------ #undef ESMF_METHOD #define ESMF_METHOD "ESMF_TimeIntervalValidate()" diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_TimeIntervalType.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_TimeIntervalType.F90 index 2b8a0778b1..c38a7578fb 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_TimeIntervalType.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_TimeIntervalType.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/interface/ESMF_TimeType.F90 b/src/Infrastructure/TimeMgr/interface/ESMF_TimeType.F90 index fc7168f2b4..92eeea6e16 100644 --- a/src/Infrastructure/TimeMgr/interface/ESMF_TimeType.F90 +++ b/src/Infrastructure/TimeMgr/interface/ESMF_TimeType.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/src/ESMCI_Alarm.C b/src/Infrastructure/TimeMgr/src/ESMCI_Alarm.C index e741371688..69a6dacf85 100644 --- a/src/Infrastructure/TimeMgr/src/ESMCI_Alarm.C +++ b/src/Infrastructure/TimeMgr/src/ESMCI_Alarm.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -27,9 +27,12 @@ #include #include #include +#include #include "ESMCI_LogErr.h" #include "ESMCI_Clock.h" +#include "ESMCI_Util.h" +#include "ESMCI_Macros.h" //------------------------------------------------------------------------- // leave the following line as-is; it will insert the cvs ident string @@ -64,13 +67,9 @@ int Alarm::count=0; // !ARGUMENTS: int nameLen, // in const char *name, // in - Clock *clock, // in - Time *ringTime, // in - TimeInterval *ringInterval, // in - Time *stopTime, // in - TimeInterval *ringDuration, // in - int *ringTimeStepCount, // in - Time *refTime, // in + Clock *clock, // in + Time *ringTime, // in + TimeInterval *ringInterval, // in bool *enabled, // in bool *sticky, // in int *rc ) { // out - return code @@ -129,59 +128,61 @@ int Alarm::count=0; sprintf(alarm->name, "Alarm%3.3d", alarm->id); } - if (ringTime != ESMC_NULL_POINTER) { - alarm->ringTime = alarm->prevRingTime = alarm->firstRingTime = *ringTime; - } + if (ringTime != ESMC_NULL_POINTER) + alarm->ringTime = *ringTime; + else + alarm->ringTime = clock->currTime; + if (ringInterval != ESMC_NULL_POINTER) { - alarm->ringInterval = *ringInterval; + TimeInterval zeroTimeInterval(0,0,1,0,0,0); + if(*ringInterval < zeroTimeInterval){ + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_BAD, + "; Cannot set negative ringInterval", ESMC_CONTEXT, rc); + return 0; + } - // if ringTime not specified, calculate - // ringTime from the current clock time + if(*ringInterval < clock->timeStep) { + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_BAD, + "; alarm Interval cannot be less than clock interval", ESMC_CONTEXT, rc); + return 0; + } - // TODO: handle case where *ringTime < clock->currTime; - // same or similar to refTime - - if (ringTime == ESMC_NULL_POINTER) { - // works for positive or negative ringInterval - alarm->ringTime = clock->currTime + alarm->ringInterval; - alarm->prevRingTime = alarm->firstRingTime = alarm->ringTime; + if( ( *ringInterval == clock->timeStep) ){ + int n = (alarm->ringTime - clock->currTime)/(*ringInterval); + //std::cout << n << std::endl; + //ringTime->print(); + //clock->currTime.print(); + //ringInterval->print(); + if(alarm->ringTime != (clock->currTime + n*(*ringInterval)) ){ + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_BAD, + "; alarm Interval is the same as clock interval, ringTime cannot be misaligned with clock time, alarm will never ring", ESMC_CONTEXT, rc); + return 0; + } } + + // We do not check LCM because any two rational numbers are guranteed to have + // LCM albeit it may be very large. + alarm->ringInterval = *ringInterval; + + }else{ + // A negative ringInterval indicates a one shot alarm at ringTime only + TimeInterval zeroTimeInterval(0,0,1,0,0,0); + if(clock->timeStep < zeroTimeInterval) + alarm->ringInterval = clock->timeStep; + alarm->ringInterval = -clock->timeStep; } - if (stopTime != ESMC_NULL_POINTER) { - alarm->stopTime = *stopTime; - } - if (ringDuration != ESMC_NULL_POINTER) { - alarm->ringDuration = *ringDuration; - } - if (ringTimeStepCount != ESMC_NULL_POINTER) { - alarm->ringTimeStepCount = *ringTimeStepCount; - } - if (refTime != ESMC_NULL_POINTER) { - alarm->refTime = *refTime; - // TODO: for ringInterval, calculate 1st ringTime > clock->currTime, - // (&& > ringTime, if specified), using refTime as the base. - } else { - // TODO: default to clock's current time (or ringTime, if specified?) - } + if (enabled != ESMC_NULL_POINTER) { alarm->enabled = *enabled; } if (sticky != ESMC_NULL_POINTER) { alarm->sticky = *sticky; } - - // TODO: invoke private method, shared with Alarm::set(), to calculate - // first ringTime for interval alarms, given ringInterval and none, - // one or both of refTime and ringTime. Will replace logic in - // corresponding above sections. - // this->ringTime > clock->currTime && - // this->ringTime > (passed in) ringTime + alarm->ringerIsOn = true; returnCode = alarm->Alarm::validate(); if (ESMC_LogDefault.MsgFoundError(returnCode, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, rc)) { - // TODO: distinguish non-fatal rc's (warnings, info) at this level (C++), - // and at the F90 level, so isInit flag can be set to usable value. delete alarm; return(ESMC_NULL_POINTER); } else { @@ -191,7 +192,12 @@ int Alarm::count=0; ESMC_LogDefault.MsgFoundError(returnCode, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, rc); } - + + for (int i = 0; i < SAVESIZE; i ++){ + alarm->alarms.push_back(*alarm); + alarm->clocks.push_back(*clock); + } + return(alarm); } // end ESMCI_alarmCreate (new) @@ -317,13 +323,9 @@ int Alarm::count=0; // !ARGUMENTS: int nameLen, // in const char *name, // in - Clock **clock, // in - Time *ringTime, // in - TimeInterval *ringInterval, // in - Time *stopTime, // in - TimeInterval *ringDuration, // in - int *ringTimeStepCount, // in - Time *refTime, // in + Clock **clock, // in + Time *ringTime, // in + TimeInterval *ringInterval, // in bool *ringing, // in bool *enabled, // in bool *sticky) { // in @@ -392,23 +394,17 @@ int Alarm::count=0; } } if (ringInterval != ESMC_NULL_POINTER) { + TimeInterval zeroTimeInterval(0,0,1,0,0,0); + if(*ringInterval < zeroTimeInterval){ + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_BAD, + "; Cannot set negative ringInterval", ESMC_CONTEXT, &rc); + return 0; + } if (this->ringInterval != *ringInterval) { this->ringInterval = *ringInterval; this->userChangedRingInterval = true; } } - if (stopTime != ESMC_NULL_POINTER) { - this->stopTime = *stopTime; - } - if (ringDuration != ESMC_NULL_POINTER) { - this->ringDuration = *ringDuration; - } - if (ringTimeStepCount != ESMC_NULL_POINTER) { - this->ringTimeStepCount = *ringTimeStepCount; - } - if (refTime != ESMC_NULL_POINTER) { - this->refTime = *refTime; - } if (ringing != ESMC_NULL_POINTER) { this->ringing = *ringing; } @@ -417,8 +413,10 @@ int Alarm::count=0; } if (sticky != ESMC_NULL_POINTER) { this->sticky = *sticky; + if(*sticky) enableSticky(); } - + + // Looks like this implementation is not complete. // TODO: invoke private method, shared with ESMCI_alarmCreate(), to // calculate next ringTime for interval alarms, given ringInterval // and none, one or both of refTime and ringTime. Will replace @@ -438,6 +436,12 @@ int Alarm::count=0; } // end Alarm::set +void Alarm::enableSticky(void){ + // 1/100th of a second granuality to ensure integer return when being divided by + //this->ringInterval=TimeInterval(0, 1, 100, 0, 0, 0); + this->ringInterval=TimeInterval(1, 0, 1, 0, 0, 0); +} + //------------------------------------------------------------------------- //BOP // !IROUTINE: Alarm::get - Gets an alarm's properties @@ -454,19 +458,11 @@ int Alarm::count=0; char *tempName, // out Clock **clock, // out Time *ringTime, // out - Time *prevRingTime, // out TimeInterval *ringInterval, // out - Time *stopTime, // out - TimeInterval *ringDuration, // out - int *ringTimeStepCount, // out - int *timeStepRingingCount, // out - Time *ringBegin, // out - Time *ringEnd, // out - Time *refTime, // out bool *ringing, // out - bool *ringingOnPrevTimeStep, // out bool *enabled, // out - bool *sticky) { // out + bool *sticky, // out + bool *ringerIsOn) { // out // // !DESCRIPTION: // Gets {\tt ESMC\_Alarm} property values; @@ -513,45 +509,21 @@ int Alarm::count=0; if (ringTime != ESMC_NULL_POINTER) { *ringTime = this->ringTime; } - if (prevRingTime != ESMC_NULL_POINTER) { - *prevRingTime = this->prevRingTime; - } if (ringInterval != ESMC_NULL_POINTER) { *ringInterval = this->ringInterval; } - if (stopTime != ESMC_NULL_POINTER) { - *stopTime = this->stopTime; - } - if (ringDuration != ESMC_NULL_POINTER) { - *ringDuration = this->ringDuration; - } - if (ringTimeStepCount != ESMC_NULL_POINTER) { - *ringTimeStepCount = this->ringTimeStepCount; - } - if (timeStepRingingCount != ESMC_NULL_POINTER) { - *timeStepRingingCount = this->timeStepRingingCount; - } - if (ringBegin != ESMC_NULL_POINTER) { - *ringBegin = this->ringBegin; - } - if (ringEnd != ESMC_NULL_POINTER) { - *ringEnd = this->ringEnd; - } - if (refTime != ESMC_NULL_POINTER) { - *refTime = this->refTime; - } if (ringing != ESMC_NULL_POINTER) { *ringing = this->ringing; } - if (ringingOnPrevTimeStep != ESMC_NULL_POINTER) { - *ringingOnPrevTimeStep = this->ringingOnPrevTimeStep; - } if (enabled != ESMC_NULL_POINTER) { *enabled = this->enabled; } if (sticky != ESMC_NULL_POINTER) { *sticky = this->sticky; } + if (ringerIsOn != ESMC_NULL_POINTER) { + *ringerIsOn = this->ringerIsOn; + } rc = ESMF_SUCCESS; return(rc); @@ -712,6 +684,7 @@ int Alarm::count=0; return(ESMF_FAILURE); } + ringerIsOn = true; ringing = true; rc = ESMF_SUCCESS; @@ -752,6 +725,7 @@ int Alarm::count=0; // turn alarm off ringing = false; + ringerIsOn = false; timeStepRingingCount = 0; if (clock->direction == ESMF_DIRECTION_FORWARD) { @@ -800,7 +774,7 @@ int Alarm::count=0; // bool is ringing or not // // !ARGUMENTS: - int *rc) const { // out - error return code + int *rc) const { // out - error return code // // !DESCRIPTION: // Checks if {\tt ESMC\_Alarm}'s ringing state is set. @@ -823,6 +797,9 @@ int Alarm::count=0; // Initialize return code; assume routine not implemented if (rc != ESMC_NULL_POINTER) *rc = ESMF_SUCCESS; + //Time clockTime = clock->currTime; + + //return(enabled && ringerIsOn && canRingAtTime(clockTime)); return(enabled && ringing); } // end Alarm::isRinging @@ -877,26 +854,8 @@ int Alarm::count=0; } // get clock's next time - Time clockNextTime; - clock->Clock::getNextTime(&clockNextTime, timeStep); - - // if specified, use passed-in timestep, otherwise use clock's - TimeInterval tStep = (timeStep != ESMC_NULL_POINTER) ? - *timeStep : clock->timeStep; - - // get timestep direction: positive or negative - bool positive = tStep.TimeInterval::absValue() == tStep ? true : false; - - // check if alarm will turn on - bool willRing = false; - if (enabled) { - willRing = (positive) ? - clockNextTime >= ringTime && clock->currTime < ringTime : - clockNextTime <= ringTime && clock->currTime > ringTime; - } - if (rc != ESMC_NULL_POINTER) *rc = ESMF_SUCCESS; - return(willRing); + return canRingAtNextTime(*clock, timeStep); } // end Alarm::willRingNext @@ -939,7 +898,11 @@ int Alarm::count=0; if (rc != ESMC_NULL_POINTER) *rc = ESMF_SUCCESS; - return(ringingOnPrevTimeStep); + // get clock's prev time + if (rc != ESMC_NULL_POINTER) *rc = ESMF_SUCCESS; + // Time clockTime = clock->currTime - clock->timeStep; + // return canRingAtTime(clockTime); + return ringingOnPrevTimeStep; } // end Alarm::wasPrevRinging @@ -1077,6 +1040,54 @@ int Alarm::count=0; } // end Alarm::isSticky +#define DEBUG 1 +bool Alarm::canRingAtTime(const Clock & clock) { + bool retval = false; + + // If clock's current time is ahead of alarm->ringTime, adjust alarm->ringTime until + // either ringTime equals clockTime or ringTime is greater than clockTime when + // clock runs forward; Or ringTime is less than clockTime when clock runs reverse. + + // Note ringInterval > 0 is a magnitude + Time clockTime = clock.currTime; + + // One shot alarm that can only ring at ringTime + TimeInterval zeroTimeInterval(0,0,1,0,0,0); + if( this->ringInterval < zeroTimeInterval){ + if(this->ringTime == clockTime ) + return true; + else + return false; + } + + if(clock.direction == ESMF_DIRECTION_FORWARD) { + while (this->ringTime < clockTime){ + this->ringTime = this->ringTime + this->ringInterval; + } + }else if(clock.direction == ESMF_DIRECTION_REVERSE){ + while (this->ringTime > clockTime){ + this->ringTime = this->ringTime - this->ringInterval; + } + } + + if(this->ringTime == clockTime) + retval = true; + + return retval; +} + +bool Alarm::canRingAtNextTime(Clock & clock, TimeInterval * timeStep) const { + bool retval = false; + + Time clockNextTime; + clock.Clock::getNextTime(&clockNextTime, timeStep); + + if(this->ringTime == clockNextTime) + retval = true; + + return retval; +} + //------------------------------------------------------------------------- //BOP // !IROUTINE: Alarm::checkRingTime - check if time to ring @@ -1117,320 +1128,85 @@ int Alarm::count=0; ESMC_LogDefault.Write(logMsg, ESMC_LOGMSG_WARN,ESMC_CONTEXT); return(false); } + bool canRing = canRingAtTime(*clock); // Check if the alarm can ring when time matches. - // get clock's timestep direction: positive or negative - bool positive = (clock->currAdvanceTimeStep.absValue() == - clock->currAdvanceTimeStep) ? true : false; - - if (clock->direction == ESMF_DIRECTION_FORWARD) { - - // carry previous flag forward - ringingOnPrevTimeStep = ringingOnCurrTimeStep; - - // perform pre-checks first ... - - if (enabled) { - if (userChangedRingInterval) { - // check that user's new ringInterval is same sign as timeStep - TimeInterval zeroTimeStep; - if ((ringInterval > zeroTimeStep && - clock->currAdvanceTimeStep < zeroTimeStep) || - (ringInterval < zeroTimeStep && - clock->currAdvanceTimeStep > zeroTimeStep) ) { - ESMC_LogDefault.MsgFoundError(ESMC_RC_VAL_WRONG, - "; user changed alarm ringInterval, " - "which is not same sign as clock timeStep.", ESMC_CONTEXT, rc); - return(false); - } - } - if (userChangedRingTime) { - // check that user's new ringTime is within ringable range - if (positive ? clock->currTime > ringTime : - clock->currTime < ringTime) { - ESMC_LogDefault.MsgFoundError(ESMC_RC_VAL_OUTOFRANGE, - "; user changed alarm ringTime, " - "which is not within clock ringable range", ESMC_CONTEXT, rc); - return(false); - } - } - // if clock timeStep sign changed, adjust ringInterval accordingly - TimeInterval zeroTimeStep; - bool userChangedTimeStepSign = - ( (clock->currAdvanceTimeStep < zeroTimeStep && - clock->prevAdvanceTimeStep > zeroTimeStep) || - (clock->currAdvanceTimeStep > zeroTimeStep && - clock->prevAdvanceTimeStep < zeroTimeStep) ); - if (userChangedTimeStepSign) { - if (!userChangedRingInterval) { - // change sign to match clock timeStep - ringInterval *= -1; - ringDuration *= -1; - } - } - // if either clock timeStep sign changed or clock direction mode - // changed, pull back ringTime into ringable range - if (userChangedTimeStepSign || clock->userChangedDirection) { - if (!userChangedRingTime) { - bool stopTimeEnabled = - stopTime.Time::validate("initialized") == ESMF_SUCCESS; - while (positive ? clock->prevTime >= ringTime : - clock->prevTime <= ringTime) { - // check if ringing stopTime limit reached, TODO: test - if (stopTimeEnabled) { - if (positive ? ringTime >= (stopTime - ringInterval) : - ringTime <= (stopTime - ringInterval) ) break; - } - // otherwise increment it - prevRingTime = ringTime; - ringTime += ringInterval; - } - } - } - // done processing changed flags, reset if necessary - if (userChangedRingTime) userChangedRingTime = false; - if (userChangedRingInterval) userChangedRingInterval = false; - if (clock->userChangedDirection) clock->userChangedDirection = false; - } - - // ... then check if time to turn on alarm - if (!ringing && enabled) - Alarm::checkTurnOn(positive); - - // else if not sticky, check if time to turn off alarm - // (user is responsible for turning off sticky alarms via RingerOff()) - // TODO: maybe should not be else clause, just an "if" on its own, since - // ringTimeStepCount=0 would imply turning off in the same timeStep? But - // would need to move timeStepRingingCount++ up. - else if (!sticky && ringing && enabled) { - - // first check if next alarm time has been reached, - // then check if time to turn off alarm. - if (!Alarm::checkTurnOn(positive)) { - TimeInterval zeroTimeInterval(0,0,1,0,0,0); - if (ringTimeStepCount == 1 && - ringDuration != zeroTimeInterval) { // use ringDuration ... - TimeInterval cumulativeRinging; - cumulativeRinging = clock->currTime - ringBegin; - if (cumulativeRinging.TimeInterval::absValue() >= - ringDuration.TimeInterval::absValue()) { - ringingOnCurrTimeStep = ringing = false; - timeStepRingingCount = 0; - } - // ... otherwise use ringTimeStepCount - } else if (ringTimeStepCount >= 1) { - if (timeStepRingingCount >= ringTimeStepCount) { - ringingOnCurrTimeStep = ringing = false; - timeStepRingingCount = 0; - } - } // TODO: else error, ringTimeStepCount <= 0 (ringing counter is - // always positive) Validate() ? - } - } - - // count for how many clock time steps the alarm is ringing - if (ringing) timeStepRingingCount++; + if(sticky) { - // ensure a sticky repeatable alarm's ringTime remains in ringable range, - // in case it is not turned off for a while, or if - // clock->timeStep >= ringInterval - TimeInterval zeroTimeInterval(0,0,1,0,0,0); - if (sticky && ringInterval != zeroTimeInterval && - clock->advanceCount != 0) { - //printf("ringTime before:\n"); - //print("ringTime string"); - bool stopTimeEnabled = - stopTime.Time::validate("initialized") == ESMF_SUCCESS; - // works for positive and negative ringIntervals TODO: test negative - while (positive ? clock->currTime >= ringTime : - clock->currTime <= ringTime) { - // check if ringing stopTime limit reached, TODO: test - if (stopTimeEnabled) { - if (positive ? ringTime >= (stopTime - ringInterval) : - ringTime <= (stopTime - ringInterval) ) break; - } - // otherwise increment it - prevRingTime = ringTime; - ringTime += ringInterval; - // TODO: if in practice, users use a timeStep which is much, much - // greater than ringInterval, then a single-step calculated - // approach to updating the ringTime, rather than a loop - // approach, may be more efficient. - } - //printf("ringTime after:\n"); - //print("ringTime string"); + /* A sticky alarm can ring for two reasons + * 1) it rang previously + * 2) it didn't ring but now it's the time to ring + */ + if(ringing || canRing){ // Set ringing true either because it's a sticky ringing alarm or time matches. + ringingOnPrevTimeStep = ringing; + ringing = true; + if (canRing) updateRingTime(rc); // If the alarm's time match clock time, advance ringTime + if (rc != ESMC_NULL_POINTER) *rc = ESMF_SUCCESS; + return (ringing && enabled); } + } - } else { // ESMF_DIRECTION_REVERSE - - // TODO: Make more robust by removing the following simplifying - // assumptions: - // - // 1) timeSteps are constant throughout clock run (including sign). - // 2) ringInterval, ringDuration are constant throughout clock run. - // 3) sticky alarms must have traversed through at least one alarm - // (to save the ringEnd time) in order to reverse. For - // repeating sticky alarms, previous ringEnds are assumed to be - // equally spaced by a constant ringInterval. - // - // The solution will involve saving clock and alarm state at every - // timeStep, which means dynamically allocated stacks (stacks of - // clock and alarm objects). These stacks can be - // initially sized at Create() time, then reallocated as necessary - // (upon those advance() calls which would require more space). - // Will need flag upon Create() for user to hint at need for - // this extra overhead for reversible clocks and alarms. - - // Note: Sticky alarms need to have been traversed forward in order - // to be reversed (to save ringEnd upon user RingerOff() event). - // In contrast, non-sticky alarms can be reversed without first - // having been traversed forward. This implies that the logic - // cannot use prev* state variables in order to step back; all - // state variables must be reconstructed from timeStep, - // ringInterval, and ringDuration. Hence the use of ringTimeEnd - // below. - - // if sticky alarm, must have traversed forward far enough to have - // called RingerOff(), causing the ringEnd time to be saved. - if(sticky && ringEnd.Time::validate("initialized") != ESMF_SUCCESS) { - char logMsg[2*ESMF_MAXSTR]; - sprintf(logMsg, "Sticky alarm %s cannot be reversed since it has " - "not been traversed forward and turned off via " - "a user call to ESMF_AlarmRingerOff(), thereby " - "enabling Time Manager to know the time to turn it " - "back on in reverse.", name); - ESMC_LogDefault.Write(logMsg, ESMC_LOGMSG_WARN,ESMC_CONTEXT); - return(false); - } + // Non-sticky one shot alarms, time must match + if (canRing){ + ringingOnPrevTimeStep = ringing; + ringing = true; + updateRingTime(rc); // If the alarm's time match clock time, advance ringTime + }else{ + ringing = false; + } - // adjust ring state variables if needed - // (pull back ringTime, etc. into ringable range if necessary) - - // ... adjust if sticky alarm ... - if (sticky) { - while ( ((positive && ringEnd > clock->currTime) || - (!positive && ringEnd < clock->currTime)) && - (ringTime != firstRingTime)) { - ringEnd -= ringInterval; - ringTime = prevRingTime; - prevRingTime -= ringInterval; - } - } - // ... or non-sticky alarm, if user just changed clock direction to - // REVERSE ... - if (clock->userChangedDirection) { - clock->userChangedDirection = false; // reset changed flag - if (!sticky) { - if (((positive && ringTime > (clock->currTime + clock->timeStep)) || - (!positive && ringTime < (clock->currTime + clock->timeStep))) && - (ringTime != firstRingTime)) { - ringTime = prevRingTime; - prevRingTime -= ringInterval; - Alarm::resetRingBegin(positive); - } - } - } + if (rc != ESMC_NULL_POINTER) *rc = ESMF_SUCCESS; - // ... then determine when alarm ended ringing in forward mode ... - Time ringTimeEnd; - if (enabled) { - if (sticky) { - ringTimeEnd = ringEnd; - } else { // non-sticky - TimeInterval zeroTimeInterval(0,0,1,0,0,0); - if (ringTimeStepCount == 1 && - ringDuration != zeroTimeInterval) { // use ringDuration ... - ringTimeEnd = ringBegin + ringDuration; - // ... otherwise use ringTimeStepCount - } else if (ringTimeStepCount >= 1) { - // If ringBegin hasn't been initialized, set ringBegin to clock's startTime - if(ringBegin.getCalendar() == NULL){ - ringBegin = clock->startTime; - } - ringTimeEnd = ringBegin + ringTimeStepCount * clock->timeStep; - } // TODO: else error, ringTimeStepCount <= 0 (ringing counter is - // always positive) Validate() ? - } - } + return(ringing && enabled); - // ... and use it to check if time to turn alarm back *on* in reverse mode - if (!ringing && enabled) { - if (sticky) { - ringingOnCurrTimeStep = ringing = (clock->currTime == ringTimeEnd); - } else { - ringingOnCurrTimeStep = ringing = (positive) ? - (clock->currTime < ringTimeEnd) && - (clock->currTime + clock->timeStep) >= ringTimeEnd : - // (negative) - (clock->currTime > ringTimeEnd) && - (clock->currTime + clock->timeStep) <= ringTimeEnd; - } + } // end Alarm::checkRingTime - // if just turned on, reconstruct the rest of the state of this - // alarm event - if (ringing) { - // determine what ringBegin was for this alarm event TODO:sticky only? - //Alarm::resetRingBegin(positive); +//------------------------------------------------------------------------- +//BOP +// !IROUTINE: Alarm::updateRingTime - update Alarm Ring Time +// +// !INTERFACE: + void Alarm::updateRingTime( +// +// !RETURN VALUE: +// bool is ringing or not +// +// !ARGUMENTS: + int *rc) { // out - error return code - // determine what the ending timeStepRingingCount was - // for this alarm event - timeStepRingingCount = - (int) ((clock->currTime - ringBegin) / clock->timeStep) + 1; - } +// !DESCRIPTION: +// Update ringTime and prevRingTime +// +//EOP +// !REQUIREMENTS: TMG4.4, 4.6 - // otherwise check if time to turn *non-sticky* alarm back *off* in - // reverse mode (user is responsible for turning off *sticky* alarms via - // RingerOff()) - } else if (!sticky && ringing && enabled) { - if (timeStepRingingCount <= 1) { // if count down to last one - - // turn alarm off - ringingOnCurrTimeStep = ringing = false; - timeStepRingingCount = 0; - - // look back and reset ringing times for previous alarm event, - // if not past firstRingTime - // TODO: remove assumption of constant ringInterval; allow for - // variable ringIntervals - if (ringTime != firstRingTime) { - ringTime = prevRingTime; - prevRingTime -= ringInterval; - TimeInterval zeroTimeInterval(0,0,1,0,0,0); - if (ringTimeStepCount == 1 && - ringDuration != zeroTimeInterval) { // use ringDuration ... - ringTimeEnd = ringTime + ringDuration; - // ... otherwise use ringTimeStepCount - } else if (ringTimeStepCount >= 1) { - ringTimeEnd = ringTime + ringTimeStepCount * clock->timeStep; - } // TODO: else error, ringTimeStepCount <= 0 (ringing counter is - // always positive) Validate() ? - } else { // reset to initial condition - prevRingTime = ringTime; - } - - // determine what ringBegin was for *previous* alarm event - Alarm::resetRingBegin(positive); - - } else { // keep alarm ringing - // reverse count for how many clock time steps the alarm was ringing - timeStepRingingCount--; - } + #undef ESMC_METHOD + #define ESMC_METHOD "ESMCI::Alarm::updateRingTime()" - } // if (!sticky) + if(ringing){ + prevRingTime = ringTime; - // reconstruct whether alarm was ringing on previous timeStep - if (enabled) { - ringingOnPrevTimeStep = (positive) ? - clock->prevTime >= ringTime && clock->prevTime < ringTimeEnd : - clock->prevTime <= ringTime && clock->prevTime > ringTimeEnd; - } + //if(clock->direction == ESMF_DIRECTION_FORWARD) + // ringTime = ringTime + ringInterval; + //else + // ringTime = ringTime - ringInterval; + } +} - } // end if ESMF_DIRECTION_REVERSE +void Alarm::clockChangeDirection(const ESMC_Direction & old_direction, + const ESMC_Direction & new_direction, + int * rc) { - if (rc != ESMC_NULL_POINTER) *rc = ESMF_SUCCESS; + #undef ESMC_METHOD + #define ESMC_METHOD "ESMCI::Alarm::clockChangeDirection()" - return(ringing && enabled); + // If the direction didn't change, do nothing + if(old_direction == new_direction ) return; - } // end Alarm::checkRingTime + if(old_direction == ESMF_DIRECTION_FORWARD) + ringTime = ringTime - ringInterval; // ringTime goes backward by 1 interval + else + ringTime = ringTime + ringInterval; // ringTime goes forward by 1 interval +} //------------------------------------------------------------------------- //BOP @@ -1731,14 +1507,6 @@ int Alarm::count=0; prevRingTime.Time::print(); } } - else if (strncmp(opts, "stoptime", 8) == 0) { - printf("stopTime = \n"); - if (strstr(opts, "string") != ESMC_NULL_POINTER) { - stopTime.Time::print("string"); - } else { - stopTime.Time::print(); - } - } else if (strncmp(opts, "ringbegin", 9) == 0) { printf("ringBegin = \n"); if (strstr(opts, "string") != ESMC_NULL_POINTER) { @@ -1755,17 +1523,6 @@ int Alarm::count=0; ringEnd.Time::print(); } } - else if (strncmp(opts, "reftime", 7) == 0) { - printf("refTime = \n"); - if (strstr(opts, "string") != ESMC_NULL_POINTER) { - refTime.Time::print("string"); - } else { - refTime.Time::print(); - } - } - else if (strncmp(opts, "timestepringingcount", 20) == 0) { - printf("timeStepRingingCount = %d\n", timeStepRingingCount); - } else if (strncmp(opts, "ringingonprevtimestep", 21) == 0) { printf("ringingOnPrevTimeStep = %s\n", ringingOnPrevTimeStep ? "true" : "false"); @@ -1787,14 +1544,11 @@ int Alarm::count=0; printf("name = %s\n", name); printf("ringInterval = \n"); ringInterval.TimeInterval::print(options); - printf("ringDuration = \n"); ringDuration.TimeInterval::print(options); printf("ringTime = \n"); ringTime.Time::print(options); printf("firstRingTime = \n"); firstRingTime.Time::print(options); printf("prevRingTime = \n"); prevRingTime.Time::print(options); - printf("stopTime = \n"); stopTime.Time::print(options); printf("ringBegin = \n"); ringBegin.Time::print(options); printf("ringEnd = \n"); ringEnd.Time::print(options); - printf("refTime = \n"); refTime.Time::print(options); printf("ringTimeStepCount = %d\n", ringTimeStepCount); printf("timeStepRingingCount = %d\n", timeStepRingingCount); printf("ringing = %s\n", ringing ? "true" : "false"); diff --git a/src/Infrastructure/TimeMgr/src/ESMCI_BaseTime.C b/src/Infrastructure/TimeMgr/src/ESMCI_BaseTime.C index 577f588068..324dd94b1e 100644 --- a/src/Infrastructure/TimeMgr/src/ESMCI_BaseTime.C +++ b/src/Infrastructure/TimeMgr/src/ESMCI_BaseTime.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/src/ESMCI_Calendar.C b/src/Infrastructure/TimeMgr/src/ESMCI_Calendar.C index 8e8ca1506a..fbf95c53a9 100644 --- a/src/Infrastructure/TimeMgr/src/ESMCI_Calendar.C +++ b/src/Infrastructure/TimeMgr/src/ESMCI_Calendar.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/src/ESMCI_Clock.C b/src/Infrastructure/TimeMgr/src/ESMCI_Clock.C index 94af12d207..c23b33acd6 100644 --- a/src/Infrastructure/TimeMgr/src/ESMCI_Clock.C +++ b/src/Infrastructure/TimeMgr/src/ESMCI_Clock.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -365,6 +365,12 @@ int Clock::count=0; if (advanceCount != ESMC_NULL_POINTER) this->advanceCount = *advanceCount; if (direction != ESMC_NULL_POINTER) { + // traverse alarm list (i) to update ringTime + for(int i=0; iAlarm::clockChangeDirection(this->direction, *direction, &rc); + } + this->direction = *direction; this->userChangedDirection = true; } diff --git a/src/Infrastructure/TimeMgr/src/ESMCI_Time.C b/src/Infrastructure/TimeMgr/src/ESMCI_Time.C index 8d0b451b05..78c21bce04 100644 --- a/src/Infrastructure/TimeMgr/src/ESMCI_Time.C +++ b/src/Infrastructure/TimeMgr/src/ESMCI_Time.C @@ -1,7 +1,7 @@ // $Id$" // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -141,8 +141,8 @@ namespace ESMCI{ timeZone != ESMC_NULL_POINTER) { // only calendar and/or timezone specified, do not re-initialize basetime - // initialize basetime only if not done previously - if (BaseTime::validate() != ESMF_SUCCESS) { + // Initialize basetime only if not done previously + if (BaseTime::uninit()) { Fraction::set(0,0,1); // set seconds = 0 // set fractional seconds numerator = 0 // set fractional seconds denominator = 1 @@ -830,13 +830,49 @@ namespace ESMCI{ return(rc); } - if (this->calendar->calkindflag == ESMC_CALKIND_JULIANDAY || - this->calendar->calkindflag == ESMC_CALKIND_MODJULIANDAY || - this->calendar->calkindflag == ESMC_CALKIND_NOCALENDAR) { - ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_WRONG, - "; calkindflag is JULIANDAY, " - "MODJULIANDAY or NOCALENDAR.", ESMC_CONTEXT, &rc); - return(rc); + switch (this->calendar->calkindflag) + { + case ESMC_CALKIND_NOLEAP: + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_WRONG, + "; calkindflag is NOLEAP. Only GREGORIAN and JULIAN are supported when syncing to real time.", + ESMC_CONTEXT, &rc); + return(rc); + break; + + case ESMC_CALKIND_360DAY: + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_WRONG, + "; calkindflag is 360DAY. Only GREGORIAN and JULIAN are supported when syncing to real time.", + ESMC_CONTEXT, &rc); + return(rc); + break; + + case ESMC_CALKIND_JULIANDAY: + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_WRONG, + "; calkindflag is JULIANDAY. Only GREGORIAN and JULIAN are supported when syncing to real time.", + ESMC_CONTEXT, &rc); + return(rc); + break; + + case ESMC_CALKIND_MODJULIANDAY: + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_WRONG, + "; calkindflag is MODJULIANDAY. Only GREGORIAN and JULIAN are supported when syncing to real time.", + ESMC_CONTEXT, &rc); + return(rc); + break; + + case ESMC_CALKIND_NOCALENDAR: + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_WRONG, + "; calkindflag is NOCALENDAR. Only GREGORIAN and JULIAN are supported when syncing to real time.", + ESMC_CONTEXT, &rc); + return(rc); + break; + + case ESMC_CALKIND_CUSTOM: + ESMC_LogDefault.MsgFoundError(ESMC_RC_ARG_WRONG, + "; calkindflag is CUSTOM. Only GREGORIAN and JULIAN are supported when syncing to real time.", + ESMC_CONTEXT, &rc); + return(rc); + break; } time_t tm; diff --git a/src/Infrastructure/TimeMgr/src/ESMCI_TimeInterval.C b/src/Infrastructure/TimeMgr/src/ESMCI_TimeInterval.C index 3dc85b9308..142d2fae09 100644 --- a/src/Infrastructure/TimeMgr/src/ESMCI_TimeInterval.C +++ b/src/Infrastructure/TimeMgr/src/ESMCI_TimeInterval.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/tests/ESMC_CalendarUTest.c b/src/Infrastructure/TimeMgr/tests/ESMC_CalendarUTest.c index 13309082b8..60d5c6c9c0 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMC_CalendarUTest.c +++ b/src/Infrastructure/TimeMgr/tests/ESMC_CalendarUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/tests/ESMC_ClockUTest.c b/src/Infrastructure/TimeMgr/tests/ESMC_ClockUTest.c index 19cd31876b..56e25e0883 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMC_ClockUTest.c +++ b/src/Infrastructure/TimeMgr/tests/ESMC_ClockUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/tests/ESMC_TimeIntervalUTest.c b/src/Infrastructure/TimeMgr/tests/ESMC_TimeIntervalUTest.c index 7263ef75a8..cb6c3c2b37 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMC_TimeIntervalUTest.c +++ b/src/Infrastructure/TimeMgr/tests/ESMC_TimeIntervalUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/tests/ESMC_TimeUTest.c b/src/Infrastructure/TimeMgr/tests/ESMC_TimeUTest.c index ff2fbd20d2..56367e9f4b 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMC_TimeUTest.c +++ b/src/Infrastructure/TimeMgr/tests/ESMC_TimeUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/tests/ESMF_AlarmUTest.F90 b/src/Infrastructure/TimeMgr/tests/ESMF_AlarmUTest.F90 index ecc76f615d..ee02c6bdfc 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMF_AlarmUTest.F90 +++ b/src/Infrastructure/TimeMgr/tests/ESMF_AlarmUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -114,6 +114,9 @@ program ESMF_AlarmTest esmf_360dayCalendar = ESMF_CalendarCreate(ESMF_CALKIND_360DAY, & name="360Day", rc=rc) + call ESMF_CalendarSetDefault ( ESMF_CALKIND_GREGORIAN, rc=rc ) + if(rc /= ESMF_SUCCESS) call ESMF_Finalize() + !------------------------------------------------------------------------------- ! The unit tests are divided into Sanity and Exhaustive. The Sanity tests are ! always run. When the environment variable, EXHAUSTIVE, is set to ON then @@ -507,26 +510,6 @@ program ESMF_AlarmTest ! ---------------------------------------------------------------------------- - !EX_UTest - !Test if destroyed Alarm Previously ringing - write(failMsg, *) " Did not return ESMF_RC_OBJ_DELETED" - write(name, *) "Destroyed Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm1, rc=rc) - call ESMF_Test((rc.eq.ESMF_RC_OBJ_DELETED), & - name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test if non-created Alarm Previously ringing - write(failMsg, *) " Did not return ESMF_RC_OBJ_NOT_CREATED" - write(name, *) "Non-created Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm6, rc=rc) - call ESMF_Test((rc.eq.ESMF_RC_OBJ_NOT_CREATED), & - name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - !EX_UTest write(failMsg, *) " Did not return ESMF_RC_OBJ_DELETED" write(name, *) "Turn off Ringing on destroyed Alarm " @@ -543,25 +526,6 @@ program ESMF_AlarmTest call ESMF_Test((rc.eq.ESMF_RC_OBJ_NOT_CREATED), & name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test destroyed Alarm will ring next - write(failMsg, *) " Did not return ESMF_RC_OBJ_DELETED" - write(name, *) "Destroyed Alarm will ring next Test" - willRingNext = ESMF_AlarmWillRingNext(alarm1, timeStep=timeStep, rc=rc) - call ESMF_Test((rc.eq.ESMF_RC_OBJ_DELETED), & - name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test non-created Alarm will ring next - write(failMsg, *) " Did not return ESMF_RC_OBJ_NOT_CREATED" - write(name, *) "Non-created Alarm will ring next Test" - willRingNext = ESMF_AlarmWillRingNext(alarm6, timeStep=timeStep, rc=rc) - call ESMF_Test((rc.eq.ESMF_RC_OBJ_NOT_CREATED), & - name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- @@ -1043,7 +1007,7 @@ program ESMF_AlarmTest ! Test Setting the Alarm Time write(failMsg, *) " Returned ESMF_FAILURE" write(name, *) "Set Alarm Time Initialization Test" - call ESMF_TimeSet(alarmTime, yy=2003, mm=3, dd=13, h=5, & + call ESMF_TimeSet(alarmTime, yy=2003, mm=3, dd=13, h=5, m=45, s=27, & calkindflag=ESMF_CALKIND_GREGORIAN, rc=rc) call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) @@ -1077,2340 +1041,267 @@ program ESMF_AlarmTest call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- + call ESMF_AlarmDestroy (alarm, rc=rc) + call ESMF_ClockDestroy (clock, rc=rc) - !EX_UTest - !Test Alarm will ring next - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm will ring next Test" - willRingNext = ESMF_AlarmWillRingNext(alarm, timeStep=timeStep, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(.not.willRingNext), & - name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- !EX_UTest - !Test Get Clock Next Time - write(failMsg, *) " Did not return ESMF_SUCCESS)" - write(name, *) "Get Clock Next Time Test" - call ESMF_ClockGetNextTime(clock, nextTime, timeStep=timeStep, rc=rc) + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Forward Alarm Test Case 1" + call ForwardAlarm_Test1(rc=rc) call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - !EX_UTest - !Test Alarm will ring next - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm will ring next Test" - willRingNext = ESMF_AlarmWillRingNext(alarm, timeStep=timeStep, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(willRingNext), & - name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- !EX_UTest - !Test Get Time from clock write(failMsg, *) " Did not return ESMF_SUCCESS" - write(name, *) "Get Clock Current Time Test" - call ESMF_ClockGet(clock, currTime=currentTime, rc=rc) + write(name, *) "Forward Alarm Test Case 2" + call ForwardAlarm_Test2(rc=rc) call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - !EX_UTest - !Test that Clock Get Next Time Passed - !Testing ESMF_TimeOperator(==)(time1,time2) - write(failMsg, *) " Next Time not equal to current Time" - write(name, *) "Get Clock Next Time Test" - bool = (nextTime == currentTime) ! exercising Time == operator - call ESMF_Test((bool), & - name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm ringing - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm is ringing Test" - bool = ESMF_AlarmIsRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Forward Alarm Test Case 3" + call ForwardAlarm_Test3(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - !EX_UTest - !Test Alarm still ringing - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm is still ringing Test" - bool = ESMF_AlarmIsRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & - name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm Previously ringing - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Forward Alarm Test Case 4" + call ForwardAlarm_Test4(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - !print *, "bool is ", bool - ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm Previously ringing - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Forward Alarm Test Case 5" + call ForwardAlarm_Test5(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm still ringing - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm is still ringing Test" - bool = ESMF_AlarmIsRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Forward Alarm Test Case 6" + call ForwardAlarm_Test6(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest write(failMsg, *) " Did not return ESMF_SUCCESS" - write(name, *) "Turn off Ringing Alarm " - call ESMF_AlarmRingerOff(alarm, rc=rc) + write(name, *) "Forward Alarm Test Case 7" + call ForwardAlarm_Test7(rc=rc) call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- - - !EX_UTest - write(failMsg, *) " Did not return ESMF_SUCCESS or its ringing" - write(name, *) "Check if Alarm is not ringing Test" - isringing = ESMF_AlarmIsRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(.not.isringing), & - name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm Previously ringing - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Reverse Alarm Test Case 1" + call ReverseAlarm_Test1(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm Previously ringing - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Reverse Alarm Test Case 2" + call ReverseAlarm_Test2(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm Previously ringing - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(.not.bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Reverse Alarm Test Case 3" + call ReverseAlarm_Test3(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - call ESMF_AlarmDestroy (alarm, rc=rc) - call ESMF_ClockDestroy (clock, rc=rc) - - ! ---------------------------------------------------------------------------- - - ! Initialize clock - !EX_UTest - write(name, *) "Clock Initialization Test" - write(failMsg, *) " Did not return ESMF_SUCCESS" - clock = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 1", rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest write(failMsg, *) " Did not return ESMF_SUCCESS" - write(name, *) "Non-Sticky Alarm Time Initialization Test" - alarm = ESMF_AlarmCreate(name="alarm1", clock=clock, & - ringTime=alarmTime, sticky=.FALSE., rc=rc) + write(name, *) "Reverse Alarm Test Case 4" + call ReverseAlarm_Test4(rc=rc) call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- - !EX_UTest - !Test Alarm will ring next - call ESMF_ClockAdvance(clock, rc=rc) - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm will ring next Test" - willRingNext = ESMF_AlarmWillRingNext(alarm, timeStep=timeStep, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(.not.willRingNext), & - name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm will ring next - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm will ring next Test" - willRingNext = ESMF_AlarmWillRingNext(alarm, timeStep=timeStep, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(willRingNext), & - name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm ringing - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm is ringing Test" - bool = ESMF_AlarmIsRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Reverse Alarm Test Case 5" + call ReverseAlarm_Test5(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - !EX_UTest - !Test Alarm still ringing - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm is still ringing Test" - bool = ESMF_AlarmIsRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(.not.bool), & - name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm Previously ringing - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Reverse Alarm Test Case 6" + call ReverseAlarm_Test6(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - !print *, "bool is ", bool - ! ---------------------------------------------------------------------------- !EX_UTest - !Test Alarm Previously ringing - call ESMF_ClockAdvance(clock, rc=rc) - write(failMsg, *) " Did not return ESMF_SUCCESS or returned wrong state" - write(name, *) "Alarm Was Previously ringing Test" - bool = ESMF_AlarmWasPrevRinging(alarm, rc=rc) - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(.not.bool), & + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Forward then Reverse Alarm Test Case 1" + call ForwardReverseAlarm_Test1(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - ! ---------------------------------------------------------------------------- !EX_UTest - !Test destroying alarm write(failMsg, *) " Did not return ESMF_SUCCESS" - write(name, *) "Destroying alarm test" - call ESMF_AlarmDestroy (alarm, rc=rc) - call ESMF_Test(rc == ESMF_SUCCESS, name, failMsg, result, ESMF_SRCLINE) + write(name, *) "Forward then Reverse Alarm Test Case 2" + call ForwardReverseAlarm_Test2(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & + name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest - !Test destroying clock after alarm write(failMsg, *) " Did not return ESMF_SUCCESS" - write(name, *) "Destroying clock after alarm test" - call ESMF_ClockDestroy (clock, rc=rc) - call ESMF_Test(rc == ESMF_SUCCESS, name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Non-Sticky Alarms 1 - ! from Chris Hill via support issue 988241, bug 996229 - write(failMsg, *) " Did not return nstep=48, sstep=73, i=144, and ESMF_SUCCESS" - write(name, *) "Non-Sticky Alarm Test 1" - call ESMF_TimeIntervalSet(timeStep, s=100, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, s=150, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, h=3, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, h=1, & - calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, sticky=.false., rc=rc) - ! number of clock time steps alarm rings for - nstep = 0 - - ! starting time step number for first alarm ring - sstep = 0 - - ! total clock time steps - i = 0 - - ! run the clock - do while (.not. ESMF_ClockIsStopTime(clock2, rc=rc)) - i = i + 1 - call ESMF_ClockGetAlarmList(clock2, ESMF_ALARMLIST_RINGING, & - alarmList=alarmList, & - alarmCount=alarmCount, rc=rc) - if (alarmCount .gt. 0) then - if (sstep .eq. 0) sstep = i - nstep = nstep + 1 - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS) & - .and.(nstep.eq.48).and.(sstep.eq.73).and.(i.eq.144), & + write(name, *) "Forward then Reverse Alarm Test Case 3" + call ForwardReverseAlarm_Test3(rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - ! ---------------------------------------------------------------------------- - !EX_UTest - !Test Non-Sticky Alarms 2 - ! Test ringDuration and stopTime - write(failMsg, *) " Did not return nstep=12 and ESMF_SUCCESS" - write(name, *) "Non-Sticky Alarm Test 2" - call ESMF_TimeIntervalSet(timeStep, m=15, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, h=23, & - calendar=gregorianCalendar, rc=rc) - clock2 = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, h=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, h=2, rc=rc) - call ESMF_TimeIntervalSet(ringDuration, m=30, rc=rc) - call ESMF_TimeSet(alarmStopTime, yy=2000, mm=1, dd=1, h=13, & - calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, & - ringDuration=ringDuration, & - stopTime=alarmStopTime, sticky=.false., rc=rc) - ! number of clock time steps alarm rings for - nstep = 0 - - ! run the clock - do while (.not. ESMF_ClockIsStopTime(clock2, rc=rc)) - if (ESMF_AlarmIsRinging(alarm4)) then - nstep = nstep + 1 - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nstep.eq.12), & - name, failMsg, result, ESMF_SRCLINE) + !EX_UTest + write(failMsg, *) " Alarms with ClockSet... " + write(name, *) "Test ClockSet after alarm attached to clock " + rc = ESMF_SUCCESS + testPass = .true. + call Test_ClockSet(testPass, rc) + if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. + if (.not. testPass) print *, 'bad return codes discovered' + call ESMF_Test (testPass, name, failMsg, result, ESMF_SRCLINE) - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) ! ---------------------------------------------------------------------------- !EX_UTest - !Test Non-Sticky Alarms 3 - ! Test ringTimeStepCount and stopTime - write(failMsg, *) " Did not return nstep=18 and ESMF_SUCCESS" - write(name, *) "Non-Sticky Alarm Test 3" - call ESMF_TimeIntervalSet(timeStep, m=15, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, h=23, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, h=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, h=2, rc=rc) - call ESMF_TimeSet(alarmStopTime, yy=2000, mm=1, dd=1, h=13, & - calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, & - ringTimeStepCount=3, & - stopTime=alarmStopTime, sticky=.false., rc=rc) - ! number of clock time steps alarm rings for - nstep = 0 - - ! run the clock - do while (.not. ESMF_ClockIsStopTime(clock2, rc=rc)) - if (ESMF_AlarmIsRinging(alarm4)) then - nstep = nstep + 1 - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nstep.eq.18), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) + ! The following tests are from Ben@NASA's support ticket 3614994 + write(failMsg, *) " Alarms did not rewind correct number of times " + write(name, *) "Test multiple alarms rewind correct number of times " + rc = ESMF_SUCCESS + testPass = .true. + call Test_ReverseAlarms(testPass, rc) + if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. + if (.not. testPass) print *, 'bad return codes discovered' + call ESMF_Test (testPass, name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest - !Test Non-Sticky Alarms 4 - ! Test ringTimeStepCount precedence over ringDuration - write(failMsg, *) " Did not return nstep=18 and ESMF_SUCCESS" - write(name, *) "Non-Sticky Alarm Test 4" - call ESMF_TimeIntervalSet(timeStep, m=15, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, h=23, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, h=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, h=2, rc=rc) - - call ESMF_TimeIntervalSet(ringDuration, m=30, rc=rc) - - call ESMF_TimeSet(alarmStopTime, yy=2000, mm=1, dd=1, h=13, & - calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, & - ringTimeStepCount=3, & - ringDuration=ringDuration, & - stopTime=alarmStopTime, sticky=.false., rc=rc) - ! number of clock time steps alarm rings for - nstep = 0 - - ! run the clock - do while (.not. ESMF_ClockIsStopTime(clock2, rc=rc)) - if (ESMF_AlarmIsRinging(alarm4)) then - nstep = nstep + 1 - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nstep.eq.18), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) + write(failMsg, *) " Alarms hang... " + write(name, *) "Test multiple alarms replay without hanging " + rc = ESMF_SUCCESS + testPass = .true. + call Test_AlarmHang(testPass, rc) + if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. + if (.not. testPass) print *, 'bad return codes discovered' + call ESMF_Test (testPass, name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest - !Test Non-Sticky Alarms 5 - ! Test reverse non-sticky alarm - write(failMsg, *) "Did not return nstep=24, forwardCount=96, reverseCount=0, etc., and ESMF_SUCCESS" - write(name, *) "Non-Sticky Alarm Test 5" - call ESMF_TimeIntervalSet(timeStep, m=15, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, h=23, & - calendar=gregorianCalendar, rc=rc) - clock2 = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, h=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, h=2, rc=rc) - call ESMF_TimeIntervalSet(ringDuration, m=30, rc=rc) - call ESMF_TimeSet(alarmStopTime, yy=2000, mm=1, dd=1, h=13, & - calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, & - ringDuration=ringDuration, & - stopTime=alarmStopTime, sticky=.false., rc=rc) - ! number of clock time steps alarm rings for - nstep = 0 - - ! number of times the clock has been run - nclock = 0 - - do while (nclock < 2) - ! run the clock - do while (.not. ESMF_ClockIsDone(clock2, rc=rc)) - !call ESMF_ClockGet(clock2, currTime=currentTime, rc=rc) - !call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, m=m, rc=rc) - !print *, mm, "/", dd, "/", yy, " ", h, ":", m - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4)) then - nstep = nstep + 1 - !print *, "on" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - else - !print *, "off" - endif - !call ESMF_AlarmPrint(alarm4, options="ringtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - if (nclock.eq.0) then - call ESMF_ClockGet(clock2, direction=forwardDirection, & - advanceCount=forwardCount, rc=rc) - !print *, "forwardCount = ", forwardCount - else - call ESMF_ClockGet(clock2, direction=reverseDirection, & - advanceCount=reverseCount, rc=rc) - !print *, "reverseCount = ", reverseCount - endif - - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_REVERSE, rc=rc) - nclock = nclock + 1 - - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nstep.eq.24).and. & - (forwardCount.eq.96).and.(reverseCount.eq.0).and. & - (forwardDirection.eq.ESMF_DIRECTION_FORWARD).and. & - (reverseDirection.eq.ESMF_DIRECTION_REVERSE).and. & - ESMF_ClockIsReverse(clock2), & - name, failMsg, result, ESMF_SRCLINE) - - !print *, "nstep = ", nstep, " nclock = ", nclock - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) + write(failMsg, *) " Alarms with ring intervals equal to clock interval, incorrect behavior " + write(name, *) "Test running an alarms forward-reverse-forward with ring interval equal to clock interval " + rc = ESMF_SUCCESS + testPass = .true. + call Test_AlarmAdvRewind(testPass, rc) + if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. + if (.not. testPass) print *, 'bad return codes discovered' + call ESMF_Test (testPass, name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- !EX_UTest - !Test Non-Sticky Alarms 6 - ! Test reverse non-sticky alarm with negative timestep - write(failMsg, *) "Did not return nring=48, forwardCount=96, reverseCount=0, etc., and ESMF_SUCCESS" - write(name, *) "Non-Sticky Alarm Test 6" - call ESMF_TimeIntervalSet(timeStep, m=-15, rc=rc) - call ESMF_TimeSet(startTime, yy=2000, mm=1, dd=1, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=1999, mm=12, dd=31, h=23, & - calendar=gregorianCalendar, rc=rc) - clock2 = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, h=-2, rc=rc) - call ESMF_TimeIntervalSet(ringDuration, m=-30, rc=rc) - call ESMF_TimeSet(alarmStopTime, yy=1999, mm=12, dd=31, h=21, & - calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, & - ringDuration=ringDuration, & - stopTime=alarmStopTime, & - sticky=.false., rc=rc) - ! number of clock time steps alarm rings for - nring = 0 - - ! number of times the clock has been run - nclock = 0 - - do while (nclock < 2) - ! run the clock - do while (.not. ESMF_ClockIsDone(clock2, rc=rc)) - call ESMF_ClockGet(clock2, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, m=m, rc=rc) - !print *, mm, "/", dd, "/", yy, " ", h, ":", m - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4)) then - nring = nring + 1 - !print *, "ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - endif - !call ESMF_AlarmPrint(alarm4, options="ringbegin string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmPrint(alarm4, options="ringtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - if (nclock.eq.0) then - call ESMF_ClockGet(clock2, direction=forwardDirection, & - advanceCount=forwardCount, rc=rc) - !print *, "forwardCount = ", forwardCount - else - call ESMF_ClockGet(clock2, direction=reverseDirection, & - advanceCount=reverseCount, rc=rc) - !print *, "reverseCount = ", reverseCount - endif - - !print *, "Going in REVERSE ..." - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_REVERSE, rc=rc) - nclock = nclock + 1 - - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nring.eq.48).and. & - (forwardCount.eq.96).and.(reverseCount.eq.0).and. & - (forwardDirection.eq.ESMF_DIRECTION_FORWARD).and. & - (reverseDirection.eq.ESMF_DIRECTION_REVERSE).and. & - ESMF_ClockIsReverse(clock2), & - name, failMsg, result, ESMF_SRCLINE) - - !print *, "nring = ", nring, " nclock = ", nclock - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) + write(failMsg, *) " Alarms reverse with sticky set... " + write(name, *) "Test running an alarm reverse with sticky bit set " + rc = ESMF_SUCCESS + testPass = .true. + call Test_RevAlarmSticky(60._ESMF_KIND_R8, testPass, rc) + if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. + if (.not. testPass) print *, 'bad return codes discovered' + call ESMF_Test (testPass, name, failMsg, result, ESMF_SRCLINE) ! ---------------------------------------------------------------------------- +#if 1 !EX_UTest - !Test Sticky Alarms 1 - ! Test reverse sticky alarm - write(failMsg, *) " Did not return nstep=2 and ESMF_SUCCESS" - write(name, *) "Sticky Alarm Test 1" - call ESMF_TimeIntervalSet(timeStep, m=15, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, h=23, & - calendar=gregorianCalendar, rc=rc) - clock2 = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, h=1, & - calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, rc=rc) - ! number of clock time steps alarm rings for - nstep = 0 - - ! number of times the clock has been run - nclock = 0 - - do while (nclock < 2) - ! run the clock - do while (.not. ESMF_ClockIsDone(clock2, rc=rc)) - call ESMF_ClockGet(clock2, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, m=m, rc=rc) - !print *, mm, "/", dd, "/", yy, " ", h, ":", m - if (ESMF_AlarmIsRinging(alarm4)) then - nstep = nstep + 1 - !print *, "on" - call ESMF_AlarmRingerOff(alarm4, rc=rc) - else - !print *, "off" - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_REVERSE, rc=rc) - nclock = nclock + 1 - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nstep.eq.2), & - name, failMsg, result, ESMF_SRCLINE) - - !print *, "nstep = ", nstep, " nclock = ", nclock - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) + write(failMsg, *) " Alarms with getPrevRingTime... " + write(name, *) "Test getPrevRingTime... after alarm attached to clock " + rc = ESMF_SUCCESS + testPass = .true. + call Test_GetPrevRingTime(testPass, rc) + if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. + if (.not. testPass) print *, 'bad return codes discovered' + call ESMF_Test (testPass, name, failMsg, result, ESMF_SRCLINE) +#endif ! ---------------------------------------------------------------------------- + ! ---------------------------------------------------------------------------- +#endif - !EX_UTest - !Test Sticky Alarms 2 - ! Test reverse interval sticky alarm - write(failMsg, *) " Did not return nstep=23 and ESMF_SUCCESS" - write(name, *) "Sticky Alarm Test 2" - call ESMF_TimeIntervalSet(timeStep, m=15, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, h=23, & - calendar=gregorianCalendar, rc=rc) - clock2 = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, h=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, h=2, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, rc=rc) - ! number of clock time steps alarm rings for - nstep = 0 - - ! number of times the clock has been run - nclock = 0 - - do while (nclock < 2) - ! run the clock - do while (.not. ESMF_ClockIsDone(clock2, rc=rc)) - call ESMF_ClockGet(clock2, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, m=m, rc=rc) - !print *, mm, "/", dd, "/", yy, " ", h, ":", m - if (ESMF_AlarmIsRinging(alarm4)) then - nstep = nstep + 1 - !print *, "on" - call ESMF_AlarmRingerOff(alarm4, rc=rc) - else - !print *, "off" - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_REVERSE, rc=rc) - nclock = nclock + 1 - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nstep.eq.23), & - name, failMsg, result, ESMF_SRCLINE) + ! destroy calendars + call ESMF_CalendarDestroy(esmf_360dayCalendar, rc=rc) + call ESMF_CalendarDestroy(no_leapCalendar, rc=rc) + call ESMF_CalendarDestroy(julianCalendar, rc=rc) + call ESMF_CalendarDestroy(gregorianCalendar, rc=rc) - !print *, "nstep = ", nstep, " nclock = ", nclock + ! finalize ESMF framework + call ESMF_TestEnd(ESMF_SRCLINE) - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) +#if 1 + contains - ! ---------------------------------------------------------------------------- + subroutine test_reverseAlarms(testPass, rc) + implicit none - !EX_UTest - !Test Sticky Alarms 3 - ! Test reverse one-shot sticky alarms per WRF use case - ! From Tom Henderson/WRF + logical, intent(out) :: testPass + integer :: status,rc - write(name, *) "Sticky Alarm Test 3" - write(failMsg, *) " Alarms did not turn on/off at the correct time/iteration or did not return ESMF_SUCCESS" + type(ESMF_TimeInterval) :: dt + type(ESMF_Time) :: start_time, clock_start, clock_end + type(ESMF_Clock) :: clock + character(len=5) :: add_2nd + integer :: nargs - call ESMF_TimeIntervalSet(timeStep, h=1, rc=rc) - call ESMF_TimeSet(startTime, yy=2005, mm=6, dd=15, h=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2005, mm=6, dd=15, h=5, & - calendar=gregorianCalendar, rc=rc) - domainClock = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="WRF Clock", rc=rc) + type(ESMF_TimeInterval) :: tint + type(ESMF_Alarm) :: esmfalarm, firstalarm - call ESMF_TimeSet(beforeAlarmTime, yy=2005, mm=6, dd=15, h=2, & - calendar=gregorianCalendar, rc=rc) - beforeAlarm = ESMF_AlarmCreate(clock=domainClock, & - ringTime=beforeAlarmTime, rc=rc) + integer :: i,nstep, nrings1, nrings2 - call ESMF_TimeSet(afterAlarmTime, yy=2005, mm=6, dd=15, h=3, & - calendar=gregorianCalendar, rc=rc) - afterAlarm = ESMF_AlarmCreate(clock=domainClock, & - ringTime=afterAlarmTime, rc=rc) - - ! any single failure will cause the whole test to fail - testPass = .true. - - ! track loop iterations - iteration = 0 - - call ESMF_ClockGet(domainClock, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, rc=rc) - !print *, "Begin" - !print *, mm, "/", dd, "/", yy, " ", h, ": 0" - - ! run the clock forward - do while (.not. ESMF_ClockIsDone(domainClock, rc=rc)) - iteration = iteration + 1 - !print *, "Iteration = ", iteration - - if (ESMF_AlarmIsRinging(beforeAlarm, rc=rc)) then - if (iteration .ne. 2 .or. h .ne. 2) then - testPass = .false. - endif - !print *, " beforeAlarm on" - call ESMF_AlarmRingerOff(beforeAlarm, rc=rc) - else - !print *, " beforeAlarm off" - endif - - ! would call WRF solver here, before clock advance - !print *, " Solve" - - call ESMF_ClockAdvance(domainClock, rc=rc) - call ESMF_ClockGet(domainClock, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, rc=rc) - !print *, " ClockAdvance()" - !print *, mm, "/", dd, "/", yy, " ", h, ": 0" - - if (ESMF_AlarmIsRinging(afterAlarm, rc=rc)) then - if (iteration .ne. 2 .or. h .ne. 3) then - testPass = .false. - endif - !print *, " afterAlarm on" - call ESMF_AlarmRingerOff(afterAlarm, rc=rc) - else - !print *, " afterAlarm off" - endif - enddo - - ! run the clock backwards - call ESMF_ClockSet(domainClock, direction=ESMF_DIRECTION_REVERSE, rc=rc) - !print * - !print *, "domainClock set in reverse" - !print * - - do while (.not. ESMF_ClockIsDone(domainClock, rc=rc)) - !print *, "Iteration = ", iteration - - if (ESMF_AlarmIsRinging(afterAlarm, rc=rc)) then - if (iteration .ne. 2 .or. h .ne. 3) then - testPass = .false. - endif - !print *, " afterAlarm on" - call ESMF_AlarmRingerOff(afterAlarm, rc=rc) - else - !print *, " afterAlarm off" - endif - - ! advance clock - call ESMF_ClockAdvance(domainClock, rc=rc) - call ESMF_ClockGet(domainClock, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, rc=rc) - !print *, " ClockAdvance()" - !print *, mm, "/", dd, "/", yy, " ", h, ": 0" - - ! would call WRF solver here, after clock advance - !print *, " Solve" - - if (ESMF_AlarmIsRinging(beforeAlarm, rc=rc)) then - if (iteration .ne. 2 .or. h .ne. 2) then - testPass = .false. - endif - !print *, " beforeAlarm on" - call ESMF_AlarmRingerOff(beforeAlarm, rc=rc) - else - !print *, " beforeAlarm off" - endif - - iteration = iteration - 1 - enddo - - call ESMF_Test(testPass.and.(rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(afterAlarm, rc=rc) - call ESMF_AlarmDestroy(beforeAlarm, rc=rc) - call ESMF_ClockDestroy(domainClock, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Sticky Alarms 4 - ! Test reverse *interval* sticky alarms; variation on WRF use case above - - write(name, *) "Sticky Alarm Test 4" - write(failMsg, *) " Alarms did not turn on/off at the correct time/iteration or did not return ESMF_SUCCESS" - - call ESMF_TimeIntervalSet(timeStep, h=1, rc=rc) - call ESMF_TimeSet(startTime, yy=2005, mm=6, dd=15, h=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2005, mm=6, dd=15, h=10, & - calendar=gregorianCalendar, rc=rc) - domainClock = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="WRF Clock", rc=rc) - - call ESMF_TimeSet(beforeAlarmTime, yy=2005, mm=6, dd=15, h=2, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, h=3, rc=rc) - beforeAlarm = ESMF_AlarmCreate(clock=domainClock, & - ringTime=beforeAlarmTime, & - ringInterval=alarmStep, rc=rc) - - call ESMF_TimeSet(afterAlarmTime, yy=2005, mm=6, dd=15, h=3, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep2, h=2, rc=rc) - afterAlarm = ESMF_AlarmCreate(clock=domainClock, & - ringTime=afterAlarmTime, & - ringInterval=alarmStep2, rc=rc) - - ! any single failure will cause the whole test to fail - testPass = .true. - - ! track loop iterations - iteration = 0 - - call ESMF_ClockGet(domainClock, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, rc=rc) - !print *, "Begin" - !print *, mm, "/", dd, "/", yy, " ", h, ": 0" - - ! run the clock forward - do while (.not. ESMF_ClockIsDone(domainClock, rc=rc)) - iteration = iteration + 1 - !print *, "Iteration = ", iteration - - if (ESMF_AlarmIsRinging(beforeAlarm, rc=rc)) then - if ((iteration .ne. 2 .or. h .ne. 2).and. & - (iteration .ne. 5 .or. h .ne. 5).and. & - (iteration .ne. 8 .or. h .ne. 8)) then - testPass = .false. - endif - !print *, " beforeAlarm on" - call ESMF_AlarmRingerOff(beforeAlarm, rc=rc) - else - !print *, " beforeAlarm off" - endif - - ! would call WRF solver here, before clock advance - !print *, " Solve" - - call ESMF_ClockAdvance(domainClock, rc=rc) - call ESMF_ClockGet(domainClock, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, rc=rc) - !print *, " ClockAdvance()" - !print *, mm, "/", dd, "/", yy, " ", h, ": 0" - - if (ESMF_AlarmIsRinging(afterAlarm, rc=rc)) then - if ((iteration .ne. 2 .or. h .ne. 3).and. & - (iteration .ne. 4 .or. h .ne. 5).and. & - (iteration .ne. 6 .or. h .ne. 7).and. & - (iteration .ne. 8 .or. h .ne. 9)) then - testPass = .false. - endif - !print *, " afterAlarm on" - call ESMF_AlarmRingerOff(afterAlarm, rc=rc) - else - !print *, " afterAlarm off" - endif - enddo - - ! run the clock backwards - call ESMF_ClockSet(domainClock, direction=ESMF_DIRECTION_REVERSE, rc=rc) - !print * - !print *, "domainClock set in reverse" - !print * - - do while (.not. ESMF_ClockIsDone(domainClock, rc=rc)) - !print *, "Iteration = ", iteration - - if (ESMF_AlarmIsRinging(afterAlarm, rc=rc)) then - if ((iteration .ne. 2 .or. h .ne. 3).and. & - (iteration .ne. 4 .or. h .ne. 5).and. & - (iteration .ne. 6 .or. h .ne. 7).and. & - (iteration .ne. 8 .or. h .ne. 9)) then - testPass = .false. - endif - !print *, " afterAlarm on" - call ESMF_AlarmRingerOff(afterAlarm, rc=rc) - else - !print *, " afterAlarm off" - endif - - ! advance clock - call ESMF_ClockAdvance(domainClock, rc=rc) - call ESMF_ClockGet(domainClock, currTime=currentTime, rc=rc) - call ESMF_TimeGet(currentTime, yy=yy, mm=mm, dd=dd, h=h, rc=rc) - !print *, " ClockAdvance()" - !print *, mm, "/", dd, "/", yy, " ", h, ": 0" - - ! would call WRF solver here, after clock advance - !print *, " Solve" - - if (ESMF_AlarmIsRinging(beforeAlarm, rc=rc)) then - if ((iteration .ne. 2 .or. h .ne. 2).and. & - (iteration .ne. 5 .or. h .ne. 5).and. & - (iteration .ne. 8 .or. h .ne. 8)) then - testPass = .false. - endif - !print *, " beforeAlarm on" - call ESMF_AlarmRingerOff(beforeAlarm, rc=rc) - else - !print *, " beforeAlarm off" - endif - - iteration = iteration - 1 - enddo - - call ESMF_Test(testPass.and.(rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(afterAlarm, rc=rc) - call ESMF_AlarmDestroy(beforeAlarm, rc=rc) - call ESMF_ClockDestroy(domainClock, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Sticky Alarms 5 - ! Test delay in checking for ringing sticky alarms, - ! from James Geiger in #2825456, case #2 in his alarm_test.f90 reproducer - write(name, *) "Sticky Alarm Test 5" - write(failMsg, *) " Alarm did not ring at the correct times or did not return ESMF_SUCCESS" - call ESMF_TimeIntervalSet(timeStep, s=3600, rc=rc) - call ESMF_TimeSet(startTime, yy=2000, mm=1, dd=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=3, & - calendar=gregorianCalendar, rc=rc) - clock2 = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2000, mm=1, dd=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, h=3, rc=rc) - alarmTime = alarmTime + alarmStep - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, rc=rc) - testPass = .false. - iteration = 0 - nring = 0 - do while (.not.ESMF_ClockIsStopTime(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (iteration .eq. 10) then - ! waiting period is over, clear any alarm which may have occurred - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - endif - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (iteration .gt. 10) then - ! process any alarm occuring after initial 10 hour waiting period - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - endif - end do - - ! test in REVERSE mode (not from James) - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_REVERSE, rc=rc) - - do while (.not.ESMF_ClockIsDone(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - end do - - ! test double back in FORWARD mode (not from James) - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_FORWARD, rc=rc) - - do while (.not.ESMF_ClockIsDone(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - end do - - !print *, "alarm4 rang ", nring, " times, clock stepped ", iteration, " times." - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (nring.eq.44 .and. iteration.eq.144) testPass = .true. - call ESMF_Test(testPass.and.(rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Sticky Alarms 6 - ! Test timeStep == ringInterval, from James Geiger in #2910203 - write(name, *) "Sticky Alarm Test 6" - write(failMsg, *) " Alarm did not ring at the correct times or did not return ESMF_SUCCESS" - call ESMF_TimeIntervalSet(timeStep, s=900, rc=rc) - call ESMF_TimeSet(startTime, yy=2003, mm=9, dd=1, & - calendar=gregorianCalendar, rc=rc) - ! dd=3, instead of original 30 in Jims report, to shorten test run time - call ESMF_TimeSet(stopTime, yy=2003, mm=9, dd=3, & - calendar=gregorianCalendar, rc=rc) - clock2 = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="The Clock", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2003, mm=9, dd=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, s=900, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, rc=rc) - testPass = .false. - iteration = 0 - nring = 0 - do while (.not.ESMF_ClockIsStopTime(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - end do - - ! test in REVERSE mode (not from James) - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_REVERSE, rc=rc) - - do while (.not.ESMF_ClockIsDone(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - end do - - ! test double back in FORWARD mode (not from James), - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_FORWARD, rc=rc) - - do while (.not.ESMF_ClockIsDone(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - end do - - !print *, "alarm4 rang ", nring, " times, clock stepped ", iteration, " times." - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (nring.eq.576 .and. iteration.eq.576) testPass = .true. - call ESMF_Test(testPass.and.(rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Sticky Alarms 7 - ! Test timeStep > ringInterval, inspired by James Geiger in #2910203 - write(name, *) "Sticky Alarm Test 7" - write(failMsg, *) " Alarm did not ring at the correct times or did not return ESMF_SUCCESS" - call ESMF_TimeIntervalSet(timeStep, s=1800, rc=rc) - call ESMF_TimeSet(startTime, yy=2003, mm=9, dd=1, & - calendar=gregorianCalendar, rc=rc) - ! dd=3, instead of original 30 in Jims report, to save test run time - call ESMF_TimeSet(stopTime, yy=2003, mm=9, dd=3, & - calendar=gregorianCalendar, rc=rc) - clock2 = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="The Clock", rc=rc) - call ESMF_TimeSet(alarmTime, yy=2003, mm=9, dd=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, s=900, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, rc=rc) - testPass = .false. - iteration = 0 - nring = 0 - do while (.not.ESMF_ClockIsStopTime(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - !call ESMF_AlarmPrint(alarm4, options="ringtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - end do - !print *, "At end of 1st forward run, nring = ", nring - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - ! TODO: test in REVERSE mode (not from James) - ! currently doesn't ring in REVERSE - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_REVERSE, rc=rc) - - do while (.not.ESMF_ClockIsDone(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - !call ESMF_AlarmPrint(alarm4, options="ringtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - end do - !print *, "At end of reverse run, nring = ", nring - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - ! TODO: test double back in FORWARD mode (not from James) - ! currently doesn't work until back into day 2 - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_FORWARD, rc=rc) - - do while (.not.ESMF_ClockIsDone(clock2, rc=rc)) - iteration = iteration + 1 - !print *, "clock2 timestep ", iteration - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock2, rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock2, options="currTime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm4, rc=rc)) then - nring = nring + 1 - !print *, "alarm4 is ringing!" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmRingerOff(alarm4, rc=rc) - endif - !call ESMF_AlarmPrint(alarm4, options="ringtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - end do - !print *, "At end of 2nd forward run, nring = ", nring - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - !print *, "alarm4 rang ", nring, " times, clock stepped ", iteration, " times." - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (nring.eq.288 .and. iteration.eq.288) testPass = .true. - call ESMF_Test(testPass.and.(rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Fractional Time Alarms 1 - write(failMsg, *) " Did not return nstep=8, and ESMF_SUCCESS" - write(name, *) "Fractional Time Alarm Test 1" - call ESMF_TimeIntervalSet(timeStep, ms=10, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, ms=100, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, m=59, s=59, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=1999, mm=12, dd=31, h=23, m=59, s=59, & - ms=200, calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, rc=rc) - - ! number of clock time steps alarm rings for - nstep = 0 - - ! run the clock - do while (.not. ESMF_ClockIsStopTime(clock2, rc=rc)) - if (ESMF_AlarmIsRinging(alarm4)) then - nstep = nstep + 1 - call ESMF_AlarmRingerOff(alarm4) - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nstep.eq.8), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Fractional Time Alarms 2 - write(failMsg, *) " Did not return nstep=4, and ESMF_SUCCESS" - write(name, *) "Fractional Time Alarm Test 2" - call ESMF_TimeIntervalSet(timeStep, sN=-22, sD=7, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, sN=-44, sD=7, rc=rc) - call ESMF_TimeSet(startTime, yy=2000, mm=1, dd=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=1999, mm=12, dd=31, h=23, m=59, s=28, & - sN=4, sD=7, calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=1999, mm=12, dd=31, h=23, m=59, s=53, & - sN=2, sD=7, calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, rc=rc) - - !print *, "stopTime = " - !call ESMF_TimePrint(stopTime) - !print *, "alarmTime = " - !call ESMF_TimePrint(alarmTime) - !print *, "timeStep = " - !call ESMF_TimeIntervalPrint(timeStep) - !print *, "alarmStep = " - !call ESMF_TimeIntervalPrint(alarmStep) - - ! number of clock time steps alarm rings for - nstep = 0 - - ! run the clock - do while (.not. ESMF_ClockIsStopTime(clock2, rc=rc)) - if (ESMF_AlarmIsRinging(alarm4)) then - nstep = nstep + 1 - call ESMF_AlarmRingerOff(alarm4) - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nstep.eq.4), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm ringTime = clock startTime => should ring immediately - ! upon alarm creation. - write(failMsg, *) " Did not return alarm ringing and ESMF_SUCCESS" - write(name, *) "Test Alarm ringTime = Clock startTime" - call ESMF_TimeIntervalSet(timeStep, ms=10, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, m=59, s=59, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=startTime, rc=rc) - - bool = ESMF_AlarmIsRinging(alarm4) - - call ESMF_Test((bool.and.rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm ringTime = clock startTime *and* ringInterval specified - ! upon alarm creation => should ring immediately. Test 1 - ! From Tom Black in Support ticket 1989990. - write(failMsg, *) " Did not return alarm ringing and ESMF_SUCCESS" - write(name, *) "Alarm ringTime = Clock startTime with ringInterval, test 1" - call ESMF_TimeIntervalSet(timeStep, m=2, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, s=60, rc=rc) - call ESMF_TimeSet(startTime, yy=2007, mm=9, dd=18, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2007, mm=9, dd=19, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - alarm4 = ESMF_AlarmCreate(clock=clock2, ringTime=startTime, & - ringInterval=alarmStep, rc=rc) - - call ESMF_AlarmGet(alarm4, ringTime=alarmTime, rc=rc) - bool = ESMF_AlarmIsRinging(alarm4) - - call ESMF_Test(((alarmTime==startTime+alarmStep).and.bool.and. & - rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm ringTime = clock startTime *and* ringInterval specified - ! upon alarm creation => should ring immediately. Test 2 - ! From Tom Black in Support ticket 1989990. - write(failMsg, *) " Did not return alarm ringing 21 times and ESMF_SUCCESS" - write(name, *) "Alarm ringTime = Clock startTime with ringInterval, test 2" - - ! any single failure will cause the whole test to fail - testPass = .true. - - call ESMF_TimeIntervalSet(timeStep, s=60, rc=rc) - call ESMF_TimeIntervalSet(runDuration, s=3600, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, s=180, rc=rc) - call ESMF_TimeSet(startTime, yy=2007, mm=9, dd=18, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, & - runDuration=runDuration, name="Clock 2", rc=rc) - - ! Tom Black's AlarmCreate() ... - alarm4=ESMF_AlarmCreate( & - name ='ALARM Recv from Parent' & !<-- Name of Alarm - ,clock =clock2 & !<-- Each domain's ATM Driver Clock - ,ringTime =startTime & !<-- First time the Alarm rings (ESMF) - ,ringInterval =alarmStep & !<-- Recv from my parent at this - ! frequency (ESMF) - ,ringTimeStepCount=1 & !<-- The Alarm rings for this many - ! timesteps - ,sticky =.false. & !<-- Alarm does not ring until turned off - ,rc =rc) - - ! run the clock - ringCount = 0 - do while (.not. ESMF_ClockIsStopTime(clock2, rc=rc)) - call ESMF_ClockGet(clock2, advanceCount=forwardCount, rc=rc) - !print *, "At clock timestep #", forwardCount - - call ESMF_AlarmGet(alarm4, clock=clock1, rc=rc) - call ESMF_ClockGet(clock1, currTime=currentTime2, rc=rc) - !print *, "Alarm's clock's currTime ..." - !call ESMF_TimePrint(currentTime2, options="string", rc=rc) - if (clock2 /= clock1) then - testPass = .false. - !print *, "Alarm's clock and domain clock are *not* the same" - endif - - call ESMF_ClockGet(clock2, currTime=currentTime, prevTime=prevTime, & - rc=rc) - !print *, "Clock's currTime and prevTime ..." - !call ESMF_TimePrint(currentTime, options="string", rc=rc) - !call ESMF_TimePrint(prevTime, options="string", rc=rc) - - if (currentTime /= currentTime2) then - testPass = .false. - !print *, "Alarm's clock's currTime is *not* the same as the domain clock's currTime" - endif - - call ESMF_AlarmGet(alarm4, ringTime=alarmTime, rc=rc) - !print *, "Alarm's ringTime ..." - !call ESMF_TimePrint(alarmTime, options="string", rc=rc) - - if (ESMF_AlarmIsRinging(alarm=alarm4, rc=rc)) then - ringCount = ringCount + 1 - !print *, " Alarm is ringing" - if (alarmTime /= currentTime+alarmStep) then - testPass = .false. - !print *, " Alarm ringTime *not* equal to clock currTime + alarmStep" - endif - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - call ESMF_ClockGet(clock2, advanceCount=forwardCount, rc=rc) - !print *, "End of clock run: At clock timestep #", forwardCount - if (ESMF_AlarmIsRinging(alarm=alarm4, rc=rc)) then - !print *, " Alarm is ringing" - ringCount = ringCount + 1 - endif - - ! Alarm should have rung 21 times, including from timestep 0 (upon alarm - ! creation) through timestep 60 (end of clock run) inclusive. - ! Final ringTime should be one alarmStep past the clock end time. - call ESMF_AlarmGet(alarm4, ringTime=alarmTime, rc=rc) - call ESMF_Test(((alarmTime==startTime+runDuration+alarmStep).and. & - ringCount==21.and.testPass.and. & - rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE) - !print *, "Alarm rang ", ringCount, " times." - !print *, "Alarm's final ringTime, after final clockAdvance() ..." - !call ESMF_TimePrint(alarmTime, options="string", rc=rc) - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm ringTime = clock startTime *and* ringInterval specified - ! upon alarm creation => should ring immediately. Test 3, test REVERSE - ! back to clock starttime. Robustness test for solution to - ! Tom Black problem in Support ticket 1989990. - write(failMsg, *) " Did not return alarm ringing 41 times and ESMF_SUCCESS" - write(name, *) "Alarm ringTime = Clock startTime with ringInterval, test 3 (reverse)" - - call ESMF_TimeIntervalSet(timeStep, s=60, rc=rc) - call ESMF_TimeIntervalSet(runDuration, s=3600, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, s=180, rc=rc) - call ESMF_TimeSet(startTime, yy=2007, mm=9, dd=18, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, & - runDuration=runDuration, name="Clock 2", rc=rc) - - ! like Tom Black's AlarmCreate(), but sticky - alarm4=ESMF_AlarmCreate( & - name ='ALARM Recv from Parent' & !<-- Name of Alarm - ,clock =clock2 & !<-- Each domain's ATM Driver Clock - ,ringTime =startTime & !<-- First time the Alarm rings (ESMF) - ,ringInterval =alarmStep & !<-- Recv from my parent at this - ! frequency (ESMF) - ,rc =rc) - - ! number of clock time steps alarm rings for - nring = 0 - - ! number of times the clock has been run - nclock = 0 - - do while (nclock < 2) - ! run the clock - do while (.not. ESMF_ClockIsDone(clock2, rc=rc)) - if (ESMF_AlarmIsRinging(alarm4)) then - nring = nring + 1 - !print *, "on" - call ESMF_AlarmRingerOff(alarm4, rc=rc) - else - !print *, "off" - endif - call ESMF_ClockAdvance(clock2, rc=rc) - enddo - - if (nclock.eq.0) then - call ESMF_ClockGet(clock2, direction=forwardDirection, & - advanceCount=forwardCount, rc=rc) - !print *, "forwardCount = ", forwardCount - else - call ESMF_ClockGet(clock2, direction=reverseDirection, & - advanceCount=reverseCount, rc=rc) - !print *, "reverseCount = ", reverseCount - endif - - call ESMF_ClockSet(clock2, direction=ESMF_DIRECTION_REVERSE, rc=rc) - nclock = nclock + 1 - enddo - - ! count ring at the end point - if (ESMF_AlarmIsRinging(alarm4)) then - nring = nring + 1 - !print *, "on" - call ESMF_AlarmRingerOff(alarm4, rc=rc) - else - !print *, "off" - endif - - call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(nring.eq.41).and. & - (forwardCount.eq.60).and.(reverseCount.eq.0).and. & - (forwardDirection.eq.ESMF_DIRECTION_FORWARD).and. & - (reverseDirection.eq.ESMF_DIRECTION_REVERSE).and. & - ESMF_ClockIsReverse(clock2), & - name, failMsg, result, ESMF_SRCLINE) - - !print *, "nring = ", nring, " nclock = ", nclock - - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm ringTime = clock startTime *and* ringInterval specified - ! upon alarm creation *and* after clock restored from restart state -- - ! with 2 calls to ESMF_ClockSet() -- should ring immediately. - ! This approach to restart will become obsolete with the implementation - ! of WriteRestart()/ReadStart(), but it should remain technically valid, - ! along with this unit test. From Ratko Vasic in ticket #2685243. - - write(failMsg, *) " Did not return alarm ringing and ESMF_SUCCESS" - write(name, *) "Alarm ringTime = Clock startTime with ringInterval, after clock restore" - - call ESMF_TimeIntervalSet(timeStep, m=3, rc=rc) - call ESMF_TimeIntervalSet(TIMEINTERVAL_HISTORY, h=3, rc=rc) - call ESMF_TimeSet(startTime, mm=9, dd=18, yy=2007, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, mm=9, dd=19, yy=2007, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(currTime, mm=9, dd=18, yy=2007, h=12, & - calendar=gregorianCalendar, rc=rc) - - CLOCK_ATM=ESMF_ClockCreate( & - name ='CLOCK_ATM' & !<-- The ATM Clock's name - ,timeStep =timeStep & !<-- The fundamental timestep in - ! this component - ,startTime =startTime & !<-- Start time of simulation - ,stopTime =stopTime & !<-- Stop time of simulation - ,rc =rc) - - ! 1st ClockSet() to reset currTime and advanceCount for restart - call ESMF_ClockSet( & - clock =CLOCK_ATM & !<-- The ATM Component's Clock - ,currtime =currTime & !<-- Current time of simulation - ,advanceCount=240_ESMF_KIND_I8 & !<-- Timestep at this current time - ,rc =rc) - - ! 2nd ClockSet() with same values that CLOCK_ATM already has; should - ! have no affect - call ESMF_ClockSet(clock =CLOCK_ATM & - ,currtime =currTime & - ,starttime=startTime & - ,rc =rc) - - !call ESMF_ClockPrint(CLOCK_ATM, rc=rc) - - ALARM_HISTORY=ESMF_AlarmCreate( & - name ='ALARM_HISTORY' & - ,clock =CLOCK_ATM & ! <-- ATM Clock - ,ringTime =currTime & ! <-- Forecast/Restart start - ! time (ESMF) - ,ringInterval =TIMEINTERVAL_HISTORY & ! <-- Time interval between - ,ringTimeStepCount=1 & ! <-- The Alarm rings for - ! this many timesteps - ,sticky =.false. & ! <-- Alarm does not ring - ! until turned off - ,rc =rc) - - !call ESMF_AlarmPrint(ALARM_HISTORY, rc=rc) - - call ESMF_AlarmGet(ALARM_HISTORY, ringTime=alarmTime, rc=rc) - bool = ESMF_AlarmIsRinging(ALARM_HISTORY) - - call ESMF_Test(((alarmTime==currTime+TIMEINTERVAL_HISTORY).and.bool & - .and. rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy(ALARM_HISTORY, rc=rc) - call ESMF_ClockDestroy(CLOCK_ATM, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm list re-allocation within clock, part 1 - write(failMsg, *) " Did not return ESMF_SUCCESS" - write(name, *) "Alarm list reallocation Test 1" - call ESMF_TimeIntervalSet(timeStep, ms=10, rc=rc) - call ESMF_TimeIntervalSet(alarmStep, ms=100, rc=rc) - call ESMF_TimeSet(startTime, yy=1999, mm=12, dd=31, h=23, m=59, s=59, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet(stopTime, yy=2000, mm=1, dd=1, & - calendar=gregorianCalendar, rc=rc) - clock2=ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="Clock 2", rc=rc) - call ESMF_TimeSet(alarmTime, yy=1999, mm=12, dd=31, h=23, m=59, s=59, & - ms=200, calendar=gregorianCalendar, rc=rc) - - ! fill up clock's alarmList - do i=1,200 - alarm5(i) = ESMF_AlarmCreate(clock=clock2, ringTime=alarmTime, & - ringInterval=alarmStep, rc=rc) - enddo - - ! add one more alarm than there is space for (200), forcing a - ! reallocation to 400 alarms - ! also, set 201st alarm to be the first to ring upon the 1st timestep - call ESMF_TimeSet(alarmTime, yy=1999, mm=12, dd=31, h=23, m=59, s=59, & - ms=10, calendar=gregorianCalendar, rc=rc) - alarm4 = ESMF_AlarmCreate(name="201st Alarm", clock=clock2, & - ringTime=alarmTime, ringInterval=alarmStep, & - rc=rc) - - ! see if the 201st alarm was successfully added to the clock - call ESMF_Test((rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm list re-allocation within clock, part 2 - write(failMsg, *) " Did not return 201 alarms and name '201st Alarm'" - write(name, *) "Alarm list reallocation Test 2" - call ESMF_ClockGetAlarmList(clock2, ESMF_ALARMLIST_ALL, & - alarmList=alarmList, & - alarmCount=alarmCount, rc=rc) - write(*,*) "rc=",rc - call ESMF_AlarmGet(alarmList(alarmCount), name=aName, rc=rc) - - !print *, "alarmCount = ", alarmCount - !print *, "201st alarm name = ", aName - write(*,*) "rc=",rc - - ! see if we have 201 alarms and if the 201st alarm has the right name! - call ESMF_Test((alarmCount.eq.201).and.(aName.eq."201st Alarm") & - .and.(rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm list re-allocation within clock, part 3 - write(failMsg, *) " Did not return 201st alarm ringing" - write(name, *) "Alarm list reallocation Test 3" - call ESMF_ClockAdvance(clock2, rc=rc) - call ESMF_ClockGetAlarmList(clock2, ESMF_ALARMLIST_RINGING, & - alarmList=alarmList, & - alarmCount=alarmCount, rc=rc) - ! double check ringing with Alarm API call - isringing = ESMF_AlarmIsRinging(alarm4, rc=rc) - - !print *, "alarmCount = ", alarmCount - call ESMF_AlarmGet(alarmList(alarmCount), name=aName, rc=rc) - !print *, "Ringing alarm name = ", trim(aName), ", is ringing = ", & - !isringing - - ! see if the 201st alarm is the only one ringing - call ESMF_Test(isringing.and.(alarmCount.eq.1) & - .and.(aName.eq."201st Alarm") & - .and.(rc.eq.ESMF_SUCCESS), & - name, failMsg, result, ESMF_SRCLINE) - - ! cleanup - do i=1,200 - call ESMF_AlarmDestroy(alarm5(i), rc=rc) - enddo - call ESMF_AlarmDestroy(alarm4, rc=rc) - call ESMF_ClockDestroy(clock2, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - ! Based on reproducer clocktester.F90 from Atanas. See bug #1531948. - write(failMsg, *) " Did not ring enough times during forward/backward march" - write(name, *) "Test ESMF_DIRECTION_FORWARD to a non-sticky alarm " // & - "point, ESMF_DIRECTION_REVERSE, ESMF_DIRECTION_FORWARD" - testPass = .true. - call ESMF_TimeSet (startTime, yy=2009, mm=1, dd=1, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeSet (stopTime, yy=2009, mm=1, dd=2, h=0, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (timeStep, s=3600, rc=rc) - clock = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & - name="ApplClock", rc=rc) - if (rc /= ESMF_SUCCESS) testPass = .false. - - call ESMF_TimeIntervalSet (alarmStep, s=7200, rc=rc) - !call ESMF_TimeIntervalSet(ringDuration, h=1, rc=rc) - !call ESMF_TimeSet(alarmStopTime, yy=2009, mm=1, dd=1, h=21, & - ! calendar=gregorianCalendar, rc=rc) - alarm1 = ESMF_AlarmCreate (clock=clock, & - ringTime=startTime, ringInterval=alarmStep, & - ! ringDuration=ringDuration, & - ! stopTime=alarmStopTime, & - sticky=.false., name="testAlarm", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - !call ESMF_AlarmPrint(alarm1, options="ringduration string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmPrint(alarm1, options="ringtimestepcount string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - alarmCount = 0 - expectedCount = 22 - do - !print *, "***********************Top of loop 1 **********************" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock, options="currtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm1, rc=rc)) then - alarmCount = alarmCount + 1 - !print *, "alarm1 is ringing" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmRingerOff(alarm1, rc=rc) - endif - !call ESMF_AlarmPrint(alarm1, options="ringbegin string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmPrint(alarm1, options="ringtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmPrint(alarm1, options="ringend string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock, rc=rc) - !call ESMF_AlarmPrint(alarm1, options="ringend string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_ClockIsStopTime(clock, rc=rc)) exit - enddo - !print *, "At end of 1st forward run, alarmCount = ", alarmCount - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - call ESMF_ClockSet(clock, direction=ESMF_DIRECTION_REVERSE, rc=rc) - - i=0 - do - !print *, "***********************Top of loop 2 **********************" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock, options="currtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm1, rc=rc)) then - alarmCount = alarmCount + 1 - !print *, "alarm1 is ringing" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmRingerOff(alarm1, rc=rc) - endif - !call ESMF_AlarmPrint(alarm1, options="ringbegin string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmPrint(alarm1, options="ringtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock, rc=rc) - i = i+1 - if (i == 5) exit - enddo - !print *, "At end of reverse run, alarmCount = ", alarmCount - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - call ESMF_ClockSet(clock, direction=ESMF_DIRECTION_FORWARD, rc=rc) - - i=0 - do - !print *, "***********************Top of loop 3 **********************" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_ClockPrint(clock, options="currtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - if (ESMF_AlarmIsRinging(alarm1, rc=rc)) then - alarmCount = alarmCount + 1 - !print *, "alarm1 is ringing" - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmRingerOff(alarm1, rc=rc) - endif - !call ESMF_AlarmPrint(alarm1, options="ringbegin string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - !call ESMF_AlarmPrint(alarm1, options="ringtime string", rc=rc) - !call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_ClockAdvance(clock, rc=rc) - i = i+1 - if (i == 15) exit - enddo - - if (.not. testPass .or. alarmCount /= expectedCount) then - if (.not. testPass) print *, 'bad return codes discovered' - write (failMsg,*) trim (failMsg), ', alarmCount = ', alarmCount, ', expected = ', expectedCount - print *, 'The alarm ringTime may be stuck at:' - call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - call ESMF_AlarmPrint (alarm1, options="ringTime string", rc=rc) - call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - end if - - call ESMF_Test (testPass .and. alarmCount == expectedCount, & - name, failMsg, result, ESMF_SRCLINE) - call ESMF_UtilIOUnitFlush(ESMF_UtilIOStdout) - - call ESMF_AlarmDestroy (alarm1, rc=rc) - call ESMF_ClockDestroy (clock, rc=rc) - - ! ---------------------------------------------------------------------------- - !EX_UTest - !Test Alarm ringTime increment, first forwards a fixed number of - !timesteps, stopping at an alarm ringing time step. - !Using ESMF_DIRECTION_REVERSE, step backwards to some time prior to the - !clock's startTime. Then go ESMF_DIRECTION_FORWARD to one step past an - !alarm ringing time step, and then ESMF_DIRECTION_REVERSE once more. - ! Count number of rings. See bug #1531948. - write(failMsg, *) " Did not ring enough times during forward/backward march" - write(name, *) "Test ESMF_DIRECTION_FORWARD to an alarm point, " // & - "ESMF_DIRECTION_REVERSE, ESMF_DIRECTION_FORWARD, " // & - "ESMF_DIRECTION_REVERSE" - - testPass = .true. - call ESMF_TimeSet (startTime, yy=2008, mm=1, dd=23, h=0, & - calendar=gregorianCalendar, rc=rc) - !call ESMF_TimePrint (startTime, options="string isofrac", rc=rc) - call ESMF_TimeIntervalSet (timeStep, h=3, rc=rc) - clock = ESMF_ClockCreate(startTime = startTime, timeStep=timeStep, & - name="clock 1", rc=rc) - if (rc /= ESMF_SUCCESS) testPass = .false. - - call ESMF_TimeSet (alarmTime, yy=2008, mm=1, dd=23, h=6, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (alarmStep, h=6, rc=rc) - alarm1 = ESMF_AlarmCreate ( & - name="Alarm 1", clock=clock, & - ringTime=alarmTime, ringInterval=alarmStep, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - alarmCount = 0 - expectedCount = 11 - do, i=1,6 - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at forwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at forwards timestep', i - end if - end do - - !print *, 'SETTING CLOCK BACKWARDS' - call ESMF_ClockSet (clock, direction=ESMF_DIRECTION_REVERSE, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do, i=5, -5, -1 - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at backwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - !call ESMF_AlarmPrint(alarm1, options="ringTime string", rc=rc) - else - !print *, 'alarm not ringing at backwards timestep', i - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - end if - end do - - !print *, 'SETTING CLOCK FORWARDS' - call ESMF_ClockSet (clock, direction=ESMF_DIRECTION_FORWARD, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do, i=-4,7 - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at forwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at forwards timestep', i - end if - end do - - !print *, 'SETTING CLOCK BACKWARDS' - call ESMF_ClockSet (clock, direction=ESMF_DIRECTION_REVERSE, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do, i=6, -5, -1 - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at backwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - !call ESMF_AlarmPrint(alarm1, options="ringTime string", rc=rc) - else - !print *, 'alarm not ringing at backwards timestep', i - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - end if - end do - - if (.not. testPass .or. alarmCount /= expectedCount) then - if (.not. testPass) print *, 'bad return codes discovered' - write (failMsg,*) trim (failMsg), ', alarmCount = ', alarmCount, ', expected = ', expectedCount - print *, 'The alarm ringTime may be stuck at:' - call ESMF_AlarmPrint (alarm1, options="ringTime string", rc=rc) - end if - - call ESMF_Test (testPass .and. alarmCount == expectedCount, & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy (alarm1, rc=rc) - call ESMF_ClockDestroy (clock, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm ringTime increment, first forwards a fixed number of - !timesteps, stopping at an alarm ringing time step. Using a negative - !timestemp, step backwards to some time prior to the clock's startTime. - !Count number of rings. See bugs #1531948, #1457135. - write(failMsg, *) " Did not ring enough times during forward/backward march" - write(name, *) "Test forward to an alarm point, then step backward using a negative timeStep" - - testPass = .true. - call ESMF_TimeSet (startTime, yy=2008, mm=1, dd=23, h=0, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (timeStep, h=3, rc=rc) - clock = ESMF_ClockCreate(startTime = startTime, timeStep=timeStep, & - name="clock 1", rc=rc) - if (rc /= ESMF_SUCCESS) testPass = .false. - - call ESMF_TimeSet (alarmTime, yy=2008, mm=1, dd=23, h=6, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (alarmStep, h=6, rc=rc) - alarm1 = ESMF_AlarmCreate ( & - name="Alarm 1", clock=clock, & - ringTime=alarmTime, ringInterval=alarmStep, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - alarmCount = 0 - expectedCount = 8 - do, i=1,6 - call ESMF_ClockAdvance (clock, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at forwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at forwards timestep', i - end if - end do - - !print *, 'SETTING CLOCK BACKWARDS WITH NEGATIVE TIMESTEP' - timeStep = -timeStep - call ESMF_ClockSet (clock, timeStep=timeStep, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do, i=5, -5, -1 - call ESMF_ClockAdvance (clock, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at backwards timestep', i, ', time:' - !call ESMF_ClockPrint (clock, options="currTime string") - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at backwards timestep', i - !call ESMF_ClockPrint (clock, options="currTime string") - end if - end do - - if (.not. testPass .or. alarmCount /= expectedCount) then - if (.not. testPass) print *, 'bad return codes discovered' - write (failMsg,*) trim (failMsg), ', alarmCount = ', alarmCount, ', expected = ', expectedCount - print *, 'The alarm ringTime may be stuck at:' - call ESMF_AlarmPrint (alarm1, options="ringTime string", rc=rc) - end if - - call ESMF_Test (testPass .and. alarmCount == expectedCount, & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy (alarm1, rc=rc) - call ESMF_ClockDestroy (clock, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm ringTime increment, first forwards a fixed number of - !timesteps, stopping at a non-alarm ringing time step. Using a negative - !timestemp, step backwards to some time prior to the clock's startTime. - !Count number of rings. See bugs #1531948, #1457135. - write(failMsg, *) " Did not ring enough times during forward/backward march" - write(name, *) "Test forward to a non-ringing step, then step backward using a negative timeStep" - - testPass = .true. - call ESMF_TimeSet (startTime, yy=2008, mm=1, dd=23, h=0, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (timeStep, h=3, rc=rc) - clock = ESMF_ClockCreate(startTime = startTime, timeStep=timeStep, & - name="clock 1", rc=rc) - if (rc /= ESMF_SUCCESS) testPass = .false. - - call ESMF_TimeSet (alarmTime, yy=2008, mm=1, dd=23, h=6, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (alarmStep, h=6, rc=rc) - alarm1 = ESMF_AlarmCreate ( & - name="Alarm 1", clock=clock, & - ringTime=alarmTime, ringInterval=alarmStep, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - alarmCount = 0 - expectedCount = 9 - do, i=1,7 - call ESMF_ClockAdvance (clock, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at forwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at forwards timestep', i - end if - end do - - !print *, 'SETTING CLOCK BACKWARDS WITH NEGATIVE TIMESTEP' - timeStep = -timeStep - call ESMF_ClockSet (clock, timeStep=timeStep, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do, i=6, -5, -1 - call ESMF_ClockAdvance (clock, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at backwards timestep', i, ', time:' - !call ESMF_ClockPrint (clock, options="currTime string") - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at backwards timestep', i - !call ESMF_ClockPrint (clock, options="currTime string") - end if - end do - - if (.not. testPass .or. alarmCount /= expectedCount) then - if (.not. testPass) print *, 'bad return codes discovered' - write (failMsg,*) trim (failMsg), ', alarmCount = ', alarmCount, ', expected = ', expectedCount - print *, 'The alarm ringTime may be stuck at:' - call ESMF_AlarmPrint (alarm1, options="ringTime string", rc=rc) - end if - - call ESMF_Test (testPass .and. alarmCount == expectedCount, & - name, failMsg, result, ESMF_SRCLINE) - - ! - ! ---------------------------------------------------------------------------- - - !EX_UTest - write(failMsg, *) " Did not show null clock in alarm" - write(name, *) "Test alarm after destroying its associated clock" - call ESMF_ClockDestroy (clock, rc=rc) - willRingNext = ESMF_AlarmWillRingNext(alarm1, rc=rc) - call ESMF_Test (rc==ESMC_RC_PTR_NULL .and. .not.willRingNext, & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy (alarm1, rc=rc) - - ! ---------------------------------------------------------------------------- - - !EX_UTest - !Test Alarm ringTime increment, arbitrarily forwards and backwards using - ! positive and negative timesteps. Alarm ringTime and ringInterval are - ! changed with each change in timestep direction. The extent of the run - ! of each timestep value is different with each change in direction. - write(failMsg, *) " Did not ring enough times during arbitrary forward/backward march" - write(name, *) "Test arbitrary positive/negative timeStep runs with differing alarms" - - testPass = .true. - alarmCountPass = .true. - - call ESMF_TimeSet (startTime, yy=2008, mm=1, dd=23, h=0, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (timeStep, h=1, rc=rc) - clock = ESMF_ClockCreate(startTime=startTime, timeStep=timeStep, & - name="clock 1", rc=rc) - if (rc /= ESMF_SUCCESS) testPass = .false. - - call ESMF_TimeSet (alarmTime, yy=2008, mm=1, dd=23, h=2, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (alarmStep, h=2, rc=rc) - alarm1 = ESMF_AlarmCreate ( & - name="Alarm 1", clock=clock, & - ringTime=alarmTime, ringInterval=alarmStep, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - alarmCount = 0 - expectedCount = 15 - - do, i=1,7 - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at forwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at forwards timestep', i - end if - end do - if (alarmCountPass .and. alarmCount /= 3) then - alarmCountPass = .false. - !print *, 'alarmCount = ', alarmCount, ' not 3 at 1st turnaround point' - end if - - !print *, 'SETTING CLOCK BACKWARDS WITH NEW NEGATIVE TIMESTEP AND RINGINTERVAL' - timeStep = -2 * timeStep - alarmStep = -2 * alarmStep - call ESMF_ClockSet (clock, timeStep=timeStep, rc=rc) - call ESMF_AlarmSet (alarm1, ringInterval=alarmStep, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do, i=6, -5, -1 - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at backwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at backwards timestep', i - end if - end do - if (alarmCountPass .and. alarmCount /= 9) then - alarmCountPass = .false. - !print *, 'alarmCount = ', alarmCount, ' not 9 at 2nd turnaround point' - end if - - !print *, 'SETTING CLOCK FORWARDS WITH NEW POSITIVE TIMESTEP, RINGINTERVAL, and RINGTIME' - call ESMF_TimeIntervalSet (timeStep, h=3, rc=rc) - call ESMF_TimeSet (alarmTime, yy=2008, mm=1, dd=22, h=11, & - calendar=gregorianCalendar, rc=rc) - call ESMF_TimeIntervalSet (alarmStep, h=6, rc=rc) - call ESMF_ClockSet (clock, timeStep=timeStep, rc=rc) - call ESMF_AlarmSet (alarm1, ringTime=alarmTime, ringInterval=alarmStep, & - rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do, i=1,5 - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at forwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at forwards timestep', i - end if - end do - if (alarmCountPass .and. alarmCount /= 11) then - alarmCountPass = .false. - !print *, 'alarmCount = ', alarmCount, ' not 11 at 3rd turnaround point' - end if - - !print *, 'SETTING CLOCK BACKWARDS WITH NEW NEGATIVE TIMESTEP AND RINGTIME' - call ESMF_TimeIntervalSet (timeStep, h=-1, rc=rc) - call ESMF_TimeSet (alarmTime, yy=2008, mm=1, dd=22, h=21, & - calendar=gregorianCalendar, rc=rc) - call ESMF_ClockSet (clock, timeStep=timeStep, rc=rc) - call ESMF_AlarmSet (alarm1, ringTime=alarmTime, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do, i=4,2,-1 - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing at backwards timestep', i - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing at backwards timestep', i - end if - end do - if (alarmCountPass .and. alarmCount /= 12) then - alarmCountPass = .false. - !print *, 'alarmCount = ', alarmCount, ' not 12 at 4th turnaround point' - end if - - !print *, 'SETTING CLOCK FORWARDS WITH NEW POSITIVE TIMESTEP' - timeStep = -timeStep - call ESMF_ClockGet(clock, currTime=startTime, rc=rc) - call ESMF_ClockSet(clock, timeStep=timeStep, startTime=startTime, & - runTimeStepCount=15, rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - - do while (.not. ESMF_ClockIsDone(clock, rc=rc)) - call ESMF_ClockAdvance (clock, rc=rc) - !call ESMF_ClockPrint (clock, options="currTime string", rc=rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (ESMF_alarmIsRinging (alarm1)) then - alarmCount = alarmCount + 1 - !print *, 'alarm IS ringing' - call ESMF_AlarmRingerOff (alarm1, rc=rc) - else - !print *, 'alarm not ringing' - end if - end do - if (alarmCountPass .and. alarmCount /= expectedCount) then - alarmCountPass = .false. - !print *, 'alarmCount = ', alarmCount, ', not ', expectedCount, ' at the end' - end if - - if (.not. alarmCountPass) then - write(failMsg,*) trim(failMsg), ', alarmCount incorrect at one or more turnaround points' - !print *, 'Final alarmCount = ', alarmCount, ', expected = ', expectedCount - !print *, 'Final alarm ringTime:' - !call ESMF_AlarmPrint (alarm1, "ringTime string", rc=rc) - end if - - if (.not. testPass) print *, 'bad return codes discovered' - - call ESMF_Test (testPass .and. alarmCountPass, & - name, failMsg, result, ESMF_SRCLINE) - - call ESMF_AlarmDestroy (alarm1, rc=rc) - call ESMF_ClockDestroy (clock, rc=rc) - - ! ---------------------------------------------------------------------------- -#if 0 - ! The following tests are from Ben@NASA's support ticket 3614994 - write(failMsg, *) " Alarms did not rewind correct number of times " - write(name, *) "Test multiple alarms rewind correct number of times " - rc = ESMF_SUCCESS - testPass = .true. - call Test_ReverseAlarms(testPass, rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (.not. testPass) print *, 'bad return codes discovered' - call ESMF_Test (testPass, name, failMsg, result, ESMF_SRCLINE) - - ! ---------------------------------------------------------------------------- - - write(failMsg, *) " Alarms hang... " - write(name, *) "Test multiple alarms replay without hanging " - rc = ESMF_SUCCESS - testPass = .true. - call Test_AlarmHang(testPass, rc) - if (testPass .and. rc /= ESMF_SUCCESS) testPass = .false. - if (.not. testPass) print *, 'bad return codes discovered' - call ESMF_Test (testPass, name, failMsg, result, ESMF_SRCLINE) -#endif - - ! ---------------------------------------------------------------------------- -#endif - - ! destroy calendars - call ESMF_CalendarDestroy(esmf_360dayCalendar, rc=rc) - call ESMF_CalendarDestroy(no_leapCalendar, rc=rc) - call ESMF_CalendarDestroy(julianCalendar, rc=rc) - call ESMF_CalendarDestroy(gregorianCalendar, rc=rc) - - ! finalize ESMF framework - call ESMF_TestEnd(ESMF_SRCLINE) - -#if 0 - contains - - subroutine test_reverseAlarms(testPass, rc) - implicit none - - logical, intent(out) :: testPass - integer :: status,rc - - type(ESMF_TimeInterval) :: dt - type(ESMF_Time) :: start_time, clock_start, clock_end - type(ESMF_Clock) :: clock - character(len=5) :: add_2nd - integer :: nargs - - type(ESMF_TimeInterval) :: tint - type(ESMF_Alarm) :: esmfalarm, firstalarm - - integer :: i,nstep - - type(ESMF_Time) :: time - character(len=10) :: iam='test_clock' - logical :: esmf_ring - integer :: nalarms, n_rings=0 + type(ESMF_Time) :: time + character(len=10) :: iam='test_clock' + logical :: esmf_ring + integer :: nalarms, n_rings=0 testPass = .false. call ESMF_CalendarSetDefault ( ESMF_CALKIND_GREGORIAN, rc=status ) @@ -3442,44 +1333,71 @@ subroutine test_reverseAlarms(testPass, rc) call ESMF_TimeIntervalSet(tint,h=1,rc=status) call verify_(status) esmfalarm = ESMF_AlarmCreate(clock=clock,ringInterval=tint,ringTime=start_time,sticky=.false.,name="alarm2",rc=status) + nrings1 = 0 + nrings2 = 0 do i=1,nstep + !call ESMF_ClockDebug(clock, 'forward clock', rc=status) + !call verify_(status) + !call ESMF_AlarmDebug(esmfalarm, 'forward esmfalarm', rc=status) + !call verify_(status) call ESMF_ClockGet(clock,currTime=time) esmf_ring = ESMF_AlarmIsRinging(esmfalarm,rc=status) call verify_(status) if ( esmf_ring) then - !write(*,*)'ringing' - !call ESMF_TimePrint(time,options='string') + write(*,*)'ringing' + call ESMF_TimePrint(time,options='string') + nrings2=nrings2 + 1 end if call ESMF_ClockAdvance(clock) enddo + if(nrings2 == 12) then + testPass = .true. ! ringerIV = 1h, timeST=15min, 48/4=12 + else + return + endif + testPass = .false. call ESMF_ClockSet(clock, direction=ESMF_DIRECTION_REVERSE, rc=status) call verify_(status) !write(*,*)"*************** start rewind *********************" i = 0 do i = i + 1 - !write(*,*) 'Rewind step: ', i + write(*,*) 'Rewind step: ', i call ESMF_ClockAdvance(clock,rc=status) call verify_(status) + !call ESMF_ClockDebug(clock, 'reverse clock', rc=status) + !call verify_(status) + !call ESMF_AlarmDebug(esmfalarm, 'reverse esmfalarm', rc=status) + !call verify_(status) call ESMF_ClockGet(clock,currTime=time) if (ESMF_AlarmIsRinging(esmfalarm)) then - !write(*,*)'rewinding one step ',ESMF_AlarmIsRinging(esmfalarm) + write(*,*)'rewinding one step ',ESMF_AlarmIsRinging(esmfalarm) n_rings = n_rings + 1 - !call ESMF_TimePrint(time,options='string') + call ESMF_TimePrint(time,options='string') end if if (time == start_time) exit enddo + if(n_rings == 12) then + testPass = .true. ! ringerIV = 1h, timeST=15min, 48/4=12 + else + return + endif + testPass = .false. call ESMF_ClockSet(clock, direction=ESMF_DIRECTION_FORWARD, rc=status) call verify_(status) - !write(*,*)"*************** end rewind *********************" + write(*,*)"*************** end rewind *********************" do i=1,nstep*2 + !call ESMF_ClockDebug(clock, 'forward clock again', rc=status) + !call verify_(status) + !call ESMF_AlarmDebug(esmfalarm, 'forward esmfalarm again', rc=status) + !call verify_(status) call ESMF_ClockGet(clock,currTime=time) esmf_ring = ESMF_AlarmIsRinging(esmfalarm,rc=status) call verify_(status) if ( esmf_ring ) then - !write(*,*)'ringing' - !call ESMF_TimePrint(time,options='string') + write(*,*)'ringing' + call ESMF_TimePrint(time,options='string') end if call ESMF_ClockAdvance(clock) enddo @@ -3601,6 +1519,1262 @@ subroutine Test_AlarmHang(testPass, rc) testPass = .true. end subroutine Test_AlarmHang + +subroutine Test_AlarmAdvRewind(testPass, rc) + logical, intent(out) :: testPass + integer :: rc + + type(ESMF_TimeInterval) :: dt + type(ESMF_Time) :: start_time, clock_start, clock_end + type(ESMF_Clock) :: clock + + type(ESMF_TimeInterval) :: tint + + integer :: status,i,j,nstep, nrings(2) + + logical :: esmf_ring + character(len=ESMF_MAXSTR) :: alarm_name + integer :: nalarms + type(ESMF_Alarm), allocatable :: alarm_list(:) + type(ESMF_Time) :: time + type(ESMF_Alarm) :: esmfalarm + type(ESMF_CalKind_Flag) :: calkindflag + + rc = ESMF_SUCCESS + + !call ESMF_CalendarGet(calkindflag=calkindflag, rc=status) + !call verify_(status) + call ESMF_CalendarSetDefault ( ESMF_CALKIND_GREGORIAN, rc=status ) + call verify_(status) + call ESMF_TimeSet(clock_start,yy=2000,mm=1,dd=1,h=21,m=0,s=0,rc=status) + call verify_(status) + call ESMF_TimeSet(clock_end,yy=2000,mm=12,dd=1,h=21,m=0,s=0,rc=status) + call verify_(status) + call ESMF_TimeSet(start_time,yy=2000,mm=10,dd=1,h=21,m=0,s=0,rc=status) + call verify_(status) + call ESMF_TimeIntervalSet(dt,S=900, sN=0, sD=1,rc=status) + call verify_(status) + clock= ESMF_ClockCreate(timeStep=dt,startTime=clock_start,stopTime=clock_end,rc=status) + call verify_(status) + call ESMF_ClockSet(clock,currTime=start_time,rc=status) + call verify_(status) + + ! fails if s=900 + call ESMF_TimeIntervalSet(tint,s=900) + esmfalarm = ESMF_AlarmCreate(clock=clock,ringInterval=tint,ringTime=start_time,sticky=.false.,name='alarm_900',rc=status) + call verify_(status) + ! works if s=1800 + call ESMF_TimeIntervalSet(tint,s=1800) + esmfalarm = ESMF_AlarmCreate(clock=clock,ringInterval=tint,ringTime=start_time,sticky=.false.,name='alarm_1800',rc=status) + call verify_(status) + + + nstep=12 + nrings=0 + call ESMF_ClockGet(clock,currtime=start_time,alarmCount=nalarms,rc=status) + allocate(alarm_list(nalarms)) + call ESMF_ClockGetAlarmList(clock, alarmListFlag=ESMF_ALARMLIST_ALL, alarmList=alarm_list) + + do i=1,nstep + call ESMF_ClockGet(clock,currTime=time) + do j = 1,nalarms + call ESMF_AlarmGet(alarm_list(j),name=alarm_name) + esmf_ring = ESMF_AlarmIsRinging(alarm_list(j),rc=status) + call verify_(status) + if ( esmf_ring) then + nrings(j) = nrings(j) + 1 + write(*,*)trim(alarm_name)//' is ringing' + call ESMF_TimePrint(time,options='string') + end if + end do + call ESMF_ClockAdvance(clock) + enddo + call ESMF_ClockSet(clock, direction=ESMF_DIRECTION_REVERSE, rc=status) + call verify_(status) + write(*,*)"*************** start rewind *********************" + nrings=0 + do + call ESMF_ClockAdvance(clock,rc=status) + call verify_(status) + call ESMF_ClockGet(clock,currTime=time) + do j=1,nalarms + call ESMF_AlarmGet(alarm_list(j),name=alarm_name) + if (ESMF_AlarmIsRinging(alarm_list(j))) then + nrings(j) = nrings(j) + 1 + write(*,*)trim(alarm_name)//' is ringing' + call ESMF_TimePrint(time,options='string') + end if + end do + + if (time == start_time) exit + enddo + call ESMF_ClockSet(clock, direction=ESMF_DIRECTION_FORWARD, rc=status) + call verify_(status) + write(*,*)"*************** end rewind *********************" + nrings=0 + do i=1,nstep*2 + call ESMF_ClockGet(clock,currTime=time) + do j = 1,nalarms + call ESMF_AlarmGet(alarm_list(j),name=alarm_name) + esmf_ring = ESMF_AlarmIsRinging(alarm_list(j),rc=status) + call verify_(status) + if ( esmf_ring) then + nrings(j) = nrings(j) + 1 + write(*,*)trim(alarm_name)//' is ringing' + call ESMF_TimePrint(time,options='string') + end if + end do + call ESMF_ClockAdvance(clock) + enddo + +end subroutine Test_AlarmAdvRewind + +subroutine Test_RevAlarmSticky(dt, testPass, rc) +#define CONTEXT line=__LINE__,file=__FILE__ +#define CHECKRC if(ESMF_LogFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,CONTEXT,rcToReturn=rc))then;write(0,*)'app abort: ',__FILE__,__LINE__;return;endif + logical, intent(out) :: testPass + integer, parameter :: r8 = SELECTED_REAL_KIND(12) ! real r8 + real(kind=r8), intent(in) :: dt + integer :: rc + + type(ESMF_Clock) :: clock + type(ESMF_Alarm) :: alarm + type(ESMF_TimeInterval) :: esmf_ival + type(ESMF_Time) :: time, initial, finish, ring_time + real(kind=r8) :: secs + logical :: reverse_clock, sticky_alarm + + rc = ESMF_SUCCESS + + call ESMF_TimeSet(time, yy=2021, mm=4, dd=6, rc=rc) ; CHECKRC + + secs = 0 + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC + initial = time + esmf_ival + + secs = dt*100 + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC + finish = time + esmf_ival + + secs = dt + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC + + clock = ESMF_Clockcreate(timeStep=esmf_ival & + ,startTime=initial,stopTime=finish & + ,refTime=time, rc=rc ) ; CHECKRC + + call ESMF_ClockSet(clock,direction=ESMF_DIRECTION_REVERSE, rc=rc) ; CHECKRC + + reverse_clock = ESMF_ClockIsReverse(clock, rc=rc) ; CHECKRC + sticky_alarm = .not.reverse_clock + + write(0,'("reverse =",x,l)') reverse_clock + write(0,'("sticky =",x,l)') sticky_alarm + + secs = dt*50 + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC + ring_time = initial + esmf_ival + +#if 1 + alarm = ESMF_AlarmCreate(clock, ringTime=ring_time, sticky=sticky_alarm, & + rc=rc) ; CHECKRC +#else + alarm = ESMF_AlarmCreate(clock, ringTime=ring_time, sticky=.false., & + rc=rc) ; CHECKRC +#endif + + call ESMF_alarmPrint(alarm,options='sticky') + + testPass = .true. ! Because the C++ runtime failure cannot be caught reliably, set this to false. + +#undef CONTEXT +#undef CHECKRC +end subroutine Test_RevAlarmSticky + + subroutine verify_(rc) + integer, intent(in) :: rc + + integer :: error_code,status + if (rc /=0) then + call ESMF_Finalize() + end if + end subroutine verify_ + +subroutine Test_ClockSet(testPass, rc) +#define CONTEXT line=__LINE__,file=__FILE__ +#define CHECKRC if(ESMF_LogFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,CONTEXT,rcToReturn=rc))then;write(0,*)'app abort: ',__FILE__,__LINE__;return;endif + logical, intent(out) :: testPass + integer, parameter :: r8 = SELECTED_REAL_KIND(12) ! real r8 + integer :: rc + + type(ESMF_Clock) :: clock + type(ESMF_Alarm) :: alarm + type(ESMF_TimeInterval) :: esmf_ival + type(ESMF_Time) :: time, initial, finish, ring_time + real(kind=r8) :: secs + logical :: reverse_clock, sticky_alarm + + rc = ESMF_SUCCESS + + call ESMF_CalendarSetDefault ( ESMF_CALKIND_GREGORIAN, rc=rc) + CHECKRC + + call ESMF_TimeSet(time, yy=2021, mm=4, dd=6, rc=rc) + CHECKRC + secs = 0 + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) + CHECKRC + + initial = time + esmf_ival + call ESMF_TimePrint(initial, options="string", rc=rc) + CHECKRC + + secs = 6000 + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) + CHECKRC + finish = time + 2*esmf_ival + call ESMF_TimePrint(finish, options="string", rc=rc) + CHECKRC + + secs = 60 + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) + CHECKRC + + clock = ESMF_Clockcreate(timeStep=esmf_ival & + ,startTime=initial,stopTime=finish & + ,refTime=time, rc=rc ) + CHECKRC + + call ESMF_ClockSet(clock,direction=ESMF_DIRECTION_REVERSE, rc=rc) + CHECKRC + + reverse_clock = ESMF_ClockIsReverse(clock, rc=rc) + if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) + sticky_alarm = .not.reverse_clock + + write(0,'("reverse =",x,l)') reverse_clock + write(0,'("sticky =",x,l)') sticky_alarm + + secs = 3000 + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) + CHECKRC + ring_time = initial + 2*esmf_ival + print *, 'Before Alarm Create ringTime: ' + call ESMF_TimePrint(ring_time, options="string", rc=rc) + if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) +#if 1 + alarm = ESMF_AlarmCreate(clock, ringTime=ring_time, sticky=sticky_alarm, & + rc=rc) + CHECKRC +#else + alarm = ESMF_AlarmCreate(clock, ringTime=ring_time, sticky=.false., & + rc=rc) + CHECKRC +#endif + + call ESMF_TimePrint(ring_time, options="string", rc=rc) + CHECKRC + print *, 'After Alarm Create ringTime: ' + call ESMF_TimePrint(ring_time, options="string", rc=rc) + if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) + + call ESMF_ClockSet(clock, stopTime=ring_time, rc=rc) + CHECKRC + + call ESMF_alarmPrint(alarm,options='sticky') + + testPass = .true. ! Because the C++ runtime failure cannot be caught reliably, set this to false. + +#undef CONTEXT +#undef CHECKRC +end subroutine Test_ClockSet + +subroutine Test_GetPrevRingTime(testPass, rc) +#define CONTEXT line=__LINE__,file=__FILE__ +#define CHECKRC if(ESMF_LogFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,CONTEXT,rcToReturn=rc))then;write(0,*)'app abort: ',__FILE__,__LINE__;return;endif + logical, intent(out) :: testPass + integer, parameter :: r8 = SELECTED_REAL_KIND(12) ! real r8 + integer :: rc + + type(ESMF_Clock) :: clock + type(ESMF_Alarm) :: alarm + type(ESMF_TimeInterval) :: esmf_ival, diffTime + type(ESMF_Time) :: time, initial, finish, ring_time, ringTime, prevTime + real(kind=r8) :: secs + logical :: reverse_clock, sticky_alarm, esmf_ring + integer :: i, nstep = 6, nrings + + rc = ESMF_SUCCESS + testPass = .true. + + call ESMF_TimeSet(time, yy=2021, mm=4, dd=6, rc=rc) ; CHECKRC + + secs = 0 + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC + initial = time + esmf_ival + call ESMF_TimePrint(initial, options="string", rc=rc) ; CHECKRC + + secs = 6000 ! 100 minutes + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC + finish = time + esmf_ival + call ESMF_TimePrint(finish, options="string", rc=rc) ; CHECKRC + + secs = 60 ! 1 minute + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC + + clock = ESMF_Clockcreate(timeStep=esmf_ival & + ,startTime=initial,stopTime=finish & + ,refTime=time, rc=rc ) ; CHECKRC + + secs = 120 ! alarm step is clock step x 2, 2 minutes + call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC + ring_time = initial + alarm = ESMF_AlarmCreate(clock, ringTime=ring_time, ringInterval=esmf_ival, & + sticky=.false., rc=rc) ; CHECKRC + nrings = 0 + prevTime = initial + do i=1,nstep + call ESMF_ClockAdvance(clock) + call ESMF_ClockGet(clock,currTime=time) + esmf_ring = ESMF_AlarmIsRinging(alarm, rc=rc) + call verify_(rc) + if ( esmf_ring) then + nrings = nrings + 1 + write(*,*) 'alarm is ringing', nrings + call ESMF_TimePrint(time,options='string') + call ESMF_AlarmGet(alarm, ringTime=ringTime, rc=rc) + call verify_(rc) + write(*,*) 'Ring Time' + call ESMF_TimePrint(ringTime,options='string') + + diffTime = ringTime - prevTime + if(diffTime /= esmf_ival) testPass = .false. ! both should be 20 minutes or 120 seconds + prevTime = ringTime + end if + enddo + +! call ESMF_ClockSet(clock,direction=ESMF_DIRECTION_REVERSE, rc=rc) ; CHECKRC +! +! reverse_clock = ESMF_ClockIsReverse(clock, rc=rc) ; CHECKRC +! sticky_alarm = .not.reverse_clock +! +! write(0,'("reverse =",x,l)') reverse_clock +! write(0,'("sticky =",x,l)') sticky_alarm +! +! secs = 3000 +! call ESMF_TimeIntervalSet(esmf_ival,s_r8=secs,rc=rc) ; CHECKRC +! ring_time = initial + esmf_ival +! print *, 'Before Alarm Create ringTime: ' +! call ESMF_TimePrint(ring_time, options="string", rc=rc) ; CHECKRC +! +! call ESMF_TimePrint(ring_time, options="string", rc=rc) ; CHECKRC +! call ESMF_AlarmGet(alarm, ringTime=ring_time, rc=rc) ; CHECKRC +! print *, 'After Alarm Create ringTime: ' +! call ESMF_TimePrint(ring_time, options="string", rc=rc) ; CHECKRC +! +! call ESMF_ClockSet(clock, stopTime=ring_time, rc=rc) ; CHECKRC +! +! call ESMF_alarmPrint(alarm,options='sticky') + + +#undef CONTEXT +#undef CHECKRC +end subroutine Test_GetPrevRingTime + + #endif + character*64 function clockCurrTime(clock) + type(ESMF_Clock) :: clock + type(ESMF_Time ) :: time + integer :: yy, mm, dd, d, h, m, s, rc + type (ESMF_VM) :: vm + integer :: lpet + + call ESMF_ClockGet(clock, currTime=time, rc=rc) + if(rc /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_TimeGet(Time, yy=yy, mm=mm, dd=dd, d=d, h=h, m=m, s=s, rc=rc) + if(rc /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_VMGetCurrent(vm=vm, rc=rc) + if(rc /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_VMGet(vm, localpet = lpet, rc=rc) + if(rc /= ESMF_SUCCESS) call ESMF_Finalize() + + if(lpet == 0) then + !write(clockCurrTime, '(3I4, 3I4)') yy, mm, dd, h, m, s + write(clockCurrTime, '(I2.2,A1,I2.2,A1,I2.2)') h, ':', m, ':', s + endif + end function + +!------------------------------------------------------------------------ +! Forward Tests +!------------------------------------------------------------------------ + subroutine ForwardAlarm_Test1(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 1: c.t0 = a.t0, c.dt = a.dt = 10 min + print *, 'Test 1: c.t0 = a.t0, c.dt = a.dt = 10 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + !call ESMF_AlarmDebug(alarm,'test1',rc=status) + !if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, 'Test 1: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 1: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + if(nrings == 7) rc = ESMF_SUCCESS + end subroutine +!------------------------------------------------------------------------ + subroutine ForwardAlarm_Test2(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + print *, 'Test 2: c.t0 = a.t0, c.dt = 10 min a.dt = 20 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=1200, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + !call ESMF_AlarmDebug(alarm,'test2',rc=status) + !if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, 'Test 2: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 2: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + enddo + + rc = ESMF_FAILURE + if(nrings == 4) rc = ESMF_SUCCESS + end subroutine +!------------------------------------------------------------------------ + subroutine ForwardAlarm_Test3(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + !print *, 'Test 3: c.t0 = a.t0, c.dt = 20 min a.dt = 10 min' + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_TimeIntervalSet(timeStep,S=1200, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! It's an error to create an alarm with alarm timeInterval less than clock timeStep + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) return + call ESMF_AlarmDebug(alarm,'test3',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, 'Test 3: ringing = ', ringing, trim(clockCurrTime(clock)) + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 3: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + end subroutine +!------------------------------------------------------------------------ + subroutine ForwardAlarm_Test4(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 4: c.t0 = a.t0, c.dt = 10 min a.dt = 12 min + print *, 'Test 4: c.t0 = a.t0, c.dt = 10 min a.dt = 12 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=720, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringDuration,S=1, sN=0, sD=1,rc=status) + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmDebug(alarm,'test4',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + write(*, '(A20,Z16)') 'LOC(sticky) = ', LOC(sticky) + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, 'Test 4: ringing = ', ringing, trim(clockCurrTime(clock)), ' sticky = ', sticky + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 4: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + if(nrings == 2) rc = ESMF_SUCCESS + end subroutine +!------------------------------------------------------------------------ + subroutine ForwardAlarm_Test5(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + print *, 'Test 5: c.t0 = 0:0:0 a.t0=0:4:0, c.dt = a.dt = 10 min sticky (an alarm wont ring)' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=4,s=0,rc=status) + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.true., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) return + call ESMF_AlarmDebug(alarm,'test5',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, 'Test 5: ringing = ', ringing, trim(clockCurrTime(clock)) + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 5: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + end subroutine +!------------------------------------------------------------------------ + subroutine ForwardAlarm_Test6(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=30,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 6: c.t0 = a.t0, c.dt = 10 min a.dt = 12 min + print *, 'Test 6: c.t0 = a.t0, c.dt = 10 min a.dt = unspecified (one shot)' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=720, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringDuration,S=1, sN=0, sD=1,rc=status) + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmDebug(alarm,'test6',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, 'Test 6: ringing = ', ringing, trim(clockCurrTime(clock)), ' sticky = ', sticky + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 6: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + if(nrings == 1) rc = ESMF_SUCCESS + end subroutine +!------------------------------------------------------------------------ + subroutine ForwardAlarm_Test7(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=30,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + print *, 'Test 7: c.t0, a.t0 unspecified default to c.t0, c.dt = 10 min a.dt = 10 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringDuration,S=1, sN=0, sD=1,rc=status) + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmDebug(alarm,'test7',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, 'Test 7: ringing = ', ringing, trim(clockCurrTime(clock)), ' sticky = ', sticky + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 7: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + if(nrings == 7) rc = ESMF_SUCCESS + end subroutine + + +!------------------------------------------------------------------------ +! Reverse Tests +!------------------------------------------------------------------------ + subroutine ReverseAlarm_Test1(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime, currTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 1: c.t0 = a.t0, c.dt = a.dt = -10 min + print *, 'Test 1: c.t0 = a.t0, c.dt = a.dt = 10 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_ClockSet(clock, currTime = stopTime, direction=ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + !call ESMF_AlarmDebug(alarm,'test1',rc=status) + !if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, 'Test 1: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 1: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + if(nrings == 7) rc = ESMF_SUCCESS + end subroutine +!------------------------------------------------------------------------ + subroutine ReverseAlarm_Test2(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + print *, 'Test 2: c.t0 = a.t0, c.dt = 10 min a.dt = 20 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=1200, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_ClockSet(clock, currTime = stopTime, direction=ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + !call ESMF_AlarmDebug(alarm,'test2',rc=status) + !if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, 'Test 2: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 2: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + enddo + + rc = ESMF_FAILURE + if(nrings == 4) rc = ESMF_SUCCESS + end subroutine +!------------------------------------------------------------------------ + subroutine ReverseAlarm_Test3(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + !print *, 'Test 3: c.t0 = a.t0, c.dt = 20 min a.dt = 10 min' + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_TimeIntervalSet(timeStep,S=1200, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_ClockSet(clock, currTime = stopTime, direction=ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! It's an error to create an alarm with alarm timeInterval less than clock timeStep + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) return + call ESMF_AlarmDebug(alarm,'test3',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, 'Test 3: ringing = ', ringing, trim(clockCurrTime(clock)) + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 3: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + end subroutine +!------------------------------------------------------------------------ + subroutine ReverseAlarm_Test4(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 4: c.t0 = a.t0, c.dt = 10 min a.dt = 12 min + print *, 'Test 4: c.t0 = a.t0, c.dt = 10 min a.dt = 12 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=720, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringDuration,S=1, sN=0, sD=1,rc=status) + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_ClockSet(clock, currTime = stopTime, direction=ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmDebug(alarm,'test4',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + write(*, '(A20,Z16)') 'LOC(sticky) = ', LOC(sticky) + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, 'Test 4: ringing = ', ringing, trim(clockCurrTime(clock)), ' sticky = ', sticky + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 4: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + if(nrings == 2) rc = ESMF_SUCCESS + end subroutine +!------------------------------------------------------------------------ + subroutine ReverseAlarm_Test5(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + print *, 'Test 5: c.t0 = 0:0:0 a.t0=0:4:0, c.dt = a.dt = 10 min sticky (an alarm wont ring)' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_ClockSet(clock, currTime = stopTime, direction=ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=4,s=0,rc=status) + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.true., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) return + call ESMF_AlarmDebug(alarm,'test5',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, 'Test 5: ringing = ', ringing, trim(clockCurrTime(clock)) + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 5: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + end subroutine +!------------------------------------------------------------------------ + subroutine ReverseAlarm_Test6(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=30,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 6: c.t0 = a.t0, c.dt = 10 min a.dt = 12 min + print *, 'Test 6: c.t0 = a.t0, c.dt = 10 min a.dt = unspecified (one shot)' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=720, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringDuration,S=1, sN=0, sD=1,rc=status) + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_ClockSet(clock, currTime = stopTime, direction=ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmDebug(alarm,'test6',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, 'Test 6: ringing = ', ringing, trim(clockCurrTime(clock)), ' sticky = ', sticky + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 6: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + + rc = ESMF_FAILURE + if(nrings == 1) rc = ESMF_SUCCESS + end subroutine + +!------------------------------------------------------------------------ +! Forward and Reverse +!------------------------------------------------------------------------ + subroutine ForwardReverseAlarm_Test1(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + print *, 'Forward and Reverse Alarms Tests: ' + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 1: c.t0 = a.t0, c.dt = a.dt = 10 min + print *, 'Test 1: c.t0 = a.t0, c.dt = a.dt = 10 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmDebug(alarm,'test1',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, 'Test 1: ringing = ', ringing, trim(clockCurrTime(clock)) + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 1: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + enddo + call ESMF_ClockSet(clock, direction = ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 1: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + rc = ESMF_FAILURE + print *, nrings + if(nrings == 13) rc = ESMF_SUCCESS + end subroutine + + subroutine ForwardReverseAlarm_Test2(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + print *, 'Forward and Reverse Alarms Tests: ' + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 2: c.t0 = a.t0, c.dt = a.dt = 10 min + print *, 'Test 2: c.t0 = a.t0, c.dt = a.dt = 20 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=1200, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmDebug(alarm,'test1',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, 'Test 2: ringing = ', ringing, trim(clockCurrTime(clock)) + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 2: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + enddo + call ESMF_ClockSet(clock, direction = ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 2: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + rc = ESMF_FAILURE + print *, nrings + if(nrings == 7) rc = ESMF_SUCCESS + end subroutine + + subroutine ForwardReverseAlarm_Test3(rc) + + integer, intent(out) :: rc + + type (ESMF_Clock) :: clock + type (ESMF_Alarm) :: alarm + type (ESMF_Time) :: startTime, stopTime, ringTime + type (ESMF_TimeInterval) :: timeStep, ringTimeInterval, ringDuration + + integer :: status, n, nrings=0 + logical :: ringing, enabled, sticky + + rc = ESMF_SUCCESS + print *, 'Forward and Reverse Alarms Tests: ' + call ESMF_TimeSet(startTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(stopTime,yy=1,mm=1,dd=1,h=1,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeSet(ringTime,yy=1,mm=1,dd=1,h=0,m=0,s=0,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + ! Test 3: c.t0 = a.t0, c.dt = a.dt = 10 min + print *, 'Test 3: c.t0 = a.t0, c.dt = a.dt = 12 min' + call ESMF_TimeIntervalSet(timeStep,S=600, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_TimeIntervalSet(ringTimeInterval,S=720, sN=0, sD=1,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + clock = ESMF_ClockCreate(timeStep=timeStep,startTime=startTime,stopTime=stopTime,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + alarm = ESMF_AlarmCreate(clock, ringTime=ringTime, ringInterval=ringTimeInterval, enabled=.true., sticky=.false., name='alarm', rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmDebug(alarm,'test1',rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, 'Test 3: ringing = ', ringing, trim(clockCurrTime(clock)) + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + print *, ' Test 3: ringing = ', ringing, trim(clockCurrTime(clock)) + if(ringing) nrings = nrings + 1 + enddo + call ESMF_ClockSet(clock, direction = ESMF_DIRECTION_REVERSE, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + do n = 1, 6 + call ESMF_ClockAdvance(clock,rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + call ESMF_AlarmGet(alarm, ringing=ringing, enabled=enabled, sticky=sticky, rc=status) + if(status /= ESMF_SUCCESS) call ESMF_Finalize() + if(ringing) nrings = nrings + 1 + print *, ' Test 3: ringing = ', ringing, trim(clockCurrTime(clock)) + enddo + rc = ESMF_FAILURE + print *, nrings + if(nrings == 3) rc = ESMF_SUCCESS + end subroutine + end program ESMF_AlarmTest diff --git a/src/Infrastructure/TimeMgr/tests/ESMF_CalRangeUTest.F90 b/src/Infrastructure/TimeMgr/tests/ESMF_CalRangeUTest.F90 index ffd9314c0f..47eab142e2 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMF_CalRangeUTest.F90 +++ b/src/Infrastructure/TimeMgr/tests/ESMF_CalRangeUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/tests/ESMF_CalendarUTest.F90 b/src/Infrastructure/TimeMgr/tests/ESMF_CalendarUTest.F90 index 3a34fe6ace..9d9b768193 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMF_CalendarUTest.F90 +++ b/src/Infrastructure/TimeMgr/tests/ESMF_CalendarUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/TimeMgr/tests/ESMF_ClockUTest.F90 b/src/Infrastructure/TimeMgr/tests/ESMF_ClockUTest.F90 index 4903e50590..495605fe1c 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMF_ClockUTest.F90 +++ b/src/Infrastructure/TimeMgr/tests/ESMF_ClockUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -78,6 +78,7 @@ program ESMF_ClockTest ! Random number real :: ranNum integer :: timevals(8) + integer :: milliseconds integer, allocatable :: seed(:) integer :: seed_size @@ -1510,9 +1511,15 @@ program ESMF_ClockTest if (rc.eq.ESMF_SUCCESS) then call date_and_time(values=timevals) + milliseconds = timevals(8) call random_seed (size=seed_size) allocate (seed(seed_size)) - seed=timevals(8) + if (milliseconds.eq.0) then + ! random_seed needs non-zero values, at least with some compilers (e.g., nvhpc) + seed = 1000 + else + seed = milliseconds + end if call random_seed(put=seed) deallocate (seed) testResults = 0 diff --git a/src/Infrastructure/TimeMgr/tests/ESMF_TimeIntervalUTest.F90 b/src/Infrastructure/TimeMgr/tests/ESMF_TimeIntervalUTest.F90 index f5ef22283c..c8ee211fde 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMF_TimeIntervalUTest.F90 +++ b/src/Infrastructure/TimeMgr/tests/ESMF_TimeIntervalUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -79,9 +79,12 @@ program ESMF_TimeIntervalUTest ms_out_r8, ms_in_r8, min_out_r8, hr_in_r8, & sec_out_r8 integer(ESMF_KIND_I8) :: days2 + integer(ESMF_KIND_I8) :: yy_i8, mm_i8, d_i8, s_i8 type(ESMF_TimeInterval) :: timeInterval1, timeInterval2, timeInterval3, & timeInterval4, timeInterval5, timeInterval6 type(ESMF_TimeInterval) :: diffTime, absoluteTime + type(ESMF_CalKind_Flag) :: calkindflag + logical :: correct #endif @@ -2957,6 +2960,34 @@ program ESMF_TimeIntervalUTest !print *, "yy=", YY, "mm=", MM, "d=", D, "h=", H, "m=", M, "s=", S + ! ---------------------------------------------------------------------------- + !EX_UTest + write(name, *) "Test ISO String and Calendar set interface." + write(failMsg, *) " Did not return 24 months or ESMF_SUCCESS" + call ESMF_TimeIntervalSet(timeStep, timeIntervalString="P2Y", calendar=gregorianCalendar, & + rc=rc) + call ESMF_TimeIntervalGet(timeStep, mm=months, rc=rc) + + call ESMF_Test((months==24 .and. rc==ESMF_SUCCESS), & + name, failMsg, result, ESMF_SRCLINE) + + + ! ---------------------------------------------------------------------------- + !EX_UTest + write(name, *) "Test ISO String and startTime set interface." + write(failMsg, *) " Did not return 24 months or ESMF_SUCCESS" + call ESMF_TimeSet(startTime, d=1200, h=12, m=17, s=58, & + calendar=julianDayCalendar, rc=rc) + call ESMF_TimeIntervalSet(timeStep, startTime, timeIntervalString="P2Y", & + rc=rc) + + call ESMF_Test((rc==ESMF_SUCCESS), & + name, failMsg, result, ESMF_SRCLINE) + + ! ---------------------------------------------------------------------------- + + + call ESMF_CalendarDestroy(julianDayCalendar) call ESMF_CalendarDestroy(day360Calendar) call ESMF_CalendarDestroy(noLeapCalendar) @@ -3894,6 +3925,171 @@ program ESMF_TimeIntervalUTest name, failMsg, result, ESMF_SRCLINE) !print *, "S, sN, sD_i8 = ", S, sN, sD_i8 +! ---------------------------------------------------------------------------- + !EX_UTest + ! Testing ESMF_TimeIntervalSet from an ISO duration string + write(name, *) "Set an ESMF_TimeInterval using an ISO duration string with just I4." + write(failMsg, *) "Output did not match duration set in string." + call ESMF_TimeIntervalSet(timeInterval1, timeIntervalString="P1Y2M3DT4H5M6S", rc=rc) + call ESMF_TimeIntervalGet(timeInterval1, yy=YY, mm=months, d=days, & + h=h,m=m, s=s, rc=rc) + + ! Check answers + correct=.true. + if (yy /= 1) correct=.false. + if (months /= 2) correct=.false. + if (days /= 3) correct=.false. + if (h /= 4) correct=.false. + if (m /= 5) correct=.false. + if (s /= 6) correct=.false. + +! Debug output +! write(*,*) "yy=",yy +! write(*,*) "mm=",months +! write(*,*) "dd=",days +! write(*,*) "h=",h +! write(*,*) "m=",m +! write(*,*) "s=",s + + + call ESMF_Test((rc .eq. ESMF_SUCCESS) .and. correct, & + name, failMsg, result, ESMF_SRCLINE) + + ! ---------------------------------------------------------------------------- + !EX_UTest + ! Testing ESMF_TimeIntervalSet from an ISO duration string + write(name, *) "Set an ESMF_TimeInterval using an ISO duration string without date." + write(failMsg, *) "Output did not match duration set in string." + call ESMF_TimeIntervalSet(timeInterval1, timeIntervalString="PT4H5M6S", rc=rc) + call ESMF_TimeIntervalGet(timeInterval1, & + ! yy=YY, mm=months, d_r8=days_r8, d=days, & + h=h,m=m, s=s, rc=rc) + + ! Check answers + correct=.true. + if (h /= 4) correct=.false. + if (m /= 5) correct=.false. + if (s /= 6) correct=.false. + + + call ESMF_Test((rc .eq. ESMF_SUCCESS) .and. correct, & + name, failMsg, result, ESMF_SRCLINE) + +! ---------------------------------------------------------------------------- + !EX_UTest + ! Testing ESMF_TimeIntervalSet from an ISO duration string + write(name, *) "Set an ESMF_TimeInterval using an ISO duration string without time." + write(failMsg, *) "Output did not match duration set in string." + call ESMF_TimeIntervalSet(timeInterval1, timeIntervalString="P1Y2M3D", rc=rc) + call ESMF_TimeIntervalGet(timeInterval1, yy=YY, mm=months, d=days, & + rc=rc) + + ! Check answers + correct=.true. + if (yy /= 1) correct=.false. + if (months /= 2) correct=.false. + if (days /= 3) correct=.false. + +! Debug output +! write(*,*) "yy=",yy +! write(*,*) "mm=",months +! write(*,*) "dd=",days +! write(*,*) "h=",h +! write(*,*) "m=",m +! write(*,*) "s=",s + + + call ESMF_Test((rc .eq. ESMF_SUCCESS) .and. correct, & + name, failMsg, result, ESMF_SRCLINE) + + + + ! ---------------------------------------------------------------------------- + !EX_UTest + ! Testing ESMF_TimeIntervalSet from an ISO duration string + write(name, *) "Set an ESMF_TimeInterval using an ISO duration string with R8 seconds." + write(failMsg, *) "Output did not match duration set in string." + call ESMF_TimeIntervalSet(timeInterval1, timeIntervalString="PT6.6S", rc=rc) + call ESMF_TimeIntervalGet(timeInterval1, & + s_r8=sec_in_r8, rc=rc) + + ! Check answers + correct=.true. + if (abs(sec_in_r8 - 6.6) < 1.0E-14) correct=.false. + + call ESMF_Test((rc .eq. ESMF_SUCCESS) .and. correct, & + name, failMsg, result, ESMF_SRCLINE) + + ! ---------------------------------------------------------------------------- + !EX_UTest + ! Testing ESMF_TimeIntervalSet from an ISO duration string + write(name, *) "Set an ESMF_TimeInterval using an ISO duration string with R8 time values." + write(failMsg, *) "Output did not match duration set in string." + call ESMF_TimeIntervalSet(timeInterval1, timeIntervalString="PT4.1H5.2M6.3S", rc=rc) + call ESMF_TimeIntervalGet(timeInterval1, & + h_r8=hr_out_r8,m_r8=min_in_r8, s_r8=sec_out_r8, rc=rc) + + ! Check answers + correct=.true. + if (abs(hr_out_r8-4.1) < 1.0E-14) correct=.false. + if (abs(min_in_r8-5.2) < 1.0E-14) correct=.false. + if (abs(sec_out_r8-6.3) < 1.0E-14) correct=.false. + + call ESMF_Test((rc .eq. ESMF_SUCCESS) .and. correct, & + name, failMsg, result, ESMF_SRCLINE) + + +! ---------------------------------------------------------------------------- + !EX_UTest + ! Testing ESMF_TimeIntervalSet from an ISO duration string + write(name, *) "Set an ESMF_TimeInterval using an ISO duration string with I8 (where available)." + write(failMsg, *) "Output did not match duration set in string." + call ESMF_TimeIntervalSet(timeInterval1, & + timeIntervalString="P10000000000Y20000000000M30000000000DT60000000000S", & + rc=rc) + call ESMF_TimeIntervalGet(timeInterval1, yy_i8=yy_i8, mm_i8=mm_i8, d_i8=d_i8, & + s_i8=s_i8, rc=rc) + + ! Check answers + correct=.true. + if (yy_i8 /= 10000000000_ESMF_KIND_I8) correct=.false. + if (mm_i8 /= 20000000000_ESMF_KIND_I8) correct=.false. + if (d_i8 /= 30000000000_ESMF_KIND_I8) correct=.false. + if (s_i8 /= 60000000000_ESMF_KIND_I8) correct=.false. + + call ESMF_Test((rc .eq. ESMF_SUCCESS) .and. correct, & + name, failMsg, result, ESMF_SRCLINE) + + +! ---------------------------------------------------------------------------- + + !EX_UTest + ! Testing ESMF_TimeIntervalSet from an ISO duration string + write(name, *) "Set an ESMF_TimeInterval using an ISO duration string and caltype" + write(failMsg, *) "Output did not match duration set in string." + call ESMF_TimeIntervalSet(timeInterval1, timeIntervalString="P1Y", & + calkindflag=ESMF_CALKIND_GREGORIAN, rc=rc) + call ESMF_TimeIntervalGet(timeInterval1, yy=YY, calkindflag=calkindflag, & + rc=rc) + + ! Check answers + correct=.true. + if (yy /= 1) correct=.false. + if (calkindflag /= ESMF_CALKIND_GREGORIAN) correct=.false. + + ! Debug output +! write(*,*) "yy=",yy +! write(*,*) "mm=",months +! write(*,*) "dd=",days +! write(*,*) "h=",h +! write(*,*) "m=",m +! write(*,*) "s=",s + + + call ESMF_Test((rc .eq. ESMF_SUCCESS) .and. correct, & + name, failMsg, result, ESMF_SRCLINE) + + ! ---------------------------------------------------------------------------- ! return number of failures to environment; 0 = success (all pass) ! return result ! TODO: no way to do this in F90 ? diff --git a/src/Infrastructure/TimeMgr/tests/ESMF_TimeUTest.F90 b/src/Infrastructure/TimeMgr/tests/ESMF_TimeUTest.F90 index 72907a146f..d1a7cb0ca3 100644 --- a/src/Infrastructure/TimeMgr/tests/ESMF_TimeUTest.F90 +++ b/src/Infrastructure/TimeMgr/tests/ESMF_TimeUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -73,7 +73,7 @@ program ESMF_TimeUTest ! instantitate some general times and timeintervals type(ESMF_Time) :: time1, time2, time3, time4, time5, time6, time7, & - midMonth, startTime2 + midMonth, startTime2, time8 type(ESMF_TimeInterval) :: timeInterval2, timeInterval3, timeInterval4, & timeInterval5, timeInterval6, timeInterval7 @@ -1136,6 +1136,18 @@ program ESMF_TimeUTest ! ---------------------------------------------------------------------------- + ! ---------------------------------------------------------------------------- + !EX_UTest + ! Setting just a calendar in an uninit time + write(failMsg, *) " Did not return ESMF_SUCCESS" + write(name, *) "Setting just a calendar in an uninitialized Time object." + call ESMF_TimeSet(time8, calendar=julianCalendar, rc=rc) + call ESMF_Test((rc.eq.ESMF_SUCCESS).and.(.not.bool), & + name, failMsg, result, ESMF_SRCLINE) + + ! ---------------------------------------------------------------------------- + + ! return number of failures to environment; 0 = success (all pass) ! return result ! TODO: no way to do this in F90 ? diff --git a/src/Infrastructure/Trace/doc/Trace_crefdoc.ctex b/src/Infrastructure/Trace/doc/Trace_crefdoc.ctex index 8d6d03f991..66a676e41f 100644 --- a/src/Infrastructure/Trace/doc/Trace_crefdoc.ctex +++ b/src/Infrastructure/Trace/doc/Trace_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/doc/Trace_desc.tex b/src/Infrastructure/Trace/doc/Trace_desc.tex index e13e87df45..f3865536f5 100644 --- a/src/Infrastructure/Trace/doc/Trace_desc.tex +++ b/src/Infrastructure/Trace/doc/Trace_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/doc/Trace_refdoc.ctex b/src/Infrastructure/Trace/doc/Trace_refdoc.ctex index c8c9e09047..e678d8b513 100644 --- a/src/Infrastructure/Trace/doc/Trace_refdoc.ctex +++ b/src/Infrastructure/Trace/doc/Trace_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/doc/Trace_rest.tex b/src/Infrastructure/Trace/doc/Trace_rest.tex index 7cc1108ddc..1bb94f21cf 100644 --- a/src/Infrastructure/Trace/doc/Trace_rest.tex +++ b/src/Infrastructure/Trace/doc/Trace_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/doc/Trace_usage.tex b/src/Infrastructure/Trace/doc/Trace_usage.tex index 45b5118a6d..9ce5c12a1c 100644 --- a/src/Infrastructure/Trace/doc/Trace_usage.tex +++ b/src/Infrastructure/Trace/doc/Trace_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/examples/ESMF_TraceEx.F90 b/src/Infrastructure/Trace/examples/ESMF_TraceEx.F90 index 1c35b17447..ed72457e64 100644 --- a/src/Infrastructure/Trace/examples/ESMF_TraceEx.F90 +++ b/src/Infrastructure/Trace/examples/ESMF_TraceEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/examples/ESMF_TraceUserEx.F90 b/src/Infrastructure/Trace/examples/ESMF_TraceUserEx.F90 index 083c852f31..ec3bd0d629 100644 --- a/src/Infrastructure/Trace/examples/ESMF_TraceUserEx.F90 +++ b/src/Infrastructure/Trace/examples/ESMF_TraceUserEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/gen_trace_metadata.py b/src/Infrastructure/Trace/gen_trace_metadata.py index f6abcedabd..a3e2979530 100644 --- a/src/Infrastructure/Trace/gen_trace_metadata.py +++ b/src/Infrastructure/Trace/gen_trace_metadata.py @@ -15,7 +15,7 @@ * Standard trace metadata used by all ESMF traces. * * Earth System Modeling Framework - * Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + * Copyright (c) 2002-2024, University Corporation for Atmospheric Research, * Massachusetts Institute of Technology, Geophysical Fluid Dynamics * Laboratory, University of Michigan, National Centers for Environmental * Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/include/ESMCI_RegionNode.h b/src/Infrastructure/Trace/include/ESMCI_RegionNode.h index 04797b0963..b6c9969c17 100644 --- a/src/Infrastructure/Trace/include/ESMCI_RegionNode.h +++ b/src/Infrastructure/Trace/include/ESMCI_RegionNode.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/include/ESMCI_RegionSummary.h b/src/Infrastructure/Trace/include/ESMCI_RegionSummary.h index 8e0023ae5f..31bac1b5aa 100644 --- a/src/Infrastructure/Trace/include/ESMCI_RegionSummary.h +++ b/src/Infrastructure/Trace/include/ESMCI_RegionSummary.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/include/ESMCI_Trace.h b/src/Infrastructure/Trace/include/ESMCI_Trace.h index 177731979b..b0feeea8c0 100644 --- a/src/Infrastructure/Trace/include/ESMCI_Trace.h +++ b/src/Infrastructure/Trace/include/ESMCI_Trace.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/include/ESMCI_TraceMacros.h b/src/Infrastructure/Trace/include/ESMCI_TraceMacros.h index c2fb7c1f35..7dec63c8d1 100644 --- a/src/Infrastructure/Trace/include/ESMCI_TraceMacros.h +++ b/src/Infrastructure/Trace/include/ESMCI_TraceMacros.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/include/ESMCI_TraceRegion.h b/src/Infrastructure/Trace/include/ESMCI_TraceRegion.h index 61f6d17207..9203e6c0c1 100644 --- a/src/Infrastructure/Trace/include/ESMCI_TraceRegion.h +++ b/src/Infrastructure/Trace/include/ESMCI_TraceRegion.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/include/ESMCI_TraceUtil.h b/src/Infrastructure/Trace/include/ESMCI_TraceUtil.h index 294eba2455..37f0057788 100644 --- a/src/Infrastructure/Trace/include/ESMCI_TraceUtil.h +++ b/src/Infrastructure/Trace/include/ESMCI_TraceUtil.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/include/ESMC_Trace.h b/src/Infrastructure/Trace/include/ESMC_Trace.h index 096c51cecd..3363c17791 100644 --- a/src/Infrastructure/Trace/include/ESMC_Trace.h +++ b/src/Infrastructure/Trace/include/ESMC_Trace.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/include/ESMF_TraceRegion.inc b/src/Infrastructure/Trace/include/ESMF_TraceRegion.inc index b7627a5ce9..3bc38b97c2 100644 --- a/src/Infrastructure/Trace/include/ESMF_TraceRegion.inc +++ b/src/Infrastructure/Trace/include/ESMF_TraceRegion.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/interface/ESMC_Trace.C b/src/Infrastructure/Trace/interface/ESMC_Trace.C index 398cbefe02..38c467e012 100644 --- a/src/Infrastructure/Trace/interface/ESMC_Trace.C +++ b/src/Infrastructure/Trace/interface/ESMC_Trace.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/interface/ESMF_Trace.F90 b/src/Infrastructure/Trace/interface/ESMF_Trace.F90 index f0c984c9b8..384d723439 100644 --- a/src/Infrastructure/Trace/interface/ESMF_Trace.F90 +++ b/src/Infrastructure/Trace/interface/ESMF_Trace.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/preload/makefile b/src/Infrastructure/Trace/preload/makefile index a77f85cde8..f8dd19e0da 100644 --- a/src/Infrastructure/Trace/preload/makefile +++ b/src/Infrastructure/Trace/preload/makefile @@ -32,7 +32,7 @@ ifeq ($(ESMF_OS),MinGW) endif tracelib_preload: preload.o preload_mpi.o wrappers.o wrappers_mpi.o - $(ESMF_SL_PRELOAD_LIBLINKER) $(ESMF_SL_LIBOPTS) -o $(ESMF_LDIR)/libesmftrace_preload.$(ESMF_SL_SUFFIX) $^ $(ESMF_CXXLINKOPTS) $(ESMF_CXXLINKPATHS) $(ESMF_CXXLINKRPATHS) $(ESMF_CXXLINKLIBS) $(ESMF_TRACE_ESMFLIB) + $(ESMF_SL_PRELOAD_LIBLINKER) $(ESMF_SL_LIBOPTS) -o $(ESMF_LDIR)/libesmftrace_preload.$(ESMF_SL_SUFFIX) $^ $(ESMF_SL_PRELOAD_LIBOPTS) $(ESMF_SL_PRELOAD_LIBLIBS) $(ESMF_TRACE_ESMFLIB) $(MAKE) ESMF_PRELOADDIR=$(ESMF_LIBDIR) build_preload_script tracelib_static: wrappers_io.o wrappers_mpi.o wrappers.o diff --git a/src/Infrastructure/Trace/src/ESMCI_Trace.C b/src/Infrastructure/Trace/src/ESMCI_Trace.C index a46e417941..2425665ed3 100644 --- a/src/Infrastructure/Trace/src/ESMCI_Trace.C +++ b/src/Infrastructure/Trace/src/ESMCI_Trace.C @@ -3,7 +3,7 @@ * Writes trace events to the file system. * * Earth System Modeling Framework - * Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + * Copyright (c) 2002-2024, University Corporation for Atmospheric Research, * Massachusetts Institute of Technology, Geophysical Fluid Dynamics * Laboratory, University of Michigan, National Centers for Environmental * Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/src/ESMCI_TraceClock.C b/src/Infrastructure/Trace/src/ESMCI_TraceClock.C index 9849105778..3b00679e42 100644 --- a/src/Infrastructure/Trace/src/ESMCI_TraceClock.C +++ b/src/Infrastructure/Trace/src/ESMCI_TraceClock.C @@ -3,7 +3,7 @@ * Functions to get the timestamps from the system for trace events * * Earth System Modeling Framework - * Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + * Copyright (c) 2002-2024, University Corporation for Atmospheric Research, * Massachusetts Institute of Technology, Geophysical Fluid Dynamics * Laboratory, University of Michigan, National Centers for Environmental * Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/src/ESMCI_TraceMetadata.C b/src/Infrastructure/Trace/src/ESMCI_TraceMetadata.C index a9ffafb6d0..834a850022 100644 --- a/src/Infrastructure/Trace/src/ESMCI_TraceMetadata.C +++ b/src/Infrastructure/Trace/src/ESMCI_TraceMetadata.C @@ -5,7 +5,7 @@ * Standard trace metadata used by all ESMF traces. * * Earth System Modeling Framework - * Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + * Copyright (c) 2002-2024, University Corporation for Atmospheric Research, * Massachusetts Institute of Technology, Geophysical Fluid Dynamics * Laboratory, University of Michigan, National Centers for Environmental * Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/src/ESMCI_TraceWrap.C b/src/Infrastructure/Trace/src/ESMCI_TraceWrap.C index 659a216357..03cad3051e 100644 --- a/src/Infrastructure/Trace/src/ESMCI_TraceWrap.C +++ b/src/Infrastructure/Trace/src/ESMCI_TraceWrap.C @@ -1,7 +1,7 @@ // $Id$ /* * Earth System Modeling Framework - * Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + * Copyright (c) 2002-2024, University Corporation for Atmospheric Research, * Massachusetts Institute of Technology, Geophysical Fluid Dynamics * Laboratory, University of Michigan, National Centers for Environmental * Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMCI_TraceRegionUTest.C b/src/Infrastructure/Trace/tests/ESMCI_TraceRegionUTest.C index efa2db177d..1f26d5eef2 100644 --- a/src/Infrastructure/Trace/tests/ESMCI_TraceRegionUTest.C +++ b/src/Infrastructure/Trace/tests/ESMCI_TraceRegionUTest.C @@ -3,7 +3,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMC_TraceRegionUTest.c b/src/Infrastructure/Trace/tests/ESMC_TraceRegionUTest.c index dd3fff4a1e..8c850ec605 100644 --- a/src/Infrastructure/Trace/tests/ESMC_TraceRegionUTest.c +++ b/src/Infrastructure/Trace/tests/ESMC_TraceRegionUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMF_ProfileUTest.F90 b/src/Infrastructure/Trace/tests/ESMF_ProfileUTest.F90 index c803e3bde3..bd2e33a02f 100644 --- a/src/Infrastructure/Trace/tests/ESMF_ProfileUTest.F90 +++ b/src/Infrastructure/Trace/tests/ESMF_ProfileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMF_SimpleComp.F90 b/src/Infrastructure/Trace/tests/ESMF_SimpleComp.F90 index d46b0f8682..0b3a2f65b3 100644 --- a/src/Infrastructure/Trace/tests/ESMF_SimpleComp.F90 +++ b/src/Infrastructure/Trace/tests/ESMF_SimpleComp.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMF_SimpleCompB.F90 b/src/Infrastructure/Trace/tests/ESMF_SimpleCompB.F90 index 6580257069..9725c6022a 100644 --- a/src/Infrastructure/Trace/tests/ESMF_SimpleCompB.F90 +++ b/src/Infrastructure/Trace/tests/ESMF_SimpleCompB.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMF_TraceClkMonoSyncUTest.F90 b/src/Infrastructure/Trace/tests/ESMF_TraceClkMonoSyncUTest.F90 index 6f2cd790ed..2070f1e351 100644 --- a/src/Infrastructure/Trace/tests/ESMF_TraceClkMonoSyncUTest.F90 +++ b/src/Infrastructure/Trace/tests/ESMF_TraceClkMonoSyncUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMF_TraceClkMonoUTest.F90 b/src/Infrastructure/Trace/tests/ESMF_TraceClkMonoUTest.F90 index 20d4ce708c..5c54655f29 100644 --- a/src/Infrastructure/Trace/tests/ESMF_TraceClkMonoUTest.F90 +++ b/src/Infrastructure/Trace/tests/ESMF_TraceClkMonoUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMF_TraceIOUTest.F90 b/src/Infrastructure/Trace/tests/ESMF_TraceIOUTest.F90 index 3ccc0484ec..b312a2ee24 100644 --- a/src/Infrastructure/Trace/tests/ESMF_TraceIOUTest.F90 +++ b/src/Infrastructure/Trace/tests/ESMF_TraceIOUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMF_TraceMPIUTest.F90 b/src/Infrastructure/Trace/tests/ESMF_TraceMPIUTest.F90 index 7ce212727e..51514e429a 100644 --- a/src/Infrastructure/Trace/tests/ESMF_TraceMPIUTest.F90 +++ b/src/Infrastructure/Trace/tests/ESMF_TraceMPIUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Trace/tests/ESMF_TraceUTest.F90 b/src/Infrastructure/Trace/tests/ESMF_TraceUTest.F90 index 1498e664bf..d6236574c8 100644 --- a/src/Infrastructure/Trace/tests/ESMF_TraceUTest.F90 +++ b/src/Infrastructure/Trace/tests/ESMF_TraceUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/doc/IOUtil_refdoc.ctex b/src/Infrastructure/Util/doc/IOUtil_refdoc.ctex index 5dd273d496..5a3321c915 100644 --- a/src/Infrastructure/Util/doc/IOUtil_refdoc.ctex +++ b/src/Infrastructure/Util/doc/IOUtil_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMCI_Arg.h b/src/Infrastructure/Util/include/ESMCI_Arg.h index c1ef232a4d..24e71e0a2f 100644 --- a/src/Infrastructure/Util/include/ESMCI_Arg.h +++ b/src/Infrastructure/Util/include/ESMCI_Arg.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMCI_CoordSys.h b/src/Infrastructure/Util/include/ESMCI_CoordSys.h index 3d6b7ca519..29e30d5415 100644 --- a/src/Infrastructure/Util/include/ESMCI_CoordSys.h +++ b/src/Infrastructure/Util/include/ESMCI_CoordSys.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMCI_F90Interface.h b/src/Infrastructure/Util/include/ESMCI_F90Interface.h index 3b3552118c..fcde25a853 100644 --- a/src/Infrastructure/Util/include/ESMCI_F90Interface.h +++ b/src/Infrastructure/Util/include/ESMCI_F90Interface.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMCI_Fraction.h b/src/Infrastructure/Util/include/ESMCI_Fraction.h index 4c36ab5582..501ad99738 100644 --- a/src/Infrastructure/Util/include/ESMCI_Fraction.h +++ b/src/Infrastructure/Util/include/ESMCI_Fraction.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMCI_Macros.h b/src/Infrastructure/Util/include/ESMCI_Macros.h index d408603531..7b9f61de46 100644 --- a/src/Infrastructure/Util/include/ESMCI_Macros.h +++ b/src/Infrastructure/Util/include/ESMCI_Macros.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMCI_Util.h b/src/Infrastructure/Util/include/ESMCI_Util.h index 616bd67930..995bc9b5cc 100644 --- a/src/Infrastructure/Util/include/ESMCI_Util.h +++ b/src/Infrastructure/Util/include/ESMCI_Util.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMC_Arg.h b/src/Infrastructure/Util/include/ESMC_Arg.h index 6279547d83..30df60a306 100644 --- a/src/Infrastructure/Util/include/ESMC_Arg.h +++ b/src/Infrastructure/Util/include/ESMC_Arg.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMC_CoordSys.h b/src/Infrastructure/Util/include/ESMC_CoordSys.h index 67071265b3..06b46bf88d 100644 --- a/src/Infrastructure/Util/include/ESMC_CoordSys.h +++ b/src/Infrastructure/Util/include/ESMC_CoordSys.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMC_Interface.h b/src/Infrastructure/Util/include/ESMC_Interface.h index c12ef57ac2..bcd9dbdb4f 100644 --- a/src/Infrastructure/Util/include/ESMC_Interface.h +++ b/src/Infrastructure/Util/include/ESMC_Interface.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMC_Macros.h b/src/Infrastructure/Util/include/ESMC_Macros.h index 93471aee47..37d5dfd600 100644 --- a/src/Infrastructure/Util/include/ESMC_Macros.h +++ b/src/Infrastructure/Util/include/ESMC_Macros.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMC_ReturnCodes.h b/src/Infrastructure/Util/include/ESMC_ReturnCodes.h index fcf3e7da0d..9848dc52e5 100644 --- a/src/Infrastructure/Util/include/ESMC_ReturnCodes.h +++ b/src/Infrastructure/Util/include/ESMC_ReturnCodes.h @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework - Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMC_Util.h b/src/Infrastructure/Util/include/ESMC_Util.h index b9f53c9b51..f47b624d44 100644 --- a/src/Infrastructure/Util/include/ESMC_Util.h +++ b/src/Infrastructure/Util/include/ESMC_Util.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -58,6 +58,11 @@ enum ESMC_Decomp_Flag {ESMC_DECOMP_INVALID=0, ESMC_DECOMP_BALANCED, ESMC_DECOMP_RESTFIRST, ESMC_DECOMP_RESTLAST, ESMC_DECOMP_CYCLIC}; +// end flag +typedef enum ESMC_End_Flag { ESMC_END_NORMAL=1, + ESMC_END_KEEPMPI, + ESMC_END_ABORT} ESMC_End_Flag; + enum ESMC_ExtrapMethod_Flag {ESMC_EXTRAPMETHOD_NONE=0, ESMC_EXTRAPMETHOD_NEAREST_STOD, ESMC_EXTRAPMETHOD_NEAREST_IDAVG, diff --git a/src/Infrastructure/Util/include/ESMF.h b/src/Infrastructure/Util/include/ESMF.h index 003e9a9cd8..fe3ca18e9f 100644 --- a/src/Infrastructure/Util/include/ESMF.h +++ b/src/Infrastructure/Util/include/ESMF.h @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMF_ErrReturnCodes.inc b/src/Infrastructure/Util/include/ESMF_ErrReturnCodes.inc index 8d5d6175f7..015913a8e8 100644 --- a/src/Infrastructure/Util/include/ESMF_ErrReturnCodes.inc +++ b/src/Infrastructure/Util/include/ESMF_ErrReturnCodes.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMF_InitMacros.inc b/src/Infrastructure/Util/include/ESMF_InitMacros.inc index 6bf1bfd12c..2f64ec0315 100644 --- a/src/Infrastructure/Util/include/ESMF_InitMacros.inc +++ b/src/Infrastructure/Util/include/ESMF_InitMacros.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMF_LogConstants.inc b/src/Infrastructure/Util/include/ESMF_LogConstants.inc index ac7db79871..cdb04a0786 100644 --- a/src/Infrastructure/Util/include/ESMF_LogConstants.inc +++ b/src/Infrastructure/Util/include/ESMF_LogConstants.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework - Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMF_LogErr.inc b/src/Infrastructure/Util/include/ESMF_LogErr.inc index 890abf4d0c..7cd8984d3a 100644 --- a/src/Infrastructure/Util/include/ESMF_LogErr.inc +++ b/src/Infrastructure/Util/include/ESMF_LogErr.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework - Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMF_LogMacros.inc b/src/Infrastructure/Util/include/ESMF_LogMacros.inc index 41ba903449..4dc410fd24 100644 --- a/src/Infrastructure/Util/include/ESMF_LogMacros.inc +++ b/src/Infrastructure/Util/include/ESMF_LogMacros.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework - Copyright (c) 2002-2023, University Corporation for Atmospheric Research, + Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMF_Macros.inc b/src/Infrastructure/Util/include/ESMF_Macros.inc index f4c546cc22..d744091734 100644 --- a/src/Infrastructure/Util/include/ESMF_Macros.inc +++ b/src/Infrastructure/Util/include/ESMF_Macros.inc @@ -2,7 +2,7 @@ $Id$ Earth System Modeling Framework -Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMF_TypeKindMacros.hcppF90 b/src/Infrastructure/Util/include/ESMF_TypeKindMacros.hcppF90 index d9c3d1cc3a..0b87096790 100644 --- a/src/Infrastructure/Util/include/ESMF_TypeKindMacros.hcppF90 +++ b/src/Infrastructure/Util/include/ESMF_TypeKindMacros.hcppF90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/include/ESMF_TypeKindRankMacros.hcppF90 b/src/Infrastructure/Util/include/ESMF_TypeKindRankMacros.hcppF90 index 62a2ec7539..f77191c2cc 100644 --- a/src/Infrastructure/Util/include/ESMF_TypeKindRankMacros.hcppF90 +++ b/src/Infrastructure/Util/include/ESMF_TypeKindRankMacros.hcppF90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMCI_F90Interface_F.C b/src/Infrastructure/Util/interface/ESMCI_F90Interface_F.C index 285067aec7..fd31377d3f 100644 --- a/src/Infrastructure/Util/interface/ESMCI_F90Interface_F.C +++ b/src/Infrastructure/Util/interface/ESMCI_F90Interface_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMCI_Fraction_F.C b/src/Infrastructure/Util/interface/ESMCI_Fraction_F.C index ab854ea9da..c929c4f6e8 100644 --- a/src/Infrastructure/Util/interface/ESMCI_Fraction_F.C +++ b/src/Infrastructure/Util/interface/ESMCI_Fraction_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMCI_Util_F.C b/src/Infrastructure/Util/interface/ESMCI_Util_F.C index c57c1184ea..394f7bbf0f 100644 --- a/src/Infrastructure/Util/interface/ESMCI_Util_F.C +++ b/src/Infrastructure/Util/interface/ESMCI_Util_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMC_Interface.C b/src/Infrastructure/Util/interface/ESMC_Interface.C index e5c1d112e5..b6bd20c9a0 100644 --- a/src/Infrastructure/Util/interface/ESMC_Interface.C +++ b/src/Infrastructure/Util/interface/ESMC_Interface.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMC_Util.C b/src/Infrastructure/Util/interface/ESMC_Util.C index 8826d1270c..8e4c6627fd 100644 --- a/src/Infrastructure/Util/interface/ESMC_Util.C +++ b/src/Infrastructure/Util/interface/ESMC_Util.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMF_F90Interface.F90 b/src/Infrastructure/Util/interface/ESMF_F90Interface.F90 index 9c1d2c4f5c..906c133c14 100644 --- a/src/Infrastructure/Util/interface/ESMF_F90Interface.F90 +++ b/src/Infrastructure/Util/interface/ESMF_F90Interface.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMF_Fraction.F90 b/src/Infrastructure/Util/interface/ESMF_Fraction.F90 index f717ddd40b..7012a791f0 100644 --- a/src/Infrastructure/Util/interface/ESMF_Fraction.F90 +++ b/src/Infrastructure/Util/interface/ESMF_Fraction.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMF_Util.F90 b/src/Infrastructure/Util/interface/ESMF_Util.F90 index 83e6589878..51bfc9a24d 100644 --- a/src/Infrastructure/Util/interface/ESMF_Util.F90 +++ b/src/Infrastructure/Util/interface/ESMF_Util.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/interface/ESMF_Util_C.F90 b/src/Infrastructure/Util/interface/ESMF_Util_C.F90 index 09c1c67a1f..345fc3d986 100644 --- a/src/Infrastructure/Util/interface/ESMF_Util_C.F90 +++ b/src/Infrastructure/Util/interface/ESMF_Util_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMCI_CoordSys.C b/src/Infrastructure/Util/src/ESMCI_CoordSys.C index 68875b05e0..35a0359079 100644 --- a/src/Infrastructure/Util/src/ESMCI_CoordSys.C +++ b/src/Infrastructure/Util/src/ESMCI_CoordSys.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMCI_F90Interface.C b/src/Infrastructure/Util/src/ESMCI_F90Interface.C index 9591adf902..0f4d7411f6 100644 --- a/src/Infrastructure/Util/src/ESMCI_F90Interface.C +++ b/src/Infrastructure/Util/src/ESMCI_F90Interface.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMCI_Fraction.C b/src/Infrastructure/Util/src/ESMCI_Fraction.C index 8fe02e1cc2..69594c89e7 100644 --- a/src/Infrastructure/Util/src/ESMCI_Fraction.C +++ b/src/Infrastructure/Util/src/ESMCI_Fraction.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMCI_Util.C b/src/Infrastructure/Util/src/ESMCI_Util.C index 8298b74f92..e2f54f58ac 100644 --- a/src/Infrastructure/Util/src/ESMCI_Util.C +++ b/src/Infrastructure/Util/src/ESMCI_Util.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_AttPackType.F90 b/src/Infrastructure/Util/src/ESMF_AttPackType.F90 index ce8a8814f9..2d7b3345f1 100644 --- a/src/Infrastructure/Util/src/ESMF_AttPackType.F90 +++ b/src/Infrastructure/Util/src/ESMF_AttPackType.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_FortranWordsize.cppF90 b/src/Infrastructure/Util/src/ESMF_FortranWordsize.cppF90 index 9686495245..9d77d976ea 100644 --- a/src/Infrastructure/Util/src/ESMF_FortranWordsize.cppF90 +++ b/src/Infrastructure/Util/src/ESMF_FortranWordsize.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_IOUtil.F90 b/src/Infrastructure/Util/src/ESMF_IOUtil.F90 index 4b0aef4bf6..9a041f8851 100644 --- a/src/Infrastructure/Util/src/ESMF_IOUtil.F90 +++ b/src/Infrastructure/Util/src/ESMF_IOUtil.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_InitMacros.F90 b/src/Infrastructure/Util/src/ESMF_InitMacros.F90 index cfa8eb1496..48231c9a8b 100644 --- a/src/Infrastructure/Util/src/ESMF_InitMacros.F90 +++ b/src/Infrastructure/Util/src/ESMF_InitMacros.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_LogErr.F90 b/src/Infrastructure/Util/src/ESMF_LogErr.F90 index 2990268678..60f9e7a204 100644 --- a/src/Infrastructure/Util/src/ESMF_LogErr.F90 +++ b/src/Infrastructure/Util/src/ESMF_LogErr.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_StaggerLocType.F90 b/src/Infrastructure/Util/src/ESMF_StaggerLocType.F90 index e0b44b4855..f4fd29a5bb 100644 --- a/src/Infrastructure/Util/src/ESMF_StaggerLocType.F90 +++ b/src/Infrastructure/Util/src/ESMF_StaggerLocType.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_TypeKindGet.cppF90 b/src/Infrastructure/Util/src/ESMF_TypeKindGet.cppF90 index 05bd14b54c..353e128f84 100644 --- a/src/Infrastructure/Util/src/ESMF_TypeKindGet.cppF90 +++ b/src/Infrastructure/Util/src/ESMF_TypeKindGet.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_UtilCubedSphere.F90 b/src/Infrastructure/Util/src/ESMF_UtilCubedSphere.F90 index df048da8d1..c2d752563c 100644 --- a/src/Infrastructure/Util/src/ESMF_UtilCubedSphere.F90 +++ b/src/Infrastructure/Util/src/ESMF_UtilCubedSphere.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_UtilSort.cppF90 b/src/Infrastructure/Util/src/ESMF_UtilSort.cppF90 index f7548c1896..44e924e12e 100644 --- a/src/Infrastructure/Util/src/ESMF_UtilSort.cppF90 +++ b/src/Infrastructure/Util/src/ESMF_UtilSort.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_UtilString.F90 b/src/Infrastructure/Util/src/ESMF_UtilString.F90 index be7eca642b..b5d7bf2efc 100644 --- a/src/Infrastructure/Util/src/ESMF_UtilString.F90 +++ b/src/Infrastructure/Util/src/ESMF_UtilString.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/src/ESMF_UtilTypes.F90 b/src/Infrastructure/Util/src/ESMF_UtilTypes.F90 index a051a23eca..be758f0daf 100644 --- a/src/Infrastructure/Util/src/ESMF_UtilTypes.F90 +++ b/src/Infrastructure/Util/src/ESMF_UtilTypes.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -2465,7 +2465,7 @@ subroutine ESMF_UtilVersionPrint (keywordenforcer, vFlag, versionFlag, rc) print *, "" print *, "Earth System Modeling Framework" print *, "" - print *, "Copyright (c) 2002-2023 University Corporation for Atmospheric Research," + print *, "Copyright (c) 2002-2024 University Corporation for Atmospheric Research," print *, "Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory," print *, "University of Michigan, National Centers for Environmental Prediction," print *, "Los Alamos National Laboratory, Argonne National Laboratory," diff --git a/src/Infrastructure/Util/tests/ESMF_FortranWordsizeUTest.F90 b/src/Infrastructure/Util/tests/ESMF_FortranWordsizeUTest.F90 index ffb7699dd0..e9382945f3 100644 --- a/src/Infrastructure/Util/tests/ESMF_FortranWordsizeUTest.F90 +++ b/src/Infrastructure/Util/tests/ESMF_FortranWordsizeUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/tests/ESMF_InitMacrosTestTypes.F90 b/src/Infrastructure/Util/tests/ESMF_InitMacrosTestTypes.F90 index 260cb928a2..c3197283ed 100644 --- a/src/Infrastructure/Util/tests/ESMF_InitMacrosTestTypes.F90 +++ b/src/Infrastructure/Util/tests/ESMF_InitMacrosTestTypes.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/tests/ESMF_InitMacrosUTest.F90 b/src/Infrastructure/Util/tests/ESMF_InitMacrosUTest.F90 index d8c64cce45..163be171e8 100644 --- a/src/Infrastructure/Util/tests/ESMF_InitMacrosUTest.F90 +++ b/src/Infrastructure/Util/tests/ESMF_InitMacrosUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/tests/ESMF_TypeKindGetUTest.F90 b/src/Infrastructure/Util/tests/ESMF_TypeKindGetUTest.F90 index e1949aa41d..3b221c3414 100644 --- a/src/Infrastructure/Util/tests/ESMF_TypeKindGetUTest.F90 +++ b/src/Infrastructure/Util/tests/ESMF_TypeKindGetUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/Util/tests/ESMF_UtilUTest.F90 b/src/Infrastructure/Util/tests/ESMF_UtilUTest.F90 index b7e8e02195..8e1fcba2e9 100644 --- a/src/Infrastructure/Util/tests/ESMF_UtilUTest.F90 +++ b/src/Infrastructure/Util/tests/ESMF_UtilUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/doc/VM_cdesc.tex b/src/Infrastructure/VM/doc/VM_cdesc.tex index 87a94395a7..57f090e12d 100644 --- a/src/Infrastructure/VM/doc/VM_cdesc.tex +++ b/src/Infrastructure/VM/doc/VM_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/doc/VM_crefdoc.ctex b/src/Infrastructure/VM/doc/VM_crefdoc.ctex index 174939a651..6fca287a31 100644 --- a/src/Infrastructure/VM/doc/VM_crefdoc.ctex +++ b/src/Infrastructure/VM/doc/VM_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/doc/VM_desc.tex b/src/Infrastructure/VM/doc/VM_desc.tex index 79bf458048..6d4e2ad155 100644 --- a/src/Infrastructure/VM/doc/VM_desc.tex +++ b/src/Infrastructure/VM/doc/VM_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/doc/VM_options.tex b/src/Infrastructure/VM/doc/VM_options.tex index e085805f32..63eaddb8a6 100644 --- a/src/Infrastructure/VM/doc/VM_options.tex +++ b/src/Infrastructure/VM/doc/VM_options.tex @@ -1,7 +1,7 @@ % $Id$ % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/doc/VM_refdoc.ctex b/src/Infrastructure/VM/doc/VM_refdoc.ctex index f8fab50238..e7931b6e8d 100644 --- a/src/Infrastructure/VM/doc/VM_refdoc.ctex +++ b/src/Infrastructure/VM/doc/VM_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMAllFullReduceEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMAllFullReduceEx.F90 index 10ac0e186e..d06535f8ff 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMAllFullReduceEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMAllFullReduceEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMComponentEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMComponentEx.F90 index c4cd9a2612..7106a0b4f7 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMComponentEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMComponentEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMDefaultBasicsEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMDefaultBasicsEx.F90 index 60a4a17cc7..bcd2f01a0c 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMDefaultBasicsEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMDefaultBasicsEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMGetMPICommunicatorEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMGetMPICommunicatorEx.F90 index a88ab86375..6864472fab 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMGetMPICommunicatorEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMGetMPICommunicatorEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMGetMPICommunicatorF08Ex.F90 b/src/Infrastructure/VM/examples/ESMF_VMGetMPICommunicatorF08Ex.F90 index 522126e15f..6bb76d5edd 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMGetMPICommunicatorF08Ex.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMGetMPICommunicatorF08Ex.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMHigherRankDataEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMHigherRankDataEx.F90 index 2cf2ed738f..7f9d3231e6 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMHigherRankDataEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMHigherRankDataEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMNonBlockingEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMNonBlockingEx.F90 index 18ca9cf148..3b3b6340c3 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMNonBlockingEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMNonBlockingEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMScatterVMGatherEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMScatterVMGatherEx.F90 index b8a2db6469..fb124bdbed 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMScatterVMGatherEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMScatterVMGatherEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMSendVMRecvEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMSendVMRecvEx.F90 index 66e2987ff6..36f3d07381 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMSendVMRecvEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMSendVMRecvEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMUserMpiCommEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMUserMpiCommEx.F90 index 82fa7241cf..71854bf252 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMUserMpiCommEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMUserMpiCommEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMUserMpiCommMultiEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMUserMpiCommMultiEx.F90 index 6d98d0c564..94fe63bbfb 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMUserMpiCommMultiEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMUserMpiCommMultiEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/examples/ESMF_VMUserMpiEx.F90 b/src/Infrastructure/VM/examples/ESMF_VMUserMpiEx.F90 index 48afe44771..5ad9314a86 100644 --- a/src/Infrastructure/VM/examples/ESMF_VMUserMpiEx.F90 +++ b/src/Infrastructure/VM/examples/ESMF_VMUserMpiEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/include/ESMCI_AccInfo.h b/src/Infrastructure/VM/include/ESMCI_AccInfo.h index 358e8c1bdd..64199370c9 100644 --- a/src/Infrastructure/VM/include/ESMCI_AccInfo.h +++ b/src/Infrastructure/VM/include/ESMCI_AccInfo.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/include/ESMCI_VM.h b/src/Infrastructure/VM/include/ESMCI_VM.h index 5f10d273ec..08f43badce 100644 --- a/src/Infrastructure/VM/include/ESMCI_VM.h +++ b/src/Infrastructure/VM/include/ESMCI_VM.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/include/ESMCI_VMKernel.h b/src/Infrastructure/VM/include/ESMCI_VMKernel.h index dba4b0c34c..1fcf9ba2a4 100644 --- a/src/Infrastructure/VM/include/ESMCI_VMKernel.h +++ b/src/Infrastructure/VM/include/ESMCI_VMKernel.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/include/ESMC_VM.h b/src/Infrastructure/VM/include/ESMC_VM.h index 4ca958b5f0..a4093da13e 100644 --- a/src/Infrastructure/VM/include/ESMC_VM.h +++ b/src/Infrastructure/VM/include/ESMC_VM.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/interface/ESMCI_VM_F.C b/src/Infrastructure/VM/interface/ESMCI_VM_F.C index 3596358536..5de36763fc 100644 --- a/src/Infrastructure/VM/interface/ESMCI_VM_F.C +++ b/src/Infrastructure/VM/interface/ESMCI_VM_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/interface/ESMC_VM.C b/src/Infrastructure/VM/interface/ESMC_VM.C index 013e692ea1..37f4789583 100644 --- a/src/Infrastructure/VM/interface/ESMC_VM.C +++ b/src/Infrastructure/VM/interface/ESMC_VM.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/interface/ESMF_VM.F90 b/src/Infrastructure/VM/interface/ESMF_VM.F90 index 32483e52cd..cabdb79f61 100644 --- a/src/Infrastructure/VM/interface/ESMF_VM.F90 +++ b/src/Infrastructure/VM/interface/ESMF_VM.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -3000,7 +3000,7 @@ end subroutine ESMF_VMAllToAllR8 ! Collective {\tt ESMF\_VM} communication call that performs a total exchange ! operation on the contiguous data of . PET {\tt i} sends ! contiguous elements of its {\tt sendData} array to all PETs, including -! itself. The {\tt sendCount(j)} elements sent to PET {\tt j} are +! itself. The {\tt sendCounts(j)} elements sent to PET {\tt j} are ! those starting at position {\tt sendOffsets(j)}, and are ! stored in {\tt recvData} on PET $j$ in position {\tt recvOffsets(i)}. ! @@ -5355,7 +5355,7 @@ recursive subroutine ESMF_VMGetDefault(vm, keywordEnforcer, localPet, & ESMF_CONTEXT, rcToReturn=rc)) return if (present(ssiMap)) then allocate(ssiMap(0:petCountArg-1)) - do i=0, petCount-1 + do i=0, petCountArg-1 call ESMF_VMGet(vm, pet=i, ssiId=ssiMap(i), rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return diff --git a/src/Infrastructure/VM/src/ESMCI_VM.C b/src/Infrastructure/VM/src/ESMCI_VM.C index 65e853f60f..fd341a86a9 100644 --- a/src/Infrastructure/VM/src/ESMCI_VM.C +++ b/src/Infrastructure/VM/src/ESMCI_VM.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/src/ESMCI_VMKernel.C b/src/Infrastructure/VM/src/ESMCI_VMKernel.C index 61acab1823..1ca9b928a1 100644 --- a/src/Infrastructure/VM/src/ESMCI_VMKernel.C +++ b/src/Infrastructure/VM/src/ESMCI_VMKernel.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -25,7 +25,7 @@ #define VM_SIZELOG_off // On SunOS systems there are a couple of macros that need to be set -// in order to get POSIX compliant functions IPC, pthreads, gethostid +// in order to get POSIX compliant functions for IPC, pthreads #ifdef __sun #define _POSIX_SOURCE #define _POSIX_C_SOURCE 199309L @@ -35,8 +35,8 @@ #include -// On OSF1 (i.e. Tru64) systems there is a problem with picking up the -// prototype of gethostid() from unistd.h from within C++.... +// On OSF1 (i.e. Tru64) systems there is a problem with picking up some +// prototypes from unistd.h from within C++.... #ifdef __osf__ #define _XOPEN_SOURCE_EXTENDED #endif @@ -48,8 +48,8 @@ #include #endif -// On OSF1 (i.e. Tru64) systems there is a problem with picking up the -// prototype of gethostid() from unistd.h from within C++.... +// On OSF1 (i.e. Tru64) systems there is a problem with picking up some +// prototypes from unistd.h from within C++.... #ifdef __osf__ #undef _XOPEN_SOURCE_EXTENDED #endif @@ -362,7 +362,6 @@ void VMK::InitPreMPI(){ void VMK::set(bool globalResourceControl){ -#ifndef ESMF_NO_GETHOSTID #ifndef ESMF_NO_PTHREADS if (globalResourceControl){ #if !defined(ESMF_OS_Darwin) && !defined(ESMF_OS_Cygwin) @@ -386,7 +385,6 @@ void VMK::set(bool globalResourceControl){ #endif } #endif -#endif } @@ -472,6 +470,9 @@ void VMK::init(MPI_Comm mpiCommunicator, bool globalResourceControl){ MPI_Comm_rank(mpi_c_ssi, &color); if (color>0) color = MPI_UNDEFINED; // only root PETs on each SSI MPI_Comm_split(mpi_c, color, 0, &mpi_c_ssi_roots); +#else + mpi_c_ssi = MPI_COMM_NULL; + mpi_c_ssi_roots = MPI_COMM_NULL; #endif // initialize the shared memory variables pth_finish_count = NULL; @@ -551,32 +552,49 @@ void VMK::init(MPI_Comm mpiCommunicator, bool globalResourceControl){ // determine SSI ids and ssipe ssiid = new int[ncores]; ssipe = new int[ncores]; - int localSsi; -#ifdef ESMF_NO_GETHOSTID - for (int i=0; i= 3) + // use mpi_c_ssi and mpi_c_ssi_roots communicators to discover SSIs + if (mpi_c_ssi_roots != MPI_COMM_NULL) + MPI_Comm_size(mpi_c_ssi_roots, &ssiCount); + MPI_Bcast(&ssiCount, 1, MPI_INTEGER, 0, mpi_c_ssi); + int temp_int; + if (mpi_c_ssi_roots != MPI_COMM_NULL) + MPI_Comm_rank(mpi_c_ssi_roots, &temp_int); + MPI_Bcast(&temp_int, 1, MPI_INTEGER, 0, mpi_c_ssi); + MPI_Allgather(&temp_int, 1, MPI_INT, ssiid, 1, MPI_INT, mpi_c); + MPI_Comm_rank(mpi_c_ssi, &temp_int); + MPI_Allgather(&temp_int, 1, MPI_INT, ssipe, 1, MPI_INT, mpi_c); + MPI_Comm_size(mpi_c_ssi, &ssiLocalPetCount); + MPI_Allreduce(&ssiLocalPetCount, &ssiMinPetCount, 1, MPI_INT, MPI_MIN, mpi_c); + MPI_Allreduce(&ssiLocalPetCount, &ssiMaxPetCount, 1, MPI_INT, MPI_MAX, mpi_c); + int localSsi = ssiid[mypet]; #else - int *temp_ssiPetCount = new int[ncores]; - long int *temp_ssiid = new long int[ncores]; - long hostid = gethostid(); - MPI_Allgather(&hostid, 1, MPI_LONG, - temp_ssiid, 1, MPI_LONG, mpi_c); - // now re-number the ssiid[] to go like 0, 1, 2, ... + // use MPI_Get_processor_name() to discover SSIs + std::vector temp_ssiPetCount(ncores); + char hostname[MPI_MAX_PROCESSOR_NAME]; + memset(hostname, 0, MPI_MAX_PROCESSOR_NAME); // ensure null termination + int resultLen; + MPI_Get_processor_name(hostname, &resultLen); +#if 0 +{ + std::stringstream msg; + msg << "VMK::init()#" << __LINE__ + << " hostname=" << string(hostname); + ESMC_LogDefault.Write(msg.str(), ESMC_LOGMSG_DEBUG); +} +#endif + struct hname{ + char name[MPI_MAX_PROCESSOR_NAME]; + }; + std::vector hostnames(ncores); + MPI_Allgather(hostname, MPI_MAX_PROCESSOR_NAME, MPI_CHAR, + &(hostnames[0]), MPI_MAX_PROCESSOR_NAME, MPI_CHAR, mpi_c); + // now number the ssiid[] to go like 0, 1, 2, ... ssiCount=0; for (int i=0; i ssiMaxPetCount) ssiMaxPetCount = temp_ssiPetCount[i]; } - localSsi = ssiid[mypet]; + int localSsi = ssiid[mypet]; ssiLocalPetCount=temp_ssiPetCount[localSsi]; +#endif #if 0 { std::stringstream msg; @@ -609,7 +627,6 @@ void VMK::init(MPI_Comm mpiCommunicator, bool globalResourceControl){ ESMC_LogDefault.Write(msg.str(), ESMC_LOGMSG_DEBUG); } #endif - delete [] temp_ssiPetCount; nssiid = ssiCount; ssiLocalPetList = new int[ssiLocalPetCount]; int j=0; @@ -621,7 +638,6 @@ void VMK::init(MPI_Comm mpiCommunicator, bool globalResourceControl){ } } set(globalResourceControl); -#endif // ESMCI::VMK pet -> core mapping lpid = new int[npets]; pid = new int[npets]; @@ -933,8 +949,8 @@ void VMK::construct(void *ssarg){ nadevs = new int[npets]; cid = new int*[npets]; ssiCount=0; - int *temp_ssiPetCount = new int[npets]; - int *temp_ssiid = new int[npets]; + std::vector temp_ssiPetCount(npets); + std::vector temp_ssiid(npets); for (int i=0; ilpid[i]; pid[i]=sarg->pid[i]; @@ -960,7 +976,6 @@ void VMK::construct(void *ssarg){ } } int localSsi = temp_ssiid[mypet]; - delete [] temp_ssiid; ssiMinPetCount=npets; ssiMaxPetCount=0; for (int i=0; i= 3) // set up communicator across single-system-images SSIs - MPI_Comm_split_type(vmp->mpi_c_part, MPI_COMM_TYPE_SHARED, 0, - MPI_INFO_NULL, &new_mpi_c_ssi); + if (new_mpi_c != MPI_COMM_NULL) + MPI_Comm_split_type(new_mpi_c, MPI_COMM_TYPE_SHARED, 0, + MPI_INFO_NULL, &new_mpi_c_ssi); + else + new_mpi_c_ssi = MPI_COMM_NULL; + // set up communicator across root pets of each SSI + if (new_mpi_c != MPI_COMM_NULL){ + int color; + MPI_Comm_rank(new_mpi_c_ssi, &color); + if (color>0) color = MPI_UNDEFINED; // only root PETs on each SSI + MPI_Comm_split(new_mpi_c, color, 0, &new_mpi_c_ssi_roots); + }else{ + new_mpi_c_ssi_roots = MPI_COMM_NULL; + } #ifdef VM_SSISHMLOG_on { std::stringstream msg; - int sz; - MPI_Comm_size(new_mpi_c_ssi, &sz); + int sz1, sz2, sz3, sz4; + sz1 = sz2 = sz3 = sz4 = -1; + MPI_Comm_size(vmp->mpi_c_part, &sz1); + if (new_mpi_c != MPI_COMM_NULL) + MPI_Comm_size(new_mpi_c, &sz2); + if (new_mpi_c_ssi != MPI_COMM_NULL) + MPI_Comm_size(new_mpi_c_ssi, &sz3); + if (new_mpi_c_ssi_roots != MPI_COMM_NULL) + MPI_Comm_size(new_mpi_c_ssi_roots, &sz4); msg << "VMK::startup()#" << __LINE__ - << " created mpi_c_ssi of size=" << sz; + << ", mpi_c_part of size=" << sz1 + << ", new_mpi_c of size=" << sz2 + << ", created new_mpi_c_ssi of size=" << sz3 + << ", created new_mpi_c_ssi_roots of size=" << sz4; ESMC_LogDefault.Write(msg.str(), ESMC_LOGMSG_DEBUG); } #endif - // set up communicator across root pets of each SSI - int color; - MPI_Comm_rank(new_mpi_c_ssi, &color); - if (color>0) color = MPI_UNDEFINED; // only root PETs on each SSI - MPI_Comm_split(vmp->mpi_c_part, color, 0, &new_mpi_c_ssi_roots); #else new_mpi_c_ssi = MPI_COMM_NULL; new_mpi_c_ssi_roots = MPI_COMM_NULL; @@ -2928,6 +2959,9 @@ void VMK::log(std::string prefix, ESMC_LogMsgType_Flag msgType)const{ msg << prefix << "vm located at: " << this; ESMC_LogDefault.Write(msg.str(), msgType); msg.str(""); // clear + msg << prefix << "mpionly=" << mpionly << " threadsflag=" << threadsflag; + ESMC_LogDefault.Write(msg.str(), msgType); + msg.str(""); // clear msg << prefix << "ssiCount=" << getSsiCount() << " localSsi=" << ssiid[cid[mypet][0]]; ESMC_LogDefault.Write(msg.str(), msgType); @@ -2945,15 +2979,15 @@ void VMK::log(std::string prefix, ESMC_LogMsgType_Flag msgType)const{ } msg.str(""); // clear msg << prefix << "petCount=" << getPetCount() - << " localPet=" << getLocalPet() + << " ssiLocalPetCount=" << getSsiLocalPetCount(); + ESMC_LogDefault.Write(msg.str(), msgType); + msg.str(""); // clear + msg << prefix << "localPet=" << getLocalPet() << " mypthid=" << mypthid << " ssiLocalPet=" << getSsiLocalPet() << " currentSsiPe=" << getCurrentSsiPe(); ESMC_LogDefault.Write(msg.str(), msgType); msg.str(""); // clear - msg << prefix << "mpionly=" << mpionly << " threadsflag=" << threadsflag; - ESMC_LogDefault.Write(msg.str(), msgType); - msg.str(""); // clear #ifndef ESMF_NO_PTHREADS #if !defined(ESMF_OS_Darwin) && !defined(ESMF_OS_Cygwin) // output thread affinity diff --git a/src/Infrastructure/VM/src/acc/ESMCI_IntelMICInfo.C b/src/Infrastructure/VM/src/acc/ESMCI_IntelMICInfo.C index 323adc915b..c4c82a178b 100644 --- a/src/Infrastructure/VM/src/acc/ESMCI_IntelMICInfo.C +++ b/src/Infrastructure/VM/src/acc/ESMCI_IntelMICInfo.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/src/acc/ESMCI_OpenACCInfo.C b/src/Infrastructure/VM/src/acc/ESMCI_OpenACCInfo.C index a9443c9ef8..40490470bf 100644 --- a/src/Infrastructure/VM/src/acc/ESMCI_OpenACCInfo.C +++ b/src/Infrastructure/VM/src/acc/ESMCI_OpenACCInfo.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/src/acc/ESMCI_OpenCLInfo.C b/src/Infrastructure/VM/src/acc/ESMCI_OpenCLInfo.C index 11ae32b830..48bc62278d 100644 --- a/src/Infrastructure/VM/src/acc/ESMCI_OpenCLInfo.C +++ b/src/Infrastructure/VM/src/acc/ESMCI_OpenCLInfo.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/src/acc/ESMCI_OpenMP4Info.C b/src/Infrastructure/VM/src/acc/ESMCI_OpenMP4Info.C index 5dccb509fc..1961b8f5fa 100644 --- a/src/Infrastructure/VM/src/acc/ESMCI_OpenMP4Info.C +++ b/src/Infrastructure/VM/src/acc/ESMCI_OpenMP4Info.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMC_VMUTest.c b/src/Infrastructure/VM/tests/ESMC_VMUTest.c index 4f4c162f41..99c7678134 100644 --- a/src/Infrastructure/VM/tests/ESMC_VMUTest.c +++ b/src/Infrastructure/VM/tests/ESMC_VMUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMAccUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMAccUTest.F90 index a827c7586e..81ba47607c 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMAccUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMAccUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMAllGatherUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMAllGatherUTest.F90 index 1c7bf960f6..da85d49fb9 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMAllGatherUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMAllGatherUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMAllGatherVUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMAllGatherVUTest.F90 index aa05e67adc..a031835f11 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMAllGatherVUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMAllGatherVUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMAllToAllUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMAllToAllUTest.F90 index 235b8e70bc..d70b568f44 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMAllToAllUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMAllToAllUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMAllToAllVUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMAllToAllVUTest.F90 index 6a4f5388ad..0f91bda1ce 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMAllToAllVUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMAllToAllVUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMBarrierUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMBarrierUTest.F90 index fcbaf7458e..c8d778cb7d 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMBarrierUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMBarrierUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMBroadcastUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMBroadcastUTest.F90 index c0cee82c51..346cee20ce 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMBroadcastUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMBroadcastUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMComponentUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMComponentUTest.F90 index 6df45fb70c..d0babb3db0 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMComponentUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMComponentUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMEpochLargeMsgUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMEpochLargeMsgUTest.F90 index 027ab0345b..b845049e3f 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMEpochLargeMsgUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMEpochLargeMsgUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMGatherUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMGatherUTest.F90 index aef96e6ac0..8be72643bc 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMGatherUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMGatherUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMOpenMPUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMOpenMPUTest.F90 index 1d034c11cf..f0d5f9cbb4 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMOpenMPUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMOpenMPUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMScatterUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMScatterUTest.F90 index 84782c0d59..a96ff72f7d 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMScatterUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMScatterUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMSendNbVMRecvNbUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMSendNbVMRecvNbUTest.F90 index 2a9fda220d..97d0147b60 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMSendNbVMRecvNbUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMSendNbVMRecvNbUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMSendRecvNbUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMSendRecvNbUTest.F90 index a281604bc1..9e5e2a8287 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMSendRecvNbUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMSendRecvNbUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMSendRecvUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMSendRecvUTest.F90 index 72e649efef..f2e7f82856 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMSendRecvUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMSendRecvUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMSendVMRecvUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMSendVMRecvUTest.F90 index 26eb73c950..d675efbf15 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMSendVMRecvUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMSendVMRecvUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMUTest.F90 index de9586ea7f..e0c6582901 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/VM/tests/ESMF_VMUserMpiInitUTest.F90 b/src/Infrastructure/VM/tests/ESMF_VMUserMpiInitUTest.F90 index 282380f1bc..52f79e5201 100644 --- a/src/Infrastructure/VM/tests/ESMF_VMUserMpiInitUTest.F90 +++ b/src/Infrastructure/VM/tests/ESMF_VMUserMpiInitUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/examples/ESMF_XGridEx.F90 b/src/Infrastructure/XGrid/examples/ESMF_XGridEx.F90 index e9172875ea..17478758e1 100644 --- a/src/Infrastructure/XGrid/examples/ESMF_XGridEx.F90 +++ b/src/Infrastructure/XGrid/examples/ESMF_XGridEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/examples/ESMF_XGridSparseMatEx.F90 b/src/Infrastructure/XGrid/examples/ESMF_XGridSparseMatEx.F90 index dbb673a69d..0da16930cf 100644 --- a/src/Infrastructure/XGrid/examples/ESMF_XGridSparseMatEx.F90 +++ b/src/Infrastructure/XGrid/examples/ESMF_XGridSparseMatEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/include/ESMCI_XGrid.h b/src/Infrastructure/XGrid/include/ESMCI_XGrid.h index 2b87521e8c..6f6e472c37 100644 --- a/src/Infrastructure/XGrid/include/ESMCI_XGrid.h +++ b/src/Infrastructure/XGrid/include/ESMCI_XGrid.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/include/ESMC_XGrid.h b/src/Infrastructure/XGrid/include/ESMC_XGrid.h index 38d8438ca0..f1c4d800c6 100644 --- a/src/Infrastructure/XGrid/include/ESMC_XGrid.h +++ b/src/Infrastructure/XGrid/include/ESMC_XGrid.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/interface/ESMCI_XGrid.C b/src/Infrastructure/XGrid/interface/ESMCI_XGrid.C index 73f69843e7..ff5c184d48 100644 --- a/src/Infrastructure/XGrid/interface/ESMCI_XGrid.C +++ b/src/Infrastructure/XGrid/interface/ESMCI_XGrid.C @@ -1,7 +1,7 @@ //$1.10 2007/04/26 16:13:59 rosalind Exp $ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/interface/ESMCI_XGrid_F.C b/src/Infrastructure/XGrid/interface/ESMCI_XGrid_F.C index b45ad54be3..497f8ff254 100644 --- a/src/Infrastructure/XGrid/interface/ESMCI_XGrid_F.C +++ b/src/Infrastructure/XGrid/interface/ESMCI_XGrid_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/interface/ESMC_XGrid.C b/src/Infrastructure/XGrid/interface/ESMC_XGrid.C index 64a9798b6d..7ea283ebe4 100644 --- a/src/Infrastructure/XGrid/interface/ESMC_XGrid.C +++ b/src/Infrastructure/XGrid/interface/ESMC_XGrid.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/interface/ESMF_XGrid_C.F90 b/src/Infrastructure/XGrid/interface/ESMF_XGrid_C.F90 index 597a3e6544..b8966a3468 100644 --- a/src/Infrastructure/XGrid/interface/ESMF_XGrid_C.F90 +++ b/src/Infrastructure/XGrid/interface/ESMF_XGrid_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/src/ESMF_XGrid.F90 b/src/Infrastructure/XGrid/src/ESMF_XGrid.F90 index 123b7dfcb1..ba819f75e4 100644 --- a/src/Infrastructure/XGrid/src/ESMF_XGrid.F90 +++ b/src/Infrastructure/XGrid/src/ESMF_XGrid.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/src/ESMF_XGridCreate.F90 b/src/Infrastructure/XGrid/src/ESMF_XGridCreate.F90 index 932dd10c2a..6dd74344b1 100644 --- a/src/Infrastructure/XGrid/src/ESMF_XGridCreate.F90 +++ b/src/Infrastructure/XGrid/src/ESMF_XGridCreate.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/src/ESMF_XGridGet.F90 b/src/Infrastructure/XGrid/src/ESMF_XGridGet.F90 index 67cc3140b8..b15ab5eb53 100644 --- a/src/Infrastructure/XGrid/src/ESMF_XGridGet.F90 +++ b/src/Infrastructure/XGrid/src/ESMF_XGridGet.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/tests/ESMC_XGridUTest.c b/src/Infrastructure/XGrid/tests/ESMC_XGridUTest.c index a10ff0cc06..fd3d53f586 100644 --- a/src/Infrastructure/XGrid/tests/ESMC_XGridUTest.c +++ b/src/Infrastructure/XGrid/tests/ESMC_XGridUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/tests/ESMF_XGridMaskingUTest.F90 b/src/Infrastructure/XGrid/tests/ESMF_XGridMaskingUTest.F90 index bdf8f30024..ce7af284bd 100644 --- a/src/Infrastructure/XGrid/tests/ESMF_XGridMaskingUTest.F90 +++ b/src/Infrastructure/XGrid/tests/ESMF_XGridMaskingUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGrid/tests/ESMF_XGridUTest.F90 b/src/Infrastructure/XGrid/tests/ESMF_XGridUTest.F90 index 1eb912bbde..3781591ec8 100644 --- a/src/Infrastructure/XGrid/tests/ESMF_XGridUTest.F90 +++ b/src/Infrastructure/XGrid/tests/ESMF_XGridUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGridGeomBase/interface/ESMCI_XGridGeomBase_F.C b/src/Infrastructure/XGridGeomBase/interface/ESMCI_XGridGeomBase_F.C index 87543e36da..45ae8ab395 100644 --- a/src/Infrastructure/XGridGeomBase/interface/ESMCI_XGridGeomBase_F.C +++ b/src/Infrastructure/XGridGeomBase/interface/ESMCI_XGridGeomBase_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/XGridGeomBase/src/ESMF_XGridGeomBase.F90 b/src/Infrastructure/XGridGeomBase/src/ESMF_XGridGeomBase.F90 index ec2fb8fc6d..7f6643021f 100644 --- a/src/Infrastructure/XGridGeomBase/src/ESMF_XGridGeomBase.F90 +++ b/src/Infrastructure/XGridGeomBase/src/ESMF_XGridGeomBase.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Infrastructure/stubs/mpiuni/libmpi-serial.a b/src/Infrastructure/stubs/mpiuni/libmpi-serial.a new file mode 100644 index 0000000000..637caab5e8 --- /dev/null +++ b/src/Infrastructure/stubs/mpiuni/libmpi-serial.a @@ -0,0 +1,8 @@ +This is a dummy file needed to satisfy PIO's FindMPISERIAL.cmake. + +This is needed because, when building with mpiuni, we tell PIO that this +mpiuni directory is the location of mpi-serial (since we use mpiuni for +the same purpose as mpi-serial). But for FindMPISERIAL.cmake to succeed, +it needs to find a libmpi-serial.a in the mpi-serial directory; hence, +we put this file here to trick it into thinking that this is truly an +mpi-serial installation. diff --git a/src/Infrastructure/stubs/mpiuni/mpi.c b/src/Infrastructure/stubs/mpiuni/mpi.c index 3903ed236a..a5c4f97403 100644 --- a/src/Infrastructure/stubs/mpiuni/mpi.c +++ b/src/Infrastructure/stubs/mpiuni/mpi.c @@ -55,8 +55,28 @@ static int num_attr = 1,mpi_tag_ub = 100000000; /* To avoid problems with prototypes to the system memcpy() it is duplicated here + + This version also supports checking for MPI_IN_PLACE */ -int MPIUNI_Memcpy(void *a,const void* b,int n) { +int MPIUNI_Memcpy(void *a,const void* b,int n,enum CheckForMPIInPlace_Flag check_flag) { + switch(check_flag) { + case CHECK_FOR_MPI_IN_PLACE_NONE: + // No pre-check in this case; proceed to the actual memcpy + break; + case CHECK_FOR_MPI_IN_PLACE_SOURCE: + if (b == MPI_IN_PLACE) { + // If the source is MPI_IN_PLACE, do nothing + return 0; + } + break; + case CHECK_FOR_MPI_IN_PLACE_DEST: + if (a == MPI_IN_PLACE) { + // If the dest is MPI_IN_PLACE, do nothing + return 0; + } + break; + } + int i; char *aa= (char*)a; char *bb= (char*)b; @@ -179,6 +199,84 @@ int Petsc_MPI_Finalize(void) return 0; } +int ESMC_MPI_Alltoallw(void *sendbuf, int *sendcounts, int *sdispls, + MPI_Datatype *sendtypes, void *recvbuf, int *recvcounts, + int *rdispls, MPI_Datatype *recvtypes, MPI_Comm comm) +{ + // Since we are only implementing this for the single-processor case, the counts, displs + // and types arguments should all have length 1. We assume that's the case in this + // implementation. + + // Displacements are not implemented so return an error code if they are non-zero + if (sdispls[0] != 0 || rdispls[0] != 0) { + return MPI_ERR_INTERN; + } + + MPIUNI_Memcpy(recvbuf, sendbuf, sendcounts[0]*sendtypes[0], CHECK_FOR_MPI_IN_PLACE_SOURCE); + return MPI_SUCCESS; +} + +int ESMC_MPI_Scatterv(void *sendbuf, int *sendcounts, int *displs, + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm) +{ + // Since we are only implementing this for the single-processor case, the sendcounts and + // displs arguments should have length 1. We assume that's the case in this + // implementation. + + // Displacements are not implemented so return an error code if they are non-zero + if (displs[0] != 0) { + return MPI_ERR_INTERN; + } + + MPIUNI_Memcpy(recvbuf, sendbuf, sendcounts[0]*sendtype, CHECK_FOR_MPI_IN_PLACE_DEST); + return MPI_SUCCESS; +} + +int ESMC_MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, MPI_Datatype *newtype) +{ + // Note mpiuni's definition of each datatype as sizeof(raw-type). + // + // From some experimentation with a real MPI library, the MPI_Type_size of newtype is + // independent of the value of stride. Since the MPI_Datatype in mpiuni is just the size + // of the datatype, we ignore the possible complexity of stride in this implementation. + *newtype = count*blocklength*oldtype; + return MPI_SUCCESS; +} + +int ESMC_MPI_Type_create_indexed_block(int count, int blocklength, + const int array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype) +{ + // Note mpiuni's definition of each datatype as sizeof(raw-type). + // + // From some experimentation with a real MPI library, the MPI_Type_size of newtype is + // independent of the values in array_of_displacements. Since the MPI_Datatype in mpiuni + // is just the size of the datatype, we ignore the possible complexity of + // array_of_displacements in this implementation. + *newtype = count*blocklength*oldtype; + return MPI_SUCCESS; +} + +int ESMC_MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, MPI_Datatype *newtype) +{ + // MPI_Type_hvector is a deprecated version of MPI_Type_create_hvector; the only + // difference is in how stride is specified (bytes vs. elements); since we ignore stride + // in our implementation of MPI_Type_create_hvector, we can use the same implementation + // for both. + return ESMC_MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype); +} + +int ESMC_MPI_Type_size(MPI_Datatype datatype, int *size) +{ + // Note that, conveniently, mpiuni defines each datatype as sizeof(raw-type) + *size = datatype; + return MPI_SUCCESS; +} + #if !defined (ESMF_OS_MinGW) // POSIX version double ESMC_MPI_Wtime(void) @@ -403,7 +501,7 @@ void MPIUNI_STDCALL mpi_allreduce(void *sendbuf,void *recvbuf,int *count,int *da *ierr = MPI_ERR_OP; return; } - MPIUNI_Memcpy(recvbuf,sendbuf,(*count)*MPIUNI_DATASIZE[*datatype]); + MPIUNI_Memcpy(recvbuf,sendbuf,(*count)*MPIUNI_DATASIZE[*datatype],CHECK_FOR_MPI_IN_PLACE_SOURCE); *ierr = MPI_SUCCESS; } void MPIUNI_STDCALL mpi_allreduce_(void *sendbuf,void *recvbuf,int *count,int *datatype,int *op,int *comm,int *ierr) diff --git a/src/Infrastructure/stubs/mpiuni/mpi.h b/src/Infrastructure/stubs/mpiuni/mpi.h index 1f819244dd..ba9c5ca32c 100644 --- a/src/Infrastructure/stubs/mpiuni/mpi.h +++ b/src/Infrastructure/stubs/mpiuni/mpi.h @@ -82,12 +82,16 @@ extern void *MPIUNI_TMP; #define MPI_COMM_WORLD 1 #define MPI_COMM_SELF MPI_COMM_WORLD #define MPI_COMM_NULL 0 +#define MPI_GROUP_EMPTY (-1) +#define MPI_GROUP_NULL 0 #define MPI_SUCCESS 0 #define MPI_IDENT 0 #define MPI_CONGRUENT 0 #define MPI_SIMILAR 0 #define MPI_UNEQUAL 3 #define MPI_ANY_SOURCE (-2) +#define MPI_PROC_NULL (-3) +#define MPI_ROOT (-4) #define MPI_KEYVAL_INVALID 0 #define MPI_ERR_UNKNOWN 18 #define MPI_ERR_INTERN 21 @@ -109,13 +113,19 @@ typedef int MPI_Info; /* handle */ #define MPI_INFO_NULL (0) +#define MPI_IN_PLACE (void *)(-1) +enum CheckForMPIInPlace_Flag { + CHECK_FOR_MPI_IN_PLACE_NONE, + CHECK_FOR_MPI_IN_PLACE_SOURCE, + CHECK_FOR_MPI_IN_PLACE_DEST +}; - -extern int MPIUNI_Memcpy(void*,const void*,int); +extern int MPIUNI_Memcpy(void*,const void*,int,enum CheckForMPIInPlace_Flag); /* In order to handle datatypes, we make them into "sizeof(raw-type)"; this allows us to do the MPIUNI_Memcpy's easily */ #define MPI_Datatype int +#define MPI_DATATYPE_NULL 0 #define MPI_FLOAT sizeof(float) #define MPI_DOUBLE sizeof(double) #define MPI_LONG_DOUBLE sizeof(long double) @@ -140,6 +150,7 @@ extern int MPIUNI_Memcpy(void*,const void*,int); #define MPI_2INTEGER (2*sizeof(int)) #define MPI_UNSIGNED_CHAR sizeof(unsigned char) #define MPI_UNSIGNED_LONG sizeof(unsigned long) +#define MPI_OFFSET sizeof(MPI_Offset) #define MPIU_PETSCLOGDOUBLE sizeof(PetscLogDouble) #define MPI_REQUEST_NULL ((MPI_Request)0) @@ -197,6 +208,14 @@ extern int Petsc_MPI_Initialized(int *); extern int Petsc_MPI_Comm_dup(MPI_Comm,MPI_Comm *); extern int Petsc_MPI_Finalize(void); extern int Petsc_MPI_Finalized(int *); +extern int ESMC_MPI_Alltoallw(void *,int *,int *,MPI_Datatype *, + void *,int *,int *,MPI_Datatype *,MPI_Comm); +extern int ESMC_MPI_Scatterv(void *,int *,int *,MPI_Datatype, + void *,int,MPI_Datatype,int,MPI_Comm); +extern int ESMC_MPI_Type_create_hvector(int,int,MPI_Aint,MPI_Datatype,MPI_Datatype *); +extern int ESMC_MPI_Type_create_indexed_block(int,int,const int[],MPI_Datatype,MPI_Datatype *); +extern int ESMC_MPI_Type_hvector(int,int,MPI_Aint,MPI_Datatype,MPI_Datatype *); +extern int ESMC_MPI_Type_size(MPI_Datatype,int *); extern double ESMC_MPI_Wtime(void); #define MPI_Abort Petsc_MPI_Abort @@ -210,6 +229,12 @@ extern double ESMC_MPI_Wtime(void); #define MPI_Comm_dup Petsc_MPI_Comm_dup #define MPI_Finalize Petsc_MPI_Finalize #define MPI_Finalized Petsc_MPI_Finalized +#define MPI_Alltoallw ESMC_MPI_Alltoallw +#define MPI_Scatterv ESMC_MPI_Scatterv +#define MPI_Type_create_hvector ESMC_MPI_Type_create_hvector +#define MPI_Type_create_indexed_block ESMC_MPI_Type_create_indexed_block +#define MPI_Type_hvector ESMC_MPI_Type_hvector +#define MPI_Type_size ESMC_MPI_Type_size #define MPI_Wtime ESMC_MPI_Wtime /* @@ -458,13 +483,12 @@ extern double ESMC_MPI_Wtime(void); dest,sendtag,recvbuf,recvcount,\ recvtype,source,recvtag,\ comm,status) \ - MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount) * (sendtype)) + MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount) * (sendtype),CHECK_FOR_MPI_IN_PLACE_NONE) #define MPI_Sendrecv_replace(buf,count, datatype,dest,sendtag,\ source,recvtag,comm,status) MPI_SUCCESS #define MPI_Type_contiguous(count, oldtype,newtype) \ (*(newtype) = (count)*(oldtype),MPI_SUCCESS) #define MPI_Type_vector(count,blocklength,stride,oldtype, newtype) MPI_SUCCESS -#define MPI_Type_hvector(count,blocklength,stride,oldtype, newtype) MPI_SUCCESS #define MPI_Type_indexed(count,array_of_blocklengths,\ array_of_displacements, oldtype,\ newtype) MPI_SUCCESS @@ -478,8 +502,6 @@ extern double ESMC_MPI_Wtime(void); (*(address) = (long)(char *)(location),MPI_SUCCESS) #define MPI_Type_extent(datatype,extent) \ MPI_Abort(MPI_COMM_WORLD,0) -#define MPI_Type_size(datatype,size) \ - MPI_Abort(MPI_COMM_WORLD,0) #define MPI_Type_lb(datatype,displacement) \ MPI_Abort(MPI_COMM_WORLD,0) #define MPI_Type_ub(datatype,displacement) \ @@ -513,7 +535,7 @@ extern double ESMC_MPI_Wtime(void); MPIUNI_TMP = (void*)(long) (root),\ MPIUNI_TMP = (void*)(long) (recvtype),\ MPIUNI_TMP = (void*)(long) (comm),\ - MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount)* (sendtype)),\ + MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount)* (sendtype),CHECK_FOR_MPI_IN_PLACE_SOURCE), \ MPI_SUCCESS) #define MPI_Gatherv(sendbuf,sendcount, sendtype,\ recvbuf,recvcounts,displs,\ @@ -523,7 +545,7 @@ extern double ESMC_MPI_Wtime(void); MPIUNI_TMP = (void*)(long) (recvtype),\ MPIUNI_TMP = (void*)(long) (root),\ MPIUNI_TMP = (void*)(long) (comm),\ - MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount)* (sendtype)),\ + MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount)* (sendtype),CHECK_FOR_MPI_IN_PLACE_SOURCE), \ MPI_SUCCESS) #define MPI_Scatter(sendbuf,sendcount, sendtype,\ recvbuf,recvcount, recvtype,\ @@ -536,24 +558,12 @@ extern double ESMC_MPI_Wtime(void); MPIUNI_TMP = (void*)(long) (recvtype),\ MPIUNI_TMP = (void*)(long) (root),\ MPIUNI_TMP = (void*)(long) (comm),MPI_Abort(MPI_COMM_WORLD,0)) -#define MPI_Scatterv(sendbuf,sendcounts,displs,\ - sendtype, recvbuf,recvcount,\ - recvtype,root,comm) \ - (MPIUNI_TMP = (void*)(long) (sendbuf),\ - MPIUNI_TMP = (void*)(long) (sendcounts),\ - MPIUNI_TMP = (void*)(long) (displs),\ - MPIUNI_TMP = (void*)(long) (sendtype),\ - MPIUNI_TMP = (void*)(long) (recvbuf),\ - MPIUNI_TMP = (void*)(long) (recvcount),\ - MPIUNI_TMP = (void*)(long) (recvtype),\ - MPIUNI_TMP = (void*)(long) (root),\ - MPIUNI_TMP = (void*)(long) (comm),MPI_Abort(MPI_COMM_WORLD,0)) #define MPI_Allgather(sendbuf,sendcount, sendtype,\ recvbuf,recvcount, recvtype,comm) \ (MPIUNI_TMP = (void*)(long) (recvcount),\ MPIUNI_TMP = (void*)(long) (recvtype),\ MPIUNI_TMP = (void*)(long) (comm),\ - MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount)* (sendtype)),\ + MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount)* (sendtype),CHECK_FOR_MPI_IN_PLACE_SOURCE), \ MPI_SUCCESS) #define MPI_Allgatherv(sendbuf,sendcount, sendtype,\ recvbuf,recvcounts,displs,recvtype,comm) \ @@ -561,7 +571,7 @@ extern double ESMC_MPI_Wtime(void); MPIUNI_TMP = (void*)(long) (displs),\ MPIUNI_TMP = (void*)(long) (recvtype),\ MPIUNI_TMP = (void*)(long) (comm),\ - MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount)* (sendtype)),\ + MPIUNI_Memcpy(recvbuf,sendbuf,(sendcount)* (sendtype),CHECK_FOR_MPI_IN_PLACE_SOURCE), \ MPI_SUCCESS) #define MPI_Alltoall(sendbuf,sendcount, sendtype,\ recvbuf,recvcount, recvtype,\ @@ -571,13 +581,13 @@ extern double ESMC_MPI_Wtime(void); rdispls, recvtype,comm) MPI_Abort(MPI_COMM_WORLD,0) #define MPI_Reduce(sendbuf, recvbuf,count,\ datatype,op,root,comm) \ - (MPIUNI_Memcpy(recvbuf,sendbuf,(count)*(datatype)),\ + (MPIUNI_Memcpy(recvbuf,sendbuf,(count)*(datatype),CHECK_FOR_MPI_IN_PLACE_SOURCE), \ MPIUNI_TMP = (void*)(long) (comm),MPI_SUCCESS) #define MPI_Allreduce(sendbuf, recvbuf,count,datatype,op,comm) \ - (MPIUNI_Memcpy(recvbuf,sendbuf,(count)*(datatype)),\ + (MPIUNI_Memcpy(recvbuf,sendbuf,(count)*(datatype),CHECK_FOR_MPI_IN_PLACE_SOURCE), \ MPIUNI_TMP = (void*)(long) (comm),MPI_SUCCESS) #define MPI_Scan(sendbuf, recvbuf,count,datatype,op,comm) \ - (MPIUNI_Memcpy(recvbuf,sendbuf,(count)*(datatype)),\ + (MPIUNI_Memcpy(recvbuf,sendbuf,(count)*(datatype),CHECK_FOR_MPI_IN_PLACE_SOURCE), \ MPIUNI_TMP = (void*)(long) (comm),MPI_SUCCESS) #define MPI_Reduce_scatter(sendbuf, recvbuf,recvcounts,\ datatype,op,comm) \ @@ -626,6 +636,15 @@ extern double ESMC_MPI_Wtime(void); remote_leader,tag,newintercomm) MPI_SUCCESS #define MPI_Intercomm_merge(intercomm,high,newintracomm) MPI_SUCCESS +#define MPI_Info_create(info) \ + (MPIUNI_TMP = (void*)(long) (info),\ + MPI_SUCCESS) +#define MPI_Info_set(info,key,value) \ + (MPIUNI_TMP = (void*)(long) (info),\ + MPIUNI_TMP = (void*)(long) (key),\ + MPIUNI_TMP = (void*)(long) (value),\ + MPI_SUCCESS) + #define MPI_Topo_test(comm,status) MPI_SUCCESS #define MPI_Cart_create(comm_old,ndims,dims,periods,\ reorder,comm_cart) MPI_SUCCESS @@ -649,7 +668,7 @@ extern double ESMC_MPI_Wtime(void); #define MPI_Cart_map(comm,ndims,dims,periods,newrank) MPI_Abort(MPI_COMM_WORLD,0) #define MPI_Graph_map(comm,a,b,c,d) MPI_Abort(MPI_COMM_WORLD,0) #define MPI_Get_processor_name(name,result_len) \ - (MPIUNI_Memcpy(name,"localhost",9*sizeof(char)),name[10] = 0,*(result_len) = 10) + (MPIUNI_Memcpy(name,"localhost",9*sizeof(char),CHECK_FOR_MPI_IN_PLACE_NONE),name[10] = 0,*(result_len) = 10) #define MPI_Errhandler_create(function,errhandler) \ (MPIUNI_TMP = (void*)(long) (errhandler),\ MPI_SUCCESS) diff --git a/src/Infrastructure/stubs/mpiuni/mpirun b/src/Infrastructure/stubs/mpiuni/mpirun index 6a989436a9..fc622f2f8a 100755 --- a/src/Infrastructure/stubs/mpiuni/mpirun +++ b/src/Infrastructure/stubs/mpiuni/mpirun @@ -33,11 +33,14 @@ do done if [ $# -gt 0 ]; then -# If relative path is used prepend a ./ - progname=`dirname $1`/`basename $1` + progname=$1 shift + # If the given command isn't in PATH, assume relative path is used, so prepend a ./ + if ! command -v $progname &> /dev/null; then + progname=`dirname $progname`/`basename $progname` + fi -# Execute the program + # Execute the program $progname $* exit $? fi diff --git a/src/Infrastructure/stubs/pthread/ESMF_Pthread.h b/src/Infrastructure/stubs/pthread/ESMF_Pthread.h index a69fdff816..76d6c8321a 100644 --- a/src/Infrastructure/stubs/pthread/ESMF_Pthread.h +++ b/src/Infrastructure/stubs/pthread/ESMF_Pthread.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_crefdoc.ctex b/src/Superstructure/AppDriver/doc/AppDriver_crefdoc.ctex index 8c124924f6..4ff55552c2 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_crefdoc.ctex +++ b/src/Superstructure/AppDriver/doc/AppDriver_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_creqmethodsintro.tex b/src/Superstructure/AppDriver/doc/AppDriver_creqmethodsintro.tex index f74bfa7843..a390bf8f66 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_creqmethodsintro.tex +++ b/src/Superstructure/AppDriver/doc/AppDriver_creqmethodsintro.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_desc.tex b/src/Superstructure/AppDriver/doc/AppDriver_desc.tex index 9e5fab59d9..36594536d3 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_desc.tex +++ b/src/Superstructure/AppDriver/doc/AppDriver_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_design.tex b/src/Superstructure/AppDriver/doc/AppDriver_design.tex index 4589fc160a..42ad2c5817 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_design.tex +++ b/src/Superstructure/AppDriver/doc/AppDriver_design.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_refdoc.ctex b/src/Superstructure/AppDriver/doc/AppDriver_refdoc.ctex index e272693921..b42a768284 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_refdoc.ctex +++ b/src/Superstructure/AppDriver/doc/AppDriver_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_reqmethods.tex b/src/Superstructure/AppDriver/doc/AppDriver_reqmethods.tex index 35993f3d86..0e46c535f7 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_reqmethods.tex +++ b/src/Superstructure/AppDriver/doc/AppDriver_reqmethods.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_reqmethodsintro.tex b/src/Superstructure/AppDriver/doc/AppDriver_reqmethodsintro.tex index 9eb39af6f9..1ab461e7ca 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_reqmethodsintro.tex +++ b/src/Superstructure/AppDriver/doc/AppDriver_reqmethodsintro.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_rest.tex b/src/Superstructure/AppDriver/doc/AppDriver_rest.tex index f908bcfbcf..e72a25b08f 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_rest.tex +++ b/src/Superstructure/AppDriver/doc/AppDriver_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AppDriver/doc/AppDriver_usage.tex b/src/Superstructure/AppDriver/doc/AppDriver_usage.tex index 26a3b41dd3..c4146fbda0 100644 --- a/src/Superstructure/AppDriver/doc/AppDriver_usage.tex +++ b/src/Superstructure/AppDriver/doc/AppDriver_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttachMethods/doc/AttachMethods_desc.tex b/src/Superstructure/AttachMethods/doc/AttachMethods_desc.tex index ede9be6961..819d86fa1f 100644 --- a/src/Superstructure/AttachMethods/doc/AttachMethods_desc.tex +++ b/src/Superstructure/AttachMethods/doc/AttachMethods_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttachMethods/doc/AttachMethods_refdoc.ctex b/src/Superstructure/AttachMethods/doc/AttachMethods_refdoc.ctex index bc14d9f091..6e456f3d3d 100644 --- a/src/Superstructure/AttachMethods/doc/AttachMethods_refdoc.ctex +++ b/src/Superstructure/AttachMethods/doc/AttachMethods_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttachMethods/doc/AttachMethods_rest.tex b/src/Superstructure/AttachMethods/doc/AttachMethods_rest.tex index 46ec712777..3607c2ba71 100644 --- a/src/Superstructure/AttachMethods/doc/AttachMethods_rest.tex +++ b/src/Superstructure/AttachMethods/doc/AttachMethods_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttachMethods/doc/AttachMethods_usage.tex b/src/Superstructure/AttachMethods/doc/AttachMethods_usage.tex index b4b927e18d..7a82755e44 100644 --- a/src/Superstructure/AttachMethods/doc/AttachMethods_usage.tex +++ b/src/Superstructure/AttachMethods/doc/AttachMethods_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttachMethods/examples/ESMF_AttachMethodsEx.F90 b/src/Superstructure/AttachMethods/examples/ESMF_AttachMethodsEx.F90 index 97775c03b3..1337371641 100644 --- a/src/Superstructure/AttachMethods/examples/ESMF_AttachMethodsEx.F90 +++ b/src/Superstructure/AttachMethods/examples/ESMF_AttachMethodsEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttachMethods/src/ESMF_AttachMethods.F90 b/src/Superstructure/AttachMethods/src/ESMF_AttachMethods.F90 index deb1b86111..bb1f4d1788 100644 --- a/src/Superstructure/AttachMethods/src/ESMF_AttachMethods.F90 +++ b/src/Superstructure/AttachMethods/src/ESMF_AttachMethods.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/doc/AttributeAPI_refdoc.ctex b/src/Superstructure/AttributeAPI/doc/AttributeAPI_refdoc.ctex index 4b28c4207e..a8e5015e66 100644 --- a/src/Superstructure/AttributeAPI/doc/AttributeAPI_refdoc.ctex +++ b/src/Superstructure/AttributeAPI/doc/AttributeAPI_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/interface/ESMF_Attribute.F90 b/src/Superstructure/AttributeAPI/interface/ESMF_Attribute.F90 index 0d96c3c00d..7ea275c939 100644 --- a/src/Superstructure/AttributeAPI/interface/ESMF_Attribute.F90 +++ b/src/Superstructure/AttributeAPI/interface/ESMF_Attribute.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackABundleUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackABundleUTest.cppF90 index 75b52ddd04..3293e3ce4a 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackABundleUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackABundleUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackArrayUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackArrayUTest.cppF90 index 18d748610d..9e6a19ff28 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackArrayUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackArrayUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackCplCompUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackCplCompUTest.cppF90 index dfc986d8d4..0459af8637 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackCplCompUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackCplCompUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackDistGridUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackDistGridUTest.cppF90 index e1f2de7366..84ee006461 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackDistGridUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackDistGridUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackFBundleUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackFBundleUTest.cppF90 index f8f6f2269e..201fe7be4f 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackFBundleUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackFBundleUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackFieldUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackFieldUTest.cppF90 index fcc7e1b26c..f48e6ceb05 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackFieldUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackFieldUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackGridCompUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackGridCompUTest.cppF90 index 80f9b5a6ac..683e0d5030 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackGridCompUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackGridCompUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackGridUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackGridUTest.cppF90 index ea912f5dbd..eb32a6c4d8 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackGridUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackGridUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackLocStreamUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackLocStreamUTest.cppF90 index c94db4b209..4cdd3c1d2d 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackLocStreamUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackLocStreamUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackSciCompUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackSciCompUTest.cppF90 index bc41e9534c..d91f8d5a87 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackSciCompUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackSciCompUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackStateUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackStateUTest.cppF90 index 9caa8523d8..d9cbcea7a7 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackStateUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackStateUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackTestMacros.hcppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackTestMacros.hcppF90 index 36018d52bc..6e9ec2c465 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttPackTestMacros.hcppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttPackTestMacros.hcppF90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeABundleUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeABundleUTest.cppF90 index e6edcfd4c0..925cf59679 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeABundleUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeABundleUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeArrayUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeArrayUTest.cppF90 index 6a00033dc4..15111f7f80 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeArrayUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeArrayUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeCplCompUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeCplCompUTest.cppF90 index 7e5e419064..9001c58de8 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeCplCompUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeCplCompUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeDistGridUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeDistGridUTest.cppF90 index cf96bc1f04..97fd2862c4 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeDistGridUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeDistGridUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeFBundleUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeFBundleUTest.cppF90 index 0a95b19902..2a8530afc3 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeFBundleUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeFBundleUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeFieldUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeFieldUTest.cppF90 index 606f50d9f6..4602fad0f6 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeFieldUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeFieldUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeGridCompUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeGridCompUTest.cppF90 index 0964c02762..e41ba79c4a 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeGridCompUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeGridCompUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeGridUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeGridUTest.cppF90 index d15f62cbbf..e8d441ad52 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeGridUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeGridUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeLocStreamUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeLocStreamUTest.cppF90 index 699df7ab1d..a52707278b 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeLocStreamUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeLocStreamUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeProfileUTest.F90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeProfileUTest.F90 index 5d3b2f41ab..427ca0f54c 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeProfileUTest.F90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeProfileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeSciCompUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeSciCompUTest.cppF90 index 95adc9cf0b..5056437489 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeSciCompUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeSciCompUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeStateUTest.cppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeStateUTest.cppF90 index 24064e9400..8a859d5ae3 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeStateUTest.cppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeStateUTest.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeTestMacros.hcppF90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeTestMacros.hcppF90 index ff2f70510d..e885b14051 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeTestMacros.hcppF90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeTestMacros.hcppF90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateComponentUTest.F90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateComponentUTest.F90 index 289da0a6a0..c18b56d05c 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateComponentUTest.F90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateComponentUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateContainerStressUTest.F90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateContainerStressUTest.F90 index f38405468a..80230ae23a 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateContainerStressUTest.F90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateContainerStressUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateMultiReconcileUTest.F90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateMultiReconcileUTest.F90 index d90c80e8d6..99e1c91799 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateMultiReconcileUTest.F90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateMultiReconcileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateReconcileUTest.F90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateReconcileUTest.F90 index 64c4d2a2b2..729b8cf70b 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateReconcileUTest.F90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateReconcileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateRemoveOnlyUTest.F90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateRemoveOnlyUTest.F90 index 2fbc8a9396..72e6dead44 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateRemoveOnlyUTest.F90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateRemoveOnlyUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateUTest.F90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateUTest.F90 index e56fd7292e..1e3156d1bb 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateUTest.F90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUpdateUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUtilUTest.F90 b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUtilUTest.F90 index 6166523a26..0bf151b930 100644 --- a/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUtilUTest.F90 +++ b/src/Superstructure/AttributeAPI/tests/ESMF_AttributeUtilUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/CompTunnel_desc.tex b/src/Superstructure/Component/doc/CompTunnel_desc.tex index 65356b7897..4f3d4fd192 100644 --- a/src/Superstructure/Component/doc/CompTunnel_desc.tex +++ b/src/Superstructure/Component/doc/CompTunnel_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/CompTunnel_rest.tex b/src/Superstructure/Component/doc/CompTunnel_rest.tex index 77877153f9..1fa2eb03a1 100644 --- a/src/Superstructure/Component/doc/CompTunnel_rest.tex +++ b/src/Superstructure/Component/doc/CompTunnel_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/CompTunnel_usage.tex b/src/Superstructure/Component/doc/CompTunnel_usage.tex index f02886d007..585d9330f6 100644 --- a/src/Superstructure/Component/doc/CompTunnel_usage.tex +++ b/src/Superstructure/Component/doc/CompTunnel_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/Component_crefdoc.ctex b/src/Superstructure/Component/doc/Component_crefdoc.ctex index 2067b4061f..fbaad501cc 100644 --- a/src/Superstructure/Component/doc/Component_crefdoc.ctex +++ b/src/Superstructure/Component/doc/Component_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/Component_glos.tex b/src/Superstructure/Component/doc/Component_glos.tex index d99d6cb7d5..59cf840c00 100644 --- a/src/Superstructure/Component/doc/Component_glos.tex +++ b/src/Superstructure/Component/doc/Component_glos.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/Component_obj.tex b/src/Superstructure/Component/doc/Component_obj.tex index 1091decbcf..f438c4cfe5 100644 --- a/src/Superstructure/Component/doc/Component_obj.tex +++ b/src/Superstructure/Component/doc/Component_obj.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/Component_refdoc.ctex b/src/Superstructure/Component/doc/Component_refdoc.ctex index 7dbb35fb15..9b7c606164 100644 --- a/src/Superstructure/Component/doc/Component_refdoc.ctex +++ b/src/Superstructure/Component/doc/Component_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/Component_req.tex b/src/Superstructure/Component/doc/Component_req.tex index c49684f5fd..433f20c3b6 100644 --- a/src/Superstructure/Component/doc/Component_req.tex +++ b/src/Superstructure/Component/doc/Component_req.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/CplComp_cdesc.tex b/src/Superstructure/Component/doc/CplComp_cdesc.tex index 9def95b887..6a1cd7f607 100644 --- a/src/Superstructure/Component/doc/CplComp_cdesc.tex +++ b/src/Superstructure/Component/doc/CplComp_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/CplComp_desc.tex b/src/Superstructure/Component/doc/CplComp_desc.tex index dd648e7eb4..ae8bccc393 100644 --- a/src/Superstructure/Component/doc/CplComp_desc.tex +++ b/src/Superstructure/Component/doc/CplComp_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/CplComp_rest.tex b/src/Superstructure/Component/doc/CplComp_rest.tex index d6e00acfbb..e4a3eaf514 100644 --- a/src/Superstructure/Component/doc/CplComp_rest.tex +++ b/src/Superstructure/Component/doc/CplComp_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/CplComp_usage.tex b/src/Superstructure/Component/doc/CplComp_usage.tex index ce5ca8034f..9fe2a9d310 100644 --- a/src/Superstructure/Component/doc/CplComp_usage.tex +++ b/src/Superstructure/Component/doc/CplComp_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/GridComp_cdesc.tex b/src/Superstructure/Component/doc/GridComp_cdesc.tex index 8374949628..aa8c8dde7f 100644 --- a/src/Superstructure/Component/doc/GridComp_cdesc.tex +++ b/src/Superstructure/Component/doc/GridComp_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/GridComp_desc.tex b/src/Superstructure/Component/doc/GridComp_desc.tex index 67179d1d9c..862281be3e 100644 --- a/src/Superstructure/Component/doc/GridComp_desc.tex +++ b/src/Superstructure/Component/doc/GridComp_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/GridComp_rest.tex b/src/Superstructure/Component/doc/GridComp_rest.tex index efa315ef26..78d4601466 100644 --- a/src/Superstructure/Component/doc/GridComp_rest.tex +++ b/src/Superstructure/Component/doc/GridComp_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/GridComp_usage.tex b/src/Superstructure/Component/doc/GridComp_usage.tex index 609473b47a..f15e98fe87 100644 --- a/src/Superstructure/Component/doc/GridComp_usage.tex +++ b/src/Superstructure/Component/doc/GridComp_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/SciComp_cdesc.tex b/src/Superstructure/Component/doc/SciComp_cdesc.tex index 147b50ed2b..3d555d7504 100644 --- a/src/Superstructure/Component/doc/SciComp_cdesc.tex +++ b/src/Superstructure/Component/doc/SciComp_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/SciComp_desc.tex b/src/Superstructure/Component/doc/SciComp_desc.tex index ea2d530440..a1fc4a2214 100644 --- a/src/Superstructure/Component/doc/SciComp_desc.tex +++ b/src/Superstructure/Component/doc/SciComp_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/SciComp_rest.tex b/src/Superstructure/Component/doc/SciComp_rest.tex index a84420d377..5f3736d653 100644 --- a/src/Superstructure/Component/doc/SciComp_rest.tex +++ b/src/Superstructure/Component/doc/SciComp_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/SciComp_usage.tex b/src/Superstructure/Component/doc/SciComp_usage.tex index af9113c07f..36b0b7468f 100644 --- a/src/Superstructure/Component/doc/SciComp_usage.tex +++ b/src/Superstructure/Component/doc/SciComp_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/doc/comp_usage.tex b/src/Superstructure/Component/doc/comp_usage.tex index 9a31e753f9..27670c158f 100644 --- a/src/Superstructure/Component/doc/comp_usage.tex +++ b/src/Superstructure/Component/doc/comp_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/examples/ESMF_AppMainEx.F90 b/src/Superstructure/Component/examples/ESMF_AppMainEx.F90 index 1d82aec190..a1241585bc 100644 --- a/src/Superstructure/Component/examples/ESMF_AppMainEx.F90 +++ b/src/Superstructure/Component/examples/ESMF_AppMainEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/examples/ESMF_CompTunnelEx.F90 b/src/Superstructure/Component/examples/ESMF_CompTunnelEx.F90 index d049d061ff..d966064eac 100644 --- a/src/Superstructure/Component/examples/ESMF_CompTunnelEx.F90 +++ b/src/Superstructure/Component/examples/ESMF_CompTunnelEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, GEOEhysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/examples/ESMF_CplEx.F90 b/src/Superstructure/Component/examples/ESMF_CplEx.F90 index e0de775c48..fe32673632 100644 --- a/src/Superstructure/Component/examples/ESMF_CplEx.F90 +++ b/src/Superstructure/Component/examples/ESMF_CplEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/examples/ESMF_GCompEx.F90 b/src/Superstructure/Component/examples/ESMF_GCompEx.F90 index 412a6e0591..2d1f2e5496 100644 --- a/src/Superstructure/Component/examples/ESMF_GCompEx.F90 +++ b/src/Superstructure/Component/examples/ESMF_GCompEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/examples/ESMF_InternalStateEx.F90 b/src/Superstructure/Component/examples/ESMF_InternalStateEx.F90 index 7539e33200..3104a78eef 100644 --- a/src/Superstructure/Component/examples/ESMF_InternalStateEx.F90 +++ b/src/Superstructure/Component/examples/ESMF_InternalStateEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/examples/ESMF_InternalStateModEx.F90 b/src/Superstructure/Component/examples/ESMF_InternalStateModEx.F90 index 5ff24e4c78..90f47eaf6b 100644 --- a/src/Superstructure/Component/examples/ESMF_InternalStateModEx.F90 +++ b/src/Superstructure/Component/examples/ESMF_InternalStateModEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/examples/ESMF_SCompEx.F90 b/src/Superstructure/Component/examples/ESMF_SCompEx.F90 index 68e691b751..cb876fdd2c 100644 --- a/src/Superstructure/Component/examples/ESMF_SCompEx.F90 +++ b/src/Superstructure/Component/examples/ESMF_SCompEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/include/ESMCI_Comp.h b/src/Superstructure/Component/include/ESMCI_Comp.h index 88f0986b72..8b412a8fe5 100644 --- a/src/Superstructure/Component/include/ESMCI_Comp.h +++ b/src/Superstructure/Component/include/ESMCI_Comp.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/include/ESMCI_CompTunnel.h b/src/Superstructure/Component/include/ESMCI_CompTunnel.h index 11d4869051..6efe220736 100644 --- a/src/Superstructure/Component/include/ESMCI_CompTunnel.h +++ b/src/Superstructure/Component/include/ESMCI_CompTunnel.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/include/ESMCI_FTable.h b/src/Superstructure/Component/include/ESMCI_FTable.h index 2384a198d4..f5ce07a40d 100644 --- a/src/Superstructure/Component/include/ESMCI_FTable.h +++ b/src/Superstructure/Component/include/ESMCI_FTable.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/include/ESMCI_MethodTable.h b/src/Superstructure/Component/include/ESMCI_MethodTable.h index af3174ac77..b458cd3697 100644 --- a/src/Superstructure/Component/include/ESMCI_MethodTable.h +++ b/src/Superstructure/Component/include/ESMCI_MethodTable.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/include/ESMC_CplComp.h b/src/Superstructure/Component/include/ESMC_CplComp.h index 9c64a343d8..aa2af0fd45 100644 --- a/src/Superstructure/Component/include/ESMC_CplComp.h +++ b/src/Superstructure/Component/include/ESMC_CplComp.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/include/ESMC_GridComp.h b/src/Superstructure/Component/include/ESMC_GridComp.h index 31c258774a..4131e8b36d 100644 --- a/src/Superstructure/Component/include/ESMC_GridComp.h +++ b/src/Superstructure/Component/include/ESMC_GridComp.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/include/ESMC_SciComp.h b/src/Superstructure/Component/include/ESMC_SciComp.h index d5cc63435c..630eea8b66 100644 --- a/src/Superstructure/Component/include/ESMC_SciComp.h +++ b/src/Superstructure/Component/include/ESMC_SciComp.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/interface/ESMCI_Comp.C b/src/Superstructure/Component/interface/ESMCI_Comp.C index ba4a00ed94..869b202641 100644 --- a/src/Superstructure/Component/interface/ESMCI_Comp.C +++ b/src/Superstructure/Component/interface/ESMCI_Comp.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/interface/ESMC_Comp.C b/src/Superstructure/Component/interface/ESMC_Comp.C index 757f9abe1e..96a75e4896 100644 --- a/src/Superstructure/Component/interface/ESMC_Comp.C +++ b/src/Superstructure/Component/interface/ESMC_Comp.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/interface/ESMF_Comp_C.F90 b/src/Superstructure/Component/interface/ESMF_Comp_C.F90 index 6879793713..8bfbdfc9ae 100644 --- a/src/Superstructure/Component/interface/ESMF_Comp_C.F90 +++ b/src/Superstructure/Component/interface/ESMF_Comp_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/src/ESMCI_CompTunnel.C b/src/Superstructure/Component/src/ESMCI_CompTunnel.C index 6777f78df3..757a43dd84 100644 --- a/src/Superstructure/Component/src/ESMCI_CompTunnel.C +++ b/src/Superstructure/Component/src/ESMCI_CompTunnel.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/src/ESMCI_FTable.C b/src/Superstructure/Component/src/ESMCI_FTable.C index e41d73f2d2..7dc9ce77d5 100644 --- a/src/Superstructure/Component/src/ESMCI_FTable.C +++ b/src/Superstructure/Component/src/ESMCI_FTable.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -30,6 +30,7 @@ #include #include #include +#include #ifndef ESMF_NO_DLFCN #include #endif @@ -43,6 +44,7 @@ #include "ESMCI_Info.h" using std::string; +using std::vector; //----------------------------------------------------------------------------- // leave the following line as-is; it will insert the cvs ident string @@ -246,7 +248,16 @@ extern "C" { if (llen>0){ string sharedObj(sharedObjArg, llen); sharedObj.resize(sharedObj.find_last_not_of(" ")+1); - lib = dlopen(sharedObj.c_str(), RTLD_LAZY); + if (sharedObj.back()=='*'){ + vector suffixes{"so", "dylib", "dll"}; + for (auto it=suffixes.begin(); it!=suffixes.end(); ++it){ + string sharedObjTemp = sharedObj; + sharedObjTemp.replace(sharedObjTemp.end()-1,sharedObjTemp.end(), *it); + lib = dlopen(sharedObjTemp.c_str(), RTLD_LAZY); + if (lib) break; + } + }else + lib = dlopen(sharedObj.c_str(), RTLD_LAZY); }else lib = dlopen(NULL, RTLD_LAZY); // search in executable if (lib == NULL){ @@ -298,7 +309,16 @@ extern "C" { if (llen>0){ string sharedObj(sharedObjArg, llen); sharedObj.resize(sharedObj.find_last_not_of(" ")+1); - lib = dlopen(sharedObj.c_str(), RTLD_LAZY); + if (sharedObj.back()=='*'){ + vector suffixes{"so", "dylib", "dll"}; + for (auto it=suffixes.begin(); it!=suffixes.end(); ++it){ + string sharedObjTemp = sharedObj; + sharedObjTemp.replace(sharedObjTemp.end()-1,sharedObjTemp.end(), *it); + lib = dlopen(sharedObjTemp.c_str(), RTLD_LAZY); + if (lib) break; + } + }else + lib = dlopen(sharedObj.c_str(), RTLD_LAZY); }else lib = dlopen(NULL, RTLD_LAZY); // search in executable if (lib == NULL){ diff --git a/src/Superstructure/Component/src/ESMCI_MethodTable.C b/src/Superstructure/Component/src/ESMCI_MethodTable.C index d4b6e15be3..4e611ddd16 100644 --- a/src/Superstructure/Component/src/ESMCI_MethodTable.C +++ b/src/Superstructure/Component/src/ESMCI_MethodTable.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/src/ESMF_Comp.F90 b/src/Superstructure/Component/src/ESMF_Comp.F90 index 249d839342..a093e64c3d 100644 --- a/src/Superstructure/Component/src/ESMF_Comp.F90 +++ b/src/Superstructure/Component/src/ESMF_Comp.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/src/ESMF_CplComp.F90 b/src/Superstructure/Component/src/ESMF_CplComp.F90 index 69dceac661..bf76e7bf8d 100644 --- a/src/Superstructure/Component/src/ESMF_CplComp.F90 +++ b/src/Superstructure/Component/src/ESMF_CplComp.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -2251,8 +2251,12 @@ recursive subroutine ESMF_CplCompSetServicesShObj(cplcomp, userRoutine, & ! standard Component Initialize(), Run(), and Finalize() methods. ! \end{sloppypar} ! \item[{[sharedObj]}] -! Name of shared object that contains {\tt userRoutine}. If the -! {\tt sharedObj} argument is not provided the executable itself will be +! Name of shared object that contains {\tt userRoutine}. The asterisk +! character {\tt (*)} is supported as a wildcard for the file name suffix. +! When present, the asterisk is replaced by "so", "dylib", and "dll", in this +! order, and the first successfully loaded object is used to search for +! {\tt userRoutine}. +! If the {\tt sharedObj} argument is not provided, the executable itself is ! searched for {\tt userRoutine}. ! \item[{[userRoutineFound]}] ! Report back whether the specified {\tt userRoutine} was found and executed, @@ -2631,8 +2635,12 @@ recursive subroutine ESMF_CplCompSetVMShObj(cplcomp, userRoutine, & ! {\tt ESMF\_CplCompSetVMxxx()} methods to set the properties of the VM ! associated with the Coupler Component. ! \item[{[sharedObj]}] -! Name of shared object that contains {\tt userRoutine}. If the -! {\tt sharedObj} argument is not provided the executable itself will be +! Name of shared object that contains {\tt userRoutine}. The asterisk +! character {\tt (*)} is supported as a wildcard for the file name suffix. +! When present, the asterisk is replaced by "so", "dylib", and "dll", in this +! order, and the first successfully loaded object is used to search for +! {\tt userRoutine}. +! If the {\tt sharedObj} argument is not provided, the executable itself is ! searched for {\tt userRoutine}. ! \item[{[userRoutineFound]}] ! Report back whether the specified {\tt userRoutine} was found and executed, diff --git a/src/Superstructure/Component/src/ESMF_GridComp.F90 b/src/Superstructure/Component/src/ESMF_GridComp.F90 index 95c5f79239..da71f1d5f2 100644 --- a/src/Superstructure/Component/src/ESMF_GridComp.F90 +++ b/src/Superstructure/Component/src/ESMF_GridComp.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -2608,8 +2608,12 @@ recursive subroutine ESMF_GridCompSetServicesShObj(gridcomp, userRoutine, & ! standard Component Initialize(), Run(), and Finalize() methods. ! \end{sloppypar} ! \item[{[sharedObj]}] -! Name of shared object that contains {\tt userRoutine}. If the -! {\tt sharedObj} argument is not provided the executable itself will be +! Name of shared object that contains {\tt userRoutine}. The asterisk +! character {\tt (*)} is supported as a wildcard for the file name suffix. +! When present, the asterisk is replaced by "so", "dylib", and "dll", in this +! order, and the first successfully loaded object is used to search for +! {\tt userRoutine}. +! If the {\tt sharedObj} argument is not provided, the executable itself is ! searched for {\tt userRoutine}. ! \item[{[userRoutineFound]}] ! Report back whether the specified {\tt userRoutine} was found and executed, @@ -2989,8 +2993,12 @@ recursive subroutine ESMF_GridCompSetVMShObj(gridcomp, userRoutine, & ! {\tt ESMF\_GridCompSetVMxxx()} methods to set the properties of the VM ! associated with the Gridded Component. ! \item[{[sharedObj]}] -! Name of shared object that contains {\tt userRoutine}. If the -! {\tt sharedObj} argument is not provided the executable itself will be +! Name of shared object that contains {\tt userRoutine}. The asterisk +! character {\tt (*)} is supported as a wildcard for the file name suffix. +! When present, the asterisk is replaced by "so", "dylib", and "dll", in this +! order, and the first successfully loaded object is used to search for +! {\tt userRoutine}. +! If the {\tt sharedObj} argument is not provided, the executable itself is ! searched for {\tt userRoutine}. ! \item[{[userRoutineFound]}] ! Report back whether the specified {\tt userRoutine} was found and executed, diff --git a/src/Superstructure/Component/src/ESMF_InternalState.F90 b/src/Superstructure/Component/src/ESMF_InternalState.F90 index 307f075a2a..4fcb6f3500 100644 --- a/src/Superstructure/Component/src/ESMF_InternalState.F90 +++ b/src/Superstructure/Component/src/ESMF_InternalState.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/src/ESMF_SciComp.F90 b/src/Superstructure/Component/src/ESMF_SciComp.F90 index 115cc1f556..06709e7408 100644 --- a/src/Superstructure/Component/src/ESMF_SciComp.F90 +++ b/src/Superstructure/Component/src/ESMF_SciComp.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMC_ComponentUTest.c b/src/Superstructure/Component/tests/ESMC_ComponentUTest.c index 64e8bead91..2179d91752 100644 --- a/src/Superstructure/Component/tests/ESMC_ComponentUTest.c +++ b/src/Superstructure/Component/tests/ESMC_ComponentUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMF_CompSetServUTest.F90 b/src/Superstructure/Component/tests/ESMF_CompSetServUTest.F90 index 35b9045bf4..7325b99876 100644 --- a/src/Superstructure/Component/tests/ESMF_CompSetServUTest.F90 +++ b/src/Superstructure/Component/tests/ESMF_CompSetServUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMF_CompTunnelUTest.F90 b/src/Superstructure/Component/tests/ESMF_CompTunnelUTest.F90 index c6dfb4e132..2ba2762a26 100644 --- a/src/Superstructure/Component/tests/ESMF_CompTunnelUTest.F90 +++ b/src/Superstructure/Component/tests/ESMF_CompTunnelUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMF_CplCompCreateUTest.F90 b/src/Superstructure/Component/tests/ESMF_CplCompCreateUTest.F90 index 4595f0b561..a07e63dc69 100644 --- a/src/Superstructure/Component/tests/ESMF_CplCompCreateUTest.F90 +++ b/src/Superstructure/Component/tests/ESMF_CplCompCreateUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMF_GridCompCreateUTest.F90 b/src/Superstructure/Component/tests/ESMF_GridCompCreateUTest.F90 index b9e5efb82b..9cd76ae55f 100644 --- a/src/Superstructure/Component/tests/ESMF_GridCompCreateUTest.F90 +++ b/src/Superstructure/Component/tests/ESMF_GridCompCreateUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMF_MyRegistrationInFortran.F90 b/src/Superstructure/Component/tests/ESMF_MyRegistrationInFortran.F90 index 5d30d5f87e..19aa12151f 100644 --- a/src/Superstructure/Component/tests/ESMF_MyRegistrationInFortran.F90 +++ b/src/Superstructure/Component/tests/ESMF_MyRegistrationInFortran.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMF_SciCompCreateUTest.F90 b/src/Superstructure/Component/tests/ESMF_SciCompCreateUTest.F90 index 27e9d9c1e5..60d99f7205 100644 --- a/src/Superstructure/Component/tests/ESMF_SciCompCreateUTest.F90 +++ b/src/Superstructure/Component/tests/ESMF_SciCompCreateUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMF_SetServCode.F90 b/src/Superstructure/Component/tests/ESMF_SetServCode.F90 index 7b0c1f63aa..a5d46f8f1f 100644 --- a/src/Superstructure/Component/tests/ESMF_SetServCode.F90 +++ b/src/Superstructure/Component/tests/ESMF_SetServCode.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Component/tests/ESMF_StdCompMethodsUTest.F90 b/src/Superstructure/Component/tests/ESMF_StdCompMethodsUTest.F90 index 5cc2b123ba..280d546f9d 100644 --- a/src/Superstructure/Component/tests/ESMF_StdCompMethodsUTest.F90 +++ b/src/Superstructure/Component/tests/ESMF_StdCompMethodsUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/ESMFMod/include/ESMC.h b/src/Superstructure/ESMFMod/include/ESMC.h index 1e2d930f7d..1ef430a24b 100644 --- a/src/Superstructure/ESMFMod/include/ESMC.h +++ b/src/Superstructure/ESMFMod/include/ESMC.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/ESMFMod/include/ESMCI.h b/src/Superstructure/ESMFMod/include/ESMCI.h index 3098d30e1e..5e7f56f664 100644 --- a/src/Superstructure/ESMFMod/include/ESMCI.h +++ b/src/Superstructure/ESMFMod/include/ESMCI.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/ESMFMod/include/ESMCI_Init.h b/src/Superstructure/ESMFMod/include/ESMCI_Init.h index 4eab97a567..d16291106d 100644 --- a/src/Superstructure/ESMFMod/include/ESMCI_Init.h +++ b/src/Superstructure/ESMFMod/include/ESMCI_Init.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -28,6 +28,7 @@ // !USES: #include "ESMCI_Macros.h" #include "ESMCI_Calendar.h" +#include "ESMCI_Util.h" // public globals, filled in by ESMC_Initialize() // and used by MPI_Init(). set once, treat as read-only! @@ -53,6 +54,8 @@ int ESMCI_Initialize(int argc, char **argv, int ESMCI_Finalize(void); +int ESMCI_Finalize(ESMC_End_Flag endFlag); + // prototypes for fortran interface routines extern "C" { @@ -63,7 +66,7 @@ extern "C" { ESMC_LogKind_Flag *defaultLogType, int *rc, ESMCI_FortranStrLenArg count1, ESMCI_FortranStrLenArg count2); - void FTN_X(f_esmf_frameworkfinalize)(int *rc); + void FTN_X(f_esmf_frameworkfinalize)(int *rc, ESMC_End_Flag *endFlag); }; diff --git a/src/Superstructure/ESMFMod/include/ESMC_Init.h b/src/Superstructure/ESMFMod/include/ESMC_Init.h index 04d8401dd2..24dbe298ff 100644 --- a/src/Superstructure/ESMFMod/include/ESMC_Init.h +++ b/src/Superstructure/ESMFMod/include/ESMC_Init.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -29,6 +29,7 @@ #define ESMC_Init_H #include "ESMC_Arg.h" +#include "ESMC_Util.h" // identifier list for optional ESMC arguments enum { @@ -125,6 +126,39 @@ extern "C" { } // extern "C" #endif +#ifdef __cplusplus +extern "C" { +#endif +//----------------------------------------------------------------------------- +//BOP +// !IROUTINE: ESMC_FinalizeWithFlag - Finalize the ESMF Framework and specify the type of finalization. +// +// !INTERFACE: + int ESMC_FinalizeWithFlag( + ESMC_End_Flag endFlag); // enumerator for exit action (see below) + +// !RETURN VALUE: +// Return code; equals ESMF_SUCCESS if there are no errors. +// +// !DESCRIPTION: +// This must be called once on each PET before the application exits to +// allow ESMF to flush buffers, close open connections, and release +// internal resources cleanly. +// +// The \texttt{endFlag} argument has one of three options: +// \begin{description} +// \item [\texttt{ESMC\_END\_NORMAL}] +// Finalize normally. +// \item [\texttt{ESMC\_END\_KEEPMPI}] +// Finalize normally without finalizing MPI. +// \item [\texttt{ESMC\_END\_ABORT}] +// Abort on finalization. +// \end{description} +//EOP +#ifdef __cplusplus +} // extern "C" +#endif + #ifdef __cplusplus extern "C" { diff --git a/src/Superstructure/ESMFMod/interface/ESMCI_Init.C b/src/Superstructure/ESMFMod/interface/ESMCI_Init.C index f94da36393..3b552fee28 100644 --- a/src/Superstructure/ESMFMod/interface/ESMCI_Init.C +++ b/src/Superstructure/ESMFMod/interface/ESMCI_Init.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -166,10 +166,35 @@ char **globalargv; //EOP int rc; + ESMC_End_Flag endflag=ESMC_END_NORMAL; - FTN_X(f_esmf_frameworkfinalize)(&rc); + FTN_X(f_esmf_frameworkfinalize)(&rc, &endflag); return rc; - } // end ESMCI_FrameworkFinallize + } // end ESMCI_Finalize +//----------------------------------------------------------------------------- +//BOP +// !IROUTINE: ESMCI_Finalize - Finalize the ESMF Framework +// +// !INTERFACE: + int ESMCI_Finalize( +// +// !RETURN VALUE: +// int error return code +// +// !ARGUMENTS: + ESMC_End_Flag endFlag) { // in - optional end action kind +// +// !DESCRIPTION: +// +//EOP + + int rc; + + FTN_X(f_esmf_frameworkfinalize)(&rc, &endFlag); + + return rc; + + } // end ESMCI_Finalize diff --git a/src/Superstructure/ESMFMod/interface/ESMCI_Init_F.C b/src/Superstructure/ESMFMod/interface/ESMCI_Init_F.C index d7c2493e55..83becc89ee 100644 --- a/src/Superstructure/ESMFMod/interface/ESMCI_Init_F.C +++ b/src/Superstructure/ESMFMod/interface/ESMCI_Init_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/ESMFMod/interface/ESMC_Init.C b/src/Superstructure/ESMFMod/interface/ESMC_Init.C index 17296ae2ce..a8abf832a4 100644 --- a/src/Superstructure/ESMFMod/interface/ESMC_Init.C +++ b/src/Superstructure/ESMFMod/interface/ESMC_Init.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -123,7 +123,33 @@ extern "C" { } // end ESMC_Initialize //----------------------------------------------------------------------------- - //----------------------------------------------------------------------------- + //----------------------------------------------------------------------------- +//BOP +// !IROUTINE: ESMC_Finalize - Finalize the ESMF Framework +// +// !INTERFACE: + int ESMC_FinalizeWithFlag( +// +// !RETURN VALUE: +// int return code +// +// !ARGUMENTS: + ESMC_End_Flag endFlag){ +// +// !DESCRIPTION: +// +//EOP + + int localrc; + + localrc = ESMCI_Finalize(endFlag); + + return localrc; + + } // end ESMC_FinalizeWithFlag +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- //BOP // !IROUTINE: ESMC_Finalize - Finalize the ESMF Framework // diff --git a/src/Superstructure/ESMFMod/interface/ESMF_Init_C.F90 b/src/Superstructure/ESMFMod/interface/ESMF_Init_C.F90 index be784c56c5..b60d6899d2 100644 --- a/src/Superstructure/ESMFMod/interface/ESMF_Init_C.F90 +++ b/src/Superstructure/ESMFMod/interface/ESMF_Init_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -59,14 +59,16 @@ subroutine f_esmf_frameworkinitialize(lang, configFileName, & end subroutine f_esmf_frameworkinitialize - subroutine f_esmf_frameworkfinalize(rc) + subroutine f_esmf_frameworkfinalize(rc, endFlag) use ESMF_CompMod use ESMF_InitMod + use ESMF_UtilTypesMod implicit none integer :: rc + type(ESMF_End_Flag) :: endFlag - call ESMF_Finalize(rc=rc) + call ESMF_Finalize(endflag=endFlag, rc=rc) end subroutine f_esmf_frameworkfinalize diff --git a/src/Superstructure/ESMFMod/src/ESMF.F90 b/src/Superstructure/ESMFMod/src/ESMF.F90 index 7395e4a605..e0578fc5c4 100644 --- a/src/Superstructure/ESMFMod/src/ESMF.F90 +++ b/src/Superstructure/ESMFMod/src/ESMF.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/ESMFMod/src/ESMF_Init.F90 b/src/Superstructure/ESMFMod/src/ESMF_Init.F90 index 29c378ee3f..6524052d68 100644 --- a/src/Superstructure/ESMFMod/src/ESMF_Init.F90 +++ b/src/Superstructure/ESMFMod/src/ESMF_Init.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -1408,7 +1408,7 @@ subroutine ingest_environment_variable(env_var_name) endif else call ESMF_ConfigFindLabel(configInternal, & - label="ESMF_RUNTIME_PROFILE:", isPresent=isPresent, rc=localrc) + label=trim(env_var_name)//":", isPresent=isPresent, rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return endif @@ -1421,7 +1421,8 @@ subroutine ingest_environment_variable(env_var_name) stringSet = trim(stringAlloc) else call ESMF_ConfigGetAttribute(configInternal, stringS, & - label="defaultLogFilename:", default="---invalid---", rc=localrc) + label=trim(env_var_name)//":", default="---invalid---", & + rc=localrc) if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return if (trim(stringS)/="---invalid---") then diff --git a/src/Superstructure/ESMFMod/src/ESMF_Overloads.F90 b/src/Superstructure/ESMFMod/src/ESMF_Overloads.F90 index 89aebfb24e..8bc5e34951 100644 --- a/src/Superstructure/ESMFMod/src/ESMF_Overloads.F90 +++ b/src/Superstructure/ESMFMod/src/ESMF_Overloads.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/ESMFMod/tests/ESMF_FrameworkUTest.F90 b/src/Superstructure/ESMFMod/tests/ESMF_FrameworkUTest.F90 index cda6eaf4e6..ab4a3384b3 100644 --- a/src/Superstructure/ESMFMod/tests/ESMF_FrameworkUTest.F90 +++ b/src/Superstructure/ESMFMod/tests/ESMF_FrameworkUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/IOAPI/interface/ESMFIO.F90 b/src/Superstructure/IOAPI/interface/ESMFIO.F90 index 64e9ec7553..517d61de5f 100644 --- a/src/Superstructure/IOAPI/interface/ESMFIO.F90 +++ b/src/Superstructure/IOAPI/interface/ESMFIO.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/IOAPI/interface/ESMF_IO.F90 b/src/Superstructure/IOAPI/interface/ESMF_IO.F90 index ec6b33d40b..67f1ae075c 100644 --- a/src/Superstructure/IOAPI/interface/ESMF_IO.F90 +++ b/src/Superstructure/IOAPI/interface/ESMF_IO.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/IOAPI/tests/ESMF_IOCompUTest.F90 b/src/Superstructure/IOAPI/tests/ESMF_IOCompUTest.F90 index ace83719b2..92dc061089 100644 --- a/src/Superstructure/IOAPI/tests/ESMF_IOCompUTest.F90 +++ b/src/Superstructure/IOAPI/tests/ESMF_IOCompUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/IOAPI/tests/ESMF_IOGridCompUTest.F90 b/src/Superstructure/IOAPI/tests/ESMF_IOGridCompUTest.F90 index bd867345e1..6e6e8a595a 100644 --- a/src/Superstructure/IOAPI/tests/ESMF_IOGridCompUTest.F90 +++ b/src/Superstructure/IOAPI/tests/ESMF_IOGridCompUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/interface/ESMF_InfoCache.F90 b/src/Superstructure/InfoAPI/interface/ESMF_InfoCache.F90 index e32fcc0430..d894999a91 100644 --- a/src/Superstructure/InfoAPI/interface/ESMF_InfoCache.F90 +++ b/src/Superstructure/InfoAPI/interface/ESMF_InfoCache.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/interface/ESMF_InfoDescribe.F90 b/src/Superstructure/InfoAPI/interface/ESMF_InfoDescribe.F90 index 5cc01ccb06..aaffa8c2d2 100644 --- a/src/Superstructure/InfoAPI/interface/ESMF_InfoDescribe.F90 +++ b/src/Superstructure/InfoAPI/interface/ESMF_InfoDescribe.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/interface/ESMF_InfoSync.F90 b/src/Superstructure/InfoAPI/interface/ESMF_InfoSync.F90 index 205195533c..a368513d0d 100644 --- a/src/Superstructure/InfoAPI/interface/ESMF_InfoSync.F90 +++ b/src/Superstructure/InfoAPI/interface/ESMF_InfoSync.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/src/ESMC_InfoCacheCDef.C b/src/Superstructure/InfoAPI/src/ESMC_InfoCacheCDef.C index af37fbf244..0d37b0768b 100644 --- a/src/Superstructure/InfoAPI/src/ESMC_InfoCacheCDef.C +++ b/src/Superstructure/InfoAPI/src/ESMC_InfoCacheCDef.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/src/ESMC_InfoDescribeCDef.C b/src/Superstructure/InfoAPI/src/ESMC_InfoDescribeCDef.C index d24cf9147c..548d9c9984 100644 --- a/src/Superstructure/InfoAPI/src/ESMC_InfoDescribeCDef.C +++ b/src/Superstructure/InfoAPI/src/ESMC_InfoDescribeCDef.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/tests/ESMF_InfoCacheUTest.F90 b/src/Superstructure/InfoAPI/tests/ESMF_InfoCacheUTest.F90 index cf689b11fd..95e4ab5b42 100644 --- a/src/Superstructure/InfoAPI/tests/ESMF_InfoCacheUTest.F90 +++ b/src/Superstructure/InfoAPI/tests/ESMF_InfoCacheUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/tests/ESMF_InfoDescribeUTest.F90 b/src/Superstructure/InfoAPI/tests/ESMF_InfoDescribeUTest.F90 index e5d93c5fb6..2cb41b300b 100644 --- a/src/Superstructure/InfoAPI/tests/ESMF_InfoDescribeUTest.F90 +++ b/src/Superstructure/InfoAPI/tests/ESMF_InfoDescribeUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/tests/ESMF_InfoGetInterfaceArrayUTest.F90 b/src/Superstructure/InfoAPI/tests/ESMF_InfoGetInterfaceArrayUTest.F90 index 5533dd96da..57a5e0d03b 100644 --- a/src/Superstructure/InfoAPI/tests/ESMF_InfoGetInterfaceArrayUTest.F90 +++ b/src/Superstructure/InfoAPI/tests/ESMF_InfoGetInterfaceArrayUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/InfoAPI/tests/ESMF_InfoSyncUTest.F90 b/src/Superstructure/InfoAPI/tests/ESMF_InfoSyncUTest.F90 index 78958f9d11..22da61cf3e 100644 --- a/src/Superstructure/InfoAPI/tests/ESMF_InfoSyncUTest.F90 +++ b/src/Superstructure/InfoAPI/tests/ESMF_InfoSyncUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Mapper/interface/ESMCI_Mapper_F.C b/src/Superstructure/Mapper/interface/ESMCI_Mapper_F.C index ac95066e97..688570e6a6 100644 --- a/src/Superstructure/Mapper/interface/ESMCI_Mapper_F.C +++ b/src/Superstructure/Mapper/interface/ESMCI_Mapper_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Mapper/interface/ESMC_Mapper.C b/src/Superstructure/Mapper/interface/ESMC_Mapper.C index 3c0c007639..939e4648d5 100644 --- a/src/Superstructure/Mapper/interface/ESMC_Mapper.C +++ b/src/Superstructure/Mapper/interface/ESMC_Mapper.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Mapper/interface/ESMF_Mapper.F90 b/src/Superstructure/Mapper/interface/ESMF_Mapper.F90 index 4c0aeb2918..8f68c6ee39 100644 --- a/src/Superstructure/Mapper/interface/ESMF_Mapper.F90 +++ b/src/Superstructure/Mapper/interface/ESMF_Mapper.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Mapper/interface/ESMF_MapperUtil.F90 b/src/Superstructure/Mapper/interface/ESMF_MapperUtil.F90 index 1b11d1fd5c..8383b52135 100644 --- a/src/Superstructure/Mapper/interface/ESMF_MapperUtil.F90 +++ b/src/Superstructure/Mapper/interface/ESMF_MapperUtil.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/Mapper/src/ESMF_MapperRunSeqUtil.F90 b/src/Superstructure/Mapper/src/ESMF_MapperRunSeqUtil.F90 index 8c6cb26e5c..b0db0fc469 100644 --- a/src/Superstructure/Mapper/src/ESMF_MapperRunSeqUtil.F90 +++ b/src/Superstructure/Mapper/src/ESMF_MapperRunSeqUtil.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/NamedAlias/src/ESMF_NamedAlias.F90 b/src/Superstructure/NamedAlias/src/ESMF_NamedAlias.F90 index f72e819791..77b421b190 100644 --- a/src/Superstructure/NamedAlias/src/ESMF_NamedAlias.F90 +++ b/src/Superstructure/NamedAlias/src/ESMF_NamedAlias.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/NamedAlias/tests/ESMF_NamedAliasUTest.F90 b/src/Superstructure/NamedAlias/tests/ESMF_NamedAliasUTest.F90 index 34db871c9a..70e67be04e 100644 --- a/src/Superstructure/NamedAlias/tests/ESMF_NamedAliasUTest.F90 +++ b/src/Superstructure/NamedAlias/tests/ESMF_NamedAliasUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/PreESMFMod/src/ESMF_FileRegrid.F90 b/src/Superstructure/PreESMFMod/src/ESMF_FileRegrid.F90 index 6bcc7e9b8a..9e64d0c7cf 100644 --- a/src/Superstructure/PreESMFMod/src/ESMF_FileRegrid.F90 +++ b/src/Superstructure/PreESMFMod/src/ESMF_FileRegrid.F90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/PreESMFMod/src/ESMF_FileRegridCheck.F90 b/src/Superstructure/PreESMFMod/src/ESMF_FileRegridCheck.F90 index 4611525fbb..39ad6747c7 100644 --- a/src/Superstructure/PreESMFMod/src/ESMF_FileRegridCheck.F90 +++ b/src/Superstructure/PreESMFMod/src/ESMF_FileRegridCheck.F90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/PreESMFMod/src/ESMF_RegridWeightGen.F90 b/src/Superstructure/PreESMFMod/src/ESMF_RegridWeightGen.F90 index d20f98cb6e..4a938cb20d 100644 --- a/src/Superstructure/PreESMFMod/src/ESMF_RegridWeightGen.F90 +++ b/src/Superstructure/PreESMFMod/src/ESMF_RegridWeightGen.F90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/PreESMFMod/src/ESMF_RegridWeightGenCheck.F90 b/src/Superstructure/PreESMFMod/src/ESMF_RegridWeightGenCheck.F90 index 50786680b9..78899db42d 100644 --- a/src/Superstructure/PreESMFMod/src/ESMF_RegridWeightGenCheck.F90 +++ b/src/Superstructure/PreESMFMod/src/ESMF_RegridWeightGenCheck.F90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/PreESMFMod/tests/ESMF_FileRegridUTest.F90 b/src/Superstructure/PreESMFMod/tests/ESMF_FileRegridUTest.F90 index 5b5867cd20..2127db776b 100644 --- a/src/Superstructure/PreESMFMod/tests/ESMF_FileRegridUTest.F90 +++ b/src/Superstructure/PreESMFMod/tests/ESMF_FileRegridUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/PreESMFMod/tests/ESMF_RegridWeightGenUTest.F90 b/src/Superstructure/PreESMFMod/tests/ESMF_RegridWeightGenUTest.F90 index e20ca2b54e..f0523fe86c 100644 --- a/src/Superstructure/PreESMFMod/tests/ESMF_RegridWeightGenUTest.F90 +++ b/src/Superstructure/PreESMFMod/tests/ESMF_RegridWeightGenUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_cdesc.tex b/src/Superstructure/State/doc/State_cdesc.tex index 150fbe0aab..c74deeb75d 100644 --- a/src/Superstructure/State/doc/State_cdesc.tex +++ b/src/Superstructure/State/doc/State_cdesc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_crefdoc.ctex b/src/Superstructure/State/doc/State_crefdoc.ctex index 1f51ebe1ae..a1ac133944 100644 --- a/src/Superstructure/State/doc/State_crefdoc.ctex +++ b/src/Superstructure/State/doc/State_crefdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_crest.tex b/src/Superstructure/State/doc/State_crest.tex index 6ff5e8cc5a..1e6ba1d882 100644 --- a/src/Superstructure/State/doc/State_crest.tex +++ b/src/Superstructure/State/doc/State_crest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_desc.tex b/src/Superstructure/State/doc/State_desc.tex index 6f6ac21606..7ff9de41b6 100644 --- a/src/Superstructure/State/doc/State_desc.tex +++ b/src/Superstructure/State/doc/State_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_design.tex b/src/Superstructure/State/doc/State_design.tex index 3a726da74a..db62c7f338 100644 --- a/src/Superstructure/State/doc/State_design.tex +++ b/src/Superstructure/State/doc/State_design.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_implnotes.tex b/src/Superstructure/State/doc/State_implnotes.tex index ea5d3f3cb4..7f9f347eb3 100644 --- a/src/Superstructure/State/doc/State_implnotes.tex +++ b/src/Superstructure/State/doc/State_implnotes.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_refdoc.ctex b/src/Superstructure/State/doc/State_refdoc.ctex index 1d604096b1..d9add4823e 100644 --- a/src/Superstructure/State/doc/State_refdoc.ctex +++ b/src/Superstructure/State/doc/State_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_rest.tex b/src/Superstructure/State/doc/State_rest.tex index 5b168ed71b..1df0a3807a 100644 --- a/src/Superstructure/State/doc/State_rest.tex +++ b/src/Superstructure/State/doc/State_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/doc/State_usage.tex b/src/Superstructure/State/doc/State_usage.tex index 797bbf0ea4..167fdc4e51 100644 --- a/src/Superstructure/State/doc/State_usage.tex +++ b/src/Superstructure/State/doc/State_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/examples/ESMF_StateEx.F90 b/src/Superstructure/State/examples/ESMF_StateEx.F90 index c0472069b9..6ba1fc057d 100644 --- a/src/Superstructure/State/examples/ESMF_StateEx.F90 +++ b/src/Superstructure/State/examples/ESMF_StateEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/examples/ESMF_StateReadWriteEx.F90 b/src/Superstructure/State/examples/ESMF_StateReadWriteEx.F90 index f1ae711354..0ce7774aae 100644 --- a/src/Superstructure/State/examples/ESMF_StateReadWriteEx.F90 +++ b/src/Superstructure/State/examples/ESMF_StateReadWriteEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/include/ESMCI_State.h b/src/Superstructure/State/include/ESMCI_State.h index 0e4d90fabb..847adc0ccb 100644 --- a/src/Superstructure/State/include/ESMCI_State.h +++ b/src/Superstructure/State/include/ESMCI_State.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/include/ESMCI_StateItem.h b/src/Superstructure/State/include/ESMCI_StateItem.h index 96836951ed..a0c05337ad 100644 --- a/src/Superstructure/State/include/ESMCI_StateItem.h +++ b/src/Superstructure/State/include/ESMCI_StateItem.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/include/ESMC_State.h b/src/Superstructure/State/include/ESMC_State.h index 65f695513d..456254d41e 100644 --- a/src/Superstructure/State/include/ESMC_State.h +++ b/src/Superstructure/State/include/ESMC_State.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/interface/ESMCI_State.C b/src/Superstructure/State/interface/ESMCI_State.C index 6602eed886..b43c06522e 100644 --- a/src/Superstructure/State/interface/ESMCI_State.C +++ b/src/Superstructure/State/interface/ESMCI_State.C @@ -1,7 +1,7 @@ //$1.10 2007/04/26 16:13:59 rosalind Exp $ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/interface/ESMCI_State_F.C b/src/Superstructure/State/interface/ESMCI_State_F.C index b49352ecd5..505877afb5 100644 --- a/src/Superstructure/State/interface/ESMCI_State_F.C +++ b/src/Superstructure/State/interface/ESMCI_State_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/interface/ESMC_State.C b/src/Superstructure/State/interface/ESMC_State.C index 0410f0f64f..748a62bb42 100644 --- a/src/Superstructure/State/interface/ESMC_State.C +++ b/src/Superstructure/State/interface/ESMC_State.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/interface/ESMF_State_C.F90 b/src/Superstructure/State/interface/ESMF_State_C.F90 index a6d175f017..88f3f7eae9 100644 --- a/src/Superstructure/State/interface/ESMF_State_C.F90 +++ b/src/Superstructure/State/interface/ESMF_State_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/src/ESMF_State.F90 b/src/Superstructure/State/src/ESMF_State.F90 index 8eefcd18bb..a1c5c159fc 100644 --- a/src/Superstructure/State/src/ESMF_State.F90 +++ b/src/Superstructure/State/src/ESMF_State.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -63,6 +63,9 @@ module ESMF_StateMod public ESMF_StateAdd, ESMF_StateAddReplace public ESMF_StateGet public ESMF_StateIsReconcileNeeded + + public ESMF_StateLog + public ESMF_StateRemove public ESMF_StateReplace diff --git a/src/Superstructure/State/src/ESMF_StateAPI.cppF90 b/src/Superstructure/State/src/ESMF_StateAPI.cppF90 index 5930fd7c30..e57540cc57 100644 --- a/src/Superstructure/State/src/ESMF_StateAPI.cppF90 +++ b/src/Superstructure/State/src/ESMF_StateAPI.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -85,6 +85,8 @@ module ESMF_StateAPIMod public ESMF_StateIsCreated public ESMF_StateIsReconcileNeeded + public ESMF_StateLog + public ESMF_StateWriteRestart public ESMF_StateReadRestart @@ -919,6 +921,14 @@ StateAddRepListMacro(ESMF_State,State,nestedStateList,state,nestedStateList(i)%s ! Initialize return code; assume failure until success is certain if (present(rc)) rc = ESMF_RC_NOT_IMPL + ! Initialize the pointers to null. + nullify(ESMF_StateCreate%statep) + nullify(stypep) + + allocate(stypep, stat=memstat) + if (ESMF_LogFoundAllocError(memstat, msg="State type", & + ESMF_CONTEXT, rcToReturn=rc)) return + ! Must make sure the local PET is associated with an actual member actualFlag = .true. if (present(vm)) then @@ -963,15 +973,6 @@ ESMF_INIT_CHECK_DEEP(ESMF_RouteHandleGetInit,routehandleList(i),rc) enddo endif - - ! Initialize the pointers to null. - nullify(ESMF_StateCreate%statep) - nullify(stypep) - - allocate(stypep, stat=memstat) - if (ESMF_LogFoundAllocError(memstat, msg="State type", & - ESMF_CONTEXT, rcToReturn=rc)) return - call ESMF_StateConstruct(stypep, & statename=name, stateintent=stateintent, & arrays=arrayList, arraybundles=arraybundleList, & @@ -1821,6 +1822,266 @@ type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below end function ESMF_StateIsReconcileNeeded +! -------------------------- ESMF-public method ----------------------------- +^undef ESMF_METHOD +^define ESMF_METHOD "ESMF_StateLog()" +!BOP +! !IROUTINE: ESMF_StateLog - Log + +! !INTERFACE: + subroutine ESMF_StateLog(state, prefix, logMsgFlag, nestedFlag, deepFlag, rc) +! +! !ARGUMENTS: + type(ESMF_State), intent(in) :: state + character(len=*), intent(in), optional :: prefix + type(ESMF_LogMsg_Flag), intent(in), optional :: logMsgFlag + logical, intent(in), optional :: nestedFlag + logical, intent(in), optional :: deepFlag + integer, intent(out), optional :: rc +! +! !DESCRIPTION: +! Output information about {\tt state} to the ESMF default Log. +! +! The arguments are: +! \begin{description} +! \item[state] +! {\tt ESMF\_State} object logged. +! \item [{[prefix]}] +! String to prefix the log message. Default is no prefix. +! \item [{[logMsgFlag]}] +! Type of log message generated. See section \ref{const:logmsgflag} for +! a list of valid message types. Default is {\tt ESMF\_LOGMSG\_INFO}. +! \item[{[nestedFlag]}] +! When set to {\tt .false.} (default), only log information about the +! current State level. +! When set to {\tt .true.}, additionally log information for each nested +! State. +! \item[{[deepFlag]}] +! When set to {\tt .false.} (default), only log top level information for +! each item contained in the State. +! When set to {\tt .true.}, additionally log information for each item. +! \item[{[rc]}] +! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. +! \end{description} +! +!EOP +!------------------------------------------------------------------------------ + integer :: localrc ! local return code + type(ESMF_LogMsg_Flag) :: logMsg + character(len=:), allocatable :: prefixStr + logical :: nestedLog, deepLog + + ! initialize return code; assume routine not implemented + localrc = ESMF_RC_NOT_IMPL + if (present(rc)) rc = ESMF_RC_NOT_IMPL + + ! optional prefix + if (present(prefix)) then + prefixStr = trim(prefix) + else + prefixStr = "" + endif + + ! optional nestedFlag and deepFlag + nestedLog = .false. ! default + if (present(nestedFlag)) nestedLog = nestedFlag + deepLog = .false. ! default + if (present(deepFlag)) deepLog = deepFlag + + ! deal with optionl logMsgFlag + logMsg = ESMF_LOGMSG_INFO ! default + if (present(logMsgFlag)) logMsg = logMsgFlag + + call ESMF_LogWrite(ESMF_StringConcat(trim(prefixStr), & + "--- StateLog() start -----------------"), logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call StateLog(stateR=state, prefix=prefixStr, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + call ESMF_LogWrite(ESMF_StringConcat(trim(prefixStr), & + "--- StateLog() end -------------------"), logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! return successfully + if (present(rc)) rc = ESMF_SUCCESS + + contains + + recursive subroutine StateLog(stateR, prefix, rc) + type(ESMF_State), intent(in) :: stateR + character(len=*), intent(in) :: prefix + integer, intent(out) :: rc + ! - local variables + integer :: localrc + character(800) :: msgString + character(ESMF_MAXSTR) :: name, tempString + type(ESMF_StateIntent_Flag) :: stateIntent + integer :: itemCount, item + character(ESMF_MAXSTR), allocatable :: itemNameList(:) + type(ESMF_StateItem_Flag), allocatable :: itemTypeList(:) + type(ESMF_State) :: nestedState + type(ESMF_Field) :: field + type(ESMF_FieldBundle) :: fieldbundle + type(ESMF_Array) :: array + type(ESMF_ArrayBundle) :: arraybundle + type(ESMF_RouteHandle) :: routehandle + + localrc = ESMF_RC_NOT_IMPL + if (.not. ESMF_StateIsCreated(stateR)) then + call ESMF_LogWrite(ESMF_StringConcat(prefix, & + "State object is invalid! Not created or deleted"), & + logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + else + ! query + call ESMF_StateGet(stateR, name=name, stateIntent=stateIntent, & + itemCount=itemCount, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + ! + if (stateIntent==ESMF_STATEINTENT_IMPORT) then + tempString = "ESMF_STATEINTENT_IMPORT" + else if (stateIntent==ESMF_STATEINTENT_EXPORT) then + tempString = "ESMF_STATEINTENT_EXPORT" + else if (stateIntent==ESMF_STATEINTENT_INTERNAL) then + tempString = "ESMF_STATEINTENT_INTERNAL" + else if (stateIntent==ESMF_STATEINTENT_UNSPECIFIED) then + tempString = "ESMF_STATEINTENT_UNSPECIFIED" + else if (stateIntent==ESMF_STATEINTENT_INVALID) then + tempString = "ESMF_STATEINTENT_INVALID" + else + tempString = "Out or range STATEINTENT!!!" + endif + + write (msgString,'(A,A,A,A,A,A,A,A,I4,A)') & + prefix, "State object is valid!", & + " ", & + " " + call ESMF_LogWrite(trim(msgString), logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + if (itemCount > 0) then + allocate(itemNameList(itemCount)) + allocate(itemTypeList(itemCount)) + call ESMF_StateGet(stateR, itemNameList=itemNameList, & + itemtypeList=itemtypeList, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + do item=1, itemCount + ! basic item information + write (msgString,'(A,A,I4.4,A,A,A,A,A)') & + prefix, "+- " + call ESMF_LogWrite(trim(msgString), logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + ! deep item logging, possibly recursion + if ((itemtypeList(item) == ESMF_STATEITEM_STATE) .and. & + nestedLog) then + ! recursion into nested state + call ESMF_StateGet(stateR, itemName=itemNameList(item), & + nestedState=nestedState, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + call StateLog(stateR=nestedState, & + prefix=ESMF_StringConcat(prefix, "! "), rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + else if (deepLog) then + ! deep logging of all other item types + ! TODO: activate the Log() method calls below when implemented! + if (itemtypeList(item) == ESMF_STATEITEM_FIELD) then + call ESMF_StateGet(stateR, itemName=itemNameList(item), & + field=field, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return +! call ESMF_FieldLog(field, & +! prefix=ESMF_StringConcat(prefix, "! "), & +! logMsgFlag=logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + else if (itemtypeList(item) == ESMF_STATEITEM_FIELDBUNDLE) then + call ESMF_StateGet(stateR, itemName=itemNameList(item), & + fieldbundle=fieldbundle, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return +! call ESMF_FieldBundleLog(fieldbundle, prefix=prefix//"! ", & +! logMsgFlag=logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + else if (itemtypeList(item) == ESMF_STATEITEM_ARRAY) then + call ESMF_StateGet(stateR, itemName=itemNameList(item), & + array=array, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return +! call ESMF_ArrayLog(array, & +! prefix=ESMF_StringConcat(prefix, "! "), & +! logMsgFlag=logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + else if (itemtypeList(item) == ESMF_STATEITEM_ARRAYBUNDLE) then + call ESMF_StateGet(stateR, itemName=itemNameList(item), & + arraybundle=arraybundle, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return +! call ESMF_ArrayBundleLog(arraybundle, & +! prefix=ESMF_StringConcat(prefix, "! "), & +! logMsgFlag=logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + else if (itemtypeList(item) == ESMF_STATEITEM_ROUTEHANDLE) then + call ESMF_StateGet(stateR, itemName=itemNameList(item), & + routehandle=routehandle, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return +! call ESMF_RouteHandleLog(routehandle, & +! prefix=ESMF_StringConcat(prefix, "! "), & +! logMsgFlag=logMsg, rc=localrc) + if (ESMF_LogFoundError(localrc, & + ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + endif + endif + enddo + + deallocate(itemNameList) + deallocate(itemTypeList) + endif + + endif + end subroutine + + end subroutine ESMF_StateLog +!------------------------------------------------------------------------------ + + !------------------------------------------------------------------------------ ^undef ESMF_METHOD ^define ESMF_METHOD "ESMF_StatePrint" diff --git a/src/Superstructure/State/src/ESMF_StateContainer.F90 b/src/Superstructure/State/src/ESMF_StateContainer.F90 index 3246456710..eaeb3d3528 100644 --- a/src/Superstructure/State/src/ESMF_StateContainer.F90 +++ b/src/Superstructure/State/src/ESMF_StateContainer.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/src/ESMF_StateGet.cppF90 b/src/Superstructure/State/src/ESMF_StateGet.cppF90 index 1cd04723cf..aadf1a87bb 100644 --- a/src/Superstructure/State/src/ESMF_StateGet.cppF90 +++ b/src/Superstructure/State/src/ESMF_StateGet.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/src/ESMF_StateInternals.cppF90 b/src/Superstructure/State/src/ESMF_StateInternals.cppF90 index 7b463d0fbf..6053e342cb 100644 --- a/src/Superstructure/State/src/ESMF_StateInternals.cppF90 +++ b/src/Superstructure/State/src/ESMF_StateInternals.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/src/ESMF_StateItem.F90 b/src/Superstructure/State/src/ESMF_StateItem.F90 index 4ee8e0bea4..fb6fedd6e4 100644 --- a/src/Superstructure/State/src/ESMF_StateItem.F90 +++ b/src/Superstructure/State/src/ESMF_StateItem.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -275,7 +275,7 @@ module ESMF_StateItemMod ESMF_STATEITEM_NAME, & #endif ESMF_STATEITEM_NOTFOUND - public ESMF_StateItemConstruct + public ESMF_StateItemConstruct, ESMF_StateItemString public ESMF_StateIntent_Flag, ESMF_STATEINTENT_IMPORT, ESMF_STATEINTENT_EXPORT, & ESMF_STATEINTENT_INTERNAL, & ESMF_STATEINTENT_UNSPECIFIED @@ -378,6 +378,72 @@ function ESMF_StateItemConstruct (name, itemtype, keywordEnforcer, & if (present(rc)) rc = ESMF_SUCCESS end function ESMF_StateItemConstruct +!------------------------------------------------------------------------------ + + +! -------------------------- ESMF-internal method ----------------------------- +#undef ESMF_METHOD +#define ESMF_METHOD "ESMF_StateItemString()" +!BOPI +! !IROUTINE: ESMF_StateItemString - Return StateItem Flag as string + +! !INTERFACE: + function ESMF_StateItemString (itemtype, keywordEnforcer, rc) result (string) +! +! !RETURN VALUE: + character(len=:), allocatable :: string +! +! !ARGUMENTS: + type(ESMF_StateItem_Flag), intent(in) :: itemtype + type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below + integer, intent(out), optional :: rc +! +! !DESCRIPTION: +! String of StateItem Flag. +! \item[itemtype] +! State item type code +! \item[{[rc]}] +! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. +! \end{description} +! +!EOPI +!------------------------------------------------------------------------------ + integer :: localrc ! local return code + + ! Initialize return code; assume failure until success is certain + if (present(rc)) rc = ESMF_RC_NOT_IMPL + + select case (itemtype%ot) + case (ESMF_STATEITEM_FIELD%ot) + string = "Field" + case (ESMF_STATEITEM_FIELDBUNDLE%ot) + string = "FieldBundle" + case (ESMF_STATEITEM_ARRAY%ot) + string = "Array" + case (ESMF_STATEITEM_ARRAYBUNDLE%ot) + string = "ArrayBundle" + case (ESMF_STATEITEM_ROUTEHANDLE%ot) + string = "RouteHandle" + case (ESMF_STATEITEM_STATE%ot) + string = "State" + case (ESMF_STATEITEM_UNKNOWN%ot) + string = "Unknown" + case (ESMF_STATEITEM_NOTFOUND%ot) + string = "NotFound" + case default + string = "" + call ESMF_LogSetError(rcToCheck=ESMF_RC_INTNRL_BAD, & + msg="- unsupported StateItemType", & + ESMF_CONTEXT, rcToReturn=rc) + return ! bail out + end select + + ! Return successfully + if (present(rc)) rc = ESMF_SUCCESS + + end function ESMF_StateItemString +!------------------------------------------------------------------------------ + ! -------------------------- ESMF-internal method ----------------------------- #undef ESMF_METHOD @@ -541,7 +607,7 @@ subroutine ESMF_StateItemPrint (stateItem, header, prefixstr, & case (ESMF_STATEITEM_ARRAYBUNDLE%ot) outbuf = trim (outbuf) // " ArrayBundle" case (ESMF_STATEITEM_ROUTEHANDLE%ot) - outbuf = trim (outbuf) // " Route handle" + outbuf = trim (outbuf) // " RouteHandle" case (ESMF_STATEITEM_STATE%ot) outbuf = trim (outbuf) // " State" #if 0 diff --git a/src/Superstructure/State/src/ESMF_StateRemRep.cppF90 b/src/Superstructure/State/src/ESMF_StateRemRep.cppF90 index 7261eed311..b44507953b 100644 --- a/src/Superstructure/State/src/ESMF_StateRemRep.cppF90 +++ b/src/Superstructure/State/src/ESMF_StateRemRep.cppF90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/src/ESMF_StateSet.F90 b/src/Superstructure/State/src/ESMF_StateSet.F90 index b78a8ce5d7..0fe83a0431 100644 --- a/src/Superstructure/State/src/ESMF_StateSet.F90 +++ b/src/Superstructure/State/src/ESMF_StateSet.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/src/ESMF_StateTypes.F90 b/src/Superstructure/State/src/ESMF_StateTypes.F90 index b893905b60..151dac5940 100644 --- a/src/Superstructure/State/src/ESMF_StateTypes.F90 +++ b/src/Superstructure/State/src/ESMF_StateTypes.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -80,7 +80,7 @@ module ESMF_StateTypesMod #endif ESMF_STATEITEM_NOTFOUND public ESMF_StateItemWrap - public ESMF_StateItemConstruct + public ESMF_StateItemConstruct, ESMF_StateItemString public ESMF_StateIntent_Flag, ESMF_STATEINTENT_IMPORT, ESMF_STATEINTENT_EXPORT, & ESMF_STATEINTENT_INTERNAL, & ESMF_STATEINTENT_UNSPECIFIED diff --git a/src/Superstructure/State/src/ESMF_StateVa.F90 b/src/Superstructure/State/src/ESMF_StateVa.F90 index a78ba69f0e..c934ed1864 100644 --- a/src/Superstructure/State/src/ESMF_StateVa.F90 +++ b/src/Superstructure/State/src/ESMF_StateVa.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/src/ESMF_StateWr.F90 b/src/Superstructure/State/src/ESMF_StateWr.F90 index e32ce66aad..75c1d3a9b9 100644 --- a/src/Superstructure/State/src/ESMF_StateWr.F90 +++ b/src/Superstructure/State/src/ESMF_StateWr.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/tests/ESMC_StateUTest.c b/src/Superstructure/State/tests/ESMC_StateUTest.c index a2db41d2c9..b8f07bf2da 100644 --- a/src/Superstructure/State/tests/ESMC_StateUTest.c +++ b/src/Superstructure/State/tests/ESMC_StateUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/tests/ESMF_StateCreateUTest.F90 b/src/Superstructure/State/tests/ESMF_StateCreateUTest.F90 index f7df319b7b..8ded04edd9 100644 --- a/src/Superstructure/State/tests/ESMF_StateCreateUTest.F90 +++ b/src/Superstructure/State/tests/ESMF_StateCreateUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -180,6 +180,16 @@ program ESMF_StateCreateUTest write(name, *) "Printing an empty State Test" call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) + + !------------------------------------------------------------------------ + !NEX_UTest + ! Test logging an Empty State + call ESMF_StateLog(state1, prefix="Log-Empty-State: ", rc=rc) + write(failMsg, *) "" + write(name, *) "Logging an empty State Test" + call ESMF_Test((rc.eq.ESMF_SUCCESS), & + name, failMsg, result, ESMF_SRCLINE) + !------------------------------------------------------------------------ !NEX_UTest ! Test getting name from an Empty State @@ -371,6 +381,14 @@ program ESMF_StateCreateUTest call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) !------------------------------------------------------------------------ + !EX_UTest + ! Test logging a State with 1 FieldBundle + call ESMF_StateLog(state2, prefix="Log-1FB-State: ", rc=rc) + write(failMsg, *) "" + write(name, *) "Logging a State with 1 FieldBundle Test" + call ESMF_Test((rc.eq.ESMF_SUCCESS), & + name, failMsg, result, ESMF_SRCLINE) + !------------------------------------------------------------------------ !EX_UTest ! Create a second bundle to use in the subsequent tests bname="Temperature" @@ -396,6 +414,14 @@ program ESMF_StateCreateUTest call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) !------------------------------------------------------------------------ + !EX_UTest + ! Test logging a State with 2 FieldBundles + call ESMF_StateLog(state2, prefix="Log-2FB-State: ", rc=rc) + write(failMsg, *) "" + write(name, *) "Logging a State with 2 FieldBundles Test" + call ESMF_Test((rc.eq.ESMF_SUCCESS), & + name, failMsg, result, ESMF_SRCLINE) + !------------------------------------------------------------------------ !EX_UTest ! Test getting a FieldBundle by name call ESMF_StateGet(state2, "Surface pressure", qbundle, rc=rc) @@ -591,6 +617,14 @@ program ESMF_StateCreateUTest call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) !------------------------------------------------------------------------ + !EX_UTest + ! Test logging a State with nested State + call ESMF_StateLog(state5, prefix="Log-flat-nestedState-State: ", rc=rc) + write(failMsg, *) "" + write(name, *) "Logging a State with with nested State - flat - Test" + call ESMF_Test((rc.eq.ESMF_SUCCESS), & + name, failMsg, result, ESMF_SRCLINE) + !------------------------------------------------------------------------ !EX_UTest ! Test getting a nested State object call ESMF_StateGet(state=state5, & @@ -643,6 +677,15 @@ program ESMF_StateCreateUTest call ESMF_Test((rc.eq.ESMF_SUCCESS), & name, failMsg, result, ESMF_SRCLINE) !------------------------------------------------------------------------ + !EX_UTest + ! Test logging a State with nested State + call ESMF_StateLog(state5, prefix="Log-nested-nestedState-State: ", & + nestedFlag=.true., rc=rc) + write(failMsg, *) "" + write(name, *) "Logging a State with with nested State - nested - Test" + call ESMF_Test((rc.eq.ESMF_SUCCESS), & + name, failMsg, result, ESMF_SRCLINE) + !------------------------------------------------------------------------ !EX_UTest ! Test getting a nested State object Info item count - including nested ! objects @@ -836,56 +879,3 @@ end program ESMF_StateCreateUTest !------------------------------------------------------------------------- !------------------------------------------------------------------------- - - -#if 0 -! older tests which have not yet been convereted to the normal template form. - sname = "Sea Ice Export" - state4 = ESMF_StateCreate(sname, ESMF_STATEINTENT_EXPORT, rc=rc) - - sname = "Surface pressure" - call ESMF_StateAdd(state4, sname, rc=rc) - - call ESMF_StateSetNeeded(state4, sname, ESMF_NEEDED, rc=rc) - - sname = "Energy Flux" - call ESMF_StateAdd(state4, sname, rc=rc) - - call ESMF_StateSetNeeded(state4, sname, ESMF_NEEDED, rc=rc) - - sname = "Humidity" - call ESMF_StateAdd(state4, sname, rc=rc) - - call ESMF_StateSetNeeded(state4, sname, ESMF_NEEDED, rc=rc) - - call ESMF_StatePrint(state4, rc=rc) - - bname = "Collected quantities" - bundle2 = ESMF_FieldBundleCreate(name=bname, rc=rc) - - fname = "Surface pressure" - field1 = ESMF_FieldCreateNoData(fname, rc=rc) - - call ESMF_FieldBundleAdd(bundle2, (/field1/), rc=rc) - - fname = "Energy Flux" - field2 = ESMF_FieldCreateNoData(fname, rc=rc) - - call ESMF_FieldBundleAdd(bundle2, (/field2/), rc=rc) - - call ESMF_FieldBundlePrint(bundle2, "", rc=rc) - - - call ESMF_StateAdd(state4, bundle2, rc=rc) - - call ESMF_StatePrint(state4, rc=rc) - - call ESMF_StateDestroy(state4, rc=rc) - - call ESMF_FieldBundleDestroy(bundle2, rc=rc) - - call ESMF_FieldDestroy(field1, rc=rc) - - call ESMF_FieldDestroy(field2, rc=rc) -#endif - diff --git a/src/Superstructure/State/tests/ESMF_StateReadWriteUTest.F90 b/src/Superstructure/State/tests/ESMF_StateReadWriteUTest.F90 index 1ea20af797..10f48fc376 100644 --- a/src/Superstructure/State/tests/ESMF_StateReadWriteUTest.F90 +++ b/src/Superstructure/State/tests/ESMF_StateReadWriteUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/State/tests/ESMF_StateUTest.F90 b/src/Superstructure/State/tests/ESMF_StateUTest.F90 index 50cc31da1c..845663d128 100644 --- a/src/Superstructure/State/tests/ESMF_StateUTest.F90 +++ b/src/Superstructure/State/tests/ESMF_StateUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/StateReconcile/examples/ESMF_StateReconcileEx.F90 b/src/Superstructure/StateReconcile/examples/ESMF_StateReconcileEx.F90 index 9e2394638a..0e30c9fad1 100644 --- a/src/Superstructure/StateReconcile/examples/ESMF_StateReconcileEx.F90 +++ b/src/Superstructure/StateReconcile/examples/ESMF_StateReconcileEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/StateReconcile/src/ESMF_StateReconcile.F90 b/src/Superstructure/StateReconcile/src/ESMF_StateReconcile.F90 index 4f85a469fe..bf0d1e7091 100644 --- a/src/Superstructure/StateReconcile/src/ESMF_StateReconcile.F90 +++ b/src/Superstructure/StateReconcile/src/ESMF_StateReconcile.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/StateReconcile/tests/ESMF_StateReconcileProxyUTest.F90 b/src/Superstructure/StateReconcile/tests/ESMF_StateReconcileProxyUTest.F90 index 3e12f25678..eee7c5c869 100644 --- a/src/Superstructure/StateReconcile/tests/ESMF_StateReconcileProxyUTest.F90 +++ b/src/Superstructure/StateReconcile/tests/ESMF_StateReconcileProxyUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/StateReconcile/tests/ESMF_StateReconcileUTest.F90 b/src/Superstructure/StateReconcile/tests/ESMF_StateReconcileUTest.F90 index d9973f5e7f..a55b9c90bd 100644 --- a/src/Superstructure/StateReconcile/tests/ESMF_StateReconcileUTest.F90 +++ b/src/Superstructure/StateReconcile/tests/ESMF_StateReconcileUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/TraceAPI/interface/ESMF_TraceAPI.F90 b/src/Superstructure/TraceAPI/interface/ESMF_TraceAPI.F90 index f5d85a37ad..f217b69f27 100644 --- a/src/Superstructure/TraceAPI/interface/ESMF_TraceAPI.F90 +++ b/src/Superstructure/TraceAPI/interface/ESMF_TraceAPI.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/doc/WebServices_desc.tex b/src/Superstructure/WebServices/doc/WebServices_desc.tex index bac9e7fd07..80cebf0967 100644 --- a/src/Superstructure/WebServices/doc/WebServices_desc.tex +++ b/src/Superstructure/WebServices/doc/WebServices_desc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/doc/WebServices_refdoc.ctex b/src/Superstructure/WebServices/doc/WebServices_refdoc.ctex index 678917c810..c60188b47e 100644 --- a/src/Superstructure/WebServices/doc/WebServices_refdoc.ctex +++ b/src/Superstructure/WebServices/doc/WebServices_refdoc.ctex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/doc/WebServices_rest.tex b/src/Superstructure/WebServices/doc/WebServices_rest.tex index d923789c8b..5ea0b13a69 100644 --- a/src/Superstructure/WebServices/doc/WebServices_rest.tex +++ b/src/Superstructure/WebServices/doc/WebServices_rest.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/doc/WebServices_usage.tex b/src/Superstructure/WebServices/doc/WebServices_usage.tex index 5255d9342e..a12e39a7bd 100644 --- a/src/Superstructure/WebServices/doc/WebServices_usage.tex +++ b/src/Superstructure/WebServices/doc/WebServices_usage.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/examples/ESMF_WebServicesEx.F90 b/src/Superstructure/WebServices/examples/ESMF_WebServicesEx.F90 index 9128772ef1..6eda0a3db5 100644 --- a/src/Superstructure/WebServices/examples/ESMF_WebServicesEx.F90 +++ b/src/Superstructure/WebServices/examples/ESMF_WebServicesEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServ.h b/src/Superstructure/WebServices/include/ESMCI_WebServ.h index 0385a6936d..a1675b8ebb 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServ.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServ.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServClientInfo.h b/src/Superstructure/WebServices/include/ESMCI_WebServClientInfo.h index 6e13d124c8..246f7c31fc 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServClientInfo.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServClientInfo.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServClientSocket.h b/src/Superstructure/WebServices/include/ESMCI_WebServClientSocket.h index e1c9f3b390..e2fc161368 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServClientSocket.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServClientSocket.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrClient.h b/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrClient.h index 9c034d12d8..46d1a0f97e 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrClient.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrClient.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrInfo.h b/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrInfo.h index 8ca3ea4e1c..c7a9184910 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrInfo.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrInfo.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrMgr.h b/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrMgr.h index 212b588a2a..8c19109f11 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrMgr.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServCompSvrMgr.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServComponentSvr.h b/src/Superstructure/WebServices/include/ESMCI_WebServComponentSvr.h index 1aede5e049..de96935888 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServComponentSvr.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServComponentSvr.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServDataContent.h b/src/Superstructure/WebServices/include/ESMCI_WebServDataContent.h index 09fb15deb3..a9ce94a28d 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServDataContent.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServDataContent.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServDataDesc.h b/src/Superstructure/WebServices/include/ESMCI_WebServDataDesc.h index 85e33d889a..d49ef6d982 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServDataDesc.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServDataDesc.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServDataMgr.h b/src/Superstructure/WebServices/include/ESMCI_WebServDataMgr.h index d662c3990e..6b180c271e 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServDataMgr.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServDataMgr.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServForkClient.h b/src/Superstructure/WebServices/include/ESMCI_WebServForkClient.h index 6570cb8742..4dbb03a7cb 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServForkClient.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServForkClient.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServGRAMClient.h b/src/Superstructure/WebServices/include/ESMCI_WebServGRAMClient.h index 6e68d6bf01..a3ffc4e7c3 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServGRAMClient.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServGRAMClient.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServLowLevelSocket.h b/src/Superstructure/WebServices/include/ESMCI_WebServLowLevelSocket.h index f98157aa34..da30cb1347 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServLowLevelSocket.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServLowLevelSocket.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmf.h b/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmf.h index 75fa899594..ca7a4f68d0 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmf.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmf.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmfClient.h b/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmfClient.h index 229e554428..1c2421e8eb 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmfClient.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmfClient.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmfServer.h b/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmfServer.h index 1a79c5a0b4..b3683ce03d 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmfServer.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServNetEsmfServer.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServProcCtrl.h b/src/Superstructure/WebServices/include/ESMCI_WebServProcCtrl.h index 9c93a6b8d8..1f3598beb7 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServProcCtrl.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServProcCtrl.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServProcCtrlClient.h b/src/Superstructure/WebServices/include/ESMCI_WebServProcCtrlClient.h index 71966e39e3..37b902ed4d 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServProcCtrlClient.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServProcCtrlClient.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServRegistrarClient.h b/src/Superstructure/WebServices/include/ESMCI_WebServRegistrarClient.h index 8308154c02..0097ac6f6d 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServRegistrarClient.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServRegistrarClient.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServSecureClientSocket.h b/src/Superstructure/WebServices/include/ESMCI_WebServSecureClientSocket.h index 7c668a73be..0c65e81a74 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServSecureClientSocket.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServSecureClientSocket.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServSecureServerSocket.h b/src/Superstructure/WebServices/include/ESMCI_WebServSecureServerSocket.h index bc2d77f81e..df9ab5c5e1 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServSecureServerSocket.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServSecureServerSocket.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServSecureSocket.h b/src/Superstructure/WebServices/include/ESMCI_WebServSecureSocket.h index b9425a9c27..bf2f8ea435 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServSecureSocket.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServSecureSocket.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServSecureUtils.h b/src/Superstructure/WebServices/include/ESMCI_WebServSecureUtils.h index 7cf1771139..bd271d25d8 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServSecureUtils.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServSecureUtils.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServServerSocket.h b/src/Superstructure/WebServices/include/ESMCI_WebServServerSocket.h index 6029079dcb..1c4b54872b 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServServerSocket.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServServerSocket.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/include/ESMCI_WebServSocketUtils.h b/src/Superstructure/WebServices/include/ESMCI_WebServSocketUtils.h index af50245ceb..d007e16da9 100644 --- a/src/Superstructure/WebServices/include/ESMCI_WebServSocketUtils.h +++ b/src/Superstructure/WebServices/include/ESMCI_WebServSocketUtils.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServClientInfo.C b/src/Superstructure/WebServices/src/ESMCI_WebServClientInfo.C index 99e4c2b248..0b11f57ed4 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServClientInfo.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServClientInfo.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServClientSocket.C b/src/Superstructure/WebServices/src/ESMCI_WebServClientSocket.C index 46021d1009..d78daf001e 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServClientSocket.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServClientSocket.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrClient.C b/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrClient.C index d0949c48c8..9c94cd4001 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrClient.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrClient.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrInfo.C b/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrInfo.C index abcac07452..6ec7f1de36 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrInfo.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrInfo.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrMgr.C b/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrMgr.C index af8f5b04a9..29e0b6ae13 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrMgr.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServCompSvrMgr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServComponentSvr.C b/src/Superstructure/WebServices/src/ESMCI_WebServComponentSvr.C index bc44c6a886..c5cd0119d6 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServComponentSvr.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServComponentSvr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServDataContent.C b/src/Superstructure/WebServices/src/ESMCI_WebServDataContent.C index 864ab13175..b31119a04a 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServDataContent.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServDataContent.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServDataDesc.C b/src/Superstructure/WebServices/src/ESMCI_WebServDataDesc.C index 2bb674f365..e899027b66 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServDataDesc.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServDataDesc.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServDataMgr.C b/src/Superstructure/WebServices/src/ESMCI_WebServDataMgr.C index 92b8b6aca1..448f1f0fd6 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServDataMgr.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServDataMgr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServForkClient.C b/src/Superstructure/WebServices/src/ESMCI_WebServForkClient.C index 17159fc217..e487901a8a 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServForkClient.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServForkClient.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServGRAMClient.C b/src/Superstructure/WebServices/src/ESMCI_WebServGRAMClient.C index eaff00ed8a..fc8d44841a 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServGRAMClient.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServGRAMClient.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServLowLevelSocket.C b/src/Superstructure/WebServices/src/ESMCI_WebServLowLevelSocket.C index 770305b967..b66a8702f1 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServLowLevelSocket.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServLowLevelSocket.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServNetEsmfClient.C b/src/Superstructure/WebServices/src/ESMCI_WebServNetEsmfClient.C index 49b405959a..e288fd129e 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServNetEsmfClient.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServNetEsmfClient.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServNetEsmfServer.C b/src/Superstructure/WebServices/src/ESMCI_WebServNetEsmfServer.C index f9e8a71b24..f4becff074 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServNetEsmfServer.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServNetEsmfServer.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServProcCtrl.C b/src/Superstructure/WebServices/src/ESMCI_WebServProcCtrl.C index e700d52088..8eda8e69ca 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServProcCtrl.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServProcCtrl.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServProcCtrlClient.C b/src/Superstructure/WebServices/src/ESMCI_WebServProcCtrlClient.C index 222a7bd475..9c381015a2 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServProcCtrlClient.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServProcCtrlClient.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServRegistrarClient.C b/src/Superstructure/WebServices/src/ESMCI_WebServRegistrarClient.C index 1d38478368..8b943ee4a7 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServRegistrarClient.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServRegistrarClient.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServSecureClientSocket.C b/src/Superstructure/WebServices/src/ESMCI_WebServSecureClientSocket.C index c05dfc1ff6..5719405167 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServSecureClientSocket.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServSecureClientSocket.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServSecureServerSocket.C b/src/Superstructure/WebServices/src/ESMCI_WebServSecureServerSocket.C index cdb79f8941..b1bd561a5a 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServSecureServerSocket.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServSecureServerSocket.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServSecureSocket.C b/src/Superstructure/WebServices/src/ESMCI_WebServSecureSocket.C index c044e792b1..874db7b2d3 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServSecureSocket.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServSecureSocket.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServSecureUtils.C b/src/Superstructure/WebServices/src/ESMCI_WebServSecureUtils.C index a60806540b..8487090ccb 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServSecureUtils.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServSecureUtils.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServServerSocket.C b/src/Superstructure/WebServices/src/ESMCI_WebServServerSocket.C index 41573ce9de..463eeb795b 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServServerSocket.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServServerSocket.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServSocketUtils.C b/src/Superstructure/WebServices/src/ESMCI_WebServSocketUtils.C index 04f8b19864..59caf4cc35 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServSocketUtils.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServSocketUtils.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMCI_WebServ_F.C b/src/Superstructure/WebServices/src/ESMCI_WebServ_F.C index 7ba3401dd6..1f0227ec4a 100644 --- a/src/Superstructure/WebServices/src/ESMCI_WebServ_F.C +++ b/src/Superstructure/WebServices/src/ESMCI_WebServ_F.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMF_WebServ.F90 b/src/Superstructure/WebServices/src/ESMF_WebServ.F90 index 50b3084672..8b1dd3fd8e 100644 --- a/src/Superstructure/WebServices/src/ESMF_WebServ.F90 +++ b/src/Superstructure/WebServices/src/ESMF_WebServ.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/Superstructure/WebServices/src/ESMF_WebServComponent_C.F90 b/src/Superstructure/WebServices/src/ESMF_WebServComponent_C.F90 index 362d136edf..b19a37b0fc 100644 --- a/src/Superstructure/WebServices/src/ESMF_WebServComponent_C.F90 +++ b/src/Superstructure/WebServices/src/ESMF_WebServComponent_C.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/ESMX/Comps/ESMX_Data/cmake/FindESMF.cmake b/src/addon/ESMX/Comps/ESMX_Data/cmake/FindESMF.cmake index 23efbb31d0..4eb0f6a54e 100644 --- a/src/addon/ESMX/Comps/ESMX_Data/cmake/FindESMF.cmake +++ b/src/addon/ESMX/Comps/ESMX_Data/cmake/FindESMF.cmake @@ -96,19 +96,24 @@ if(EXISTS ${ESMFMKFILE}) message(WARNING "Static ESMF library (libesmf.a) not found in \ ${ESMF_LIBSDIR}. Try setting USE_ESMF_STATIC_LIBS=OFF") endif() - if(NOT TARGET ESMF) - add_library(ESMF STATIC IMPORTED) + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF STATIC IMPORTED) endif() else() find_library(ESMF_LIBRARY_LOCATION NAMES esmf PATHS ${ESMF_LIBSDIR} NO_DEFAULT_PATH) if(ESMF_LIBRARY_LOCATION MATCHES "ESMF_LIBRARY_LOCATION-NOTFOUND") message(WARNING "ESMF library not found in ${ESMF_LIBSDIR}.") endif() - if(NOT TARGET ESMF) - add_library(ESMF UNKNOWN IMPORTED) + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF UNKNOWN IMPORTED) endif() endif() + # Add ESMF as an alias to ESMF::ESMF for backward compatibility + if(NOT TARGET ESMF) + add_library(ESMF ALIAS ESMF::ESMF) + endif() + # Add ESMF include directories set(ESMF_INCLUDE_DIRECTORIES "") separate_arguments(_ESMF_F90COMPILEPATHS UNIX_COMMAND ${ESMF_F90COMPILEPATHS}) @@ -130,7 +135,7 @@ if(EXISTS ${ESMFMKFILE}) ESMF_F90COMPILEPATHS VERSION_VAR ESMF_VERSION) - set_target_properties(ESMF PROPERTIES + set_target_properties(ESMF::ESMF PROPERTIES IMPORTED_LOCATION "${ESMF_LIBRARY_LOCATION}" INTERFACE_INCLUDE_DIRECTORIES "${ESMF_INCLUDE_DIRECTORIES}" INTERFACE_LINK_LIBRARIES "${ESMF_INTERFACE_LINK_LIBRARIES}") diff --git a/src/addon/ESMX/Driver/CMakeLists.txt b/src/addon/ESMX/Driver/CMakeLists.txt index 6da0a279be..034e300385 100644 --- a/src/addon/ESMX/Driver/CMakeLists.txt +++ b/src/addon/ESMX/Driver/CMakeLists.txt @@ -165,6 +165,7 @@ set(CMP_OPTIONS BUILD_TYPE; LIBRARIES; LINK_LIBRARIES; LINK_PATHS; + LINK_INTO_APP; BUILD_ARGS; BUILD_SCRIPT; TEST_DIR; @@ -391,64 +392,68 @@ foreach(CMP IN ITEMS ${COMPS}) endif() # include modules and link libraries - find_file(FND_CMAKE_CONFIG - NAMES ${CMP_CMAKE_CONFIG} - HINTS ${CMP_INSTALL_PREFIX} ${CMAKE_BINARY_DIR}/${CMP} - PATH_SUFFIXES ${CMP_CONFIG_DIR} "." "cmake" "config" - NO_CACHE NO_DEFAULT_PATH - ) - if(FND_CMAKE_CONFIG) - include(${FND_CMAKE_CONFIG}) - endif() - find_path(FND_FORT_MODULE - NAMES ${CMP_FORT_MODULE} - HINTS ${CMP_INSTALL_PREFIX} ${CMAKE_BINARY_DIR}/${CMP} - PATH_SUFFIXES ${CMP_INCLUDE_DIR} "." "include" "mod" - NO_CACHE NO_DEFAULT_PATH - ) - if(FND_FORT_MODULE) - target_include_directories(esmx_driver PUBLIC ${FND_FORT_MODULE}) - elseif(NOT FND_CMAKE_CONFIG) - message(FATAL_ERROR "Cannot find fort_module ${CMP_FORT_MODULE} in ${CMP_INSTALL_PREFIX}") - endif() - unset(FND_FORT_MODULE) - unset(FND_CMAKE_CONFIG) - foreach(CMP_LIBRARY IN ITEMS ${CMP_LIBRARIES}) - if(TARGET ${CMP_LIBRARY}) - target_link_libraries(esmx_driver PUBLIC ${CMP_LIBRARY}) - else() - find_library(FND_LIBRARY - NAMES ${CMP_LIBRARY} - HINTS ${CMP_INSTALL_PREFIX} ${CMAKE_BINARY_DIR}/${CMP} - PATH_SUFFIXES ${CMP_LIBRARY_DIR} "." "lib" "lib64" - NO_CACHE NO_DEFAULT_PATH - ) - if(NOT FND_LIBRARY) - message(FATAL_ERROR "Cannot find libraries ${CMP_LIBRARY} in ${CMP_INSTALL_PREFIX}") - endif() - target_link_libraries(esmx_driver PUBLIC ${FND_LIBRARY}) - unset(FND_LIBRARY) + if(${CMP_LINK_INTO_APP} STREQUAL "True") + find_file(FND_CMAKE_CONFIG + NAMES ${CMP_CMAKE_CONFIG} + HINTS ${CMP_INSTALL_PREFIX} ${CMAKE_BINARY_DIR}/${CMP} + PATH_SUFFIXES ${CMP_CONFIG_DIR} "." "cmake" "config" + NO_CACHE NO_DEFAULT_PATH + ) + if(FND_CMAKE_CONFIG) + include(${FND_CMAKE_CONFIG}) endif() - endforeach() + find_path(FND_FORT_MODULE + NAMES ${CMP_FORT_MODULE} + HINTS ${CMP_INSTALL_PREFIX} ${CMAKE_BINARY_DIR}/${CMP} + PATH_SUFFIXES ${CMP_INCLUDE_DIR} "." "include" "mod" + NO_CACHE NO_DEFAULT_PATH + ) + if(FND_FORT_MODULE) + target_include_directories(esmx_driver PUBLIC ${FND_FORT_MODULE}) + elseif(NOT FND_CMAKE_CONFIG) + message(FATAL_ERROR "Cannot find fort_module ${CMP_FORT_MODULE} in ${CMP_INSTALL_PREFIX}") + endif() + unset(FND_FORT_MODULE) + unset(FND_CMAKE_CONFIG) + foreach(CMP_LIBRARY IN ITEMS ${CMP_LIBRARIES}) + if(TARGET ${CMP_LIBRARY}) + target_link_libraries(esmx_driver PUBLIC ${CMP_LIBRARY}) + else() + find_library(FND_LIBRARY + NAMES ${CMP_LIBRARY} + HINTS ${CMP_INSTALL_PREFIX} ${CMAKE_BINARY_DIR}/${CMP} + PATH_SUFFIXES ${CMP_LIBRARY_DIR} "." "lib" "lib64" + NO_CACHE NO_DEFAULT_PATH + ) + if(NOT FND_LIBRARY) + message(FATAL_ERROR "Cannot find libraries ${CMP_LIBRARY} in ${CMP_INSTALL_PREFIX}") + endif() + target_link_libraries(esmx_driver PUBLIC ${FND_LIBRARY}) + unset(FND_LIBRARY) + endif() + endforeach() + endif() # link external libraries - foreach(CMP_LINK_LIBRARY IN ITEMS ${CMP_LINK_LIBRARIES}) - if(TARGET ${CMP_LINK_LIBRARY}) - target_link_libraries(esmx_driver PUBLIC ${CMP_LINK_LIBRARY}) - else() - find_library(FND_LINK_LIBRARY - NAMES ${CMP_LINK_LIBRARY} - HINTS ${CMP_LINK_PATHS} - PATH_SUFFIXES "." "lib" "lib64" - NO_CACHE - ) - if(NOT FND_LINK_LIBRARY) - message(FATAL_ERROR "Cannot find link_libraries ${CMP_LINK_LIBRARY} in ${CMP_LINK_PATHS}") + if(${CMP_LINK_INTO_APP} STREQUAL "True") + foreach(CMP_LINK_LIBRARY IN ITEMS ${CMP_LINK_LIBRARIES}) + if(TARGET ${CMP_LINK_LIBRARY}) + target_link_libraries(esmx_driver PUBLIC ${CMP_LINK_LIBRARY}) + else() + find_library(FND_LINK_LIBRARY + NAMES ${CMP_LINK_LIBRARY} + HINTS ${CMP_LINK_PATHS} + PATH_SUFFIXES "." "lib" "lib64" + NO_CACHE + ) + if(NOT FND_LINK_LIBRARY) + message(FATAL_ERROR "Cannot find link_libraries ${CMP_LINK_LIBRARY} in ${CMP_LINK_PATHS}") + endif() + target_link_libraries(esmx_driver PUBLIC ${FND_LINK_LIBRARY}) + unset(FND_LINK_LIBRARY) endif() - target_link_libraries(esmx_driver PUBLIC ${FND_LINK_LIBRARY}) - unset(FND_LINK_LIBRARY) - endif() - endforeach() + endforeach() + endif() # add component test if(ESMX_TEST) diff --git a/src/addon/ESMX/Driver/ESMX_Driver.F90 b/src/addon/ESMX/Driver/ESMX_Driver.F90 index 11bef8695c..3461f7c1e2 100644 --- a/src/addon/ESMX/Driver/ESMX_Driver.F90 +++ b/src/addon/ESMX/Driver/ESMX_Driver.F90 @@ -2,7 +2,7 @@ ! ESMX_Driver (Earth System Model eXecutable Driver) ! This file contains the ESMX top level driver. !============================================================================== -#define FILENAME "src/addon/ESMX/ESMX_Driver.F90" +#define FILENAME "src/addon/ESMX/Driver/ESMX_Driver.F90" !============================================================================== module ESMX_Driver diff --git a/src/addon/ESMX/Driver/cmake/FindESMF.cmake b/src/addon/ESMX/Driver/cmake/FindESMF.cmake index 23efbb31d0..4eb0f6a54e 100644 --- a/src/addon/ESMX/Driver/cmake/FindESMF.cmake +++ b/src/addon/ESMX/Driver/cmake/FindESMF.cmake @@ -96,19 +96,24 @@ if(EXISTS ${ESMFMKFILE}) message(WARNING "Static ESMF library (libesmf.a) not found in \ ${ESMF_LIBSDIR}. Try setting USE_ESMF_STATIC_LIBS=OFF") endif() - if(NOT TARGET ESMF) - add_library(ESMF STATIC IMPORTED) + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF STATIC IMPORTED) endif() else() find_library(ESMF_LIBRARY_LOCATION NAMES esmf PATHS ${ESMF_LIBSDIR} NO_DEFAULT_PATH) if(ESMF_LIBRARY_LOCATION MATCHES "ESMF_LIBRARY_LOCATION-NOTFOUND") message(WARNING "ESMF library not found in ${ESMF_LIBSDIR}.") endif() - if(NOT TARGET ESMF) - add_library(ESMF UNKNOWN IMPORTED) + if(NOT TARGET ESMF::ESMF) + add_library(ESMF::ESMF UNKNOWN IMPORTED) endif() endif() + # Add ESMF as an alias to ESMF::ESMF for backward compatibility + if(NOT TARGET ESMF) + add_library(ESMF ALIAS ESMF::ESMF) + endif() + # Add ESMF include directories set(ESMF_INCLUDE_DIRECTORIES "") separate_arguments(_ESMF_F90COMPILEPATHS UNIX_COMMAND ${ESMF_F90COMPILEPATHS}) @@ -130,7 +135,7 @@ if(EXISTS ${ESMFMKFILE}) ESMF_F90COMPILEPATHS VERSION_VAR ESMF_VERSION) - set_target_properties(ESMF PROPERTIES + set_target_properties(ESMF::ESMF PROPERTIES IMPORTED_LOCATION "${ESMF_LIBRARY_LOCATION}" INTERFACE_INCLUDE_DIRECTORIES "${ESMF_INCLUDE_DIRECTORIES}" INTERFACE_LINK_LIBRARIES "${ESMF_INTERFACE_LINK_LIBRARIES}") diff --git a/src/addon/ESMX/Driver/esmx_comp_config.py b/src/addon/ESMX/Driver/esmx_comp_config.py index dd1e2ff9c4..2f22313f61 100755 --- a/src/addon/ESMX/Driver/esmx_comp_config.py +++ b/src/addon/ESMX/Driver/esmx_comp_config.py @@ -24,6 +24,7 @@ def create_compList(cmpCfg: ESMXCmpCfg, odir): ESMXOpt('build_args', '', str), ESMXOpt('link_libraries', '', str), ESMXOpt('link_paths', '', dir), + ESMXOpt('link_into_app', 'True', str), ESMXOpt('git_repository', '', str), ESMXOpt('git_tag', '', str), ESMXOpt('git_dir', '', dir), @@ -44,6 +45,9 @@ def create_compList(cmpCfg: ESMXCmpCfg, odir): dirs[i] = os.path.abspath(dirs[i]) val = ';'.join(dirs) f.write('set({}-{} {})\n'.format(cmp, opt.upper(), val)) + if opt.option == "link_into_app": + if not val: + cmpCfg.remove_ci(cmp) def create_compUse(comps: ESMXCmpCfg, odir): # open file @@ -107,7 +111,7 @@ def main(argv): for dis in disable_comps: comps.remove_ci(dis) - # create compList.txt for CMake + # create compList.txt for CMake, and remove unlinked components from list create_compList(comps, odir) # create compUse.inc diff --git a/src/addon/ESMX/ESMX_App.F90 b/src/addon/ESMX/ESMX_App.F90 index 29f24058bb..52d3514a6b 100644 --- a/src/addon/ESMX/ESMX_App.F90 +++ b/src/addon/ESMX/ESMX_App.F90 @@ -2,7 +2,7 @@ ! ESMX (Earth System Model eXecutable) ! This file contains the main ESMX Application program. !============================================================================== -#define FILENAME "src/addon/ESMX/ESMF_App.F90" +#define FILENAME "src/addon/ESMX/ESMX_App.F90" !============================================================================== !============================================================================== diff --git a/src/addon/ESMX/README.md b/src/addon/ESMX/README.md index 2cae54482b..43ae3dd640 100644 --- a/src/addon/ESMX/README.md +++ b/src/addon/ESMX/README.md @@ -9,6 +9,7 @@ The ESMX layer is built on top of the ESMF and NUOPC APIs. The idea behind ESMX is to make it as simple as possible for a user to build, run, and test NUOPC based systems. The approach implemented is the same whether applied to a single component, or a fully coupled system of NUOPC-compliant components. ESMX user interfaces are implemented through [YAML](https://yaml.org/) based configuration files. Major objectives of ESMX are: + - **Simplification** of standing up new NUOPC-based systems. - **Promotion** of hierarchical model component testing. - **Reduction** of maintenance cost for established NUOPC-based systems. @@ -160,6 +161,7 @@ This section contains a key for for each *component-name*, specifying component | `library_dir` | subdirectory for library file | `lib` | | `include_dir` | subdirectory for fortran module file | `include` | | `link_paths` | search path for external libraries | *None* | +| `link_into_app` | whether to link component into the app | `True` | | `link_libraries` | external libraries, linked to esmx | *None* | | `git_repository` | URL for downloading git repository | *None* | | `git_tag` | tag for downloading git repository | *None* | @@ -299,8 +301,9 @@ This section affects the specific component instance. ### Dynamically loading components from shared objects at run-time There are two options recognized when specifying the value of the `model` field for a component in the `esmxRun.yaml` file: -- First, if the value specified is recognized as a *component-name* provided by any of the components built into `esmx` during build-time, as specified by `esmxBuild.yaml`, the respective component is accessed via its Fortran module. -- Second, if the value does not match a build-time dependency, it is assumed to correspond to a shared object instead. In that case the attempt is made to load the specified shared object at run-time, and to associate with the generic component label. + +- First, if the value specified is recognized as a *component-name* provided by any of the components built into the `esmx_app` during build-time, as specified by `esmxBuild.yaml`, the respective component is accessed via its Fortran module. +- Second, if the value does *not* match a build-time dependency, it is assumed to correspond to a shared object file instead. In that case the attempt is made to load the specified shared object file at run-time, and, if successful, is associated with the generic component label. The search order details of the OS dependent dynamic linker apply when looking for the specified shared object file on the system. A convenient way to target a shared object file at a specific location is to use absolute or relative paths, i.e. the value specified in the `model` field contains at least one slash ("/") character. The asterisk character ("*") is supported as a wildcard for the file name suffix of the specified shared object. This allows portability across systems that differ in shared object suffix. The implemented search order is "so", followed by "dylib", and finally "dll", where the first successfully loaded shared object file is used. ## The Unfied ESMX_Driver @@ -383,6 +386,7 @@ ESMX includes a data component, which can be used for testing NUOPC caps. This c ## ESMX Software Dependencies The ESMX layer has the following dependencies: + - **ESMF Library**: The ESMX layer is part of the ESMF repository. In order to use ESMX as described above, the ESMF library first needs to be built following the instructions for [Building ESMF](https://github.com/esmf-org/esmf#building-esmf). - **CMake**: v3.22 or greater. - **Python**: v3.5 or greater. diff --git a/src/addon/NUOPC/doc/NUOPC_ConnectorComponent_metadata.tex b/src/addon/NUOPC/doc/NUOPC_ConnectorComponent_metadata.tex index 7c771d4392..0257cb681c 100644 --- a/src/addon/NUOPC/doc/NUOPC_ConnectorComponent_metadata.tex +++ b/src/addon/NUOPC/doc/NUOPC_ConnectorComponent_metadata.tex @@ -13,6 +13,8 @@ {\bf bit 1}: Intro/Extro with memory info.\newline {\bf bit 2}: Intro/Extro with garbage collection info.\newline {\bf bit 3}: Intro/Extro with local VM info.\newline + {\bf bit 4}: Intro/Extro with ImportState info.\newline + {\bf bit 5}: Intro/Extro with ExportState info.\newline {\bf bit 8}: Log FieldTransferPolicy.\newline {\bf bit 9}: Log bond level info.\newline {\bf bit 10}: Log CplList construction.\newline @@ -23,9 +25,9 @@ {\bf bit 15}: Log info about RouteHandle release. & 0, 1, 2, ... \newline "off" = 0 (default), \newline - "low": Some verbosity. \newline - "high": More verbosity. \newline - "max": All lower 16 bits set.\\ \hline + "low": some verbosity, bits: 0, 13\newline + "high": more verbosity, bits: 0, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15\newline + "max": all lower 16 bits\\ \hline {\tt Profiling} & String value, converted into an integer, and interpreted as a bit field. The lower 16 bits (0-15) are reserved to control profiling of the generic component implementation. Higher bits are available for user level profiling control. \newline {\bf bit 0}: Top level profiling of {\em Initialize} phases.\newline {\bf bit 1}: Specialization point profiling of {\em Initialize} phases.\newline diff --git a/src/addon/NUOPC/doc/NUOPC_DriverComponent_metadata.tex b/src/addon/NUOPC/doc/NUOPC_DriverComponent_metadata.tex index 622fbade89..dd1d4f8209 100644 --- a/src/addon/NUOPC/doc/NUOPC_DriverComponent_metadata.tex +++ b/src/addon/NUOPC/doc/NUOPC_DriverComponent_metadata.tex @@ -17,7 +17,9 @@ {\bf bit 1}: Intro/Extro with memory info.\newline {\bf bit 2}: Intro/Extro with garbage collection info.\newline {\bf bit 3}: Intro/Extro with local VM info.\newline - {\bf bit 4}: Log hierarchy protocol details.\newline + {\bf bit 4}: Intro/Extro with ImportState info.\newline + {\bf bit 5}: Intro/Extro with ExportState info.\newline + {\bf bit 6}: Log hierarchy protocol details.\newline {\bf bit 8}: Log Initialize phase with $>>>$, $<<<$, and currTime.\newline {\bf bit 9}: Log Run phase with $>>>$, $<<<$, and currTime.\newline {\bf bit 10}: Log Finalize phase with $>>>$, $<<<$, and currTime.\newline @@ -28,7 +30,7 @@ & 0, 1, 2, ... \newline "off" = 0 (default), \newline "low": some verbosity, bits: 0, 8, 9, 10, 13\newline - "high": more verbosity, bits: 0, 4, 8, 9, 10, 11, 12, 13, 14\newline + "high": more verbosity, bits: 0, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14\newline "max": all lower 16 bits\\ \hline {\tt Profiling} & String value, converted into an integer, and interpreted as a bit field. The lower 16 bits (0-15) are reserved to control profiling of the generic component implementation. Higher bits are available for user level profiling control. \newline {\bf bit 0}: Top level profiling of {\em Initialize} phases.\newline diff --git a/src/addon/NUOPC/doc/NUOPC_MediatorComponent_metadata.tex b/src/addon/NUOPC/doc/NUOPC_MediatorComponent_metadata.tex index a1beebd414..b8fbc024b6 100644 --- a/src/addon/NUOPC/doc/NUOPC_MediatorComponent_metadata.tex +++ b/src/addon/NUOPC/doc/NUOPC_MediatorComponent_metadata.tex @@ -17,17 +17,17 @@ {\bf bit 1}: Intro/Extro with memory info.\newline {\bf bit 2}: Intro/Extro with garbage collection info.\newline {\bf bit 3}: Intro/Extro with local VM info.\newline + {\bf bit 4}: Intro/Extro with ImportState info.\newline + {\bf bit 5}: Intro/Extro with ExportState info.\newline {\bf bit 8}: Log Initialize phase with $>>>$, $<<<$, and currTime.\newline {\bf bit 9}: Log Run phase with $>>>$, $<<<$, and currTime.\newline {\bf bit 10}: Log Finalize phase with $>>>$, $<<<$, and currTime.\newline {\bf bit 11}: Log info about data dependency during initialize resolution.\newline - {\bf bit 12}: Log run sequence execution.\newline - {\bf bit 13}: Log Component creation.\newline - {\bf bit 14}: Log State creation. + {\bf bit 12}: Log run sequence execution. & 0, 1, 2, ... \newline "off" = 0 (default), \newline - "low": some verbosity, \newline - "high": more verbosity, \newline + "low": some verbosity, bits: 0, 8, 9, 10, 13\newline + "high": more verbosity, bits: 0, 4, 5, 8, 9, 10, 11, 12, 13, 14\newline "max": all lower 16 bits\\ \hline {\tt Profiling} & String value, converted into an integer, and interpreted as a bit field. The lower 16 bits (0-15) are reserved to control profiling of the generic component implementation. Higher bits are available for user level profiling control. \newline {\bf bit 0}: Top level profiling of {\em Initialize} phases.\newline diff --git a/src/addon/NUOPC/doc/NUOPC_ModelComponent_metadata.tex b/src/addon/NUOPC/doc/NUOPC_ModelComponent_metadata.tex index f5a087065d..50fd3d9629 100644 --- a/src/addon/NUOPC/doc/NUOPC_ModelComponent_metadata.tex +++ b/src/addon/NUOPC/doc/NUOPC_ModelComponent_metadata.tex @@ -17,17 +17,17 @@ {\bf bit 1}: Intro/Extro with memory info.\newline {\bf bit 2}: Intro/Extro with garbage collection info.\newline {\bf bit 3}: Intro/Extro with local VM info.\newline + {\bf bit 4}: Intro/Extro with ImportState info.\newline + {\bf bit 5}: Intro/Extro with ExportState info.\newline {\bf bit 8}: Log Initialize phase with $>>>$, $<<<$, and currTime.\newline {\bf bit 9}: Log Run phase with $>>>$, $<<<$, and currTime.\newline {\bf bit 10}: Log Finalize phase with $>>>$, $<<<$, and currTime.\newline {\bf bit 11}: Log info about data dependency during initialize resolution.\newline - {\bf bit 12}: Log run sequence execution.\newline - {\bf bit 13}: Log Component creation.\newline - {\bf bit 14}: Log State creation. + {\bf bit 12}: Log run sequence execution. & 0, 1, 2, ... \newline "off" = 0 (default), \newline - "low": some verbosity, \newline - "high": more verbosity, \newline + "low": some verbosity, bits: 0, 8, 9, 10, 13\newline + "high": more verbosity, bits: 0, 4, 5, 8, 9, 10, 11, 12, 13, 14\newline "max": all lower 16 bits\\ \hline {\tt Profiling} & String value, converted into an integer, and interpreted as a bit field. The lower 16 bits (0-15) are reserved to control profiling of the generic component implementation. Higher bits are available for user level profiling control. \newline {\bf bit 0}: Top level profiling of {\em Initialize} phases.\newline diff --git a/src/addon/NUOPC/doc/NUOPC_title.tex b/src/addon/NUOPC/doc/NUOPC_title.tex index 00fb8441f7..0719188fb0 100644 --- a/src/addon/NUOPC/doc/NUOPC_title.tex +++ b/src/addon/NUOPC/doc/NUOPC_title.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/examples/ESMF_NUOPCAtmModelEx.F90 b/src/addon/NUOPC/examples/ESMF_NUOPCAtmModelEx.F90 index 1bf01a6de0..7497fc7f75 100644 --- a/src/addon/NUOPC/examples/ESMF_NUOPCAtmModelEx.F90 +++ b/src/addon/NUOPC/examples/ESMF_NUOPCAtmModelEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/examples/ESMF_NUOPCBasicModelEx.F90 b/src/addon/NUOPC/examples/ESMF_NUOPCBasicModelEx.F90 index 30516406a4..26c50678fb 100644 --- a/src/addon/NUOPC/examples/ESMF_NUOPCBasicModelEx.F90 +++ b/src/addon/NUOPC/examples/ESMF_NUOPCBasicModelEx.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/include/NUOPC.h b/src/addon/NUOPC/include/NUOPC.h new file mode 100644 index 0000000000..67f8cbecad --- /dev/null +++ b/src/addon/NUOPC/include/NUOPC.h @@ -0,0 +1,87 @@ +// $Id$ +// +// Earth System Modeling Framework +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, +// Massachusetts Institute of Technology, Geophysical Fluid Dynamics +// Laboratory, University of Michigan, National Centers for Environmental +// Prediction, Los Alamos National Laboratory, Argonne National Laboratory, +// NASA Goddard Space Flight Center. +// Licensed under the University of Illinois-NCSA License. +//----------------------------------------------------------------------------- + +#include "ESMC.h" + +//----------------------------------------------------------------------------- +// This file is part of the pure C public NUOPC API +//----------------------------------------------------------------------------- + +#ifndef NUOPC_H +#define NUOPC_H + +#ifdef __cplusplus +extern "C" { +#endif + +// TODO: access these string constants via ISO_C interop. from Fortran definition +const char *label_InternalState = "ModelBase_InternalState"; +const char *label_Advance = "ModelBase_Advance"; +const char *label_AdvanceClock = "ModelBase_AdvanceClock"; +const char *label_CheckImport = "ModelBase_CheckImport"; +const char *label_SetRunClock = "ModelBase_SetRunClock"; +const char *label_TimestampExport = "ModelBase_TimestampExport"; +const char *label_Finalize = "ModelBase_Finalize"; +const char *label_Advertise = "ModelBase_Advertise"; +const char *label_ModifyAdvertised = "ModelBase_ModifyAdvertised"; +const char *label_RealizeProvided = "ModelBase_RealizeProvided"; +const char *label_AcceptTransfer = "ModelBase_AcceptTransfer"; +const char *label_RealizeAccepted = "ModelBase_RealizeAccepted"; +const char *label_SetClock = "ModelBase_SetClock"; +const char *label_DataInitialize = "ModelBase_DataInitialize"; + +int NUOPC_CompDerive( + ESMC_GridComp comp, // in + void (*userRoutine)(ESMC_GridComp, int *) // in +); + +int NUOPC_CompSpecialize( + ESMC_GridComp comp, // in + const char *specLabel, // in + void (*specRoutine)(ESMC_GridComp, int *) // in +); + +void NUOPC_ModelSetServices( + ESMC_GridComp comp, // in + int *rc // out +); + +void NUOPC_ModelSetVM( + ESMC_GridComp comp, // in + int *rc // out +); + +ESMC_State NUOPC_ModelGetExportState( + ESMC_GridComp comp, // in + int *rc // out +); + +ESMC_State NUOPC_ModelGetImportState( + ESMC_GridComp comp, // in + int *rc // out +); + +int NUOPC_Advertise( + ESMC_State state, // in + const char *standardName, // in + const char *fieldName // in +); + +int NUOPC_Realize( + ESMC_State state, // in + ESMC_Field field // in +); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // NUOPC_H diff --git a/src/addon/NUOPC/interface/NUOPC_C.F90 b/src/addon/NUOPC/interface/NUOPC_C.F90 new file mode 100644 index 0000000000..905a52a119 --- /dev/null +++ b/src/addon/NUOPC/interface/NUOPC_C.F90 @@ -0,0 +1,216 @@ +! $Id$ +! +! Earth System Modeling Framework +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, +! Massachusetts Institute of Technology, Geophysical Fluid Dynamics +! Laboratory, University of Michigan, National Centers for Environmental +! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, +! NASA Goddard Space Flight Center. +! Licensed under the University of Illinois-NCSA License. +! +!============================================================================== +#define FILENAME "src/addon/NUOPC/interface/NUOPC_C.F90" +!============================================================================== +!------------------------------------------------------------------------------ +! INCLUDES +#include "ESMF.h" + +!------------------------------------------------------------------------------ +subroutine f_nuopc_compspecialize(gcomp, specLabel, specRoutine, rc) +#undef ESMF_METHOD +#define ESMF_METHOD "f_nuopc_compspecialize" + use ESMF + use NUOPC + implicit none + + type(ESMF_GridComp) :: gcomp !in + character(len=*), intent(in) :: specLabel + interface + subroutine specRoutine(gridcomp, rc) + use ESMF + implicit none + type(ESMF_GridComp) :: gridcomp ! must not be optional + integer, intent(out) :: rc ! must not be optional + end subroutine + end interface + integer, intent(out) :: rc !out + + integer :: localrc + + ! Initialize return code; assume routine not implemented + rc = ESMF_RC_NOT_IMPL + + call NUOPC_CompSpecialize(gcomp, specLabel, specRoutine=specRoutine, & + rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return successfully + rc = ESMF_SUCCESS +end subroutine f_nuopc_compspecialize +!------------------------------------------------------------------------------ + + +!------------------------------------------------------------------------------ +subroutine f_nuopc_modelsetservices(gcomp, rc) +#undef ESMF_METHOD +#define ESMF_METHOD "f_nuopc_modelsetservices" + use ESMF + use NUOPC + use NUOPC_Model, only: SetServices + implicit none + + type(ESMF_GridComp) :: gcomp !in + integer, intent(out) :: rc !out + + integer :: localrc + + ! Initialize return code; assume routine not implemented + rc = ESMF_RC_NOT_IMPL + + call SetServices(gcomp, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return successfully + rc = ESMF_SUCCESS +end subroutine f_nuopc_modelsetservices +!------------------------------------------------------------------------------ + + +!------------------------------------------------------------------------------ +subroutine f_nuopc_modelsetvm(gcomp, rc) +#undef ESMF_METHOD +#define ESMF_METHOD "f_nuopc_modelsetvm" + use ESMF + use NUOPC + use NUOPC_Model, only: SetVM + implicit none + + type(ESMF_GridComp) :: gcomp !in + integer, intent(out) :: rc !out + + integer :: localrc + + ! Initialize return code; assume routine not implemented + rc = ESMF_RC_NOT_IMPL + + call SetVM(gcomp, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return successfully + rc = ESMF_SUCCESS +end subroutine f_nuopc_modelsetvm +!------------------------------------------------------------------------------ + + +!------------------------------------------------------------------------------ +subroutine f_nuopc_modelgetexportstate(gcomp, state, rc) +#undef ESMF_METHOD +#define ESMF_METHOD "f_nuopc_modelgetexportstate" + use ESMF + use NUOPC + use NUOPC_Model, only: NUOPC_ModelGet + implicit none + + type(ESMF_GridComp) :: gcomp !in + type(ESMF_State) :: state !out + integer, intent(out) :: rc !out + + integer :: localrc + + ! Initialize return code; assume routine not implemented + rc = ESMF_RC_NOT_IMPL + + call NUOPC_ModelGet(gcomp, exportState=state, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return successfully + rc = ESMF_SUCCESS +end subroutine f_nuopc_modelgetexportstate +!------------------------------------------------------------------------------ + + +!------------------------------------------------------------------------------ +subroutine f_nuopc_modelgetimportstate(gcomp, state, rc) +#undef ESMF_METHOD +#define ESMF_METHOD "f_nuopc_modelgetimportstate" + use ESMF + use NUOPC + use NUOPC_Model, only: NUOPC_ModelGet + implicit none + + type(ESMF_GridComp) :: gcomp !in + type(ESMF_State) :: state !out + integer, intent(out) :: rc !out + + integer :: localrc + + ! Initialize return code; assume routine not implemented + rc = ESMF_RC_NOT_IMPL + + call NUOPC_ModelGet(gcomp, importState=state, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return successfully + rc = ESMF_SUCCESS +end subroutine f_nuopc_modelgetimportstate +!------------------------------------------------------------------------------ + + +!------------------------------------------------------------------------------ +subroutine f_nuopc_advertise(state, standardName, fieldName, rc) +#undef ESMF_METHOD +#define ESMF_METHOD "f_nuopc_advertise" + use ESMF + use NUOPC + implicit none + + type(ESMF_State) :: state !in + character(len=*), intent(in) :: standardName !in + character(len=*), intent(in) :: fieldName !in + integer, intent(out) :: rc !out + + integer :: localrc + + ! Initialize return code; assume routine not implemented + rc = ESMF_RC_NOT_IMPL + + call NUOPC_Advertise(state, standardName, name=fieldName, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return successfully + rc = ESMF_SUCCESS +end subroutine f_nuopc_advertise +!------------------------------------------------------------------------------ + + +!------------------------------------------------------------------------------ +subroutine f_nuopc_realize(state, field, rc) +#undef ESMF_METHOD +#define ESMF_METHOD "f_nuopc_realize" + use ESMF + use NUOPC + implicit none + + type(ESMF_State) :: state !in + type(ESMF_Field) :: field !in + integer, intent(out) :: rc !out + + integer :: localrc + + ! Initialize return code; assume routine not implemented + rc = ESMF_RC_NOT_IMPL + + call NUOPC_Realize(state, field, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) return + + ! Return successfully + rc = ESMF_SUCCESS +end subroutine f_nuopc_realize +!------------------------------------------------------------------------------ diff --git a/src/addon/NUOPC/interface/NUOPC_F.C b/src/addon/NUOPC/interface/NUOPC_F.C new file mode 100644 index 0000000000..254b7121b0 --- /dev/null +++ b/src/addon/NUOPC/interface/NUOPC_F.C @@ -0,0 +1,196 @@ +// $Id$ +// +// Earth System Modeling Framework +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, +// Massachusetts Institute of Technology, Geophysical Fluid Dynamics +// Laboratory, University of Michigan, National Centers for Environmental +// Prediction, Los Alamos National Laboratory, Argonne National Laboratory, +// NASA Goddard Space Flight Center. +// Licensed under the University of Illinois-NCSA License. +//----------------------------------------------------------------------------- +#define ESMC_FILENAME "NUOPC_F.C" +//============================================================================== +// +// ESMC Array method implementation (body) file +// +//----------------------------------------------------------------------------- +// include associated header file +#include "NUOPC.h" + +// include ESMF headers +#include "ESMCI_Base.h" +#include "ESMCI_Arg.h" +#include "ESMCI_LogErr.h" +#include "ESMCI_Comp.h" +#include "ESMCI_State.h" + +// include std headers +#include + +extern "C" { + +//----------------------------------------------------------------------------- +#undef ESMC_METHOD +#define ESMC_METHOD "NUOPC_CompDerive()" +int NUOPC_CompDerive( + ESMC_GridComp comp, // in + void (*userRoutine)(ESMC_GridComp, int *) // in +){ + // initialize return code; assume routine not implemented + int localrc = ESMC_RC_NOT_IMPL; // local return code + int rc = ESMC_RC_NOT_IMPL; // final return code + + (*userRoutine)(comp, &localrc); + if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, + &rc)) return rc; // bail out + + // return successfully + rc = ESMF_SUCCESS; + return rc; +} +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +void FTN_X(f_nuopc_compspecialize)(const ESMCI::Comp *, const char *, + void (*specRoutine)(ESMC_GridComp, int *), int *rc, ESMCI_FortranStrLenArg); +#undef ESMC_METHOD +#define ESMC_METHOD "NUOPC_CompSpecialize()" +int NUOPC_CompSpecialize( + ESMC_GridComp comp, // in + const char *specLabel, // in + void (*specRoutine)(ESMC_GridComp, int *) // in +){ + // initialize return code; assume routine not implemented + int localrc = ESMC_RC_NOT_IMPL; // local return code + int rc = ESMC_RC_NOT_IMPL; // final return code + + FTN_X(f_nuopc_compspecialize)((const ESMCI::Comp *)comp.ptr, specLabel, + specRoutine, &localrc, (ESMCI_FortranStrLenArg)strlen(specLabel)); + if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, + &rc)) return rc; // bail out + + // return successfully + rc = ESMF_SUCCESS; + return rc; +} +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +void FTN_X(f_nuopc_modelsetservices)(const ESMCI::Comp *, int* rc); +#undef ESMC_METHOD +#define ESMC_METHOD "NUOPC_ModelSetServices()" +void NUOPC_ModelSetServices(ESMC_GridComp comp, int *rc){ + // initialize return code; assume routine not implemented + int localrc = ESMC_RC_NOT_IMPL; // local return code + FTN_X(f_nuopc_modelsetservices)((const ESMCI::Comp *)comp.ptr, &localrc); + if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, + rc)) return; // bail out + + // return successfully + if (rc!=NULL) *rc = ESMF_SUCCESS; +} +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +void FTN_X(f_nuopc_modelsetvm)(const ESMCI::Comp *, int* rc); +#undef ESMC_METHOD +#define ESMC_METHOD "NUOPC_ModelSetVM()" +void NUOPC_ModelSetVM(ESMC_GridComp comp, int *rc){ + // initialize return code; assume routine not implemented + int localrc = ESMC_RC_NOT_IMPL; // local return code + FTN_X(f_nuopc_modelsetvm)((const ESMCI::Comp *)comp.ptr, &localrc); + if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, + rc)) return; // bail out + + // return successfully + if (rc!=NULL) *rc = ESMF_SUCCESS; +} +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +void FTN_X(f_nuopc_modelgetexportstate)(const ESMCI::Comp *, ESMCI::State*, + int* rc); +#undef ESMC_METHOD +#define ESMC_METHOD "NUOPC_ModelGetExportState()" +ESMC_State NUOPC_ModelGetExportState(ESMC_GridComp comp, int *rc){ + // initialize return code; assume routine not implemented + int localrc = ESMC_RC_NOT_IMPL; // local return code + ESMC_State state; + state.ptr = new ESMCI::State; //TODO: this leaves a memory leak! + FTN_X(f_nuopc_modelgetexportstate)((const ESMCI::Comp *)comp.ptr, + (ESMCI::State *)state.ptr, &localrc); + if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, + rc)) return state; // bail out + // return successfully + if (rc!=NULL) *rc = ESMF_SUCCESS; + return state; +} +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +void FTN_X(f_nuopc_modelgetimportstate)(const ESMCI::Comp *, ESMCI::State*, + int* rc); +#undef ESMC_METHOD +#define ESMC_METHOD "NUOPC_ModelGetImportState()" +ESMC_State NUOPC_ModelGetImportState(ESMC_GridComp comp, int *rc){ + // initialize return code; assume routine not implemented + int localrc = ESMC_RC_NOT_IMPL; // local return code + ESMC_State state; + state.ptr = new ESMCI::State; //TODO: this leaves a memory leak! + FTN_X(f_nuopc_modelgetimportstate)((const ESMCI::Comp *)comp.ptr, + (ESMCI::State *)state.ptr, &localrc); + if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, + rc)) return state; // bail out + // return successfully + if (rc!=NULL) *rc = ESMF_SUCCESS; + return state; +} +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +void FTN_X(f_nuopc_advertise)(const ESMCI::State*, const char *, const char *, + int* rc, ESMCI_FortranStrLenArg, ESMCI_FortranStrLenArg); +#undef ESMC_METHOD +#define ESMC_METHOD "NUOPC_Advertise()" +int NUOPC_Advertise(ESMC_State state, const char *standardName, + const char *fieldName){ + // initialize return code; assume routine not implemented + int localrc = ESMC_RC_NOT_IMPL; // local return code + int rc = ESMC_RC_NOT_IMPL; // final return code + FTN_X(f_nuopc_advertise)((const ESMCI::State *)state.ptr, standardName, + fieldName, &localrc, (ESMCI_FortranStrLenArg)strlen(standardName), + (ESMCI_FortranStrLenArg)strlen(fieldName)); + if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, + &rc)) return rc; // bail out + // return successfully + rc = ESMF_SUCCESS; + return rc; +} +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +void FTN_X(f_nuopc_realize)(const ESMCI::State*, const ESMCI::Field*, int* rc); +#undef ESMC_METHOD +#define ESMC_METHOD "NUOPC_Realize()" +int NUOPC_Realize(ESMC_State state, ESMC_Field field){ + // initialize return code; assume routine not implemented + int localrc = ESMC_RC_NOT_IMPL; // local return code + int rc = ESMC_RC_NOT_IMPL; // final return code + FTN_X(f_nuopc_realize)((const ESMCI::State *)state.ptr, + (const ESMCI::Field *)field.ptr, &localrc); + if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, + &rc)) return rc; // bail out + // return successfully + rc = ESMF_SUCCESS; + return rc; +} +//----------------------------------------------------------------------------- + +}; // extern "C" diff --git a/src/addon/NUOPC/interface/makefile b/src/addon/NUOPC/interface/makefile new file mode 100644 index 0000000000..753351743e --- /dev/null +++ b/src/addon/NUOPC/interface/makefile @@ -0,0 +1,26 @@ +# $Id$ + +ALL: build_here + +SOURCEC = NUOPC_F.C +SOURCEF = NUOPC_C.F90 +SOURCEH = + +# List all .h files which should be copied to common include dir +STOREH = NUOPC.h + +OBJSC = $(addsuffix .o, $(basename $(SOURCEC))) +OBJSF = $(addsuffix .o, $(basename $(SOURCEF))) +TEXFILES = $(addsuffix _fapi.tex, $(basename $(AUTOGEN))) + +LIBBASE = libesmf +LOCDIR = src/addon/NUOPC/interface + +CLEANDIRS = +CLEANFILES = $(addprefix ../doc/, $(TEXFILES) ) +CLOBBERDIRS = + +include $(ESMF_DIR)/makefile + +DIRS = + diff --git a/src/addon/NUOPC/makefile b/src/addon/NUOPC/makefile index 47979d74b5..b686c57fdb 100644 --- a/src/addon/NUOPC/makefile +++ b/src/addon/NUOPC/makefile @@ -13,7 +13,7 @@ include ${ESMF_DIR}/makefile # directly below this directory, and have either library, # example/test code, or documents which need to be generated. -DIRS = src tests doc examples +DIRS = src interface tests doc examples CLEANDIRS = CLEANFILES = diff --git a/src/addon/NUOPC/src/NUOPC.F90 b/src/addon/NUOPC/src/NUOPC.F90 index 3dab2a6ccb..bc853abf7b 100644 --- a/src/addon/NUOPC/src/NUOPC.F90 +++ b/src/addon/NUOPC/src/NUOPC.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_Auxiliary.F90 b/src/addon/NUOPC/src/NUOPC_Auxiliary.F90 index 4e8a051123..dfea20fceb 100644 --- a/src/addon/NUOPC/src/NUOPC_Auxiliary.F90 +++ b/src/addon/NUOPC/src/NUOPC_Auxiliary.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_Base.F90 b/src/addon/NUOPC/src/NUOPC_Base.F90 index ee4f27e8db..0104fc749c 100644 --- a/src/addon/NUOPC/src/NUOPC_Base.F90 +++ b/src/addon/NUOPC/src/NUOPC_Base.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -3172,11 +3172,12 @@ function NUOPC_IsUpdatedState(state, fieldName, count, rc) !BOPI ! !IROUTINE: NUOPC_LogIntro - Log entering a method ! !INTERFACE: - subroutine NUOPC_LogIntro(name, rName, verbosity, rc) + subroutine NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc) ! !ARGUMENTS: character(len=*), intent(in) :: name character(len=*), intent(in) :: rName integer, intent(in) :: verbosity + type(ESMF_State), intent(in) :: importState, exportState integer, intent(out) :: rc ! !DESCRIPTION: ! Write information into Log on entering a method, according to the verbosity @@ -3190,6 +3191,10 @@ subroutine NUOPC_LogIntro(name, rName, verbosity, rc) ! Routine name. ! \item[verbosity] ! Bit field corresponding to verbosity aspects. +! \item[importState] +! The importState of the component using this method. +! \item[exportState] +! The exportState of the component using this method. ! \item[rc] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} @@ -3251,6 +3256,18 @@ subroutine NUOPC_LogIntro(name, rName, verbosity, rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out endif + if (btest(verbosity,4)) then + call ESMF_StateLog(importState, trim(name)//": "//rName//" intro:", & + nestedFlag=.true., deepFlag=.true., rc=rc) + if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & + line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out + endif + if (btest(verbosity,5)) then + call ESMF_StateLog(exportState, trim(name)//": "//rName//" intro:", & + nestedFlag=.true., deepFlag=.true., rc=rc) + if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & + line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out + endif ! return successfully rc = ESMF_SUCCESS end subroutine @@ -3260,12 +3277,13 @@ subroutine NUOPC_LogIntro(name, rName, verbosity, rc) !BOPI ! !IROUTINE: NUOPC_LogExtro - Log exiting a method ! !INTERFACE: - subroutine NUOPC_LogExtro(name, rName, verbosity, rc) + subroutine NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc) ! !ARGUMENTS: - character(len=*), intent(in) :: name - character(len=*), intent(in) :: rName - integer, intent(in) :: verbosity - integer, intent(out) :: rc + character(len=*), intent(in) :: name + character(len=*), intent(in) :: rName + integer, intent(in) :: verbosity + type(ESMF_State), optional, intent(in) :: importState, exportState + integer, intent(out) :: rc ! !DESCRIPTION: ! Write information into Log on exiting a method, according to the verbosity ! aspects. @@ -3278,6 +3296,10 @@ subroutine NUOPC_LogExtro(name, rName, verbosity, rc) ! Routine name. ! \item[verbosity] ! Bit field corresponding to verbosity aspects. +! \item[{[importState]}] +! The importState of the component using this method. +! \item[{[exportState]}] +! The exportState of the component using this method. ! \item[rc] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} @@ -3286,6 +3308,22 @@ subroutine NUOPC_LogExtro(name, rName, verbosity, rc) !----------------------------------------------------------------------------- ! local variables integer :: indentCount + if (btest(verbosity,4)) then + if (present(importState)) then + call ESMF_StateLog(importState, trim(name)//": "//rName//" extro:", & + nestedFlag=.true., deepFlag=.true., rc=rc) + if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & + line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out + endif + endif + if (btest(verbosity,5)) then + if (present(exportState)) then + call ESMF_StateLog(exportState, trim(name)//": "//rName//" extro:", & + nestedFlag=.true., deepFlag=.true., rc=rc) + if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & + line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out + endif + endif if (btest(verbosity,2)) then call ESMF_VMLogGarbageInfo(trim(name)//": "//rName//" extro:", rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & diff --git a/src/addon/NUOPC/src/NUOPC_Comp.F90 b/src/addon/NUOPC/src/NUOPC_Comp.F90 index 38cd0568d6..67d2d8a9d1 100644 --- a/src/addon/NUOPC/src/NUOPC_Comp.F90 +++ b/src/addon/NUOPC/src/NUOPC_Comp.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -2994,16 +2994,16 @@ subroutine NUOPC_GridCompGet(comp, name, verbosity, profiling, diagnostic, rc) ! set component kind specific verbosity levels if (trim(valueString)=="Driver") then max = 65535 ! all 16 lower bits set - high = 32529 ! bits 0, 4, 8, 9, 10, 11, 12, 13, 14 - low = 9985 ! bits 0, 8, 9, 10, 13 + high = 32625 ! bits 0, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14 + low = 9985 ! bits 0, 8, 9, 10, 13 else if (trim(valueString)=="Model") then max = 65535 ! all 16 lower bits set - high = 32513 ! bits 0, 8, 9, 10, 11, 12, 13, 14 - low = 9985 ! bits 0, 8, 9, 10, 13 + high = 32561 ! bits 0, 4, 5, 8, 9, 10, 11, 12, 13, 14 + low = 9985 ! bits 0, 8, 9, 10, 13 else if (trim(valueString)=="Mediator") then max = 65535 ! all 16 lower bits set - high = 32513 ! bits 0, 8, 9, 10, 11, 12, 13, 14 - low = 9985 ! bits 0, 8, 9, 10, 13 + high = 32561 ! bits 0, 4, 5, 8, 9, 10, 11, 12, 13, 14 + low = 9985 ! bits 0, 8, 9, 10, 13 endif ! query the component for Verbosity call NUOPC_CompAttributeGet(comp, name="Verbosity", value=valueString, & @@ -3012,8 +3012,8 @@ subroutine NUOPC_GridCompGet(comp, name, verbosity, profiling, diagnostic, rc) line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & return ! bail out verbosity = ESMF_UtilString2Int(valueString, & - specialStringList=(/"max ", "high", "low ", "off "/), & - specialValueList=(/max, high, low, 0/), & + specialStringList=(/"max ", "high", "low ", "off ", "F "/), & + specialValueList=(/max, high, low, 0, 0/), & rc=localrc) if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & @@ -3030,8 +3030,8 @@ subroutine NUOPC_GridCompGet(comp, name, verbosity, profiling, diagnostic, rc) line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & return ! bail out profiling = ESMF_UtilString2Int(valueString, & - specialStringList=(/"max ", "high", "low ", "off "/), & - specialValueList=(/65535, 511, 73, 0/), & + specialStringList=(/"max ", "high", "low ", "off ", "F "/), & + specialValueList=(/65535, 511, 73, 0, 0/), & rc=localrc) if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & @@ -3048,8 +3048,8 @@ subroutine NUOPC_GridCompGet(comp, name, verbosity, profiling, diagnostic, rc) line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & return ! bail out diagnostic = ESMF_UtilString2Int(valueString, & - specialStringList=(/"max ", "high", "low ", "off "/), & - specialValueList=(/65535, 65535, 65535, 0/), & + specialStringList=(/"max ", "high", "low ", "off ", "F "/), & + specialValueList=(/65535, 65535, 65535, 0, 0/), & rc=localrc) if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & @@ -3098,7 +3098,7 @@ subroutine NUOPC_CplCompGet(comp, name, verbosity, profiling, diagnostic, rc) verbosity = 0 ! set specific verbosity levels max = 65535 ! all 16 lower bits set - high = 65281 ! bits 0, 8, 9, 10, 11, 12, 13, 14, 15 + high = 65329 ! bits 0, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15 low = 8193 ! bits 0, 13 ! query the component for Verbosity call NUOPC_CompAttributeGet(comp, name="Verbosity", value=valueString, & @@ -3107,8 +3107,8 @@ subroutine NUOPC_CplCompGet(comp, name, verbosity, profiling, diagnostic, rc) line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & return ! bail out verbosity = ESMF_UtilString2Int(valueString, & - specialStringList=(/"max ", "high", "low ", "off "/), & - specialValueList=(/max, high, low, 0/), & + specialStringList=(/"max ", "high", "low ", "off ", "F "/), & + specialValueList=(/max, high, low, 0, 0/), & rc=localrc) if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & @@ -3129,8 +3129,8 @@ subroutine NUOPC_CplCompGet(comp, name, verbosity, profiling, diagnostic, rc) line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & return ! bail out profiling = ESMF_UtilString2Int(valueString, & - specialStringList=(/"max ", "high", "low ", "off "/), & - specialValueList=(/65535, 511, 73, 0/), & + specialStringList=(/"max ", "high", "low ", "off ", "F "/), & + specialValueList=(/65535, 511, 73, 0, 0/), & rc=localrc) if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & @@ -3147,8 +3147,8 @@ subroutine NUOPC_CplCompGet(comp, name, verbosity, profiling, diagnostic, rc) line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & return ! bail out diagnostic = ESMF_UtilString2Int(valueString, & - specialStringList=(/"max ", "high", "low ", "off "/), & - specialValueList=(/65535, 65535, 65535, 0/), & + specialStringList=(/"max ", "high", "low ", "off ", "F "/), & + specialValueList=(/65535, 65535, 65535, 0, 0/), & rc=localrc) if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(lName)//":"//FILENAME, rcToReturn=rc)) & @@ -4112,6 +4112,11 @@ recursive subroutine NUOPC_GridCompSetServices(comp, sharedObj, userRc, rc) ! and execute the routine. An attempt is made to find a routine that ! is close in name to "{\tt SetServices}", allowing for compiler name ! mangling, i.e. upper and lower case, as well as trailing underscores. +! The asterisk character {\tt (*)} is supported as a wildcard for the +! file name suffix in {\tt sharedObj}. When present, the asterisk is replaced +! by "so", "dylib", and "dll", in this order, and the first successfully +! loaded object is used. If the {\tt sharedObj} argument is not provided, the +! executable itself is searched. !EOP !----------------------------------------------------------------------------- ! local variables @@ -4247,6 +4252,11 @@ recursive subroutine NUOPC_GridCompSetVM(comp, sharedObj, userRc, rc) ! and execute the routine. An attempt is made to find a routine that ! is close in name to "{\tt SetVM}", allowing for compiler name ! mangling, i.e. upper and lower case, as well as trailing underscores. +! The asterisk character {\tt (*)} is supported as a wildcard for the +! file name suffix in {\tt sharedObj}. When present, the asterisk is replaced +! by "so", "dylib", and "dll", in this order, and the first successfully +! loaded object is used. If the {\tt sharedObj} argument is not provided, the +! executable itself is searched. !EOP !----------------------------------------------------------------------------- ! local variables diff --git a/src/addon/NUOPC/src/NUOPC_Compliance_Base.F90 b/src/addon/NUOPC/src/NUOPC_Compliance_Base.F90 index eac7151ff9..69f10f79e6 100644 --- a/src/addon/NUOPC/src/NUOPC_Compliance_Base.F90 +++ b/src/addon/NUOPC/src/NUOPC_Compliance_Base.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_Compliance_Connector.F90 b/src/addon/NUOPC/src/NUOPC_Compliance_Connector.F90 index e32319fdf2..7410b474b1 100644 --- a/src/addon/NUOPC/src/NUOPC_Compliance_Connector.F90 +++ b/src/addon/NUOPC/src/NUOPC_Compliance_Connector.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_Compliance_Driver.F90 b/src/addon/NUOPC/src/NUOPC_Compliance_Driver.F90 index 69366797ed..d927a35260 100644 --- a/src/addon/NUOPC/src/NUOPC_Compliance_Driver.F90 +++ b/src/addon/NUOPC/src/NUOPC_Compliance_Driver.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_Compliance_Model.F90 b/src/addon/NUOPC/src/NUOPC_Compliance_Model.F90 index f4fc5cd692..48104f806c 100644 --- a/src/addon/NUOPC/src/NUOPC_Compliance_Model.F90 +++ b/src/addon/NUOPC/src/NUOPC_Compliance_Model.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_Connector.F90 b/src/addon/NUOPC/src/NUOPC_Connector.F90 index d9b681c7a9..b11e6e92d4 100644 --- a/src/addon/NUOPC/src/NUOPC_Connector.F90 +++ b/src/addon/NUOPC/src/NUOPC_Connector.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -315,7 +315,7 @@ subroutine InitializeP0(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -400,7 +400,7 @@ subroutine InitializeP0(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -472,7 +472,7 @@ subroutine InitializeIPDv05p1(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -779,7 +779,7 @@ subroutine InitializeIPDv05p1(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1093,7 +1093,7 @@ subroutine InitializeIPDv05p2a(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1318,7 +1318,7 @@ subroutine InitializeIPDv05p2a(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1396,7 +1396,7 @@ subroutine InitializeIPDv05p2b(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1692,7 +1692,7 @@ subroutine InitializeIPDv05p2b(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1753,7 +1753,7 @@ subroutine InitializeIPDv03p1(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1831,7 +1831,7 @@ subroutine InitializeIPDv03p1(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1919,7 +1919,7 @@ subroutine InitializeIPDv05p3(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2584,7 +2584,7 @@ subroutine InitializeIPDv05p3(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2699,7 +2699,7 @@ subroutine InitializeIPDv05p4(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -3701,7 +3701,7 @@ subroutine InitializeIPDv05p4(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -3809,7 +3809,7 @@ subroutine InitializeIPDv05p5(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -4548,7 +4548,7 @@ subroutine InitializeIPDv05p5(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -4896,7 +4896,7 @@ subroutine InitializeIPDv05p6a(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -4985,7 +4985,7 @@ subroutine InitializeIPDv05p6a(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -5080,7 +5080,7 @@ subroutine InitializeIPDv05p6b(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -5537,7 +5537,7 @@ subroutine InitializeIPDv05p6b(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -6092,7 +6092,7 @@ subroutine InitializeIPDv00p2a(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -6105,7 +6105,7 @@ subroutine InitializeIPDv00p2a(connector, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -6164,7 +6164,7 @@ subroutine InitializeIPDv00p2b(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -6174,7 +6174,7 @@ subroutine InitializeIPDv00p2b(connector, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -6243,7 +6243,7 @@ subroutine Run(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -6464,7 +6464,7 @@ subroutine Run(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -6545,7 +6545,7 @@ subroutine Finalize(connector, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -6780,7 +6780,7 @@ subroutine Finalize(connector, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out diff --git a/src/addon/NUOPC/src/NUOPC_Driver.F90 b/src/addon/NUOPC/src/NUOPC_Driver.F90 index dba43b3157..25a3cb6ae6 100644 --- a/src/addon/NUOPC/src/NUOPC_Driver.F90 +++ b/src/addon/NUOPC/src/NUOPC_Driver.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -380,7 +380,7 @@ recursive subroutine InitializeP0(driver, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -399,7 +399,7 @@ recursive subroutine InitializeP0(driver, importState, exportState, clock, rc) ! -> No explicit filtering of phaseLabels needed here. ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -459,7 +459,7 @@ recursive subroutine InitializeGeneric(driver, importState, exportState, clock, endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -513,7 +513,7 @@ recursive subroutine InitializeGeneric(driver, importState, exportState, clock, endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -574,7 +574,7 @@ recursive subroutine InitializeExternalAdvertise(driver, importState, & endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -601,7 +601,7 @@ recursive subroutine InitializeExternalAdvertise(driver, importState, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -688,7 +688,7 @@ recursive subroutine InitializeIPDv02p1(driver, importState, exportState, & endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1578,7 +1578,7 @@ recursive subroutine InitializeIPDv02p1(driver, importState, exportState, & endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1892,7 +1892,7 @@ recursive subroutine InitializeIPDv02p3(driver, importState, exportState, & endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2261,7 +2261,7 @@ recursive subroutine InitializeIPDv02p3(driver, importState, exportState, & endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2332,7 +2332,7 @@ recursive subroutine InitializeIPDv02p5(driver, importState, exportState, & endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2579,7 +2579,7 @@ recursive subroutine InitializeIPDv02p5(driver, importState, exportState, & endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2644,7 +2644,7 @@ recursive subroutine InitializeIPDv02p5Data(driver, importState, exportState,& endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2768,7 +2768,8 @@ recursive subroutine InitializeIPDv02p5Data(driver, importState, exportState,& line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out endif - call loopDataDependentInitialize(driver, is%wrap%dataDepAllComplete, rc=rc) + call loopDataDependentInitialize(driver, importState, exportState, & + dataDepAllComplete=is%wrap%dataDepAllComplete, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) & return ! bail out @@ -2799,7 +2800,7 @@ recursive subroutine InitializeIPDv02p5Data(driver, importState, exportState,& return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -3106,9 +3107,11 @@ recursive subroutine loopConnectorCompsS(driver, phaseString, execFlag, rc) !----------------------------------------------------------------------------- - recursive subroutine loopDataDependentInitialize(driver, dataDepAllComplete, rc) + recursive subroutine loopDataDependentInitialize(driver, & + importState, exportState, dataDepAllComplete, rc) ! resolve data dependencies type(ESMF_GridComp) :: driver + type(ESMF_State) :: importState, exportState logical, optional, intent(out) :: dataDepAllComplete integer, intent(out) :: rc @@ -3163,7 +3166,7 @@ recursive subroutine loopDataDependentInitialize(driver, dataDepAllComplete, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -3432,7 +3435,7 @@ recursive subroutine loopDataDependentInitialize(driver, dataDepAllComplete, rc) enddo ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -3500,7 +3503,7 @@ recursive subroutine routine_Run(driver, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -3649,7 +3652,7 @@ recursive subroutine routine_Run(driver, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -4036,7 +4039,7 @@ recursive subroutine Finalize(driver, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -4396,7 +4399,7 @@ recursive subroutine FinalizeReset(driver, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -4504,7 +4507,7 @@ recursive subroutine FinalizeReset(driver, importState, exportState, clock, rc) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -4645,11 +4648,12 @@ recursive subroutine SetVMRoutine(gridcomp, rc) ! or by default across all of the Driver PETs. ! ! The specified {\tt compSetServicesRoutine()} is called back immediately after -! the new child component has been created internally. Very little around the -! component is set up at that time (e.g. NUOPC component attributes will not be -! available). The routine should therefore be very light weight, with the sole -! purpose of setting the entry points of the component -- typically by deriving -! from a generic component followed by the appropriate specilizations. +! the new child component has been created internally. +! Very little around the component is set up at that time (e.g. NUOPC component +! attributes are not yet available at this stage). The routine should therefore +! be very light weight, with the sole purpose of setting the entry points of +! the component -- typically by deriving from a generic component followed by +! the appropriate specilizations. ! ! If provided, the {\tt compSetVMRoutine()} is called back before the ! {\tt compSetServicesRoutine()}. This allows the child component to set @@ -4823,13 +4827,21 @@ recursive subroutine NUOPC_DriverAddGridCompSO(driver, compLabel, & ! component to a Driver. The component is created on the provided {\tt petList}, ! or by default across all of the Driver PETs. ! -! The {\tt SetServices()} routine in the {\tt sharedObj} is called back -! immediately after the -! new child component has been created internally. Very little around the -! component is set up at that time (e.g. NUOPC component attributes will not be -! available). The routine should therefore be very light weight, with the sole -! purpose of setting the entry points of the component -- typically by deriving -! from a generic component followed by the appropriate specilizations. +! The {\tt SetVM()} and {\tt SetServices()} routines in {\tt sharedObj} +! are called back immediately after the new child component has been created +! internally. +! Very little around the component is set up at that time (e.g. NUOPC component +! attributes are not yet available at this stage). The routine should therefore +! be very light weight, with the sole purpose of setting the entry points of +! the component -- typically by deriving from a generic component followed by +! the appropriate specilizations. +! +! The asterisk character {\tt (*)} is supported as a wildcard for the +! file name suffix in {\tt sharedObj}. When present, the asterisk is replaced +! by "so", "dylib", and "dll", in this order, and the first successfully +! loaded object is used. If the {\tt sharedObj} argument is not provided, the +! executable itself is searched for the "{\tt SetVM}" and "{\tt SetServices}" +! symbols. ! ! The {\tt info} argument can be used to pass custom attributes to the child ! component. These attributes are available on the component when @@ -5036,11 +5048,12 @@ recursive subroutine SetVMRoutine(cplcomp, rc) ! and {\tt dstCompLabel}. ! ! The specified {\tt SetServices()} routine is called back immediately after the -! new child component has been created internally. Very little around the -! component is set up at that time (e.g. NUOPC component attributes will not be -! available). The routine should therefore be very light weight, with the sole -! purpose of setting the entry points of the component -- typically by deriving -! from a generic component followed by the appropriate specilizations. +! new child component has been created internally. +! Very little around the component is set up at that time (e.g. NUOPC component +! attributes are not yet available at this stage). The routine should therefore +! be very light weight, with the sole purpose of setting the entry points of +! the component -- typically by deriving from a generic component followed by +! the appropriate specilizations. ! ! The {\tt info} argument can be used to pass custom attributes to the child ! component. These attributes are available on the component when @@ -7508,7 +7521,7 @@ recursive subroutine IInitAdvertise(driver, importState, exportState, clock, & endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -7555,7 +7568,7 @@ recursive subroutine IInitAdvertise(driver, importState, exportState, clock, & endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -7617,7 +7630,7 @@ recursive subroutine IInitAdvertiseFinish(driver, importState, exportState, & endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -7675,7 +7688,7 @@ recursive subroutine IInitAdvertiseFinish(driver, importState, exportState, & endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -7785,7 +7798,7 @@ recursive subroutine IInitModifyCplLists(driver, importState, exportState, & endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -7829,7 +7842,7 @@ recursive subroutine IInitModifyCplLists(driver, importState, exportState, & line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & return ! bail out if (areServicesSet) then - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then call ESMF_CplCompGet(connector, name=connectorName, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & @@ -7857,7 +7870,7 @@ recursive subroutine IInitModifyCplLists(driver, importState, exportState, & line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & return ! bail out if (areServicesSet) then - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then call ESMF_CplCompGet(connector, name=connectorName, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & @@ -7914,7 +7927,7 @@ recursive subroutine IInitModifyCplLists(driver, importState, exportState, & endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -8031,7 +8044,7 @@ recursive subroutine modifyCplList(connector, state, appendString, & producerConnected, consumerConnected, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then write(msgString,*) trim(cplName)//& " connected:", connected, & " producerConnected:", producerConnected, & @@ -8149,7 +8162,7 @@ recursive subroutine IInitCheck(driver, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -8175,7 +8188,7 @@ recursive subroutine IInitCheck(driver, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & return ! bail out if (areServicesSet) then - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then call ESMF_CplCompGet(connector, name=connectorName, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & @@ -8202,7 +8215,7 @@ recursive subroutine IInitCheck(driver, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & return ! bail out if (areServicesSet) then - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then call ESMF_CplCompGet(connector, name=connectorName, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & @@ -8266,7 +8279,7 @@ recursive subroutine IInitCheck(driver, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -8374,7 +8387,7 @@ recursive subroutine cleanupCplList(connector, state, rc) producerConnected, consumerConnected, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then write(msgString,*) trim(cplName)// & " in CplSet: ", trim(cplSetList(j)), & " connected:", connected, & @@ -8391,7 +8404,7 @@ recursive subroutine cleanupCplList(connector, state, rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME, rcToReturn=rc)) & return ! bail out - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then write(msgString,*) "- removing field: ", trim(fieldName), & " in CplSet: ", trim(cplSetList(j)) call ESMF_LogWrite(msgString, ESMF_LOGMSG_INFO, rc=rc) @@ -8476,7 +8489,7 @@ recursive subroutine checkConnections(state, rc) consumerConnected, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then write(msgString,*) trim(itemNameList(j))//& " connected:", connected, & " producerConnected:", producerConnected, & @@ -8636,7 +8649,7 @@ recursive subroutine IInitRealize(driver, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -8646,7 +8659,7 @@ recursive subroutine IInitRealize(driver, importState, exportState, clock, rc) if (stateIsCreated) then ! - complete all the fields in the importState - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then call ESMF_LogWrite("Calling into completeAllFields() for importState", & ESMF_LOGMSG_INFO, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & @@ -8664,7 +8677,7 @@ recursive subroutine IInitRealize(driver, importState, exportState, clock, rc) if (stateIsCreated) then ! - complete all the fields in the exportState - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then call ESMF_LogWrite("Calling into completeAllFields() for exportState", & ESMF_LOGMSG_INFO, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & @@ -8677,7 +8690,7 @@ recursive subroutine IInitRealize(driver, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -8734,7 +8747,7 @@ recursive subroutine completeAllFields(state, rc) if (trim(value)=="shared") then ! shared -> must complete the field here - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then call ESMF_LogWrite("- "//trim(itemNameList(i))// & ": shared --> don't know what to do!!!!!.", ESMF_LOGMSG_INFO, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & @@ -8743,7 +8756,7 @@ recursive subroutine completeAllFields(state, rc) endif else ! not shared -> must complete the field here - if (btest(verbosity,4)) then + if (btest(verbosity,6)) then call ESMF_LogWrite("- "//trim(itemNameList(i))// & ": not shared --> complete here.", ESMF_LOGMSG_INFO, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & @@ -8819,7 +8832,7 @@ recursive subroutine InternalInitializeComplete(driver, importState, & endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -8897,7 +8910,7 @@ recursive subroutine InternalInitializeComplete(driver, importState, & endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out diff --git a/src/addon/NUOPC/src/NUOPC_FieldDictionaryApi.F90 b/src/addon/NUOPC/src/NUOPC_FieldDictionaryApi.F90 index 6f04507f99..836ce02925 100644 --- a/src/addon/NUOPC/src/NUOPC_FieldDictionaryApi.F90 +++ b/src/addon/NUOPC/src/NUOPC_FieldDictionaryApi.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_FieldDictionaryDef.F90 b/src/addon/NUOPC/src/NUOPC_FieldDictionaryDef.F90 index a8757f96e3..5c2ca93bf2 100644 --- a/src/addon/NUOPC/src/NUOPC_FieldDictionaryDef.F90 +++ b/src/addon/NUOPC/src/NUOPC_FieldDictionaryDef.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_FreeFormatDef.F90 b/src/addon/NUOPC/src/NUOPC_FreeFormatDef.F90 index 4e7e96294f..6c1296eddc 100644 --- a/src/addon/NUOPC/src/NUOPC_FreeFormatDef.F90 +++ b/src/addon/NUOPC/src/NUOPC_FreeFormatDef.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_Mediator.F90 b/src/addon/NUOPC/src/NUOPC_Mediator.F90 index 327590d272..f198372aeb 100644 --- a/src/addon/NUOPC/src/NUOPC_Mediator.F90 +++ b/src/addon/NUOPC/src/NUOPC_Mediator.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_Model.F90 b/src/addon/NUOPC/src/NUOPC_Model.F90 index 356f629a41..f73ed1b698 100644 --- a/src/addon/NUOPC/src/NUOPC_Model.F90 +++ b/src/addon/NUOPC/src/NUOPC_Model.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/NUOPC_ModelBase.F90 b/src/addon/NUOPC/src/NUOPC_ModelBase.F90 index 7abcbbfe97..8661651b08 100644 --- a/src/addon/NUOPC/src/NUOPC_ModelBase.F90 +++ b/src/addon/NUOPC/src/NUOPC_ModelBase.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -388,7 +388,7 @@ subroutine InitializeP0(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -577,7 +577,7 @@ subroutine InitializeP0(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -640,7 +640,7 @@ subroutine InitializeIPDvXp01(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -720,7 +720,7 @@ subroutine InitializeIPDvXp01(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -783,7 +783,7 @@ subroutine InitializeIPDvXp02(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -863,7 +863,7 @@ subroutine InitializeIPDvXp02(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -926,7 +926,7 @@ subroutine InitializeIPDvXp04(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1006,7 +1006,7 @@ subroutine InitializeIPDvXp04(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1069,7 +1069,7 @@ subroutine InitializeIPDvXp05(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1149,7 +1149,7 @@ subroutine InitializeIPDvXp05(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1212,7 +1212,7 @@ subroutine InitializeIPDvXp06(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1292,7 +1292,7 @@ subroutine InitializeIPDvXp06(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1366,7 +1366,7 @@ subroutine InitializeIPDvXp07(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1494,7 +1494,7 @@ subroutine InitializeIPDvXp07(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1562,7 +1562,7 @@ subroutine InitializeIPDvXp08(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1758,7 +1758,7 @@ subroutine InitializeIPDvXp08(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1824,7 +1824,7 @@ subroutine InitializeIPDv01p5(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -1960,7 +1960,7 @@ subroutine InitializeIPDv01p5(gcomp, importState, exportState, clock, rc) line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2028,7 +2028,7 @@ subroutine routine_Run(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2349,7 +2349,7 @@ subroutine routine_Run(gcomp, importState, exportState, clock, rc) endif ! extro - call NUOPC_LogExtro(name, rName, verbosity, rc=rc) + call NUOPC_LogExtro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out @@ -2529,7 +2529,7 @@ recursive subroutine Finalize(gcomp, importState, exportState, clock, rc) endif ! intro - call NUOPC_LogIntro(name, rName, verbosity, rc=rc) + call NUOPC_LogIntro(name, rName, verbosity, importState, exportState, rc=rc) if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=trim(name)//":"//FILENAME)) return ! bail out diff --git a/src/addon/NUOPC/src/NUOPC_RunSequenceDef.F90 b/src/addon/NUOPC/src/NUOPC_RunSequenceDef.F90 index 699d9a46db..f49f98b309 100644 --- a/src/addon/NUOPC/src/NUOPC_RunSequenceDef.F90 +++ b/src/addon/NUOPC/src/NUOPC_RunSequenceDef.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/NUOPC/src/makefile b/src/addon/NUOPC/src/makefile index ac0897a446..0d98dbc9b3 100644 --- a/src/addon/NUOPC/src/makefile +++ b/src/addon/NUOPC/src/makefile @@ -16,6 +16,9 @@ SOURCEF = NUOPC_FreeFormatDef.F90 \ NUOPC_Connector.F90 SOURCEH = +# List all .h files which should be copied to common include dir +STOREH = + OBJSC = $(addsuffix .o, $(basename $(SOURCEC))) OBJSF = $(addsuffix .o, $(basename $(SOURCEF))) TEXFILES = $(addsuffix _fapi.tex, $(basename $(AUTOGEN))) diff --git a/src/addon/NUOPC/tests/ESMF_NUOPC_UTest.F90 b/src/addon/NUOPC/tests/ESMF_NUOPC_UTest.F90 index fdbffef836..449da2eafd 100644 --- a/src/addon/NUOPC/tests/ESMF_NUOPC_UTest.F90 +++ b/src/addon/NUOPC/tests/ESMF_NUOPC_UTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/esmpy/LICENSE b/src/addon/esmpy/LICENSE index 2936355753..2b167b2124 100644 --- a/src/addon/esmpy/LICENSE +++ b/src/addon/esmpy/LICENSE @@ -1,6 +1,6 @@ Earth System Modeling Framework Python Interface (ESMPy) -Copyright (c) 2002-2023 University Corporation for Atmospheric Research, +Copyright (c) 2002-2024 University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/addon/esmpy/README.md b/src/addon/esmpy/README.md index 40e54c6955..c948644d36 100644 --- a/src/addon/esmpy/README.md +++ b/src/addon/esmpy/README.md @@ -1,6 +1,6 @@ # Earth System Modeling Framework Python Interface (ESMPy) -> Copyright (c) 2002-2023, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. Licensed under the University of Illinois-NCSA License. +> Copyright (c) 2002-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. Licensed under the University of Illinois-NCSA License. * [ESMPy Documentation](https://earthsystemmodeling.org/esmpy_doc/nightly/develop/html/) * [Installation](https://earthsystemmodeling.org/esmpy_doc/nightly/develop/html/install.html) diff --git a/src/addon/esmpy/doc/conf.py b/src/addon/esmpy/doc/conf.py index 5c048774dc..576e9de07d 100644 --- a/src/addon/esmpy/doc/conf.py +++ b/src/addon/esmpy/doc/conf.py @@ -51,7 +51,7 @@ # General information about the project. project = u'ESMPy' -copyright = u'2011-2023, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. Licensed under the University of Illinois-NCSA License' +copyright = u'2011-2024, University Corporation for Atmospheric Research, Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory, University of Michigan, National Centers for Environmental Prediction, Los Alamos National Laboratory, Argonne National Laboratory, NASA Goddard Space Flight Center. Licensed under the University of Illinois-NCSA License' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/src/addon/esmpy/doc/install.rst b/src/addon/esmpy/doc/install.rst index b3f505bd1d..96df08d5eb 100644 --- a/src/addon/esmpy/doc/install.rst +++ b/src/addon/esmpy/doc/install.rst @@ -17,8 +17,7 @@ The following packages are *optional*: * ESMF installation with NetCDF - required to create :class:`Grids `, :class:`Meshes ` and :class:`Fields ` from file, and to write regridding weights to file - NetCDF must be built as a shared library for ESMPy installation to succeed * ESMF installation with PIO (the Parallel IO library) - required to create :class:`Meshes ` and :class:`Fields ` from file, and to write regridding weights to file - - Note that building ESMF with PIO requires building with a real MPI library (not mpiuni) -* `mpi4py `_- python bindings to MPI, needed to run some of the parallel regridding examples +* `mpi4py `_- python bindings to MPI, needed to run some of the parallel regridding examples * `pytest `_ - for testing ---------------- diff --git a/src/addon/esmpy/examples/grid_locstream_regrid.py b/src/addon/esmpy/examples/grid_locstream_regrid.py index d609bbddd4..17aa683d85 100644 --- a/src/addon/esmpy/examples/grid_locstream_regrid.py +++ b/src/addon/esmpy/examples/grid_locstream_regrid.py @@ -95,4 +95,4 @@ print ("ESMPy Grid LocStream Regridding Example") print (" interpolation mean relative error = {0}".format(meanrelerr)) - assert (meanrelerr < 2e-2) + assert (meanrelerr < 5e-6) diff --git a/src/addon/esmpy/examples/locstream_grid_regrid.py b/src/addon/esmpy/examples/locstream_grid_regrid.py index 86be8a3304..dd3b199fa7 100644 --- a/src/addon/esmpy/examples/locstream_grid_regrid.py +++ b/src/addon/esmpy/examples/locstream_grid_regrid.py @@ -97,4 +97,4 @@ print ("ESMPy LocStream Grid Regridding Example") print (" interpolation mean relative error = {0}".format(meanrelerr)) - assert (meanrelerr < 9e-5) + assert (meanrelerr < 4e-7) diff --git a/src/addon/esmpy/src/esmpy/api/constants.py b/src/addon/esmpy/src/esmpy/api/constants.py index bab0897b03..8d9c88927d 100644 --- a/src/addon/esmpy/src/esmpy/api/constants.py +++ b/src/addon/esmpy/src/esmpy/api/constants.py @@ -118,6 +118,23 @@ class DecompFlag(IntEnum): Decompose elements cyclically across DEs. """ +class EndAction(IntEnum): + """ + Specify what action to take on finalization. + """ + NORMAL = 1 + """ + Indicates ESMF to finalize normally. + """ + KEEP_MPI = 2 + """ + Indicates ESMF to finalize normally, but leave MPI initialized. + """ + ABORT = 3 + """ + Indicates ESMF to abort on finalization. + """ + # ExtrapMethod class ExtrapMethod(IntEnum): """ diff --git a/src/addon/esmpy/src/esmpy/api/esmpymanager.py b/src/addon/esmpy/src/esmpy/api/esmpymanager.py index 8dd02bb50c..e3392d0274 100644 --- a/src/addon/esmpy/src/esmpy/api/esmpymanager.py +++ b/src/addon/esmpy/src/esmpy/api/esmpymanager.py @@ -87,11 +87,13 @@ class Manager(object): :param bool debug: outputs logging information to ESMF logfiles. If ``None``, defaults to False. + :param bool endFlag: determines the action to take on ESMF finalization. + See :class:`~esmpy.api.constants.EndAction` docstring for details. Defaults to ``EndAction.NORMAL``. ''' # The singleton instance for this class __singleton = None - def __new__(cls, debug=False): + def __new__(cls, debug=False, endFlag=EndAction.NORMAL): ''' Returns the singleton instance of this class, creating it if it does not already exist. @@ -106,7 +108,7 @@ def __new__(cls, debug=False): return cls.__singleton - def __init__(self, debug=False): + def __init__(self, debug=False, endFlag=EndAction.NORMAL): # Return no-op if self.__esmp_finalized: return @@ -121,6 +123,7 @@ def __init__(self, debug=False): ESMP_Initialize(logkind=logkind) import atexit; atexit.register(self.__del__) self.__esmp_initialized = True + self.__esmp_end_flag = endFlag # set information related to the ESMF Virtual Machine vm = ESMP_VMGetGlobal() @@ -183,7 +186,7 @@ def __del__(self): return # Call ESMP_Finalize and set flags indicating this has been done - ESMP_Finalize() + ESMP_Finalize(self.__esmp_end_flag) self.__esmp_initialized = False self.__esmp_finalized = True diff --git a/src/addon/esmpy/src/esmpy/interface/cbindings.py b/src/addon/esmpy/src/esmpy/interface/cbindings.py index 126ff6372f..ae4d628e44 100644 --- a/src/addon/esmpy/src/esmpy/interface/cbindings.py +++ b/src/addon/esmpy/src/esmpy/interface/cbindings.py @@ -218,16 +218,22 @@ def ESMP_Initialize(logkind = constants.LogKind.MULTI): _ESMF.ESMC_Finalize.restype = ct.c_int _ESMF.ESMC_Finalize.argtypes = [] -def ESMP_Finalize(): +def ESMP_Finalize(endFlag = constants.EndAction.NORMAL): """ Preconditions: ESMF has been initialized. Postconditions: ESMF has been finalized, all heap memory has been - released, and all MPI states have been cleaned up. - This method can only be called once per execution, - and must be preceded by one and only one call to - ESMP_Initialize(). \n + released, and, if 'endFlag' is set to NORMAL, all MPI states + have been cleaned up. This method can only be called + once per execution, and must be preceded by one and + only one call to ESMP_Initialize(). \n + Arguments:\n + EndAction (optional) :: endFlag\n + Argument Values:\n + (default) NORMAL\n + KEEP_MPI\n + ABORT\n """ - rc = _ESMF.ESMC_Finalize() + rc = _ESMF.ESMC_FinalizeWithFlag(endFlag) if rc != constants._ESMP_SUCCESS: raise ValueError('ESMC_Finalize() failed with rc = '+str(rc)+'. '+ constants._errmsg) diff --git a/src/addon/esmpy/src/esmpy/interface/loadESMF.py b/src/addon/esmpy/src/esmpy/interface/loadESMF.py index 36511d1a6e..f664efec53 100644 --- a/src/addon/esmpy/src/esmpy/interface/loadESMF.py +++ b/src/addon/esmpy/src/esmpy/interface/loadESMF.py @@ -68,6 +68,8 @@ esmfabi = line.split(":")[1] elif 'ESMF_NETCDF:' in line: netcdf = True + elif 'ESMF_PIO:' in line: + pio = True elif 'ESMF_COMM:' in line: esmfcomm = line.split(":")[1] elif 'ESMF_VERSION_STRING=' in line: @@ -127,7 +129,7 @@ constants._ESMF_NETCDF = True # set _ESMF_PIO -if "mpiuni" not in esmfcomm: +if pio: constants._ESMF_PIO = True # set _ESMF_COMM diff --git a/src/addon/esmpy/src/esmpy/test/test_all.bash b/src/addon/esmpy/src/esmpy/test/test_all.bash old mode 100644 new mode 100755 index 588ea3fcc0..967ac63065 --- a/src/addon/esmpy/src/esmpy/test/test_all.bash +++ b/src/addon/esmpy/src/esmpy/test/test_all.bash @@ -8,7 +8,23 @@ VERSION=$(python3 -c "import esmpy; print (esmpy.__version__)") echo "Testing ESMPy ${VERSION}" -for NP in 1 4 6 +# If we're using mpiuni, we only run with NP=1; otherwise we run with NP=1,4,6 +# +# The logic here relies on the fact that, when using mpiuni, MPIEXEC will look like +# /path/to/mpiuni/mpirun - so we check if the final part of the path is "mpiuni/mpirun" +# +# Note that, if MPIEXEC is simply "mpirun", MPIEXEC_DIR will be "."; this will be wrong, +# but is okay for the sake of the logic here. +MPIEXEC_DIR=$(dirname "$MPIEXEC") +MPIEXEC_END_OF_PATH=$(basename "$MPIEXEC_DIR")/$(basename "$MPIEXEC") +if [ "$MPIEXEC_END_OF_PATH" = "mpiuni/mpirun" ] +then + PE_COUNTS=(1) +else + PE_COUNTS=(1 4 6) +fi + +for NP in ${PE_COUNTS[@]} do REPORT="esmpy${VERSION}-petx${NP}.test" COMMAND="${MPIEXEC} -np ${NP} python3 -m pytest -vs --json-report --json-report-summary > $REPORT 2>&1" diff --git a/src/addon/esmpy/src/esmpy/util/locstream_utilities.py b/src/addon/esmpy/src/esmpy/util/locstream_utilities.py index 9dda92df3c..bbc1849f1f 100644 --- a/src/addon/esmpy/src/esmpy/util/locstream_utilities.py +++ b/src/addon/esmpy/src/esmpy/util/locstream_utilities.py @@ -85,8 +85,8 @@ def create_locstream_spherical_16(coord_sys=esmpy.CoordSys.SPH_DEG, domask=False if coord_sys == esmpy.CoordSys.SPH_DEG: deg_rad = 180 - locstream["ESMF:Lon"] = [0.0, 0.5*deg_rad, 1.5*deg_rad, 2*deg_rad, 0.0, 0.5*deg_rad, 1.5*deg_rad, 2*deg_rad, 0.0, 0.5*deg_rad, 1.5*deg_rad, 2*deg_rad, 0.0, 0.5*deg_rad, 1.5*deg_rad, 2*deg_rad] - locstream["ESMF:Lat"] = [deg_rad/-2.0, deg_rad/-2.0, deg_rad/-2.0, deg_rad/-2.0, -0.25*deg_rad, -0.25*deg_rad, -0.25*deg_rad, -0.25*deg_rad, 0.25*deg_rad, 0.25*deg_rad, 0.25*deg_rad, 0.25*deg_rad, deg_rad/2.0, deg_rad/2.0, deg_rad/2.0, deg_rad/2.0] + locstream["ESMF:Lon"] = [0.2*deg_rad, 0.5*deg_rad, 1.5*deg_rad, 1.8*deg_rad, 0.2*deg_rad, 0.5*deg_rad, 1.5*deg_rad, 1.8*deg_rad, 0.2*deg_rad, 0.5*deg_rad, 1.5*deg_rad, 1.8*deg_rad, 0.2*deg_rad, 0.5*deg_rad, 1.5*deg_rad, 1.8*deg_rad] + locstream["ESMF:Lat"] = [-0.4*deg_rad, -0.4*deg_rad, -0.4*deg_rad, -0.4*deg_rad, -0.25*deg_rad, -0.25*deg_rad, -0.25*deg_rad, -0.25*deg_rad, 0.25*deg_rad, 0.25*deg_rad, 0.25*deg_rad, 0.25*deg_rad, 0.4*deg_rad, 0.4*deg_rad, 0.4*deg_rad, 0.4*deg_rad] if domask: locstream["ESMF:Mask"] = np.array([1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=np.int32) @@ -108,26 +108,26 @@ def create_locstream_spherical_16_parallel(coord_sys=esmpy.CoordSys.SPH_DEG, dom locstream = None if esmpy.local_pet() == 0: locstream = esmpy.LocStream(4, coord_sys=coord_sys) - locstream["ESMF:Lon"] = [0.0, 0.5*deg_rad, 0.0, 0.5*deg_rad] - locstream["ESMF:Lat"] = [deg_rad/-2.0, deg_rad/-2.0, -0.25*deg_rad, -0.25*deg_rad] + locstream["ESMF:Lon"] = [0.2*deg_rad, 0.5*deg_rad, 0.2*deg_rad, 0.5*deg_rad] + locstream["ESMF:Lat"] = [-0.4*deg_rad, -0.4*deg_rad, -0.25*deg_rad, -0.25*deg_rad] if domask: locstream["ESMF:Mask"] = np.array([1, 0, 1, 1], dtype=np.int32) elif esmpy.local_pet() == 1: locstream = esmpy.LocStream(4, coord_sys=coord_sys) - locstream["ESMF:Lon"] = [1.5*deg_rad, 2*deg_rad, 1.5*deg_rad, 2*deg_rad] - locstream["ESMF:Lat"] = [deg_rad/-2.0, deg_rad/-2.0, -0.25*deg_rad, -0.25*deg_rad] + locstream["ESMF:Lon"] = [1.5*deg_rad, 1.8*deg_rad, 1.5*deg_rad, 1.8*deg_rad] + locstream["ESMF:Lat"] = [-0.4*deg_rad, -0.4*deg_rad, -0.25*deg_rad, -0.25*deg_rad] if domask: locstream["ESMF:Mask"] = np.array([0, 1, 1, 1], dtype=np.int32) elif esmpy.local_pet() == 2: locstream = esmpy.LocStream(4, coord_sys=coord_sys) - locstream["ESMF:Lon"] = [0.0, 0.5*deg_rad, 0.0, 0.5*deg_rad] - locstream["ESMF:Lat"] = [0.25*deg_rad, 0.25*deg_rad, deg_rad/2.0, deg_rad/2.0] + locstream["ESMF:Lon"] = [0.2*deg_rad, 0.5*deg_rad, 0.2*deg_rad, 0.5*deg_rad] + locstream["ESMF:Lat"] = [0.25*deg_rad, 0.25*deg_rad, 0.4*deg_rad, 0.4*deg_rad] if domask: locstream["ESMF:Mask"] = np.array([1, 1, 1, 1], dtype=np.int32) elif esmpy.local_pet() == 3: locstream = esmpy.LocStream(4, coord_sys=coord_sys) - locstream["ESMF:Lon"] = [1.5*deg_rad, 2*deg_rad, 1.5*deg_rad, 2*deg_rad] - locstream["ESMF:Lat"] = [0.25*deg_rad, 0.25*deg_rad, deg_rad/2.0, deg_rad/2.0] + locstream["ESMF:Lon"] = [1.5*deg_rad, 1.8*deg_rad, 1.5*deg_rad, 1.8*deg_rad] + locstream["ESMF:Lat"] = [0.25*deg_rad, 0.25*deg_rad, 0.4*deg_rad, 0.4*deg_rad] if domask: locstream["ESMF:Mask"] = np.array([1, 1, 1, 1], dtype=np.int32) diff --git a/src/apps/ESMF_PrintInfo/ESMF_PrintInfo.F90 b/src/apps/ESMF_PrintInfo/ESMF_PrintInfo.F90 index 1fb3d319bb..7f44a91fb5 100644 --- a/src/apps/ESMF_PrintInfo/ESMF_PrintInfo.F90 +++ b/src/apps/ESMF_PrintInfo/ESMF_PrintInfo.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/apps/ESMF_PrintInfoC/ESMF_PrintInfoC.c b/src/apps/ESMF_PrintInfoC/ESMF_PrintInfoC.c index ffbde9a70b..ee84b94bbd 100644 --- a/src/apps/ESMF_PrintInfoC/ESMF_PrintInfoC.c +++ b/src/apps/ESMF_PrintInfoC/ESMF_PrintInfoC.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/apps/ESMF_Regrid/ESMF_Regrid.F90 b/src/apps/ESMF_Regrid/ESMF_Regrid.F90 index ef7ab63abf..2eea1fad7f 100644 --- a/src/apps/ESMF_Regrid/ESMF_Regrid.F90 +++ b/src/apps/ESMF_Regrid/ESMF_Regrid.F90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/apps/ESMF_RegridWeightGen/ESMF_RegridWeightGen.F90 b/src/apps/ESMF_RegridWeightGen/ESMF_RegridWeightGen.F90 index 18a948cbb7..ef3ce33256 100644 --- a/src/apps/ESMF_RegridWeightGen/ESMF_RegridWeightGen.F90 +++ b/src/apps/ESMF_RegridWeightGen/ESMF_RegridWeightGen.F90 @@ -2,7 +2,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/apps/ESMF_Scrip2Unstruct/ESMF_Scrip2Unstruct.C b/src/apps/ESMF_Scrip2Unstruct/ESMF_Scrip2Unstruct.C index 3c4227953f..3260ade56a 100644 --- a/src/apps/ESMF_Scrip2Unstruct/ESMF_Scrip2Unstruct.C +++ b/src/apps/ESMF_Scrip2Unstruct/ESMF_Scrip2Unstruct.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/ESMC_api.tex b/src/doc/ESMC_api.tex index c9c683b71a..8266190a87 100644 --- a/src/doc/ESMC_api.tex +++ b/src/doc/ESMC_api.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/ESMC_infrautiloverview.tex b/src/doc/ESMC_infrautiloverview.tex index f41187698a..9d867dee88 100644 --- a/src/doc/ESMC_infrautiloverview.tex +++ b/src/doc/ESMC_infrautiloverview.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/ESMF_api.tex b/src/doc/ESMF_api.tex index e9677ed922..5901f729cf 100644 --- a/src/doc/ESMF_api.tex +++ b/src/doc/ESMF_api.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/ESMF_apperr.tex b/src/doc/ESMF_apperr.tex index 7447b52304..a873c523ca 100644 --- a/src/doc/ESMF_apperr.tex +++ b/src/doc/ESMF_apperr.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/ESMF_appuml.tex b/src/doc/ESMF_appuml.tex index 18fe28d16d..7efb51061f 100644 --- a/src/doc/ESMF_appuml.tex +++ b/src/doc/ESMF_appuml.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/ESMF_infrautiloverview.tex b/src/doc/ESMF_infrautiloverview.tex index b26b4f055b..35790e83da 100644 --- a/src/doc/ESMF_infrautiloverview.tex +++ b/src/doc/ESMF_infrautiloverview.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/ESMF_superoverview.tex b/src/doc/ESMF_superoverview.tex index 63f8ed9a0e..2b02333b7d 100644 --- a/src/doc/ESMF_superoverview.tex +++ b/src/doc/ESMF_superoverview.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/common_commands.tex b/src/doc/common_commands.tex index 08eb279a1d..60bbb6e88f 100644 --- a/src/doc/common_commands.tex +++ b/src/doc/common_commands.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/dev_guide/code_conv_gen.tex b/src/doc/dev_guide/code_conv_gen.tex index 67ac5c572b..eeaf5e8399 100644 --- a/src/doc/dev_guide/code_conv_gen.tex +++ b/src/doc/dev_guide/code_conv_gen.tex @@ -390,7 +390,7 @@ \subsubsection{License and Copyright Information} \begin{verbatim} ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/title_alldoc.tex b/src/doc/title_alldoc.tex index 3b5d423652..ab72fed658 100644 --- a/src/doc/title_alldoc.tex +++ b/src/doc/title_alldoc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/doc/verstitle_alldoc.tex b/src/doc/verstitle_alldoc.tex index 14137b384d..82b56a32e4 100644 --- a/src/doc/verstitle_alldoc.tex +++ b/src/doc/verstitle_alldoc.tex @@ -1,7 +1,7 @@ % $Id$ % % Earth System Modeling Framework -% Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +% Copyright (c) 2002-2024, University Corporation for Atmospheric Research, % Massachusetts Institute of Technology, Geophysical Fluid Dynamics % Laboratory, University of Michigan, National Centers for Environmental % Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/epilogue/include/ESMCI_Test.h b/src/epilogue/include/ESMCI_Test.h index 17f78672a6..f1c4db21c4 100644 --- a/src/epilogue/include/ESMCI_Test.h +++ b/src/epilogue/include/ESMCI_Test.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/epilogue/include/ESMC_Test.h b/src/epilogue/include/ESMC_Test.h index 012e94bfe9..8dc94e8c85 100644 --- a/src/epilogue/include/ESMC_Test.h +++ b/src/epilogue/include/ESMC_Test.h @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/epilogue/src/ESMCI_Test.C b/src/epilogue/src/ESMCI_Test.C index d4be082109..2e21b21fe9 100644 --- a/src/epilogue/src/ESMCI_Test.C +++ b/src/epilogue/src/ESMCI_Test.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/epilogue/src/ESMC_Test.C b/src/epilogue/src/ESMC_Test.C index 594d99d72f..69f1ff028f 100644 --- a/src/epilogue/src/ESMC_Test.C +++ b/src/epilogue/src/ESMC_Test.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/epilogue/src/ESMF_Test.F90 b/src/epilogue/src/ESMF_Test.F90 index 9ff049625b..5fc17b8a5a 100644 --- a/src/epilogue/src/ESMF_Test.F90 +++ b/src/epilogue/src/ESMF_Test.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/epilogue/tests/ESMCI_TestUTest.C b/src/epilogue/tests/ESMCI_TestUTest.C index 4bcad46d83..43796ec203 100644 --- a/src/epilogue/tests/ESMCI_TestUTest.C +++ b/src/epilogue/tests/ESMCI_TestUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/epilogue/tests/ESMC_TestUTest.c b/src/epilogue/tests/ESMC_TestUTest.c index 2e1b6ce6c2..1fd5716277 100644 --- a/src/epilogue/tests/ESMC_TestUTest.c +++ b/src/epilogue/tests/ESMC_TestUTest.c @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/epilogue/tests/ESMF_TestUTest.F90 b/src/epilogue/tests/ESMF_TestUTest.F90 index eac922fe84..c13b9ede9a 100644 --- a/src/epilogue/tests/ESMF_TestUTest.F90 +++ b/src/epilogue/tests/ESMF_TestUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMCI_ExceptionsSubr.C b/src/prologue/tests/ESMCI_ExceptionsSubr.C index c3b562c422..ae0ec96c70 100644 --- a/src/prologue/tests/ESMCI_ExceptionsSubr.C +++ b/src/prologue/tests/ESMCI_ExceptionsSubr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMCI_ExceptionsUTest.C b/src/prologue/tests/ESMCI_ExceptionsUTest.C index d6aa96692a..a2742c0181 100644 --- a/src/prologue/tests/ESMCI_ExceptionsUTest.C +++ b/src/prologue/tests/ESMCI_ExceptionsUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMCI_FeatureSubr.C b/src/prologue/tests/ESMCI_FeatureSubr.C index 1bec262eda..8d0749c4e1 100644 --- a/src/prologue/tests/ESMCI_FeatureSubr.C +++ b/src/prologue/tests/ESMCI_FeatureSubr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMCI_FeatureUTest.C b/src/prologue/tests/ESMCI_FeatureUTest.C index 5ccfbef2f9..f75ec664c7 100644 --- a/src/prologue/tests/ESMCI_FeatureUTest.C +++ b/src/prologue/tests/ESMCI_FeatureUTest.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMCI_StringSubr.C b/src/prologue/tests/ESMCI_StringSubr.C index 167659a5ef..3ad5c9d38e 100644 --- a/src/prologue/tests/ESMCI_StringSubr.C +++ b/src/prologue/tests/ESMCI_StringSubr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMCI_WordsizeSubr.C b/src/prologue/tests/ESMCI_WordsizeSubr.C index aa3e55ae0c..fb4130802e 100644 --- a/src/prologue/tests/ESMCI_WordsizeSubr.C +++ b/src/prologue/tests/ESMCI_WordsizeSubr.C @@ -1,7 +1,7 @@ // $Id$ // // Earth System Modeling Framework -// Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +// Copyright (c) 2002-2024, University Corporation for Atmospheric Research, // Massachusetts Institute of Technology, Geophysical Fluid Dynamics // Laboratory, University of Michigan, National Centers for Environmental // Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_ExceptionsUTest.F90 b/src/prologue/tests/ESMF_ExceptionsUTest.F90 index 5538d0b716..7cb0645961 100644 --- a/src/prologue/tests/ESMF_ExceptionsUTest.F90 +++ b/src/prologue/tests/ESMF_ExceptionsUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_F90ArrayPtrUTest.F90 b/src/prologue/tests/ESMF_F90ArrayPtrUTest.F90 index b31649446c..acda416449 100644 --- a/src/prologue/tests/ESMF_F90ArrayPtrUTest.F90 +++ b/src/prologue/tests/ESMF_F90ArrayPtrUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_F95PtrBData.F90 b/src/prologue/tests/ESMF_F95PtrBData.F90 index 78aa99f707..a7b17c166f 100644 --- a/src/prologue/tests/ESMF_F95PtrBData.F90 +++ b/src/prologue/tests/ESMF_F95PtrBData.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_F95PtrUTest.F90 b/src/prologue/tests/ESMF_F95PtrUTest.F90 index 6060d48e30..e3e3830d6c 100644 --- a/src/prologue/tests/ESMF_F95PtrUTest.F90 +++ b/src/prologue/tests/ESMF_F95PtrUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, @@ -171,7 +171,7 @@ subroutine ptr_size_test () ! types either contain F95 component initialization, or do not have a ! SEQUENCE statement. This prevents them from being placed into ! COMMON blocks. Note that the Standard does not even allow a pointer to - ! such types to reside in COMMON. (See Constraint 589 in §5.5.2 of F2003.) + ! such types to reside in COMMON. (See Constraint 589 in Section 5.5.2 of F2003.) !----------------------------------------------------------------------------- !NEX_disabled_UTest diff --git a/src/prologue/tests/ESMF_FeatureSubr.F90 b/src/prologue/tests/ESMF_FeatureSubr.F90 index 13119518d2..b74b10157c 100644 --- a/src/prologue/tests/ESMF_FeatureSubr.F90 +++ b/src/prologue/tests/ESMF_FeatureSubr.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_FeatureTR15581Subr.F90 b/src/prologue/tests/ESMF_FeatureTR15581Subr.F90 index 841ac9a6df..cdb1a0654a 100644 --- a/src/prologue/tests/ESMF_FeatureTR15581Subr.F90 +++ b/src/prologue/tests/ESMF_FeatureTR15581Subr.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_FeatureUTest.F90 b/src/prologue/tests/ESMF_FeatureUTest.F90 index 7ab871948f..85d6742d2b 100644 --- a/src/prologue/tests/ESMF_FeatureUTest.F90 +++ b/src/prologue/tests/ESMF_FeatureUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_LAPACKUTest.F90 b/src/prologue/tests/ESMF_LAPACKUTest.F90 index 5e33db0758..a46dc6955a 100644 --- a/src/prologue/tests/ESMF_LAPACKUTest.F90 +++ b/src/prologue/tests/ESMF_LAPACKUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_StringUTest.F90 b/src/prologue/tests/ESMF_StringUTest.F90 index bac31f2318..dcaf645fa1 100644 --- a/src/prologue/tests/ESMF_StringUTest.F90 +++ b/src/prologue/tests/ESMF_StringUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/prologue/tests/ESMF_WordsizeUTest.F90 b/src/prologue/tests/ESMF_WordsizeUTest.F90 index 3e4fd323f4..360052f9ed 100644 --- a/src/prologue/tests/ESMF_WordsizeUTest.F90 +++ b/src/prologue/tests/ESMF_WordsizeUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/system_tests/ESMF_FieldRegridPatchDisjoint/ESMF_FieldRegridPatchDisjointSTest.F90 b/src/system_tests/ESMF_FieldRegridPatchDisjoint/ESMF_FieldRegridPatchDisjointSTest.F90 new file mode 100644 index 0000000000..8bbb54ecd7 --- /dev/null +++ b/src/system_tests/ESMF_FieldRegridPatchDisjoint/ESMF_FieldRegridPatchDisjointSTest.F90 @@ -0,0 +1,400 @@ +! $Id$ +! +! System test code FieldRegrid + +!------------------------------------------------------------------------- +!ESMF_MULTI_PROC_SYSTEM_TEST String used by test script to count system tests. +!========================================================================= + +!BOP +! +! !DESCRIPTION: +! System test FieldRegrid. +! Regrid test. 2 components and 1 coupler, one-way coupling. +! The first component has a small mesh running on 1 PET. With a +! Field whose data is set to 20.0+x+y. The second component +! contains a Grid spread across 4 procs. The Field on the Mesh +! is interpolated to the Grid. +! +! +!\begin{verbatim} + + program ESMF_FieldRegridPatchDisjointSTest +#define ESMF_METHOD "program ESMF_FieldRegridPatchDisjointSTest" + +#include "ESMF.h" + + ! ESMF Framework module + use ESMF + use ESMF_TestMod + + use user_model1, only : userm1_register + use user_model2, only : userm2_register + use user_coupler, only : usercpl_register + + implicit none + + ! Local variables + integer :: pet_id, npets, rc, localrc, userrc,i + character(len=ESMF_MAXSTR) :: cname1, cname2, cplname + type(ESMF_VM):: vm + type(ESMF_State) :: c1exp, c2imp + type(ESMF_GridComp) :: comp1, comp2 + type(ESMF_CplComp) :: cpl + + ! instantiate a clock, a calendar, and timesteps + type(ESMF_Clock) :: clock + type(ESMF_Calendar) :: gregorianCalendar + type(ESMF_TimeInterval) :: timeStep + type(ESMF_Time) :: startTime + type(ESMF_Time) :: stopTime + + ! cumulative result: count failures; no failures equals "all pass" + integer :: result = 0 + + ! individual test name + character(ESMF_MAXSTR) :: testname + + ! individual test failure message, and final status msg + character(ESMF_MAXSTR) :: failMsg, finalMsg + + ! set rc = ESMF_SUCCESS + rc = ESMF_SUCCESS + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- + + print *, "-------------------------------- " + print *, "Start of System Test ESMF_FieldRegridPatchDisjointSTest:" + print *, "-------------------------------- " + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Create section +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! + ! Initialize framework and get back default global VM + call ESMF_Initialize(vm=vm, defaultlogfilename="FieldRegridPatchDisjointSTest.Log", & + logkindflag=ESMF_LOGKIND_MULTI, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + call ESMF_LogSet (flush=.true.) + + ! Get number of PETs we are running with + call ESMF_VMGet(vm, petCount=npets, localPet=pet_id, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + ! Check for correct number of PETs + if ( npets < 5 ) then + call ESMF_LogSetError(ESMF_RC_ARG_BAD,& + msg="This system test does not run on fewer than 5 PETs.",& + ESMF_CONTEXT, rcToReturn=rc) + call ESMF_Finalize(rc=rc, endflag=ESMF_END_ABORT) + endif + + ! Create the 2 model components and coupler + cname1 = "user model 1" + comp1 = ESMF_GridCompCreate(name=cname1, petList=(/0/), rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + print *, "Created component ", trim(cname1), "rc =", rc + ! call ESMF_GridCompPrint(comp1, "", rc) + + cname2 = "user model 2" + comp2 = ESMF_GridCompCreate(name=cname2, petList=(/1,2,3,4/),rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + print *, "Created component ", trim(cname2), "rc =", rc + ! call ESMF_GridCompPrint(comp2, "", rc) + + cplname = "user one-way coupler" + cpl = ESMF_CplCompCreate(name=cplname, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + print *, "Created component ", trim(cplname), ", rc =", rc + ! call ESMF_CplCompPrint(cpl, "", rc) + + print *, "Comp Creates finished" + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Register section +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- + call ESMF_GridCompSetServices(comp1, userRoutine=userm1_register, & + userRc=userrc, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + print *, "Comp SetServices finished, rc= ", rc, userrc + + call ESMF_GridCompSetServices(comp2, userRoutine=userm2_register, & + userRc=userrc, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + print *, "Comp SetServices finished, rc= ", rc, userrc + + call ESMF_CplCompSetServices(cpl, userRoutine=usercpl_register, & + userRc=userrc, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + print *, "Comp SetServices finished, rc= ", rc, userrc + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Create and initialize a clock. +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- + ! initialize calendar to be Gregorian type + gregorianCalendar = ESMF_CalendarCreate(ESMF_CALKIND_GREGORIAN, & + name="Gregorian", rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + ! initialize time interval to 6 hours + call ESMF_TimeIntervalSet(timeStep, h=6, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + ! initialize start time to 5/01/2003 + call ESMF_TimeSet(startTime, yy=2003, mm=5, dd=1, & + calendar=gregorianCalendar, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + ! initialize stop time to 5/02/2003 + call ESMF_TimeSet(stopTime, yy=2003, mm=5, dd=1, h=6, & + calendar=gregorianCalendar, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + ! initialize the clock with the above values + clock = ESMF_ClockCreate(timeStep, startTime, stopTime=stopTime, & + name="Clock 1", rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Init section +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- + + c1exp = ESMF_StateCreate(name="comp1 export", & + stateintent=ESMF_STATEINTENT_EXPORT, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + call ESMF_GridCompInitialize(comp1, exportState=c1exp, clock=clock, & + userRc=userrc, rc=localrc) + + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + c2imp = ESMF_StateCreate(name="comp2 import", & + stateintent=ESMF_STATEINTENT_IMPORT, rc=localrc) + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + call ESMF_GridCompInitialize(comp2, importState=c2imp, clock=clock, & + userRc=userrc, rc=localrc) + + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + ! note that the coupler's import is comp1's export + call ESMF_CplCompInitialize(cpl, importState=c1exp, & + exportState=c2imp, clock=clock, & + userRc=userrc, rc=localrc) + + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Run section +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- + +! do while (.not. ESMF_ClockIsStopTime(clock, rc=rc)) + +!do i=1,2 + + call ESMF_GridCompRun(comp1, exportState=c1exp, clock=clock, & + userRc=userrc, rc=localrc) + + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + call ESMF_CplCompRun(cpl, importState=c1exp, & + exportState=c2imp, clock=clock, & + userRc=userrc, rc=localrc) + + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + call ESMF_GridCompRun(comp2, importState=c2imp, clock=clock, & + userRc=userrc, rc=localrc) + + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + +! call ESMF_ClockAdvance(clock, rc=localrc) +! !call ESMF_ClockPrint(clock, rc=rc) +! if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & +! ESMF_CONTEXT, rcToReturn=rc)) & +! call ESMF_Finalize(endflag=ESMF_END_ABORT) + +! enddo + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Finalize section +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Print result + + call ESMF_GridCompFinalize(comp1, exportState=c1exp, clock=clock, & + userRc=userrc, rc=localrc) + print *, "Comp 1 Finalize finished, rc =", rc + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + call ESMF_GridCompFinalize(comp2, importState=c2imp, clock=clock, & + userRc=userrc, rc=localrc) + print *, "Comp 2 Finalize finished, rc =", rc + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + call ESMF_CplCompFinalize(cpl, importState=c1exp, & + exportState=c2imp, clock=clock, & + userRc=userrc, rc=localrc) + print *, "Coupler Finalize finished, rc =", rc + if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + if (ESMF_LogFoundError(userrc, ESMF_ERR_PASSTHRU, & + ESMF_CONTEXT, rcToReturn=rc)) & + call ESMF_Finalize(endflag=ESMF_END_ABORT) + + + + + print *, "------------------------------------------------------------" + print *, "------------------------------------------------------------" + print *, "Test finished, pet_id = ", pet_id + print *, "------------------------------------------------------------" + print *, "------------------------------------------------------------" + + print *, "Comp Finalize returned" + +! +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Destroy section +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +! Clean up + + call ESMF_StateDestroy(c1exp, rc=rc) + call ESMF_StateDestroy(c2imp, rc=rc) + + call ESMF_ClockDestroy(clock, rc=rc) + call ESMF_CalendarDestroy(gregorianCalendar, rc=rc) + + call ESMF_GridCompDestroy(comp1, rc=rc) + call ESMF_GridCompDestroy(comp2, rc=rc) + call ESMF_CplCompDestroy(cpl, rc=rc) + + print *, "All Destroy routines done" + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- +10 print *, "System Test FieldRegridPatchDisjoint complete." + + + ! Normal ESMF Test output + write(failMsg, *) "System Test failure" + write(testname, *) "System Test FieldRegridPatchDisjoint: Field Regrid" + + if (rc .ne. ESMF_SUCCESS) then + ! Separate message to console, for quick confirmation of success/failure + if (rc .eq. ESMF_SUCCESS) then + write(finalMsg, *) "SUCCESS: Regrid test finished correctly." + else + write(finalMsg, *) "System Test did not succeed. Error code ", rc + endif + write(0, *) "" + write(0, *) trim(testname) + write(0, *) trim(finalMsg) + write(0, *) "" + + endif + + ! IMPORTANT: ESMF_STest() prints the PASS string and the # of processors in the log + ! file that the scripts grep for. + call ESMF_STest((rc.eq.ESMF_SUCCESS), testname, failMsg, result, ESMF_SRCLINE) + + + call ESMF_Finalize(rc=rc) + + end program ESMF_FieldRegridPatchDisjointSTest + +!\end{verbatim} + diff --git a/src/system_tests/ESMF_FieldRegridPatchDisjoint/makefile b/src/system_tests/ESMF_FieldRegridPatchDisjoint/makefile new file mode 100644 index 0000000000..ee8750249e --- /dev/null +++ b/src/system_tests/ESMF_FieldRegridPatchDisjoint/makefile @@ -0,0 +1,33 @@ +# $Id$ + +ALL: tree_build_system_tests + +run: tree_run_system_tests + +LOCDIR = src/system_tests/ESMF_FieldRegridPatchDisjoint + + +SYSTEM_TESTS_BUILD = $(ESMC_TESTDIR)/ESMF_FieldRegridPatchDisjointSTest + +# Object files other than SysTest%.o that the +# system tests executable will depend on. +# List objects files in the order that they +# are to be compiled/created. +SYSTEM_TESTS_OBJ = user_model1.o user_model2.o user_coupler.o + +SYSTEM_TESTS_RUN = RUN_FieldRegridPatchDisjoint + +SYSTEM_TESTS_RUN_UNI = + +ESMF_FieldRegridPatchDisjointSTest.o : $(SYSTEM_TESTS_OBJ) + +include $(ESMF_DIR)/makefile + +DIRS = + +CLEANDIRS = +CLEANFILES = $(SYSTEM_TESTS_BUILD) +CLOBBERDIRS = + +RUN_FieldRegridPatchDisjoint: + $(MAKE) TNAME=FieldRegridPatchDisjoint NP=5 stest diff --git a/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_coupler.F90 b/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_coupler.F90 new file mode 100644 index 0000000000..806ae069c7 --- /dev/null +++ b/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_coupler.F90 @@ -0,0 +1,177 @@ +! $Id$ +! +! Example/test code which shows User Component calls. + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- + +!BOP +! +! !DESCRIPTION: +! User-supplied Coupler +! +! +!\begin{verbatim} + + module user_coupler + + ! ESMF Framework module + use ESMF + + implicit none + + public usercpl_register + + ! global data + type(ESMF_RouteHandle), save :: routehandle + + contains + +!------------------------------------------------------------------------- +! ! The Register routine sets the subroutines to be called +! ! as the init, run, and finalize routines. Note that these are +! ! private to the module. + + subroutine usercpl_register(comp, rc) + type(ESMF_CplComp) :: comp + integer, intent(out) :: rc + + rc = ESMF_SUCCESS + print *, "in user setservices routine" + + ! Register the callback routines. + call ESMF_CplCompSetEntryPoint(comp, ESMF_METHOD_INITIALIZE, user_init, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_CplCompSetEntryPoint(comp, ESMF_METHOD_RUN, user_run, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_CplCompSetEntryPoint(comp, ESMF_METHOD_FINALIZE, user_final, rc=rc) + if(rc/=ESMF_SUCCESS) return + + print *, "Registered Initialize, Run, and Finalize routines" + + end subroutine + +!------------------------------------------------------------------------- +! !User Comp Component created by higher level calls, here is the +! ! Initialization routine. + + + subroutine user_init(comp, importState, exportState, clock, rc) + type(ESMF_CplComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + + ! Local variables + integer :: localPET, petCount + type(ESMF_Field) :: srcField,dstField + type(ESMF_VM) :: vm + + rc = ESMF_SUCCESS + + ! Need to reconcile import and export states + call ESMF_CplCompGet(comp, vm=vm, rc=rc) + if (rc/=ESMF_SUCCESS) return ! bail out + + call ESMF_VMGet(vm, localPet=localPet, petCount=petCount, rc=rc) + if(rc/=ESMF_SUCCESS) return + + write(*,*) localPET,"User Coupler Init Start" + + call ESMF_StateReconcile(importState, vm=vm, rc=rc) + if (rc/=ESMF_SUCCESS) return ! bail out + + write(*,*) localPET,"User Coupler After Import Reconcile" + + call ESMF_StateReconcile(exportState, vm=vm, rc=rc) + if (rc/=ESMF_SUCCESS) return ! bail out + + write(*,*) localPET,"User Coupler After Export Reconcile" + + ! Get input data + call ESMF_StateGet(importState, "src", srcField, rc=rc) + if(rc/=ESMF_SUCCESS) return + + ! Get location of output data + call ESMF_StateGet(exportState, "dst", dstField, rc=rc) + if(rc/=ESMF_SUCCESS) return + + ! These are fields on different Grids - call RegridStore to set + ! up the Regrid structure + call ESMF_FieldRegridStore(srcField=srcField, dstField=dstField, & + routeHandle=routehandle, & + regridmethod=ESMF_REGRIDMETHOD_PATCH, & + rc=rc) + if(rc/=ESMF_SUCCESS) return + + + write(*,*) localPET,"User Coupler Init End" + + end subroutine user_init + + +!------------------------------------------------------------------------- +! ! The Run routine where data is coupled. +! ! + + subroutine user_run(comp, importState, exportState, clock, rc) + type(ESMF_CplComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + + ! Local variables + type(ESMF_Field) :: srcField, dstField + integer :: status + + rc = ESMF_SUCCESS + print *, "User Coupler Run starting" + + ! Get input data + call ESMF_StateGet(importState, "src", srcField, rc=rc) + if(rc/=ESMF_SUCCESS) return + + ! Get location of output data + call ESMF_StateGet(exportState, "dst", dstField, rc=rc) + if(rc/=ESMF_SUCCESS) return + + ! These are fields on different Grids - call Regrid to rearrange + ! the data. The communication pattern was computed at init, + ! this simply has to execute the send and receive equivalents. + call ESMF_FieldRegrid(srcField, dstField, routehandle, rc=status) + if(rc/=ESMF_SUCCESS) return + + + print *, "User Coupler Run returning" + + end subroutine user_run + + +!------------------------------------------------------------------------- +! ! The Finalization routine where things are deleted and cleaned up. +! ! + + subroutine user_final(comp, importState, exportState, clock, rc) + type(ESMF_CplComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + + ! Local variables + + rc = ESMF_SUCCESS + print *, "User Coupler Final starting" + + ! Release resources stored for the Regridding. + call ESMF_FieldRegridRelease(routehandle, rc=rc) + if(rc/=ESMF_SUCCESS) return + + print *, "User Coupler Final returning" + + end subroutine user_final + + + end module user_coupler + +!\end{verbatim} + diff --git a/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_model1.F90 b/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_model1.F90 new file mode 100644 index 0000000000..89a9564da4 --- /dev/null +++ b/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_model1.F90 @@ -0,0 +1,282 @@ +! $Id$ +! +! Example/test code which shows User Component calls. + +!------------------------------------------------------------------------- +!------------------------------------------------------------------------- + +!BOP +! +! !DESCRIPTION: +! User-supplied Component, most recent interface revision. +! +! +!\begin{verbatim} + + module user_model1 + + ! ESMF Framework module + use ESMF + + implicit none + + public userm1_register + + contains + +!------------------------------------------------------------------------- +! ! The Register routine sets the subroutines to be called +! ! as the init, run, and finalize routines. Note that these are +! ! private to the module. + + subroutine userm1_register(comp, rc) + type(ESMF_GridComp) :: comp + integer, intent(out) :: rc + + rc = ESMF_SUCCESS + print *, "in user register routine" + + ! Register the callback routines. + + call ESMF_GridCompSetEntryPoint(comp, ESMF_METHOD_INITIALIZE, user_init, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_GridCompSetEntryPoint(comp, ESMF_METHOD_RUN, user_run, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_GridCompSetEntryPoint(comp, ESMF_METHOD_FINALIZE, user_final, rc=rc) + if(rc/=ESMF_SUCCESS) return + + print *, "Registered Initialize, Run, and Finalize routines" + + end subroutine + +!------------------------------------------------------------------------- +! ! User Comp Component created by higher level calls, here is the +! ! Initialization routine. + + + subroutine user_init(comp, importState, exportState, clock, rc) + type(ESMF_GridComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + + ! Local variables + type(ESMF_Field) :: srcField + type(ESMF_VM) :: vm + type(ESMF_Mesh) :: srcMesh + type(ESMF_ArraySpec) :: arrayspec + integer :: petCount, localPet, localrc + real(ESMF_KIND_R8), pointer :: fptr1D(:) + integer, pointer :: nodeIds(:),nodeOwners(:) + real(ESMF_KIND_R8), pointer :: nodeCoords(:) + integer, pointer :: elemIds(:),elemTypes(:),elemConn(:) + integer :: numNodes, numElems + integer :: numQuadElems,numTriElems, numTotElems + integer :: i + real(ESMF_KIND_R8) :: x,y + integer :: spatialDim, numOwnedNodes + real(ESMF_KIND_R8), pointer :: ownedNodeCoords(:) + + ! Query component for VM and create a layout with the right breakdown + call ESMF_GridCompGet(comp, vm=vm, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_VMGet(vm, localPet=localPet, petCount=petCount, rc=rc) + if(rc/=ESMF_SUCCESS) return + + rc = ESMF_SUCCESS + + !!!!!! Setup source Mesh !!!!!!!!! + + ! Set number of nodes + numNodes=9 + + ! Allocate and fill the node id array. + allocate(nodeIds(numNodes)) + nodeIds=(/1,2,3,4,5,6,7,8,9/) + + ! Allocate and fill node coordinate array. + ! Since this is a 2D Mesh the size is 2x the + ! number of nodes. + allocate(nodeCoords(2*numNodes)) + nodeCoords=(/0.0,0.0, & ! node id 1 + 1.0,0.0, & ! node id 2 + 2.0,0.0, & ! node id 3 + 0.0,1.0, & ! node id 4 + 1.0,1.0, & ! node id 5 + 2.0,1.0, & ! node id 6 + 0.0,2.0, & ! node id 7 + 1.0,2.0, & ! node id 8 + 2.0,2.0 /) ! node id 9 + + ! Allocate and fill the node owner array. + ! Since this Mesh is all on PET 0, it's just set to all 0. + allocate(nodeOwners(numNodes)) + nodeOwners=0 ! everything on PET 0 + + ! Set the number of each type of element, plus the total number. + numQuadElems=3 + numTriElems=2 + numTotElems=numQuadElems+numTriElems + + ! Allocate and fill the element id array. + allocate(elemIds(numTotElems)) + elemIds=(/1,2,3,4,5/) + + ! Allocate and fill the element topology type array. + allocate(elemTypes(numTotElems)) + elemTypes=(/ESMF_MESHELEMTYPE_QUAD, & ! elem id 1 + ESMF_MESHELEMTYPE_TRI, & ! elem id 2 + ESMF_MESHELEMTYPE_TRI, & ! elem id 3 + ESMF_MESHELEMTYPE_QUAD, & ! elem id 4 + ESMF_MESHELEMTYPE_QUAD/) ! elem id 5 + + + ! Allocate and fill the element connection type array. + ! Note that entries in this array refer to the + ! positions in the nodeIds, etc. arrays and that + ! the order and number of entries for each element + ! reflects that given in the Mesh options + ! section for the corresponding entry + ! in the elemTypes array. + allocate(elemConn(4*numQuadElems+3*numTriElems)) + elemConn=(/1,2,5,4, & ! elem id 1 + 2,3,5, & ! elem id 2 + 3,6,5, & ! elem id 3 + 4,5,8,7, & ! elem id 4 + 5,6,9,8/) ! elem id 5 + + ! Create Mesh structure in 1 step + srcMesh=ESMF_MeshCreate(parametricDim=2,spatialDim=2, & + coordSys=ESMF_COORDSYS_CART, & + nodeIds=nodeIds, nodeCoords=nodeCoords, & + nodeOwners=nodeOwners, elementIds=elemIds,& + elementTypes=elemTypes, elementConn=elemConn, rc=localrc) + if (localrc /=ESMF_SUCCESS) then + rc=ESMF_FAILURE + return + endif + + ! Create source field + call ESMF_ArraySpecSet(arrayspec, 1, ESMF_TYPEKIND_R8, rc=rc) + + srcField = ESMF_FieldCreate(srcMesh, arrayspec, & + name="src", rc=localrc) + if (localrc /=ESMF_SUCCESS) then + rc=ESMF_FAILURE + return + endif + + ! Load test data into the source Field + ! Should only be 1 localDE + call ESMF_FieldGet(srcField, 0, fptr1D, rc=localrc) + if (localrc /=ESMF_SUCCESS) then + rc=ESMF_FAILURE + return + endif + + ! Get number of local nodes to allocate space + ! to hold local node coords + call ESMF_MeshGet(srcMesh, numOwnedNodes=numOwnedNodes, & + rc=rc) + + ! Allocate space to hold local node coordinates + ! (spatial dimension of Mesh*number of local nodes) + allocate(ownedNodeCoords(2*numOwnedNodes)) + + ! Get local node coordinates + call ESMF_MeshGet(srcMesh, & + ownedNodeCoords=ownedNodeCoords, rc=rc) + + ! Set the source Field to the function 20.0+x+y + do i=1,numOwnedNodes + ! Get coordinates + x=ownedNodeCoords(2*i-1) + y=ownedNodeCoords(2*i) + + ! Set source function + fptr1D(i) = 20.0+x+y + enddo + + + ! deallocate node data + deallocate(nodeIds) + deallocate(nodeCoords) + deallocate(nodeOwners) + + ! deallocate elem data + deallocate(elemIds) + deallocate(elemTypes) + deallocate(elemConn) + + ! deallocate space to hold local node coordinates + deallocate(ownedNodeCoords) + + ! Add Field to State + call ESMF_StateAdd(exportState, (/srcField/), rc=rc) + if (rc .ne. ESMF_SUCCESS) return + ! call ESMF_StatePrint(exportState, rc=rc) + + end subroutine user_init + + +!------------------------------------------------------------------------- +! ! The Run routine where data is computed. +! ! + + subroutine user_run(comp, importState, exportState, clock, rc) + type(ESMF_GridComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + + ! Local variables + type(ESMF_Field) :: humidity + type(ESMF_grid) :: grid + real(ESMF_KIND_R8) :: pi + real(ESMF_KIND_R8), dimension(:,:), pointer :: idata, coordX, coordY + integer :: i, j, i1, j1 + + rc = ESMF_SUCCESS + print *, "User Comp Run starting" + + print *, "User Comp Run returning" + + end subroutine user_run + + +!------------------------------------------------------------------------- +! ! The Finalization routine where things are deleted and cleaned up. +! ! + + subroutine user_final(comp, importState, exportState, clock, rc) + type(ESMF_GridComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + + ! Local variables + type(ESMF_Field) :: srcField + type(ESMF_Mesh) :: srcMesh + + rc = ESMF_SUCCESS + print *, "User Comp Final starting" + + ! garbage collection + call ESMF_StateGet(exportState, "src", srcField, rc=rc) + if (rc .ne. ESMF_SUCCESS) return + call ESMF_FieldGet(srcField, mesh=srcMesh, rc=rc) + if (rc .ne. ESMF_SUCCESS) return + call ESMF_FieldDestroy(srcField, rc=rc) + if (rc .ne. ESMF_SUCCESS) return + call ESMF_MeshDestroy(srcMesh, rc=rc) + if (rc .ne. ESMF_SUCCESS) return + + print *, "User Comp Final returning" + + end subroutine user_final + + + end module user_model1 + +!\end{verbatim} + diff --git a/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_model2.F90 b/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_model2.F90 new file mode 100644 index 0000000000..a7a8e8a98b --- /dev/null +++ b/src/system_tests/ESMF_FieldRegridPatchDisjoint/user_model2.F90 @@ -0,0 +1,437 @@ +! $Id$ +! +! Example/test code which shows User Component calls. + +!-------------------------------------------------------------------------------- +!-------------------------------------------------------------------------------- + +!BOP +! +! !DESCRIPTION: +! User-supplied Component +! +! +!\begin{verbatim} + + module user_model2 + + ! ESMF Framework module + use ESMF + + implicit none + + public userm2_register + + contains + +!-------------------------------------------------------------------------------- +! ! The Register routine sets the subroutines to be called +! ! as the init, run, and finalize routines. Note that these are +! ! private to the module. + + subroutine userm2_register(comp, rc) + type(ESMF_GridComp) :: comp + integer, intent(out) :: rc + + rc = ESMF_SUCCESS + print *, "In user register routine" + + ! Register the callback routines. + + call ESMF_GridCompSetEntryPoint(comp, ESMF_METHOD_INITIALIZE, user_init, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_GridCompSetEntryPoint(comp, ESMF_METHOD_RUN, user_run, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_GridCompSetEntryPoint(comp, ESMF_METHOD_FINALIZE, user_final, rc=rc) + if(rc/=ESMF_SUCCESS) return + + print *, "Registered Initialize, Run, and Finalize routines" + + end subroutine + +!-------------------------------------------------------------------------------- +! ! User Comp Component created by higher level calls, here is the +! ! Initialization routine. + + subroutine user_init(comp, importState, exportState, clock, rc) + type(ESMF_GridComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + +! ! Local variables + type(ESMF_Field) :: dstField + type(ESMF_VM) :: vm + type(ESMF_Mesh) :: dstMesh + type(ESMF_ArraySpec) :: arrayspec + integer :: localPET, petCount,localrc + integer i + real(ESMF_KIND_R8), pointer :: fptr1D(:) + integer, pointer :: nodeIds(:),nodeOwners(:) + real(ESMF_KIND_R8), pointer :: nodeCoords(:) + integer, pointer :: elemIds(:),elemTypes(:),elemConn(:) + integer :: numNodes, numElems + integer :: numQuadElems,numTriElems, numTotElems + + ! Query component for VM and create a layout with the right breakdown + call ESMF_GridCompGet(comp, vm=vm, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_VMGet(vm, localPet=localPet, petCount=petCount, rc=rc) + if(rc/=ESMF_SUCCESS) return + + ! Setup mesh data depending on PET + if (localPET .eq. 0) then !!! This part only for PET 0 + ! Set number of nodes + numNodes=4 + + ! Allocate and fill the node id array. + allocate(nodeIds(numNodes)) + nodeIds=(/1,2,4,5/) + + ! Allocate and fill node coordinate array. + ! Since this is a 2D Mesh the size is 2x the + ! number of nodes. + allocate(nodeCoords(2*numNodes)) + nodeCoords=(/0.0,0.0, & ! node id 1 + 1.0,0.0, & ! node id 2 + 0.0,1.0, & ! node id 4 + 1.0,1.0 /) ! node id 5 + + ! Allocate and fill the node owner array. + allocate(nodeOwners(numNodes)) + nodeOwners=(/0, & ! node id 1 + 0, & ! node id 2 + 0, & ! node id 4 + 0/) ! node id 5 + + ! Set the number of each type of element, plus the total number. + numQuadElems=1 + numTriElems=0 + numTotElems=numQuadElems+numTriElems + + ! Allocate and fill the element id array. + allocate(elemIds(numTotElems)) + elemIds=(/1/) + + ! Allocate and fill the element topology type array. + allocate(elemTypes(numTotElems)) + elemTypes=(/ESMF_MESHELEMTYPE_QUAD/) ! elem id 1 + + ! Allocate and fill the element connection type array. + ! Note that entry are local indices + allocate(elemConn(4*numQuadElems+3*numTriElems)) + elemConn=(/1,2,4,3/) ! elem id 1 + + else if (localPET .eq. 1) then !!! This part only for PET 1 + ! Set number of nodes + numNodes=4 + + ! Allocate and fill the node id array. + allocate(nodeIds(numNodes)) + nodeIds=(/2,3,5,6/) + + ! Allocate and fill node coordinate array. + ! Since this is a 2D Mesh the size is 2x the + ! number of nodes. + allocate(nodeCoords(2*numNodes)) + nodeCoords=(/1.0,0.0, & ! node id 2 + 2.0,0.0, & ! node id 3 + 1.0,1.0, & ! node id 5 + 2.0,1.0 /) ! node id 6 + + ! Allocate and fill the node owner array. + allocate(nodeOwners(numNodes)) + nodeOwners=(/0, & ! node id 2 + 1, & ! node id 3 + 0, & ! node id 5 + 1/) ! node id 6 + + ! Set the number of each type of element, plus the total number. + numQuadElems=0 + numTriElems=2 + numTotElems=numQuadElems+numTriElems + + ! Allocate and fill the element id array. + allocate(elemIds(numTotElems)) + elemIds=(/2,3/) + + ! Allocate and fill the element topology type array. + allocate(elemTypes(numTotElems)) + elemTypes=(/ESMF_MESHELEMTYPE_TRI, & ! elem id 2 + ESMF_MESHELEMTYPE_TRI/) ! elem id 3 + + ! Allocate and fill the element connection type array. + allocate(elemConn(4*numQuadElems+3*numTriElems)) + elemConn=(/1,2,3, & ! elem id 2 + 2,4,3/) ! elem id 3 + + else if (localPET .eq. 2) then !!! This part only for PET 2 + ! Set number of nodes + numNodes=4 + + ! Allocate and fill the node id array. + allocate(nodeIds(numNodes)) + nodeIds=(/4,5,7,8/) + + ! Allocate and fill node coordinate array. + ! Since this is a 2D Mesh the size is 2x the + ! number of nodes. + allocate(nodeCoords(2*numNodes)) + nodeCoords=(/0.0,1.0, & ! node id 4 + 1.0,1.0, & ! node id 5 + 0.0,2.0, & ! node id 7 + 1.0,2.0 /) ! node id 8 + + ! Allocate and fill the node owner array. + ! Since this Mesh is all on PET 0, it's just set to all 0. + allocate(nodeOwners(numNodes)) + nodeOwners=(/0, & ! node id 4 + 0, & ! node id 5 + 2, & ! node id 7 + 2/) ! node id 8 + + ! Set the number of each type of element, plus the total number. + numQuadElems=1 + numTriElems=0 + numTotElems=numQuadElems+numTriElems + + ! Allocate and fill the element id array. + allocate(elemIds(numTotElems)) + elemIds=(/4/) + + ! Allocate and fill the element topology type array. + allocate(elemTypes(numTotElems)) + elemTypes=(/ESMF_MESHELEMTYPE_QUAD/) ! elem id 4 + + ! Allocate and fill the element connection type array. + allocate(elemConn(4*numQuadElems+3*numTriElems)) + elemConn=(/1,2,4,3/) ! elem id 4 + + else if (localPET .eq. 3) then !!! This part only for PET 3 + ! Set number of nodes + numNodes=4 + + ! Allocate and fill the node id array. + allocate(nodeIds(numNodes)) + nodeIds=(/5,6,8,9/) + + ! Allocate and fill node coordinate array. + ! Since this is a 2D Mesh the size is 2x the + ! number of nodes. + allocate(nodeCoords(2*numNodes)) + nodeCoords=(/1.0,1.0, & ! node id 5 + 2.0,1.0, & ! node id 6 + 1.0,2.0, & ! node id 8 + 2.0,2.0 /) ! node id 9 + + ! Allocate and fill the node owner array. + allocate(nodeOwners(numNodes)) + nodeOwners=(/0, & ! node id 5 + 1, & ! node id 6 + 2, & ! node id 8 + 3/) ! node id 9 + + ! Set the number of each type of element, plus the total number. + numQuadElems=1 + numTriElems=0 + numTotElems=numQuadElems+numTriElems + + ! Allocate and fill the element id array. + allocate(elemIds(numTotElems)) + elemIds=(/5/) + + ! Allocate and fill the element topology type array. + allocate(elemTypes(numTotElems)) + elemTypes=(/ESMF_MESHELEMTYPE_QUAD/) ! elem id 5 + + ! Allocate and fill the element connection type array. + allocate(elemConn(4*numQuadElems+3*numTriElems)) + elemConn=(/1,2,4,3/) ! elem id 5 + endif + + + ! Create Mesh structure in 1 step + dstMesh=ESMF_MeshCreate(parametricDim=2,spatialDim=2, & + coordSys=ESMF_COORDSYS_CART, & + nodeIds=nodeIds, nodeCoords=nodeCoords, & + nodeOwners=nodeOwners, elementIds=elemIds,& + elementTypes=elemTypes, elementConn=elemConn, rc=localrc) + if (localrc /=ESMF_SUCCESS) then + rc=ESMF_FAILURE + return + endif + + ! deallocate node data + deallocate(nodeIds) + deallocate(nodeCoords) + deallocate(nodeOwners) + + ! deallocate elem data + deallocate(elemIds) + deallocate(elemTypes) + deallocate(elemConn) + + + ! Create dest field + call ESMF_ArraySpecSet(arrayspec, 1, ESMF_TYPEKIND_R8, rc=rc) + + dstField = ESMF_FieldCreate(dstMesh, arrayspec, & + name="dst", rc=localrc) + if (localrc /=ESMF_SUCCESS) then + rc=ESMF_FAILURE + return + endif + + + ! clear destination Field + ! Should only be 1 localDE + call ESMF_FieldGet(dstField, 0, fptr1D, rc=localrc) + if (localrc /=ESMF_SUCCESS) then + rc=ESMF_FAILURE + return + endif + + fptr1D=0.0 + + ! Set Field Into State + call ESMF_StateAdd(importState, (/dstField/), rc=rc) + if (rc/=ESMF_SUCCESS) return + + ! Return success + rc = ESMF_SUCCESS + + end subroutine user_init + + +!-------------------------------------------------------------------------------- +! ! The Run routine where data is computed. +! ! + + subroutine user_run(comp, importState, exportState, clock, rc) + type(ESMF_GridComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + +! ! Local variables + type(ESMF_Field) :: dstField + type(ESMF_Mesh) :: dstMesh + type(ESMF_VM) :: vm + integer :: localrc,i + integer :: localPet, petCount + real(ESMF_KIND_R8), pointer :: fptr1D(:) + real(ESMF_KIND_R8) :: x,y + integer :: numOwnedNodes + real(ESMF_KIND_R8), pointer :: ownedNodeCoords(:) + + rc = ESMF_SUCCESS + + ! Query component for VM and create a layout with the right breakdown + call ESMF_GridCompGet(comp, vm=vm, rc=rc) + if(rc/=ESMF_SUCCESS) return + call ESMF_VMGet(vm, localPet=localPet, petCount=petCount, rc=rc) + if(rc/=ESMF_SUCCESS) return + + ! Get information from the component. + call ESMF_StateGet(importState, "dst", dstField, rc=rc) + if(rc/=ESMF_SUCCESS) return + + + ! Get Grid from field + call ESMF_FieldGet(dstField, mesh=dstMesh, rc=localrc) + if (localrc /=ESMF_SUCCESS) then + rc=ESMF_FAILURE + return + endif + + ! Check destination field + ! Should only be 1 localDE + call ESMF_FieldGet(dstField, 0, fptr1D, rc=localrc) + if (localrc /=ESMF_SUCCESS) then + rc=ESMF_FAILURE + return + endif + + + ! Get number of local nodes to allocate space + ! to hold local node coords + call ESMF_MeshGet(dstMesh, numOwnedNodes=numOwnedNodes, & + rc=rc) + + ! Allocate space to hold local node coordinates + ! (spatial dimension of Mesh*number of local nodes) + allocate(ownedNodeCoords(2*numOwnedNodes)) + + ! Get local node coordinates + call ESMF_MeshGet(dstMesh, & + ownedNodeCoords=ownedNodeCoords, rc=rc) + + + ! loop through nodes and make sure interpolated values are reasonable + do i=1,numOwnedNodes + ! Get coordinates + x=ownedNodeCoords(2*i-1) + y=ownedNodeCoords(2*i) + + !! if error is too big report an error + if ( abs( fptr1D(i)-(x+y+20.0) ) > 0.0001) then + rc=ESMF_FAILURE + return + endif + enddo + + ! deallocate space to hold local node coordinates + deallocate(ownedNodeCoords) + + ! RESET DESTINATION BACK TO 0 + fptr1D=0.0 + + ! Return success + rc = ESMF_SUCCESS + + end subroutine user_run + + +!-------------------------------------------------------------------------------- +! ! The Finalization routine where things are deleted and cleaned up. +! ! + + subroutine user_final(comp, importState, exportState, clock, rc) + type(ESMF_GridComp) :: comp + type(ESMF_State) :: importState, exportState + type(ESMF_Clock) :: clock + integer, intent(out) :: rc + + ! Local variables + type(ESMF_Field) :: dstField + type(ESMF_Mesh) :: dstMesh + + rc = ESMF_SUCCESS + print *, "User Comp Final starting" + + ! check validity of results + ! Get Fields from import state + call ESMF_StateGet(importState, "dst", dstField, rc=rc) + if(rc/=ESMF_SUCCESS) return + + ! garbage collection + call ESMF_FieldGet(dstField, mesh=dstMesh, rc=rc) + if (rc .ne. ESMF_SUCCESS) return + + call ESMF_FieldDestroy(dstField, rc=rc) + if (rc .ne. ESMF_SUCCESS) return + + call ESMF_MeshDestroy(dstMesh, rc=rc) + if (rc .ne. ESMF_SUCCESS) return + + print *, "User Comp Final returning" + + ! Return success + rc = ESMF_SUCCESS + end subroutine user_final + + + end module user_model2 + +!\end{verbatim} + diff --git a/src/system_tests/makefile b/src/system_tests/makefile index 569e7d4ba8..ed09c94a85 100644 --- a/src/system_tests/makefile +++ b/src/system_tests/makefile @@ -44,6 +44,7 @@ DIRS = ESMF_CompCreate \ ESMF_FieldRegridMesh \ ESMF_FieldRegridMeshToMesh \ ESMF_FieldRegridLS \ + ESMF_FieldRegridPatchDisjoint \ ESMF_FieldSparseMatMul \ ESMF_FieldSharedDeSSI \ ESMF_FieldLSRedistArb2Arb \ diff --git a/src/test_harness/src/ESMF_TestHarnessDistMod.F90 b/src/test_harness/src/ESMF_TestHarnessDistMod.F90 index 9c9ab8c2e1..d2767a5820 100644 --- a/src/test_harness/src/ESMF_TestHarnessDistMod.F90 +++ b/src/test_harness/src/ESMF_TestHarnessDistMod.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/test_harness/src/ESMF_TestHarnessGridMod.F90 b/src/test_harness/src/ESMF_TestHarnessGridMod.F90 index e7bbc3d050..eda7f88759 100644 --- a/src/test_harness/src/ESMF_TestHarnessGridMod.F90 +++ b/src/test_harness/src/ESMF_TestHarnessGridMod.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/test_harness/src/ESMF_TestHarnessMod.F90 b/src/test_harness/src/ESMF_TestHarnessMod.F90 index 2086495d60..4c1e0ae029 100644 --- a/src/test_harness/src/ESMF_TestHarnessMod.F90 +++ b/src/test_harness/src/ESMF_TestHarnessMod.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/test_harness/src/ESMF_TestHarnessParser.F90 b/src/test_harness/src/ESMF_TestHarnessParser.F90 index 1d29a237c1..9102e839fb 100644 --- a/src/test_harness/src/ESMF_TestHarnessParser.F90 +++ b/src/test_harness/src/ESMF_TestHarnessParser.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/test_harness/src/ESMF_TestHarnessReportMod.F90 b/src/test_harness/src/ESMF_TestHarnessReportMod.F90 index 09b9f52870..d01c3afcc2 100644 --- a/src/test_harness/src/ESMF_TestHarnessReportMod.F90 +++ b/src/test_harness/src/ESMF_TestHarnessReportMod.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/test_harness/src/ESMF_TestHarnessTypesMod.F90 b/src/test_harness/src/ESMF_TestHarnessTypesMod.F90 index 6c2f8ee55d..9d86c0d0b3 100644 --- a/src/test_harness/src/ESMF_TestHarnessTypesMod.F90 +++ b/src/test_harness/src/ESMF_TestHarnessTypesMod.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/test_harness/src/ESMF_TestHarnessUTest.F90 b/src/test_harness/src/ESMF_TestHarnessUTest.F90 index 2d47412e93..47b7911beb 100644 --- a/src/test_harness/src/ESMF_TestHarnessUTest.F90 +++ b/src/test_harness/src/ESMF_TestHarnessUTest.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, diff --git a/src/test_harness/src/ESMF_TestHarnessUtilMod.F90 b/src/test_harness/src/ESMF_TestHarnessUtilMod.F90 index fe1a7c5c68..823169ce0f 100644 --- a/src/test_harness/src/ESMF_TestHarnessUtilMod.F90 +++ b/src/test_harness/src/ESMF_TestHarnessUtilMod.F90 @@ -1,7 +1,7 @@ ! $Id$ ! ! Earth System Modeling Framework -! Copyright (c) 2002-2023, University Corporation for Atmospheric Research, +! Copyright (c) 2002-2024, University Corporation for Atmospheric Research, ! Massachusetts Institute of Technology, Geophysical Fluid Dynamics ! Laboratory, University of Michigan, National Centers for Environmental ! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,