Source code for pycif.plugins.domains.lmdz_reg.read_domain

import numpy as np
import xarray as xr


[docs] def read_grid(self, **kwargs): """Reads a grid from NetCDF files""" self.unstructured_domain = False with xr.open_dataset(self.grid_path) as ds: self.nlat = ds.sizes["lat"] self.nlon = ds.sizes["lon"] lon = ds.lon.values lat = ds.lat.values lon_bnds = ds[ds.lon.attrs["bounds"]].values lat_bnds = ds[ds.lat.attrs["bounds"]].values lon_corners = np.concatenate([lon_bnds[:, 0], lon_bnds[-1:, 1]]) lat_corners = np.concatenate([lat_bnds[:, 0], lat_bnds[-1:, 1]]) self.zlon, self.zlat = np.meshgrid(lon, lat) self.zlonc, self.zlatc = np.meshgrid(lon_corners, lat_corners) if "area" in ds: self.areas = ds.area.values with xr.open_dataset(self.vcoord_path) as ds: self.sigma_a = ds.ap.values self.sigma_b = ds.bp.values self.nlev = len(self.sigma_a) - 1 self.pressure_unit = "Pa"