palm-install
v1.0.1
Published
Claude Code skill: complete PALM model system + WRF4PALM + palmpy installation from source. Battle-tested on Ubuntu 24.04 LTS.
Downloads
264
Maintainers
Readme
palm-install
A Claude Code Skill for complete PALM model system + WRF4PALM + palmpy installation from source.
Battle-tested on Ubuntu 24.04 LTS with gcc 13.3.0 and OpenMPI 4.1.6.
What It Does
Installs a complete PALM modeling environment in one invocation:
- PALM Model System v25.10 — Core LES model, compiled from source with gfortran + OpenMPI
- WRF4PALM v1.1.2 — WRF output → PALM dynamic driver (INIFOR) interface
- palmpy v1.1.0 — Static driver generator from geodata (shapefiles, geotiffs)
- Installs all system dependencies via apt (OpenMPI, netCDF, FFTW, etc.)
- Creates isolated conda environments for WRF4PALM and palmpy (gdal, salem, rasterio)
- Skips already-installed components on re-run
Usage
1. Install the Skill
Option A: Claude Code plugin manager (recommended)
claude plugins install palm-installOption B: npx
npx palm-installOption C: npm global
npm install -g palm-install2. Prepare Source Packages
Download the 3 required packages from the links in Download Packages below. Place them all in a single directory (e.g., ~/Downloads/palm-packages/).
Note: The PALM source (
palm_model_system-master.tar.gz) is hosted on GitLab and may require manual download if your network blocksgitlab.palm-model.org. The other two are on GitHub.
3. Invoke the Skill
In Claude Code, type:
/palm-installThe skill will:
- Ask for the path to your package directory
- Check all 3 packages are present
- Install system dependencies via apt (OpenMPI, netCDF, FFTW, etc.)
- Compile PALM from source (~10 min)
- Create conda environments for WRF4PALM and palmpy (~10 min)
- Verify each component
Each step reports [OK], [SKIP], or [FAIL]. Already-installed components are automatically skipped on re-run. Total install time: ~25 minutes.
4. Customize (Optional)
Default install path is $HOME/Build_WRF. To change:
export WRF_INSTALL_DIR=/your/custom/pathDownload Packages
| # | File | Size | Download | |---|------|------|----------| | 1 | palm_model_system-master.tar.gz | 47MB | GitLab | | 2 | WRF4PALM-WRF4PALM_v1.1.2.tar.gz | 0.7MB | GitHub | | 3 | palmpy-1.1.0.tar.gz | 23MB | GitHub |
System Requirements
- Linux (Ubuntu 20.04+, tested on 24.04)
- sudo access (for apt install)
- ~10GB free disk space
- ~25 minutes install time
Installation Directory
Default: $HOME/Build_WRF
To customize, set before invoking:
export WRF_INSTALL_DIR=/your/custom/pathOutput Structure
$HOME/Build_WRF/
├── palm/ # PALM binaries + config
│ ├── bin/ # palmbuild, palmrun, palmtest, inifor, ...
│ └── .palm.config.default
├── palm_src/ # PALM source
├── WRF4PALM/ # WRF→PALM interface
│ ├── run_config_wrf4palm.py
│ └── namelist.wrf4palm
├── palmpy/ # Static driver generator
├── miniconda3/ # Conda environments
│ └── envs/
│ ├── wrf4palm/ # salem, xarray, gdal, rasterio
│ └── palmpyenv/ # geopandas, gdal, netcdf4MPI Strategy
PALM uses system OpenMPI from apt (libopenmpi-dev), separate from any custom MPICH builds. Both can coexist — just manage PATH:
- PALM: use system PATH (OpenMPI at
/usr/bin/) - WRF: prepend custom MPICH path (
~/Build_WRF/LIBRARIES/mpich/bin/)
What's Next
After installation:
# 1. Test PALM
export PATH=$HOME/Build_WRF/palm/bin:$PATH
palmtest --cases urban_environment_restart --cores 4
# 2. Convert WRF output to PALM dynamic driver
conda activate wrf4palm
cd $HOME/Build_WRF/WRF4PALM
# Edit namelist.wrf4palm
python run_config_wrf4palm.py
# 3. Generate PALM static driver from geodata
conda activate palmpyenv
python $HOME/Build_WRF/palmpy/examples/make_static.pyTroubleshooting
| Problem | Fix |
|---------|-----|
| E: Unable to correct problems with apt | Pin runtime libs to base versions with --allow-downgrades (Ubuntu 24.04 security repo mismatch) |
| externally-managed-environment pip error | Add --break-system-packages (PEP 668) |
| conda env create blocked by ToS | Run conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main |
| ncl-ncarg not found | Skip — deprecated visualization tool, not needed |
| mpif90 resolves to MPICH not OpenMPI | Run PALM without WRF's MPICH in PATH |
License
MIT — See LICENSE
