{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## API Time Selectors - Using Start, End, and Reftime with Forecast Data\n", "\n", "Forecast datasets typically have two time dimensions, `reftime` and `time`. The `reftime` of a forecast data product represents the run time of the forecast model, while `time` represents the actual time (typically in the future) that the values are valid. For each `reftime`, values are unique for each unique `time` value.\n", "\n", "Typically the most recent forecast is most desirable to users, and the Planet OS API intentionally returns these values by default. However, there may be cases when one wants to investigate a historical forecast, or how values at a specific time differ between successive forecasts.\n", "\n", "The [RTOFS data product](http://data.planetos.com/datasets/noaa_rtofs_surface_1h_diag) is a daily updated forecast that provides a 3-day, hourly forecast. This notebook highlights ways to use the start, end, reftime_start, and reftime_end API parameters and explain the expected response." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import pandas as pd\n", "import simplejson as json\n", "from urllib.parse import urlencode\n", "from urllib.request import urlopen, Request\n", "import datetime\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Planet OS API key is required to run this notebook. Keys are displayed in the [account settings](http://data.planetos.com/account/settings/) page on the Planet OS Datahub. If you do not have a Planet OS account, you can [sign up for free](http://data.planetos.com/plans)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "apikey = open('APIKEY').readlines()[0].strip() #''" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Request the Most Recent Model Run\n", "\n", "By default, our API returns the most recent model run. The example below returns all variables for the most recent forecast run (e.g. reftime). At the time of running, this was 2016-11-12T00:00:00. Given the hourly resolution and 3-day extent, we expect 72 unique values to be returned." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "axes.latitude 73\n", "axes.longitude 73\n", "axes.reftime 73\n", "axes.time 73\n", "classifiers.reference_time 73\n", "context 73\n", "data.ice_coverage 73\n", "data.ice_thickness 73\n", "data.mixed_layer_thickness 73\n", "data.ssh 73\n", "data.surface_boundary_layer_thickness 73\n", "data.u_barotropic_velocity 73\n", "data.v_barotropic_velocity 73\n", "dtype: int64\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
axes.latitudeaxes.longitudeaxes.reftimeaxes.timeclassifiers.reference_timecontextdata.ice_coveragedata.ice_thicknessdata.mixed_layer_thicknessdata.sshdata.surface_boundary_layer_thicknessdata.u_barotropic_velocitydata.v_barotropic_velocity
039.390355-72.6161372018-06-15T00:00:002018-06-18T00:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.02.393272-0.5868811.0038570.052923-0.051910
139.390355-72.6161372018-06-15T00:00:002018-06-17T23:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.461914-0.5829811.0052120.048648-0.042568
239.390355-72.6161372018-06-15T00:00:002018-06-17T22:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.939150-0.5779081.0085600.047611-0.033235
339.390355-72.6161372018-06-15T00:00:002018-06-17T21:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.904634-0.5733261.0123620.049494-0.023227
439.390355-72.6161372018-06-15T00:00:002018-06-17T20:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.972110-0.5717421.0153780.052853-0.012663
\n", "
" ], "text/plain": [ " axes.latitude axes.longitude axes.reftime axes.time \\\n", "0 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-18T00:00:00 \n", "1 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T23:00:00 \n", "2 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T22:00:00 \n", "3 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T21:00:00 \n", "4 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T20:00:00 \n", "\n", " classifiers.reference_time context data.ice_coverage \\\n", "0 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "1 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "2 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "3 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "4 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "\n", " data.ice_thickness data.mixed_layer_thickness data.ssh \\\n", "0 0.0 2.393272 -0.586881 \n", "1 0.0 1.461914 -0.582981 \n", "2 0.0 0.939150 -0.577908 \n", "3 0.0 0.904634 -0.573326 \n", "4 0.0 0.972110 -0.571742 \n", "\n", " data.surface_boundary_layer_thickness data.u_barotropic_velocity \\\n", "0 1.003857 0.052923 \n", "1 1.005212 0.048648 \n", "2 1.008560 0.047611 \n", "3 1.012362 0.049494 \n", "4 1.015378 0.052853 \n", "\n", " data.v_barotropic_velocity \n", "0 -0.051910 \n", "1 -0.042568 \n", "2 -0.033235 \n", "3 -0.023227 \n", "4 -0.012663 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Set the Planet OS API query parameters\n", "count = 100\n", "id = 'noaa_rtofs_surface_1h_diag'\n", "lat=39.37858604638528\n", "lon=-72.57739563685647\n", "time_order = 'desc'\n", "\n", "query_dict = {'apikey': apikey,\n", " 'count': count,\n", " 'lon': lon,\n", " 'lat': lat,\n", " 'time_order': time_order,\n", " }\n", "query = urlencode(query_dict)\n", "\n", "api_url = \"http://api.planetos.com/v1/datasets/%s/point?%s\" % (id, query)\n", "\n", "request = Request(api_url)\n", "response = urlopen(request)\n", "response_json = json.loads(response.read())\n", "\n", "data = response_json['entries']\n", "\n", "# let's flatten the response and create a Pandas dataframe\n", "df = pd.io.json.json_normalize(data)\n", "\n", "# then index by time using the axes.time column\n", "pd.to_datetime(df[\"axes.time\"])\n", "df.set_index('axes.time', inplace=False)\n", "\n", "print(df.count())\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Request a Single Model Run\n", "\n", "By default, the system will return the most recent model run (e.g. reftime). However, a specific model run can be acquired by requesting an identical reftime_start and reftime_end value. In the example below, we request values from only the 2016-11-12T00:00:00 model run." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
axes.latitudeaxes.longitudeaxes.reftimeaxes.timeclassifiers.reference_timecontextdata.ice_coveragedata.ice_thicknessdata.mixed_layer_thicknessdata.sshdata.surface_boundary_layer_thicknessdata.u_barotropic_velocitydata.v_barotropic_velocity
039.390355-72.6161372018-06-15T00:00:002018-06-18T00:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.02.393272-0.5868811.0038570.052923-0.051910
139.390355-72.6161372018-06-15T00:00:002018-06-17T23:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.461914-0.5829811.0052120.048648-0.042568
239.390355-72.6161372018-06-15T00:00:002018-06-17T22:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.939150-0.5779081.0085600.047611-0.033235
339.390355-72.6161372018-06-15T00:00:002018-06-17T21:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.904634-0.5733261.0123620.049494-0.023227
439.390355-72.6161372018-06-15T00:00:002018-06-17T20:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.972110-0.5717421.0153780.052853-0.012663
539.390355-72.6161372018-06-15T00:00:002018-06-17T19:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.099548-0.5739661.0165400.056213-0.002916
639.390355-72.6161372018-06-15T00:00:002018-06-17T18:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.365773-0.5779641.0155280.0591500.003989
739.390355-72.6161372018-06-15T00:00:002018-06-17T17:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.02.068107-0.5812081.0128830.0622200.006222
839.390355-72.6161372018-06-15T00:00:002018-06-17T16:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.04.017891-0.5822981.0097450.0661230.003401
939.390355-72.6161372018-06-15T00:00:002018-06-17T15:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.05.489046-0.5805311.0071330.071520-0.003411
1039.390355-72.6161372018-06-15T00:00:002018-06-17T14:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.375851-0.5768481.0054450.077729-0.012819
1139.390355-72.6161372018-06-15T00:00:002018-06-17T13:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.07.100214-0.5722081.7794850.083688-0.023142
1239.390355-72.6161372018-06-15T00:00:002018-06-17T12:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.07.878569-0.5666534.9220350.087533-0.033732
1339.390355-72.6161372018-06-15T00:00:002018-06-17T11:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.08.117210-0.5629867.3264270.088285-0.044048
1439.390355-72.6161372018-06-15T00:00:002018-06-17T10:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.08.067168-0.5639548.3418890.085997-0.053084
1539.390355-72.6161372018-06-15T00:00:002018-06-17T09:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.07.911420-0.5679918.1592770.081106-0.059898
1639.390355-72.6161372018-06-15T00:00:002018-06-17T08:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.07.622293-0.5731177.6753510.075394-0.062901
1739.390355-72.6161372018-06-15T00:00:002018-06-17T07:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.980652-0.5789226.2640080.069813-0.061442
1839.390355-72.6161372018-06-15T00:00:002018-06-17T06:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.05.889813-0.5839534.2268950.064880-0.055497
1939.390355-72.6161372018-06-15T00:00:002018-06-17T05:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.04.677490-0.5874042.5768710.061353-0.045680
2039.390355-72.6161372018-06-15T00:00:002018-06-17T04:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.03.624086-0.5878191.6191460.058696-0.035362
2139.390355-72.6161372018-06-15T00:00:002018-06-17T03:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.03.030861-0.5831192.2292930.057034-0.027551
2239.390355-72.6161372018-06-15T00:00:002018-06-17T02:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.02.669391-0.5758062.0365940.057097-0.024253
2339.390355-72.6161372018-06-15T00:00:002018-06-17T01:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.870689-0.5668301.0063770.059213-0.025850
2439.390355-72.6161372018-06-15T00:00:002018-06-17T00:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.931675-0.5597751.0077170.063999-0.030282
2539.390355-72.6161372018-06-15T00:00:002018-06-16T23:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.785911-0.5562641.0098560.070086-0.035647
2639.390355-72.6161372018-06-15T00:00:002018-06-16T22:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.789303-0.5565301.0121610.076357-0.040276
2739.390355-72.6161372018-06-15T00:00:002018-06-16T21:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.808828-0.5616071.0138810.081628-0.044166
2839.390355-72.6161372018-06-15T00:00:002018-06-16T20:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.840858-0.5701461.0144580.084696-0.048383
2939.390355-72.6161372018-06-15T00:00:002018-06-16T19:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.00.891038-0.5788621.0137230.086110-0.052792
..........................................
4339.390355-72.6161372018-06-15T00:00:002018-06-16T05:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.02.560007-0.5591921.0104220.101492-0.075716
4439.390355-72.6161372018-06-15T00:00:002018-06-16T04:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.883909-0.5591451.0085740.109294-0.084072
4539.390355-72.6161372018-06-15T00:00:002018-06-16T03:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.600063-0.5563111.0070950.115196-0.096286
4639.390355-72.6161372018-06-15T00:00:002018-06-16T02:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.387641-0.5533291.0065720.117911-0.109475
4739.390355-72.6161372018-06-15T00:00:002018-06-16T01:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.241458-0.5519001.0070710.116294-0.120298
4839.390355-72.6161372018-06-15T00:00:002018-06-16T00:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.296358-0.5514131.0084210.110358-0.126584
4939.390355-72.6161372018-06-15T00:00:002018-06-15T23:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.471651-0.5520211.0103780.101472-0.127311
5039.390355-72.6161372018-06-15T00:00:002018-06-15T22:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.01.829469-0.5535391.0124230.090876-0.123713
5139.390355-72.6161372018-06-15T00:00:002018-06-15T21:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.02.514715-0.5569531.0139520.081366-0.116807
5239.390355-72.6161372018-06-15T00:00:002018-06-15T20:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.03.332845-0.5617781.0145600.074210-0.108862
5339.390355-72.6161372018-06-15T00:00:002018-06-15T19:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.03.905654-0.5639031.0139910.070646-0.100568
5439.390355-72.6161372018-06-15T00:00:002018-06-15T18:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.04.684608-0.5658031.0123410.071928-0.092220
5539.390355-72.6161372018-06-15T00:00:002018-06-15T17:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.014578-0.5662971.0100740.076021-0.085030
5639.390355-72.6161372018-06-15T00:00:002018-06-15T16:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.824544-0.5655711.0077250.081834-0.078454
5739.390355-72.6161372018-06-15T00:00:002018-06-15T15:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.07.435776-0.5638671.0059240.086961-0.073020
5839.390355-72.6161372018-06-15T00:00:002018-06-15T14:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.08.045163-0.5615681.0051550.089870-0.068959
5939.390355-72.6161372018-06-15T00:00:002018-06-15T13:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.08.491595-0.5577451.4240480.089890-0.066688
6039.390355-72.6161372018-06-15T00:00:002018-06-15T12:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.09.150079-0.5530831.9498990.086221-0.065420
6139.390355-72.6161372018-06-15T00:00:002018-06-15T11:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.09.390242-0.5495421.0102240.081564-0.062221
6239.390355-72.6161372018-06-15T00:00:002018-06-15T10:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.09.082260-0.5509431.0129230.077397-0.055966
6339.390355-72.6161372018-06-15T00:00:002018-06-15T09:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.08.622544-0.5550491.0149570.075107-0.047349
6439.390355-72.6161372018-06-15T00:00:002018-06-15T08:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.07.833182-0.5596121.0158180.073993-0.039062
6539.390355-72.6161372018-06-15T00:00:002018-06-15T07:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.07.119994-0.5642871.0153590.074347-0.033303
6639.390355-72.6161372018-06-15T00:00:002018-06-15T06:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.824449-0.5689431.0139250.075650-0.031629
6739.390355-72.6161372018-06-15T00:00:002018-06-15T05:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.660968-0.5717691.0118280.077772-0.034339
6839.390355-72.6161372018-06-15T00:00:002018-06-15T04:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.740618-0.5693082.7766190.080424-0.039260
6939.390355-72.6161372018-06-15T00:00:002018-06-15T03:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.696674-0.5669654.1103460.082897-0.044958
7039.390355-72.6161372018-06-15T00:00:002018-06-15T02:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.547153-0.5685156.0625040.083444-0.049476
7139.390355-72.6161372018-06-15T00:00:002018-06-15T01:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.359508-0.5712736.3603670.079072-0.052278
7239.390355-72.6161372018-06-15T00:00:002018-06-15T00:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.393537-0.5746186.4483670.068051-0.051244
\n", "

73 rows × 13 columns

\n", "
" ], "text/plain": [ " axes.latitude axes.longitude axes.reftime axes.time \\\n", "0 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-18T00:00:00 \n", "1 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T23:00:00 \n", "2 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T22:00:00 \n", "3 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T21:00:00 \n", "4 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T20:00:00 \n", "5 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T19:00:00 \n", "6 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T18:00:00 \n", "7 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T17:00:00 \n", "8 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T16:00:00 \n", "9 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T15:00:00 \n", "10 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T14:00:00 \n", "11 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T13:00:00 \n", "12 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T12:00:00 \n", "13 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T11:00:00 \n", "14 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T10:00:00 \n", "15 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T09:00:00 \n", "16 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T08:00:00 \n", "17 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T07:00:00 \n", "18 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T06:00:00 \n", "19 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T05:00:00 \n", "20 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T04:00:00 \n", "21 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T03:00:00 \n", "22 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T02:00:00 \n", "23 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T01:00:00 \n", "24 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-17T00:00:00 \n", "25 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T23:00:00 \n", "26 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T22:00:00 \n", "27 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T21:00:00 \n", "28 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T20:00:00 \n", "29 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T19:00:00 \n", ".. ... ... ... ... \n", "43 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T05:00:00 \n", "44 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T04:00:00 \n", "45 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T03:00:00 \n", "46 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T02:00:00 \n", "47 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T01:00:00 \n", "48 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-16T00:00:00 \n", "49 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T23:00:00 \n", "50 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T22:00:00 \n", "51 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T21:00:00 \n", "52 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T20:00:00 \n", "53 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T19:00:00 \n", "54 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T18:00:00 \n", "55 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T17:00:00 \n", "56 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T16:00:00 \n", "57 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T15:00:00 \n", "58 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T14:00:00 \n", "59 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T13:00:00 \n", "60 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T12:00:00 \n", "61 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T11:00:00 \n", "62 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T10:00:00 \n", "63 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T09:00:00 \n", "64 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T08:00:00 \n", "65 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T07:00:00 \n", "66 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T06:00:00 \n", "67 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T05:00:00 \n", "68 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T04:00:00 \n", "69 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T03:00:00 \n", "70 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T02:00:00 \n", "71 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T01:00:00 \n", "72 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T00:00:00 \n", "\n", " classifiers.reference_time context data.ice_coverage \\\n", "0 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "1 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "2 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "3 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "4 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "5 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "6 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "7 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "8 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "9 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "10 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "11 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "12 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "13 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "14 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "15 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "16 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "17 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "18 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "19 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "20 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "21 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "22 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "23 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "24 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "25 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "26 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "27 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "28 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "29 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", ".. ... ... ... \n", "43 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "44 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "45 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "46 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "47 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "48 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "49 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "50 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "51 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "52 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "53 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "54 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "55 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "56 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "57 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "58 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "59 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "60 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "61 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "62 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "63 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "64 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "65 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "66 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "67 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "68 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "69 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "70 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "71 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "72 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "\n", " data.ice_thickness data.mixed_layer_thickness data.ssh \\\n", "0 0.0 2.393272 -0.586881 \n", "1 0.0 1.461914 -0.582981 \n", "2 0.0 0.939150 -0.577908 \n", "3 0.0 0.904634 -0.573326 \n", "4 0.0 0.972110 -0.571742 \n", "5 0.0 1.099548 -0.573966 \n", "6 0.0 1.365773 -0.577964 \n", "7 0.0 2.068107 -0.581208 \n", "8 0.0 4.017891 -0.582298 \n", "9 0.0 5.489046 -0.580531 \n", "10 0.0 6.375851 -0.576848 \n", "11 0.0 7.100214 -0.572208 \n", "12 0.0 7.878569 -0.566653 \n", "13 0.0 8.117210 -0.562986 \n", "14 0.0 8.067168 -0.563954 \n", "15 0.0 7.911420 -0.567991 \n", "16 0.0 7.622293 -0.573117 \n", "17 0.0 6.980652 -0.578922 \n", "18 0.0 5.889813 -0.583953 \n", "19 0.0 4.677490 -0.587404 \n", "20 0.0 3.624086 -0.587819 \n", "21 0.0 3.030861 -0.583119 \n", "22 0.0 2.669391 -0.575806 \n", "23 0.0 1.870689 -0.566830 \n", "24 0.0 0.931675 -0.559775 \n", "25 0.0 0.785911 -0.556264 \n", "26 0.0 0.789303 -0.556530 \n", "27 0.0 0.808828 -0.561607 \n", "28 0.0 0.840858 -0.570146 \n", "29 0.0 0.891038 -0.578862 \n", ".. ... ... ... \n", "43 0.0 2.560007 -0.559192 \n", "44 0.0 1.883909 -0.559145 \n", "45 0.0 1.600063 -0.556311 \n", "46 0.0 1.387641 -0.553329 \n", "47 0.0 1.241458 -0.551900 \n", "48 0.0 1.296358 -0.551413 \n", "49 0.0 1.471651 -0.552021 \n", "50 0.0 1.829469 -0.553539 \n", "51 0.0 2.514715 -0.556953 \n", "52 0.0 3.332845 -0.561778 \n", "53 0.0 3.905654 -0.563903 \n", "54 0.0 4.684608 -0.565803 \n", "55 0.0 6.014578 -0.566297 \n", "56 0.0 6.824544 -0.565571 \n", "57 0.0 7.435776 -0.563867 \n", "58 0.0 8.045163 -0.561568 \n", "59 0.0 8.491595 -0.557745 \n", "60 0.0 9.150079 -0.553083 \n", "61 0.0 9.390242 -0.549542 \n", "62 0.0 9.082260 -0.550943 \n", "63 0.0 8.622544 -0.555049 \n", "64 0.0 7.833182 -0.559612 \n", "65 0.0 7.119994 -0.564287 \n", "66 0.0 6.824449 -0.568943 \n", "67 0.0 6.660968 -0.571769 \n", "68 0.0 6.740618 -0.569308 \n", "69 0.0 6.696674 -0.566965 \n", "70 0.0 6.547153 -0.568515 \n", "71 0.0 6.359508 -0.571273 \n", "72 0.0 6.393537 -0.574618 \n", "\n", " data.surface_boundary_layer_thickness data.u_barotropic_velocity \\\n", "0 1.003857 0.052923 \n", "1 1.005212 0.048648 \n", "2 1.008560 0.047611 \n", "3 1.012362 0.049494 \n", "4 1.015378 0.052853 \n", "5 1.016540 0.056213 \n", "6 1.015528 0.059150 \n", "7 1.012883 0.062220 \n", "8 1.009745 0.066123 \n", "9 1.007133 0.071520 \n", "10 1.005445 0.077729 \n", "11 1.779485 0.083688 \n", "12 4.922035 0.087533 \n", "13 7.326427 0.088285 \n", "14 8.341889 0.085997 \n", "15 8.159277 0.081106 \n", "16 7.675351 0.075394 \n", "17 6.264008 0.069813 \n", "18 4.226895 0.064880 \n", "19 2.576871 0.061353 \n", "20 1.619146 0.058696 \n", "21 2.229293 0.057034 \n", "22 2.036594 0.057097 \n", "23 1.006377 0.059213 \n", "24 1.007717 0.063999 \n", "25 1.009856 0.070086 \n", "26 1.012161 0.076357 \n", "27 1.013881 0.081628 \n", "28 1.014458 0.084696 \n", "29 1.013723 0.086110 \n", ".. ... ... \n", "43 1.010422 0.101492 \n", "44 1.008574 0.109294 \n", "45 1.007095 0.115196 \n", "46 1.006572 0.117911 \n", "47 1.007071 0.116294 \n", "48 1.008421 0.110358 \n", "49 1.010378 0.101472 \n", "50 1.012423 0.090876 \n", "51 1.013952 0.081366 \n", "52 1.014560 0.074210 \n", "53 1.013991 0.070646 \n", "54 1.012341 0.071928 \n", "55 1.010074 0.076021 \n", "56 1.007725 0.081834 \n", "57 1.005924 0.086961 \n", "58 1.005155 0.089870 \n", "59 1.424048 0.089890 \n", "60 1.949899 0.086221 \n", "61 1.010224 0.081564 \n", "62 1.012923 0.077397 \n", "63 1.014957 0.075107 \n", "64 1.015818 0.073993 \n", "65 1.015359 0.074347 \n", "66 1.013925 0.075650 \n", "67 1.011828 0.077772 \n", "68 2.776619 0.080424 \n", "69 4.110346 0.082897 \n", "70 6.062504 0.083444 \n", "71 6.360367 0.079072 \n", "72 6.448367 0.068051 \n", "\n", " data.v_barotropic_velocity \n", "0 -0.051910 \n", "1 -0.042568 \n", "2 -0.033235 \n", "3 -0.023227 \n", "4 -0.012663 \n", "5 -0.002916 \n", "6 0.003989 \n", "7 0.006222 \n", "8 0.003401 \n", "9 -0.003411 \n", "10 -0.012819 \n", "11 -0.023142 \n", "12 -0.033732 \n", "13 -0.044048 \n", "14 -0.053084 \n", "15 -0.059898 \n", "16 -0.062901 \n", "17 -0.061442 \n", "18 -0.055497 \n", "19 -0.045680 \n", "20 -0.035362 \n", "21 -0.027551 \n", "22 -0.024253 \n", "23 -0.025850 \n", "24 -0.030282 \n", "25 -0.035647 \n", "26 -0.040276 \n", "27 -0.044166 \n", "28 -0.048383 \n", "29 -0.052792 \n", ".. ... \n", "43 -0.075716 \n", "44 -0.084072 \n", "45 -0.096286 \n", "46 -0.109475 \n", "47 -0.120298 \n", "48 -0.126584 \n", "49 -0.127311 \n", "50 -0.123713 \n", "51 -0.116807 \n", "52 -0.108862 \n", "53 -0.100568 \n", "54 -0.092220 \n", "55 -0.085030 \n", "56 -0.078454 \n", "57 -0.073020 \n", "58 -0.068959 \n", "59 -0.066688 \n", "60 -0.065420 \n", "61 -0.062221 \n", "62 -0.055966 \n", "63 -0.047349 \n", "64 -0.039062 \n", "65 -0.033303 \n", "66 -0.031629 \n", "67 -0.034339 \n", "68 -0.039260 \n", "69 -0.044958 \n", "70 -0.049476 \n", "71 -0.052278 \n", "72 -0.051244 \n", "\n", "[73 rows x 13 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "axes.latitude 73\n", "axes.longitude 73\n", "axes.reftime 73\n", "axes.time 73\n", "classifiers.reference_time 73\n", "context 73\n", "data.ice_coverage 73\n", "data.ice_thickness 73\n", "data.mixed_layer_thickness 73\n", "data.ssh 73\n", "data.surface_boundary_layer_thickness 73\n", "data.u_barotropic_velocity 73\n", "data.v_barotropic_velocity 73\n", "dtype: int64\n" ] } ], "source": [ "# Request only data from a specific model run\n", "reftime_end = np.max(df['axes.reftime'])\n", "reftime_start = np.max(df['axes.reftime'])\n", "\n", "query_dict = {'apikey': apikey,\n", " 'count': count,\n", " 'lat': lat,\n", " 'lon': lon,\n", " 'reftime_end': reftime_end,\n", " 'reftime_start': reftime_start,\n", " 'time_order': time_order,\n", " }\n", "query = urlencode(query_dict)\n", "\n", "api_url = \"http://api.planetos.com/v1/datasets/%s/point?%s\" % (id, query)\n", "\n", "request = Request(api_url)\n", "response = urlopen(request)\n", "response_json = json.loads(response.read())\n", "\n", "data = response_json['entries']\n", "\n", "# let's flatten the response and create a Pandas dataframe\n", "df = pd.io.json.json_normalize(data)\n", "\n", "# then index by time using the axes.time column\n", "pd.to_datetime(df[\"axes.time\"])\n", "df.set_index('axes.time', inplace=False)\n", "\n", "print(df.count())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### All available model run values for a specific time\n", "\n", "This example looks for data at a specific future datetime (e.g. 2016-11-14T00:00:00) and returns values from all available model runs (e.g. reftimes). From the result at the time of running, we can see that two forecasts provide values for Nov 14th at 00:00, the 2016-11-11T00:00:00 and 2016-11-12T00:00:00 model runs." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " axes.latitude axes.longitude axes.reftime axes.time \\\n", "0 39.390355 -72.616137 2018-06-15T00:00:00 2018-06-15T00:00:00 \n", "\n", " classifiers.reference_time context data.ice_coverage \\\n", "0 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon 0.0 \n", "\n", " data.ice_thickness data.mixed_layer_thickness data.ssh \\\n", "0 0.0 6.393537 -0.574618 \n", "\n", " data.surface_boundary_layer_thickness data.u_barotropic_velocity \\\n", "0 6.448367 0.068051 \n", "\n", " data.v_barotropic_velocity \n", "0 -0.051244 \n", "axes.latitude 1\n", "axes.longitude 1\n", "axes.reftime 1\n", "classifiers.reference_time 1\n", "context 1\n", "data.ice_coverage 1\n", "data.ice_thickness 1\n", "data.mixed_layer_thickness 1\n", "data.ssh 1\n", "data.surface_boundary_layer_thickness 1\n", "data.u_barotropic_velocity 1\n", "data.v_barotropic_velocity 1\n", "dtype: int64\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
axes.latitudeaxes.longitudeaxes.reftimeclassifiers.reference_timecontextdata.ice_coveragedata.ice_thicknessdata.mixed_layer_thicknessdata.sshdata.surface_boundary_layer_thicknessdata.u_barotropic_velocitydata.v_barotropic_velocity
axes.time
2018-06-15T00:00:0039.390355-72.6161372018-06-15T00:00:002018-06-15T00:00:00.000Zreference_time_MT_lat_lon0.00.06.393537-0.5746186.4483670.068051-0.051244
\n", "
" ], "text/plain": [ " axes.latitude axes.longitude axes.reftime \\\n", "axes.time \n", "2018-06-15T00:00:00 39.390355 -72.616137 2018-06-15T00:00:00 \n", "\n", " classifiers.reference_time context \\\n", "axes.time \n", "2018-06-15T00:00:00 2018-06-15T00:00:00.000Z reference_time_MT_lat_lon \n", "\n", " data.ice_coverage data.ice_thickness \\\n", "axes.time \n", "2018-06-15T00:00:00 0.0 0.0 \n", "\n", " data.mixed_layer_thickness data.ssh \\\n", "axes.time \n", "2018-06-15T00:00:00 6.393537 -0.574618 \n", "\n", " data.surface_boundary_layer_thickness \\\n", "axes.time \n", "2018-06-15T00:00:00 6.448367 \n", "\n", " data.u_barotropic_velocity data.v_barotropic_velocity \n", "axes.time \n", "2018-06-15T00:00:00 0.068051 -0.051244 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Request only data from past model run (e.g. 2016-11-11T00:00:00)\n", "\n", "end = np.min(df['axes.time'])\n", "start = datetime.datetime.strftime(datetime.datetime.strptime(df['axes.reftime'][0],'%Y-%m-%dT%H:%M:%S') - datetime.timedelta(days=1),'%Y-%m-%dT%H:%M:%S')\n", "\n", "query_dict = {'apikey': apikey,\n", " 'count': count,\n", " 'end': end,\n", " 'lat': lat,\n", " 'lon': lon,\n", " 'reftime_recent': 'false',\n", " 'start': start,\n", " 'time_order': time_order,\n", " }\n", "query = urlencode(query_dict)\n", "\n", "api_url = \"http://api.planetos.com/v1/datasets/%s/point?%s\" % (id, query)\n", "\n", "request = Request(api_url)\n", "response = urlopen(request)\n", "response_json = json.loads(response.read())\n", "\n", "data = response_json['entries']\n", "\n", "# let's flatten the response and create a Pandas dataframe\n", "df = pd.io.json.json_normalize(data)\n", "print (df)\n", "# then index by time using the axes.time column\n", "pd.to_datetime(df[\"axes.time\"])\n", "df.set_index('axes.time', inplace=True)\n", "\n", "print(df.count())\n", "df.head()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }