Skip to main content

FV3Config is used to configure and manipulate run directories for FV3GFS.

Project description

FV3Config

https://readthedocs.org/projects/fv3config/badge/?version=latest https://circleci.com/gh/VulcanClimateModeling/fv3config.svg?style=svg

FV3Config is used to configure and manipulate run directories for FV3GFS.

  • Free software: BSD license

Basic usage

from fv3config import write_run_directory

with open("config.yml", 'r') as f:
    config = yaml.safe_load(f)
write_run_directory(config, './rundir')

config is a configuration dictionary which contains namelists, input data specifications, and other options. It can be edited just like any dictionary.

For more in-depth usage, please refer to the documentation. This can be generated with make docs.

History

v0.5.1

  • Fix formatting of this changelog for PyPI

v0.5.0

Breaking changes:

  • enable_restart function now requires an initial_conditions argument. It also sets force_date_from_namelist to False.

Major changes:

  • a new public function fv3gfs.get_bytes_asset_dict

  • a new command line interface write_run_directory

  • removed integration tests for run_docker and run_native which actually executed the model

  • all tests are now offline, using a mocked in-memory gcsfs to represent remote communication.

  • add a Dockerfile to produce a lightweight image with fv3config installed

  • Add new public functions fv3config.get_nudging_assets and fv3config.update_config_for_nudging.

  • Add CLI entry points for enable_restart and update_config_for_nudging.

Minor changes:

  • updated create_rundir example to accept external arguments

  • refactor get_current_date function to not require the path to the INPUT directory.

v0.4.0 (2020-07-09)

Major changes:

  • the old “default” data options are removed

  • orographic_forcing is now a required configuration key

  • get_default_config() is removed, with a placeholder which says it was removed

  • ensure_data_is_downloaded is removed, with a placeholder which says it was removed

v0.3.2 (2020-04-16)

Major changes:

  • filesystem operations now manually backoff with a 1-minute max time on RuntimeError (which gcsfs often raises when it shouldn’t) and gcsfs.utils.HttpError

  • put_directory now makes use of a thread pool to copy items in parallel.

Minor changes:

  • run_docker now works when supplying an outdir on google cloud storage

  • put_directory is now marked as package-private instead of module-private

v0.3.1 (2020-04-08)

Major changes:

  • Add get_timestep and config_from_yaml functions

Minor changes:

  • Allow config_to_yaml to write to remote locations

  • Control whether outputs are logged to console or not in run_kubernetes, run_native, and run_docker.

Breaking changes

  • Print stderr and stdout to the console by default when using fv3run. Use the –capture-output command-line flag to enable the previous behavior.

v0.3.0 (2020-04-03)

Major changes:

  • Added –kubernetes command-line flag to output a kubernetes config yaml to stdout

Minor changes:

  • Added the flag --mca btl_vader_single_copy_mechanism none to mpirun in fv3run to mpirun in fv3run

  • Add ReadTheDocs configuration file

  • Do not require output dir and fv3config to be remote in run_kubernetes

  • Fix bug when submitting k8s jobs with images that have an “_” in them

Breaking changes

  • Refactored run_kubernetes and run_docker to call run_native via a new API serializing their args/kwargs as json strings. The fv3config version in a docker image must be greater than or equal inside a container to outside, or a silent error will occur.

  • When output location is set to a local path, the job now runs in that output location instead of in a temporary directory which then gets copied. This is done both to reduce copying time for large jobs, and to improve visibility of model behavior while running.

0.2.0 (2020-01-27)

  • Began tagging version commits

0.1.0 (2019-10-11)

  • Initial pre-alpha release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fv3config-0.5.1.tar.gz (55.2 kB view details)

Uploaded Source

Built Distribution

fv3config-0.5.1-py2.py3-none-any.whl (39.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file fv3config-0.5.1.tar.gz.

File metadata

  • Download URL: fv3config-0.5.1.tar.gz
  • Upload date:
  • Size: 55.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

File hashes

Hashes for fv3config-0.5.1.tar.gz
Algorithm Hash digest
SHA256 e8b9983a6e28bb6a8032c2c078d535ed90319dd9feec5e9591b9f43f9a4dc371
MD5 f4603039ba5b9a0985e7d4c79022e88b
BLAKE2b-256 0beebdf1d224dd9387e5fd05be7e77348aee547b2907392ee6e3aef9f4122144

See more details on using hashes here.

File details

Details for the file fv3config-0.5.1-py2.py3-none-any.whl.

File metadata

  • Download URL: fv3config-0.5.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

File hashes

Hashes for fv3config-0.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c7e72180a94139bb52f63a08f51d273aa6f68ef0f6a15fc54accde6f352b33ab
MD5 557390e96ae4fb963eb056aef96558d3
BLAKE2b-256 942a758ffae2de10ee4dde3cde71af6f20023cf887ab50dc4758e097234661ba

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page