Skip to content

Commit

Permalink
Merge branch 'release/8.4.0' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
theurich committed Oct 24, 2022
2 parents 8fad5b5 + ed4d9d6 commit 9935617
Show file tree
Hide file tree
Showing 352 changed files with 31,229 additions and 19,841 deletions.
19 changes: 9 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -247,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_2_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="v8.3.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 Down Expand Up @@ -490,12 +490,11 @@ workflows:

docs-commit:
jobs:
# - should-build-docs:
# type: approval
# - build-esmf-docs:
# requires:
# - should-build-docs
- build-esmf-docs
- should-build-docs:
type: approval
- build-esmf-docs:
requires:
- should-build-docs
- publish-esmf-docs:
requires:
- build-esmf-docs
Expand All @@ -504,9 +503,9 @@ workflows:
# only:
# - develop
# - /^release/.*$/
- build-esmpy-docs
# requires:
# - should-build-docs
- build-esmpy-docs:
requires:
- should-build-docs
- publish-esmpy-docs:
requires:
- build-esmpy-docs
Expand Down
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
src/doc export-ignore
.gitattributes export-ignore
.gitignore export-ignore

*.C linguist-language=C++
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/01_esmf_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
name: Framework Issue
about: Issues for tracking specific changes to the ESMF codebase. These are typically created by ESMF Core Team members.

---
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: ESMF Support
url: http://earthsystemmodeling.org/support/
about: To get help with using ESMF, please send an email to esmf_support@ucar.edu.
47 changes: 47 additions & 0 deletions .github/workflows/api-change.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Generate API changes

on:
workflow_dispatch:
inputs:
tag1:
description: 'First ESMF Tag'
required: true
default: 'v8.3.0'
tag2:
description: 'Second ESMF Tag'
required: true
default: 'develop'

jobs:

build:

runs-on: ubuntu-latest

steps:

- name: Checkout Dockerfiles
uses: actions/checkout@v3
with:
repository: esmf-org/esmf-containers
path: esmf-containers
ref: main

- name: Build Docker image
run: |
cd ${{ github.workspace }}/esmf-containers/api-change
docker build . --tag esmf/api-change --build-arg TAG1="${{ inputs.tag1 }}" --build-arg TAG2="${{ inputs.tag2 }}"
- name: Copy artifacts
run: |
mkdir -p ${{ github.workspace }}/artifacts
CID=$(docker run -dit --name runner esmf/api-change)
docker cp ${CID}:/artifacts/api_change-artifacts.zip ${{ github.workspace }}/artifacts
docker stop ${CID}
docker rm ${CID}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: api-change
path: ${{ github.workspace }}/artifacts
75 changes: 75 additions & 0 deletions .github/workflows/build-esmf-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Build ESMF Docs

on:
workflow_dispatch:
push:

concurrency:
group: build-esmf-docs-${{ github.ref_name }}
cancel-in-progress: true

jobs:

build:

runs-on: ubuntu-latest

steps:

- name: Checkout Dockerfiles
uses: actions/checkout@v3
with:
repository: esmf-org/esmf-containers
path: esmf-containers
ref: main

- name: Build Docker image
run: |
cd ${{ github.workspace }}/esmf-containers/build-esmf-docs/esmf
docker build . --tag esmf/build-esmf-docs --build-arg ESMF_BRANCH="${{ github.ref_name }}" --no-cache
- name: Extract artifacts
run: |
mkdir -p ${{ github.workspace }}/artifacts
CID=$(docker run -dit --name runner esmf/build-esmf-docs)
docker cp ${CID}:/artifacts/doc-artifacts.zip ${{ github.workspace }}/artifacts
docker stop ${CID}
docker rm ${CID}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: esmf-docs
path: ${{ github.workspace }}/artifacts

- name: Checkout esmf-org.github.io
uses: actions/checkout@v3
with:
repository: esmf-org/esmf-org.github.io
path: esmf-org.github.io
token: ${{ secrets.ESMF_WEB_TOKEN }}

- name: Copy docs
run: |
cd ${{ github.workspace }}/esmf-org.github.io
mkdir -p docs/nightly/${{ github.ref_name }}/dev_guide
cd ${{ github.workspace }}/artifacts
unzip doc-artifacts.zip
cd ${{ github.workspace }}/artifacts/artifacts/doc-esmf
cp -rf ./* ${{ github.workspace }}/esmf-org.github.io/docs/nightly/${{ github.ref_name }}/
cd ${{ github.workspace }}/artifacts/artifacts/doc-nuopc
cp -rf NUOPC_refdoc ${{ github.workspace }}/esmf-org.github.io/docs/nightly/${{ github.ref_name }}/
cp -rf NUOPC_refdoc.pdf ${{ github.workspace }}/esmf-org.github.io/docs/nightly/${{ github.ref_name }}/
cp -rf NUOPC_howtodoc ${{ github.workspace }}/esmf-org.github.io/docs/nightly/${{ github.ref_name }}/
cp -rf NUOPC_howtodoc.pdf ${{ github.workspace }}/esmf-org.github.io/docs/nightly/${{ github.ref_name }}/
cd ${{ github.workspace }}/artifacts/artifacts/doc-dev_guide
cp -rf ./dev_guide/dev_guide/* ${{ github.workspace }}/esmf-org.github.io/docs/nightly/${{ github.ref_name }}/dev_guide/
- name: Commit and publish docs
uses: actions-js/push@master
with:
repository: esmf-org/esmf-org.github.io
directory: ${{ github.workspace }}/esmf-org.github.io
branch: master
github_token: ${{ secrets.ESMF_WEB_TOKEN }}
message: 'Publish ESMF Docs'
69 changes: 69 additions & 0 deletions .github/workflows/build-esmpy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Build ESMPy Docs

on:
workflow_dispatch:
push:

concurrency:
group: build-esmpy-docs-${{ github.ref_name }}
cancel-in-progress: true

jobs:

build:

runs-on: ubuntu-latest

steps:

- name: Checkout Dockerfiles
uses: actions/checkout@v3
with:
repository: esmf-org/esmf-containers
path: esmf-containers
ref: main

- name: Build Docker image
run: |
cd ${{ github.workspace }}/esmf-containers/build-esmf-docs/esmpy
docker build . --tag esmf/build-esmpy-docs --build-arg ESMF_BRANCH="${{ github.ref_name }}" --no-cache
- name: Copy artifacts
run: |
mkdir -p ${{ github.workspace }}/artifacts
CID=$(docker run -dit --name runner esmf/build-esmpy-docs)
docker cp ${CID}:/artifacts/doc-esmpy.zip ${{ github.workspace }}/artifacts
docker stop ${CID}
docker rm ${CID}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: esmpy-docs
path: ${{ github.workspace }}/artifacts

- name: Checkout esmpy_doc
uses: actions/checkout@v3
with:
repository: esmf-org/esmpy_doc
path: esmpy_doc
token: ${{ secrets.ESMF_WEB_TOKEN }}

- name: Copy docs
run: |
cd ${{ github.workspace }}/esmpy_doc
mkdir -p docs/nightly/${{ github.ref_name }}
cd ${{ github.workspace }}/artifacts
unzip doc-esmpy.zip
cd ${{ github.workspace }}/artifacts/doc-esmpy/esmpy_doc
cp -rf html ${{ github.workspace }}/esmpy_doc/docs/nightly/${{ github.ref_name }}/
cp -rf latex/ESMPy.pdf ${{ github.workspace }}/esmpy_doc/docs/nightly/${{ github.ref_name }}/
- name: Commit and publish docs
uses: actions-js/push@master
with:
repository: esmf-org/esmpy_doc
directory: ${{ github.workspace }}/esmpy_doc
branch: master
github_token: ${{ secrets.ESMF_WEB_TOKEN }}
message: 'Publish ESMPy Docs'
43 changes: 43 additions & 0 deletions .github/workflows/test-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Test Coverage

on:
workflow_dispatch:
inputs:
esmf_branch:
description: 'ESMF Branch'
required: true
default: 'develop'

jobs:

build:

runs-on: ubuntu-latest

steps:

- name: Checkout Dockerfiles
uses: actions/checkout@v3
with:
repository: esmf-org/esmf-containers
path: esmf-containers
ref: main

- name: Build Docker image
run: |
cd ${{ github.workspace }}/esmf-containers/test-coverage
docker build . --tag esmf/test-coverage --build-arg ESMF_BRANCH="${{ inputs.esmf_branch }}"
- name: Copy artifacts
run: |
mkdir -p ${{ github.workspace }}/artifacts
CID=$(docker run -dit --name runner esmf/test-coverage)
docker cp ${CID}:/artifacts/test_coverage-artifacts.zip ${{ github.workspace }}/artifacts
docker stop ${CID}
docker rm ${CID}
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: test-coverage
path: ${{ github.workspace }}/artifacts
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@ 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/system_tests/ESMF_ArrayRedistSharedObj/user_coupler.dylib
src/system_tests/ESMF_ArrayRedistSharedObj/user_model1.dylib

src/Infrastructure/Trace/preload/preload.o
src/Infrastructure/Trace/preload/preload_io.o
Expand Down
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[![ESMF](https://circleci.com/gh/esmf-org/esmf.svg?style=svg)](http://www.earthsystemmodeling.org/docs/nightly/develop/ESMF_refdoc/)
[![ESMF Doc Build](https://github.com/esmf-org/esmf/actions/workflows/build-esmf-docs.yml/badge.svg)](https://github.com/esmf-org/esmf/actions/workflows/build-esmf-docs.yml)
[![ESMPy Doc Build](https://github.com/esmf-org/esmf/actions/workflows/build-esmpy-docs.yml/badge.svg)](https://github.com/esmf-org/esmf/actions/workflows/build-esmpy-docs.yml)

# Earth System Modeling Framework (ESMF)
# Earth System Modeling Framework (ESMF)

>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.
Expand Down Expand Up @@ -32,8 +33,10 @@ conda create -c conda-forge -n <env> esmf esmpy
## Add-On Packages

Several add-on packages are included with ESMF under [`./src/addon`](https://github.com/esmf-org/esmf/tree/master/src/addon):
* [ESMPy](src/addon/ESMPy/README.md) - Python interface to ESMF.
* [NUOPC](src/addon/NUOPC/README) - Interoperability layer developed under the National Unified Operational Prediction Capability (NUOPC) program.
* [ESMPy](src/addon/esmpy) - Python interface to ESMF.
* [ESMX](src/addon/ESMX) - A layer providing the Earth System Model eXecutable.
The ESMX layer is built on top of ESMF and NUOPC.
* [NUOPC](src/addon/NUOPC) - Interoperability layer developed under the National Unified Operational Prediction Capability (NUOPC) program.

See each addon package for a specific README file.

Expand Down
7 changes: 7 additions & 0 deletions build/common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,10 @@ ifeq ($(ESMF_MACHINE),x86_64)
# except x86_64
export ESMF_ABI = 64
endif
ifeq ($(ESMF_MACHINE),arm64)
# and arm64
export ESMF_ABI = 64
endif
endif

ifeq ($(ESMF_OS),Cygwin)
Expand Down Expand Up @@ -633,6 +637,9 @@ ESMF_EXDIR = $(ESMF_BUILD)/examples/examples$(ESMF_BOPT)/$(ESMF_OS).$(ESMF_
# apps executable directory
ESMF_APPSDIR = $(ESMF_BUILD)/apps/apps$(ESMF_BOPT)/$(ESMF_OS).$(ESMF_COMPILER).$(ESMF_ABI).$(ESMF_COMM).$(ESMF_SITE)

# unified nuopc executable directory
ESMF_ESMXDIR = $(ESMF_BUILD)/src/addon/ESMX

# include file directory
ESMF_INCDIR = $(ESMF_BUILD)/src/include

Expand Down
Loading

0 comments on commit 9935617

Please sign in to comment.