ROMS 3D¶
# Install required libraries
# !pip install -q xarray_subset_grid@git+https://github.com/asascience-open/xarray-subset-grid.git
# !pip install -q s3fs cftime xarray cf-xarray fsspec dask h5netcdf
import fsspec
import numpy as np
import xarray as xr
import xarray_subset_grid.accessor # noqa: F401
# open dataset as zarr object using fsspec reference file system and xarray
fs = fsspec.filesystem(
"reference",
fo="s3://nextgen-dmac-cloud-ingest/nos/wcofs/nos.wcofs.fields.best.nc.zarr",
remote_protocol="s3",
remote_options={"anon": True},
target_protocol="s3",
target_options={"anon": True},
)
m = fs.get_mapper("")
ds = xr.open_dataset(
m, engine="zarr", backend_kwargs=dict(consolidated=False), chunks={}
)
ds
<xarray.Dataset> Size: 76GB
Dimensions: (tracer: 2, s_rho: 40, s_w: 41, boundary: 4,
ocean_time: 264, eta_rho: 1016, xi_rho: 348, eta_psi: 1015,
xi_psi: 347, eta_u: 1016, xi_u: 347, eta_v: 1015, xi_v: 348)
Coordinates:
lat_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>
lat_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>
lat_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>
lat_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>
lon_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>
lon_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>
lon_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>
lon_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>
* ocean_time (ocean_time) datetime64[ns] 2kB 2024-06-18T06:00:00 ... 20...
* s_rho (s_rho) float64 320B -0.9875 -0.9625 ... -0.0375 -0.0125
* s_w (s_w) float64 328B -1.0 -0.975 -0.95 ... -0.05 -0.025 0.0
Dimensions without coordinates: tracer, boundary, eta_rho, xi_rho, eta_psi,
xi_psi, eta_u, xi_u, eta_v, xi_v
Data variables: (12/80)
Akk_bak float64 8B ...
Akp_bak float64 8B ...
Akt_bak (tracer) float64 16B dask.array<chunksize=(2,), meta=np.ndarray>
Akv_bak float64 8B ...
Cs_r (s_rho) float64 320B dask.array<chunksize=(40,), meta=np.ndarray>
Cs_w (s_w) float64 328B dask.array<chunksize=(41,), meta=np.ndarray>
... ...
ubar (ocean_time, eta_u, xi_u) float32 372MB dask.array<chunksize=(1, 1016, 347), meta=np.ndarray>
v (ocean_time, s_rho, eta_v, xi_v) float32 15GB dask.array<chunksize=(1, 40, 1015, 348), meta=np.ndarray>
vbar (ocean_time, eta_v, xi_v) float32 373MB dask.array<chunksize=(1, 1015, 348), meta=np.ndarray>
w (ocean_time, s_w, eta_rho, xi_rho) float32 15GB dask.array<chunksize=(1, 41, 1016, 348), meta=np.ndarray>
xl float64 8B ...
zeta (ocean_time, eta_rho, xi_rho) float32 373MB dask.array<chunksize=(1, 1016, 348), meta=np.ndarray>
Attributes: (12/36)
CPP_options: mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, AS...
Conventions: CF-1.4, SGRID-0.3
NLM_LBC: \nEDGE: WEST SOUTH EAST NORTH \nzeta: Cha C...
NLM_TADV: \nADVECTION: HORIZONTAL VERTICAL \ntemp: ...
ana_file: ROMS/Functionals/ana_btflux.h
avg_file: nos.wcofs.avg.nc
... ...
svn_url:
tide_file: nos.wcofs.roms.tides.nc
tiling: 008x060
title: wcofs forecast RUN in operational mode
type: ROMS/TOMS history file
var_info: varinfo.yamlxarray.Dataset
- tracer: 2
- s_rho: 40
- s_w: 41
- boundary: 4
- ocean_time: 264
- eta_rho: 1016
- xi_rho: 348
- eta_psi: 1015
- xi_psi: 347
- eta_u: 1016
- xi_u: 347
- eta_v: 1015
- xi_v: 348
- lat_psi(eta_psi, xi_psi)float64dask.array<chunksize=(1015, 347), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of PSI-points
- standard_name :
- grid_latitude_at_cell_corners
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 347) (1015, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_rho(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of RHO-points
- standard_name :
- grid_latitude_at_cell_center
- units :
- degree_north
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_u(eta_u, xi_u)float64dask.array<chunksize=(1016, 347), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of U-points
- standard_name :
- grid_latitude_at_cell_y_edges
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1016, 347) (1016, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_v(eta_v, xi_v)float64dask.array<chunksize=(1015, 348), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of V-points
- standard_name :
- grid_latitude_at_cell_x_edges
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 348) (1015, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_psi(eta_psi, xi_psi)float64dask.array<chunksize=(1015, 347), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of PSI-points
- standard_name :
- grid_longitude_at_cell_corners
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 347) (1015, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_rho(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of RHO-points
- standard_name :
- grid_longitude_at_cell_center
- units :
- degree_east
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_u(eta_u, xi_u)float64dask.array<chunksize=(1016, 347), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of U-points
- standard_name :
- grid_longitude_at_cell_y_edges
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1016, 347) (1016, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_v(eta_v, xi_v)float64dask.array<chunksize=(1015, 348), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of V-points
- standard_name :
- grid_longitude_at_cell_x_edges
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 348) (1015, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - ocean_time(ocean_time)datetime64[ns]2024-06-18T06:00:00 ... 2024-07-...
- field :
- time
- long_name :
- time since initialization
- standard_name :
- time
array(['2024-06-18T06:00:00.000000000', '2024-06-18T09:00:00.000000000', '2024-06-18T12:00:00.000000000', ..., '2024-07-20T21:00:00.000000000', '2024-07-21T00:00:00.000000000', '2024-07-21T03:00:00.000000000'], dtype='datetime64[ns]') - s_rho(s_rho)float64-0.9875 -0.9625 ... -0.0375 -0.0125
- formula_terms :
- s: s_rho C: Cs_r eta: zeta depth: h depth_c: hc
- long_name :
- S-coordinate at RHO-points
- positive :
- up
- standard_name :
- ocean_s_coordinate_g2
- valid_max :
- 0.0
- valid_min :
- -1.0
array([-0.9875, -0.9625, -0.9375, -0.9125, -0.8875, -0.8625, -0.8375, -0.8125, -0.7875, -0.7625, -0.7375, -0.7125, -0.6875, -0.6625, -0.6375, -0.6125, -0.5875, -0.5625, -0.5375, -0.5125, -0.4875, -0.4625, -0.4375, -0.4125, -0.3875, -0.3625, -0.3375, -0.3125, -0.2875, -0.2625, -0.2375, -0.2125, -0.1875, -0.1625, -0.1375, -0.1125, -0.0875, -0.0625, -0.0375, -0.0125]) - s_w(s_w)float64-1.0 -0.975 -0.95 ... -0.025 0.0
- formula_terms :
- s: s_w C: Cs_w eta: zeta depth: h depth_c: hc
- long_name :
- S-coordinate at W-points
- positive :
- up
- standard_name :
- ocean_s_coordinate_g2
- valid_max :
- 0.0
- valid_min :
- -1.0
array([-1. , -0.975, -0.95 , -0.925, -0.9 , -0.875, -0.85 , -0.825, -0.8 , -0.775, -0.75 , -0.725, -0.7 , -0.675, -0.65 , -0.625, -0.6 , -0.575, -0.55 , -0.525, -0.5 , -0.475, -0.45 , -0.425, -0.4 , -0.375, -0.35 , -0.325, -0.3 , -0.275, -0.25 , -0.225, -0.2 , -0.175, -0.15 , -0.125, -0.1 , -0.075, -0.05 , -0.025, 0. ])
- Akk_bak()float64...
- long_name :
- background vertical mixing coefficient for turbulent energy
- units :
- meter2 second-1
[1 values with dtype=float64]
- Akp_bak()float64...
- long_name :
- background vertical mixing coefficient for length scale
- units :
- meter2 second-1
[1 values with dtype=float64]
- Akt_bak(tracer)float64dask.array<chunksize=(2,), meta=np.ndarray>
- long_name :
- background vertical mixing coefficient for tracers
- units :
- meter2 second-1
Array Chunk Bytes 16 B 16 B Shape (2,) (2,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Akv_bak()float64...
- long_name :
- background vertical mixing coefficient for momentum
- units :
- meter2 second-1
[1 values with dtype=float64]
- Cs_r(s_rho)float64dask.array<chunksize=(40,), meta=np.ndarray>
- long_name :
- S-coordinate stretching curves at RHO-points
- valid_max :
- 0.0
- valid_min :
- -1.0
Array Chunk Bytes 320 B 320 B Shape (40,) (40,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Cs_w(s_w)float64dask.array<chunksize=(41,), meta=np.ndarray>
- long_name :
- S-coordinate stretching curves at W-points
- valid_max :
- 0.0
- valid_min :
- -1.0
Array Chunk Bytes 328 B 328 B Shape (41,) (41,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - FSobc_in(boundary)float64dask.array<chunksize=(4,), meta=np.ndarray>
- long_name :
- free-surface inflow, nudging inverse time scale
- units :
- second-1
Array Chunk Bytes 32 B 32 B Shape (4,) (4,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - FSobc_out(boundary)float64dask.array<chunksize=(4,), meta=np.ndarray>
- long_name :
- free-surface outflow, nudging inverse time scale
- units :
- second-1
Array Chunk Bytes 32 B 32 B Shape (4,) (4,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Falpha()float64...
- long_name :
- Power-law shape barotropic filter parameter
[1 values with dtype=float64]
- Fbeta()float64...
- long_name :
- Power-law shape barotropic filter parameter
[1 values with dtype=float64]
- Fgamma()float64...
- long_name :
- Power-law shape barotropic filter parameter
[1 values with dtype=float64]
- Lm2CLM()int32...
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- 2D momentum climatology processing switch
[1 values with dtype=int32]
- Lm3CLM()int32...
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- 3D momentum climatology processing switch
[1 values with dtype=int32]
- LnudgeM2CLM()int32...
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- 2D momentum climatology nudging activation switch
[1 values with dtype=int32]
- LnudgeM3CLM()int32...
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- 3D momentum climatology nudging activation switch
[1 values with dtype=int32]
- LnudgeTCLM(tracer)int32dask.array<chunksize=(2,), meta=np.ndarray>
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- tracer climatology nudging activation switch
Array Chunk Bytes 8 B 8 B Shape (2,) (2,) Dask graph 1 chunks in 2 graph layers Data type int32 numpy.ndarray - LsshCLM()int32...
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- sea surface height climatology processing switch
[1 values with dtype=int32]
- LtracerCLM(tracer)int32dask.array<chunksize=(2,), meta=np.ndarray>
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- tracer climatology processing switch
Array Chunk Bytes 8 B 8 B Shape (2,) (2,) Dask graph 1 chunks in 2 graph layers Data type int32 numpy.ndarray - LtracerSponge(tracer)int32dask.array<chunksize=(2,), meta=np.ndarray>
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- horizontal diffusivity sponge activation switch
Array Chunk Bytes 8 B 8 B Shape (2,) (2,) Dask graph 1 chunks in 2 graph layers Data type int32 numpy.ndarray - LtracerSrc(tracer)int32dask.array<chunksize=(2,), meta=np.ndarray>
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- tracer point sources and sink activation switch
Array Chunk Bytes 8 B 8 B Shape (2,) (2,) Dask graph 1 chunks in 2 graph layers Data type int32 numpy.ndarray - LuvSponge()int32...
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- horizontal viscosity sponge activation switch
[1 values with dtype=int32]
- LuvSrc()int32...
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- momentum point sources and sink activation switch
[1 values with dtype=int32]
- LwSrc()int32...
- flag_meanings :
- .FALSE. .TRUE.
- flag_values :
- [0 1]
- long_name :
- mass point sources and sink activation switch
[1 values with dtype=int32]
- M2nudg(ocean_time)float64dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- 2D momentum nudging/relaxation inverse time scale
- units :
- day-1
Array Chunk Bytes 2.06 kiB 8 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type float64 numpy.ndarray - M2obc_in(boundary)float64dask.array<chunksize=(4,), meta=np.ndarray>
- long_name :
- 2D momentum inflow, nudging inverse time scale
- units :
- second-1
Array Chunk Bytes 32 B 32 B Shape (4,) (4,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - M2obc_out(boundary)float64dask.array<chunksize=(4,), meta=np.ndarray>
- long_name :
- 2D momentum outflow, nudging inverse time scale
- units :
- second-1
Array Chunk Bytes 32 B 32 B Shape (4,) (4,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - M3nudg(ocean_time)float64dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- 3D momentum nudging/relaxation inverse time scale
- units :
- day-1
Array Chunk Bytes 2.06 kiB 8 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type float64 numpy.ndarray - M3obc_in(boundary)float64dask.array<chunksize=(4,), meta=np.ndarray>
- long_name :
- 3D momentum inflow, nudging inverse time scale
- units :
- second-1
Array Chunk Bytes 32 B 32 B Shape (4,) (4,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - M3obc_out(boundary)float64dask.array<chunksize=(4,), meta=np.ndarray>
- long_name :
- 3D momentum outflow, nudging inverse time scale
- units :
- second-1
Array Chunk Bytes 32 B 32 B Shape (4,) (4,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Tcline()float64...
- long_name :
- S-coordinate surface/bottom layer width
- units :
- meter
[1 values with dtype=float64]
- Tnudg(ocean_time, tracer)float64dask.array<chunksize=(1, 2), meta=np.ndarray>
- long_name :
- Tracers nudging/relaxation inverse time scale
- units :
- day-1
Array Chunk Bytes 4.12 kiB 16 B Shape (264, 2) (1, 2) Dask graph 264 chunks in 2 graph layers Data type float64 numpy.ndarray - Tobc_in(boundary, tracer)float64dask.array<chunksize=(4, 2), meta=np.ndarray>
- long_name :
- tracers inflow, nudging inverse time scale
- units :
- second-1
Array Chunk Bytes 64 B 64 B Shape (4, 2) (4, 2) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Tobc_out(boundary, tracer)float64dask.array<chunksize=(4, 2), meta=np.ndarray>
- long_name :
- tracers outflow, nudging inverse time scale
- units :
- second-1
Array Chunk Bytes 64 B 64 B Shape (4, 2) (4, 2) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Vstretching()int32...
- long_name :
- vertical terrain-following stretching function
[1 values with dtype=int32]
- Vtransform()int32...
- long_name :
- vertical terrain-following transformation equation
[1 values with dtype=int32]
- Znudg(ocean_time)float64dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- free-surface nudging/relaxation inverse time scale
- units :
- day-1
Array Chunk Bytes 2.06 kiB 8 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type float64 numpy.ndarray - Zob()float64...
- long_name :
- bottom roughness
- units :
- meter
[1 values with dtype=float64]
- Zos()float64...
- long_name :
- surface roughness
- units :
- meter
[1 values with dtype=float64]
- angle(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- curvilinear angle
- grid :
- grid
- location :
- face
- long_name :
- angle between XI-axis and EAST
- standard_name :
- grid_angle_of_rotation_from_east_to_y
- units :
- radians
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - dstart(ocean_time)datetime64[ns]dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- time stamp assigned to model initilization
Array Chunk Bytes 2.06 kiB 8 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type datetime64[ns] numpy.ndarray - dt(ocean_time)float64dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- size of long time-steps
- units :
- second
Array Chunk Bytes 2.06 kiB 8 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type float64 numpy.ndarray - dtfast(ocean_time)float64dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- size of short time-steps
- units :
- second
Array Chunk Bytes 2.06 kiB 8 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type float64 numpy.ndarray - el()float64...
- long_name :
- domain length in the ETA-direction
- units :
- meter
[1 values with dtype=float64]
- f(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- Coriolis parameter
- grid :
- grid
- location :
- face
- long_name :
- Coriolis parameter at RHO-points
- standard_name :
- coriolis_parameter
- units :
- second-1
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - gamma2()float64...
- long_name :
- slipperiness parameter
[1 values with dtype=float64]
- grid()int32...
- cf_role :
- grid_topology
- edge1_coordinates :
- lon_u lat_u
- edge1_dimensions :
- xi_u: xi_psi eta_u: eta_psi (padding: both)
- edge2_coordinates :
- lon_v lat_v
- edge2_dimensions :
- xi_v: xi_psi (padding: both) eta_v: eta_psi
- face_coordinates :
- lon_rho lat_rho
- face_dimensions :
- xi_rho: xi_psi (padding: both) eta_rho: eta_psi (padding: both)
- node_coordinates :
- lon_psi lat_psi
- node_dimensions :
- xi_psi eta_psi
- topology_dimension :
- 2
- vertical_dimensions :
- s_rho: s_w (padding: none)
[1 values with dtype=int32]
- h(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- bathymetry
- grid :
- grid
- location :
- face
- long_name :
- bathymetry at RHO-points
- standard_name :
- sea_floor_depth
- units :
- meter
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - hc()float64...
- long_name :
- S-coordinate parameter, critical depth
- units :
- meter
[1 values with dtype=float64]
- mask_psi(eta_psi, xi_psi)float64dask.array<chunksize=(1015, 347), meta=np.ndarray>
- flag_meanings :
- land water
- flag_values :
- [0. 1.]
- grid :
- grid
- location :
- node
- long_name :
- mask on psi-points
- standard_name :
- land_sea_mask_at_cell_corners
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 347) (1015, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - mask_rho(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- flag_meanings :
- land water
- flag_values :
- [0. 1.]
- grid :
- grid
- location :
- face
- long_name :
- mask on RHO-points
- standard_name :
- land_sea_mask_at_cell_center
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - mask_u(eta_u, xi_u)float64dask.array<chunksize=(1016, 347), meta=np.ndarray>
- flag_meanings :
- land water
- flag_values :
- [0. 1.]
- grid :
- grid
- location :
- edge1
- long_name :
- mask on U-points
- standard_name :
- land_sea_mask_at_cell_y_edges
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1016, 347) (1016, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - mask_v(eta_v, xi_v)float64dask.array<chunksize=(1015, 348), meta=np.ndarray>
- flag_meanings :
- land water
- flag_values :
- [0. 1.]
- grid :
- grid
- location :
- edge2
- long_name :
- mask on V-points
- standard_name :
- land_sea_mask_at_cell_x_edges
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 348) (1015, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - nAVG(ocean_time)int32dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- number of time-steps between time-averaged records
Array Chunk Bytes 1.03 kiB 4 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type int32 numpy.ndarray - nHIS()int32...
- long_name :
- number of time-steps between history records
[1 values with dtype=int32]
- nRST()int32...
- cycle :
- only latest two records are maintained
- long_name :
- number of time-steps between restart records
[1 values with dtype=int32]
- nSTA()int32...
- long_name :
- number of time-steps between stations records
[1 values with dtype=int32]
- ndefAVG(ocean_time)int32dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- number of time-steps between the creation of average files
Array Chunk Bytes 1.03 kiB 4 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type int32 numpy.ndarray - ndefHIS()int32...
- long_name :
- number of time-steps between the creation of history files
[1 values with dtype=int32]
- ndtfast()int32...
- long_name :
- number of short time-steps
[1 values with dtype=int32]
- nl_tnu2(tracer)float64dask.array<chunksize=(2,), meta=np.ndarray>
- long_name :
- nonlinear model Laplacian mixing coefficient for tracers
- units :
- meter2 second-1
Array Chunk Bytes 16 B 16 B Shape (2,) (2,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - nl_visc2()float64...
- long_name :
- nonlinear model Laplacian mixing coefficient for momentum
- units :
- meter2 second-1
[1 values with dtype=float64]
- ntimes(ocean_time)int32dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- number of long time-steps
Array Chunk Bytes 1.03 kiB 4 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type int32 numpy.ndarray - ntsAVG(ocean_time)int32dask.array<chunksize=(1,), meta=np.ndarray>
- long_name :
- starting time-step for accumulation of time-averaged fields
Array Chunk Bytes 1.03 kiB 4 B Shape (264,) (1,) Dask graph 264 chunks in 2 graph layers Data type int32 numpy.ndarray - pm(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- pm
- grid :
- grid
- location :
- face
- long_name :
- curvilinear coordinate metric in XI
- standard_name :
- inverse_grid_x_spacing
- units :
- meter-1
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - pn(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- pn
- grid :
- grid
- location :
- face
- long_name :
- curvilinear coordinate metric in ETA
- standard_name :
- inverse_grid_y_spacing
- units :
- meter-1
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - rdrg()float64...
- long_name :
- linear drag coefficient
- units :
- meter second-1
[1 values with dtype=float64]
- rdrg2()float64...
- long_name :
- quadratic drag coefficient
[1 values with dtype=float64]
- rho0()float64...
- long_name :
- mean density used in Boussinesq approximation
- units :
- kilogram meter-3
[1 values with dtype=float64]
- salt(ocean_time, s_rho, eta_rho, xi_rho)float32dask.array<chunksize=(1, 40, 1016, 348), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- salinity
- grid :
- grid
- location :
- face
- long_name :
- salinity
- standard_name :
- sea_water_practical_salinity
- time :
- ocean_time
Array Chunk Bytes 13.91 GiB 53.95 MiB Shape (264, 40, 1016, 348) (1, 40, 1016, 348) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray - spherical()int32...
- flag_meanings :
- Cartesian spherical
- flag_values :
- [0 1]
- long_name :
- grid type logical switch
[1 values with dtype=int32]
- temp(ocean_time, s_rho, eta_rho, xi_rho)float32dask.array<chunksize=(1, 40, 1016, 348), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- temperature
- grid :
- grid
- location :
- face
- long_name :
- potential temperature
- standard_name :
- sea_water_potential_temperature
- time :
- ocean_time
- units :
- Celsius
Array Chunk Bytes 13.91 GiB 53.95 MiB Shape (264, 40, 1016, 348) (1, 40, 1016, 348) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray - theta_b()float64...
- long_name :
- S-coordinate bottom control parameter
[1 values with dtype=float64]
- theta_s()float64...
- long_name :
- S-coordinate surface control parameter
[1 values with dtype=float64]
- u(ocean_time, s_rho, eta_u, xi_u)float32dask.array<chunksize=(1, 40, 1016, 347), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- u-velocity
- grid :
- grid
- location :
- edge1
- long_name :
- u-momentum component
- standard_name :
- sea_water_x_velocity
- time :
- ocean_time
- units :
- meter second-1
Array Chunk Bytes 13.87 GiB 53.80 MiB Shape (264, 40, 1016, 347) (1, 40, 1016, 347) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray - ubar(ocean_time, eta_u, xi_u)float32dask.array<chunksize=(1, 1016, 347), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- u-barotropic
- grid :
- grid
- location :
- edge1
- long_name :
- vertically integrated u-momentum component
- standard_name :
- barotropic_sea_water_x_velocity
- time :
- ocean_time
- units :
- meter second-1
Array Chunk Bytes 355.05 MiB 1.34 MiB Shape (264, 1016, 347) (1, 1016, 347) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray - v(ocean_time, s_rho, eta_v, xi_v)float32dask.array<chunksize=(1, 40, 1015, 348), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- v-velocity
- grid :
- grid
- location :
- edge2
- long_name :
- v-momentum component
- standard_name :
- sea_water_y_velocity
- time :
- ocean_time
- units :
- meter second-1
Array Chunk Bytes 13.90 GiB 53.90 MiB Shape (264, 40, 1015, 348) (1, 40, 1015, 348) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray - vbar(ocean_time, eta_v, xi_v)float32dask.array<chunksize=(1, 1015, 348), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- v-barotropic
- grid :
- grid
- location :
- edge2
- long_name :
- vertically integrated v-momentum component
- standard_name :
- barotropic_sea_water_y_velocity
- time :
- ocean_time
- units :
- meter second-1
Array Chunk Bytes 355.72 MiB 1.35 MiB Shape (264, 1015, 348) (1, 1015, 348) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray - w(ocean_time, s_w, eta_rho, xi_rho)float32dask.array<chunksize=(1, 41, 1016, 348), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- w-velocity
- grid :
- grid
- location :
- face
- long_name :
- vertical momentum component
- standard_name :
- upward_sea_water_velocity
- time :
- ocean_time
- units :
- meter second-1
Array Chunk Bytes 14.26 GiB 55.30 MiB Shape (264, 41, 1016, 348) (1, 41, 1016, 348) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray - xl()float64...
- long_name :
- domain length in the XI-direction
- units :
- meter
[1 values with dtype=float64]
- zeta(ocean_time, eta_rho, xi_rho)float32dask.array<chunksize=(1, 1016, 348), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- free-surface
- grid :
- grid
- location :
- face
- long_name :
- free-surface
- standard_name :
- sea_surface_elevation_anomaly
- time :
- ocean_time
- units :
- meter
Array Chunk Bytes 356.07 MiB 1.35 MiB Shape (264, 1016, 348) (1, 1016, 348) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray
- ocean_timePandasIndex
PandasIndex(DatetimeIndex(['2024-06-18 06:00:00', '2024-06-18 09:00:00', '2024-06-18 12:00:00', '2024-06-18 15:00:00', '2024-06-18 18:00:00', '2024-06-18 21:00:00', '2024-06-19 00:00:00', '2024-06-19 03:00:00', '2024-06-19 06:00:00', '2024-06-19 09:00:00', ... '2024-07-20 00:00:00', '2024-07-20 03:00:00', '2024-07-20 06:00:00', '2024-07-20 09:00:00', '2024-07-20 12:00:00', '2024-07-20 15:00:00', '2024-07-20 18:00:00', '2024-07-20 21:00:00', '2024-07-21 00:00:00', '2024-07-21 03:00:00'], dtype='datetime64[ns]', name='ocean_time', length=264, freq=None)) - s_rhoPandasIndex
PandasIndex(Index([ -0.9875, -0.9625, -0.9375, -0.9125000000000001, -0.8875000000000001, -0.8625, -0.8375, -0.8125, -0.7875000000000001, -0.7625000000000001, -0.7375, -0.7125, -0.6875, -0.6625000000000001, -0.6375000000000001, -0.6125, -0.5875, -0.5625, -0.5375, -0.5125000000000001, -0.48750000000000004, -0.4625, -0.4375, -0.41250000000000003, -0.3875, -0.36250000000000004, -0.3375, -0.3125, -0.28750000000000003, -0.2625, -0.23750000000000002, -0.21250000000000002, -0.1875, -0.1625, -0.1375, -0.1125, -0.08750000000000001, -0.0625, -0.037500000000000006, -0.0125], dtype='float64', name='s_rho')) - s_wPandasIndex
PandasIndex(Index([ -1.0, -0.9750000000000001, -0.9500000000000001, -0.925, -0.9, -0.875, -0.8500000000000001, -0.8250000000000001, -0.8, -0.775, -0.75, -0.7250000000000001, -0.7000000000000001, -0.675, -0.65, -0.625, -0.6000000000000001, -0.5750000000000001, -0.55, -0.525, -0.5, -0.47500000000000003, -0.45, -0.42500000000000004, -0.4, -0.375, -0.35000000000000003, -0.325, -0.30000000000000004, -0.275, -0.25, -0.225, -0.2, -0.17500000000000002, -0.15000000000000002, -0.125, -0.1, -0.07500000000000001, -0.05, -0.025, 0.0], dtype='float64', name='s_w'))
- CPP_options :
- mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, ASSUMED_SHAPE, AVERAGES, BOUNDARY_ALLREDUCE, BULK_FLUXES, COLLECT_ALLGATHER, CURVGRID, DJ_GRADPS, DOUBLE_PRECISION, EMINUSP, LIMIT_STFLX_COOLING, LONGWAVE_OUT, MASKING, MIX_S_TS, MIX_S_UV, MPI, MY25_MIXING, NONLINEAR, NONLIN_EOS, N2S2_HORAVG, POWER_LAW, PROFILE, K_GSCHEME, RADIATION_2D, REDUCE_ALLREDUCE, RI_SPLINES, !RST_SINGLE, SALINITY, SOLAR_SOURCE, SOLVE3D, SPLINES_VDIFF, SPLINES_VVISC, SSH_TIDES, STATIONS, TS_DIF2, UV_ADV, UV_COR, UV_U3HADVECTION, UV_C4VADVECTION, UV_QDRAG, UV_TIDES, UV_VIS2, VAR_RHO_2D
- Conventions :
- CF-1.4, SGRID-0.3
- NLM_LBC :
- EDGE: WEST SOUTH EAST NORTH zeta: Cha Cha Clo Cha ubar: Fla Fla Clo Fla vbar: Fla Fla Clo Fla u: RadNud RadNud Clo RadNud v: RadNud RadNud Clo RadNud temp: RadNud RadNud Clo RadNud salt: RadNud RadNud Clo RadNud tke: Gra Gra Clo Gra
- NLM_TADV :
- ADVECTION: HORIZONTAL VERTICAL temp: Upstream3 Centered4 salt: Upstream3 Centered4
- ana_file :
- ROMS/Functionals/ana_btflux.h
- avg_file :
- nos.wcofs.avg.nc
- bry_file_01 :
- nos.wcofs.obc.20240618.t03z.nc
- clm_file_01 :
- nos.wcofs.clim.20240618.t03z.nc
- code_dir :
- /lfs/h1/ops/para/packages/nosofs.v3.5.3/sorc/ROMS.fd
- compiler_command :
- /opt/cray/pe/craype/2.7.10/bin/ftn
- compiler_flags :
- -fp-model precise -ip -O3
- compiler_system :
- ftn-intel
- cpu :
- x86_64
- file :
- nos.wcofs.fields.forecast.20240618.t03z_0002.nc
- format :
- netCDF-3 64bit offset file
- frc_file_01 :
- nos.wcofs.met.forecast.20240618.t03z.nc
- grd_file :
- nos.wcofs.romsgrid.nc
- header_dir :
- /lfs/h1/ops/para/packages/nosofs.v3.5.3/sorc/ROMS.fd/ROMS/Include
- header_file :
- wcofs.h
- his_base :
- nos.wcofs.fields.forecast.20240618.t03z
- history :
- ROMS/TOMS, Version 4.1, Tuesday - June 18, 2024 - 3:12:04 AM
- ini_file :
- nos.wcofs.rst.nowcast.20240618.t03z.nc
- nud_file :
- nos.wcofs.nudgcoef.nc
- os :
- Linux
- river_file :
- nos.wcofs.river.20240618.t03z.nc
- rst_file :
- nos.wcofs.rst.forecast.20240618.t03z.nc
- script_file :
- ./wcofs_ROMS_forecast.in
- spos_file :
- nos.wcofs.stations.in
- sta_file :
- nos.wcofs.stations.forecast.20240618.t03z.nc
- svn_rev :
- svn_url :
- tide_file :
- nos.wcofs.roms.tides.nc
- tiling :
- 008x060
- title :
- wcofs forecast RUN in operational mode
- type :
- ROMS/TOMS history file
- var_info :
- varinfo.yaml
f"Dataset size: {ds.nbytes * 1.0e-9} Gb"
'Dataset size: 76.15602202000001 Gb'
Example Polygon¶
Drawn with: https://geojson.io

polygon = np.array(
[
[-122.38488806417945, 34.98888604471138],
[-122.02425311530737, 33.300351211467074],
[-120.60402628930146, 32.723214427630836],
[-116.63789131284673, 32.54346959375448],
[-116.39346090873218, 33.8541384965596],
[-118.83845767505964, 35.257586401855164],
[-121.34541503969862, 35.50073821008141],
[-122.38488806417945, 34.98888604471138],
]
)
polygon
array([[-122.38488806, 34.98888604],
[-122.02425312, 33.30035121],
[-120.60402629, 32.72321443],
[-116.63789131, 32.54346959],
[-116.39346091, 33.8541385 ],
[-118.83845768, 35.2575864 ],
[-121.34541504, 35.50073821],
[-122.38488806, 34.98888604]])
We can subset down to the variables we care about, while keeping the grid information for later analysis
ds_temp = ds.xsg.subset_vars(['temp'])
ds_temp
<xarray.Dataset> Size: 15GB
Dimensions: (eta_rho: 1016, xi_rho: 348, eta_u: 1016, xi_u: 347,
eta_psi: 1015, xi_psi: 347, eta_v: 1015, xi_v: 348,
ocean_time: 264, s_rho: 40)
Coordinates:
lat_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>
lat_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>
lat_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>
lon_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>
lon_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>
lat_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>
lon_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>
lon_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>
* ocean_time (ocean_time) datetime64[ns] 2kB 2024-06-18T06:00:00 ... 2024-...
* s_rho (s_rho) float64 320B -0.9875 -0.9625 -0.9375 ... -0.0375 -0.0125
Dimensions without coordinates: eta_rho, xi_rho, eta_u, xi_u, eta_psi, xi_psi,
eta_v, xi_v
Data variables:
grid int32 4B ...
temp (ocean_time, s_rho, eta_rho, xi_rho) float32 15GB dask.array<chunksize=(1, 40, 1016, 348), meta=np.ndarray>
Attributes: (12/36)
CPP_options: mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, AS...
Conventions: CF-1.4, SGRID-0.3
NLM_LBC: \nEDGE: WEST SOUTH EAST NORTH \nzeta: Cha C...
NLM_TADV: \nADVECTION: HORIZONTAL VERTICAL \ntemp: ...
ana_file: ROMS/Functionals/ana_btflux.h
avg_file: nos.wcofs.avg.nc
... ...
svn_url:
tide_file: nos.wcofs.roms.tides.nc
tiling: 008x060
title: wcofs forecast RUN in operational mode
type: ROMS/TOMS history file
var_info: varinfo.yamlxarray.Dataset
- eta_rho: 1016
- xi_rho: 348
- eta_u: 1016
- xi_u: 347
- eta_psi: 1015
- xi_psi: 347
- eta_v: 1015
- xi_v: 348
- ocean_time: 264
- s_rho: 40
- lat_rho(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of RHO-points
- standard_name :
- grid_latitude_at_cell_center
- units :
- degree_north
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_u(eta_u, xi_u)float64dask.array<chunksize=(1016, 347), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of U-points
- standard_name :
- grid_latitude_at_cell_y_edges
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1016, 347) (1016, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_psi(eta_psi, xi_psi)float64dask.array<chunksize=(1015, 347), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of PSI-points
- standard_name :
- grid_latitude_at_cell_corners
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 347) (1015, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_psi(eta_psi, xi_psi)float64dask.array<chunksize=(1015, 347), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of PSI-points
- standard_name :
- grid_longitude_at_cell_corners
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 347) (1015, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_v(eta_v, xi_v)float64dask.array<chunksize=(1015, 348), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of V-points
- standard_name :
- grid_longitude_at_cell_x_edges
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 348) (1015, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_v(eta_v, xi_v)float64dask.array<chunksize=(1015, 348), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of V-points
- standard_name :
- grid_latitude_at_cell_x_edges
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 348) (1015, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_u(eta_u, xi_u)float64dask.array<chunksize=(1016, 347), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of U-points
- standard_name :
- grid_longitude_at_cell_y_edges
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1016, 347) (1016, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_rho(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of RHO-points
- standard_name :
- grid_longitude_at_cell_center
- units :
- degree_east
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - ocean_time(ocean_time)datetime64[ns]2024-06-18T06:00:00 ... 2024-07-...
- field :
- time
- long_name :
- time since initialization
- standard_name :
- time
array(['2024-06-18T06:00:00.000000000', '2024-06-18T09:00:00.000000000', '2024-06-18T12:00:00.000000000', ..., '2024-07-20T21:00:00.000000000', '2024-07-21T00:00:00.000000000', '2024-07-21T03:00:00.000000000'], dtype='datetime64[ns]') - s_rho(s_rho)float64-0.9875 -0.9625 ... -0.0375 -0.0125
- formula_terms :
- s: s_rho C: Cs_r eta: zeta depth: h depth_c: hc
- long_name :
- S-coordinate at RHO-points
- positive :
- up
- standard_name :
- ocean_s_coordinate_g2
- valid_max :
- 0.0
- valid_min :
- -1.0
array([-0.9875, -0.9625, -0.9375, -0.9125, -0.8875, -0.8625, -0.8375, -0.8125, -0.7875, -0.7625, -0.7375, -0.7125, -0.6875, -0.6625, -0.6375, -0.6125, -0.5875, -0.5625, -0.5375, -0.5125, -0.4875, -0.4625, -0.4375, -0.4125, -0.3875, -0.3625, -0.3375, -0.3125, -0.2875, -0.2625, -0.2375, -0.2125, -0.1875, -0.1625, -0.1375, -0.1125, -0.0875, -0.0625, -0.0375, -0.0125])
- grid()int32...
- cf_role :
- grid_topology
- edge1_coordinates :
- lon_u lat_u
- edge1_dimensions :
- xi_u: xi_psi eta_u: eta_psi (padding: both)
- edge2_coordinates :
- lon_v lat_v
- edge2_dimensions :
- xi_v: xi_psi (padding: both) eta_v: eta_psi
- face_coordinates :
- lon_rho lat_rho
- face_dimensions :
- xi_rho: xi_psi (padding: both) eta_rho: eta_psi (padding: both)
- node_coordinates :
- lon_psi lat_psi
- node_dimensions :
- xi_psi eta_psi
- topology_dimension :
- 2
- vertical_dimensions :
- s_rho: s_w (padding: none)
[1 values with dtype=int32]
- temp(ocean_time, s_rho, eta_rho, xi_rho)float32dask.array<chunksize=(1, 40, 1016, 348), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- temperature
- grid :
- grid
- location :
- face
- long_name :
- potential temperature
- standard_name :
- sea_water_potential_temperature
- time :
- ocean_time
- units :
- Celsius
Array Chunk Bytes 13.91 GiB 53.95 MiB Shape (264, 40, 1016, 348) (1, 40, 1016, 348) Dask graph 264 chunks in 2 graph layers Data type float32 numpy.ndarray
- ocean_timePandasIndex
PandasIndex(DatetimeIndex(['2024-06-18 06:00:00', '2024-06-18 09:00:00', '2024-06-18 12:00:00', '2024-06-18 15:00:00', '2024-06-18 18:00:00', '2024-06-18 21:00:00', '2024-06-19 00:00:00', '2024-06-19 03:00:00', '2024-06-19 06:00:00', '2024-06-19 09:00:00', ... '2024-07-20 00:00:00', '2024-07-20 03:00:00', '2024-07-20 06:00:00', '2024-07-20 09:00:00', '2024-07-20 12:00:00', '2024-07-20 15:00:00', '2024-07-20 18:00:00', '2024-07-20 21:00:00', '2024-07-21 00:00:00', '2024-07-21 03:00:00'], dtype='datetime64[ns]', name='ocean_time', length=264, freq=None)) - s_rhoPandasIndex
PandasIndex(Index([ -0.9875, -0.9625, -0.9375, -0.9125000000000001, -0.8875000000000001, -0.8625, -0.8375, -0.8125, -0.7875000000000001, -0.7625000000000001, -0.7375, -0.7125, -0.6875, -0.6625000000000001, -0.6375000000000001, -0.6125, -0.5875, -0.5625, -0.5375, -0.5125000000000001, -0.48750000000000004, -0.4625, -0.4375, -0.41250000000000003, -0.3875, -0.36250000000000004, -0.3375, -0.3125, -0.28750000000000003, -0.2625, -0.23750000000000002, -0.21250000000000002, -0.1875, -0.1625, -0.1375, -0.1125, -0.08750000000000001, -0.0625, -0.037500000000000006, -0.0125], dtype='float64', name='s_rho'))
- CPP_options :
- mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, ASSUMED_SHAPE, AVERAGES, BOUNDARY_ALLREDUCE, BULK_FLUXES, COLLECT_ALLGATHER, CURVGRID, DJ_GRADPS, DOUBLE_PRECISION, EMINUSP, LIMIT_STFLX_COOLING, LONGWAVE_OUT, MASKING, MIX_S_TS, MIX_S_UV, MPI, MY25_MIXING, NONLINEAR, NONLIN_EOS, N2S2_HORAVG, POWER_LAW, PROFILE, K_GSCHEME, RADIATION_2D, REDUCE_ALLREDUCE, RI_SPLINES, !RST_SINGLE, SALINITY, SOLAR_SOURCE, SOLVE3D, SPLINES_VDIFF, SPLINES_VVISC, SSH_TIDES, STATIONS, TS_DIF2, UV_ADV, UV_COR, UV_U3HADVECTION, UV_C4VADVECTION, UV_QDRAG, UV_TIDES, UV_VIS2, VAR_RHO_2D
- Conventions :
- CF-1.4, SGRID-0.3
- NLM_LBC :
- EDGE: WEST SOUTH EAST NORTH zeta: Cha Cha Clo Cha ubar: Fla Fla Clo Fla vbar: Fla Fla Clo Fla u: RadNud RadNud Clo RadNud v: RadNud RadNud Clo RadNud temp: RadNud RadNud Clo RadNud salt: RadNud RadNud Clo RadNud tke: Gra Gra Clo Gra
- NLM_TADV :
- ADVECTION: HORIZONTAL VERTICAL temp: Upstream3 Centered4 salt: Upstream3 Centered4
- ana_file :
- ROMS/Functionals/ana_btflux.h
- avg_file :
- nos.wcofs.avg.nc
- bry_file_01 :
- nos.wcofs.obc.20240618.t03z.nc
- clm_file_01 :
- nos.wcofs.clim.20240618.t03z.nc
- code_dir :
- /lfs/h1/ops/para/packages/nosofs.v3.5.3/sorc/ROMS.fd
- compiler_command :
- /opt/cray/pe/craype/2.7.10/bin/ftn
- compiler_flags :
- -fp-model precise -ip -O3
- compiler_system :
- ftn-intel
- cpu :
- x86_64
- file :
- nos.wcofs.fields.forecast.20240618.t03z_0002.nc
- format :
- netCDF-3 64bit offset file
- frc_file_01 :
- nos.wcofs.met.forecast.20240618.t03z.nc
- grd_file :
- nos.wcofs.romsgrid.nc
- header_dir :
- /lfs/h1/ops/para/packages/nosofs.v3.5.3/sorc/ROMS.fd/ROMS/Include
- header_file :
- wcofs.h
- his_base :
- nos.wcofs.fields.forecast.20240618.t03z
- history :
- ROMS/TOMS, Version 4.1, Tuesday - June 18, 2024 - 3:12:04 AM
- ini_file :
- nos.wcofs.rst.nowcast.20240618.t03z.nc
- nud_file :
- nos.wcofs.nudgcoef.nc
- os :
- Linux
- river_file :
- nos.wcofs.river.20240618.t03z.nc
- rst_file :
- nos.wcofs.rst.forecast.20240618.t03z.nc
- script_file :
- ./wcofs_ROMS_forecast.in
- spos_file :
- nos.wcofs.stations.in
- sta_file :
- nos.wcofs.stations.forecast.20240618.t03z.nc
- svn_rev :
- svn_url :
- tide_file :
- nos.wcofs.roms.tides.nc
- tiling :
- 008x060
- title :
- wcofs forecast RUN in operational mode
- type :
- ROMS/TOMS history file
- var_info :
- varinfo.yaml
Then we can subset the grid so we only have the surface data
ds_temp_surface = ds_temp.xsg.subset_vertical_level(level=0, method='nearest')
ds_temp_surface
<xarray.Dataset> Size: 396MB
Dimensions: (eta_rho: 1016, xi_rho: 348, eta_u: 1016, xi_u: 347,
eta_psi: 1015, xi_psi: 347, eta_v: 1015, xi_v: 348,
ocean_time: 264)
Coordinates:
lat_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>
lat_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>
lat_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>
lon_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>
lon_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>
lat_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>
lon_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>
lon_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>
* ocean_time (ocean_time) datetime64[ns] 2kB 2024-06-18T06:00:00 ... 2024-...
s_rho float64 8B -0.0125
Dimensions without coordinates: eta_rho, xi_rho, eta_u, xi_u, eta_psi, xi_psi,
eta_v, xi_v
Data variables:
grid int32 4B ...
temp (ocean_time, eta_rho, xi_rho) float32 373MB dask.array<chunksize=(1, 1016, 348), meta=np.ndarray>
Attributes: (12/36)
CPP_options: mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, AS...
Conventions: CF-1.4, SGRID-0.3
NLM_LBC: \nEDGE: WEST SOUTH EAST NORTH \nzeta: Cha C...
NLM_TADV: \nADVECTION: HORIZONTAL VERTICAL \ntemp: ...
ana_file: ROMS/Functionals/ana_btflux.h
avg_file: nos.wcofs.avg.nc
... ...
svn_url:
tide_file: nos.wcofs.roms.tides.nc
tiling: 008x060
title: wcofs forecast RUN in operational mode
type: ROMS/TOMS history file
var_info: varinfo.yamlxarray.Dataset
- eta_rho: 1016
- xi_rho: 348
- eta_u: 1016
- xi_u: 347
- eta_psi: 1015
- xi_psi: 347
- eta_v: 1015
- xi_v: 348
- ocean_time: 264
- lat_rho(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of RHO-points
- standard_name :
- grid_latitude_at_cell_center
- units :
- degree_north
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_u(eta_u, xi_u)float64dask.array<chunksize=(1016, 347), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of U-points
- standard_name :
- grid_latitude_at_cell_y_edges
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1016, 347) (1016, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_psi(eta_psi, xi_psi)float64dask.array<chunksize=(1015, 347), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of PSI-points
- standard_name :
- grid_latitude_at_cell_corners
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 347) (1015, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_psi(eta_psi, xi_psi)float64dask.array<chunksize=(1015, 347), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of PSI-points
- standard_name :
- grid_longitude_at_cell_corners
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 347) (1015, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_v(eta_v, xi_v)float64dask.array<chunksize=(1015, 348), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of V-points
- standard_name :
- grid_longitude_at_cell_x_edges
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 348) (1015, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lat_v(eta_v, xi_v)float64dask.array<chunksize=(1015, 348), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of V-points
- standard_name :
- grid_latitude_at_cell_x_edges
- units :
- degree_north
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1015, 348) (1015, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_u(eta_u, xi_u)float64dask.array<chunksize=(1016, 347), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of U-points
- standard_name :
- grid_longitude_at_cell_y_edges
- units :
- degree_east
Array Chunk Bytes 2.69 MiB 2.69 MiB Shape (1016, 347) (1016, 347) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - lon_rho(eta_rho, xi_rho)float64dask.array<chunksize=(1016, 348), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of RHO-points
- standard_name :
- grid_longitude_at_cell_center
- units :
- degree_east
Array Chunk Bytes 2.70 MiB 2.70 MiB Shape (1016, 348) (1016, 348) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - ocean_time(ocean_time)datetime64[ns]2024-06-18T06:00:00 ... 2024-07-...
- field :
- time
- long_name :
- time since initialization
- standard_name :
- time
array(['2024-06-18T06:00:00.000000000', '2024-06-18T09:00:00.000000000', '2024-06-18T12:00:00.000000000', ..., '2024-07-20T21:00:00.000000000', '2024-07-21T00:00:00.000000000', '2024-07-21T03:00:00.000000000'], dtype='datetime64[ns]') - s_rho()float64-0.0125
- formula_terms :
- s: s_rho C: Cs_r eta: zeta depth: h depth_c: hc
- long_name :
- S-coordinate at RHO-points
- positive :
- up
- standard_name :
- ocean_s_coordinate_g2
- valid_max :
- 0.0
- valid_min :
- -1.0
array(-0.0125)
- grid()int32...
- cf_role :
- grid_topology
- edge1_coordinates :
- lon_u lat_u
- edge1_dimensions :
- xi_u: xi_psi eta_u: eta_psi (padding: both)
- edge2_coordinates :
- lon_v lat_v
- edge2_dimensions :
- xi_v: xi_psi (padding: both) eta_v: eta_psi
- face_coordinates :
- lon_rho lat_rho
- face_dimensions :
- xi_rho: xi_psi (padding: both) eta_rho: eta_psi (padding: both)
- node_coordinates :
- lon_psi lat_psi
- node_dimensions :
- xi_psi eta_psi
- topology_dimension :
- 2
- vertical_dimensions :
- s_rho: s_w (padding: none)
[1 values with dtype=int32]
- temp(ocean_time, eta_rho, xi_rho)float32dask.array<chunksize=(1, 1016, 348), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- temperature
- grid :
- grid
- location :
- face
- long_name :
- potential temperature
- standard_name :
- sea_water_potential_temperature
- time :
- ocean_time
- units :
- Celsius
Array Chunk Bytes 356.07 MiB 1.35 MiB Shape (264, 1016, 348) (1, 1016, 348) Dask graph 264 chunks in 3 graph layers Data type float32 numpy.ndarray
- ocean_timePandasIndex
PandasIndex(DatetimeIndex(['2024-06-18 06:00:00', '2024-06-18 09:00:00', '2024-06-18 12:00:00', '2024-06-18 15:00:00', '2024-06-18 18:00:00', '2024-06-18 21:00:00', '2024-06-19 00:00:00', '2024-06-19 03:00:00', '2024-06-19 06:00:00', '2024-06-19 09:00:00', ... '2024-07-20 00:00:00', '2024-07-20 03:00:00', '2024-07-20 06:00:00', '2024-07-20 09:00:00', '2024-07-20 12:00:00', '2024-07-20 15:00:00', '2024-07-20 18:00:00', '2024-07-20 21:00:00', '2024-07-21 00:00:00', '2024-07-21 03:00:00'], dtype='datetime64[ns]', name='ocean_time', length=264, freq=None))
- CPP_options :
- mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, ASSUMED_SHAPE, AVERAGES, BOUNDARY_ALLREDUCE, BULK_FLUXES, COLLECT_ALLGATHER, CURVGRID, DJ_GRADPS, DOUBLE_PRECISION, EMINUSP, LIMIT_STFLX_COOLING, LONGWAVE_OUT, MASKING, MIX_S_TS, MIX_S_UV, MPI, MY25_MIXING, NONLINEAR, NONLIN_EOS, N2S2_HORAVG, POWER_LAW, PROFILE, K_GSCHEME, RADIATION_2D, REDUCE_ALLREDUCE, RI_SPLINES, !RST_SINGLE, SALINITY, SOLAR_SOURCE, SOLVE3D, SPLINES_VDIFF, SPLINES_VVISC, SSH_TIDES, STATIONS, TS_DIF2, UV_ADV, UV_COR, UV_U3HADVECTION, UV_C4VADVECTION, UV_QDRAG, UV_TIDES, UV_VIS2, VAR_RHO_2D
- Conventions :
- CF-1.4, SGRID-0.3
- NLM_LBC :
- EDGE: WEST SOUTH EAST NORTH zeta: Cha Cha Clo Cha ubar: Fla Fla Clo Fla vbar: Fla Fla Clo Fla u: RadNud RadNud Clo RadNud v: RadNud RadNud Clo RadNud temp: RadNud RadNud Clo RadNud salt: RadNud RadNud Clo RadNud tke: Gra Gra Clo Gra
- NLM_TADV :
- ADVECTION: HORIZONTAL VERTICAL temp: Upstream3 Centered4 salt: Upstream3 Centered4
- ana_file :
- ROMS/Functionals/ana_btflux.h
- avg_file :
- nos.wcofs.avg.nc
- bry_file_01 :
- nos.wcofs.obc.20240618.t03z.nc
- clm_file_01 :
- nos.wcofs.clim.20240618.t03z.nc
- code_dir :
- /lfs/h1/ops/para/packages/nosofs.v3.5.3/sorc/ROMS.fd
- compiler_command :
- /opt/cray/pe/craype/2.7.10/bin/ftn
- compiler_flags :
- -fp-model precise -ip -O3
- compiler_system :
- ftn-intel
- cpu :
- x86_64
- file :
- nos.wcofs.fields.forecast.20240618.t03z_0002.nc
- format :
- netCDF-3 64bit offset file
- frc_file_01 :
- nos.wcofs.met.forecast.20240618.t03z.nc
- grd_file :
- nos.wcofs.romsgrid.nc
- header_dir :
- /lfs/h1/ops/para/packages/nosofs.v3.5.3/sorc/ROMS.fd/ROMS/Include
- header_file :
- wcofs.h
- his_base :
- nos.wcofs.fields.forecast.20240618.t03z
- history :
- ROMS/TOMS, Version 4.1, Tuesday - June 18, 2024 - 3:12:04 AM
- ini_file :
- nos.wcofs.rst.nowcast.20240618.t03z.nc
- nud_file :
- nos.wcofs.nudgcoef.nc
- os :
- Linux
- river_file :
- nos.wcofs.river.20240618.t03z.nc
- rst_file :
- nos.wcofs.rst.forecast.20240618.t03z.nc
- script_file :
- ./wcofs_ROMS_forecast.in
- spos_file :
- nos.wcofs.stations.in
- sta_file :
- nos.wcofs.stations.forecast.20240618.t03z.nc
- svn_rev :
- svn_url :
- tide_file :
- nos.wcofs.roms.tides.nc
- tiling :
- 008x060
- title :
- wcofs forecast RUN in operational mode
- type :
- ROMS/TOMS history file
- var_info :
- varinfo.yaml
Then we can subset the grid down to the target area
ds_subset = ds_temp_surface.xsg.subset_polygon(polygon)
assert(ds_subset is not None)
ds_subset
<xarray.Dataset> Size: 18MB
Dimensions: (eta_u: 125, xi_u: 132, eta_v: 125, xi_v: 133, ocean_time: 264,
eta_rho: 125, xi_rho: 132, eta_psi: 125, xi_psi: 132)
Coordinates:
lat_u (eta_u, xi_u) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>
lon_u (eta_u, xi_u) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>
s_rho float64 8B -0.0125
lon_v (eta_v, xi_v) float64 133kB dask.array<chunksize=(125, 133), meta=np.ndarray>
lat_v (eta_v, xi_v) float64 133kB dask.array<chunksize=(125, 133), meta=np.ndarray>
lat_rho (eta_rho, xi_rho) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>
lon_rho (eta_rho, xi_rho) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>
* ocean_time (ocean_time) datetime64[ns] 2kB 2024-06-18T06:00:00 ... 2024-...
lat_psi (eta_psi, xi_psi) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>
lon_psi (eta_psi, xi_psi) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>
Dimensions without coordinates: eta_u, xi_u, eta_v, xi_v, eta_rho, xi_rho,
eta_psi, xi_psi
Data variables:
temp (ocean_time, eta_rho, xi_rho) float32 17MB dask.array<chunksize=(1, 125, 132), meta=np.ndarray>
grid int32 4B ...
Attributes: (12/36)
CPP_options: mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, AS...
Conventions: CF-1.4, SGRID-0.3
NLM_LBC: \nEDGE: WEST SOUTH EAST NORTH \nzeta: Cha C...
NLM_TADV: \nADVECTION: HORIZONTAL VERTICAL \ntemp: ...
ana_file: ROMS/Functionals/ana_btflux.h
avg_file: nos.wcofs.avg.nc
... ...
svn_url:
tide_file: nos.wcofs.roms.tides.nc
tiling: 008x060
title: wcofs forecast RUN in operational mode
type: ROMS/TOMS history file
var_info: varinfo.yamlxarray.Dataset
- eta_u: 125
- xi_u: 132
- eta_v: 125
- xi_v: 133
- ocean_time: 264
- eta_rho: 125
- xi_rho: 132
- eta_psi: 125
- xi_psi: 132
- lat_u(eta_u, xi_u)float64dask.array<chunksize=(125, 132), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of U-points
- standard_name :
- grid_latitude_at_cell_y_edges
- units :
- degree_north
Array Chunk Bytes 128.91 kiB 128.91 kiB Shape (125, 132) (125, 132) Dask graph 1 chunks in 4 graph layers Data type float64 numpy.ndarray - lon_u(eta_u, xi_u)float64dask.array<chunksize=(125, 132), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of U-points
- standard_name :
- grid_longitude_at_cell_y_edges
- units :
- degree_east
Array Chunk Bytes 128.91 kiB 128.91 kiB Shape (125, 132) (125, 132) Dask graph 1 chunks in 4 graph layers Data type float64 numpy.ndarray - s_rho()float64-0.0125
- formula_terms :
- s: s_rho C: Cs_r eta: zeta depth: h depth_c: hc
- long_name :
- S-coordinate at RHO-points
- positive :
- up
- standard_name :
- ocean_s_coordinate_g2
- valid_max :
- 0.0
- valid_min :
- -1.0
array(-0.0125)
- lon_v(eta_v, xi_v)float64dask.array<chunksize=(125, 133), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of V-points
- standard_name :
- grid_longitude_at_cell_x_edges
- units :
- degree_east
Array Chunk Bytes 129.88 kiB 129.88 kiB Shape (125, 133) (125, 133) Dask graph 1 chunks in 4 graph layers Data type float64 numpy.ndarray - lat_v(eta_v, xi_v)float64dask.array<chunksize=(125, 133), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of V-points
- standard_name :
- grid_latitude_at_cell_x_edges
- units :
- degree_north
Array Chunk Bytes 129.88 kiB 129.88 kiB Shape (125, 133) (125, 133) Dask graph 1 chunks in 4 graph layers Data type float64 numpy.ndarray - lat_rho(eta_rho, xi_rho)float64dask.array<chunksize=(125, 132), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of RHO-points
- standard_name :
- grid_latitude_at_cell_center
- units :
- degree_north
Array Chunk Bytes 128.91 kiB 128.91 kiB Shape (125, 132) (125, 132) Dask graph 1 chunks in 4 graph layers Data type float64 numpy.ndarray - lon_rho(eta_rho, xi_rho)float64dask.array<chunksize=(125, 132), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of RHO-points
- standard_name :
- grid_longitude_at_cell_center
- units :
- degree_east
Array Chunk Bytes 128.91 kiB 128.91 kiB Shape (125, 132) (125, 132) Dask graph 1 chunks in 4 graph layers Data type float64 numpy.ndarray - ocean_time(ocean_time)datetime64[ns]2024-06-18T06:00:00 ... 2024-07-...
- field :
- time
- long_name :
- time since initialization
- standard_name :
- time
array(['2024-06-18T06:00:00.000000000', '2024-06-18T09:00:00.000000000', '2024-06-18T12:00:00.000000000', ..., '2024-07-20T21:00:00.000000000', '2024-07-21T00:00:00.000000000', '2024-07-21T03:00:00.000000000'], dtype='datetime64[ns]') - lat_psi(eta_psi, xi_psi)float64dask.array<chunksize=(125, 132), meta=np.ndarray>
- field :
- latitude
- long_name :
- latitude of PSI-points
- standard_name :
- grid_latitude_at_cell_corners
- units :
- degree_north
Array Chunk Bytes 128.91 kiB 128.91 kiB Shape (125, 132) (125, 132) Dask graph 1 chunks in 4 graph layers Data type float64 numpy.ndarray - lon_psi(eta_psi, xi_psi)float64dask.array<chunksize=(125, 132), meta=np.ndarray>
- field :
- longitude
- long_name :
- longitude of PSI-points
- standard_name :
- grid_longitude_at_cell_corners
- units :
- degree_east
Array Chunk Bytes 128.91 kiB 128.91 kiB Shape (125, 132) (125, 132) Dask graph 1 chunks in 4 graph layers Data type float64 numpy.ndarray
- temp(ocean_time, eta_rho, xi_rho)float32dask.array<chunksize=(1, 125, 132), meta=np.ndarray>
- cell_methods :
- ocean_time: point
- field :
- temperature
- grid :
- grid
- location :
- face
- long_name :
- potential temperature
- standard_name :
- sea_water_potential_temperature
- time :
- ocean_time
- units :
- Celsius
Array Chunk Bytes 16.62 MiB 64.45 kiB Shape (264, 125, 132) (1, 125, 132) Dask graph 264 chunks in 7 graph layers Data type float32 numpy.ndarray - grid()int32...
- cf_role :
- grid_topology
- edge1_coordinates :
- lon_u lat_u
- edge1_dimensions :
- xi_u: xi_psi eta_u: eta_psi (padding: both)
- edge2_coordinates :
- lon_v lat_v
- edge2_dimensions :
- xi_v: xi_psi (padding: both) eta_v: eta_psi
- face_coordinates :
- lon_rho lat_rho
- face_dimensions :
- xi_rho: xi_psi (padding: both) eta_rho: eta_psi (padding: both)
- node_coordinates :
- lon_psi lat_psi
- node_dimensions :
- xi_psi eta_psi
- topology_dimension :
- 2
- vertical_dimensions :
- s_rho: s_w (padding: none)
[1 values with dtype=int32]
- ocean_timePandasIndex
PandasIndex(DatetimeIndex(['2024-06-18 06:00:00', '2024-06-18 09:00:00', '2024-06-18 12:00:00', '2024-06-18 15:00:00', '2024-06-18 18:00:00', '2024-06-18 21:00:00', '2024-06-19 00:00:00', '2024-06-19 03:00:00', '2024-06-19 06:00:00', '2024-06-19 09:00:00', ... '2024-07-20 00:00:00', '2024-07-20 03:00:00', '2024-07-20 06:00:00', '2024-07-20 09:00:00', '2024-07-20 12:00:00', '2024-07-20 15:00:00', '2024-07-20 18:00:00', '2024-07-20 21:00:00', '2024-07-21 00:00:00', '2024-07-21 03:00:00'], dtype='datetime64[ns]', name='ocean_time', length=264, freq=None))
- CPP_options :
- mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, ASSUMED_SHAPE, AVERAGES, BOUNDARY_ALLREDUCE, BULK_FLUXES, COLLECT_ALLGATHER, CURVGRID, DJ_GRADPS, DOUBLE_PRECISION, EMINUSP, LIMIT_STFLX_COOLING, LONGWAVE_OUT, MASKING, MIX_S_TS, MIX_S_UV, MPI, MY25_MIXING, NONLINEAR, NONLIN_EOS, N2S2_HORAVG, POWER_LAW, PROFILE, K_GSCHEME, RADIATION_2D, REDUCE_ALLREDUCE, RI_SPLINES, !RST_SINGLE, SALINITY, SOLAR_SOURCE, SOLVE3D, SPLINES_VDIFF, SPLINES_VVISC, SSH_TIDES, STATIONS, TS_DIF2, UV_ADV, UV_COR, UV_U3HADVECTION, UV_C4VADVECTION, UV_QDRAG, UV_TIDES, UV_VIS2, VAR_RHO_2D
- Conventions :
- CF-1.4, SGRID-0.3
- NLM_LBC :
- EDGE: WEST SOUTH EAST NORTH zeta: Cha Cha Clo Cha ubar: Fla Fla Clo Fla vbar: Fla Fla Clo Fla u: RadNud RadNud Clo RadNud v: RadNud RadNud Clo RadNud temp: RadNud RadNud Clo RadNud salt: RadNud RadNud Clo RadNud tke: Gra Gra Clo Gra
- NLM_TADV :
- ADVECTION: HORIZONTAL VERTICAL temp: Upstream3 Centered4 salt: Upstream3 Centered4
- ana_file :
- ROMS/Functionals/ana_btflux.h
- avg_file :
- nos.wcofs.avg.nc
- bry_file_01 :
- nos.wcofs.obc.20240618.t03z.nc
- clm_file_01 :
- nos.wcofs.clim.20240618.t03z.nc
- code_dir :
- /lfs/h1/ops/para/packages/nosofs.v3.5.3/sorc/ROMS.fd
- compiler_command :
- /opt/cray/pe/craype/2.7.10/bin/ftn
- compiler_flags :
- -fp-model precise -ip -O3
- compiler_system :
- ftn-intel
- cpu :
- x86_64
- file :
- nos.wcofs.fields.forecast.20240618.t03z_0002.nc
- format :
- netCDF-3 64bit offset file
- frc_file_01 :
- nos.wcofs.met.forecast.20240618.t03z.nc
- grd_file :
- nos.wcofs.romsgrid.nc
- header_dir :
- /lfs/h1/ops/para/packages/nosofs.v3.5.3/sorc/ROMS.fd/ROMS/Include
- header_file :
- wcofs.h
- his_base :
- nos.wcofs.fields.forecast.20240618.t03z
- history :
- ROMS/TOMS, Version 4.1, Tuesday - June 18, 2024 - 3:12:04 AM
- ini_file :
- nos.wcofs.rst.nowcast.20240618.t03z.nc
- nud_file :
- nos.wcofs.nudgcoef.nc
- os :
- Linux
- river_file :
- nos.wcofs.river.20240618.t03z.nc
- rst_file :
- nos.wcofs.rst.forecast.20240618.t03z.nc
- script_file :
- ./wcofs_ROMS_forecast.in
- spos_file :
- nos.wcofs.stations.in
- sta_file :
- nos.wcofs.stations.forecast.20240618.t03z.nc
- svn_rev :
- svn_url :
- tide_file :
- nos.wcofs.roms.tides.nc
- tiling :
- 008x060
- title :
- wcofs forecast RUN in operational mode
- type :
- ROMS/TOMS history file
- var_info :
- varinfo.yaml
ds_subset.temp.cf.isel(time=0).plot(x="lon_rho", y="lat_rho")
<matplotlib.collections.QuadMesh at 0x3415e46d0>
f"Subset dataset size: {ds_subset.nbytes * 1.0e-6} Mb"
'Subset dataset size: 18.484123999999998 Mb'