port-param-file

Migrate calibrated model parameter files across model API versions and formats.

Updated Aug 28, 2026
One-click install
npx skills add https://github.com/jingtao-lbl/A2MC --skill port-param-file-jingtao-lbl
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: port-param-file
Source: https://github.com/jingtao-lbl/A2MC/tree/main/.claude/skills/port-param-file
Command: npx skills add https://github.com/jingtao-lbl/A2MC --skill port-param-file-jingtao-lbl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When a process-based model like FATES moves to a new API version, the parameter set, file format (NetCDF/CDL to JSON), and PFT roster all change, so a site's carefully tuned parameter file cannot simply be copied forward. This Skill performs that migration mechanically and safely, preventing silent errors like calibrated values landing in the wrong PFT slots. ## Core Features & Use Cases - Identity Mapping First: Auto-matches PFT slots by name between old and new parameter files and flags mismatches, so you can override with explicit functional-type mappings before any values move. - Three-Step Port Workflow: Run identity, port, and verify subcommands of tools/port_param_file.py to transfer tuned values onto the new version's template while keeping target-only parameters at defaults. - Post-Port Safety Checks: Catches version-inactivated parameters that must be zeroed after porting to avoid runtime aborts at model initialization. - Use Case: You calibrated a FATES api-31 12-PFT NetCDF file for an arctic site and now need an api-43 14-PFT JSON base file; the Skill remaps repurposed shrub PFTs (e.g. --map 7:10,9:11,10:12), transfers all overlapping tuned values, and verifies the result. ## Quick Start Ask the agent to port your tuned api-31 NetCDF parameter file onto the api-43 JSON template, mapping the arctic shrub PFTs explicitly and verifying the result.

Frequently Asked Questions about port-param-file

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I port a FATES parameter file from api-31 to api-43?▼

Run the port-param-file workflow in three steps: identity to inspect the PFT name mapping, port with an explicit --map override for repurposed slots, and verify to confirm remapped values match the source. The backing tool is tools/port_param_file.py run under the a2mc_env Python.

How do I convert a NetCDF parameter file to the new JSON format?▼

The port subcommand auto-detects formats and writes the target version's JSON structure with the source's tuned values transferred. For a .cdl source, run ncgen -o x.nc x.cdl first to produce a NetCDF file the tool can read.

Why does name-matching PFTs across model versions fail?▼

PFT identities are not stable across versions: api-31 repurposed generic extratrop_shrub slots for arctic shrubs, while api-43 added dedicated arctic-shrub PFTs. Name-matching then lands calibrated values in the wrong slots, so you must map by functional type using the identity report and explicit --map overrides.

Why does the model crash after porting a parameter file?▼

A faithful port transfers active source values for parameters the new version has since disabled and hard-guarded to zero, causing an abort at initialization. After porting, zero every parameter the target version inactivated, such as the ECA ptase knobs guarded in api-43.

When should I not use this parameter porting tool?▼

Do not use it for editing single parameters within one file, which belongs to tools/modify_fates_parameters.py, or for adding a brand-new parameter to the model, which is the add-fates-parameter workflow. It is specifically for cross-version migration of a tuned base file.