{ "cells": [ { "cell_type": "markdown", "id": "56cac4e2-73b8-4e82-b5a5-3d59879be2f9", "metadata": {}, "source": [ "# Use a custom parser\n", "\n", "While many of the parsers included within this libary may be useful, we do not have parsers for **every** dataset out there. If you are interested in adding your own parser (and hopefully contributing that parser to the main repo 😊 ), check out this walkthrough of how to build one!" ] }, { "cell_type": "markdown", "id": "1f1af82a-a475-478b-a6e1-d5fccb98623a", "metadata": {}, "source": [ "## What is a Parser?\n", "Basically, a parser collects information from two main sources:\n", "* The file string\n", "* The dataset itself\n", "\n", "This means there are two main steps:\n", "* Parsing out the file string, separating based on some symbol\n", "* Opening the file, and extracting variables and their attributes, or even global attributes\n", "\n", "The result from a \"parser\" is a dictionary of fields to add to the catalog, stored in a `pandas.DataFrame`\n", "\n", "It would probably be **more helpful** to walk through a concrete example of this..." ] }, { "cell_type": "markdown", "id": "e02d6ea1-faf0-4ce6-9b6b-31e4bbc079b5", "metadata": { "tags": [] }, "source": [ "## Example of Building a Parser\n", "Let's say we have a list of files which we wanted to parse! In this example, we are using a set of observational data on NCAR HPC resources. A full blog post detailing this dataset and comparison is [included here](https://ncar.github.io/esds/posts/2021/intake-obs-cesm2le-comparison/)" ] }, { "cell_type": "markdown", "id": "8a7cf547-d32e-4700-b54e-43898c6b13d7", "metadata": {}, "source": [ "### Imports" ] }, { "cell_type": "code", "execution_count": 16, "id": "5ee1b377-04f5-4afb-98c8-4c81bf702aec", "metadata": {}, "outputs": [], "source": [ "import glob\n", "import pathlib\n", "import traceback\n", "from datetime import datetime\n", "\n", "import xarray as xr\n", "\n", "from ecgtools import Builder\n", "from ecgtools.builder import INVALID_ASSET, TRACEBACK" ] }, { "cell_type": "code", "execution_count": 3, "id": "1942a0c6-d031-4f21-93c4-e01cfb805d7e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['/glade/p/cesm/amwg/amwg_diagnostics/obs_data/AIRS_01_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/ARM_annual_cycle_twp_c2_cmbe_sound_p_f.cdf',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/CERES-EBAF_01_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/CERES2_04_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/CERES_07_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/CLOUDSATCOSP_07_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/CLOUDSAT_10_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/ECMWF_09_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/EP.ERAI_DJF_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/ERAI_04_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/ERBE_07_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/ERS_12_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/GPCP_JJA_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/HadISST_CL_03_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/HadISST_PD_02_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/HadISST_PI_05_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/ISCCPCOSP_07_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/ISCCPFD_07_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/ISCCP_12_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/JRA25_SON_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/LEGATES_04_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/MERRAW_19x2_09_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/MERRA_12_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/MISRCOSP_JJA_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/MODIS_ANN_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/NVAP_03_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/PRECL_07_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/SSMI_09_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/SSMI_SEAICE_DJF_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/TRMM_MAM_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/WARREN_DJF_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/WILLMOTT_04_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/XIEARKIN_09_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/mlsg_10_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/mlso_ANN_climo.nc',\n", " '/glade/p/cesm/amwg/amwg_diagnostics/obs_data/mlsw_MAM_climo.nc']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "files = sorted(glob.glob('/glade/p/cesm/amwg/amwg_diagnostics/obs_data/*'))\n", "files[::20]" ] }, { "cell_type": "markdown", "id": "02e6e231-712f-4306-a23f-8ccd6bafc735", "metadata": {}, "source": [ "Observational datasetsets in this directory follow the convention `source_(month/season/annual)_climo.nc.`\n", "\n", "Let’s open up one of those datasets" ] }, { "cell_type": "code", "execution_count": 5, "id": "0b32e4fe-026e-4301-9907-4b0f48f4e536", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset>\n",
"Dimensions: (lat: 180, lon: 360, time: 1)\n",
"Coordinates:\n",
" * lon (lon) float32 0.5 1.5 2.5 3.5 4.5 ... 355.5 356.5 357.5 358.5 359.5\n",
" * lat (lat) float32 -89.5 -88.5 -87.5 -86.5 -85.5 ... 86.5 87.5 88.5 89.5\n",
" * time (time) float32 1.0\n",
"Data variables:\n",
" SOLIN (time, lat, lon) float32 495.0 495.0 495.0 495.0 ... 0.0 0.0 0.0\n",
" FLUT (time, lat, lon) float32 187.4 187.4 187.4 ... 170.7 170.7 170.7\n",
" FLUTC (time, lat, lon) float32 188.8 188.8 188.8 ... 178.9 178.9 178.9\n",
" FSNTOA (time, lat, lon) float32 147.8 147.8 147.8 ... -0.049 -0.049 -0.049\n",
" FSNTOAC (time, lat, lon) float32 150.9 150.9 150.9 ... -0.006 -0.006 -0.006\n",
" SWCF (time, lat, lon) float32 -3.149 -3.149 -3.149 ... -0.043 -0.043\n",
" LWCF (time, lat, lon) float32 1.391 1.391 1.391 ... 8.272 8.272 8.272\n",
" RESTOA (time, lat, lon) float32 -39.6 -39.6 -39.6 ... -170.7 -170.7 -170.7\n",
" ALBEDO (time, lat, lon) float32 0.7015 0.7015 0.7015 ... nan nan nan\n",
" ALBEDOC (time, lat, lon) float32 0.6951 0.6951 0.6951 ... nan nan nan\n",
" gw (lat) float64 0.0001523 0.0004569 0.0007613 ... 0.0004569 0.0001523\n",
"Attributes:\n",
" version: This is version 2.8: March 7, 2014\n",
" institution: NASA Langley Research Center\n",
" comment: Data is from East to West and South to North. Climat...\n",
" title: CERES EBAF (Energy Balanced and Filled) Fluxes. Mont...\n",
" AMWG_author: Cecile Hannay\n",
" AMWG_creation_date: Thu Jul 24 16:08:10 MDT 2014 for AMWG package\n",
" history: Thu Jul 24 16:08:10 2014: ncks -A -v gw CERES2_01_cl...\n",
" NCO: 20140724array([ 0.5, 1.5, 2.5, ..., 357.5, 358.5, 359.5], dtype=float32)
array([-89.5, -88.5, -87.5, -86.5, -85.5, -84.5, -83.5, -82.5, -81.5, -80.5,\n",
" -79.5, -78.5, -77.5, -76.5, -75.5, -74.5, -73.5, -72.5, -71.5, -70.5,\n",
" -69.5, -68.5, -67.5, -66.5, -65.5, -64.5, -63.5, -62.5, -61.5, -60.5,\n",
" -59.5, -58.5, -57.5, -56.5, -55.5, -54.5, -53.5, -52.5, -51.5, -50.5,\n",
" -49.5, -48.5, -47.5, -46.5, -45.5, -44.5, -43.5, -42.5, -41.5, -40.5,\n",
" -39.5, -38.5, -37.5, -36.5, -35.5, -34.5, -33.5, -32.5, -31.5, -30.5,\n",
" -29.5, -28.5, -27.5, -26.5, -25.5, -24.5, -23.5, -22.5, -21.5, -20.5,\n",
" -19.5, -18.5, -17.5, -16.5, -15.5, -14.5, -13.5, -12.5, -11.5, -10.5,\n",
" -9.5, -8.5, -7.5, -6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5,\n",
" 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5,\n",
" 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5,\n",
" 20.5, 21.5, 22.5, 23.5, 24.5, 25.5, 26.5, 27.5, 28.5, 29.5,\n",
" 30.5, 31.5, 32.5, 33.5, 34.5, 35.5, 36.5, 37.5, 38.5, 39.5,\n",
" 40.5, 41.5, 42.5, 43.5, 44.5, 45.5, 46.5, 47.5, 48.5, 49.5,\n",
" 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, 56.5, 57.5, 58.5, 59.5,\n",
" 60.5, 61.5, 62.5, 63.5, 64.5, 65.5, 66.5, 67.5, 68.5, 69.5,\n",
" 70.5, 71.5, 72.5, 73.5, 74.5, 75.5, 76.5, 77.5, 78.5, 79.5,\n",
" 80.5, 81.5, 82.5, 83.5, 84.5, 85.5, 86.5, 87.5, 88.5, 89.5],\n",
" dtype=float32)array([1.], dtype=float32)
array([[[495.0077 , 495.0077 , ..., 495.0077 , 495.0077 ],\n",
" [494.86923, 494.86923, ..., 494.86923, 494.86923],\n",
" ...,\n",
" [ 0. , 0. , ..., 0. , 0. ],\n",
" [ 0. , 0. , ..., 0. , 0. ]]], dtype=float32)array([[[187.38461, 187.38461, ..., 187.38461, 187.38461],\n",
" [190.79231, 190.79231, ..., 190.79231, 190.79231],\n",
" ...,\n",
" [170.49231, 170.49231, ..., 170.49231, 170.49231],\n",
" [170.66924, 170.66924, ..., 170.66924, 170.66924]]], dtype=float32)array([[[188.78462, 188.78462, ..., 188.78462, 188.78462],\n",
" [192.3923 , 192.3923 , ..., 192.3923 , 192.3923 ],\n",
" ...,\n",
" [179.29231, 179.29231, ..., 179.29231, 179.29231],\n",
" [178.93077, 178.93077, ..., 178.93077, 178.93077]]], dtype=float32)array([[[ 1.477692e+02, 1.477692e+02, ..., 1.477692e+02, 1.477692e+02],\n",
" [ 1.536615e+02, 1.536615e+02, ..., 1.536615e+02, 1.536615e+02],\n",
" ...,\n",
" [-4.900000e-02, -4.900000e-02, ..., -4.900000e-02, -4.900000e-02],\n",
" [-4.900000e-02, -4.900000e-02, ..., -4.900000e-02, -4.900000e-02]]],\n",
" dtype=float32)array([[[ 1.509154e+02, 1.509154e+02, ..., 1.509154e+02, 1.509154e+02],\n",
" [ 1.565077e+02, 1.565077e+02, ..., 1.565077e+02, 1.565077e+02],\n",
" ...,\n",
" [-6.000000e-03, -6.000000e-03, ..., -6.000000e-03, -6.000000e-03],\n",
" [-6.000000e-03, -6.000000e-03, ..., -6.000000e-03, -6.000000e-03]]],\n",
" dtype=float32)array([[[-3.149 , -3.149 , ..., -3.149 , -3.149 ],\n",
" [-2.844985, -2.844985, ..., -2.844985, -2.844985],\n",
" ...,\n",
" [-0.043 , -0.043 , ..., -0.043 , -0.043 ],\n",
" [-0.043 , -0.043 , ..., -0.043 , -0.043 ]]], dtype=float32)array([[[1.391205, 1.391205, ..., 1.391205, 1.391205],\n",
" [1.616079, 1.616079, ..., 1.616079, 1.616079],\n",
" ...,\n",
" [8.813915, 8.813915, ..., 8.813915, 8.813915],\n",
" [8.271692, 8.271692, ..., 8.271692, 8.271692]]], dtype=float32)array([[[ -39.603077, -39.603077, ..., -39.603077, -39.603077],\n",
" [ -37.104614, -37.104614, ..., -37.104614, -37.104614],\n",
" ...,\n",
" [-170.55385 , -170.55385 , ..., -170.55385 , -170.55385 ],\n",
" [-170.71538 , -170.71538 , ..., -170.71538 , -170.71538 ]]],\n",
" dtype=float32)array([[[0.701483, 0.701483, ..., 0.701483, 0.701483],\n",
" [0.689493, 0.689493, ..., 0.689493, 0.689493],\n",
" ...,\n",
" [ nan, nan, ..., nan, nan],\n",
" [ nan, nan, ..., nan, nan]]], dtype=float32)array([[[0.695126, 0.695126, ..., 0.695126, 0.695126],\n",
" [0.683734, 0.683734, ..., 0.683734, 0.683734],\n",
" ...,\n",
" [ nan, nan, ..., nan, nan],\n",
" [ nan, nan, ..., nan, nan]]], dtype=float32)array([0.000152, 0.000457, 0.000761, 0.001065, 0.001369, 0.001673, 0.001976,\n",
" 0.002278, 0.00258 , 0.002881, 0.003181, 0.00348 , 0.003778, 0.004074,\n",
" 0.00437 , 0.004664, 0.004957, 0.005248, 0.005538, 0.005826, 0.006112,\n",
" 0.006397, 0.006679, 0.006959, 0.007238, 0.007514, 0.007788, 0.008059,\n",
" 0.008328, 0.008594, 0.008858, 0.009119, 0.009378, 0.009633, 0.009886,\n",
" 0.010135, 0.010381, 0.010625, 0.010865, 0.011102, 0.011335, 0.011565,\n",
" 0.011791, 0.012014, 0.012233, 0.012448, 0.01266 , 0.012868, 0.013072,\n",
" 0.013271, 0.013467, 0.013659, 0.013846, 0.01403 , 0.014209, 0.014384,\n",
" 0.014554, 0.01472 , 0.014881, 0.015038, 0.01519 , 0.015338, 0.015481,\n",
" 0.015619, 0.015753, 0.015882, 0.016006, 0.016125, 0.016239, 0.016348,\n",
" 0.016452, 0.016551, 0.016645, 0.016734, 0.016818, 0.016897, 0.016971,\n",
" 0.017039, 0.017103, 0.017161, 0.017214, 0.017261, 0.017304, 0.017341,\n",
" 0.017373, 0.017399, 0.017421, 0.017436, 0.017447, 0.017452, 0.017452,\n",
" 0.017447, 0.017436, 0.017421, 0.017399, 0.017373, 0.017341, 0.017304,\n",
" 0.017261, 0.017214, 0.017161, 0.017103, 0.017039, 0.016971, 0.016897,\n",
" 0.016818, 0.016734, 0.016645, 0.016551, 0.016452, 0.016348, 0.016239,\n",
" 0.016125, 0.016006, 0.015882, 0.015753, 0.015619, 0.015481, 0.015338,\n",
" 0.01519 , 0.015038, 0.014881, 0.01472 , 0.014554, 0.014384, 0.014209,\n",
" 0.01403 , 0.013846, 0.013659, 0.013467, 0.013271, 0.013072, 0.012868,\n",
" 0.01266 , 0.012448, 0.012233, 0.012014, 0.011791, 0.011565, 0.011335,\n",
" 0.011102, 0.010865, 0.010625, 0.010381, 0.010135, 0.009886, 0.009633,\n",
" 0.009378, 0.009119, 0.008858, 0.008594, 0.008328, 0.008059, 0.007788,\n",
" 0.007514, 0.007238, 0.006959, 0.006679, 0.006397, 0.006112, 0.005826,\n",
" 0.005538, 0.005248, 0.004957, 0.004664, 0.00437 , 0.004074, 0.003778,\n",
" 0.00348 , 0.003181, 0.002881, 0.00258 , 0.002278, 0.001976, 0.001673,\n",
" 0.001369, 0.001065, 0.000761, 0.000457, 0.000152])<xarray.Dataset>\n",
"Dimensions: (lat: 94, lev: 13, lon: 192, month: 1, time: 1)\n",
"Coordinates:\n",
" * lat (lat) float64 -88.54 -86.65 -84.75 -82.85 ... 84.75 86.65 88.54\n",
" * time (time) int32 1\n",
" * lev (lev) float32 1e+03 925.0 850.0 700.0 ... 200.0 150.0 100.0 70.0\n",
" * lon (lon) float32 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" * month (month) int32 0\n",
"Data variables:\n",
" gw (lat) float64 0.0008309 0.001933 0.003035 ... 0.001933 0.0008309\n",
" T (time, lev, lat, lon) float32 ...\n",
" RELHUM (time, lev, lat, lon) float32 ...\n",
" O3 (time, lev, lat, lon) float32 ...\n",
" SHUM (time, lev, lat, lon) float32 ...\n",
" PREH2O (month, lat, lon) float32 nan nan nan nan nan ... nan nan 1.961 nan\n",
"Attributes:\n",
" creation_date: Thu Mar 13 09:28:11 MDT 2008\n",
" interpolation: bilinear\n",
" outliers: \\nAll [RELHUM>100] and [T>323] were set to _Fi...\n",
" html: \\nhttp://www.cgd.ucar.edu/cms/andrew/papers/ge...\n",
" reference: \\nA. Gettelman, W.D. Collins, E.J. Fetzer, A. ...\n",
" source: Andrew Gettleman\n",
" file: airsmm48_all_4d_rt_v5_c3.nc\n",
" title: AIRS: 9/2002 - 8/2006\n",
" history: Tue Mar 18 14:35:30 2008: ncrename -O -v gwt,g...\n",
" nco_openmp_thread_number: 1array([-88.541946, -86.653168, -84.753227, -82.850769, -80.947357, -79.04348 ,\n",
" -77.139351, -75.235054, -73.330658, -71.426186, -69.52166 , -67.617104,\n",
" -65.712509, -63.807896, -61.903259, -59.998611, -58.093948, -56.189278,\n",
" -54.284599, -52.379913, -50.47522 , -48.570518, -46.665817, -44.761108,\n",
" -42.8564 , -40.951687, -39.04697 , -37.14225 , -35.23753 , -33.332806,\n",
" -31.428082, -29.523355, -27.618628, -25.7139 , -23.80917 , -21.90444 ,\n",
" -19.999708, -18.094976, -16.190243, -14.28551 , -12.380776, -10.476042,\n",
" -8.571308, -6.666573, -4.761838, -2.857103, -0.952368, 0.952368,\n",
" 2.857103, 4.761838, 6.666573, 8.571308, 10.476042, 12.380776,\n",
" 14.28551 , 16.190243, 18.094976, 19.999708, 21.90444 , 23.80917 ,\n",
" 25.7139 , 27.618628, 29.523355, 31.428082, 33.332806, 35.23753 ,\n",
" 37.14225 , 39.04697 , 40.951687, 42.8564 , 44.761108, 46.665817,\n",
" 48.570518, 50.47522 , 52.379913, 54.284599, 56.189278, 58.093948,\n",
" 59.998611, 61.903259, 63.807896, 65.712509, 67.617104, 69.52166 ,\n",
" 71.426186, 73.330658, 75.235054, 77.139351, 79.04348 , 80.947357,\n",
" 82.850769, 84.753227, 86.653168, 88.541946])array([1], dtype=int32)
array([1000., 925., 850., 700., 600., 500., 400., 300., 250., 200.,\n",
" 150., 100., 70.], dtype=float32)array([ 0. , 1.875, 3.75 , 5.625, 7.5 , 9.375, 11.25 , 13.125,\n",
" 15. , 16.875, 18.75 , 20.625, 22.5 , 24.375, 26.25 , 28.125,\n",
" 30. , 31.875, 33.75 , 35.625, 37.5 , 39.375, 41.25 , 43.125,\n",
" 45. , 46.875, 48.75 , 50.625, 52.5 , 54.375, 56.25 , 58.125,\n",
" 60. , 61.875, 63.75 , 65.625, 67.5 , 69.375, 71.25 , 73.125,\n",
" 75. , 76.875, 78.75 , 80.625, 82.5 , 84.375, 86.25 , 88.125,\n",
" 90. , 91.875, 93.75 , 95.625, 97.5 , 99.375, 101.25 , 103.125,\n",
" 105. , 106.875, 108.75 , 110.625, 112.5 , 114.375, 116.25 , 118.125,\n",
" 120. , 121.875, 123.75 , 125.625, 127.5 , 129.375, 131.25 , 133.125,\n",
" 135. , 136.875, 138.75 , 140.625, 142.5 , 144.375, 146.25 , 148.125,\n",
" 150. , 151.875, 153.75 , 155.625, 157.5 , 159.375, 161.25 , 163.125,\n",
" 165. , 166.875, 168.75 , 170.625, 172.5 , 174.375, 176.25 , 178.125,\n",
" 180. , 181.875, 183.75 , 185.625, 187.5 , 189.375, 191.25 , 193.125,\n",
" 195. , 196.875, 198.75 , 200.625, 202.5 , 204.375, 206.25 , 208.125,\n",
" 210. , 211.875, 213.75 , 215.625, 217.5 , 219.375, 221.25 , 223.125,\n",
" 225. , 226.875, 228.75 , 230.625, 232.5 , 234.375, 236.25 , 238.125,\n",
" 240. , 241.875, 243.75 , 245.625, 247.5 , 249.375, 251.25 , 253.125,\n",
" 255. , 256.875, 258.75 , 260.625, 262.5 , 264.375, 266.25 , 268.125,\n",
" 270. , 271.875, 273.75 , 275.625, 277.5 , 279.375, 281.25 , 283.125,\n",
" 285. , 286.875, 288.75 , 290.625, 292.5 , 294.375, 296.25 , 298.125,\n",
" 300. , 301.875, 303.75 , 305.625, 307.5 , 309.375, 311.25 , 313.125,\n",
" 315. , 316.875, 318.75 , 320.625, 322.5 , 324.375, 326.25 , 328.125,\n",
" 330. , 331.875, 333.75 , 335.625, 337.5 , 339.375, 341.25 , 343.125,\n",
" 345. , 346.875, 348.75 , 350.625, 352.5 , 354.375, 356.25 , 358.125],\n",
" dtype=float32)array([0], dtype=int32)
array([0.000831, 0.001933, 0.003035, 0.004134, 0.005228, 0.006316, 0.007397,\n",
" 0.008471, 0.009534, 0.010588, 0.011629, 0.012658, 0.013673, 0.014672,\n",
" 0.015656, 0.016622, 0.01757 , 0.018498, 0.019406, 0.020292, 0.021156,\n",
" 0.021997, 0.022813, 0.023604, 0.02437 , 0.025108, 0.025818, 0.0265 ,\n",
" 0.027152, 0.027775, 0.028367, 0.028927, 0.029456, 0.029952, 0.030415,\n",
" 0.030844, 0.031239, 0.0316 , 0.031925, 0.032216, 0.032471, 0.03269 ,\n",
" 0.032873, 0.033019, 0.033129, 0.033203, 0.033239, 0.033239, 0.033203,\n",
" 0.033129, 0.033019, 0.032873, 0.03269 , 0.032471, 0.032216, 0.031925,\n",
" 0.0316 , 0.031239, 0.030844, 0.030415, 0.029952, 0.029456, 0.028927,\n",
" 0.028367, 0.027775, 0.027152, 0.0265 , 0.025818, 0.025108, 0.02437 ,\n",
" 0.023604, 0.022813, 0.021997, 0.021156, 0.020292, 0.019406, 0.018498,\n",
" 0.01757 , 0.016622, 0.015656, 0.014672, 0.013673, 0.012658, 0.011629,\n",
" 0.010588, 0.009534, 0.008471, 0.007397, 0.006316, 0.005228, 0.004134,\n",
" 0.003035, 0.001933, 0.000831])[234624 values with dtype=float32]
[234624 values with dtype=float32]
[234624 values with dtype=float32]
[234624 values with dtype=float32]
array([[[ nan, nan, ..., nan, nan],\n",
" [0.7132 , 0.714477, ..., 0.737737, 0.734408],\n",
" ...,\n",
" [2.198801, 2.261673, ..., 2.205242, 2.144126],\n",
" [ nan, nan, ..., 1.960759, nan]]], dtype=float32)<xarray.DataArray 'T' (time: 1, lev: 13, lat: 94, lon: 192)>\n",
"[234624 values with dtype=float32]\n",
"Coordinates:\n",
" * lat (lat) float64 -88.54 -86.65 -84.75 -82.85 ... 84.75 86.65 88.54\n",
" * time (time) int32 1\n",
" * lev (lev) float32 1e+03 925.0 850.0 700.0 ... 200.0 150.0 100.0 70.0\n",
" * lon (lon) float32 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
"Attributes:\n",
" units: K\n",
" long_name: Temperature\n",
" climatology: AIRS monthly climatology 9/2002-8/2006[234624 values with dtype=float32]
array([-88.541946, -86.653168, -84.753227, -82.850769, -80.947357, -79.04348 ,\n",
" -77.139351, -75.235054, -73.330658, -71.426186, -69.52166 , -67.617104,\n",
" -65.712509, -63.807896, -61.903259, -59.998611, -58.093948, -56.189278,\n",
" -54.284599, -52.379913, -50.47522 , -48.570518, -46.665817, -44.761108,\n",
" -42.8564 , -40.951687, -39.04697 , -37.14225 , -35.23753 , -33.332806,\n",
" -31.428082, -29.523355, -27.618628, -25.7139 , -23.80917 , -21.90444 ,\n",
" -19.999708, -18.094976, -16.190243, -14.28551 , -12.380776, -10.476042,\n",
" -8.571308, -6.666573, -4.761838, -2.857103, -0.952368, 0.952368,\n",
" 2.857103, 4.761838, 6.666573, 8.571308, 10.476042, 12.380776,\n",
" 14.28551 , 16.190243, 18.094976, 19.999708, 21.90444 , 23.80917 ,\n",
" 25.7139 , 27.618628, 29.523355, 31.428082, 33.332806, 35.23753 ,\n",
" 37.14225 , 39.04697 , 40.951687, 42.8564 , 44.761108, 46.665817,\n",
" 48.570518, 50.47522 , 52.379913, 54.284599, 56.189278, 58.093948,\n",
" 59.998611, 61.903259, 63.807896, 65.712509, 67.617104, 69.52166 ,\n",
" 71.426186, 73.330658, 75.235054, 77.139351, 79.04348 , 80.947357,\n",
" 82.850769, 84.753227, 86.653168, 88.541946])array([1], dtype=int32)
array([1000., 925., 850., 700., 600., 500., 400., 300., 250., 200.,\n",
" 150., 100., 70.], dtype=float32)array([ 0. , 1.875, 3.75 , 5.625, 7.5 , 9.375, 11.25 , 13.125,\n",
" 15. , 16.875, 18.75 , 20.625, 22.5 , 24.375, 26.25 , 28.125,\n",
" 30. , 31.875, 33.75 , 35.625, 37.5 , 39.375, 41.25 , 43.125,\n",
" 45. , 46.875, 48.75 , 50.625, 52.5 , 54.375, 56.25 , 58.125,\n",
" 60. , 61.875, 63.75 , 65.625, 67.5 , 69.375, 71.25 , 73.125,\n",
" 75. , 76.875, 78.75 , 80.625, 82.5 , 84.375, 86.25 , 88.125,\n",
" 90. , 91.875, 93.75 , 95.625, 97.5 , 99.375, 101.25 , 103.125,\n",
" 105. , 106.875, 108.75 , 110.625, 112.5 , 114.375, 116.25 , 118.125,\n",
" 120. , 121.875, 123.75 , 125.625, 127.5 , 129.375, 131.25 , 133.125,\n",
" 135. , 136.875, 138.75 , 140.625, 142.5 , 144.375, 146.25 , 148.125,\n",
" 150. , 151.875, 153.75 , 155.625, 157.5 , 159.375, 161.25 , 163.125,\n",
" 165. , 166.875, 168.75 , 170.625, 172.5 , 174.375, 176.25 , 178.125,\n",
" 180. , 181.875, 183.75 , 185.625, 187.5 , 189.375, 191.25 , 193.125,\n",
" 195. , 196.875, 198.75 , 200.625, 202.5 , 204.375, 206.25 , 208.125,\n",
" 210. , 211.875, 213.75 , 215.625, 217.5 , 219.375, 221.25 , 223.125,\n",
" 225. , 226.875, 228.75 , 230.625, 232.5 , 234.375, 236.25 , 238.125,\n",
" 240. , 241.875, 243.75 , 245.625, 247.5 , 249.375, 251.25 , 253.125,\n",
" 255. , 256.875, 258.75 , 260.625, 262.5 , 264.375, 266.25 , 268.125,\n",
" 270. , 271.875, 273.75 , 275.625, 277.5 , 279.375, 281.25 , 283.125,\n",
" 285. , 286.875, 288.75 , 290.625, 292.5 , 294.375, 296.25 , 298.125,\n",
" 300. , 301.875, 303.75 , 305.625, 307.5 , 309.375, 311.25 , 313.125,\n",
" 315. , 316.875, 318.75 , 320.625, 322.5 , 324.375, 326.25 , 328.125,\n",
" 330. , 331.875, 333.75 , 335.625, 337.5 , 339.375, 341.25 , 343.125,\n",
" 345. , 346.875, 348.75 , 350.625, 352.5 , 354.375, 356.25 , 358.125],\n",
" dtype=float32)| \n", " | source | \n", "temporal | \n", "time_period | \n", "variable | \n", "path | \n", "
|---|---|---|---|---|---|
| 0 | \n", "ABLE-2A | \n", "c2h6 | \n", "seasonal | \n", "[dnum, dmin, dmax, dmed, dmn, dstd, d5pt, d25p... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| 1 | \n", "ABLE-2A | \n", "c2h6 | \n", "seasonal | \n", "[dnum, dmin, dmax, dmed, dmn, dstd, d5pt, d25p... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| 2 | \n", "ABLE-2A | \n", "c3h8 | \n", "seasonal | \n", "[dnum, dmin, dmax, dmed, dmn, dstd, d5pt, d25p... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| 3 | \n", "ABLE-2A | \n", "c3h8 | \n", "seasonal | \n", "[dnum, dmin, dmax, dmed, dmn, dstd, d5pt, d25p... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| 6 | \n", "ABLE-2A | \n", "noday | \n", "seasonal | \n", "[dnum, dmin, dmax, dmed, dmn, dstd, d5pt, d25p... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 3091 | \n", "ozonesondes | \n", "polar1995 | \n", "seasonal | \n", "[levels, o3_mean, o3_med, o3_num, o3_std, o3_w... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| 3092 | \n", "ozonesondes | \n", "tropics11995 | \n", "seasonal | \n", "[levels, o3_mean, o3_med, o3_num, o3_std, o3_w... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| 3093 | \n", "ozonesondes | \n", "tropics21995 | \n", "seasonal | \n", "[levels, o3_mean, o3_med, o3_num, o3_std, o3_w... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| 3094 | \n", "ozonesondes | \n", "tropics31995 | \n", "seasonal | \n", "[levels, o3_mean, o3_med, o3_num, o3_std, o3_w... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
| 3095 | \n", "ozonesondes | \n", "europe1995 | \n", "seasonal | \n", "[levels, o3_mean, o3_med, o3_num, o3_std, o3_w... | \n", "/glade/p/cesm/amwg/amwg_diagnostics/obs_data/c... | \n", "
2586 rows × 5 columns
\n", "