{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "
\n", "
\n", "
ObsPy Tutorial
\n", "
Handling Time
\n", "
\n", "
\n", "
\n", "image: User:Abbaszade656 / Wikimedia Commons / CC-BY-SA-4.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Workshop for the \"Training in Network Management Systems and Analytical Tools for Seismic\"\n", "### Baku, October 2018\n", "\n", "\n", "Seismo-Live: http://seismo-live.org\n", "\n", "##### Authors:\n", "* Lion Krischer ([@krischer](https://github.com/krischer))\n", "* Tobias Megies ([@megies](https://github.com/megies))\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](images/obspy_logo_full_524x179px.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a bit dry but not very difficult and important to know. It is used **everywhere** in ObsPy!\n", "\n", "\n", "* All absolute time values are consistently handled with this class.\n", "* Based on a nanosecond precision POSIX integer timestamp for accuracy.\n", "* Timezone can be specified at initialization (if necessary).\n", "* In Coordinated Universal Time (UTC) so no need to deal with timezones, daylight savings, ...\n", "\n", "---" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.style.use('ggplot')\n", "plt.rcParams['figure.figsize'] = 12, 8" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "## Features of **`UTCDateTime`**\n", "\n", "#### Initialization" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2014-08-24T10:20:44.000000Z\n", "2014-08-24T10:20:44.000000Z\n", "2014-08-24T10:20:44.000000Z\n", "2014-08-24T10:20:44.000000Z\n" ] } ], "source": [ "from obspy import UTCDateTime\n", "\n", "print(UTCDateTime(\"2014-08-24T10:20:44.0\")) # mostly time strings defined by ISO standard\n", "print(UTCDateTime(\"2014-08-24T01:20:44.0-09:00\")) # non-UTC timezone input\n", "print(UTCDateTime(2014, 8, 24, 10, 20, 44)) # year, month, day, hour, min, sec, musec\n", "print(UTCDateTime(1408875644.0)) # timestamp" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2019-11-04T08:59:32.256536Z\n" ] } ], "source": [ "# Current time can be initialized by leaving out any arguments\n", "print(UTCDateTime())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Attribute Access" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2014\n", "236\n", "1408875644.0\n", "6\n" ] } ], "source": [ "time = UTCDateTime(\"2014-08-24T10:20:44.0\")\n", "print(time.year)\n", "print(time.julday)\n", "print(time.timestamp)\n", "print(time.weekday)\n", "# try time." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Handling time differences\n", "\n", "* \"**`+`**/**`-`**\" defined to add seconds to an **`UTCDateTime`** object\n", "* \"**`-`**\" defined to get time difference of two **`UTCDateTime`** objects" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2014-08-24T10:20:44.000000Z\n" ] } ], "source": [ "time = UTCDateTime(\"2014-08-24T10:20:44.0\")\n", "print(time)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2014-08-24T11:20:44.000000Z\n" ] } ], "source": [ "# one hour later\n", "print(time + 3600)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "11194756.0\n" ] } ], "source": [ "# Time differences\n", "time2 = UTCDateTime(2015, 1, 1)\n", "print(time2 - time)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "\n", "Calculate the number of days passed since the 2014 South Napa earthquake (the timestamp used above)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1897.901947792662\n" ] } ], "source": [ "print((UTCDateTime() - UTCDateTime(\"2014-08-24T11:20:44.000000Z\")) / 86400)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make a list of 10 UTCDateTime objects, starting today at 10:00 with a spacing of 90 minutes." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[2017-09-18T10:00:00.000000Z,\n", " 2017-09-18T11:30:00.000000Z,\n", " 2017-09-18T13:00:00.000000Z,\n", " 2017-09-18T14:30:00.000000Z,\n", " 2017-09-18T16:00:00.000000Z,\n", " 2017-09-18T17:30:00.000000Z,\n", " 2017-09-18T19:00:00.000000Z,\n", " 2017-09-18T20:30:00.000000Z,\n", " 2017-09-18T22:00:00.000000Z,\n", " 2017-09-18T23:30:00.000000Z]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t = UTCDateTime(2017, 9, 18, 10)\n", "\n", "times = []\n", "for i in range(10):\n", " t2 = t + i * 90 * 60\n", " times.append(t2)\n", "\n", "times" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below is a list of strings with origin times of magnitude 8+ earthquakes since 2000 (fetched from IRIS). Assemble a list of interevent times in days. Use matplotlib to display a histogram." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "times = [\"2000-11-16T04:54:56\",\n", " \"2001-06-23T20:33:09\",\n", " \"2003-09-25T19:50:07\",\n", " \"2004-12-23T14:59:00\",\n", " \"2004-12-26T00:58:52\",\n", " \"2005-03-28T16:09:35\",\n", " \"2006-05-03T15:26:39\",\n", " \"2006-06-01T18:57:02\",\n", " \"2006-06-05T00:50:31\",\n", " \"2006-11-15T11:14:14\",\n", " \"2007-01-13T04:23:23\",\n", " \"2007-04-01T20:39:56\",\n", " \"2007-08-15T23:40:58\",\n", " \"2007-09-12T11:10:26\",\n", " \"2009-09-29T17:48:11\",\n", " \"2010-02-27T06:34:13\",\n", " \"2011-03-11T05:46:23\",\n", " \"2012-04-11T08:38:37\",\n", " \"2012-04-11T10:43:10\",\n", " \"2013-05-24T05:44:49\",\n", " \"2014-04-01T23:46:47\",\n", " \"2015-09-16T22:54:32\",\n", " \"2017-09-08T04:49:21\"]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "inter_event_times = []\n", "\n", "for i in range(1, len(times)):\n", " dt = UTCDateTime(times[i]) - UTCDateTime(times[i-1])\n", " dt = dt / (3600 * 24)\n", " inter_event_times.append(dt)\n", "\n", "plt.hist(inter_event_times, bins=range(0, 1000, 100))\n", "plt.xlabel(\"Magnitude 8+ interevent times since 2000 [days]\")\n", "plt.ylabel(\"count\")\n", "plt.show()" ] } ], "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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }