{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import requests\n", "import numpy as np\n", "import pandas as pd\n", "\n", "import cmocean\n", "import matplotlib.pylab as plt\n", "from scipy.interpolate import griddata\n", "from scipy import interpolate\n", "from datetime import datetime\n", "import pdb\n", "import os\n", "import csv\n", "\n", "from datetime import datetime, timedelta\n", "import calendar\n", "\n", "import matplotlib\n", "matplotlib.font_manager._rebuild()\n", "\n", "#used for map projections\n", "from cartopy import config\n", "import cartopy.crs as ccrs\n", "import matplotlib.patches as mpatches\n", "\n", "%matplotlib inline\n", "\n", "#sets plot styles\n", "import seaborn as sns\n", "from matplotlib import rc\n", "from matplotlib import rcParams\n", "import matplotlib.ticker as mtick\n", "rc('text', usetex=False)\n", "rcStyle = {\"font.size\": 10,\n", " \"axes.titlesize\": 20,\n", " \"axes.labelsize\": 20,\n", " 'xtick.labelsize': 16,\n", " 'ytick.labelsize': 16}\n", "sns.set_context(\"paper\", rc=rcStyle)\n", "sns.set_style(\"whitegrid\", {'axes.grid' : False})\n", "myColors = [\"windows blue\", \"amber\", \"dusty rose\", \"prussian blue\", \"faded green\", \"dusty purple\", \"gold\", \"dark pink\", \"green\", \"red\", \"brown\"]\n", "colorsBW = [\"black\", \"grey\"]\n", "sns.set_palette(sns.xkcd_palette(myColors))\n", "\n", "curDir = os.getcwd()\n", "dataDir = os.path.join(curDir, 'data')\n", "\n", "if not os.path.exists(dataDir):\n", " os.mkdir(dataDir)\n", " \n", "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. Get a BGC profile\n", "\n", "If you know that a profile contains BGC parameters, the standard profile api contains the bgc measurements under the field bgcMeas." ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "def get_profile(profile_number):\n", " url = 'https://argovis.colorado.edu/catalog/profiles/{}'.format(profile_number)\n", " resp = requests.get(url)\n", " # Consider any status other than 2xx an error\n", " if not resp.status_code // 100 == 2:\n", " return \"Error: Unexpected response {}\".format(resp)\n", " profile = resp.json()\n", " return profile\n", "\n", "def json2dataframe(profiles, measKey='measurements'):\n", " \"\"\" convert json data to Pandas DataFrame \"\"\"\n", " # Make sure we deal with a list\n", " if isinstance(profiles, list):\n", " data = profiles\n", " else:\n", " data = [profiles]\n", " # Transform\n", " rows = []\n", " for profile in data:\n", " keys = [x for x in profile.keys() if x not in ['measurements', 'bgcMeas']]\n", " meta_row = dict((key, profile[key]) for key in keys)\n", " for row in profile[measKey]:\n", " row.update(meta_row)\n", " rows.append(row)\n", " df = pd.DataFrame(rows)\n", " return df" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "> (20)json2dataframe()\n", "-> for profile in data:\n" ] }, { "name": "stdin", "output_type": "stream", "text": [ "(Pdb) c\n" ] } ], "source": [ "profileId = \"5901069_270\"\n", "profile = get_profile(profileId)\n", "df = json2dataframe([profile], 'bgcMeas')" ] }, { "cell_type": "code", "execution_count": 7, "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", "
prespres_qcpsalpsal_qctemptemp_qcdoxy_qcbgcMeasKeysstation_parametersstation_parameters_in_nc...jcommopsPlatformeuroargoPlatformformatted_station_parametersroundLatroundLonstrLatstrLondate_formattediddoxy
05.400000135.058998119.77400014[pres, psal, temp, doxy][pres, psal, temp][PRES, PSAL, TEMP, DOXY]...http://www.jcommops.org/board/wa/Platform?ref=...https://fleetmonitoring.euro-argo.eu/float/590...[ pres, psal, temp]29.931-173.29129.931 N173.291 W2009-12-315901069_270NaN
19.300000135.057999119.77800011[pres, psal, temp, doxy][pres, psal, temp][PRES, PSAL, TEMP, DOXY]...http://www.jcommops.org/board/wa/Platform?ref=...https://fleetmonitoring.euro-argo.eu/float/590...[ pres, psal, temp]29.931-173.29129.931 N173.291 W2009-12-315901069_270227.421417
219.500000135.057999119.77700011[pres, psal, temp, doxy][pres, psal, temp][PRES, PSAL, TEMP, DOXY]...http://www.jcommops.org/board/wa/Platform?ref=...https://fleetmonitoring.euro-argo.eu/float/590...[ pres, psal, temp]29.931-173.29129.931 N173.291 W2009-12-315901069_270222.475571
329.700001135.056000119.76899911[pres, psal, temp, doxy][pres, psal, temp][PRES, PSAL, TEMP, DOXY]...http://www.jcommops.org/board/wa/Platform?ref=...https://fleetmonitoring.euro-argo.eu/float/590...[ pres, psal, temp]29.931-173.29129.931 N173.291 W2009-12-315901069_270219.328979
439.400002135.055000119.76899911[pres, psal, temp, doxy][pres, psal, temp][PRES, PSAL, TEMP, DOXY]...http://www.jcommops.org/board/wa/Platform?ref=...https://fleetmonitoring.euro-argo.eu/float/590...[ pres, psal, temp]29.931-173.29129.931 N173.291 W2009-12-315901069_270216.657944
\n", "

5 rows × 49 columns

\n", "
" ], "text/plain": [ " pres pres_qc psal psal_qc temp temp_qc doxy_qc \\\n", "0 5.400000 1 35.058998 1 19.774000 1 4 \n", "1 9.300000 1 35.057999 1 19.778000 1 1 \n", "2 19.500000 1 35.057999 1 19.777000 1 1 \n", "3 29.700001 1 35.056000 1 19.768999 1 1 \n", "4 39.400002 1 35.055000 1 19.768999 1 1 \n", "\n", " bgcMeasKeys station_parameters station_parameters_in_nc \\\n", "0 [pres, psal, temp, doxy] [pres, psal, temp] [PRES, PSAL, TEMP, DOXY] \n", "1 [pres, psal, temp, doxy] [pres, psal, temp] [PRES, PSAL, TEMP, DOXY] \n", "2 [pres, psal, temp, doxy] [pres, psal, temp] [PRES, PSAL, TEMP, DOXY] \n", "3 [pres, psal, temp, doxy] [pres, psal, temp] [PRES, PSAL, TEMP, DOXY] \n", "4 [pres, psal, temp, doxy] [pres, psal, temp] [PRES, PSAL, TEMP, DOXY] \n", "\n", " ... jcommopsPlatform \\\n", "0 ... http://www.jcommops.org/board/wa/Platform?ref=... \n", "1 ... http://www.jcommops.org/board/wa/Platform?ref=... \n", "2 ... http://www.jcommops.org/board/wa/Platform?ref=... \n", "3 ... http://www.jcommops.org/board/wa/Platform?ref=... \n", "4 ... http://www.jcommops.org/board/wa/Platform?ref=... \n", "\n", " euroargoPlatform \\\n", "0 https://fleetmonitoring.euro-argo.eu/float/590... \n", "1 https://fleetmonitoring.euro-argo.eu/float/590... \n", "2 https://fleetmonitoring.euro-argo.eu/float/590... \n", "3 https://fleetmonitoring.euro-argo.eu/float/590... \n", "4 https://fleetmonitoring.euro-argo.eu/float/590... \n", "\n", " formatted_station_parameters roundLat roundLon strLat strLon \\\n", "0 [ pres, psal, temp] 29.931 -173.291 29.931 N 173.291 W \n", "1 [ pres, psal, temp] 29.931 -173.291 29.931 N 173.291 W \n", "2 [ pres, psal, temp] 29.931 -173.291 29.931 N 173.291 W \n", "3 [ pres, psal, temp] 29.931 -173.291 29.931 N 173.291 W \n", "4 [ pres, psal, temp] 29.931 -173.291 29.931 N 173.291 W \n", "\n", " date_formatted id doxy \n", "0 2009-12-31 5901069_270 NaN \n", "1 2009-12-31 5901069_270 227.421417 \n", "2 2009-12-31 5901069_270 222.475571 \n", "3 2009-12-31 5901069_270 219.328979 \n", "4 2009-12-31 5901069_270 216.657944 \n", "\n", "[5 rows x 49 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2. Get a BGC Platform, two variables at a time\n", "Platform metadata is queried separatly from the BGC data. This is to keep the payload small enough for the server to operate efficiently.\n", "Platform BGC data is queried by two parameters at a time." ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "def get_platform_profile_metadata(platform_number):\n", " url = f'https://argovis.colorado.edu/catalog/platform_profile_metadata/{platform_number}'\n", " print(url)\n", " resp = requests.get(url)\n", " # Consider any status other than 2xx an error\n", " if not resp.status_code // 100 == 2:\n", " return \"Error: Unexpected response {}\".format(resp)\n", " platformMetadata = resp.json()\n", " return platformMetadata\n", "\n", "def get_platform_profile_data(platform_number, xaxis='doxy', yaxis='pres'):\n", " url = 'https://argovis.colorado.edu/catalog/bgc_platform_data/{0}/?xaxis={1}&yaxis={2}'.format(platform_number, xaxis, yaxis)\n", " print(url)\n", " resp = requests.get(url)\n", " # Consider any status other than 2xx an error\n", " if not resp.status_code // 100 == 2:\n", " return \"Error: Unexpected response {}\".format(resp)\n", " platformData = resp.json()\n", " return platformData\n", "\n", "def join_platform_data(platformMetadata, platformData):\n", " platforms = []\n", " for idx, platform in enumerate(platformMetadata):\n", " metadata_id = platform['_id']\n", " data_id = platformData[idx]['_id']\n", " if (metadata_id == data_id) and ('bgcMeas' in platformData[idx].keys()) and isinstance(platformData[idx]['bgcMeas'], list):\n", " platform['bgcMeas'] = platformData[idx]['bgcMeas']\n", " platforms.append(platform)\n", " return platforms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We merge the metadata and data and convert it into a dataframe" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "https://argovis.colorado.edu/catalog/platform_profile_metadata/5901464\n", "https://argovis.colorado.edu/catalog/bgc_platform_data/5901464/?xaxis=doxy&yaxis=pres\n" ] } ], "source": [ "platformMetadata = get_platform_profile_metadata(5901464)\n", "platformData = get_platform_profile_data(5901464, 'doxy', 'pres')\n", "platforms = join_platform_data(platformMetadata, platformData)\n", "df = json2dataframe(platforms, 'bgcMeas')" ] }, { "cell_type": "code", "execution_count": 59, "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", "
doxydoxy_qcprespres_qc_idPOSITIONING_SYSTEMDATA_CENTREPI_NAMEWMO_INST_TYPEDATA_MODE...cycle_numberdacplatform_numberstation_parameters_in_ncnc_urlPARAMETER_DATA_MODEbgcMeasKeyscontainsBGCDIRECTIONBASIN
071.11049711797.48999015901464_115GPSAOSTEPHEN RISER,846D...115aoml5901464[PRES, PSAL, TEMP, DOXY]ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590...[[D, D, D, D]][pres, psal, temp, doxy]TrueA2
175.92409511848.19995115901464_115GPSAOSTEPHEN RISER,846D...115aoml5901464[PRES, PSAL, TEMP, DOXY]ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590...[[D, D, D, D]][pres, psal, temp, doxy]TrueA2
279.14430211897.66003415901464_115GPSAOSTEPHEN RISER,846D...115aoml5901464[PRES, PSAL, TEMP, DOXY]ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590...[[D, D, D, D]][pres, psal, temp, doxy]TrueA2
381.34501611947.32995615901464_115GPSAOSTEPHEN RISER,846D...115aoml5901464[PRES, PSAL, TEMP, DOXY]ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590...[[D, D, D, D]][pres, psal, temp, doxy]TrueA2
484.04032911997.80004915901464_115GPSAOSTEPHEN RISER,846D...115aoml5901464[PRES, PSAL, TEMP, DOXY]ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590...[[D, D, D, D]][pres, psal, temp, doxy]TrueA2
\n", "

5 rows × 34 columns

\n", "
" ], "text/plain": [ " doxy doxy_qc pres pres_qc _id POSITIONING_SYSTEM \\\n", "0 71.110497 1 1797.489990 1 5901464_115 GPS \n", "1 75.924095 1 1848.199951 1 5901464_115 GPS \n", "2 79.144302 1 1897.660034 1 5901464_115 GPS \n", "3 81.345016 1 1947.329956 1 5901464_115 GPS \n", "4 84.040329 1 1997.800049 1 5901464_115 GPS \n", "\n", " DATA_CENTRE PI_NAME WMO_INST_TYPE DATA_MODE ... cycle_number dac \\\n", "0 AO STEPHEN RISER, 846 D ... 115 aoml \n", "1 AO STEPHEN RISER, 846 D ... 115 aoml \n", "2 AO STEPHEN RISER, 846 D ... 115 aoml \n", "3 AO STEPHEN RISER, 846 D ... 115 aoml \n", "4 AO STEPHEN RISER, 846 D ... 115 aoml \n", "\n", " platform_number station_parameters_in_nc \\\n", "0 5901464 [PRES, PSAL, TEMP, DOXY] \n", "1 5901464 [PRES, PSAL, TEMP, DOXY] \n", "2 5901464 [PRES, PSAL, TEMP, DOXY] \n", "3 5901464 [PRES, PSAL, TEMP, DOXY] \n", "4 5901464 [PRES, PSAL, TEMP, DOXY] \n", "\n", " nc_url PARAMETER_DATA_MODE \\\n", "0 ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590... [[D, D, D, D]] \n", "1 ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590... [[D, D, D, D]] \n", "2 ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590... [[D, D, D, D]] \n", "3 ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590... [[D, D, D, D]] \n", "4 ftp://ftp.ifremer.fr/ifremer/argo/dac/aoml/590... [[D, D, D, D]] \n", "\n", " bgcMeasKeys containsBGC DIRECTION BASIN \n", "0 [pres, psal, temp, doxy] True A 2 \n", "1 [pres, psal, temp, doxy] True A 2 \n", "2 [pres, psal, temp, doxy] True A 2 \n", "3 [pres, psal, temp, doxy] True A 2 \n", "4 [pres, psal, temp, doxy] True A 2 \n", "\n", "[5 rows x 34 columns]" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3. Get a BGC selection\n", "\n", "https://argovis.colorado.edu/selection/bgc_data_selection?xaxis=temp&yaxis=pres&startDate=2020-03-01&endDate=2020-03-11&presRange=[0,50]&shape=[[[-155.929898,27.683528],[-156.984448,13.752725],[-149.468316,8.819693],[-142.15318,3.741443],[-134.922845,-1.396838],[-127.660888,-6.512815],[-120.250934,-11.523088],[-110.056944,-2.811371],[-107.069051,12.039321],[-118.141833,20.303418],[-125.314828,22.509761],[-132.702476,24.389053],[-140.290513,25.90038],[-148.048372,27.007913],[-155.929898,27.683528]]]" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "def get_bgc_selection_profiles(startDate, endDate, shape, xaxis, yaxis, presRange=None, printUrl=True):\n", " url = 'https://argovis.colorado.edu/selection/bgc_data_selection'\n", " url += '?startDate={}'.format(startDate)\n", " url += '&endDate={}'.format(endDate)\n", " url += '&shape={}'.format(shape)\n", " url += '&xaxis={}'.format(xaxis)\n", " url += '&yaxis={}'.format(yaxis)\n", " if presRange:\n", " pressRangeQuery = '&presRange='.format(presRange)\n", " url += pressRangeQuery\n", " url = url.replace(' ', '')\n", " if printUrl:\n", " print(url)\n", " resp = requests.get(url)\n", " # Consider any status other than 2xx an error\n", " if not resp.status_code // 100 == 2:\n", " return \"Error: Unexpected response {}\".format(resp)\n", " selectionProfiles = resp.json()\n", " return selectionProfiles" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "https://argovis.colorado.edu/selection/bgc_data_selection?startDate=2020-03-01&endDate=2020-03-11&shape=[[[-155.929898,27.683528],[-156.984448,13.752725],[-149.468316,8.819693],[-142.15318,3.741443],[-134.922845,-1.396838],[-127.660888,-6.512815],[-120.250934,-11.523088],[-110.056944,-2.811371],[-107.069051,12.039321],[-118.141833,20.303418],[-125.314828,22.509761],[-132.702476,24.389053],[-140.290513,25.90038],[-148.048372,27.007913],[-155.929898,27.683528]]]&xaxis=doxy&yaxis=pres&presRange=\n" ] } ], "source": [ "startDate = '2020-03-01'\n", "endDate = '2020-03-11'\n", "presRange = [0, 50]\n", "shape = [[[-155.929898,27.683528],[-156.984448,13.752725],[-149.468316,8.819693],[-142.15318,3.741443],[-134.922845,-1.396838],\\\n", " [-127.660888,-6.512815],[-120.250934,-11.523088],[-110.056944,-2.811371],[-107.069051,12.039321],[-118.141833,20.303418],\\\n", " [-125.314828,22.509761],[-132.702476,24.389053],[-140.290513,25.90038],[-148.048372,27.007913],[-155.929898,27.683528]]]\n", "xaxis='doxy'\n", "yaxis='pres'\n", "profiles = get_bgc_selection_profiles(startDate, endDate, shape, xaxis, yaxis, presRange, printUrl=True)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [], "source": [ "df = json2dataframe(profiles, 'bgcMeas')" ] }, { "cell_type": "code", "execution_count": 67, "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", "
doxydoxy_qcprespres_qc_idPOSITIONING_SYSTEMDATA_MODEdatelatloncycle_numberbgcMeasKeyscore_data_moderoundLatroundLonstrLatstrLon
0203.94908117.46000085906046_32GPSD2020-03-10T09:12:22.000Z-5.061-118.632[temp, nitrate, pres, psal, ph_in_situ_total, ...D-5.061-118.6005.061 S118.600 W
1203.940735111.55000085906046_32GPSD2020-03-10T09:12:22.000Z-5.061-118.632[temp, nitrate, pres, psal, ph_in_situ_total, ...D-5.061-118.6005.061 S118.600 W
2203.849197116.52000085906046_32GPSD2020-03-10T09:12:22.000Z-5.061-118.632[temp, nitrate, pres, psal, ph_in_situ_total, ...D-5.061-118.6005.061 S118.600 W
3203.733582121.54000185906046_32GPSD2020-03-10T09:12:22.000Z-5.061-118.632[temp, nitrate, pres, psal, ph_in_situ_total, ...D-5.061-118.6005.061 S118.600 W
4203.752197126.67000085906046_32GPSD2020-03-10T09:12:22.000Z-5.061-118.632[temp, nitrate, pres, psal, ph_in_situ_total, ...D-5.061-118.6005.061 S118.600 W
\n", "
" ], "text/plain": [ " doxy doxy_qc pres pres_qc _id POSITIONING_SYSTEM \\\n", "0 203.949081 1 7.460000 8 5906046_32 GPS \n", "1 203.940735 1 11.550000 8 5906046_32 GPS \n", "2 203.849197 1 16.520000 8 5906046_32 GPS \n", "3 203.733582 1 21.540001 8 5906046_32 GPS \n", "4 203.752197 1 26.670000 8 5906046_32 GPS \n", "\n", " DATA_MODE date lat lon cycle_number \\\n", "0 D 2020-03-10T09:12:22.000Z -5.061 -118.6 32 \n", "1 D 2020-03-10T09:12:22.000Z -5.061 -118.6 32 \n", "2 D 2020-03-10T09:12:22.000Z -5.061 -118.6 32 \n", "3 D 2020-03-10T09:12:22.000Z -5.061 -118.6 32 \n", "4 D 2020-03-10T09:12:22.000Z -5.061 -118.6 32 \n", "\n", " bgcMeasKeys core_data_mode roundLat \\\n", "0 [temp, nitrate, pres, psal, ph_in_situ_total, ... D -5.061 \n", "1 [temp, nitrate, pres, psal, ph_in_situ_total, ... D -5.061 \n", "2 [temp, nitrate, pres, psal, ph_in_situ_total, ... D -5.061 \n", "3 [temp, nitrate, pres, psal, ph_in_situ_total, ... D -5.061 \n", "4 [temp, nitrate, pres, psal, ph_in_situ_total, ... D -5.061 \n", "\n", " roundLon strLat strLon \n", "0 -118.600 5.061 S 118.600 W \n", "1 -118.600 5.061 S 118.600 W \n", "2 -118.600 5.061 S 118.600 W \n", "3 -118.600 5.061 S 118.600 W \n", "4 -118.600 5.061 S 118.600 W " ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "av_py_env", "language": "python", "name": "av_py_env" }, "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.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }