https://github.com/ai2cm/shield-wrapper

A Python-wrapped version of GFDL's SHiELD model

https://github.com/ai2cm/shield-wrapper

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

A Python-wrapped version of GFDL's SHiELD model

Basic Info
  • Host: GitHub
  • Owner: ai2cm
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 1.66 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Created over 2 years ago · Last pushed 9 months ago
Metadata Files
Readme License

README.md

SHiELD-wrapper

This repository contains code for a Python-wrapped version of the public version of GFDL's SHiELD model. It is based on AI2's existing Python-wrapped version of FV3GFS, which was described in McGibbon et al. (2021), and used in several published hybrid machine learning projects. Much of the code is identical or nearly identical to this original wrapper; the main difference is that the wrapper in this repository wraps the latest public version of GFDL's SHiELD model instead of an old fork of FV3GFS.

Development

Development and testing of SHiELD-wrapper is currently only supported within a Docker container. Similar to how things are done in AI2's fv3net repository, tests are set up to be run from within the Docker image defined in the Dockerfile within this repository. To build the docker image locally, make sure to first initialize all the submodules, and then run make build:

$ make update_submodules $ make build

Once the Docker image has been built, you can enter it with the wrapper testing code editable from outside the container with:

$ make enter

To run the tests, you can use the following:

$ make test

To reset the regression test checksums, use:

$ make test_regtest_reset

The Python dependencies used in building and testing the wrapper are defined in the requirements.in file. The full set of pinned dependencies these resolve into are defined in requirements.txt, which is produced using pip-compile.

Owner

  • Name: ai2cm
  • Login: ai2cm
  • Kind: organization
  • Location: Seattle WA, USA

AI2 Climate Modeling

GitHub Events

Total
  • Delete event: 23
  • Issue comment event: 14
  • Push event: 21
  • Pull request review event: 12
  • Pull request event: 44
  • Create event: 22
Last Year
  • Delete event: 23
  • Issue comment event: 14
  • Push event: 21
  • Pull request review event: 12
  • Pull request event: 44
  • Create event: 22

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 14
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.57
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 14
Past Year
  • Issues: 0
  • Pull requests: 14
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.57
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 14
Top Authors
Issue Authors
  • spencerkclark (1)
Pull Request Authors
  • dependabot[bot] (54)
  • spencerkclark (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (54) submodules (3)

Dependencies

docker/Dockerfile docker
  • ubuntu@sha256 9101220a875cee98b016668342c489ff0674f247f6ca20dfc91b91c0f28581ae build
requirements.in pypi
  • cftime >=1.2.1
  • cython *
  • fv3config *
  • jinja2 *
  • mpi4py >=3.0.3
  • netCDF4 >=1.4.2
  • numpy >=1.16
  • pace-util >=0.7.0
  • pkgconfig *
  • pytest *
  • pytest-regtest *
  • pyyaml >=5
  • wheel *
  • xarray >=0.15.1
requirements.txt pypi
  • aiohttp ==3.8.5
  • aiosignal ==1.3.1
  • appdirs ==1.4.4
  • async-timeout ==4.0.3
  • attrs ==23.1.0
  • cachetools ==5.3.1
  • certifi ==2023.7.22
  • cftime ==1.6.2
  • charset-normalizer ==3.2.0
  • cython ==3.0.2
  • dacite ==1.8.1
  • decorator ==5.1.1
  • exceptiongroup ==1.1.3
  • f90nml ==1.4.3
  • frozenlist ==1.4.0
  • fsspec ==2023.9.1
  • fv3config ==0.9.0
  • gcsfs ==2023.9.1
  • google-api-core ==2.11.1
  • google-auth ==2.23.0
  • google-auth-oauthlib ==1.1.0
  • google-cloud-core ==2.3.3
  • google-cloud-storage ==2.10.0
  • google-crc32c ==1.5.0
  • google-resumable-media ==2.6.0
  • googleapis-common-protos ==1.60.0
  • idna ==3.4
  • iniconfig ==2.0.0
  • jinja2 ==3.1.2
  • markupsafe ==2.1.3
  • mpi4py ==3.1.4
  • multidict ==6.0.4
  • netcdf4 ==1.6.4
  • numpy ==1.24.4
  • oauthlib ==3.2.2
  • pace-util ==0.9.0
  • packaging ==23.1
  • pandas ==2.0.3
  • pkgconfig ==1.5.5
  • pluggy ==1.3.0
  • protobuf ==4.24.3
  • pyasn1 ==0.5.0
  • pyasn1-modules ==0.3.0
  • pytest ==7.4.2
  • pytest-regtest ==1.5.1
  • python-dateutil ==2.8.2
  • pytz ==2023.3.post1
  • pyyaml ==6.0.1
  • requests ==2.31.0
  • requests-oauthlib ==1.3.1
  • rsa ==4.9
  • six ==1.16.0
  • tomli ==2.0.1
  • typing-extensions ==4.8.0
  • tzdata ==2023.3
  • urllib3 ==1.26.16
  • wheel ==0.41.2
  • xarray ==2023.1.0
  • yarl ==1.9.2
wrapper/pyproject.toml pypi
wrapper/setup.py pypi