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.