{ "cells": [ { "cell_type": "markdown", "id": "ca56fe08", "metadata": {}, "source": [ "# ROMS 3D" ] }, { "cell_type": "markdown", "id": "37b41113", "metadata": {}, "source": [ "\n", "[](https://colab.research.google.com/github/asascience-open/xarray-subset-grid/blob/main/docs/examples/roms_3d.ipynb)" ] }, { "cell_type": "code", "execution_count": null, "id": "10ca5d49", "metadata": {}, "outputs": [], "source": [ "# Install required libraries\n", "# !pip install -q xarray_subset_grid@git+https://github.com/asascience-open/xarray-subset-grid.git\n", "# !pip install -q s3fs cftime xarray cf-xarray fsspec dask h5netcdf" ] }, { "cell_type": "code", "execution_count": 1, "id": "a6daf1fb-27d1-4ab3-a3fa-35804614e378", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset> Size: 76GB\n",
"Dimensions: (tracer: 2, s_rho: 40, s_w: 41, boundary: 4,\n",
" ocean_time: 264, eta_rho: 1016, xi_rho: 348, eta_psi: 1015,\n",
" xi_psi: 347, eta_u: 1016, xi_u: 347, eta_v: 1015, xi_v: 348)\n",
"Coordinates:\n",
" lat_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>\n",
" lat_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>\n",
" lat_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>\n",
" lat_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>\n",
" lon_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>\n",
" lon_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>\n",
" lon_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>\n",
" lon_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>\n",
" * ocean_time (ocean_time) datetime64[ns] 2kB 2024-06-18T06:00:00 ... 20...\n",
" * s_rho (s_rho) float64 320B -0.9875 -0.9625 ... -0.0375 -0.0125\n",
" * s_w (s_w) float64 328B -1.0 -0.975 -0.95 ... -0.05 -0.025 0.0\n",
"Dimensions without coordinates: tracer, boundary, eta_rho, xi_rho, eta_psi,\n",
" xi_psi, eta_u, xi_u, eta_v, xi_v\n",
"Data variables: (12/80)\n",
" Akk_bak float64 8B ...\n",
" Akp_bak float64 8B ...\n",
" Akt_bak (tracer) float64 16B dask.array<chunksize=(2,), meta=np.ndarray>\n",
" Akv_bak float64 8B ...\n",
" Cs_r (s_rho) float64 320B dask.array<chunksize=(40,), meta=np.ndarray>\n",
" Cs_w (s_w) float64 328B dask.array<chunksize=(41,), meta=np.ndarray>\n",
" ... ...\n",
" ubar (ocean_time, eta_u, xi_u) float32 372MB dask.array<chunksize=(1, 1016, 347), meta=np.ndarray>\n",
" v (ocean_time, s_rho, eta_v, xi_v) float32 15GB dask.array<chunksize=(1, 40, 1015, 348), meta=np.ndarray>\n",
" vbar (ocean_time, eta_v, xi_v) float32 373MB dask.array<chunksize=(1, 1015, 348), meta=np.ndarray>\n",
" w (ocean_time, s_w, eta_rho, xi_rho) float32 15GB dask.array<chunksize=(1, 41, 1016, 348), meta=np.ndarray>\n",
" xl float64 8B ...\n",
" zeta (ocean_time, eta_rho, xi_rho) float32 373MB dask.array<chunksize=(1, 1016, 348), meta=np.ndarray>\n",
"Attributes: (12/36)\n",
" CPP_options: mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, AS...\n",
" Conventions: CF-1.4, SGRID-0.3\n",
" NLM_LBC: \\nEDGE: WEST SOUTH EAST NORTH \\nzeta: Cha C...\n",
" NLM_TADV: \\nADVECTION: HORIZONTAL VERTICAL \\ntemp: ...\n",
" ana_file: ROMS/Functionals/ana_btflux.h\n",
" avg_file: nos.wcofs.avg.nc\n",
" ... ...\n",
" svn_url: \n",
" tide_file: nos.wcofs.roms.tides.nc\n",
" tiling: 008x060\n",
" title: wcofs forecast RUN in operational mode\n",
" type: ROMS/TOMS history file\n",
" var_info: varinfo.yaml<xarray.Dataset> Size: 15GB\n",
"Dimensions: (eta_rho: 1016, xi_rho: 348, eta_u: 1016, xi_u: 347,\n",
" eta_psi: 1015, xi_psi: 347, eta_v: 1015, xi_v: 348,\n",
" ocean_time: 264, s_rho: 40)\n",
"Coordinates:\n",
" lat_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>\n",
" lat_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>\n",
" lat_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>\n",
" lon_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>\n",
" lon_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>\n",
" lat_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>\n",
" lon_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>\n",
" lon_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>\n",
" * ocean_time (ocean_time) datetime64[ns] 2kB 2024-06-18T06:00:00 ... 2024-...\n",
" * s_rho (s_rho) float64 320B -0.9875 -0.9625 -0.9375 ... -0.0375 -0.0125\n",
"Dimensions without coordinates: eta_rho, xi_rho, eta_u, xi_u, eta_psi, xi_psi,\n",
" eta_v, xi_v\n",
"Data variables:\n",
" grid int32 4B ...\n",
" temp (ocean_time, s_rho, eta_rho, xi_rho) float32 15GB dask.array<chunksize=(1, 40, 1016, 348), meta=np.ndarray>\n",
"Attributes: (12/36)\n",
" CPP_options: mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, AS...\n",
" Conventions: CF-1.4, SGRID-0.3\n",
" NLM_LBC: \\nEDGE: WEST SOUTH EAST NORTH \\nzeta: Cha C...\n",
" NLM_TADV: \\nADVECTION: HORIZONTAL VERTICAL \\ntemp: ...\n",
" ana_file: ROMS/Functionals/ana_btflux.h\n",
" avg_file: nos.wcofs.avg.nc\n",
" ... ...\n",
" svn_url: \n",
" tide_file: nos.wcofs.roms.tides.nc\n",
" tiling: 008x060\n",
" title: wcofs forecast RUN in operational mode\n",
" type: ROMS/TOMS history file\n",
" var_info: varinfo.yaml<xarray.Dataset> Size: 396MB\n",
"Dimensions: (eta_rho: 1016, xi_rho: 348, eta_u: 1016, xi_u: 347,\n",
" eta_psi: 1015, xi_psi: 347, eta_v: 1015, xi_v: 348,\n",
" ocean_time: 264)\n",
"Coordinates:\n",
" lat_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>\n",
" lat_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>\n",
" lat_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>\n",
" lon_psi (eta_psi, xi_psi) float64 3MB dask.array<chunksize=(1015, 347), meta=np.ndarray>\n",
" lon_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>\n",
" lat_v (eta_v, xi_v) float64 3MB dask.array<chunksize=(1015, 348), meta=np.ndarray>\n",
" lon_u (eta_u, xi_u) float64 3MB dask.array<chunksize=(1016, 347), meta=np.ndarray>\n",
" lon_rho (eta_rho, xi_rho) float64 3MB dask.array<chunksize=(1016, 348), meta=np.ndarray>\n",
" * ocean_time (ocean_time) datetime64[ns] 2kB 2024-06-18T06:00:00 ... 2024-...\n",
" s_rho float64 8B -0.0125\n",
"Dimensions without coordinates: eta_rho, xi_rho, eta_u, xi_u, eta_psi, xi_psi,\n",
" eta_v, xi_v\n",
"Data variables:\n",
" grid int32 4B ...\n",
" temp (ocean_time, eta_rho, xi_rho) float32 373MB dask.array<chunksize=(1, 1016, 348), meta=np.ndarray>\n",
"Attributes: (12/36)\n",
" CPP_options: mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, AS...\n",
" Conventions: CF-1.4, SGRID-0.3\n",
" NLM_LBC: \\nEDGE: WEST SOUTH EAST NORTH \\nzeta: Cha C...\n",
" NLM_TADV: \\nADVECTION: HORIZONTAL VERTICAL \\ntemp: ...\n",
" ana_file: ROMS/Functionals/ana_btflux.h\n",
" avg_file: nos.wcofs.avg.nc\n",
" ... ...\n",
" svn_url: \n",
" tide_file: nos.wcofs.roms.tides.nc\n",
" tiling: 008x060\n",
" title: wcofs forecast RUN in operational mode\n",
" type: ROMS/TOMS history file\n",
" var_info: varinfo.yaml<xarray.Dataset> Size: 18MB\n",
"Dimensions: (eta_u: 125, xi_u: 132, eta_v: 125, xi_v: 133, ocean_time: 264,\n",
" eta_rho: 125, xi_rho: 132, eta_psi: 125, xi_psi: 132)\n",
"Coordinates:\n",
" lat_u (eta_u, xi_u) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>\n",
" lon_u (eta_u, xi_u) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>\n",
" s_rho float64 8B -0.0125\n",
" lon_v (eta_v, xi_v) float64 133kB dask.array<chunksize=(125, 133), meta=np.ndarray>\n",
" lat_v (eta_v, xi_v) float64 133kB dask.array<chunksize=(125, 133), meta=np.ndarray>\n",
" lat_rho (eta_rho, xi_rho) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>\n",
" lon_rho (eta_rho, xi_rho) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>\n",
" * ocean_time (ocean_time) datetime64[ns] 2kB 2024-06-18T06:00:00 ... 2024-...\n",
" lat_psi (eta_psi, xi_psi) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>\n",
" lon_psi (eta_psi, xi_psi) float64 132kB dask.array<chunksize=(125, 132), meta=np.ndarray>\n",
"Dimensions without coordinates: eta_u, xi_u, eta_v, xi_v, eta_rho, xi_rho,\n",
" eta_psi, xi_psi\n",
"Data variables:\n",
" temp (ocean_time, eta_rho, xi_rho) float32 17MB dask.array<chunksize=(1, 125, 132), meta=np.ndarray>\n",
" grid int32 4B ...\n",
"Attributes: (12/36)\n",
" CPP_options: mode, ADD_FSOBC, ADD_M2OBC, ANA_BSFLUX, ANA_BTFLUX, AS...\n",
" Conventions: CF-1.4, SGRID-0.3\n",
" NLM_LBC: \\nEDGE: WEST SOUTH EAST NORTH \\nzeta: Cha C...\n",
" NLM_TADV: \\nADVECTION: HORIZONTAL VERTICAL \\ntemp: ...\n",
" ana_file: ROMS/Functionals/ana_btflux.h\n",
" avg_file: nos.wcofs.avg.nc\n",
" ... ...\n",
" svn_url: \n",
" tide_file: nos.wcofs.roms.tides.nc\n",
" tiling: 008x060\n",
" title: wcofs forecast RUN in operational mode\n",
" type: ROMS/TOMS history file\n",
" var_info: varinfo.yaml