Skip to content

Commit

Permalink
Merge branch 'release/8.3.0' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
theurich committed Jun 6, 2022
2 parents 5c6ca08 + 86d44b3 commit 8fad5b5
Show file tree
Hide file tree
Showing 2,630 changed files with 440,054 additions and 221,193 deletions.
37 changes: 27 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ jobs:
build-esmf-docs:
docker:
- image: cimg/base:2020.01
resource_class: large
steps:
- setup_remote_docker
- run:
Expand Down Expand Up @@ -160,12 +161,16 @@ jobs:
destination: doc-artifacts.zip

publish-esmf-docs:
machine: true
machine:
image: ubuntu-2004:202201-02
resource_class: medium
steps:
- restore_cache:
keys:
- esmf-docs-{{ .Revision }}
- add_ssh_keys:
fingerprints:
- "14:e5:89:bd:fe:9a:28:7e:06:56:f2:0d:93:ff:9a:9c"
- run:
name: Prep Artifacts
command: cd /tmp/artifacts && unzip doc-artifacts.zip
Expand Down Expand Up @@ -206,12 +211,16 @@ jobs:
destination: test_coverage-artifacts.zip

publish-test-coverage:
machine: true
machine:
image: ubuntu-2004:202201-02
resource_class: medium
steps:
- restore_cache:
keys:
- test-coverage-{{ .Revision }}
- add_ssh_keys:
fingerprints:
- "4a:f2:d9:dd:d6:2a:4e:fd:79:06:72:29:4c:d9:c0:8c"
- run:
name: Prep Test Coverage
command: cd /tmp/artifacts && unzip test_coverage-artifacts.zip
Expand All @@ -238,7 +247,7 @@ jobs:
command: git clone --branch $CIRCLE_BRANCH https://github.com/esmf-org/esmf.git
- run:
name: Docker Run API Changes
command: docker build -t "esmf/api-change:${CIRCLE_BRANCH_NEW}" --file "ESCOMP-Containers/ESMF/API_changes/Dockerfile" --build-arg DOCKER_NAMESPACE="esmf" --build-arg TAG1="ESMF_8_1_0" --build-arg TAG2="${CIRCLE_BRANCH}" --no-cache .
command: docker build -t "esmf/api-change:${CIRCLE_BRANCH_NEW}" --file "ESCOMP-Containers/ESMF/API_changes/Dockerfile" --build-arg DOCKER_NAMESPACE="esmf" --build-arg TAG1="ESMF_8_2_0" --build-arg TAG2="${CIRCLE_BRANCH}" --no-cache .
- run:
name: Extract API Changes
command: bash esmf/.circleci/sh/extract-artifacts.sh "/tmp/artifacts" "/artifacts/api_change-artifacts.zip" "esmf/api-change:${CIRCLE_BRANCH_NEW}"
Expand All @@ -252,12 +261,16 @@ jobs:
destination: api_change-artifacts.zip

publish-api-change:
machine: true
machine:
image: ubuntu-2004:202201-02
resource_class: medium
steps:
- restore_cache:
keys:
- api-change-{{ .Revision }}
- add_ssh_keys:
fingerprints:
- "4a:f2:d9:dd:d6:2a:4e:fd:79:06:72:29:4c:d9:c0:8c"
- run:
name: Prep API Changes
command: cd /tmp/artifacts && unzip api_change-artifacts.zip
Expand Down Expand Up @@ -315,12 +328,16 @@ jobs:
destination: doc-esmpy.zip

publish-esmpy-docs:
machine: true
machine:
image: ubuntu-2004:202201-02
resource_class: medium
steps:
- restore_cache:
keys:
- esmpy-docs-{{ .Revision }}
- add_ssh_keys:
fingerprints:
- "bd:e1:a6:87:3f:d5:fe:18:88:69:eb:55:bf:f9:e4:3d"
- run:
name: Prep Artifacts
command: cd /tmp/artifacts && unzip doc-esmpy.zip
Expand Down Expand Up @@ -482,11 +499,11 @@ workflows:
- publish-esmf-docs:
requires:
- build-esmf-docs
filters:
branches:
only:
- develop
- /^release/.*$/
# filters:
# branches:
# only:
# - develop
# - /^release/.*$/
- build-esmpy-docs
# requires:
# - should-build-docs
Expand Down
2 changes: 1 addition & 1 deletion .circleci/sh/doc-push.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -Eeuxo pipefail
DOC_ARTIFACTS="/tmp/artifacts/artifacts"

git config --global user.email "dunlap@ucar.edu"
git config --global user.name "esmf-orgbot"
git config --global user.name "esmf-bot"

cd

Expand Down
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ PET*.ESMF_LogFile
/src/include/
/test/
/examples/
/src/Infrastructure/IO/PIO/Build/
/src/Infrastructure/IO/PIO/Install/

# protex generated files #
##########################
Expand All @@ -43,6 +45,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/IO/interface/ESMF_IO_NCPutGet.F90
src/Infrastructure/Util/doc/ESMC_ReturnCodes.tex
src/Infrastructure/Util/src/ESMF_FortranWordsize.F90
Expand Down Expand Up @@ -101,7 +105,6 @@ src/doc/ESMF_usrdoc.tex.ORIG
src/doc/ESMF_usrdoc.toc
src/doc/.latex2html-init


# special test files that cannot be cleaned after build #
############################################################
src/system_tests/ESMF_ArrayRedistMPMD/ESMF_ArrayRedistSTestA.o
Expand All @@ -112,6 +115,8 @@ src/system_tests/ESMF_ArrayRedistMPMD/user_model1.mod
src/system_tests/ESMF_ArrayRedistMPMD/user_model1.o
src/system_tests/ESMF_ArrayRedistMPMD/user_model2.mod
src/system_tests/ESMF_ArrayRedistMPMD/user_model2.o
src/system_tests/ESMF_ArrayRedistSharedObj/user_coupler.so
src/system_tests/ESMF_ArrayRedistSharedObj/user_model1.so

src/Infrastructure/Trace/preload/preload.o
src/Infrastructure/Trace/preload/preload_io.o
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Earth System Modeling Framework

Copyright (c) 2002-2021 University Corporation for Atmospheric Research,
Copyright (c) 2002-2022 University Corporation for Atmospheric Research,
Massachusetts Institute of Technology, Geophysical Fluid Dynamics Laboratory,
University of Michigan, National Centers for Environmental Prediction,
Los Alamos National Laboratory, Argonne National Laboratory,
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Earth System Modeling Framework (ESMF)

>Copyright (c) 2002-2021 University Corporation for Atmospheric 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-2022 University Corporation for Atmospheric 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.

Expand All @@ -18,7 +18,7 @@ Hello and welcome to ESMF.

## Building ESMF

* To build ESMF from source consult the [Building ESMF](http://earthsystemmodeling.org/docs/nightly/develop/ESMF_usrdoc/node9.html) section of the [ESMF User's Guide](http://earthsystemmodeling.org/docs/nightly/develop/ESMF_usrdoc/).
* To build ESMF from source consult the [Building ESMF](http://earthsystemmodeling.org/docs/nightly/develop/ESMF_usrdoc/node10.html) section of the [ESMF User's Guide](http://earthsystemmodeling.org/docs/nightly/develop/ESMF_usrdoc/).
* For testing ESMF, see [Testing makefile targets](http://earthsystemmodeling.org/docs/nightly/develop/ESMF_usrdoc/node11.html).
* Pre-built binaries for ESMF and ESMPy are also available on `conda-forge` (_note Windows is not supported_):
```
Expand Down
135 changes: 122 additions & 13 deletions build/common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,11 @@ endif

ifndef ESMF_COMM
export ESMF_COMM = default
else
ifeq ($(ESMF_COMM),mpich3)
export ESMF_COMM = mpich
$(warning !!! For MPICH3 and up, please use ESMF_COMM=mpich !!!)
endif
endif

ifndef ESMF_COMPILER
Expand Down Expand Up @@ -744,11 +749,14 @@ ESMF_GREPV = grep -v
# dummies here, expected to be overwritten in platform files if used
ESMF_F90RPATHPREFIX = -L
ESMF_CXXRPATHPREFIX = -L
ESMF_CRPATHPREFIX = -L

ESMF_F90OPTFLAG_X =
ESMF_CXXOPTFLAG_X =
ESMF_COPTFLAG_X =
ESMF_F90OPTFLAG_G = -g
ESMF_CXXOPTFLAG_G = -g
ESMF_COPTFLAG_G = -g

# setting default optimization flags is platform dependent
ifneq ($(origin ESMF_OPTLEVEL), environment)
Expand All @@ -763,6 +771,7 @@ else
ESMF_F90OPTFLAG_O = -O$(ESMF_OPTLEVEL)
endif
ESMF_CXXOPTFLAG_O = -O$(ESMF_OPTLEVEL) -DNDEBUG
ESMF_COPTFLAG_O = -O$(ESMF_OPTLEVEL) -DNDEBUG
else
# if NEC, insert option before -O
ifeq ($(ESMF_COMPILER),sxcross)
Expand All @@ -771,6 +780,7 @@ else
ESMF_F90OPTFLAG_O = -O
endif
ESMF_CXXOPTFLAG_O = -O2 -DNDEBUG
ESMF_COPTFLAG_O = -O2 -DNDEBUG
endif


Expand Down Expand Up @@ -878,6 +888,51 @@ ESMF_CXXCOMPILEPATHSLOCAL += -I$(ESMF_CONFDIR) $(ESMF_INTERNALINCDIRS)
ESMF_CXXCOMPILEPATHS += -I$(ESMF_INCDIR) $(ESMF_CXXCOMPILEPATHSTHIRD)
ESMF_CXXCOMPILECPPFLAGS += $(ESMF_CPPFLAGS) -D__SDIR__='"$(LOCDIR)"'

# - CCOMPILER
ifneq ($(origin ESMF_CCOMPILER), environment)
ifeq ($(origin ESMF_C), environment)
ESMF_CCOMPILER = $(ESMF_C)
else
ESMF_CCOMPILER = $(ESMF_CCOMPILERDEFAULT)
ESMF_CCOMPILERDEFAULT = $(ESMF_CDEFAULT)
endif
endif
ifneq ($(origin ESMF_COPTFLAG), environment)
ESMF_COPTFLAG = $(ESMF_COPTFLAG_X)
ifeq ($(ESMF_BOPT),g)
ESMF_COPTFLAG = $(ESMF_COPTFLAG_G)
endif
ifeq ($(ESMF_BOPT),O)
ESMF_COPTFLAG = $(ESMF_COPTFLAG_O)
endif
endif
# - make sure environment variable gets prepended _once_
ifeq ($(origin ESMF_CCOMPILEOPTS), environment)
export ESMF_CCOMPILEOPTS_ENV := $(ESMF_CCOMPILEOPTS)
unexport ESMF_CCOMPILEOPTS
endif
ifeq ($(origin ESMF_CCOMPILEOPTS_ENV), environment)
ESMF_CCOMPILEOPTS = $(ESMF_CCOMPILEOPTS_ENV)
endif
ESMF_CCOMPILEOPTS += $(ESMF_CSTDFLAG) $(ESMF_COPTFLAG) $(ESMF_SO_CCOMPILEOPTS)
# - make sure environment variable gets prepended _once_
ifeq ($(origin ESMF_CCOMPILEPATHS), environment)
export ESMF_CCOMPILEPATHS_ENV := $(ESMF_CCOMPILEPATHS)
unexport ESMF_CCOMPILEPATHS
endif
ifeq ($(origin ESMF_CCOMPILEPATHS_ENV), environment)
ESMF_CCOMPILEPATHS = $(ESMF_CCOMPILEPATHS_ENV)
endif
ESMF_CCOMPILEPATHS +=
ESMF_CCOMPILEPATHSLOCAL = -I$(ESMF_DIR)/$(LOCDIR)
ESMF_CCOMPILEPATHSLOCAL += -I$(ESMF_DIR)/$(LOCDIR)/../include
ifneq ($(ESMF_SITE),default)
ESMF_CCOMPILEPATHSLOCAL += -I$(ESMF_SITEDIR)
endif
ESMF_CCOMPILEPATHSLOCAL += -I$(ESMF_CONFDIR) $(ESMF_INTERNALINCDIRS)
ESMF_CCOMPILEPATHS += -I$(ESMF_INCDIR) $(ESMF_CCOMPILEPATHSTHIRD)
ESMF_CCOMPILECPPFLAGS += $(ESMF_CPPFLAGS) -D__SDIR__='"$(LOCDIR)"'

# - F90LINKER
ifneq ($(origin ESMF_F90LINKER), environment)
ifeq ($(origin ESMF_F90), environment)
Expand Down Expand Up @@ -986,6 +1041,60 @@ endif
ESMF_CXXLINKLIBS +=
ESMF_CXXESMFLINKLIBS += -lesmf $(ESMF_CXXLINKLIBS)

# - CLINKER
ifneq ($(origin ESMF_CLINKER), environment)
ifeq ($(origin ESMF_C), environment)
ESMF_CLINKER = $(ESMF_C)
else
ESMF_CLINKER = $(ESMF_CLINKERDEFAULT)
ESMF_CLINKERDEFAULT = $(ESMF_CDEFAULT)
endif
endif
# - make sure environment variable gets prepended _once_
ifeq ($(origin ESMF_CLINKOPTS), environment)
export ESMF_CLINKOPTS_ENV := $(ESMF_CLINKOPTS)
unexport ESMF_CLINKOPTS
endif
ifeq ($(origin ESMF_CLINKOPTS_ENV), environment)
ESMF_CLINKOPTS = $(ESMF_CLINKOPTS_ENV)
else
ifeq ($(ESMF_BOPT),g)
ESMF_CLINKOPTS += $(ESMF_LINKOPTFLAG_G)
endif
ifeq ($(ESMF_BOPT),O)
ESMF_CLINKOPTS += $(ESMF_LINKOPTFLAG_O)
endif
endif
ESMF_CLINKOPTS +=
# - make sure environment variable gets prepended _once_
ifeq ($(origin ESMF_CLINKPATHS), environment)
export ESMF_CLINKPATHS_ENV := $(ESMF_CLINKPATHS)
unexport ESMF_CLINKPATHS
endif
ifeq ($(origin ESMF_CLINKPATHS_ENV), environment)
ESMF_CLINKPATHS = $(ESMF_CLINKPATHS_ENV)
endif
ESMF_CLINKPATHS += -L$(ESMF_LDIR) $(ESMF_CLINKPATHSTHIRD)
# - make sure environment variable gets prepended _once_
ifeq ($(origin ESMF_CLINKRPATHS), environment)
export ESMF_CLINKRPATHS_ENV := $(ESMF_CLINKRPATHS)
unexport ESMF_CLINKRPATHS
endif
ifeq ($(origin ESMF_CLINKRPATHS_ENV), environment)
ESMF_CLINKRPATHS = $(ESMF_CLINKRPATHS_ENV)
endif
ESMF_CLINKRPATHS += $(ESMF_CRPATHPREFIX)$(ESMF_LDIR) $(ESMF_CLINKRPATHSTHIRD)
# - make sure environment variable gets prepended _once_
ifeq ($(origin ESMF_CLINKLIBS), environment)
export ESMF_CLINKLIBS_ENV := $(ESMF_CLINKLIBS)
unexport ESMF_CLINKLIBS
endif
ifeq ($(origin ESMF_CLINKLIBS_ENV), environment)
ESMF_CLINKLIBS = $(ESMF_CLINKLIBS_ENV)
endif
ESMF_CLINKLIBS +=
ESMF_CESMFLINKLIBS += -lesmf $(ESMF_CLINKLIBS)

# - tools: AR + RANLIB + ...
ifneq ($(origin ESMF_AR), environment)
ESMF_AR = $(ESMF_ARDEFAULT)
Expand Down Expand Up @@ -1051,6 +1160,9 @@ ESMF_SO_F90LINKOPTSEXE +=
ESMF_SO_CXXCOMPILEOPTS +=
ESMF_SO_CXXLINKOPTS +=
ESMF_SO_CXXLINKOPTSEXE +=
ESMF_SO_CCOMPILEOPTS = $(ESMF_SO_CXXCOMPILEOPTS)
ESMF_SO_CLINKOPTS = $(ESMF_SO_CXXLINKOPTS)
ESMF_SO_CLINKOPTSEXE = $(ESMF_SO_CXXLINKOPTSEXE)

# - OpenMP compiler and linker flags
ESMF_OPENMP_F90COMPILEOPTS +=
Expand Down Expand Up @@ -1563,6 +1675,13 @@ ifeq ($(ESMF_COMM),mpiuni)
#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
# through, but will trigger the error down when actually attempting to build
# PIO internally.
ESMF_PIO = OFF
endif
endif

endif
Expand All @@ -1571,14 +1690,11 @@ ifeq ($(ESMF_PIO),OFF)
ESMF_PIO=
endif

ifeq ($(ESMF_PIO),external)
ifneq ($(origin ESMF_PIO_LIBS), environment)
ESMF_PIO_LIBS = -lpio
endif
endif

ifdef ESMF_PIO
ESMF_CPPFLAGS += -DESMF_PIO=1
ifneq ($(origin ESMF_PIO_LIBS), environment)
ESMF_PIO_LIBS = -lpioc
endif
ifdef ESMF_PIO_INCLUDE
ESMF_CXXCOMPILEPATHSTHIRD += -I$(ESMF_PIO_INCLUDE)
ESMF_F90COMPILEPATHSTHIRD += -I$(ESMF_PIO_INCLUDE)
Expand All @@ -1597,13 +1713,6 @@ ESMF_F90LINKRPATHSTHIRD += $(ESMF_F90RPATHPREFIX)$(ESMF_PIO_LIBPATH)
endif
endif

ifneq ($(ESMF_COMM),mpiuni)
ifneq ($(ESMF_COMM),mvapich)
export ESMF_MPIIO = supported
ESMF_CPPFLAGS += -DESMF_MPIIO
endif
endif

#-------------------------------------------------------------------------------
# Proj.4
#-------------------------------------------------------------------------------
Expand Down
Loading

0 comments on commit 8fad5b5

Please sign in to comment.