am.grid¶
Classes¶
Run an am model over a grid of parameter values. |
Module Contents¶
- class am.grid.ModelGrid(path: pathlib.Path, params: xarray.Dataset, args_fn: Callable[Ellipsis, list[str]], max_workers: int | None = None)¶
Run an am model over a grid of parameter values.
Parameters¶
- path:
Path to the
.amctemplate file.- params:
xarray Dataset defining the parameter space. Two forms are supported:
Regular (Cartesian) grid — coordinates on independent dimensions:
xr.Dataset(coords={"elevation": [30, 45, 60], "pwv": [0.5, 1.0, 2.0]})
Irregular grid — variables sharing one dimension:
xr.Dataset({"elevation": ("profile", elev), "pwv": ("profile", pwv)})
- args_fn:
Callable that maps parameter values to an am args list. Keyword argument names must match coordinate/variable names in params:
args_fn=lambda elevation, pwv: [ "0", "GHz", "350", "GHz", "0.5", "GHz", str(elevation), "deg", str(pwv), ]
- max_workers:
Number of worker processes (default:
os.cpu_count()).
- compute() xarray.Dataset¶
Run all models and return an xarray Dataset.
The output Dataset has the same dimensions and coordinates as params, plus a
frequencydimension. Each requested am output (e.g.tb_rj,transmittance) becomes a data variable.