Skip to content

A toolkit for running a single-column model over a grid

License

Notifications You must be signed in to change notification settings

aopp-pred/scmtiles

Repository files navigation

SCM Tiles

Toolkit for running a single-column model over a grid.

Usage

scmtiles is a framework for running an arbitrary single-column model over a grid. It provides high-level task organisation and paralellisation for managing many thousands (or more) of model runs.

In order to use scmtiles you must write your own runner class, a subclass of scmtiles.runner.TileRunner that implements the run_cell() method. The run_cell() method contains all the specific logic and operations required to run a particular SCM at a single location in space.

For an example of use see the project openifs-scmtiles which implements a tile runner for the OpenIFS SCM.

Installation

scmtiles reuires Python 3.8 or higher. The following dependencies are required to run scmtiles:

You can install scmtiles (likely within a virtualenv or conda env) with:

python -m pip install .

This will install scmtiles and any required dependencies. If you want to run the test suite you need the following extra packages installed:

Bootstrapping

For a no-hassle installation of scmtiles plus all dependencies (including Python itself) you can use the bundled bootstrap_scmtiles.sh script. This script requires bash to run, and will (optionally) download and install miniconda, create a conda environment for scmtiles with all dependencies installed, and then install scmtiles into the environment. Basic usage is:

curl -o bootstrap_scmtiles.sh https://raw.githubusercontent.com/aopp-pred/scmtiles/master/bootstrap_scmtiles.sh
bash bootstrap_scmtiles.sh my_project_name

which will install miniconda to my_project_name/miniconda3 and create an environment with name scmtiles. You can change the name of the environment and even specify an existing miniconda installation to use instead of making a new one. You can also set the revision of scmtiles you'd like to install, which can be any valid git version identifier (e.g., commit hash, tag, branch name). For help use:

bash bootstrap_scmtiles.sh -h

Contributing

Contributions small or large are welcomed. If you find a bug or would like to see a new feature, please open a ticket on the Github issue tracker.

About

A toolkit for running a single-column model over a grid

Resources

License

Stars

Watchers

Forks

Packages

No packages published