Skip to content

Commit

Permalink
Merge pull request ufs-community#70 from climbfuji/gsl_develop_chem_a…
Browse files Browse the repository at this point in the history
…dd_gocart

Update gsd/develop-chem from gsl/develop, add NASA GOCART repository
  • Loading branch information
DomHeinzeller authored Apr 13, 2021
2 parents ab0a07d + 718c185 commit f445799
Show file tree
Hide file tree
Showing 498 changed files with 68,480 additions and 26,304 deletions.
41 changes: 29 additions & 12 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,46 @@
# PR Checklist

- [ ] Ths PR is up-to-date with the top of all sub-component repositories except for those sub-components which are the subject of this PR. Please consult the ufs-weather-model [wiki](https://github.com/ufs-community/ufs-weather-model/wiki/Making-code-changes-in-the-UFS-weather-model-and-its-subcomponents) if you are unsure how to do this.

- [ ] This PR has been tested using a branch which is up-to-date with the top of all sub-component repositories except for those sub-components which are the subject of this PR

- [ ] An Issue describing the work contained in this PR has been created either in the subcomponent(s) or in the ufs-weather-model. The Issue should be created in the repository that is most relevant to the changes in contained in the PR. The Issue and the dependent sub-component PR
are specified below.

- [ ] If new or updated input data is required by this PR, it is clearly stated in the text of the PR.

## Instructions: All subsequent sections of text should be filled in as appropriate.

The information provided below allows the code managers to understand the changes relevant to this PR, whether those changes are in the ufs-weather-model repository or in a subcomponent repository. Ufs-weather-model code managers will use the information provided to add any applicable labels, assign reviewers and place it in the Commit Queue. Once the PR is in the Commit Queue, it is the PR owner's responsiblity to keep the PR up-to-date with the develop branch of ufs-weather-model.

## Description

(Instructions: this, and all subsequent sections of text should be removed and filled in as appropriate.)
Provide a detailed description of what this PR does.
What bug does it fix, or what feature does it add?
Is a change of answers expected from this PR?
Are any library updates included in this PR (modulefiles etc.)?
Provide a detailed description of what this PR does. What bug does it fix, or what feature does it add? Is a change of answers expected from this PR? Are any library updates included in this PR (modulefiles etc.)?

### Issue(s) addressed

Link the issues to be closed with this PR, whether in this repository, or in another repository.
(Remember, issues should always be created before starting work on a PR branch!)
(Remember, issues must always be created before starting work on a PR branch!)
- fixes #<issue_number>
- fixes noaa-emc/fv3atm/issues/<issue_number>

## Testing

How were these changes tested?
What compilers / HPCs was it tested with?
Are the changes covered by regression tests? (If not, why? Do new tests need to be added?)
Have regression tests and unit tests (utests) been run? On which platforms and with which compilers? (Note that unit tests can only be run on tier-1 platforms)
How were these changes tested? What compilers / HPCs was it tested with? Are the changes covered by regression tests? (If not, why? Do new tests need to be added?) Have regression tests and unit tests (utests) been run? On which platforms and with which compilers? (Note that unit tests can only be run on tier-1 platforms)

- [ ] hera.intel
- [ ] hera.gnu
- [ ] orion.intel
- [ ] cheyenne.intel
- [ ] cheyenne.gnu
- [ ] gaea.intel
- [ ] jet.intel
- [ ] wcoss_cray
- [ ] wcoss_dell_p3

## Dependencies

If testing this branch requires non-default branches in other repositories, list them.
Those branches should have matching names (ideally)
If testing this branch requires non-default branches in other repositories, list them. Those branches should have matching names (ideally).

Do PRs in upstream repositories need to be merged first?
If so add the "waiting for other repos" label and list the upstream PRs
Expand Down
25 changes: 12 additions & 13 deletions .github/workflows/main.yml → .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
name: Pull Request Tests
name: Pull request tests

on:
push:
branches:
- develop
branches: ['develop']
pull_request:
branches:
- develop
branches: ['develop']

jobs:
setup:
name: Set up
runs-on: ubuntu-latest
runs-on: ubuntu-20.04

outputs:
tn: ${{ steps.parse.outputs.tn }}
Expand Down Expand Up @@ -46,7 +44,7 @@ jobs:
build:
name: Build (${{ matrix.bld_set }})
needs: setup
runs-on: ubuntu-latest
runs-on: ubuntu-20.04

strategy:
fail-fast: false
Expand All @@ -68,7 +66,7 @@ jobs:
- name: Free up disk space
run: |
sudo docker rmi $(sudo docker image ls | grep -E -m1 '<none>' | awk '{ print $3 }')
sudo docker rmi $(sudo docker image ls | awk '/ci-test-base/ { print $3 }')
sudo docker rmi $(sudo docker image ls | awk '/ubuntu-hpc/ { print $3 }')
- name: Prepare artifacts
run: |
Expand All @@ -85,8 +83,7 @@ jobs:
utest:
name: Unit test (${{ needs.setup.outputs.tn }}, ${{ matrix.test_set }})
needs: [setup,build]
runs-on: ubuntu-latest
#runs-on: self-hosted
runs-on: self-hosted

strategy:
fail-fast: false
Expand All @@ -101,7 +98,7 @@ jobs:
- name: Prepare artifacts
run: |
tar xvjf artifact.tar.bz2 && rm -f artifact.tar.bz2
sudo docker load --input ${{ needs.setup.outputs.img }}.tar.gz && rm -f ${{ needs.setup.outputs.img }}.tar.gz
docker load --input ${{ needs.setup.outputs.img }}.tar.gz && rm -f ${{ needs.setup.outputs.img }}.tar.gz
- name: Run utest
run: ./ci.sh -n ${{ needs.setup.outputs.tn }} -r ${{ matrix.test_set }}
Expand All @@ -117,5 +114,7 @@ jobs:
if: ${{ always() }}
run: |
rm -f ci.sh ci.test
sudo docker rm my-container && sudo docker rmi ${{ needs.setup.outputs.img }}:latest
sudo docker volume rm DataVolume
docker stop my-container && docker rm my-container && docker rmi ${{ needs.setup.outputs.img }}:latest
docker volume rm DataVolume
#docker rmi minsukjinoaa/fv3-input-data:input-data-20210115
rm -f memory_stat
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,37 @@ name: Manage workflows

on:
workflow_run:
workflows: ["Pull Request Tests"]
workflows: ["Pull request tests"]
types:
- requested

jobs:
job1:
name: Job 1
runs-on: ubuntu-latest
name: Cancel workflows
runs-on: ubuntu-20.04

steps:
- name: Checkout codes
uses: actions/checkout@v2

- name: Check if skip-ci is requested
- name: Check if run-ci is requested
run: |
sleep 40
cd ${GITHUB_WORKSPACE}/tests/ci
repo="${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/actions/runs"
tr_id=$(cat ${GITHUB_EVENT_PATH} | ./json_helper.py get_trigger_id)
tr_br=$(cat ${GITHUB_EVENT_PATH} | ./json_helper.py get_trigger_br)
check=$(cat ${GITHUB_EVENT_PATH} | ./json_helper.py check_skip)
echo "::set-env name=TRIGGER_ID::${tr_id}"
echo "::set-env name=TRIGGER_BR::${tr_br}"
echo "skip-ci: ${check}"
if [[ $check == yes ]]; then
echo "skip-ci is requested"
echo '::set-env name=CURR_JOB::cancelled'
check=$(cat ${GITHUB_EVENT_PATH} | ./json_helper.py check_run)
echo "TRIGGER_ID=${tr_id}" >> $GITHUB_ENV
echo "TRIGGER_BR=${tr_br}" >> $GITHUB_ENV
echo "run-ci: ${check}"
if [[ $check == no ]]; then
echo "run-ci is not requested"
echo "CURR_JOB=cancelled" >> $GITHUB_ENV
curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -H "Accept: application/vnd.github.v3+json" ${repo}/$tr_id/cancel
else
echo '::set-env name=CURR_JOB::running'
echo "run-ci is requested"
echo "CURR_JOB=running" >> $GITHUB_ENV
fi
- name: Cancel redundant jobs
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/start_runners.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Start runners

on:
workflow_run:
workflows: ["Pull request tests"]
types:
- requested

jobs:
job1:
name: Start AWS runners
runs-on: ubuntu-20.04

steps:
- name: Check out codes
uses: actions/checkout@v2

- name: Configure AWS
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Check the status of build and start self-hosted runners
env:
aws_instance_id: ${{ secrets.AWS_INSTANCE_ID }}
run: |
cd ${GITHUB_WORKSPACE}/tests/ci
conclusion=$(cat ${GITHUB_EVENT_PATH} | ./build_status_check.py)
if [[ $conclusion == "success" ]]; then
aws ec2 start-instances --instance-ids $aws_instance_id
fi
25 changes: 25 additions & 0 deletions .github/workflows/stop_runners.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Stop runners

on:
workflow_run:
workflows: ["Pull request tests"]
types:
- completed

jobs:
job1:
name: Stop AWS runners
runs-on: ubuntu-20.04

steps:
- name: Configure AWS
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Stop self-hosted runners
env:
aws_instance_id: ${{ secrets.AWS_INSTANCE_ID }}
run: aws ec2 stop-instances --instance-ids $aws_instance_id
68 changes: 68 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,70 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app
*.x

# system files
*.swp
*~
.DS_Store

# python files
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# CMake files and directories
build*/
install*/
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps

# repo-specific ignorables
coupled*.mk
rt.conf.single
ufs_model
tests/modules.fv3_*
tests/ecflow_run/
tests/log_*/
tests/lock/
tests/Compile_*.log
tests/fail_test
log*
build*.log*
54 changes: 39 additions & 15 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,20 +1,44 @@
[submodule "FV3"]
path = FV3
url = https://github.com/NOAA-GSL/fv3atm
branch = gsd/develop-chem
path = FV3
url = https://github.com/NOAA-GSL/fv3atm
branch = gsl/develop-chem
[submodule "NEMS"]
path = NEMS
url = https://github.com/NOAA-EMC/NEMS
branch = develop
path = NEMS
url = https://github.com/NOAA-EMC/NEMS
branch = develop
[submodule "FMS"]
path = FMS
url = https://github.com/NOAA-GFDL/FMS
branch = master
path = FMS
url = https://github.com/NOAA-GFDL/FMS
branch = release/2020.04
[submodule "WW3"]
path = WW3
url = https://github.com/NOAA-EMC/WW3
branch = develop
path = WW3
url = https://github.com/NOAA-EMC/WW3
branch = develop
[submodule "stochastic_physics"]
path = stochastic_physics
url = https://github.com/noaa-psd/stochastic_physics
branch = master
path = stochastic_physics
url = https://github.com/noaa-gsl/stochastic_physics
branch = gsl/develop
[submodule "gocart"]
path = gocart
url = https://github.com/NOAA-GSL/GOCART
branch = gsl/develop-chem
[submodule "CMakeModules"]
path = CMakeModules
url = https://github.com/NOAA-EMC/CMakeModules
branch = develop
[submodule "CMEPS"]
path = CMEPS-interface/CMEPS
url = https://github.com/NOAA-EMC/CMEPS.git
branch = emc/develop
[submodule "MOM6"]
path = MOM6-interface/MOM6
url = https://github.com/NOAA-EMC/MOM6
branch = dev/emc
[submodule "CICE"]
path = CICE-interface/CICE
url = https://github.com/NOAA-EMC/CICE
branch = emc/develop
[submodule "DATM"]
path = DATM
url = https://github.com/NOAA-EMC/NEMSdatm
branch = develop
1 change: 1 addition & 0 deletions CICE-interface/CICE
Submodule CICE added at f773ef
Loading

0 comments on commit f445799

Please sign in to comment.