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.
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.
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.
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 Hardware16 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 ConfigurationsWRF-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.)
By default, WRF-MOSIT installs each system under your home directory:
Where <WRF software name> can be one of:
WRF
WRF_CHEM
WRFHYDRO
WRF_COUPLED
WRF_SFIRE
WRF_CMAQ
COAWST
Example:
You’ll refer to this base path when:
Setting PATH / LD_LIBRARY_PATH
Running WRF, WPS, CMAQ, etc.
Activating the included Conda environments
The script exports version variables so you (and other scripts) know what’s installed:
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
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 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
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.
WRF-MOSIT sets up several named Conda environments under each WRF installation to keep tools organized and stable:
Activate them with:
These dedicated environments reduce dependency conflicts and make your workflow reproducible.
Once you run WRF-MOSIT.sh, it goes through two main phases:
Automatic checks
Interactive, menu-driven configuration
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 OptionsThe script then walks you through decisions such as:
Compiler selection (Linux)
Intel – for Intel CPUs, with potential performance benefits.
GNU – widely compatible and required for some systems (e.g., CMAQ).
Graphics display package
Choose which visualization tool to prioritize:
GrADS
OpenGrADS
Mandatory WPS Geographical Input Data
The script can download and unpack the mandatory WPS_GEOG datasets needed by WPS, into:
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.
Optional WPS GEOG data (extra)
If selected, WRF-MOSIT will retrieve additional optional GEOG files beyond the mandatory and specific-application sets.
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
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.
The README includes example environment settings to make WRF/WPS executables and libraries available, for example (GNU case):
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.
Here’s a condensed version of the README’s platform-specific instructions.
macOS (with Homebrew)The log file WRF_MOSIT.log is essential for debugging if anything goes wrong during installation.