Skip to content

Commit

Permalink
Merge tag 'cam-ew2.3.004' into add_v8mpasfiles_eworg2
Browse files Browse the repository at this point in the history
Bring in dev changes from EarthWorksOrg/CAM
  • Loading branch information
gdicker1 committed Sep 11, 2024
2 parents 87a4b80 + ddee772 commit 937335b
Show file tree
Hide file tree
Showing 396 changed files with 27,598 additions and 40,430 deletions.
24 changes: 0 additions & 24 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,27 +1,3 @@
# Ignore externals
ccs_config
chem_proc
cime
components
manage_externals.log
src/physics/ali_arms/
src/physics/carma/base
src/physics/clubb
src/physics/cosp2/src
src/physics/silhs
src/chemistry/geoschem/geoschem_src
src/physics/pumas
src/physics/pumas-frozen
src/physics/rrtmgp/data
src/physics/rrtmgp/ext
src/dynamics/fv3/atmos_cubed_sphere
libraries/FMS
libraries/mct
libraries/parallelio
src/atmos_phys
src/dynamics/mpas/dycore
share
src/hemco
# Ignore compiled python
buildnmlc
buildcppc
Expand Down
192 changes: 192 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
[submodule "chem_proc"]
path = chem_proc
url = https://github.com/ESCOMP/CHEM_PREPROCESSOR.git
fxrequired = AlwaysRequired
fxtag = chem_proc5_0_06
fxDONOTUSEurl = https://github.com/ESCOMP/CHEM_PREPROCESSOR.git

[submodule "carma"]
path = src/physics/carma/base
url = https://github.com/ESCOMP/CARMA_base.git
fxrequired = AlwaysRequired
fxtag = carma4_01
fxDONOTUSEurl = https://github.com/ESCOMP/CARMA_base.git

[submodule "pumas"]
path = src/physics/pumas
url = https://github.com/ESCOMP/PUMAS
fxrequired = AlwaysRequired
fxtag = pumas_cam-release_v1.36
fxDONOTUSEurl = https://github.com/ESCOMP/PUMAS

[submodule "pumas-frozen"]
path = src/physics/pumas-frozen
url = https://github.com/ESCOMP/PUMAS
fxrequired = AlwaysRequired
fxtag = pumas_cam-release_v1.17_rename
fxDONOTUSEurl = https://github.com/ESCOMP/PUMAS

[submodule "ali_arms"]
path = src/physics/ali_arms
url = https://github.com/ESCOMP/ALI-ARMS
fxrequired = AlwaysRequired
fxtag = ALI_ARMS_v1.0.1
fxDONOTUSEurl = https://github.com/ESCOMP/ALI-ARMS

[submodule "atmos_phys"]
path = src/atmos_phys
url = https://github.com/ESCOMP/atmospheric_physics
fxtag = atmos_phys0_03_000
fxrequired = AlwaysRequired
fxDONOTUSEurl = https://github.com/ESCOMP/atmospheric_physics

[submodule "fv3"]
path = src/dynamics/fv3
url = https://github.com/ESCOMP/CAM_FV3_interface.git
fxrequired = AlwaysRequired
fxtag = fv3int_061924
fxDONOTUSEurl = https://github.com/ESCOMP/CAM_FV3_interface.git

[submodule "geoschem"]
path = src/chemistry/geoschem/geoschem_src
url = https://github.com/geoschem/geos-chem.git
fxrequired = AlwaysRequired
fxtag = 14.1.2
fxDONOTUSEurl = https://github.com/geoschem/geos-chem.git

[submodule "hemco"]
path = src/hemco
url = https://github.com/ESCOMP/HEMCO_CESM.git
fxtag = hemco-cesm1_2_1_hemco3_6_3_cesm_rme01
fxrequired = AlwaysRequired
fxDONOTUSEurl = https://github.com/ESCOMP/HEMCO_CESM.git

[submodule "rte-rrtmgp"]
path = src/physics/rrtmgp/ext
url = https://github.com/earth-system-radiation/rte-rrtmgp.git
fxrequired = AlwaysRequired
fxtag = v1.7
fxDONOTUSEurl = https://github.com/earth-system-radiation/rte-rrtmgp.git

[submodule "rrtmgp-data"]
path = src/physics/rrtmgp/data
url = https://github.com/earth-system-radiation/rrtmgp-data.git
fxrequired = AlwaysRequired
fxtag = v1.8
fxDONOTUSEurl = https://github.com/earth-system-radiation/rrtmgp-data.git

[submodule "mpas"]
path = src/dynamics/mpas/dycore
url = https://github.com/EarthWorksOrg/MPAS-Model.git
fxrequired = AlwaysRequired
fxsparse = ../.mpas_sparse_checkout
fxtag = mpas-ew2.3.001
fxDONOTUSEurl = https://github.com/MPAS-Dev/MPAS-Model.git

[submodule "cosp2"]
path = src/physics/cosp2/src
url = https://github.com/CFMIP/COSPv2.0
fxrequired = AlwaysRequired
fxsparse = ../.cosp_sparse_checkout
fxtag = v2.1.4cesm
fxDONOTUSEurl = https://github.com/CFMIP/COSPv2.0

[submodule "clubb"]
path = src/physics/clubb
url = https://github.com/larson-group/clubb_release
fxrequired = AlwaysRequired
fxsparse = ../.clubb_sparse_checkout
fxtag = clubb_4ncar_20240605_73d60f6_gpufixes_posinf
fxDONOTUSEurl = https://github.com/larson-group/clubb_release

[submodule "cism"]
path = components/cism
url = https://github.com/ESCOMP/CISM-wrapper
fxtag = cismwrap_2_2_002
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/CISM-wrapper

[submodule "rtm"]
path = components/rtm
url = https://github.com/ESCOMP/RTM
fxtag = rtm1_0_80
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/RTM

[submodule "mosart"]
path = components/mosart
url = https://github.com/ESCOMP/MOSART
fxtag = mosart1.1.02
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/MOSART

[submodule "mizuRoute"]
path = components/mizuRoute
url = https://github.com/ESCOMP/mizuRoute
fxtag = cesm-coupling.n02_v2.1.3
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/mizuRoute

[submodule "ccs_config"]
path = ccs_config
url = https://github.com/ESMCI/ccs_config_cesm.git
fxtag = ccs_config_cesm1.0.0
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git

[submodule "cime"]
path = cime
url = https://github.com/ESMCI/cime
fxtag = cime6.1.0
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESMCI/cime

[submodule "cmeps"]
path = components/cmeps
url = https://github.com/ESCOMP/CMEPS.git
fxtag = cmeps1.0.2
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git

[submodule "cdeps"]
path = components/cdeps
url = https://github.com/ESCOMP/CDEPS.git
fxtag = cdeps1.0.45
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git

[submodule "share"]
path = share
url = https://github.com/ESCOMP/CESM_share
fxtag = share1.1.2
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/CESM_share

[submodule "parallelio"]
path = libraries/parallelio
url = https://github.com/NCAR/ParallelIO
fxtag = pio2_6_2
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/NCAR/ParallelIO

[submodule "cice"]
path = components/cice
url = https://github.com/ESCOMP/CESM_CICE
fxtag = cesm_cice6_5_0_10
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/CESM_CICE

[submodule "clm"]
path = components/clm
url = https://github.com/ESCOMP/CTSM
fxtag = ctsm5.2.009
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/CTSM

[submodule "fms"]
path = libraries/FMS
url = https://github.com/ESCOMP/FMS_interface
fxtag = fi_240516
fxrequired = ToplevelRequired
fxDONOTUSEurl = https://github.com/ESCOMP/FMS_interface

13 changes: 13 additions & 0 deletions .lib/git-fleximod/.github/workflows/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: pre-commit
on:
pull_request:
push:
branches: [main]

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: pre-commit/action@v3.0.0
77 changes: 77 additions & 0 deletions .lib/git-fleximod/.github/workflows/pytest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Run this job on pushes to `main`, and for pull requests. If you don't specify
# `branches: [main], then this actions runs _twice_ on pull requests, which is
# annoying.

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

# If you wanted to use multiple Python versions, you'd have specify a matrix in the job and
# reference the matrixe python version here.
- uses: actions/setup-python@v5
with:
python-version: '3.9'

# Cache the installation of Poetry itself, e.g. the next step. This prevents the workflow
# from installing Poetry every time, which can be slow. Note the use of the Poetry version
# number in the cache key, and the "-0" suffix: this allows you to invalidate the cache
# manually if/when you want to upgrade Poetry, or if something goes wrong. This could be
# mildly cleaner by using an environment variable, but I don't really care.
- name: cache poetry install
uses: actions/cache@v4
with:
path: ~/.local
key: poetry-1.7.1

# Install Poetry. You could do this manually, or there are several actions that do this.
# `snok/install-poetry` seems to be minimal yet complete, and really just calls out to
# Poetry's default install script, which feels correct. I pin the Poetry version here
# because Poetry does occasionally change APIs between versions and I don't want my
# actions to break if it does.
#
# The key configuration value here is `virtualenvs-in-project: true`: this creates the
# venv as a `.venv` in your testing directory, which allows the next step to easily
# cache it.
- uses: snok/install-poetry@v1
with:
version: 1.7.1
virtualenvs-create: true
virtualenvs-in-project: true

# Cache your dependencies (i.e. all the stuff in your `pyproject.toml`). Note the cache
# key: if you're using multiple Python versions, or multiple OSes, you'd need to include
# them in the cache key. I'm not, so it can be simple and just depend on the poetry.lock.
- name: cache deps
id: cache-deps
uses: actions/cache@v4
with:
path: .venv
key: pydeps-${{ hashFiles('**/poetry.lock') }}

# Install dependencies. `--no-root` means "install all dependencies but not the project
# itself", which is what you want to avoid caching _your_ code. The `if` statement
# ensures this only runs on a cache miss.
- run: poetry install --no-interaction --no-root
if: steps.cache-deps.outputs.cache-hit != 'true'

# Now install _your_ project. This isn't necessary for many types of projects -- particularly
# things like Django apps don't need this. But it's a good idea since it fully-exercises the
# pyproject.toml and makes that if you add things like console-scripts at some point that
# they'll be installed and working.
- run: poetry install --no-interaction

# And finally run tests. I'm using pytest and all my pytest config is in my `pyproject.toml`
# so this line is super-simple. But it could be as complex as you need.
- run: |
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR_ID}+${GITHUB_ACTOR}@users.noreply.github.com"
poetry run pytest
18 changes: 18 additions & 0 deletions .lib/git-fleximod/.pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
exclude: ^utils/.*$

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 22.3.0
hooks:
- id: black
- repo: https://github.com/PyCQA/pylint
rev: v2.11.1
hooks:
- id: pylint
args:
- --disable=I,C,R,logging-not-lazy,wildcard-import,unused-wildcard-import,fixme,broad-except,bare-except,eval-used,exec-used,global-statement,logging-format-interpolation,no-name-in-module,arguments-renamed,unspecified-encoding,protected-access,import-error,no-member
Loading

0 comments on commit 937335b

Please sign in to comment.