WRF-MOSIT Is Finally Updated: A One-Stop Installer for the WRF Modeling Ecosystem

2 views
Skip to first unread message

Will H

unread,
Nov 21, 2025, 7:46:52 PM (6 hours ago) Nov 21
to wrf-hydro_users

Good afternoon Meteorologists, Atmospheric Scientists, Emergency Managers, and modelers around the globe,

After a year of debugging, refactoring, and testing in every spare hour outside my part-time job, I’m very happy to finally say:

WRF-MOSIT is updated and ready for the community again. 🎉

This update completely refreshes the WRF Multi Operational System Install Toolkit (WRF-MOSIT): a modular, cross-platform BASH toolkit that automates installation and configuration of a whole suite of WRF-based systems on modern 64-bit macOS and Linux platforms.

Before diving into details, I want to start with gratitude:

  • Staff scientists and developers at NSF NCAR (The National Center for Atmospheric Research) and NOAA (National Oceanic & Atmospheric Administration) who helped track down subtle bugs, test installs, and suggest improvements.

  • Collaborators and testers from universities and centers around the world (Zadar, Manchester, Tunis El Manar, UCAR, GSL, DTC, and more) who provided feedback, shared logs, and validated installs on their systems.

Thank you all for the patience, encouragement, and real-world testing that made this release possible.


What Is WRF-MOSIT?

WRF-MOSIT (WRF Multi Operational System Install Toolkit) is a BASH-based installer whose goal is simple:

Take a fresh 64-bit system and get you from “bare OS” to a working WRF ecosystem, with compilers, libraries, pre/post-processing tools, and multiple WRF-based systems—all configured and ready to run.

From a single script, you can install (on supported platforms):

  • WRF-ARW – Core Weather Research & Forecasting Model

  • WRF-CHEM – WRF with atmospheric chemistry (KPP-enabled)

  • WRF-Hydro (Standalone) – Hydrologic modeling system

  • WRF-Hydro Coupled w/ WRF

  • WRF-CMAQ – Coupled WRF/CMAQ air quality system

  • WRF-SFIRE – Wildland fire modeling within WRF

  • COAWST – Coupled Ocean–Atmosphere–Wave–Sediment Transport system

The script doesn’t just compile models. It also:

  • Installs compilers, MPI, NetCDF, and related libraries.

  • Sets up pre/post-processing tools (MET, METplus, WRF-Python, NCL, CDO, GrADS/OpenGrADS, etc.).

  • Creates Conda environments tuned for WRF workflows.

  • Automatically organizes everything in a consistent directory structure under your home directory.


Citation (Required for Use in Publications)

WRF-MOSIT is not just a script; it’s a peer-reviewed tool described in the literature.

If you use WRF-MOSIT in research, operations, or educational work that leads to publications, citing the paper is a requirement, and the script itself reminds you of this at startup.

Citation:
Hatheway, W., Snoun, H., ur Rehman, H. et al.
WRF-MOSIT: a modular and cross-platform tool for configuring and installing the WRF model.
Earth Science Informatics (2023).
https://doi.org/10.1007/s12145-023-01136-y

The installer prints this citation up front and pauses so you see it clearly before proceeding.


System Requirements & Supported PlatformsCore Requirements

From the updated README:

  • 64-bit system only

    • macOS (Darwin)

    • Linux Debian family (Ubuntu, Mint, etc.)

    • Windows Subsystem for Linux (WSL) – Debian/Ubuntu-based

    • Linux Fedora/RHEL family (CentOS, Rocky Linux, RHEL, etc.)

  • Disk space: at least 350 GB of free storage in your home directory

The script checks available disk space and will stop with a clear message if you don’t meet the requirement.

Minimum Recommended Hardware
  • 16 GB RAM or more

  • 8 CPU cores or more

These aren’t hard requirements coded into the script, but they are strong recommendations if you want WRF and companions to run comfortably.

Tested Configurations

WRF-MOSIT has been tested on a range of current systems, including:

  • Ubuntu 22.04.4 LTS

  • Ubuntu 24.04.3 LTS

  • macOS (including macOS Sonoma)

  • CentOS 8

  • Rocky Linux 9

  • Windows Subsystem for Linux (Ubuntu)

All tests were done on 64-bit builds using library versions current as of 2025-11-01, with any exceptions noted in the documentation.

Estimated installation time (depending on model choice, compiler, and network):

~60–120 minutes at ~10 Mbps download speed
(Intel compilers typically add some extra time.)


Where Everything Lives: Folder Structure

By default, WRF-MOSIT installs each system under your home directory:

/home/<username>/<WRF software name>

Where <WRF software name> can be one of:

  • WRF

  • WRF_CHEM

  • WRFHYDRO

  • WRF_COUPLED

  • WRF_SFIRE

  • WRF_CMAQ

  • COAWST

Example:

/home/johndoe/WRF/ /home/johndoe/WRF_CHEM/ /home/johndoe/WRFHYDRO_Coupled_Intel/

You’ll refer to this base path when:

  • Setting PATH / LD_LIBRARY_PATH

  • Running WRF, WPS, CMAQ, etc.

  • Activating the included Conda environments


What Gets Installed: Versions & Library StackCore Version Environment

The script exports version variables so you (and other scripts) know what’s installed:

export METPLUS_Version=6.2.0 export met_Version_number=12.2.0 export met_VERSION_number=12.2 export METPLUS_DATA=6.2 export WRF_VERSION=4.7.1 export WPS_VERSION=4.6.0 export CMAQ_VERSION=5.5
Supported Models & Versions

WRF (ARW)

  • WRF v4.7.1

  • WPS v4.6.0

  • WRF PLUS v4.7.1

  • WRFDA 4DVAR v4.7.1

  • OBSGRID (via NCAR Command Language/Conda)

WRF-CHEM

  • WRF-CHEM w/ KPP (v4.7.1)

  • WPS v4.6.0

  • WRFDA-CHEM 3DVAR

  • OBSGRID (NCL/Conda)

WRF-Hydro (Standalone)

  • WRF-Hydro v5.4

WRF-Hydro Coupled w/ WRF

  • WRF-Hydro v5.4

  • WRF v4.7.1

  • WPS v4.6.0

  • OBSGRID (NCL/Conda)

WRF-CMAQ

  • WRF v4.5.0

  • CMAQ v5.5

  • WPS v4.6.0

WRF-SFIRE

  • WRF-SFIRE v2

  • WPS v4.2

COAWST

  • COAWST system using a compatible WRF/WPS stack on supported Linux platforms

Compiler Availability by OS

From the README’s compatibility table:

  • Ubuntu/Debian (x86_64)

    • WRF-ARW, WRF-CHEM, WRF-Hydro (standalone & coupled), WRF-SFIRE, COAWST:
      → GNU or Intel compilers

    • WRF-CMAQ:
      → GNU only

  • RHEL/Rocky/CentOS (x86_64)

    • Same pattern as Ubuntu/Debian:
      → WRF-ARW, WRF-CHEM, WRF-Hydro, WRF-Hydro Coupled, WRF-SFIRE, COAWST: GNU or Intel
      → WRF-CMAQ: GNU only

  • macOS (Intel & ARM)

    • WRF-ARW, WRF-CHEM, WRF-Hydro, WRF-SFIRE: GNU only

    • WRF-CMAQ & COAWST: not available on macOS in this release

Libraries Installed (as of 2025-11-01)

Libraries are built and installed under each WRF folder using either GNU or Intel compilers.

With GNU Compilers:

  • zlib 1.3.1

  • MPICH 4.3.2

  • libpng 1.6.39

  • JasPer 1.900.1

  • HDF5 1.14.6

  • PHDF5 1.14.6

  • Parallel-NetCDF 1.14.1

  • NetCDF-C 4.9.3

  • NetCDF-Fortran 4.6.2

  • NetCDF-CXX 4.3.1

  • Miniconda

With Intel Compilers:

  • zlib 1.3.1

  • libpng 1.6.39

  • JasPer 1.900.1

  • HDF5 1.14.6

  • PHDF5 1.14.6

  • Parallel-NetCDF 1.14.1

  • NetCDF-C 4.9.3

  • NetCDF-Fortran 4.6.2

  • Miniconda

  • Intel Basekit

  • Intel HPC Kit

  • Intel oneAPI Python


Pre/Post-Processing Tools Installed

For each WRF flavor (where supported), WRF-MOSIT sets up a consistent toolchain. Across WRF, WRF-CHEM, WRF-Hydro (where relevant), WRF-CMAQ, WRF-SFIRE, and COAWST, the toolkit installs:

  • MET (DTC Model Evaluation Tools) v12.1.1

  • METplus (Enhanced Model Evaluation Tools) v6.1.0

  • WRF-Python (Conda)

  • OpenGrADS

  • GrADS

  • NCAR Command Language (NCL) (Conda)

  • Climate Data Operators (CDO) (Conda)

This gives you a ready-to-use environment for:

  • Generating and verifying forecasts (MET/METplus)

  • Visualizing output (NCL, GrADS, OpenGrADS)

  • Scripting diagnostics and plots (WRF-Python, CDO)

On supported systems, the script can also automate the full MET & METplus installation, including:

  • Installing dependencies via apt or yum/dnf

  • Downloading and building MET with an official compile_MET_all.sh

  • Configuring METplus defaults.conf to point to the MET install and data

  • Downloading and unpacking METplus test data

  • Running a GridStat test to confirm everything works

If that test fails, the script exits and tells you to inspect the logs instead of leaving you guessing.


Conda Environments and Analysis Tools

WRF-MOSIT sets up several named Conda environments under each WRF installation to keep tools organized and stable:


Env name
Path
Purpose
cdo_stable

$HOME/<WRF software name>/miniconda3/envs/cdo_stable

For CDO: manipulating & analyzing climate and model data.

ncl_stable

$HOME/<WRF software name>/miniconda3/envs/ncl_stable

For NCL: advanced scientific visualization & analysis.

wrf-python

$HOME/<WRF software name>/miniconda3/envs/wrf-python

For WRF-Python: post-processing WRF output in Python (NumPy/Matplotlib ecosystems).

wrfh_gis_env

$HOME/<WRF software name>/miniconda3/envs/wrfh_gis_env

For WRF-Hydro GIS Pre-Processor: preparing geospatial input datasets for WRF-Hydro runs.

Activate them with:

conda activate cdo_stable conda activate ncl_stable conda activate wrf-python conda activate wrfh_gis_env

These dedicated environments reduce dependency conflicts and make your workflow reproducible.


What the Script Actually Does: Behavior & Interactive Flow

Once you run WRF-MOSIT.sh, it goes through two main phases:

  1. Automatic checks

  2. Interactive, menu-driven configuration

1. Automatic Checks

On startup, WRF-MOSIT:

  • Prints the citation and requirement to cite the paper.

  • Detects system architecture (e.g., x86_64 vs arm64).

  • Determines OS type (Linux vs macOS).

  • On Linux, differentiates Debian-based vs RHEL/Fedora-based distros using /etc/os-release and presence of apt, dnf, or yum.

  • Checks if the system is 64-bit; exits gracefully if not.

  • Checks available disk space in your home directory against the 350 GB minimum.

If anything critical fails, it stops with clear messaging rather than attempting a half-install.

2. Interactive Installation Options

The script then walks you through decisions such as:

  1. Compiler selection (Linux)

    • Intel – for Intel CPUs, with potential performance benefits.

    • GNU – widely compatible and required for some systems (e.g., CMAQ).

  2. Graphics display package
    Choose which visualization tool to prioritize:

    • GrADS

    • OpenGrADS

  3. Mandatory WPS Geographical Input Data
    The script can download and unpack the mandatory WPS_GEOG datasets needed by WPS, into:

    $WRF_FOLDER/GEOG/WPS_GEOG
  4. WPS “Specific Applications” GEOG data (optional)
    You’re asked whether to download additional GEOG datasets for specific physics and applications (e.g., Thompson microphysics, NOAH-MP, irrigation, urban datasets, etc.). The script even prints a direct link to NCAR’s WPS GEOG documentation so you can review what each dataset does.

  5. Optional WPS GEOG data (extra)
    If selected, WRF-MOSIT will retrieve additional optional GEOG files beyond the mandatory and specific-application sets.

  6. WRF software selection
    You choose which system(s) you want to install:

    • WRF

    • WRF-CHEM

    • WRF-Hydro

    • WRF-Hydro Coupled

    • WRF-CMAQ

    • WRF-SFIRE

    • COAWST

  7. NCAR WRF-CHEM Tools (when WRF-CHEM is selected)
    If WRF-CHEM is chosen, you’re asked whether to also install NCAR’s WRF-CHEM Tools (for emissions processing, KPP, etc.). You can opt in or skip.

Throughout, the script uses clear menus (select/case in BASH) and validates your choices, handling invalid input gracefully.


Environment Exports: Running WRF & WPS

The README includes example environment settings to make WRF/WPS executables and libraries available, for example (GNU case):

export LD_LIBRARY_PATH=$HOME/WRF/Libs/NETCDF/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$HOME/WRF/Libs/grib2/lib:$LD_LIBRARY_PATH export PATH=$HOME/WRF/Libs/MPICH/bin:$PATH export PATH=$HOME/WRF/Libs/grib2/lib:$PATH export PATH=$HOME/WRF/GrADS/Contents:$PATH

You’ll just replace WRF with the folder for your chosen system, e.g.:

  • $HOME/WRF_CHEM/…

  • $HOME/WRFHYDRO/…

  • $HOME/WRF_CMAQ/…

Set these in your shell startup (.bashrc, .zshrc, etc.) so your compilers, MPI, NetCDF, WRF, and tools are available automatically.


Installation Quick Start (From the README)

Here’s a condensed version of the README’s platform-specific instructions.

macOS (with Homebrew)
cd $HOME # Install Homebrew if needed /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" brew install git git clone https://github.com/HathewayWill/WRF-MOSIT.git cd $HOME/WRF-MOSIT chmod 775 *.sh ./WRF-MOSIT.sh 2>&1 | tee WRF_MOSIT.log
Debian/Ubuntu (APT-based)
cd $HOME sudo apt install git -y git clone https://github.com/HathewayWill/WRF-MOSIT.git cd $HOME/WRF-MOSIT chmod 775 *.sh ./WRF-MOSIT.sh 2>&1 | tee WRF_MOSIT.log
RHEL/Rocky/CentOS (YUM/DNF-based)
cd $HOME sudo yum install git -y # or dnf, depending on your system git clone https://github.com/HathewayWill/WRF-MOSIT.git cd $HOME/WRF-MOSIT chmod 775 *.sh ./WRF-MOSIT.sh 2>&1 | tee WRF_MOSIT.log

The log file WRF_MOSIT.log is essential for debugging if anything goes wrong during installation.

Reply all
Reply to author
Forward
0 new messages