Source code for miranda.convert.nrcanmet

"""NRCANmet (ANUSPLIN) interpolated station data conversion module."""

from __future__ import annotations
from pathlib import Path

import xarray as xr

from miranda.convert._data_corrections import dataset_conversion
from miranda.convert.utils import _assign_coords_to_dataset


__all__ = ["convert_nrcanmet"]


[docs] def convert_nrcanmet(infile: str | Path, engine: str = "h5netcdf") -> xr.Dataset: """ Convert the NRCanMET netCDF files to production-ready CF-compliant netCDFs. Parameters ---------- infile : str or Path The path to the NRCanMET netCDF files. engine : str The engine to use for file read operations. Default: "h5netcdf". Returns ------- xr.Dataset NRCanmet xarray dataset. """ if isinstance(infile, str): infile = Path(infile) ds = xr.open_mfdataset([infile], chunks={}, engine=engine, preprocess=_assign_coords_to_dataset) ds = dataset_conversion(ds, project="NRCanMET") return ds