Installation

WRF-Ensembly is available on PyPI. The minimum supported Python version is 3.11. You can install it using pip:

pip install wrf_ensembly

It's recommended to install it in a virtual environment. You can either use venv or a conda derivative. For example:

python -m venv ./venv
source ./venv/bin/activate
pip install wrf_ensembly

# Or with conda
conda create -n wrf_ensembly python=3.11
conda activate wrf_ensembly
pip install wrf_ensembly

# Or mamba
mamba create -n wrf_ensembly python=3.11
mamba activate wrf_ensembly
pip install wrf_ensembly

External dependencies

WRF-Ensembly requires the following external dependencies:

  • Compiled WRF and WPS. Version is not important but the latest is recommended and what is used by the developers. More info on the model here.
  • Compiled DART. Again version is not important but all tests are done with the latest github clone. More info on DART here.
  • For postprocessing, cdo and nco are used to wrangle with the netCDF files. If you installed WRF-Ensembly in a conda/mamba environment, you can also install cdo and nco with:
# or mamba or micromamba or ...
conda install -c conda-forge cdo nco

Development & Contributing

If you want to contribute to WRF-Ensembly, you can clone the repository and install it in editable mode. This allows you to make changes to the code and test them without reinstalling the package. We use Poetry for dependency management and packaging. After installing poetry, clone the repository and install the dependencies:

git clone https://github.com/NOA-ReACT/wrf_ensembly.git
cd wrf_ensembly
poetry install

Poetry should create a virtual environment for you that contains WRF-Ensembly in editable mode. Any changes you make in the repository should apply to the wrf-ensembly command.

You can either go through the Usage section to learn how to use WRF-Ensembly, or you can read about the Core concepts to understand how it works. There is also a Tutorial that walks you through a simple experiment.