Closed cspencerjones closed 3 years ago
I support this 💯 ! Unless users are required to use poptools to access this data, it would be preferable to have the coordinates more readily available.
@cspencerjones, you can get the grid.zarr
file directly from the catalog:
In [10]: _, grid = col.search(frequency="static", component="ocn", experiment="20C").to_dataset_dict(aggregate=False, zarr_kwa
...: rgs={'consolidated': True}).popitem()
--> The keys in the returned dictionary of datasets are constructed as follows:
'component.frequency.experiment.variable.path.variable_long_name.dim_per_tstep.start.end'
|██████████████████████████████████████████████████████████████████| 100.00% [1/1 00:00<00:00]
In [11]: grid
Out[11]:
<xarray.Dataset>
Dimensions: (lat_aux_grid: 395, moc_comp: 3, moc_z: 61, nlat: 384, nlon: 320, transport_comp: 5, transport_reg: 2, z_t: 60, z_t_150m: 15, z_w: 60, z_w_bot: 60, z_w_top: 60)
Coordinates:
ANGLE (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
ANGLET (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
DXT (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
DXU (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
DYT (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
DYU (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
HT (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
HTE (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
HTN (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
HU (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
HUS (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
HUW (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
KMT (nlat, nlon) float64 dask.array<chunksize=(192, 320), meta=np.ndarray>
KMU (nlat, nlon) float64 dask.array<chunksize=(192, 320), meta=np.ndarray>
REGION_MASK (nlat, nlon) float64 dask.array<chunksize=(192, 320), meta=np.ndarray>
T0_Kelvin float64 ...
TAREA (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
TLAT (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
TLONG (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
UAREA (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
ULAT (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
ULONG (nlat, nlon) float64 dask.array<chunksize=(192, 160), meta=np.ndarray>
cp_air float64 ...
cp_sw float64 ...
days_in_norm_year timedelta64[ns] ...
dz (z_t) float32 dask.array<chunksize=(60,), meta=np.ndarray>
dzw (z_w) float32 dask.array<chunksize=(60,), meta=np.ndarray>
fwflux_factor float64 ...
grav float64 ...
heat_to_PW float64 ...
hflux_factor float64 ...
* lat_aux_grid (lat_aux_grid) float32 -79.48815 -78.952896 ... 90.0
latent_heat_fusion float64 ...
latent_heat_vapor float64 ...
mass_to_Sv float64 ...
moc_components (moc_comp) |S256 dask.array<chunksize=(3,), meta=np.ndarray>
* moc_z (moc_z) float32 0.0 1000.0 ... 525000.94 549999.06
momentum_factor float64 ...
nsurface_t float64 ...
nsurface_u float64 ...
ocn_ref_salinity float64 ...
omega float64 ...
ppt_to_salt float64 ...
radius float64 ...
rho_air float64 ...
rho_fw float64 ...
rho_sw float64 ...
salinity_factor float64 ...
salt_to_Svppt float64 ...
salt_to_mmday float64 ...
salt_to_ppt float64 ...
sea_ice_salinity float64 ...
sflux_factor float64 ...
sound float64 ...
stefan_boltzmann float64 ...
transport_components (transport_comp) |S256 dask.array<chunksize=(5,), meta=np.ndarray>
transport_regions (transport_reg) |S256 dask.array<chunksize=(2,), meta=np.ndarray>
vonkar float64 ...
* z_t (z_t) float32 500.0 1500.0 ... 512502.8 537500.0
* z_t_150m (z_t_150m) float32 500.0 1500.0 ... 13500.0 14500.0
* z_w (z_w) float32 0.0 1000.0 2000.0 ... 500004.7 525000.94
* z_w_bot (z_w_bot) float32 1000.0 2000.0 ... 549999.06
* z_w_top (z_w_top) float32 0.0 1000.0 ... 500004.7 525000.94
Dimensions without coordinates: moc_comp, nlat, nlon, transport_comp, transport_reg
Data variables:
*empty*
Attributes:
intake_esm_varname: None
intake_esm_dataset_key: ocn.static.20C.nan.s3://ncar-cesm-lens/ocn/stati...
since I think that info is in danger of being lost (and indeed it wasn't at all clear to me where to find these files).
Thank you for pointing this out, and getting this notebook updated. I will push a few changes to your branch later today to reflect a few other things that have changed since this notebook was published.
@cspencerjones, I updated the notebook with extra information. When you get a chance, could you take a look at https://nbviewer.jupyter.org/github/cspencerjones/cesm-lens-aws/blob/griddocs/notebooks/using-intake-catalog.ipynb and let me know what you think?
@andersy005 thanks for looking at this. The new notebook looks great to me!
I added the location of grid.zarr files to the demo, since I think that info is in danger of being lost (and indeed it wasn't at all clear to me where to find these files).
Related to #59