diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c9b568f..25dad4a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,9 +42,10 @@ repos: language_version: python3 # - repo: https://github.com/pre-commit/mirrors-mypy -# rev: v0.770 +# rev: v0.982 # hooks: # - id: mypy +# additional_dependencies: [types-setuptools, types-PyYAML] # exclude: docs/source/conf.py # args: [--ignore-missing-imports] diff --git a/.readthedocs.yaml b/.readthedocs.yaml index a4b8d5c..8e60f59 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -5,6 +5,11 @@ build: tools: python: "mambaforge-4.10" +python: + install: + - method: pip + path: ./ + conda: environment: docs/environment.yml diff --git a/ci/environment-py3.10-win.yml b/ci/environment-py3.10-win.yml index a58d4aa..18e2cac 100644 --- a/ci/environment-py3.10-win.yml +++ b/ci/environment-py3.10-win.yml @@ -6,16 +6,16 @@ dependencies: - cf_xarray>=0.6 - dask - netcdf4 - - numpy + - numpy <1.24 # https://github.com/numba/numba/issues/8615#issuecomment-1360792615 - pip - requests - scikit-learn # used by xoak for tree - xarray - # - xoak + - xoak - pytest - pytest-benchmark - pip: - codecov - pytest-cov - coverage[toml] - - git+https://github.com/kthyng/xoak@include_distances + # - git+https://github.com/kthyng/xoak@include_distances diff --git a/ci/environment-py3.10.yml b/ci/environment-py3.10.yml index 3d24938..83ee0b0 100644 --- a/ci/environment-py3.10.yml +++ b/ci/environment-py3.10.yml @@ -6,17 +6,17 @@ dependencies: - cf_xarray>=0.6 - dask <=2022.05.0 # for xESMF, https://github.com/axiom-data-science/extract_model/issues/49 - netcdf4 - - numpy + - numpy <1.24 # https://github.com/numba/numba/issues/8615#issuecomment-1360792615 - pip - requests - scikit-learn # used by xoak for tree - xarray - xesmf - # - xoak + - xoak - pytest - pytest-benchmark - pip: - codecov - pytest-cov - coverage[toml] - - git+https://github.com/kthyng/xoak@include_distances + # - git+https://github.com/kthyng/xoak@include_distances diff --git a/ci/environment-py3.8-win.yml b/ci/environment-py3.8-win.yml index ebd3c14..e52379c 100644 --- a/ci/environment-py3.8-win.yml +++ b/ci/environment-py3.8-win.yml @@ -6,16 +6,16 @@ dependencies: - cf_xarray>=0.6 - dask - netcdf4 - - numpy + - numpy <1.24 # https://github.com/numba/numba/issues/8615#issuecomment-1360792615 - pip - requests - scikit-learn # used by xoak for tree - xarray - # - xoak + - xoak - pytest - pytest-benchmark - pip: - codecov - pytest-cov - coverage[toml] - - git+https://github.com/kthyng/xoak@include_distances + # - git+https://github.com/kthyng/xoak@include_distances diff --git a/ci/environment-py3.8.yml b/ci/environment-py3.8.yml index ee6f036..9192b6f 100644 --- a/ci/environment-py3.8.yml +++ b/ci/environment-py3.8.yml @@ -6,17 +6,17 @@ dependencies: - cf_xarray>=0.6 - dask <=2022.05.0 # for xESMF, https://github.com/axiom-data-science/extract_model/issues/49 - netcdf4 - - numpy + - numpy <1.24 # https://github.com/numba/numba/issues/8615#issuecomment-1360792615 - pip - requests - scikit-learn # used by xoak for tree - xarray - xesmf - # - xoak + - xoak - pytest - pytest-benchmark - pip: - codecov - pytest-cov - coverage[toml] - - git+https://github.com/kthyng/xoak@include_distances + # - git+https://github.com/kthyng/xoak@include_distances diff --git a/ci/environment-py3.9-win.yml b/ci/environment-py3.9-win.yml index c3dcfde..447e347 100644 --- a/ci/environment-py3.9-win.yml +++ b/ci/environment-py3.9-win.yml @@ -6,16 +6,16 @@ dependencies: - cf_xarray>=0.6 - dask - netcdf4 - - numpy + - numpy <1.24 # https://github.com/numba/numba/issues/8615#issuecomment-1360792615 - pip - requests - scikit-learn # used by xoak for tree - xarray - # - xoak + - xoak - pytest - pytest-benchmark - pip: - codecov - pytest-cov - coverage[toml] - - git+https://github.com/kthyng/xoak@include_distances + # - git+https://github.com/kthyng/xoak@include_distances diff --git a/ci/environment-py3.9.yml b/ci/environment-py3.9.yml index f799cb0..c4e2669 100644 --- a/ci/environment-py3.9.yml +++ b/ci/environment-py3.9.yml @@ -6,17 +6,17 @@ dependencies: - cf_xarray>=0.6 - dask <=2022.05.0 # for xESMF, https://github.com/axiom-data-science/extract_model/issues/49 - netcdf4 - - numpy + - numpy <1.24 # https://github.com/numba/numba/issues/8615#issuecomment-1360792615 - pip - requests - scikit-learn # used by xoak for tree - xarray - xesmf - # - xoak + - xoak - pytest - pytest-benchmark - pip: - codecov - pytest-cov - coverage[toml] - - git+https://github.com/kthyng/xoak@include_distances + # - git+https://github.com/kthyng/xoak@include_distances diff --git a/docs/api.rst b/docs/api.rst index e5d538b..be22cbc 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -1,12 +1,17 @@ -:mod:`API` ----------------------------- +API +=== -`extract_model` Python API -========================== +.. currentmodule:: extract_model -.. automodule:: extract_model.extract_model - :members: - :inherited-members: - :undoc-members: - :show-inheritance: +.. autosummary:: + :toctree: generated/ + :recursive: + + extract_model + utils + accessor + sorting + model_type + grids.triangular_mesh + xr.triangular_mesh_netcdf diff --git a/docs/conf.py b/docs/conf.py index 1fbc65c..c88e389 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -48,19 +48,25 @@ "sphinx.ext.autodoc", "sphinx.ext.viewcode", "sphinx.ext.napoleon", - "nbsphinx", + # "nbsphinx", "recommonmark", "sphinx.ext.mathjax", "sphinx.ext.autosummary", "sphinx.ext.extlinks", "sphinx.ext.intersphinx", "numpydoc", - "nbsphinx", + # "nbsphinx", "IPython.sphinxext.ipython_directive", "IPython.sphinxext.ipython_console_highlighting", "sphinxcontrib.srclinks", + "myst_nb", ] +# for compiling notebooks with mystnb +# https://docs.readthedocs.io/en/stable/guides/jupyter.html#using-notebooks-in-other-formats +nb_custom_formats = { + ".md": ["jupytext.reads", {"fmt": "mystnb"}], +} # packages that I don't want to install for docs but package depends on # autodoc_mock_imports = [ # "cf_xarray", @@ -93,7 +99,10 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = "pangeo" +# html_theme = "pangeo" +html_theme = "furo" + +html_title = "extract_model documentation" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/docs/environment.yml b/docs/environment.yml index 8f05c12..660c119 100644 --- a/docs/environment.yml +++ b/docs/environment.yml @@ -5,13 +5,31 @@ channels: dependencies: - python=3.8 # If your docs code examples depend on other packages add them here + - cf_xarray + - cmocean + - dask <=2022.05.0 # for xESMF, https://github.com/axiom-data-science/extract_model/issues/49 - extract_model + - matplotlib + - netcdf4 + - numpy <1.24 # https://github.com/numba/numba/issues/8615#issuecomment-1360792615 + - numba # required by xesmf + - pip + - pooch + - requests + - scikit-learn # used by xoak for tree + - xarray + - xcmocean + - xesmf # don't install if on windows + - xoak # These are needed for the docs themselves + - furo + - jupytext - numpydoc - sphinx - sphinx_rtd_theme - ipython - jinja2 #<3.1 + - myst-nb - nbconvert - nbformat - ipykernel diff --git a/docs/index.rst b/docs/index.rst index b5739da..0448410 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,20 +8,36 @@ Use `extract_model` to read select output from model output files by time and/or space. Output will be selected using `xarray` by a combination of interpolation and index selection. Horizontal interpolation is accomplished using `xESMF` and time interpolation is done with `xarray`'s native 1D interpolation. Currently vertical interpolation is only possible using `xarray`'s 1D interpolation too and is not set up to interpolate in 4D as would be required for ROMS output if not simply selecting the surface layer. +To install from conda-forge: + + >>> conda install -c conda-forge ocean-model-skill-assessor + +To install from PyPI: + + >>> pip install cf-pandas + .. toctree:: :maxdepth: 2 + :hidden: + :caption: Examples and demos - models - unstructured_subsetting - ts_work - whats_new + models.md + unstructured_subsetting.md + ts_work.md api +.. toctree:: + :maxdepth: 2 + :hidden: + :caption: Develop docs + + whats_new + -Indices and tables -================== +.. Indices and tables +.. ================== -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` +.. * :ref:`genindex` +.. * :ref:`modindex` +.. * :ref:`search` diff --git a/docs/models.ipynb b/docs/models.ipynb deleted file mode 100644 index 76ebeda..0000000 --- a/docs/models.ipynb +++ /dev/null @@ -1,10647 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "1e0af68b-a8da-4c43-8d6a-3db9a5e24be3", - "metadata": {}, - "source": [ - "# Generically access model output" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "7649cd37-68cf-44f4-b6b8-7ba94bc31eae", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import cf_xarray\n", - "import numpy as np\n", - "import xarray as xr\n", - "import matplotlib.pyplot as plt\n", - "import xcmocean\n", - "import cmocean.cm as cmo\n", - "import extract_model as em" - ] - }, - { - "cell_type": "markdown", - "id": "3c399b1c-f0b5-4256-a9f3-4b50fd7c91ae", - "metadata": {}, - "source": [ - "## ROMS" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "ad6b6ec4-fdcc-4459-a24f-cd9055953239", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
<xarray.Dataset>\n", - "Dimensions: (ocean_time: 2, s_rho: 30, eta_rho: 191, xi_rho: 371)\n", - "Coordinates:\n", - " Cs_r (s_rho) float64 dask.array<chunksize=(30,), meta=np.ndarray>\n", - " lon_rho (eta_rho, xi_rho) float64 dask.array<chunksize=(191, 371), meta=np.ndarray>\n", - " hc float64 20.0\n", - " h (eta_rho, xi_rho) float64 dask.array<chunksize=(191, 371), meta=np.ndarray>\n", - " lat_rho (eta_rho, xi_rho) float64 dask.array<chunksize=(191, 371), meta=np.ndarray>\n", - " Vtransform int32 2\n", - " * ocean_time (ocean_time) datetime64[ns] 2001-08-01 2001-08-08\n", - " * s_rho (s_rho) float64 -0.9833 -0.95 -0.9167 ... -0.05 -0.01667\n", - " * xi_rho (xi_rho) int64 0 1 2 3 4 5 6 7 ... 364 365 366 367 368 369 370\n", - " * eta_rho (eta_rho) int64 0 1 2 3 4 5 6 7 ... 184 185 186 187 188 189 190\n", - " z_rho (ocean_time, s_rho, eta_rho, xi_rho) float64 dask.array<chunksize=(1, 30, 191, 371), meta=np.ndarray>\n", - "Data variables:\n", - " salt (ocean_time, s_rho, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 30, 191, 371), meta=np.ndarray>\n", - " zeta (ocean_time, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 191, 371), meta=np.ndarray>\n", - "Attributes: (12/34)\n", - " file: ../output_20yr_obc/2001/ocean_his_0015.nc\n", - " format: netCDF-4/HDF5 file\n", - " Conventions: CF-1.4\n", - " type: ROMS/TOMS history file\n", - " title: TXLA ROMS hindcast run with dyes and oxygen\n", - " rst_file: ../output_20yr_obc/2001/ocean_rst.nc\n", - " ... ...\n", - " compiler_flags: -heap-arrays -fp-model fast -mt_mpi -ip -O3 -msse2 -free\n", - " tiling: 010x012\n", - " history: Tue Jul 24 11:04:43 2018: /opt/nco/ncks -D 4 -t 8 /cop...\n", - " ana_file: /home/d.kobashi/TXLA_ROMS_reana/Functionals/ana_btflux...\n", - " CPP_options: TXLA2, ANA_BPFLUX, ANA_BSFLUX, ANA_BTFLUX, ANA_NUDGCOE...\n", - " NCO: netCDF Operators version 4.7.6-alpha04 (Homepage = htt...
<xarray.Dataset>\n", - "Dimensions: (ocean_time: 2, s_rho: 30, eta_rho: 100, xi_rho: 144)\n", - "Coordinates:\n", - " Cs_r (s_rho) float64 dask.array<chunksize=(30,), meta=np.ndarray>\n", - " lon_rho (eta_rho, xi_rho) float64 dask.array<chunksize=(100, 144), meta=np.ndarray>\n", - " hc float64 20.0\n", - " h (eta_rho, xi_rho) float64 dask.array<chunksize=(100, 144), meta=np.ndarray>\n", - " lat_rho (eta_rho, xi_rho) float64 dask.array<chunksize=(100, 144), meta=np.ndarray>\n", - " Vtransform int32 2\n", - " * ocean_time (ocean_time) datetime64[ns] 2001-08-01 2001-08-08\n", - " * s_rho (s_rho) float64 -0.9833 -0.95 -0.9167 ... -0.05 -0.01667\n", - " * xi_rho (xi_rho) int64 98 99 100 101 102 103 ... 236 237 238 239 240 241\n", - " * eta_rho (eta_rho) int64 0 1 2 3 4 5 6 7 8 ... 91 92 93 94 95 96 97 98 99\n", - " z_rho (ocean_time, s_rho, eta_rho, xi_rho) float64 dask.array<chunksize=(1, 30, 100, 144), meta=np.ndarray>\n", - "Data variables:\n", - " salt (ocean_time, s_rho, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 30, 100, 144), meta=np.ndarray>\n", - " zeta (ocean_time, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 100, 144), meta=np.ndarray>\n", - "Attributes: (12/34)\n", - " file: ../output_20yr_obc/2001/ocean_his_0015.nc\n", - " format: netCDF-4/HDF5 file\n", - " Conventions: CF-1.4\n", - " type: ROMS/TOMS history file\n", - " title: TXLA ROMS hindcast run with dyes and oxygen\n", - " rst_file: ../output_20yr_obc/2001/ocean_rst.nc\n", - " ... ...\n", - " compiler_flags: -heap-arrays -fp-model fast -mt_mpi -ip -O3 -msse2 -free\n", - " tiling: 010x012\n", - " history: Tue Jul 24 11:04:43 2018: /opt/nco/ncks -D 4 -t 8 /cop...\n", - " ana_file: /home/d.kobashi/TXLA_ROMS_reana/Functionals/ana_btflux...\n", - " CPP_options: TXLA2, ANA_BPFLUX, ANA_BSFLUX, ANA_BTFLUX, ANA_NUDGCOE...\n", - " NCO: netCDF Operators version 4.7.6-alpha04 (Homepage = htt...
<xarray.DataArray 'salt' (eta_rho: 100, xi_rho: 144)>\n", - "dask.array<getitem, shape=(100, 144), dtype=float32, chunksize=(100, 144), chunktype=numpy.ndarray>\n", - "Coordinates:\n", - " ocean_time datetime64[ns] 2001-08-01\n", - " s_rho float64 -0.01667\n", - " * xi_rho (xi_rho) int64 98 99 100 101 102 103 ... 236 237 238 239 240 241\n", - " * eta_rho (eta_rho) int64 0 1 2 3 4 5 6 7 8 ... 91 92 93 94 95 96 97 98 99\n", - "Attributes:\n", - " long_name: salinity\n", - " time: ocean_time\n", - " field: salinity, scalar, series\n", - " standard_name: sea_water_practical_salinity
<xarray.DataArray 'salt' ()>\n", - "dask.array<getitem, shape=(), dtype=float32, chunksize=(), chunktype=numpy.ndarray>\n", - "Coordinates:\n", - " ocean_time datetime64[ns] 2001-08-01\n", - " s_rho float64 -0.9833\n", - " Cs_r float64 dask.array<chunksize=(), meta=np.ndarray>\n", - " hc float64 20.0\n", - " Vtransform int32 2\n", - " lat float64 28.23\n", - " lon float64 -93.59\n", - " z_rho float64 dask.array<chunksize=(), meta=np.ndarray>\n", - "Attributes:\n", - " long_name: salinity\n", - " time: ocean_time\n", - " field: salinity, scalar, series\n", - " standard_name: sea_water_practical_salinity\n", - " regrid_method: bilinear
<xarray.DataArray 'salt' ()>\n", - "dask.array<dask_aware_interpnd, shape=(), dtype=float32, chunksize=(), chunktype=numpy.ndarray>\n", - "Coordinates:\n", - " s_rho float64 -0.4475\n", - " Cs_r float64 dask.array<chunksize=(), meta=np.ndarray>\n", - " hc float64 20.0\n", - " Vtransform int32 2\n", - " lat float64 28.23\n", - " lon float64 -93.59\n", - " ocean_time datetime64[ns] 2001-08-01\n", - " z_rho int64 -10\n", - "Attributes:\n", - " long_name: salinity\n", - " time: ocean_time\n", - " field: salinity, scalar, series\n", - " standard_name: sea_water_practical_salinity\n", - " regrid_method: bilinear
<xarray.Dataset>\n", - "Dimensions: (nv: 2, xh: 720, xq: 720, yh: 576, yq: 576, z_i: 36, z_l: 35,\n", - " time: 60)\n", - "Coordinates:\n", - " * nv (nv) float64 1.0 2.0\n", - " * xh (xh) float64 -299.8 -299.2 -298.8 -298.2 ... 58.75 59.25 59.75\n", - " * xq (xq) float64 -299.5 -299.0 -298.5 -298.0 ... 59.0 59.5 60.0\n", - " * yh (yh) float64 -77.91 -77.72 -77.54 -77.36 ... 89.47 89.68 89.89\n", - " * yq (yq) float64 -77.82 -77.63 -77.45 -77.26 ... 89.58 89.79 90.0\n", - " * z_i (z_i) float64 0.0 5.0 15.0 25.0 ... 5.75e+03 6.25e+03 6.75e+03\n", - " * z_l (z_l) float64 2.5 10.0 20.0 32.5 ... 5.5e+03 6e+03 6.5e+03\n", - " * time (time) object 2003-01-16 12:00:00 ... 2007-12-16 12:00:00\n", - "Data variables: (12/36)\n", - " Coriolis (yq, xq) float32 dask.array<chunksize=(576, 720), meta=np.ndarray>\n", - " areacello (yh, xh) float32 dask.array<chunksize=(576, 720), meta=np.ndarray>\n", - " areacello_bu (yq, xq) float32 dask.array<chunksize=(576, 720), meta=np.ndarray>\n", - " areacello_cu (yh, xq) float32 dask.array<chunksize=(576, 720), meta=np.ndarray>\n", - " areacello_cv (yq, xh) float32 dask.array<chunksize=(576, 720), meta=np.ndarray>\n", - " deptho (yh, xh) float32 dask.array<chunksize=(576, 720), meta=np.ndarray>\n", - " ... ...\n", - " umo (time, z_l, yh, xq) float32 dask.array<chunksize=(1, 1, 576, 720), meta=np.ndarray>\n", - " uo (time, z_l, yh, xq) float32 dask.array<chunksize=(1, 1, 576, 720), meta=np.ndarray>\n", - " vmo (time, z_l, yq, xh) float32 dask.array<chunksize=(1, 1, 576, 720), meta=np.ndarray>\n", - " vo (time, z_l, yq, xh) float32 dask.array<chunksize=(1, 1, 576, 720), meta=np.ndarray>\n", - " volcello (time, z_l, yh, xh) float32 dask.array<chunksize=(1, 1, 576, 720), meta=np.ndarray>\n", - " zos (time, yh, xh) float32 dask.array<chunksize=(1, 576, 720), meta=np.ndarray>\n", - "Attributes:\n", - " filename: ocean_monthly.200301-200712.zos.nc\n", - " title: OM4p5_IAF_BLING_CFC_abio_csf_mle200\n", - " associated_files: areacello: 20030101.ocean_static.nc\n", - " grid_type: regular\n", - " grid_tile: N/A\n", - " external_variables: areacello\n", - " DODS_EXTRA.Unlimited_Dimension: time
<xarray.Dataset>\n", - "Dimensions: (time: 12, ny: 25, nx: 61, sigma: 20)\n", - "Coordinates:\n", - " * time (time) datetime64[ns] 2022-08-15T18:59:45.937500032 ... 2022-0...\n", - " lon (ny, nx) float32 dask.array<chunksize=(25, 61), meta=np.ndarray>\n", - " lat (ny, nx) float32 dask.array<chunksize=(25, 61), meta=np.ndarray>\n", - " * sigma (sigma) float32 0.0 0.0227 0.0454 0.0681 ... 0.8853 0.9534 1.0\n", - " * nx (nx) int64 0 1 2 3 4 5 6 7 8 9 ... 51 52 53 54 55 56 57 58 59 60\n", - " * ny (ny) int64 0 1 2 3 4 5 6 7 8 9 ... 15 16 17 18 19 20 21 22 23 24\n", - " z (time, sigma, ny, nx) float32 dask.array<chunksize=(6, 20, 25, 61), meta=np.ndarray>\n", - "Data variables:\n", - " validtime (time) |S64 dask.array<chunksize=(6,), meta=np.ndarray>\n", - " mask (time, ny, nx) float32 dask.array<chunksize=(6, 25, 61), meta=np.ndarray>\n", - " depth (time, ny, nx) float32 dask.array<chunksize=(6, 25, 61), meta=np.ndarray>\n", - " zeta (time, ny, nx) float32 dask.array<chunksize=(6, 25, 61), meta=np.ndarray>\n", - " air_u (time, ny, nx) float32 dask.array<chunksize=(6, 25, 61), meta=np.ndarray>\n", - " air_v (time, ny, nx) float32 dask.array<chunksize=(6, 25, 61), meta=np.ndarray>\n", - " u (time, sigma, ny, nx) float32 dask.array<chunksize=(6, 20, 25, 61), meta=np.ndarray>\n", - " v (time, sigma, ny, nx) float32 dask.array<chunksize=(6, 20, 25, 61), meta=np.ndarray>\n", - " temp (time, sigma, ny, nx) float32 dask.array<chunksize=(6, 20, 25, 61), meta=np.ndarray>\n", - "Attributes: (12/17)\n", - " datum1: reference to LWD=zeta\n", - " datum2: reference to IGLD85=zeta - IGLD85\n", - " file_type: Full_Grid\n", - " Conventions: COARDS\n", - " grid_type: rectilinear\n", - " z_type: 2-D\n", - " ... ...\n", - " history: Operation-CO-OPS\n", - " references: greg.mott@noaa.gov\n", - " creation_date: 2022-08-16 0:50:12 00:00\n", - " DODS.strlen: 19\n", - " DODS.dimName: validtime_len\n", - " DODS_EXTRA.Unlimited_Dimension: time
<xarray.Dataset>\n", - "Dimensions: (ocean_time: 2, tracer: 2, boundary: 4, s_rho: 30,\n", - " s_w: 31, eta_rho: 1044, xi_rho: 724, eta_u: 1044,\n", - " xi_u: 723, eta_v: 1043, xi_v: 724, eta_psi: 1043,\n", - " xi_psi: 723)\n", - "Coordinates: (21)\n", - "Dimensions without coordinates: tracer, boundary\n", - "Data variables: (12/78)\n", - " ntimes (ocean_time) int32 5400 5400\n", - " ndtfast (ocean_time) int32 10 10\n", - " dt (ocean_time) float64 4.0 4.0\n", - " dtfast (ocean_time) float64 0.4 0.4\n", - " dstart (ocean_time) datetime64[ns] 2022-03-01T06:00:00 2022-03-...\n", - " nHIS (ocean_time) int32 900 900\n", - " ... ...\n", - " w (ocean_time, s_w, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 31, 1044, 724), meta=np.ndarray>\n", - " temp (ocean_time, s_rho, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 30, 1044, 724), meta=np.ndarray>\n", - " salt (ocean_time, s_rho, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 30, 1044, 724), meta=np.ndarray>\n", - " Pair (ocean_time, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 1044, 724), meta=np.ndarray>\n", - " Uwind (ocean_time, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 1044, 724), meta=np.ndarray>\n", - " Vwind (ocean_time, eta_rho, xi_rho) float32 dask.array<chunksize=(1, 1044, 724), meta=np.ndarray>\n", - "Attributes: (32)
<xarray.DataArray 'temp' (ocean_time: 2, s_rho: 30)>\n", - "dask.array<chunksize=(1, 30), meta=np.ndarray>\n", - "Coordinates: (7)\n", - "Attributes: (7)
<xarray.DataArray 'temp' (ocean_time: 2, s_rho: 30)>\n", - "dask.array<chunksize=(1, 30), meta=np.ndarray>\n", - "Coordinates: (7)\n", - "Attributes: (7)
<xarray.DataArray 'temp' (ocean_time: 2, s_rho: 30)>\n", - "dask.array<chunksize=(1, 30), meta=np.ndarray>\n", - "Coordinates: (7)\n", - "Attributes: (7)
<xarray.DataArray 'temp' (ocean_time: 2)>\n", - "dask.array<chunksize=(1,), meta=np.ndarray>\n", - "Coordinates: (7)\n", - "Attributes: (7)
<xarray.DataArray 'temp' (ocean_time: 2, loc: 1)>\n", - "dask.array<chunksize=(1, 1), meta=np.ndarray>\n", - "Coordinates: (7)\n", - "Dimensions without coordinates: loc\n", - "Attributes: (7)
<xarray.DataArray 'salt' (ocean_time: 2, s_rho: 30)>\n", - "dask.array<chunksize=(1, 30), meta=np.ndarray>\n", - "Coordinates: (5)\n", - "Attributes: (7)
<xarray.DataArray 'salt' (ocean_time: 2, s_rho: 30, lat: 2, lon: 2)>\n", - "dask.array<chunksize=(1, 30, 2, 2), meta=np.ndarray>\n", - "Coordinates: (5)\n", - "Attributes: (7)
<xarray.DataArray 'salt' (ocean_time: 2)>\n", - "dask.array<chunksize=(1,), meta=np.ndarray>\n", - "Coordinates: (5)\n", - "Attributes: (7)
<xarray.DataArray 'salt' (ocean_time: 2)>\n", - "dask.array<chunksize=(1,), meta=np.ndarray>\n", - "Coordinates: (5)\n", - "Attributes: (7)
siglay and siglev\n",
- " variables have been renamed to sigma_layers and\n",
- " sigma_levels respectively. The variables Itime and Itime2 have been\n",
- " discarded.\n",
- "\n",
- "siglay and siglev
+ variables have been renamed to sigma_layers and
+ sigma_levels respectively. The variables Itime and Itime2 have been
+ discarded.
+
+