├── docs ├── _static │ ├── catalog-custom.css │ ├── jquery.json-viewer.css │ └── jquery.json-viewer.js ├── requirements.txt ├── Makefile ├── index.rst ├── cmip6_glade.rst ├── cmip6_pangeo.rst └── conf.py ├── requirements.txt ├── tests ├── test_imports.py └── test_datasets.py ├── example-stac-entries ├── example-catalog.json └── example-item.json ├── .github └── workflows │ ├── stale.yml │ └── test-catalogs.yml ├── intake-catalogs ├── ocean │ ├── CESM_POP.yaml │ ├── llc4320.yaml │ ├── channel.yaml │ ├── MEOM-NEMO.yaml │ ├── GFDL_CM2.6.yaml │ └── altimetry.yaml ├── master.yaml ├── climate.yaml ├── hydro │ └── camels.yaml ├── atmosphere.yaml ├── ocean.yaml └── hydro.yaml ├── .travis.yml ├── .gitignore ├── README.md ├── github_deploy_key_pangeo_data_pangeo_datastore.enc └── pangeo-stac-schematic.svg /docs/_static/catalog-custom.css: -------------------------------------------------------------------------------- 1 | #sidebar ul.nav { 2 | overflow-x: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | # pip install doctr pelican jupyter ipython nbconvert beautifulsoup4 markdown 2 | sphinx==1.6.5 3 | sphinx_bootstrap_theme 4 | sphinx_pangeo_theme 5 | doctr>=1.6.3 6 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | dask==2.14.0 2 | distributed==2.14.0 3 | gcsfs==0.6.1 4 | intake==0.5.5 5 | intake-esm==2020.3.16.2 6 | intake-parquet==0.2.3 7 | intake-xarray==0.3.1 8 | rasterio==1.1.3 9 | xarray==0.15.1 10 | zarr==2.4.0 11 | -------------------------------------------------------------------------------- /tests/test_imports.py: -------------------------------------------------------------------------------- 1 | def test_import_intake(): 2 | import intake 3 | 4 | def test_import_gcsfs(): 5 | import gcsfs 6 | 7 | def test_import_xarray(): 8 | import xarray 9 | 10 | def test_import_netCDF4(): 11 | import netCDF4 12 | 13 | def test_import_rasterio(): 14 | import rasterio 15 | -------------------------------------------------------------------------------- /example-stac-entries/example-catalog.json: -------------------------------------------------------------------------------- 1 | { 2 | "stac_version": "0.6.0", 3 | "id": "pangeo-gcs-master", 4 | "description": "Master Pangeo Google Cloud Storage Catalog", 5 | "links": [ 6 | { "rel": "self", "href": "https://storage.googleapis.com/pangeo-stac/test/example-catalog.json" }, 7 | { "rel": "item", "href": "https://storage.googleapis.com/pangeo-stac/test/example-item.json" } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: "Close stale issues" 2 | on: 3 | schedule: 4 | - cron: "0 12 * * *" 5 | 6 | jobs: 7 | stale: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/stale@v3 11 | with: 12 | repo-token: ${{ secrets.GITHUB_TOKEN }} 13 | stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.' 14 | close-issue-message: 'This issue has been automatically closed because it had not seen recent activity. The issue can always be reopened at a later date.' 15 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SPHINXPROJ = SphinxPangeoTest 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -------------------------------------------------------------------------------- /tests/test_datasets.py: -------------------------------------------------------------------------------- 1 | import os 2 | import intake 3 | import pytest 4 | 5 | def get_master_catalog(): 6 | # TODO: replace with environment variable 7 | fname = os.path.join(os.path.dirname(__file__), 8 | '../intake-catalogs/master.yaml') 9 | return intake.open_catalog(fname) 10 | 11 | 12 | @pytest.fixture 13 | def catalog(): 14 | return get_master_catalog() 15 | 16 | 17 | ALL_ENTRIES = list(get_master_catalog().walk(depth=10)) 18 | @pytest.mark.parametrize("dataset_name", ALL_ENTRIES) 19 | def test_get_intake_source(catalog, dataset_name): 20 | item = catalog[dataset_name] 21 | if item.container == "catalog": 22 | item.reload() 23 | else: 24 | if item._driver in ["csv", "rasterio", "zarr"]: 25 | ds = item.to_dask() 26 | elif item._driver in ["intake_esm.esm_datastore", "parquet"]: 27 | col = item.get() 28 | -------------------------------------------------------------------------------- /intake-catalogs/ocean/CESM_POP.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | 5 | sources: 6 | 7 | CESM_POP_hires_control: 8 | description: NCAR CESM POP model run hybrid_v5_rel04_BC5_ne120_t12_pop62 9 | metadata: 10 | time_period: perpetual 2000 11 | tags: 12 | - ocean 13 | - model 14 | driver: zarr 15 | args: 16 | urlpath: gs://pangeo-cesm-pop/control 17 | consolidated: True 18 | storage_options: 19 | requester_pays: True 20 | 21 | CESM_POP_hires_RCP8_5: 22 | description: NCAR CESM POP model run BRCP85C5CN_ne120_t12_pop62.c13b17.asdphys.001 23 | metadata: 24 | time_period: "2000-2050" 25 | tags: 26 | - ocean 27 | - model 28 | driver: zarr 29 | args: 30 | urlpath: gs://pangeo-cesm-pop/rcp8v5 31 | consolidated: True 32 | storage_options: 33 | requester_pays: True 34 | -------------------------------------------------------------------------------- /intake-catalogs/master.yaml: -------------------------------------------------------------------------------- 1 | description: 'Pangeo Master Data Catalog' 2 | sources: 3 | 4 | ocean: 5 | args: 6 | path: "{{CATALOG_DIR}}/ocean.yaml" 7 | description: 'Pangeo Oceanography Dataset Catalog' 8 | driver: intake.catalog.local.YAMLFileCatalog 9 | metadata: {} 10 | 11 | atmosphere: 12 | args: 13 | path: "{{CATALOG_DIR}}/atmosphere.yaml" 14 | description: 'Pangeo Atmospheric Science Dataset Catalog' 15 | driver: intake.catalog.local.YAMLFileCatalog 16 | metadata: {} 17 | 18 | climate: 19 | args: 20 | path: "{{CATALOG_DIR}}/climate.yaml" 21 | description: 'Pangeo Climate Dataset Catalog. Include model ensembles such as CMIP6 and LENS.' 22 | driver: intake.catalog.local.YAMLFileCatalog 23 | metadata: {} 24 | 25 | hydro: 26 | args: 27 | path: "{{CATALOG_DIR}}/hydro.yaml" 28 | description: 'Pangeo Hydrology Dataset Catalog' 29 | driver: intake.catalog.local.YAMLFileCatalog 30 | metadata: {} 31 | -------------------------------------------------------------------------------- /example-stac-entries/example-item.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Feature", 3 | "id": "dataset-duacs-rep-global-merged-allsat-phy-l4-v3-alt", 4 | "bbox": [-180, -90, 180, 90], 5 | "geometry": { 6 | "type": "Polygon", 7 | "coordinates": [ 8 | [[-180, -90], [-180, 90], [180, 90], [180, -90],[-180, -90]] 9 | ] 10 | }, 11 | "properties":{ 12 | "datetime":"1993-01-01T00:00:00Z", 13 | "dtr:start_datetime":"1993-01-01T00:00:00Z", 14 | "dtr:end_datetime":"2017-05-15T00:00:00Z" 15 | }, 16 | "links": [ 17 | { 18 | "rel": "self", 19 | "href": "https://storage.googleapis.com/pangeo-stac/test/example-item.json" 20 | }, 21 | { 22 | "rel": "parent", 23 | "href": "https://storage.googleapis.com/pangeo-stac/test/example-catalog.json" 24 | } 25 | ], 26 | "assets": { 27 | "zarr": { 28 | "href": "https://storage.googleapis.com/pangeo-data/dataset-duacs-rep-global-merged-allsat-phy-l4-v3-alt/.zmetadata", 29 | "title": "Zarr consolidated metadata" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /docs/_static/jquery.json-viewer.css: -------------------------------------------------------------------------------- 1 | /* Root element */ 2 | .json-document { 3 | padding: 1em 2em; 4 | } 5 | 6 | /* Syntax highlighting for JSON objects */ 7 | ul.json-dict, ol.json-array { 8 | list-style-type: none; 9 | margin: 0 0 0 1px; 10 | border-left: 1px dotted #ccc; 11 | padding-left: 2em; 12 | } 13 | .json-string { 14 | color: #0B7500; 15 | } 16 | .json-literal { 17 | color: #1A01CC; 18 | font-weight: bold; 19 | } 20 | 21 | /* Toggle button */ 22 | a.json-toggle { 23 | position: relative; 24 | color: inherit; 25 | text-decoration: none; 26 | } 27 | a.json-toggle:focus { 28 | outline: none; 29 | } 30 | a.json-toggle:before { 31 | font-size: 1.1em; 32 | color: #c0c0c0; 33 | content: "\25BC"; /* down arrow */ 34 | position: absolute; 35 | display: inline-block; 36 | width: 1em; 37 | text-align: center; 38 | line-height: 1em; 39 | left: -1.2em; 40 | } 41 | a.json-toggle:hover:before { 42 | color: #aaa; 43 | } 44 | a.json-toggle.collapsed:before { 45 | /* Use rotated down arrow, prevents right arrow appearing smaller than down arrow in some browsers */ 46 | transform: rotate(-90deg); 47 | } 48 | 49 | /* Collapsable placeholder links */ 50 | a.json-placeholder { 51 | color: #aaa; 52 | padding: 0 1em; 53 | text-decoration: none; 54 | } 55 | a.json-placeholder:hover { 56 | text-decoration: underline; 57 | } 58 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3.6 3 | addons: 4 | apt_packages: 5 | - pandoc 6 | 7 | services: 8 | - docker 9 | 10 | # This gives Doctr the key we've generated 11 | sudo: false 12 | env: 13 | global: 14 | - DOCKER_IMAGE=pangeo/pangeo-notebook:2019.12.08 15 | - secure: "oDx29SLKJxzbSg9N9G713DcjLPzsgRbrloLdpt5H+pxCKxxY50h7iLgikcBOzDWFcJlfYopsDeIHVSq4iDQtQuhANKberjUsIp6gWozZVZu5g4wUgftvCaHgVTbzcTUwuWDlSPbY6tdnVOXGewGfy7R5Jz4I+AXwMzX1RM/LP5joEtluwBH7J87YWmUO8rN5sWzT9HdlhTHhwRkPKNSiFqpJYOz4QUyEJ13R3UEe6jxfqT6Vqw3alJdltam7WCYg9tfI3wzv3FS4lD7Ep6HkF/eYI2OJexY3VKPPTigm+qLfMz3RMi7TuT1OvoxCCEDKXWFzJpSd9mTozN0PTEUOb/a4K4n1s1UC/GGJ34sdC+wFx3Qfs89W1rFEA7cc+WeRQHJ8MvCfFkLtzcm/xqA+V7Pv3TTt4HrNFR5DM6/hoqytE2tU2p1P0XZZ29mZVhAVjgVUX0ELSxSfmhoqVzVfFJnqlbzMlz8xzg8LdDYWn4/d9n7Rz3FRN92ACM9TKv6DXbUFrjg4n81wkMX0MG1Zd0kQ9PcuMGS29Wws0iRgG61b7IdmazKjqJ9tj+FaaDCoDaOB11hc1QVE2hr5Y/wvqFMgOEjgdGB6GNw0TIldDsK4OYU2dEWvf/+zlzxZMb/t5IW9HG2yvaLrRc/sjDNPHlGzWCUauXST/gyjYWR45+c=" 16 | 17 | before_install: 18 | - docker pull $DOCKER_IMAGE 19 | - docker run -d -it --name pangeo -p 8888:8888 $DOCKER_IMAGE jupyter notebook --ip 0.0.0.0 --allow-root 20 | - docker ps -a 21 | - docker exec pangeo bash -c "pip install pytest rstcloth" 22 | 23 | install: 24 | - docker cp . pangeo:/home/jovyan/ 25 | - pip install -r docs/requirements.txt 26 | 27 | script: 28 | - > 29 | docker exec -it pangeo bash -c 30 | 'py.test --durations=9999 -v tests/*.py' 31 | -------------------------------------------------------------------------------- /intake-catalogs/climate.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | - module: intake_esm 5 | 6 | sources: 7 | 8 | cmip6_gcs: 9 | args: 10 | esmcol_obj: "https://storage.googleapis.com/cmip6/pangeo-cmip6.json" 11 | description: 'CMIP6 in Google Cloud Storage' 12 | driver: intake_esm.esm_datastore 13 | metadata: {} 14 | 15 | cmip6_s3: 16 | args: 17 | esmcol_obj: "https://cmip6-pds.s3-us-west-2.amazonaws.com/pangeo-cmip6.json" 18 | description: 'CMIP6 in S3 Storage' 19 | driver: intake_esm.esm_datastore 20 | metadata: {} 21 | 22 | GFDL_CM2_6: 23 | args: 24 | esmcol_obj: "https://storage.googleapis.com/cmip6/gfdl_cm2_6.json" 25 | description: "NOAA-GFDL CM2.6 in Google Cloud Storage" 26 | driver: intake_esm.esm_datastore 27 | metadata: {} 28 | 29 | GFDL_CM2_6_s3: 30 | args: 31 | esmcol_obj: "https://cmip6-pds.s3-us-west-2.amazonaws.com/gfdl_cm2_6.json" 32 | description: "NOAA-GFDL CM2.6 in S3 Storage" 33 | driver: intake_esm.esm_datastore 34 | metadata: {} 35 | 36 | tracmip: 37 | args: 38 | esmcol_obj: "https://storage.googleapis.com/cmip6/tracmip.json" 39 | description: "TRACMIP in Pangeo Google Cloud Storage" 40 | driver: intake_esm.esm_datastore 41 | metadata: {} 42 | 43 | tracmip_s3: 44 | args: 45 | esmcol_obj: "https://cmip6-pds.s3-us-west-2.amazonaws.com/tracmip.json" 46 | description: "TRACMIP in Pangeo S3 Storage" 47 | driver: intake_esm.esm_datastore 48 | metadata: {} 49 | -------------------------------------------------------------------------------- /.github/workflows/test-catalogs.yml: -------------------------------------------------------------------------------- 1 | # This workflow will install Python dependencies, run tests and lint with a single version of Python 2 | 3 | name: Testing Pangeo catalogs 4 | 5 | on: 6 | push: 7 | branches: [ master ] 8 | paths: 9 | - 'intake-catalogs/**' 10 | - 'requirements.txt' 11 | - 'tests/**' 12 | 13 | jobs: 14 | test: 15 | name: Test 16 | runs-on: ubuntu-latest 17 | if: github.repository == 'pangeo-data/pangeo-datastore' 18 | 19 | steps: 20 | - name: Checkout 21 | uses: actions/checkout@v2 22 | 23 | - name: Set up gcloud 24 | uses: GoogleCloudPlatform/github-actions/setup-gcloud@master 25 | with: 26 | version: '286.0.0' 27 | project_id: ${{ secrets.PROJECT_ID }} 28 | service_account_email: ${{ secrets.SA_EMAIL }} 29 | service_account_key: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }} 30 | 31 | - name: Set up Python 3.7 32 | uses: actions/setup-python@v1 33 | with: 34 | python-version: 3.7 35 | 36 | - name: Install dependencies 37 | run: | 38 | python -m pip install --upgrade pip 39 | pip install -r requirements.txt 40 | 41 | - name: Lint with flake8 42 | run: | 43 | pip install flake8 44 | # stop the build if there are Python syntax errors or undefined names 45 | flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics 46 | # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide 47 | flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics 48 | 49 | - name: Test with pytest 50 | run: | 51 | pip install pytest 52 | pytest 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | 49 | # Translations 50 | *.mo 51 | *.pot 52 | 53 | # Django stuff: 54 | *.log 55 | .static_storage/ 56 | .media/ 57 | local_settings.py 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | docs/use_cases 69 | 70 | # PyBuilder 71 | target/ 72 | 73 | # Jupyter Notebook 74 | .ipynb_checkpoints 75 | 76 | # pyenv 77 | .python-version 78 | 79 | # celery beat schedule file 80 | celerybeat-schedule 81 | 82 | # SageMath parsed files 83 | *.sage.py 84 | 85 | # Environments 86 | .env 87 | .venv 88 | env/ 89 | venv/ 90 | ENV/ 91 | env.bak/ 92 | venv.bak/ 93 | 94 | # Spyder project settings 95 | .spyderproject 96 | .spyproject 97 | .idea/ 98 | 99 | # Rope project settings 100 | .ropeproject 101 | 102 | # mkdocs documentation 103 | /site 104 | 105 | # mypy 106 | .mypy_cache/ 107 | 108 | # dask stuff 109 | dask-scheduler.o* 110 | dask-worker.o* 111 | scheduler.json 112 | 113 | # log files 114 | *.out 115 | 116 | .DS_Store 117 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | .. Sphinx Pangeo Test documentation master file, created by 2 | sphinx-quickstart on Tue Apr 2 16:50:05 2019. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Pangeo Cloud Data Catalog 7 | ========================= 8 | 9 | Welcome to the Pangeo Cloud Data Catalog. 10 | The Pangeo Cloud Data Catalog lives in the following GitHub repository: 11 | `https://github.com/pangeo-data/pangeo-datastore `_ 12 | 13 | Most of the data is stored in cloud-friendly formats like Zarr_ 14 | and meant to be opened with Xarray_. 15 | Catalog formats for cloud-based data is an evolving area. 16 | 17 | We are currently using two different approaches: Intake_ and ESMCol_. 18 | 19 | Intake Catalogs 20 | --------------- 21 | 22 | Intake_ is a python library for 23 | 24 | The master intake catalog URL is:: 25 | 26 | https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/master.yaml 27 | 28 | 29 | To open the catalog and load a dataset from python, you can run the following code:: 30 | 31 | import intake 32 | cat_url = 'https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/master.yaml' 33 | cat = intake.Catalog(cat_url) 34 | ds = cat.atmosphere.gmet_v1.to_dask() 35 | 36 | To explore the whole catalog, you can try:: 37 | 38 | cat.walk(depth=5) 39 | 40 | You can also find a static, online browser for the intake catalogs following 41 | the links below. 42 | 43 | .. toctree:: 44 | :maxdepth: 3 45 | :caption: Pangeo Intake Catalogs 46 | 47 | master 48 | 49 | ESM Collection 50 | -------------- 51 | 52 | ESMCol_ stands for Earth System Model Collection. 53 | It is an experimental new format, inspired by STAC_, for cataloging large, 54 | homogeneous archives of Earth System Model output like CMIP6. 55 | The links below will take you to a javascript-based spreadsheet-style browser 56 | for the ESMCol catalogs. 57 | Data can be loaded in python with 58 | `intake-esm `_. 59 | 60 | .. toctree:: 61 | :maxdepth: 3 62 | :caption: Pangeo ESMCol Catalogs 63 | 64 | cmip6_pangeo 65 | cmip6_glade 66 | 67 | 68 | .. _STAC: https://github.com/radiantearth/stac-spec 69 | .. _Intake: https://intake.readthedocs.io 70 | .. _ESMCol: https://github.com/NCAR/esm-collection-spec/ 71 | .. _Zarr: https://zarr.readthedocs.io 72 | .. _Xarray: http://xarray.pydata.org 73 | -------------------------------------------------------------------------------- /intake-catalogs/ocean/llc4320.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | 5 | sources: 6 | 7 | LLC4320_grid: 8 | description: MITgcm LLC4320 Ocean Simulation Grid 9 | metadata: 10 | url: 'http://online.kitp.ucsb.edu/online/blayers18/menemenlis/' 11 | tags: 12 | - ocean 13 | - model 14 | driver: zarr 15 | args: 16 | urlpath: gs://pangeo-ecco-llc4320/grid 17 | consolidated: True 18 | storage_options: 19 | requester_pays: True 20 | 21 | LLC4320_SST: 22 | description: MITgcm LLC4320 Ocean Simulation Sea Surface Temperature 23 | metadata: 24 | url: 'http://online.kitp.ucsb.edu/online/blayers18/menemenlis/' 25 | tags: 26 | - ocean 27 | - model 28 | driver: zarr 29 | args: 30 | urlpath: gs://pangeo-ecco-llc4320/sst 31 | consolidated: True 32 | storage_options: 33 | requester_pays: True 34 | 35 | LLC4320_SSS: 36 | description: MITgcm LLC4320 Ocean Simulation Sea Surface Salinity 37 | metadata: 38 | url: 'http://online.kitp.ucsb.edu/online/blayers18/menemenlis/' 39 | tags: 40 | - ocean 41 | - model 42 | driver: zarr 43 | args: 44 | urlpath: gs://pangeo-ecco-llc4320/sss 45 | consolidated: True 46 | storage_options: 47 | requester_pays: True 48 | 49 | LLC4320_SSH: 50 | description: MITgcm LLC4320 Ocean Simulation Sea Surface Height 51 | metadata: 52 | url: 'http://online.kitp.ucsb.edu/online/blayers18/menemenlis/' 53 | tags: 54 | - ocean 55 | - model 56 | driver: zarr 57 | args: 58 | urlpath: gs://pangeo-ecco-llc4320/ssh 59 | consolidated: True 60 | storage_options: 61 | requester_pays: True 62 | 63 | LLC4320_SSU: 64 | description: MITgcm LLC4320 Ocean Simulation Sea Surface Zonal Velocity 65 | metadata: 66 | url: 'http://online.kitp.ucsb.edu/online/blayers18/menemenlis/' 67 | tags: 68 | - ocean 69 | - model 70 | driver: zarr 71 | args: 72 | urlpath: gs://pangeo-ecco-llc4320/ssu 73 | consolidated: True 74 | storage_options: 75 | requester_pays: True 76 | 77 | LLC4320_SSV: 78 | description: MITgcm LLC4320 Ocean Simulation Sea Surface Meridional Velocity 79 | metadata: 80 | url: 'http://online.kitp.ucsb.edu/online/blayers18/menemenlis/' 81 | tags: 82 | - ocean 83 | - model 84 | driver: zarr 85 | args: 86 | urlpath: gs://pangeo-ecco-llc4320/ssv 87 | consolidated: True 88 | storage_options: 89 | requester_pays: True 90 | -------------------------------------------------------------------------------- /docs/cmip6_glade.rst: -------------------------------------------------------------------------------- 1 | GLADE CMIP6 Catalog 2 | =================== 3 | 4 | This is a dynamically generated ESMCol collection. 5 | This collection can be viewed directly at:: 6 | 7 | https://raw.githubusercontent.com/NCAR/intake-esm-datastore/master/catalogs/glade-cmip6.json 8 | 9 | .. raw:: html 10 | 11 |

12 | 
13 |   
14 |
15 |
16 |
17 |
18 | 19 | 84 | -------------------------------------------------------------------------------- /docs/cmip6_pangeo.rst: -------------------------------------------------------------------------------- 1 | Pangeo CMIP6 Catalog 2 | ==================== 3 | 4 | This is a dynamically generated ESMCol collection. 5 | This collection can be viewed directly at:: 6 | 7 | https://raw.githubusercontent.com/NCAR/intake-esm-datastore/master/catalogs/pangeo-cmip6.json 8 | 9 | .. raw:: html 10 | 11 |

12 | 
13 |   
14 |
15 |
16 |
17 |
18 | 19 | 84 | -------------------------------------------------------------------------------- /intake-catalogs/hydro/camels.yaml: -------------------------------------------------------------------------------- 1 | sources: 2 | basin_mean_forcing_gcp: 3 | description: Camels Basin Mean Forcing 4 | parameters: # User parameters 5 | basin_id: 6 | description: Basin ID 7 | type: str 8 | default: "05056000" 9 | source: 10 | description: Source dataset 11 | type: str 12 | default: daymet 13 | driver: csv 14 | args: 15 | urlpath: 'gs://pangeo-ncar-camels/basin_dataset_public_v1p2/basin_mean_forcing/{{ source }}/*/{{ basin_id }}_*.txt' 16 | csv_kwargs: 17 | sep: '\s+' 18 | header: 3 19 | parse_dates: {'date': ['Year', 'Mnth', 'Day', 'Hr']} 20 | storage_options: 21 | requester_pays: True 22 | metadata: 23 | origin_url: 'https://ral.ucar.edu/solutions/products/camels' 24 | 25 | basin_mean_forcing_aws: 26 | description: Camels Basin Mean Forcing 27 | parameters: # User parameters 28 | basin_id: 29 | description: Basin ID 30 | type: str 31 | default: "05056000" 32 | source: 33 | description: Source dataset 34 | type: str 35 | default: daymet 36 | driver: csv 37 | args: 38 | urlpath: 's3://pangeo-camels/basin_timeseries_v1p2_metForcing_obsFlow/basin_dataset_public_v1p2/basin_mean_forcing/{{ source }}/*/{{ basin_id }}_*.txt' 39 | csv_kwargs: 40 | sep: '\s+' 41 | header: 3 42 | parse_dates: {'date': ['Year', 'Mnth', 'Day', 'Hr']} 43 | metadata: 44 | origin_url: 'https://ral.ucar.edu/solutions/products/camels' 45 | 46 | usgs_streamflow_gcp: 47 | description: Camels USGS Streamflow 48 | parameters: # User parameters 49 | basin_id: 50 | description: Basin ID 51 | type: str 52 | default: "05056000" 53 | driver: csv 54 | args: 55 | urlpath: 'gs://pangeo-ncar-camels/basin_dataset_public_v1p2/usgs_streamflow/*/{{ basin_id }}_streamflow_qc.txt' 56 | csv_kwargs: 57 | sep: '\s+' 58 | names: ['basin', 'Year', 'Mnth', 'Day', 'QObs', 'flag'] 59 | parse_dates: {'date': ['Year', 'Mnth', 'Day']} 60 | na_values: -999.0 61 | storage_options: 62 | requester_pays: True 63 | metadata: 64 | origin_url: 'https://ral.ucar.edu/solutions/products/camels' 65 | 66 | 67 | usgs_streamflow_aws: 68 | description: Camels USGS Streamflow 69 | parameters: # User parameters 70 | basin_id: 71 | description: Basin ID 72 | type: str 73 | default: "05056000" 74 | driver: csv 75 | args: 76 | urlpath: 's3://pangeo-camels/basin_timeseries_v1p2_metForcing_obsFlow/basin_dataset_public_v1p2/usgs_streamflow/*/{{ basin_id }}_streamflow_qc.txt' 77 | csv_kwargs: 78 | sep: '\s+' 79 | names: ['basin', 'Year', 'Mnth', 'Day', 'QObs', 'flag'] 80 | parse_dates: {'date': ['Year', 'Mnth', 'Day']} 81 | na_values: -999.0 82 | metadata: 83 | origin_url: 'https://ral.ucar.edu/solutions/products/camels' 84 | 85 | attributes_aws: 86 | description: Camels Attributes 87 | parameters: # User parameters 88 | type: 89 | description: type of attribute 90 | type: str 91 | default: "topo" 92 | driver: csv 93 | args: 94 | urlpath: 's3://pangeo-camels/camels_attributes_v2.0/camels_{{ type }}.txt' 95 | csv_kwargs: 96 | sep: ';' 97 | metadata: 98 | origin_url: 'https://ral.ucar.edu/solutions/products/camels' 99 | -------------------------------------------------------------------------------- /intake-catalogs/atmosphere.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | sources: 5 | 6 | gmet_v1: 7 | description: Full GMET version 1 (Newman) met ensemble in zarr format 8 | driver: zarr 9 | args: 10 | urlpath: gs://pangeo-ncar-gmet 11 | consolidated: True 12 | storage_options: 13 | requester_pays: True 14 | 15 | trmm_3b42rt: 16 | description: Near real time rainfall estimates from NASA's Tropical Rainfall Measuring Mission 17 | metadata: 18 | url: 'https://trmm.gsfc.nasa.gov/data_dir/data.html' 19 | tags: 20 | - precipitation 21 | - satellite 22 | driver: zarr 23 | args: 24 | urlpath: gs://pangeo-nasa-trmm 25 | consolidated: True 26 | storage_options: 27 | requester_pays: True 28 | 29 | sam_ngaqua_qobs_eqx_3d: 30 | description: 3D fields from a near-global Aquaplanet Simulation with the System for Atmospheric Modeling 31 | metadata: 32 | tags: 33 | - atmosphere 34 | - model 35 | driver: zarr 36 | args: 37 | urlpath: gs://pangeo-vulcan-sam/3d 38 | consolidated: True 39 | storage_options: 40 | requester_pays: True 41 | 42 | sam_ngaqua_qobs_eqx_2d: 43 | description: 2D fields from a near-global Aquaplanet Simulation with the System for Atmospheric Modeling 44 | metadata: 45 | tags: 46 | - atmosphere 47 | - model 48 | driver: zarr 49 | args: 50 | urlpath: gs://pangeo-vulcan-sam/2d 51 | consolidated: True 52 | storage_options: 53 | requester_pays: True 54 | 55 | gpcp_cdr_daily_v1_3: 56 | description: 3D fields from a near-global Aquaplanet Simulation with the System for Atmospheric Modeling 57 | metadata: 58 | title: "Global Precipitation Climatatology Project (GPCP) Climate Data Record (CDR), Daily V1.3" 59 | url: "https://climatedataguide.ucar.edu/climate-data/gpcp-daily-global-precipitation-climatology-project" 60 | tags: 61 | - atmosphere 62 | - model 63 | driver: zarr 64 | args: 65 | urlpath: gs://pangeo-noaa-esrl-gpcp 66 | consolidated: True 67 | storage_options: 68 | requester_pays: True 69 | 70 | wrf50_erai: 71 | description: Daily meteorology from 50km WRF simulation forced with ERA-Interim 72 | driver: zarr 73 | args: 74 | urlpath: gs://pangeo-ncar-wrf 75 | consolidated: True 76 | storage_options: 77 | requester_pays: True 78 | 79 | era5_hourly_reanalysis_single_levels_sa: 80 | description: "ERA5 hourly estimates of variables on single levels" 81 | metadata: 82 | url: 'https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-single-levels' 83 | tags: 84 | - ocean 85 | - model 86 | - atmosphere 87 | driver: zarr 88 | args: 89 | urlpath: gs://pangeo-era5/reanalysis/spatial-analysis 90 | consolidated: True 91 | storage_options: 92 | requester_pays: True 93 | 94 | nasa_ccmp_wind_vectors: 95 | description: "gap-free 6-hourly surface wind fields" 96 | metadata: 97 | url: 'https://podaac.jpl.nasa.gov/MEaSUREs-CCMP?sections=about' 98 | tags: 99 | - ocean 100 | - atmosphere 101 | driver: zarr 102 | args: 103 | urlpath: gs://pangeo-nasa-ccmp/zarr 104 | consolidated: True 105 | storage_options: 106 | requester_pays: True 107 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pangeo Cloud Datastore 2 | 3 | **Catalog Status**: [![Build Status](https://travis-ci.org/pangeo-data/pangeo-datastore.svg?branch=master)](https://travis-ci.org/pangeo-data/pangeo-datastore) 4 | 5 | **Browseable Online Website**: 6 | 7 | This repository is where Pangeo's official cloud data catalog lives. 8 | This catalog is an [Intake](https://github.com/ContinuumIO/intake) catalog. 9 | Most of the data is stored in [Zarr](https://github.com/zarr-developers/zarr) format 10 | and meant to be opened with [Xarray](http://xarray.pydata.org/en/latest/). 11 | 12 | The master intake catalog URL is 13 | ``` 14 | https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/master.yaml 15 | ``` 16 | 17 | ### Requirements 18 | 19 | Using this catalog requires package versions that are quite recent as of April, 2019. 20 | 21 | - [Intake](https://github.com/ContinuumIO/intake) >= 0.4.4 22 | - [Xarray](http://xarray.pydata.org/en/latest/) >= 0.12.0 23 | - [Zarr](https://github.com/zarr-developers/zarr) >= 2.3.1 24 | - [Dask](https://docs.dask.org/en/latest/) >= 1.0 25 | 26 | ### Examples 27 | 28 | To open the catalog and load a dataset from python, you can run the following code 29 | 30 | ```python 31 | import intake 32 | cat_url = 'https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/master.yaml' 33 | cat = intake.open_catalog(cat_url) 34 | ds = cat.atmosphere.gmet_v1.to_dask() 35 | ``` 36 | 37 | To explore the whole catalog, you can try 38 | ```python 39 | cat.walk(depth=5) 40 | ``` 41 | 42 | ### Accessing requester pays data 43 | 44 | Several of the datasets within the cloud data catalog are contained in [requester pays](https://cloud.google.com/storage/docs/requester-pays) storage buckets. 45 | This means that a user requesting data must provide their own billing project (created and authenticated through Google Cloud Platform) to be billed for the charges associated with accessing a dataset. 46 | To set up an GCP billing project and use it for authentication in applications: 47 | 48 | - [Create a project on GCP](https://cloud.google.com/resource-manager/docs/creating-managing-projects#creating_a_project); if this is the first time using GCP, a prompt will appear to choose a Google account to link to all GCP-related activities. 49 | - [Create a Cloud Billing account](https://cloud.google.com/billing/docs/how-to/manage-billing-account#create_a_new_billing_account) associated with the project and [enable billing for the project](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project) through this account. 50 | - Using [Google Cloud IAM](https://cloud.google.com/iam/docs/granting-changing-revoking-access#granting-console), add the **Service Usage Consumer** role to your account, which enables it to make billed requests on the behalf of the project. 51 | - Through command line, install the [Google Cloud SDK](https://cloud.google.com/sdk); this can be done using conda: 52 | ``` 53 | conda install -c conda-forge google-cloud-sdk 54 | ``` 55 | - Initialize the `gcloud` command line interface, logging into the account used to create the aforementioned project and selecting it as the default project; this will allow the project to be used for requester pays access through the command line: 56 | ``` 57 | gcloud auth login 58 | gcloud init 59 | ``` 60 | - Finally, use `gcloud` to establish application default credentials; this will allow the project to be used for requester pays access through applications: 61 | ``` 62 | gcloud auth application-default login 63 | ``` 64 | 65 | ### Adding Datasets 66 | 67 | To suggest adding a new dataset, please [open an issue](https://github.com/pangeo-data/pangeo-datastore/issues). 68 | -------------------------------------------------------------------------------- /github_deploy_key_pangeo_data_pangeo_datastore.enc: -------------------------------------------------------------------------------- 1 | gAAAAABcye9XvIw8lJ7knRe4xuJ-mIjLEMw4vqC9SShLllP4zIaQjP6rnVKqSCmW_elhu3uZC6CZfScA1zpu6QLiHhcFVWKYr5HgSJkeLH9Hk2Njv20Etjb5M1rCGD2EvjB8l_VAIrM3jMbMlSYNqtMupHszrK9WVuUeF_XLv5y9suV_pEGqvHKPrWCyaQgWlEEdsND7bZeeErRdUR9npiW_T-6x82M0L0Zh-UymXxYYktsQw8osLzyL4boIIiqukXxNavCWYNfCyePfgyVoT0R_LSaSIYKkvYnKDKQrgEnNR4XnPoDkXv-az2GaIJFt9GOaSfE8JNaMzPqhAr3kxWueTz2Fh2A33LhJQUGTalgySGlTvLp1RfKEi5kirYLAbTmsdtzqw3VsQmutyxsaC1fTXLHJK1KLReFSHKs7r5EFKFziIqQvbaK9Or9TNMDSOGgp9jCnABDC0yzC-qB4BRnSc650zliE0K0EfeNkWZ1VMryia6pmXPuj2ujHDd5DenvfYLjpE_HN0gAH41tlKz7o-AjK_zuRooJY4k47_dgtcNqtPQdz48XGs2qHYmkit_b1F3xEZ5SIGiX7DyTl1rFFSdGwYHL5BYgPLlIMVEYOeGmP8W0CLx6TkqQtMGJF9X7clNcXL7jrYCaw71z-Jg_b2Ph3rkYeJIhYcrWWp950PCkUYUOFsIDsp0Tcag1E5N3dKJx_EGY42XDT6hO9zeEYBRW23LhiuIh6MpVtRcuehR-R94E9YUP409QpJImuCLYXeXCNqNHSV-wYfKxsinQ6q4A-0Aek02WUMvGFx-wQgFVLRYrrO178ERRAQ6Peen0d54w8o1Ji2kQRwfBpX-EMD0lLqPWqC8nliwRidkaYAdBS67mdp0wezgIO1bkqjBCvCmYPopYLWEz_4LByF8h-atrrue-j6MIsbq0axFQQzFOZmYdvHMFFcV2KkrLfWN8eteOE0JwcSIajWHWD0SrMtn1qszVl_wUhk_QjtpIgSqS7yM3uGDA9Mu6eGf0FV4D96ZFVogolTV4NuyotRADbv6OzrSoY6bf_zhblngCN68aZWAhNdD-94X8B8FbcGlEj_AQQm71BC-KDWYqKIhBRT0OJfSWfiUjYULqoDQiZtt92CwKngoecl8-Gc6o0yKZ-dIBFd6v6DhA_ILY5R1vF0fms2CrZYgKrStxn_gHQQGoAj_9mJbrvfB0z5tizXqvSozVKjSOecUYOrhBD5IxiU9avitzfapnuuei3kKAYZXA6MZkoUQeOeuW7MxI4vK45MjM2k2LTOKSTuHbjQkV1UiHPTZKm45ZOxvgwh0ipBVtssFiWO6pNBpklrYmzJAR7NrS6rcXXktkLxDQ3OHcaNqvsrCMxfWdsqAKRZ--B-5f19t0ELJ40vgjbBcjThmBX1YK99QkjQBfEmTUQIIyMEMKA3llxHveq0VTeSardwxUa2BkExeenyd-gn5F-pGda0v67hrdCJ3JKlVztlD3atmI1kgjzrTf-P5SPuAfenhYhZ3G1845pq8AqprvIhs816allnK92vf9KNuvnVCjFakjRKN5VpHTWaTHxI9ph-EnFyXVQqg_olPfXcxBFeZgVOX-O5jJhBwYOUx1-YAWsKq1NwTGNV5A3X-A22sXjxXseGJVzdgwOr0tz1zUtdaUE4EWV7dtRnVg3UEjtBE49k8_b-OHSWvpJSrbEk9nlV2evsSzi8yOFa_r0VmwKoLcfWSvZWc3K4Q7fEcuf1qDmAJGmgfrEMF4prmnh2aPbYSNRffM7NNOg7bB2ehGsayYJwWf5CJVYFiNAkPv_TTw02SJDmMsON118IjzEpf24EhNiFD9KYvm3IPz7TPyXSja7BqI-VJkfVljhGYthcYHK5afX6RCDx48k7HlkYdrcQi4WWVUgmFVS2-kvlTrEctnk5ivX0BpsNsCjchSGv1f8TzRJuYBekJe_sxVzXXLlypAFj9yhtG-6nwami2zNyWBeG45EKLsjqG2Or4JY0HTQnr7bYusAZ4DVKEtMxgMCyMpvc6RXYMwCfliz0nygQvZnY9WhmlF7llvxz0xfywKi7B7lV-hbmvEM2aJP9M5uLvU_HBsrLrzrLaoW_7qZVrBnxVum-oRYUxwo2H4AsXGbHAxqaG4wPj89YRJg_JQYyFkli-vzaqxdCyXA9f6qkHN0axVguL_hyBwp1c6ANHAnINxqeDY7Am8D66kmgf9goTs_wD1kneT-9eoC8XTQgGYxYinwWFEiIBIwD-jGc8LdNMTscAoKzWA4-1mgfd5m0yOhGzLcpj7jF5kLJHyiQ_FFaaTbIW_xLBQ6GBsWtFlC7e7hnaAtyoQz3iBE2UW85oOujzkjQ2sK3fDd_bXeAHu0FvejvWYh0jInAz9vCqh6hOf3H5tCvxCh9QKF-paCMcSFsfJudxaN2fG1SMDcYuB3gHi9aAyi21zF_UIhqV_f43ptIWbveHeweiuJ8OBi_2qp7ZF5P5uXwflh0hvrSqygaThw25S-OcDXxn4Cg4445eG6ytwmd5wGgRPVGEOZ7uauzGD6WB8bOdkmjtjoWL0IWpugIxIdh2wKnj6vI3TJ_ZUTuynTnsVglOAG6xxcccGMdT2fViPIN-DNweTJ7sRfHTklIOsLyzQk2ETTDuwkowcyEquKjLkyF4H6t691WFdyKB1iq7K1qnKkJD6SsNdTQ5XRybDgG-d0XgMPbTOpM2p-gCYqpsSqQbgpNJu0wTCQhuzpKgiEdg6_Qha6O7k1H2vJsBBI9A3LTrOhxgCdu86fgsDbLpJrPnAElLjqad5V5AV9uopeCWL17jPD0zjoG_5qNHitQFhGuQ7vfGyHFMCORC8hBDjP6wuCpOR5f1_1Nf06Td3ZmsAlh6Mc94KhS5kgUBGw6QJ1GzGwXYwXuyvATytijvBnK8HkrAwOo8NisSF0A1JPgy3tbLATyboZkVZjGnlyOuLh7_1uZJ1TNKHeoMHwir4Kxrak9W7Gw7Ool6nO396vLlExO6q40Hwl3itPWQXokGZsIQuAHqfzBm3McdSpcf0Idex9cW6sksjYc0iptcx45cIkMDEQVzMwjWbT261ZkCMkByQtTZtWXnH8VIwD-rYTV7LuIsYuZC6TK9v_tXJJH-xs1WghAHAYmXYM4SlRWxW0m5QzKLj4xOcccWf9AAVjdk6aX2jxR07zSPmAsxa2_DwuCqa-IqWHWqvDmKd_Qoo1qoLSlErGJYk0kamiO8JkZXiASYJjZj4e1O1F6nCKNqSy-r9Ge-WvKqJOUNf2WN475eP_LtH3QMgejO-Mms8LfC8xa6SuLugllccMWCx6KC-bWOMRApnkSzfvrydmlXFxD211qZa0ov6AvXGFPBoxYwIUBwAKGr4DwJDnohd2Y2RWS8mSIqr-G-5IYx76jxF8Pg3PgkMR1q4JzYpEZoUB-53jyuMNA067ARMnWmzd9loqwQk-c4bb_VKrmKxcsUG7AU0-j02v0juI0AhFnWfZTV2l5tBnhkXIbxBhit6fnQUL8k8kMGMGvyOK0Qk4E1LUFn0jTMDgPzpmKWbEvRDaUisEDnApm5mYCNh90C3MIGj06i33Scw8p2hPtt6llCX-IYj13dpwf1HLyybpfJFbnxULPQ9RWVKFr78LAKyNIEmJyOfUJVjFB2WREAuHYnVhTNFGAlhyx9LjevY_EC1OudwfzFgoSgvX4Z3yPM_gQqIxDjWpewt26aXrwMpxqZZaG7c0P35HfKpteZaTfJsscmQMoRrR-3z60GS3PKNRNuj1N11ZwTdhjfx-MDmEa-CkgdogFGswQZkJgatdjRjNrrCO-yWogXswMoSXPqW8x2GJ2KizVkO7SMWef1rabzUBUAJHrrgOvMh0sOu78A57BVLs26gNrBQDBhaR-0SbCGgI2XQPqXolGgfCaaU2gMluZWigHdPsKuLVgHhNUz-u_G-ySEG_WhCP46fjq9HqFrJwTrc38HtPqOuiIiSiNF4EyPPqCGNoafZSCqn0fNsLqrTL0lAA2z7FRgtELGfv-SQN-_b3rZU9dvsJiQcI1PNxyVMRaYlpU0H-iVxFKZEe6wh9xGXqehCPk3g3j7j2aqpMchmRl4-jeMcFfcqBk8CxG24ibbda9F1lXgJ46IIs3PVHLOsuA1ZVaY0u44BuEfLCMyeAlFc4MKtPuFut3RxFODdeHINpci2pWCa3E4OiE58kbtfVISeebdkTYhe19IDxYSKbBixLxnYVM4JP_AzUAXMBlZzj_3qr_vNGk8dbMhu2l-sMYR_GL0SEcvBTMj1Q6ckPYIjDGXPUxioRrvsXw2Z1DzpBk4afrrxKsR3fUry_6YaUXMV6VmDvoXH7KHS7zxD5PQv1burWES05dkvwWqJ6o-WxXYgMy5H9X1xm9vJg5CigrPC42EE5dGPeINhWt5TRCkF_yrs2iQI9GTHwyqcd_nbVOScAOqN8aA== -------------------------------------------------------------------------------- /intake-catalogs/ocean.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | 5 | sources: 6 | 7 | sea_surface_height: 8 | description: sea-surface altimetry data from The Copernicus Marine Environment 9 | metadata: 10 | url: 'http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L4_REP_OBSERVATIONS_008_047' 11 | tags: 12 | - ocean 13 | - satellite 14 | driver: zarr 15 | args: 16 | urlpath: gs://pangeo-cmems-duacs 17 | consolidated: True 18 | storage_options: 19 | requester_pays: True 20 | 21 | cesm_mom6_example: 22 | description: CESM MOM6 Ocean Model Example Data 23 | metadata: 24 | uploader_github: gustavo-marques 25 | uploader_email: gmarques@ucar.edu 26 | url: 'https://github.com/NCAR/MOM6-cases' 27 | tags: 28 | - ocean 29 | - model 30 | driver: zarr 31 | args: 32 | urlpath: gs://pangeo-cesm-mom6 33 | consolidated: True 34 | storage_options: 35 | requester_pays: True 36 | 37 | ECCOv4r3: 38 | description: Estimating the Circulation and Climate of the Ocean (ECCO) State Estimate Version 4 Release 3 39 | metadata: 40 | url: 'https://ecco-v4-python-tutorial.readthedocs.io/intro.html' 41 | tags: 42 | - ocean 43 | - model 44 | driver: zarr 45 | args: 46 | urlpath: gs://pangeo-ecco-eccov4r3/eccov4r3 47 | consolidated: True 48 | storage_options: 49 | requester_pays: True 50 | 51 | SOSE: 52 | description: Southern Ocean State Estimate 53 | metadata: 54 | url: 'http://sose.ucsd.edu/' 55 | tags: 56 | - ocean 57 | - model 58 | driver: zarr 59 | args: 60 | urlpath: gs://pangeo-ecco-sose 61 | consolidated: True 62 | storage_options: 63 | requester_pays: True 64 | 65 | GODAS: 66 | description: "NCEP Global Ocean Data Assimilation System" 67 | metadata: 68 | uploader_github: rabernat 69 | uploader_email: rpa@ldeo.columbia.edu 70 | url: 'https://www.esrl.noaa.gov/psd/data/gridded/data.godas.html' 71 | tags: 72 | - ocean 73 | - data assimilation 74 | driver: zarr 75 | args: 76 | urlpath: gs://pangeo-ncep-godas 77 | consolidated: True 78 | storage_options: 79 | requester_pays: True 80 | 81 | ECCO_layers: 82 | description: Rerun of Estimating the Circulation and Climate of the Ocean (ECCO) with the layers package 83 | metadata: 84 | url: 'https://ecco-v4-python-tutorial.readthedocs.io/intro.html' 85 | tags: 86 | - ocean 87 | - model 88 | - layers 89 | driver: zarr 90 | args: 91 | urlpath: gs://pangeo-ecco-eccov4r3/layers 92 | consolidated: True 93 | storage_options: 94 | requester_pays: True 95 | 96 | altimetry: 97 | args: 98 | path: "{{CATALOG_DIR}}/ocean/altimetry.yaml" 99 | description: 'Radar Altimetry Products' 100 | driver: intake.catalog.local.YAMLFileCatalog 101 | metadata: {} 102 | 103 | LLC4320: 104 | args: 105 | path: "{{CATALOG_DIR}}/ocean/llc4320.yaml" 106 | description: 'MITgcm Global LLC4320 Simulations' 107 | driver: intake.catalog.local.YAMLFileCatalog 108 | metadata: {} 109 | 110 | GFDL_CM2_6: 111 | args: 112 | path: "{{CATALOG_DIR}}/ocean/GFDL_CM2.6.yaml" 113 | description: 'GFDL CM2.6 Climate Model Ocean Fields' 114 | driver: intake.catalog.local.YAMLFileCatalog 115 | metadata: {} 116 | 117 | CESM_POP: 118 | args: 119 | path: "{{CATALOG_DIR}}/ocean/CESM_POP.yaml" 120 | description: 'NCAR CESM Global High Resolution Ocean Model Fields' 121 | driver: intake.catalog.local.YAMLFileCatalog 122 | metadata: {} 123 | 124 | channel: 125 | args: 126 | path: "{{CATALOG_DIR}}/ocean/channel.yaml" 127 | description: 'MITgcm High Resolution Channel Simulations' 128 | driver: intake.catalog.local.YAMLFileCatalog 129 | metadata: {} 130 | 131 | MEOM_NEMO: 132 | args: 133 | path: "{{CATALOG_DIR}}/ocean/MEOM-NEMO.yaml" 134 | description: 'NEMO North Atlantic Ocean Model simulations produced at MEOM' 135 | driver: intake.catalog.local.YAMLFileCatalog 136 | metadata: {} 137 | -------------------------------------------------------------------------------- /intake-catalogs/hydro.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | 5 | sources: 6 | 7 | cgiar_pet: 8 | description: Global potential evapotranspiration from CGIAR-CSI 9 | metadata: 10 | url: 'https://cgiarcsi.community/data/global-aridity-and-pet-database' 11 | tags: 12 | - evapotranspiration 13 | driver: zarr 14 | args: 15 | urlpath: gs://pangeo-cgiar-pet 16 | consolidated: True 17 | storage_options: 18 | requester_pays: True 19 | 20 | hydrosheds_dir: 21 | description: Drainage directions at 3-second resolution 22 | metadata: 23 | url: 'https://www.hydrosheds.org' 24 | tags: 25 | - drainage 26 | driver: rasterio 27 | cache: 28 | - argkey: urlpath 29 | regex: 'pangeo-data' 30 | type: file 31 | args: 32 | urlpath: gs://pangeo-usgs-hydrosheds/dir.vrt 33 | chunks: {'y': 6000, 'x': 6000} 34 | storage_options: 35 | requester_pays: True 36 | 37 | hydrosheds_acc: 38 | description: Flow accumulation at 3-second resolution 39 | metadata: 40 | url: 'https://www.hydrosheds.org' 41 | tags: 42 | - flow 43 | driver: rasterio 44 | cache: 45 | - argkey: urlpath 46 | regex: 'pangeo-data' 47 | type: file 48 | args: 49 | urlpath: gs://pangeo-usgs-hydrosheds/acc.vrt 50 | chunks: {'y': 6000, 'x': 6000} 51 | storage_options: 52 | requester_pays: True 53 | 54 | hydrosheds_dem: 55 | description: Digital Elevation Model (conditioned DEM) at 3-second resolution 56 | metadata: 57 | url: 'https://www.hydrosheds.org' 58 | tags: 59 | - DEM 60 | driver: rasterio 61 | cache: 62 | - argkey: urlpath 63 | regex: 'pangeo-data' 64 | type: file 65 | args: 66 | urlpath: gs://pangeo-usgs-hydrosheds/dem.vrt 67 | chunks: {'y': 6000, 'x': 6000} 68 | storage_options: 69 | requester_pays: True 70 | 71 | soil_grids_single_level: 72 | description: Global gridded soil information in COG format 73 | parameters: 74 | variable: 75 | description: soil variable 76 | type: str 77 | default: TAXNWRB 78 | metadata: 79 | url: https://soilgrids.org/ 80 | tags: Soil 81 | driver: rasterio 82 | args: 83 | urlpath: "gs://pangeo-ncar-soilgrids/{{ variable }}_250m.tif" 84 | chunks: {'y': 5120, 'x': 5120} 85 | storage_options: 86 | requester_pays: True 87 | 88 | soil_grids_multi_level: 89 | description: Global gridded soil information in COG format 90 | parameters: 91 | variable: 92 | description: soil variable 93 | type: str 94 | default: AWCh1_M 95 | level: 96 | description: soil level 97 | type: int 98 | default: 1 99 | metadata: 100 | url: https://soilgrids.org/ 101 | tags: Soil 102 | driver: rasterio 103 | args: 104 | urlpath: "gs://pangeo-ncar-soilgrids/{{ variable }}_sl{{ '%01d' % level }}_250m.tif" 105 | chunks: {'y': 5120, 'x': 5120} 106 | storage_options: 107 | requester_pays: True 108 | 109 | camels: 110 | args: 111 | path: "{{CATALOG_DIR}}/hydro/camels.yaml" 112 | description: 'Pangeo Camels Dataset Catalog' 113 | driver: intake.catalog.local.YAMLFileCatalog 114 | metadata: {} 115 | 116 | 117 | nhd_catchment_attributes: 118 | description: "Attributes of nhd catchments aggregated to USGS streamflow gauges" 119 | metadata: 120 | uploader_github: jsadler2 121 | uploader_email: jsadler@usgs.gov 122 | url: 'https://www.sciencebase.gov/catalog/item/5669a79ee4b08895842a1d47' 123 | tags: 124 | - hydrology 125 | - streamflow 126 | driver: parquet 127 | args: 128 | urlpath: "s3://pangeo-nhd-catchment-attributes" 129 | storage_options: 130 | requester_pays: True 131 | 132 | 133 | nldas_hru_forcing: 134 | description: "NLDAS forcing data" 135 | metadata: 136 | uploader_github: jsadler2 137 | uploader_email: jsadler@usgs.gov 138 | url: 'https://ldas.gsfc.nasa.gov/nldas/v2/forcing' 139 | tags: 140 | - hydrology 141 | - meteorologic data 142 | driver: zarr 143 | args: 144 | urlpath: "s3://pangeo-nldas-hru-forcing" 145 | storage_options: 146 | requester_pays: True 147 | 148 | usgs_streamflow_observations: 149 | description: "Streamflow observations for CONUS-wide USGS stations" 150 | metadata: 151 | uploader_github: jsadler2 152 | uploader_email: jsadler@usgs.gov 153 | url: 'https://waterdata.usgs.gov/nwis/sw' 154 | tags: 155 | - hydrology 156 | - streamflow 157 | driver: zarr 158 | args: 159 | urlpath: "s3://pangeo-usgs-flow-observations" 160 | storage_options: 161 | requester_pays: True 162 | 163 | -------------------------------------------------------------------------------- /intake-catalogs/ocean/channel.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | 5 | sources: 6 | 7 | MITgcm_channel_flatbottom_02km_run01_phys-mon: 8 | description: > 9 | MITgcm channel simulations with flat bottom at 2km resolution 10 | physics field monthly mean climatology 11 | metadata: 12 | uploader_github: roxyboy 13 | uploader_email: takaya@ldeo.columbia.edu 14 | tags: 15 | - ocean 16 | - model 17 | driver: zarr 18 | args: 19 | urlpath: gs://pangeo-ldeo-mitgcm/mon 20 | consolidated: True 21 | storage_options: 22 | requester_pays: False 23 | 24 | MITgcm_channel_flatbottom_02km_run01_phys_snap15D: 25 | description: > 26 | MITgcm channel simulations with flat bottom at 2km resolution 27 | physics field snapshots every 15 days 28 | metadata: 29 | uploader_github: roxyboy 30 | uploader_email: takaya@ldeo.columbia.edu 31 | tags: 32 | - ocean 33 | - model 34 | driver: zarr 35 | args: 36 | urlpath: gs://pangeo-ldeo-mitgcm/snap15d 37 | consolidated: True 38 | storage_options: 39 | requester_pays: False 40 | 41 | channel_ridge_resolutions_01km: 42 | description: > 43 | MITgcm output from a wind and thermally driven channel with a ridge at 1km resolution, and surface forced tracer 44 | metadata: 45 | publication: Submesoscale Vertical Velocities Enhance Tracer Subduction in an Idealized Antarctic Circumpolar Current, Balwada et al 2018 (GRL) 46 | time_resolution: 10 day snapshots 47 | duration: 1 year 48 | uploader_github: charlesbluca 49 | uploader_email: charles@ldeo.columbia.edu 50 | tags: 51 | - ocean 52 | - model 53 | driver: zarr 54 | args: 55 | urlpath: gs://pangeo-ldeo-mitgcm/channel_ridge_resolutions/01km/tracer_10day_snap 56 | consolidated: True 57 | storage_options: 58 | requester_pays: False 59 | 60 | channel_ridge_resolutions_05km: 61 | description: > 62 | MITgcm output from a wind and thermally driven channel with a ridge at 5km resolution, and surface forced tracer 63 | metadata: 64 | publication: Submesoscale Vertical Velocities Enhance Tracer Subduction in an Idealized Antarctic Circumpolar Current, Balwada et al 2018 (GRL) 65 | time_resolution: 10 day snapshots 66 | duration: 1 year 67 | uploader_github: charlesbluca 68 | uploader_email: charles@ldeo.columbia.edu 69 | tags: 70 | - ocean 71 | - model 72 | driver: zarr 73 | args: 74 | urlpath: gs://pangeo-ldeo-mitgcm/channel_ridge_resolutions/05km/tracer_10day_snap 75 | consolidated: True 76 | storage_options: 77 | requester_pays: False 78 | 79 | channel_ridge_resolutions_20km: 80 | description: > 81 | MITgcm output from a wind and thermally driven channel with a ridge at 20km resolution, and surface forced tracer 82 | metadata: 83 | publication: Submesoscale Vertical Velocities Enhance Tracer Subduction in an Idealized Antarctic Circumpolar Current, Balwada et al 2018 (GRL) 84 | time_resolution: 10 day snapshots 85 | duration: 1 year 86 | uploader_github: charlesbluca 87 | uploader_email: charles@ldeo.columbia.edu 88 | tags: 89 | - ocean 90 | - model 91 | driver: zarr 92 | args: 93 | urlpath: gs://pangeo-ldeo-mitgcm/channel_ridge_resolutions/20km/tracer_10day_snap 94 | consolidated: True 95 | storage_options: 96 | requester_pays: False 97 | 98 | run_tracers_restored_zarr: 99 | description: > 100 | MITgcm output from a wind and thermally driven channel with a ridge at 5km resolution and interior restored tracers 101 | metadata: 102 | time_resolution: 3 day snapshots 103 | duration: 16.5 years 104 | uploader_github: charlesbluca 105 | uploader_email: charles@ldeo.columbia.edu 106 | tags: 107 | - ocean 108 | - model 109 | driver: zarr 110 | args: 111 | urlpath: gs://pangeo-ldeo-mitgcm/run_tracers_restored_zarr 112 | consolidated: True 113 | storage_options: 114 | requester_pays: False 115 | 116 | channel_ridge_05km_float_run: 117 | description: > 118 | MITgcm output from a wind and thermally driven channel with a ridge at 5km resolution (model vars) 119 | metadata: 120 | time_resolution: 3 day average 121 | duration: 5 years 122 | uploader_github: cspencerjones 123 | uploader_email: spencerj@ldeo.columbia.edu 124 | tags: 125 | - ocean 126 | - model 127 | driver: zarr 128 | args: 129 | urlpath: gs://pangeo-ldeo-mitgcm/channel_floats/channel_model_vars 130 | consolidated: True 131 | storage_options: 132 | requester_pays: False 133 | 134 | channel_ridge_05km_floats: 135 | description: > 136 | MITgcm output from a wind and thermally driven channel with a ridge at 5km resolution (float vars) 137 | metadata: 138 | time_resolution: 10 day profile snapshots 139 | duration: 5 years 140 | uploader_github: cspencerjones 141 | uploader_email: spencerj@ldeo.columbia.edu 142 | tags: 143 | - ocean 144 | - model 145 | driver: zarr 146 | args: 147 | urlpath: gs://pangeo-ldeo-mitgcm/channel_floats/channel_float_vars 148 | consolidated: True 149 | storage_options: 150 | requester_pays: False 151 | -------------------------------------------------------------------------------- /docs/_static/jquery.json-viewer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery json-viewer 3 | * @author: Alexandre Bodelot 4 | * @link: https://github.com/abodelot/jquery.json-viewer 5 | */ 6 | (function($) { 7 | 8 | /** 9 | * Check if arg is either an array with at least 1 element, or a dict with at least 1 key 10 | * @return boolean 11 | */ 12 | function isCollapsable(arg) { 13 | return arg instanceof Object && Object.keys(arg).length > 0; 14 | } 15 | 16 | /** 17 | * Check if a string represents a valid url 18 | * @return boolean 19 | */ 20 | function isUrl(string) { 21 | var urlRegexp = /^(https?:\/\/|ftps?:\/\/)?([a-z0-9%-]+\.){1,}([a-z0-9-]+)?(:(\d{1,5}))?(\/([a-z0-9\-._~:/?#[\]@!$&'()*+,;=%]+)?)?$/i; 22 | return urlRegexp.test(string); 23 | } 24 | 25 | /** 26 | * Transform a json object into html representation 27 | * @return string 28 | */ 29 | function json2html(json, options) { 30 | var html = ''; 31 | if (typeof json === 'string') { 32 | // Escape tags and quotes 33 | json = json 34 | .replace(/&/g, '&') 35 | .replace(//g, '>') 37 | .replace(/'/g, ''') 38 | .replace(/"/g, '"'); 39 | 40 | if (options.withLinks && isUrl(json)) { 41 | html += '' + json + ''; 42 | } else { 43 | // Escape double quotes in the rendered non-URL string. 44 | json = json.replace(/"/g, '\\"'); 45 | html += '"' + json + '"'; 46 | } 47 | } else if (typeof json === 'number') { 48 | html += '' + json + ''; 49 | } else if (typeof json === 'boolean') { 50 | html += '' + json + ''; 51 | } else if (json === null) { 52 | html += 'null'; 53 | } else if (json instanceof Array) { 54 | if (json.length > 0) { 55 | html += '[
    '; 56 | for (var i = 0; i < json.length; ++i) { 57 | html += '
  1. '; 58 | // Add toggle button if item is collapsable 59 | if (isCollapsable(json[i])) { 60 | html += ''; 61 | } 62 | html += json2html(json[i], options); 63 | // Add comma if item is not last 64 | if (i < json.length - 1) { 65 | html += ','; 66 | } 67 | html += '
  2. '; 68 | } 69 | html += '
]'; 70 | } else { 71 | html += '[]'; 72 | } 73 | } else if (typeof json === 'object') { 74 | var keyCount = Object.keys(json).length; 75 | if (keyCount > 0) { 76 | html += '{
    '; 77 | for (var key in json) { 78 | if (Object.prototype.hasOwnProperty.call(json, key)) { 79 | html += '
  • '; 80 | var keyRepr = options.withQuotes ? 81 | '"' + key + '"' : key; 82 | // Add toggle button if item is collapsable 83 | if (isCollapsable(json[key])) { 84 | html += '' + keyRepr + ''; 85 | } else { 86 | html += keyRepr; 87 | } 88 | html += ': ' + json2html(json[key], options); 89 | // Add comma if item is not last 90 | if (--keyCount > 0) { 91 | html += ','; 92 | } 93 | html += '
  • '; 94 | } 95 | } 96 | html += '
}'; 97 | } else { 98 | html += '{}'; 99 | } 100 | } 101 | return html; 102 | } 103 | 104 | /** 105 | * jQuery plugin method 106 | * @param json: a javascript object 107 | * @param options: an optional options hash 108 | */ 109 | $.fn.jsonViewer = function(json, options) { 110 | // Merge user options with default options 111 | options = Object.assign({}, { 112 | collapsed: false, 113 | rootCollapsable: true, 114 | withQuotes: false, 115 | withLinks: true 116 | }, options); 117 | 118 | // jQuery chaining 119 | return this.each(function() { 120 | 121 | // Transform to HTML 122 | var html = json2html(json, options); 123 | if (options.rootCollapsable && isCollapsable(json)) { 124 | html = '' + html; 125 | } 126 | 127 | // Insert HTML in target DOM element 128 | $(this).html(html); 129 | $(this).addClass('json-document'); 130 | 131 | // Bind click on toggle buttons 132 | $(this).off('click'); 133 | $(this).on('click', 'a.json-toggle', function() { 134 | var target = $(this).toggleClass('collapsed').siblings('ul.json-dict, ol.json-array'); 135 | target.toggle(); 136 | if (target.is(':visible')) { 137 | target.siblings('.json-placeholder').remove(); 138 | } else { 139 | var count = target.children('li').length; 140 | var placeholder = count + (count > 1 ? ' items' : ' item'); 141 | target.after('' + placeholder + ''); 142 | } 143 | return false; 144 | }); 145 | 146 | // Simulate click on toggle button when placeholder is clicked 147 | $(this).on('click', 'a.json-placeholder', function() { 148 | $(this).siblings('a.json-toggle').click(); 149 | return false; 150 | }); 151 | 152 | if (options.collapsed == true) { 153 | // Trigger click to collapse all nodes 154 | $(this).find('a.json-toggle').click(); 155 | } 156 | }); 157 | }; 158 | })(jQuery); 159 | -------------------------------------------------------------------------------- /intake-catalogs/ocean/MEOM-NEMO.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | 5 | sources: 6 | 7 | NATL60_coord: 8 | description: NEMO NATL60 Ocean Simulation Coordinates and Masks 9 | metadata: 10 | url: https://github.com/meom-configurations/NATL60-CJM165 11 | tags: 12 | - ocean 13 | - model 14 | driver: zarr 15 | args: 16 | urlpath: gs://pangeo-meom/NATL60-I/NATL60-byte-mask 17 | consolidated: True 18 | storage_options: 19 | requester_pays: True 20 | 21 | NATL60_horizontal_grid: 22 | description: NEMO NATL60 Ocean Simulation Horizontal Grid 23 | metadata: 24 | url: https://github.com/meom-configurations/NATL60-CJM165 25 | tags: 26 | - ocean 27 | - model 28 | driver: zarr 29 | args: 30 | urlpath: gs://pangeo-meom/NATL60-I/NATL60-mesh-hgr 31 | consolidated: True 32 | storage_options: 33 | requester_pays: True 34 | 35 | NATL60_vertical_grid: 36 | description: NEMO NATL60 Ocean Simulation Vertical Grid 37 | metadata: 38 | url: https://github.com/meom-configurations/NATL60-CJM165 39 | tags: 40 | - ocean 41 | - model 42 | driver: zarr 43 | args: 44 | urlpath: gs://pangeo-meom/NATL60-I/NATL60-mesh-zgr 45 | consolidated: True 46 | storage_options: 47 | requester_pays: True 48 | 49 | NATL60_SSH: 50 | description: Daily outputs of NATL60-CJM165 Sea Surface Height 51 | metadata: 52 | url: https://github.com/meom-configurations/NATL60-CJM165 53 | tags: 54 | - ocean 55 | - model 56 | driver: zarr 57 | args: 58 | urlpath: gs://pangeo-meom/NATL60-CJM165-SSH-1h-2D 59 | consolidated: True 60 | storage_options: 61 | requester_pays: True 62 | 63 | NATL60_SSH_1: 64 | description: Daily outputs of NATL60-CJM165 Sea Surface Height 65 | metadata: 66 | url: https://github.com/meom-configurations/NATL60-CJM165 67 | tags: 68 | - ocean 69 | - model 70 | driver: zarr 71 | args: 72 | urlpath: gs://pangeo-meom/NATL60-CJM165-SSH-1h-1m2deg2deg 73 | consolidated: True 74 | storage_options: 75 | requester_pays: True 76 | 77 | NATL60_SSU: 78 | description: Daily outputs of NATL60-CJM165 Sea Surface Zonal Velocity 79 | metadata: 80 | url: https://github.com/meom-configurations/NATL60-CJM165 81 | tags: 82 | - ocean 83 | - model 84 | driver: zarr 85 | args: 86 | urlpath: gs://pangeo-meom/NATL60-CJM165-SSU-1h-1m2deg2deg 87 | consolidated: True 88 | storage_options: 89 | requester_pays: True 90 | 91 | NATL60_SSV: 92 | description: Daily outputs of NATL60-CJM165 Sea Surface Meridional Velocity 93 | metadata: 94 | url: https://github.com/meom-configurations/NATL60-CJM165 95 | tags: 96 | - ocean 97 | - model 98 | driver: zarr 99 | args: 100 | urlpath: gs://pangeo-meom/NATL60-CJM165-SSV-1h-1m2deg2deg 101 | consolidated: True 102 | storage_options: 103 | requester_pays: True 104 | 105 | eNATL60_grid: 106 | description: NEMO eNATL60 Ocean Simulation Grid 107 | metadata: 108 | url: https://mycore.core-cloud.net/index.php/s/zQAcDHWhxiGt1RW#pdfviewer 109 | tags: 110 | - ocean 111 | - model 112 | driver: zarr 113 | args: 114 | urlpath: gs://pangeo-meom/eNATL60-I/eNATL60-mesh-mask 115 | consolidated: True 116 | storage_options: 117 | requester_pays: True 118 | 119 | eNATL60_BLBT02_SSH: 120 | description: Hourly outputs of eNATL60-BLBT02 (with tides) Sea Surface Height 121 | metadata: 122 | url: https://mycore.core-cloud.net/index.php/s/zQAcDHWhxiGt1RW#pdfviewer 123 | tags: 124 | - ocean 125 | - model 126 | driver: zarr 127 | args: 128 | urlpath: gs://pangeo-meom/eNATL60-BLBT02-SSH-1h 129 | consolidated: True 130 | storage_options: 131 | requester_pays: True 132 | 133 | 134 | eNATL60_BLBT02_SSU: 135 | description: Hourly outputs of eNATL60-BLBT02 (with tides) Sea Surface Zonal Velocity 136 | metadata: 137 | url: https://mycore.core-cloud.net/index.php/s/zQAcDHWhxiGt1RW#pdfviewer 138 | tags: 139 | - ocean 140 | - model 141 | driver: zarr 142 | args: 143 | urlpath: gs://pangeo-meom/eNATL60-BLBT02-SSU-1h 144 | consolidated: True 145 | storage_options: 146 | requester_pays: True 147 | 148 | eNATL60_BLBT02_SSV: 149 | description: Hourly outputs of eNATL60-BLBT02 (with tides) Sea Surface Meridional Velocity 150 | metadata: 151 | url: https://mycore.core-cloud.net/index.php/s/zQAcDHWhxiGt1RW#pdfviewer 152 | tags: 153 | - ocean 154 | - model 155 | driver: zarr 156 | args: 157 | urlpath: gs://pangeo-meom/eNATL60-BLBT02-SSV-1h 158 | consolidated: True 159 | storage_options: 160 | requester_pays: True 161 | 162 | eNATL60_BLB002_SSU: 163 | description: Hourly outputs of eNATL60-BLB002 (no tides) Sea Surface Zonal Velocity 164 | metadata: 165 | url: https://mycore.core-cloud.net/index.php/s/zQAcDHWhxiGt1RW#pdfviewer 166 | tags: 167 | - ocean 168 | - model 169 | driver: zarr 170 | args: 171 | urlpath: gs://pangeo-meom/eNATL60-BLB002-SSU-1h 172 | consolidated: True 173 | storage_options: 174 | requester_pays: True 175 | 176 | eNATL60_BLB002_SSV: 177 | description: Hourly outputs of eNATL60-BLB002 (no tides) Sea Surface Meridional Velocity 178 | metadata: 179 | url: https://mycore.core-cloud.net/index.php/s/zQAcDHWhxiGt1RW#pdfviewer 180 | tags: 181 | - ocean 182 | - model 183 | driver: zarr 184 | args: 185 | urlpath: gs://pangeo-meom/eNATL60-BLB002-SSV-1h 186 | consolidated: True 187 | storage_options: 188 | requester_pays: True 189 | -------------------------------------------------------------------------------- /intake-catalogs/ocean/GFDL_CM2.6.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | 5 | sources: 6 | 7 | GFDL_CM2_6_control_ocean: 8 | description: "GFDL CM2.6 climate model control run monthly ocean fields" 9 | metadata: 10 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 11 | tags: 12 | - ocean 13 | - model 14 | driver: zarr 15 | args: 16 | urlpath: gs://cmip6/GFDL_CM2_6/control/ocean 17 | consolidated: True 18 | storage_options: 19 | requester_pays: True 20 | 21 | GFDL_CM2_6_control_ocean_surface: 22 | description: "GFDL CM2.6 climate model control run daily ocean surface fields" 23 | metadata: 24 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 25 | tags: 26 | - ocean 27 | - model 28 | driver: zarr 29 | args: 30 | urlpath: gs://cmip6/GFDL_CM2_6/control/surface 31 | consolidated: True 32 | storage_options: 33 | requester_pays: True 34 | 35 | GFDL_CM2_6_control_ocean_3D: 36 | description: "GFDL CM2.6 climate model control run 5-day-average 3D ocean fields" 37 | metadata: 38 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 39 | tags: 40 | - ocean 41 | - model 42 | driver: zarr 43 | args: 44 | urlpath: gs://cmip6/GFDL_CM2_6/control/ocean_3d 45 | consolidated: True 46 | storage_options: 47 | requester_pays: True 48 | 49 | GFDL_CM2_6_control_ocean_transport: 50 | description: "GFDL CM2.6 climate model control run monthly ocean transport fields" 51 | metadata: 52 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 53 | tags: 54 | - ocean 55 | - model 56 | driver: zarr 57 | args: 58 | urlpath: gs://cmip6/GFDL_CM2_6/control/ocean_transport 59 | consolidated: True 60 | storage_options: 61 | requester_pays: True 62 | 63 | GFDL_CM2_6_control_ocean_boundary_flux: 64 | description: "GFDL CM2.6 climate model control run monthly ocean boundary flux fields" 65 | metadata: 66 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 67 | tags: 68 | - ocean 69 | - model 70 | driver: zarr 71 | args: 72 | urlpath: gs://cmip6/GFDL_CM2_6/control/ocean_boundary 73 | consolidated: True 74 | storage_options: 75 | requester_pays: True 76 | 77 | GFDL_CM2_6_control_ocean_budgets: 78 | description: "GFDL CM2.6 climate model control run monthly ocean budgets fields" 79 | metadata: 80 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 81 | tags: 82 | - ocean 83 | - model 84 | driver: zarr 85 | args: 86 | urlpath: gs://cmip6/GFDL_CM2_6/control/ocean_budgets 87 | consolidated: True 88 | storage_options: 89 | requester_pays: True 90 | 91 | GFDL_CM2_6_one_percent_ocean: 92 | description: "GFDL CM2.6 climate model one-percent CO2 increase run monthly ocean fields" 93 | metadata: 94 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 95 | tags: 96 | - ocean 97 | - model 98 | driver: zarr 99 | args: 100 | urlpath: gs://cmip6/GFDL_CM2_6/one_percent/ocean 101 | consolidated: True 102 | storage_options: 103 | requester_pays: True 104 | 105 | GFDL_CM2_6_one_percent_ocean_surface: 106 | description: "GFDL CM2.6 climate model one-percent CO2 increase ocean surface fields" 107 | metadata: 108 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 109 | tags: 110 | - ocean 111 | - model 112 | driver: zarr 113 | args: 114 | urlpath: gs://cmip6/GFDL_CM2_6/one_percent/surface 115 | consolidated: True 116 | storage_options: 117 | requester_pays: True 118 | 119 | GFDL_CM2_6_one_percent_ocean_3D: 120 | description: "GFDL CM2.6 climate model one-percent CO2 increase run 5-day-average 3D ocean fields" 121 | metadata: 122 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 123 | tags: 124 | - ocean 125 | - model 126 | driver: zarr 127 | args: 128 | urlpath: gs://cmip6/GFDL_CM2_6/one_percent/ocean_3d 129 | consolidated: True 130 | storage_options: 131 | requester_pays: True 132 | 133 | GFDL_CM2_6_one_percent_ocean_transport: 134 | description: "GFDL CM2.6 climate model one-percent CO2 increase monthly ocean transport fields" 135 | metadata: 136 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 137 | tags: 138 | - ocean 139 | - model 140 | driver: zarr 141 | args: 142 | urlpath: gs://cmip6/GFDL_CM2_6/one_percent/ocean_transport 143 | consolidated: True 144 | storage_options: 145 | requester_pays: True 146 | 147 | GFDL_CM2_6_one_percent_ocean_boundary_flux: 148 | description: "GFDL CM2.6 climate model one-percent CO2 increase monthly ocean boundary flux fields" 149 | metadata: 150 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 151 | tags: 152 | - ocean 153 | - model 154 | driver: zarr 155 | args: 156 | urlpath: gs://cmip6/GFDL_CM2_6/one_percent/ocean_boundary 157 | consolidated: True 158 | storage_options: 159 | requester_pays: True 160 | 161 | GFDL_CM2_6_one_percent_ocean_budgets: 162 | description: "GFDL CM2.6 climate model one-percent CO2 increase monthly ocean budgets fields" 163 | metadata: 164 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 165 | tags: 166 | - ocean 167 | - model 168 | driver: zarr 169 | args: 170 | urlpath: gs://cmip6/GFDL_CM2_6/one_percent/ocean_budgets 171 | consolidated: True 172 | storage_options: 173 | requester_pays: True 174 | 175 | GFDL_CM2_6_grid: 176 | description: "GFDL CM2.6 climate model ocean grid" 177 | metadata: 178 | url: 'https://www.gfdl.noaa.gov/cm2-6/' 179 | tags: 180 | - ocean 181 | - model 182 | driver: zarr 183 | args: 184 | urlpath: gs://cmip6/GFDL_CM2_6/grid 185 | consolidated: True 186 | storage_options: 187 | requester_pays: True 188 | -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | # 4 | # Pangeo Catalog build configuration file, created by 5 | # sphinx-quickstart on Tue Apr 2 16:50:05 2019. 6 | # 7 | # This file is execfile()d with the current directory set to its 8 | # containing dir. 9 | # 10 | # Note that not all possible configuration values are present in this 11 | # autogenerated file. 12 | # 13 | # All configuration values have a default; values that are commented out 14 | # serve to show the default. 15 | 16 | # If extensions (or modules to document with autodoc) are in another directory, 17 | # add these directories to sys.path here. If the directory is relative to the 18 | # documentation root, use os.path.abspath to make it absolute, like shown here. 19 | # 20 | # import os 21 | # import sys 22 | # sys.path.insert(0, os.path.abspath('.')) 23 | import sphinx_pangeo_theme 24 | 25 | # -- General configuration ------------------------------------------------ 26 | 27 | # If your documentation needs a minimal Sphinx version, state it here. 28 | # 29 | # needs_sphinx = '1.0' 30 | 31 | # Add any Sphinx extension module names here, as strings. They can be 32 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 33 | # ones. 34 | extensions = [] 35 | 36 | # Add any paths that contain templates here, relative to this directory. 37 | templates_path = ['_templates'] 38 | 39 | # The suffix(es) of source filenames. 40 | # You can specify multiple suffix as a list of string: 41 | # 42 | # source_suffix = ['.rst', '.md'] 43 | source_suffix = '.rst' 44 | 45 | # The master toctree document. 46 | master_doc = 'index' 47 | 48 | # General information about the project. 49 | project = 'Pangeo Catalog' 50 | copyright = '2019, Ryan Abernathey' 51 | author = 'Ryan Abernathey' 52 | 53 | # The version info for the project you're documenting, acts as replacement for 54 | # |version| and |release|, also used in various other places throughout the 55 | # built documents. 56 | # 57 | # The short X.Y version. 58 | #version = '0.1' 59 | # The full version, including alpha/beta/rc tags. 60 | #release = '0.1' 61 | 62 | # The language for content autogenerated by Sphinx. Refer to documentation 63 | # for a list of supported languages. 64 | # 65 | # This is also used if you do content translation via gettext catalogs. 66 | # Usually you set "language" from the command line for these cases. 67 | language = None 68 | 69 | # List of patterns, relative to source directory, that match files and 70 | # directories to ignore when looking for source files. 71 | # This patterns also effect to html_static_path and html_extra_path 72 | exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] 73 | 74 | # The name of the Pygments (syntax highlighting) style to use. 75 | pygments_style = 'sphinx' 76 | 77 | # If true, `todo` and `todoList` produce output, else they produce nothing. 78 | todo_include_todos = False 79 | 80 | 81 | # -- Options for HTML output ---------------------------------------------- 82 | 83 | # The theme to use for HTML and HTML Help pages. See the documentation for 84 | # a list of builtin themes. 85 | # 86 | html_theme = 'pangeo' 87 | 88 | # Theme options are theme-specific and customize the look and feel of a theme 89 | # further. For a list of options available for each theme, see the 90 | # documentation. 91 | # 92 | # html_theme_options = {} 93 | 94 | # Add any paths that contain custom static files (such as style sheets) here, 95 | # relative to this directory. They are copied after the builtin static files, 96 | # so a file named "default.css" will overwrite the builtin "default.css". 97 | html_static_path = ['_static'] 98 | 99 | # Custom sidebar templates, must be a dictionary that maps document names 100 | # to template names. 101 | # 102 | # This is required for the alabaster theme 103 | # refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars 104 | html_sidebars = { 105 | 'index': [], 106 | '**': [ 107 | 'localtoc.html', 108 | ] 109 | } 110 | 111 | 112 | # -- Options for HTMLHelp output ------------------------------------------ 113 | 114 | # Output file base name for HTML help builder. 115 | htmlhelp_basename = 'SphinxPangeoCatalog' 116 | 117 | 118 | # -- Options for LaTeX output --------------------------------------------- 119 | 120 | latex_elements = { 121 | # The paper size ('letterpaper' or 'a4paper'). 122 | # 123 | # 'papersize': 'letterpaper', 124 | 125 | # The font size ('10pt', '11pt' or '12pt'). 126 | # 127 | # 'pointsize': '10pt', 128 | 129 | # Additional stuff for the LaTeX preamble. 130 | # 131 | # 'preamble': '', 132 | 133 | # Latex figure (float) alignment 134 | # 135 | # 'figure_align': 'htbp', 136 | } 137 | 138 | # Grouping the document tree into LaTeX files. List of tuples 139 | # (source start file, target name, title, 140 | # author, documentclass [howto, manual, or own class]). 141 | latex_documents = [ 142 | (master_doc, 'SphinxPangeoCatalog.tex', 'Pangeo Catalog', 143 | 'Ryan Abernathey', 'manual'), 144 | ] 145 | 146 | 147 | # -- Options for manual page output --------------------------------------- 148 | 149 | # One entry per manual page. List of tuples 150 | # (source start file, name, description, authors, manual section). 151 | man_pages = [ 152 | (master_doc, 'sphinxpangeocatalog', 'Pangeo Catalog', 153 | [author], 1) 154 | ] 155 | 156 | 157 | # -- Options for Texinfo output ------------------------------------------- 158 | 159 | # Grouping the document tree into Texinfo files. List of tuples 160 | # (source start file, target name, title, author, 161 | # dir menu entry, description, category) 162 | texinfo_documents = [ 163 | (master_doc, 'SphinxPangeoCatalog', 'Sphinx Pangeo Catalog Documentation', 164 | author, 'SphinxPangeoCatalog', 'One line description of project.', 165 | 'Miscellaneous'), 166 | ] 167 | 168 | # http://ericholscher.com/blog/2016/jul/25/integrating-jinja-rst-sphinx/ 169 | def rstjinja(app, docname, source): 170 | """ 171 | Render our pages as a jinja template for fancy templating goodness. 172 | """ 173 | # Make sure we're outputting HTML 174 | if app.builder.format != 'html': 175 | return 176 | src = source[0] 177 | rendered = app.builder.templates.render_string( 178 | src, app.config.html_context 179 | ) 180 | source[0] = rendered 181 | 182 | # https://pypi.python.org/pypi/sphinx-bootstrap-theme/ 183 | def setup(app): 184 | # basic CSS 185 | app.add_stylesheet("https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css") 186 | app.add_stylesheet("catalog-custom.css") 187 | 188 | # papaparse 189 | app.add_javascript("https://unpkg.com/papaparse@5.1.0/papaparse.min.js") 190 | 191 | # ag-Grid 192 | app.add_javascript("https://unpkg.com/ag-grid-enterprise@21.2.1/dist/ag-grid-enterprise.min.js") 193 | app.add_stylesheet("https://unpkg.com/ag-grid-community/dist/styles/ag-theme-balham.css") 194 | app.add_stylesheet("https://unpkg.com/ag-grid-community/dist/styles/ag-grid.css") 195 | 196 | # jQuery / json-viewer 197 | app.add_javascript("jquery.json-viewer.js") 198 | app.add_stylesheet("jquery.json-viewer.css") 199 | 200 | app.connect("source-read", rstjinja) 201 | -------------------------------------------------------------------------------- /intake-catalogs/ocean/altimetry.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | source: 3 | - module: intake_xarray 4 | 5 | sources: 6 | 7 | al: 8 | args: 9 | consolidated: true 10 | storage_options: 11 | requester_pays: True 12 | urlpath: gs://pangeo-cnes/alti/al 13 | description: Altika Global Ocean Along track CMEMS Sea Surface Height L3 product 14 | driver: zarr 15 | metadata: 16 | tags: 17 | - altimetry 18 | - ocean 19 | - observations 20 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 21 | 22 | alg: 23 | args: 24 | consolidated: true 25 | storage_options: 26 | requester_pays: True 27 | urlpath: gs://pangeo-cnes/alti/alg 28 | description: Altika Drifting Phase Global Ocean Along track CMEMS Sea Surface 29 | Height L3 product 30 | driver: zarr 31 | metadata: 32 | tags: 33 | - altimetry 34 | - ocean 35 | - observations 36 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 37 | 38 | c2: 39 | args: 40 | consolidated: true 41 | storage_options: 42 | requester_pays: True 43 | urlpath: gs://pangeo-cnes/alti/c2 44 | description: Cryosat-2 Global Ocean Along track CMEMS Sea Surface Height L3 product 45 | driver: zarr 46 | metadata: 47 | tags: 48 | - altimetry 49 | - ocean 50 | - observations 51 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 52 | 53 | e1: 54 | args: 55 | consolidated: true 56 | storage_options: 57 | requester_pays: True 58 | urlpath: gs://pangeo-cnes/alti/e1 59 | description: ERS-1 Global Ocean Along track CMEMS Sea Surface Height L3 product 60 | driver: zarr 61 | metadata: 62 | tags: 63 | - altimetry 64 | - ocean 65 | - observations 66 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 67 | 68 | e1g: 69 | args: 70 | consolidated: true 71 | storage_options: 72 | requester_pays: True 73 | urlpath: gs://pangeo-cnes/alti/e1g 74 | description: ERS-1 Geodetic Phase Global Ocean Along track CMEMS Sea Surface Height 75 | L3 product 76 | driver: zarr 77 | metadata: 78 | tags: 79 | - altimetry 80 | - ocean 81 | - observations 82 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 83 | 84 | e2: 85 | args: 86 | consolidated: true 87 | storage_options: 88 | requester_pays: True 89 | urlpath: gs://pangeo-cnes/alti/e2 90 | description: ERS-2 Global Ocean Along track CMEMS Sea Surface Height L3 product 91 | driver: zarr 92 | metadata: 93 | tags: 94 | - altimetry 95 | - ocean 96 | - observations 97 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 98 | 99 | en: 100 | args: 101 | consolidated: true 102 | storage_options: 103 | requester_pays: True 104 | urlpath: gs://pangeo-cnes/alti/en 105 | description: ENVISAT Global Ocean Along track CMEMS Sea Surface Height L3 product 106 | driver: zarr 107 | metadata: 108 | tags: 109 | - altimetry 110 | - ocean 111 | - observations 112 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 113 | 114 | enn: 115 | args: 116 | consolidated: true 117 | storage_options: 118 | requester_pays: True 119 | urlpath: gs://pangeo-cnes/alti/enn 120 | description: ENVISAT Extension Phase Global Ocean Along track CMEMS Sea Surface 121 | Height L3 product 122 | driver: zarr 123 | metadata: 124 | tags: 125 | - altimetry 126 | - ocean 127 | - observations 128 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 129 | 130 | g2: 131 | args: 132 | consolidated: true 133 | storage_options: 134 | requester_pays: True 135 | urlpath: gs://pangeo-cnes/alti/g2 136 | description: Geosat Follow On Phase Global Ocean Along track CMEMS Sea Surface 137 | Height L3 product 138 | driver: zarr 139 | metadata: 140 | tags: 141 | - altimetry 142 | - ocean 143 | - observations 144 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 145 | 146 | h2: 147 | args: 148 | consolidated: true 149 | storage_options: 150 | requester_pays: True 151 | urlpath: gs://pangeo-cnes/alti/h2 152 | description: Haiyang-2A Global Ocean Along track CMEMS Sea Surface Height L3 product 153 | driver: zarr 154 | metadata: 155 | tags: 156 | - altimetry 157 | - ocean 158 | - observations 159 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 160 | 161 | j1: 162 | args: 163 | consolidated: true 164 | storage_options: 165 | requester_pays: True 166 | urlpath: gs://pangeo-cnes/alti/j1 167 | description: Jason-1 Global Ocean Along track CMEMS Sea Surface Height L3 product 168 | driver: zarr 169 | metadata: 170 | tags: 171 | - altimetry 172 | - ocean 173 | - observations 174 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 175 | 176 | j1g: 177 | args: 178 | consolidated: true 179 | storage_options: 180 | requester_pays: True 181 | urlpath: gs://pangeo-cnes/alti/j1g 182 | description: Jason-1 Geodetic Phase Global Ocean Along track CMEMS Sea Surface 183 | Height L3 product 184 | driver: zarr 185 | metadata: 186 | tags: 187 | - altimetry 188 | - ocean 189 | - observations 190 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 191 | 192 | j1n: 193 | args: 194 | consolidated: true 195 | storage_options: 196 | requester_pays: True 197 | urlpath: gs://pangeo-cnes/alti/j1n 198 | description: Jason-1 Interleaved Global Ocean Along track CMEMS Sea Surface Height 199 | L3 product 200 | driver: zarr 201 | metadata: 202 | tags: 203 | - altimetry 204 | - ocean 205 | - observations 206 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 207 | 208 | j2: 209 | args: 210 | consolidated: true 211 | storage_options: 212 | requester_pays: True 213 | urlpath: gs://pangeo-cnes/alti/j2 214 | description: OSTSM/Jason-2 Global Ocean Along track CMEMS Sea Surface Height L3 215 | product 216 | driver: zarr 217 | metadata: 218 | tags: 219 | - altimetry 220 | - ocean 221 | - observations 222 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 223 | 224 | j2g: 225 | args: 226 | consolidated: true 227 | storage_options: 228 | requester_pays: True 229 | urlpath: gs://pangeo-cnes/alti/j2g 230 | description: OSTSM/Jason-2 Geodetic Phase Global Ocean Along track CMEMS Sea Surface 231 | Height L3 product 232 | driver: zarr 233 | metadata: 234 | tags: 235 | - altimetry 236 | - ocean 237 | - observations 238 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 239 | 240 | j2n: 241 | args: 242 | consolidated: true 243 | storage_options: 244 | requester_pays: True 245 | urlpath: gs://pangeo-cnes/alti/j2n 246 | description: OSTSM/Jason-2 Interleaved Global Ocean Along track CMEMS Sea Surface 247 | Height L3 product 248 | driver: zarr 249 | metadata: 250 | tags: 251 | - altimetry 252 | - ocean 253 | - observations 254 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 255 | 256 | j3: 257 | args: 258 | consolidated: true 259 | storage_options: 260 | requester_pays: True 261 | urlpath: gs://pangeo-cnes/alti/j3 262 | description: Jason-3 Global Ocean Along track CMEMS Sea Surface Height L3 product 263 | driver: zarr 264 | metadata: 265 | tags: 266 | - altimetry 267 | - ocean 268 | - observations 269 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 270 | 271 | s3a: 272 | args: 273 | consolidated: true 274 | storage_options: 275 | requester_pays: True 276 | urlpath: gs://pangeo-cnes/alti/s3a 277 | description: Sentinel-3A Global Ocean Along track CMEMS Sea Surface Height L3 278 | product 279 | driver: zarr 280 | metadata: 281 | tags: 282 | - altimetry 283 | - ocean 284 | - observations 285 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 286 | 287 | s3b: 288 | args: 289 | consolidated: true 290 | storage_options: 291 | requester_pays: True 292 | urlpath: gs://pangeo-cnes/alti/s3b 293 | description: Sentinel-3B Global Ocean Along track CMEMS Sea Surface Height L3 294 | product 295 | driver: zarr 296 | metadata: 297 | tags: 298 | - altimetry 299 | - ocean 300 | - observations 301 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 302 | 303 | tp: 304 | args: 305 | consolidated: true 306 | storage_options: 307 | requester_pays: True 308 | urlpath: gs://pangeo-cnes/alti/tp 309 | description: Topex/Poseidon Global Ocean Along track CMEMS Sea Surface Height 310 | L3 product 311 | driver: zarr 312 | metadata: 313 | tags: 314 | - altimetry 315 | - ocean 316 | - observations 317 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 318 | 319 | tpn: 320 | args: 321 | consolidated: true 322 | storage_options: 323 | requester_pays: True 324 | urlpath: gs://pangeo-cnes/alti/tpn 325 | description: Topex/Poseidon Interleaved Global Ocean Along track CMEMS Sea Surface 326 | Height L3 product 327 | driver: zarr 328 | metadata: 329 | tags: 330 | - altimetry 331 | - ocean 332 | - observations 333 | url: http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEALEVEL_GLO_PHY_L3_REP_OBSERVATIONS_008_062 334 | -------------------------------------------------------------------------------- /pangeo-stac-schematic.svg: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------