From 0308a82067a1a98eb1372cb58f37263cba6c004b Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Tue, 22 Jul 2014 23:40:35 -0700 Subject: [PATCH 01/11] first pass at notebooks/geoclaw/dtopotools_examples.ipynb --- notebooks/geoclaw/data/alaska1964.csv | 13 + notebooks/geoclaw/data/timedep.csv | 13 + notebooks/geoclaw/dtopotools_examples.ipynb | 329 ++++++++++++++++++++ 3 files changed, 355 insertions(+) create mode 100644 notebooks/geoclaw/data/alaska1964.csv create mode 100644 notebooks/geoclaw/data/timedep.csv create mode 100644 notebooks/geoclaw/dtopotools_examples.ipynb diff --git a/notebooks/geoclaw/data/alaska1964.csv b/notebooks/geoclaw/data/alaska1964.csv new file mode 100644 index 00000000..96396161 --- /dev/null +++ b/notebooks/geoclaw/data/alaska1964.csv @@ -0,0 +1,13 @@ +Longitude,Latitude,Depth(km),Length,Width,Strike,Dip,Rake,Slip,UnitSrc +204.89500,55.97000,17.94,100.0,50.0,236.000,15.000,90.0,19.5000,acsza31 +205.34000,55.59800,5.00,100.0,50.0,236.000,15.000,90.0,19.5000,acszb31 +206.20800,56.47300,17.94,100.0,50.0,236.000,15.000,90.0,24.5000,acsza32 +206.65800,56.10000,5.00,100.0,50.0,236.000,15.000,90.0,24.5000,acszb32 +207.53700,56.97500,17.94,100.0,50.0,236.000,15.000,90.0,29.5000,acsza33 +207.99300,56.60300,5.00,100.0,50.0,236.000,15.000,90.0,29.5000,acszb33 +208.93710,57.51240,17.94,100.0,50.0,236.000,15.000,90.0,34.5000,acsza34 +209.40000,57.14000,5.00,100.0,50.0,236.000,15.000,90.0,34.5000,acszb34 +210.25970,58.04410,17.94,100.0,50.0,230.000,15.000,90.0,34.5000,acsza35 +210.80000,57.70000,5.00,100.0,50.0,230.000,15.000,90.0,34.5000,acszb35 +211.32490,58.65650,17.94,100.0,50.0,218.000,15.000,90.0,34.5000,acsza36 +212.00000,58.38000,5.00,100.0,50.0,218.000,15.000,90.0,34.5000,acszb36 diff --git a/notebooks/geoclaw/data/timedep.csv b/notebooks/geoclaw/data/timedep.csv new file mode 100644 index 00000000..c6ee2d70 --- /dev/null +++ b/notebooks/geoclaw/data/timedep.csv @@ -0,0 +1,13 @@ +Longitude,Latitude,Depth(km),Length,Width,Strike,Dip,Rake,Slip,rupture_time,rise_time +204.89500,55.97000,17.94,100.0,50.0,236.000,15.000,90.0,19.5000,0,1 +205.34000,55.59800,5.00,100.0,50.0,236.000,15.000,90.0,19.5000,1,1 +206.20800,56.47300,17.94,100.0,50.0,236.000,15.000,90.0,24.5000,2,1 +206.65800,56.10000,5.00,100.0,50.0,236.000,15.000,90.0,24.5000,3,1 +207.53700,56.97500,17.94,100.0,50.0,236.000,15.000,90.0,29.5000,4,1 +207.99300,56.60300,5.00,100.0,50.0,236.000,15.000,90.0,29.5000,5,1 +208.93710,57.51240,17.94,100.0,50.0,236.000,15.000,90.0,34.5000,6,1 +209.40000,57.14000,5.00,100.0,50.0,236.000,15.000,90.0,34.5000,7,1 +210.25970,58.04410,17.94,100.0,50.0,230.000,15.000,90.0,34.5000,8,1 +210.80000,57.70000,5.00,100.0,50.0,230.000,15.000,90.0,34.5000,9,1 +211.32490,58.65650,17.94,100.0,50.0,218.000,15.000,90.0,34.5000,10,1 +212.00000,58.38000,5.00,100.0,50.0,218.000,15.000,90.0,34.5000,11,1 diff --git a/notebooks/geoclaw/dtopotools_examples.ipynb b/notebooks/geoclaw/dtopotools_examples.ipynb new file mode 100644 index 00000000..c2ca8e46 --- /dev/null +++ b/notebooks/geoclaw/dtopotools_examples.ipynb @@ -0,0 +1,329 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:fe772be33344a2229f50ec4346e32e6dbba27b0bb080e4c58334275af48e3a9a" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# dtopotools examples\n", + "\n", + "This notebook contains some examples of working with the clawpack.geoclaw.dtopotools module." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%pylab inline" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from clawpack.geoclaw import dtopotools, topotools" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 1\n", + "\n", + "Read in a csv file where the first line labels the columns and the remaining lines give the parameters for each subfault. This is a model of the 1964 Alaska earthquake using 12 subfaults from the NOAA SIFT database of unit sources. \n", + "\n", + "See and\n", + "[gica2937.pdf](http://www.pmel.noaa.gov/pubs/PDF/gica2937/gica2937.pdf)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is the raw file:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "subfault_fname = 'data/alaska1964.csv'\n", + "print open(subfault_fname).read()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that the last column has the name of the unit source from the NOAA SIFT database and will be ignored. The other columns have labels that are expected. Specify the units used for each and the coordinate system for the (longitude,latitude) and depth when reading the file in:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", + "fault = dtopotools.CSVFault()\n", + "fault.read(subfault_fname, units=units, coordinate_specification=\"noaa sift\")" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print \"The Moment magnitude is %g\" % fault.Mw()\n", + "print \"assuming the rigidity mu of all subfaults is the default value %g %s\"\\\n", + " % (fault.subfaults[0].mu, units['mu'])" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plot the subfault geometry with a vector showing the rake (direction of slip):" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "fault.plot_subfaults(plot_rake=True)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plot again showing the magnitude of slip on each subfault:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "fault.plot_subfaults(slip_color=True)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plot the coastline by downloading a topo file and plotting the zero contour. (Note this file is entire Pacific at 4 minute resolution, need smaller file.)" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "url = 'http://www.clawpack.org/geoclaw/topo/etopo/etopo4min120E72W40S60N.asc'\n", + "local_fname = 'data/etopo4min120E72W40S60N.asc'\n", + "topotools.fetch_topo_url(url,local_fname,force=True)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "topo_file = 'data/etopo4min120E72W40S60N.asc'\n", + "topo_data = topotools.Topography(topo_file, topo_type=3)\n", + "xtopo,ytopo,ztopo = topo_data.X, topo_data.Y, topo_data.Z\n", + "fault.plot_subfaults()\n", + "contour(xtopo,ytopo,ztopo,[0],colors='g')\n", + "axis([170,240,40,60])\n", + "gca().set_aspect(1./cos(55*pi/180.))" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Generate a dtopo grid by applying the Okada model to each subfault. First we need to specify the region over which the seafloor deformation should be specified and the resolution of the grid:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "xlower = 203.5\n", + "xupper = 214. # approximate - adjusted below\n", + "ylower = 54.5\n", + "yupper = 60. # approximate - adjusted below\n", + "\n", + "# dtopo parameters:\n", + "points_per_degree = 60 # 1 minute resolution\n", + "dx = 1./points_per_degree\n", + "mx = int((xupper - xlower)/dx + 1)\n", + "xupper = xlower + (mx-1)*dx\n", + "my = int((yupper - ylower)/dx + 1)\n", + "yupper = ylower + (my-1)*dx\n", + "\n", + "x = linspace(xlower,xupper,mx)\n", + "y = linspace(ylower,yupper,my)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now apply Okada to create the static deformation at a single time $t = 1$ second:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "dtopo = fault.create_deformation_array(x,y,times=[1.])" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "dtopo.plot_dz_colors(t=1)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create a dtopo file that can be used with GeoClaw:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "dtopo_fname = 'data/alaska1964.tt3'\n", + "dtopo.write(dtopo_fname, dtopo_type=3)\n", + "dtopo.dz_list[-1].min()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Read in an existing dtopo file:\n", + "\n", + "In this case the file we just created..." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "dtopo2 = dtopotools.DTopography()\n", + "dtopo2.read(dtopo_fname, dtopo_type=3)\n", + "\n", + "# Check that this data looks right:\n", + "assert len(dtopo2.x) == 631, \"*** length of x is wrong\"\n", + "assert len(dtopo2.y) == 331, \"*** length of y is wrong\"\n", + "dz_max = dtopo2.dz_list[-1].max()\n", + "assert abs(dz_max - 15.368266081250006) < 1e-5, \"*** dz_max is wrong: %g\" % dz_max\n", + "print \"Looks ok\"" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Time-dependent dtopo \n", + "\n", + "This is synthetic data -- the same set of faults as before but with rupture occuring from south to north." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "subfault_fname = 'data/timedep.csv'\n", + "units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", + "\n", + "fault = dtopotools.CSVFault()\n", + "fault.read(subfault_fname, units=units, coordinate_specification=\"noaa sift\")\n", + "fault.rupture_type = 'dynamic'\n", + "\n", + "xlower = 203.5\n", + "xupper = 214.\n", + "ylower = 54.5\n", + "yupper = 60.\n", + "\n", + "# dtopo parameters:\n", + "points_per_degree = 60 # 1 minute resolution\n", + "mx = int((xupper - xlower)*points_per_degree + 1)\n", + "my = int((yupper - ylower)*points_per_degree + 1)\n", + "x = linspace(xlower,xupper,mx)\n", + "y = linspace(ylower,yupper,my)\n", + "times = linspace(0,13,6)\n", + "dtopo = fault.create_deformation_array(x,y,times=times)\n", + "\n", + "print \"Created list of %s dz deformations\" % len(dtopo.dz_list)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "anim = dtopo.animate_dz_colors(style='notebook')\n", + "anim" + ], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file From 9c262224ccd33387cb19660c2880971b6f0952f4 Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Sat, 9 Aug 2014 21:34:47 -0700 Subject: [PATCH 02/11] updated notebook for dtopotools changes. animate_dz_colors no longer works. --- notebooks/geoclaw/dtopotools_examples.ipynb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/notebooks/geoclaw/dtopotools_examples.ipynb b/notebooks/geoclaw/dtopotools_examples.ipynb index c2ca8e46..86f970ff 100644 --- a/notebooks/geoclaw/dtopotools_examples.ipynb +++ b/notebooks/geoclaw/dtopotools_examples.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:fe772be33344a2229f50ec4346e32e6dbba27b0bb080e4c58334275af48e3a9a" + "signature": "sha256:030919dd43a93414703623c1e090203b5c1b2bbbf28412d26fd66371ff988c43" }, "nbformat": 3, "nbformat_minor": 0, @@ -209,7 +209,7 @@ "cell_type": "code", "collapsed": false, "input": [ - "dtopo = fault.create_deformation_array(x,y,times=[1.])" + "dtopo = fault.create_dtopography(x,y,times=[1.], verbose=True)" ], "language": "python", "metadata": {}, @@ -238,7 +238,7 @@ "input": [ "dtopo_fname = 'data/alaska1964.tt3'\n", "dtopo.write(dtopo_fname, dtopo_type=3)\n", - "dtopo.dz_list[-1].min()" + "print \"Maximum dz = %g\" % dtopo.dz_list[-1].max()" ], "language": "python", "metadata": {}, @@ -285,6 +285,16 @@ "collapsed": false, "input": [ "subfault_fname = 'data/timedep.csv'\n", + "print open(subfault_fname).read()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ "units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", "\n", "fault = dtopotools.CSVFault()\n", @@ -303,7 +313,7 @@ "x = linspace(xlower,xupper,mx)\n", "y = linspace(ylower,yupper,my)\n", "times = linspace(0,13,6)\n", - "dtopo = fault.create_deformation_array(x,y,times=times)\n", + "dtopo = fault.create_dtopography(x,y,times=times)\n", "\n", "print \"Created list of %s dz deformations\" % len(dtopo.dz_list)" ], From d0be4c00e11a20b8c157d7e5f7a74533675799e9 Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Wed, 13 Aug 2014 12:02:09 -0700 Subject: [PATCH 03/11] improved dtopotools_examples.ipynb example to include SIFT model, new animation, improved documentation, etc. --- notebooks/geoclaw/dtopotools_examples.ipynb | 266 +++++++++++++++++--- 1 file changed, 235 insertions(+), 31 deletions(-) diff --git a/notebooks/geoclaw/dtopotools_examples.ipynb b/notebooks/geoclaw/dtopotools_examples.ipynb index 86f970ff..7e68621f 100644 --- a/notebooks/geoclaw/dtopotools_examples.ipynb +++ b/notebooks/geoclaw/dtopotools_examples.ipynb @@ -1,6 +1,6 @@ { "metadata": { - "name": "", + "name": "dtopotools_examples", "signature": "sha256:030919dd43a93414703623c1e090203b5c1b2bbbf28412d26fd66371ff988c43" }, "nbformat": 3, @@ -14,7 +14,27 @@ "source": [ "# dtopotools examples\n", "\n", - "This notebook contains some examples of working with the clawpack.geoclaw.dtopotools module." + "This notebook contains some examples of working with the *clawpack.geoclaw.dtopotools* module. These tools facilitate creating and manipulating the *dtopo* files that are required as GeoClaw input to specify moving topography, in particular the seafloor motion due to a subduction zone earthquake. All the examples in this notebook are of this nature: slip on a fault surface (or in geneneral a collection of rectangular planar subfaults making up the fault) is converted to seafloor deformation by applying the Okada model. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Contents\n", + "\n", + " - Reading a csv file specifying the subfaults\n", + " - Create the dtopo file needed by GeoClaw\n", + " - Read in an existing dtopo file\n", + " - Create a fault using the NOAA SIFT database directly\n", + " - Time-dependent fault rupture\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup notebook and environment:" ] }, { @@ -31,7 +51,10 @@ "cell_type": "code", "collapsed": false, "input": [ - "from clawpack.geoclaw import dtopotools, topotools" + "from clawpack.geoclaw import dtopotools, topotools\n", + "import os\n", + "CLAW = os.environ['CLAW']\n", + "datadir = os.path.join(CLAW,'geoclaw','datafiles') # directory for some sample data files" ], "language": "python", "metadata": {}, @@ -41,12 +64,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Example 1\n", + "
\n", + "\n", + "## Reading a csv file specifying the subfaults\n", "\n", "Read in a csv file where the first line labels the columns and the remaining lines give the parameters for each subfault. This is a model of the 1964 Alaska earthquake using 12 subfaults from the NOAA SIFT database of unit sources. \n", "\n", "See and\n", - "[gica2937.pdf](http://www.pmel.noaa.gov/pubs/PDF/gica2937/gica2937.pdf)" + "[gica2937.pdf](http://www.pmel.noaa.gov/pubs/PDF/gica2937/gica2937.pdf).\n", + "\n", + "The full database is available at and a later example in this notebook illustrates using the *dtopotools.SiftFault* class to access this directly. But this example shows how a csv file can be specified. The first line labels the columns with standard attributes needed to specify each subfault. " ] }, { @@ -78,21 +105,35 @@ "cell_type": "code", "collapsed": false, "input": [ - "units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", + "input_units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", "fault = dtopotools.CSVFault()\n", - "fault.read(subfault_fname, units=units, coordinate_specification=\"noaa sift\")" + "fault.read(subfault_fname, input_units=input_units, coordinate_specification=\"noaa sift\")" ], "language": "python", "metadata": {}, "outputs": [] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You could skip directly to Create the dtopo file needed by GeoClaw, but first we'll explore this fault model a bit..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Moment Magnitude `Mw` can be computed using the `Fault` class method:" + ] + }, { "cell_type": "code", "collapsed": false, "input": [ "print \"The Moment magnitude is %g\" % fault.Mw()\n", - "print \"assuming the rigidity mu of all subfaults is the default value %g %s\"\\\n", - " % (fault.subfaults[0].mu, units['mu'])" + "print \"Assuming the rigidity mu of all subfaults is the default value %g %s\"\\\n", + " % (fault.subfaults[0].mu, input_units['mu'])" ], "language": "python", "metadata": {}, @@ -136,16 +177,19 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Plot the coastline by downloading a topo file and plotting the zero contour. (Note this file is entire Pacific at 4 minute resolution, need smaller file.)" + "Plot the coastline by downloading a file containing the x-y coordinates of shorelines based on etopo 4 minute data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ - "url = 'http://www.clawpack.org/geoclaw/topo/etopo/etopo4min120E72W40S60N.asc'\n", - "local_fname = 'data/etopo4min120E72W40S60N.asc'\n", - "topotools.fetch_topo_url(url,local_fname,force=True)" + "#from clawpack.geoclaw import util; reload(util)\n", + "from clawpack.geoclaw.util import get_remote_file\n", + "filename = 'pacific_shorelines_east_4min.npy'\n", + "url = 'http://www.clawpack.org/geoclaw/topo/' + filename\n", + "get_remote_file(url=url, output_dir=datadir, force=True, verbose=True)\n", + "shorelines_file = os.path.join(datadir, filename)" ], "language": "python", "metadata": {}, @@ -155,18 +199,24 @@ "cell_type": "code", "collapsed": false, "input": [ - "topo_file = 'data/etopo4min120E72W40S60N.asc'\n", - "topo_data = topotools.Topography(topo_file, topo_type=3)\n", - "xtopo,ytopo,ztopo = topo_data.X, topo_data.Y, topo_data.Z\n", "fault.plot_subfaults()\n", - "contour(xtopo,ytopo,ztopo,[0],colors='g')\n", - "axis([170,240,40,60])\n", + "shore = load(shorelines_file)\n", + "plot(shore[:,0], shore[:,1], 'g')\n", + "axis([170,240,40,65])\n", "gca().set_aspect(1./cos(55*pi/180.))" ], "language": "python", "metadata": {}, "outputs": [] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "### Create the dtopo file needed by GeoClaw:" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -215,11 +265,19 @@ "metadata": {}, "outputs": [] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can save this deformation as a `dtopo` file with various `dtopo_type`s recognized by GeoClaw. The most compact is `dtopo_type==3`, which specifies a header followed by all the `dz` data:" + ] + }, { "cell_type": "code", "collapsed": false, "input": [ - "dtopo.plot_dz_colors(t=1)" + "dtopo_fname = os.path.join(datadir, 'alaska1964.tt3')\n", + "dtopo.write(dtopo_fname, dtopo_type=3)" ], "language": "python", "metadata": {}, @@ -229,16 +287,28 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Create a dtopo file that can be used with GeoClaw:" + "Read the file in and print just the header. (The remaining lines contain all the data.)" ] }, { "cell_type": "code", "collapsed": false, "input": [ - "dtopo_fname = 'data/alaska1964.tt3'\n", - "dtopo.write(dtopo_fname, dtopo_type=3)\n", - "print \"Maximum dz = %g\" % dtopo.dz_list[-1].max()" + "lines = open(dtopo_fname).readlines()\n", + "for k in range(9):\n", + " print lines[k][:-1]" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "dtopo.plot_dz_colors(t=1)\n", + "plot(shore[:,0], shore[:,1], 'g')\n", + "axis([xlower,xupper,ylower,yupper])" ], "language": "python", "metadata": {}, @@ -248,9 +318,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "
\n", + "\n", "## Read in an existing dtopo file:\n", "\n", - "In this case the file we just created..." + "An existing dtopo file can be read in for plotting purposes or to further manipulate it. To illustrate, we read in the file we just created..." ] }, { @@ -263,7 +335,7 @@ "# Check that this data looks right:\n", "assert len(dtopo2.x) == 631, \"*** length of x is wrong\"\n", "assert len(dtopo2.y) == 331, \"*** length of y is wrong\"\n", - "dz_max = dtopo2.dz_list[-1].max()\n", + "dz_max = dtopo2.dz_max()\n", "assert abs(dz_max - 15.368266081250006) < 1e-5, \"*** dz_max is wrong: %g\" % dz_max\n", "print \"Looks ok\"" ], @@ -275,9 +347,36 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Time-dependent dtopo \n", + "
\n", + "\n", + "## Create a fault using the NOAA SIFT database directly\n", + "\n", + "The example above showed how to read a csv file with arbitrary columns. Since this particular fault is actually specified in terms of the NOAA SIFT unit sources, another option to create the same fault is to use the *dtopotools.SiftFault* class, which takes as an argument a dictionary *sift_slip* specifying the unit sources to be used and the slip on each. \n", + "\n", + "To illustrate, here we specify only the northern two and southern two unit sources from the example above, but with a dictionary of 12 unit sources we could recreate the full fault." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "sift_slips = {'acsza31':19.5, 'acszb31':19.5, 'acsza36':34.5, 'acszb36':34.5}\n", + "f2 = dtopotools.SiftFault(sift_slips)\n", + "f2.plot_subfaults(slip_color=True)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "\n", + "## Time-dependent fault rupture\n", "\n", - "This is synthetic data -- the same set of faults as before but with rupture occuring from south to north." + "This is synthetic data -- the same set of faults as before but with rupture occuring from south to north. Note that new columns `rupture_time` and `rise_time` have been added." ] }, { @@ -291,20 +390,30 @@ "metadata": {}, "outputs": [] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Read in this csv file and set the parameters for the desired dtopo file:" + ] + }, { "cell_type": "code", "collapsed": false, "input": [ - "units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", + "input_units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", "\n", "fault = dtopotools.CSVFault()\n", - "fault.read(subfault_fname, units=units, coordinate_specification=\"noaa sift\")\n", + "fault.read(subfault_fname, input_units=input_units, coordinate_specification=\"noaa sift\")\n", "fault.rupture_type = 'dynamic'\n", "\n", + "print \"%s subfaults read in \" % len(fault.subfaults)\n", + "\n", "xlower = 203.5\n", "xupper = 214.\n", "ylower = 54.5\n", "yupper = 60.\n", + "xylim = [xlower,xupper,ylower,yupper]\n", "\n", "# dtopo parameters:\n", "points_per_degree = 60 # 1 minute resolution\n", @@ -312,25 +421,120 @@ "my = int((yupper - ylower)*points_per_degree + 1)\n", "x = linspace(xlower,xupper,mx)\n", "y = linspace(ylower,yupper,my)\n", + "print \"dz arrays will have shape %s by %s\" % (len(x),len(y))\n" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Specify the desired output times, in this case 6 times between $t=0$ and $t=13$, when the rupture motion is complete. Then apply the Okada model at each time (to the set of all subfaults with slips computed at each time based on the `rupture_time` and `rise_time` for that subfault). Then `dtopo_dz_list` will be a list of 6 deformation arrays:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "reload(dtopotools)\n", "times = linspace(0,13,6)\n", "dtopo = fault.create_dtopography(x,y,times=times)\n", + "print \"Created list of %s dz deformations\" % len(dtopo.dz_list)\n", + "print \"Each dz array has shape %s by %s\" % dtopo.dz_list[0].shape" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Create an animation of the fault rupture\n", + "\n", + "First define a function that will show time-dependent slip on the fault planes and resulting time-dependent seafloor motion in two side-by-side axes in the same figure:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print \"maximum abs(dz) over the full rupture time, for setting color scale:\", dtopo.dz_max()\n", + "\n", + "# Read in shoreline segments to give context in plots:\n", + "shoreline_fname = os.path.join(datadir,'tohoku_shoreline_1min.npy')\n", + "shoreline_xy = load(shoreline_fname)\n", + "\n", + "# Incorporate this function in dtopotools to replace animate_dz_colors?\n", + "def plot_subfaults_dz(t, fig):\n", + " fig.clf()\n", + " ax1 = fig.add_subplot(121)\n", + " ax2 = fig.add_subplot(122)\n", + " fault.plot_subfaults(axes=ax1, slip_color=True, slip_time=t, xylim=xylim)\n", + " dtopo.plot_dz_colors(axes=ax2, t=t, cmax_dz=dz_max)\n", + " ax1.plot(shoreline_xy[:,0],shoreline_xy[:,1],'g')\n", + " ax2.plot(shoreline_xy[:,0],shoreline_xy[:,1],'g')\n", + " axis(xylim)\n", + " return fig\n" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The loop below makes each plot and then saves it as a png file:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from clawpack.visclaw.JSAnimation import IPython_display\n", + "import clawpack.visclaw.JSAnimation.JSAnimation_frametools as J\n", + "plotdir = '_plots'\n", + "J.make_plotdir(plotdir, clobber=True)\n", + "fig = plt.figure(figsize=(12,5))\n", "\n", - "print \"Created list of %s dz deformations\" % len(dtopo.dz_list)" + "for k,t in enumerate(times):\n", + " plot_subfaults_dz(t,fig)\n", + " J.save_frame(k, verbose=True)\n", + " \n", + "print \"Final frame will be displayed below:\"" ], "language": "python", "metadata": {}, "outputs": [] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Combine the png files into an animation and display it:" + ] + }, { "cell_type": "code", "collapsed": false, "input": [ - "anim = dtopo.animate_dz_colors(style='notebook')\n", + "anim = J.make_anim(plotdir)\n", "anim" ], "language": "python", "metadata": {}, "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] } ], "metadata": {} From acfa0fd959e42640daff5ddb02613720b0b3bf89 Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Wed, 13 Aug 2014 23:32:31 -0700 Subject: [PATCH 04/11] Added a topotools_examples.ipynb notebook --- notebooks/geoclaw/topotools_examples.ipynb | 283 +++++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 notebooks/geoclaw/topotools_examples.ipynb diff --git a/notebooks/geoclaw/topotools_examples.ipynb b/notebooks/geoclaw/topotools_examples.ipynb new file mode 100644 index 00000000..f2b62ca5 --- /dev/null +++ b/notebooks/geoclaw/topotools_examples.ipynb @@ -0,0 +1,283 @@ +{ + "metadata": { + "name": "topotools_examples", + "signature": "sha256:030919dd43a93414703623c1e090203b5c1b2bbbf28412d26fd66371ff988c43" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# topotools examples\n", + "\n", + "This notebook contains some examples of working with the *clawpack.geoclaw.topotools* module. These tools facilitate creating and manipulating the *topo* files that are required as GeoClaw input to specify topography and bathymetry (underwater topography).\n", + "\n", + "See for general documentation of these tools and their use in the context of GeoClaw." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Contents\n", + "\n", + " - Fetching a topo file from the web\n", + " - Reading a topo file\n", + " - Plotting topography data\n", + " - Cropping topography" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup notebook and environment:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%pylab inline" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from clawpack.geoclaw import topotools\n", + "import os\n", + "CLAW = os.environ['CLAW']\n", + "datadir = os.path.join(CLAW,'geoclaw','datafiles') # directory for some sample data files" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "## Fetching a topo file from the web\n", + "\n", + "Many GeoClaw examples are set up to use topography files that have already been created and archived on the web, e.g. the example found in `$CLAW/geoclaw/examples/tsunami/chile2010` uses a topo file that can be obtained by these commands (which are also found in the Python script `maketopo.py` found in that directory):" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from clawpack.geoclaw import util\n", + "filename = 'etopo10min120W60W60S0S.asc'\n", + "url = 'http://www.clawpack.org/geoclaw/topo/etopo/' + filename\n", + "util.get_remote_file(url=url, output_dir=datadir, force=True, verbose=True)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If all you want to do is use this topo file in a GeoClaw run, you do not need to use any further Python tools." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "\n", + "## Reading a topo file\n", + "\n", + "In order to plot or manipulate the topo data, we first read the file we just downloaded into a `topotools.Topography` object. To do so, we must know how the data is formatted. This file is in the format `topo_type==2` as described at :" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "reload(topotools)\n", + "topo_path = os.path.join(datadir, filename)\n", + "topo = topotools.Topography()\n", + "topo.read(topo_path, topo_type=2)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now do various things with the data. First let's print out some basic attributes:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print \"The extent of the data in longitude and latitude: \",topo.extent" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print \"The shapes of 1-dimensional arrays of longitude x and latitude y values:\", topo.x.shape, topo.y.shape\n", + "print \"The shapes of 2-dimensional arrays X,Y and the topography data Z:\", topo.Z.shape" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "## Plotting topography data\n", + "\n", + "A simple plot with various defaults used can be obtained simply by:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "topo.plot()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Various arguments can be supplied for more control, e.g.:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "topo.plot(axes=None, region_extent=(-90,-60,-60,-40), coastlines=False)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Of course you can plot the data any way you want using the X, Y, and Z attributes, e.g." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "contourf(topo.X, topo.Y, topo.Z, [-7000, -5000, -4000, -3000, -2000, 0])\n", + "colorbar()\n", + "# rescale aspect ratio based on mean latitude so distances more correct:\n", + "gca().set_aspect(1.0 / cos(pi / 180.0 * topo.y.mean())) " + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "## Cropping topography\n", + "\n", + "Sometimes it is useful to crop a large topo file to create a smaller one that contains a sub-region, e.g." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "filter_region = (-90, -60, -60, -40)\n", + "topo2 = topo.crop(filter_region)\n", + "topo2.Z.shape" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "topo2.plot()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The cropped topography can be written out to a new file, which will be smaller than the original:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "topo2_path = os.path.join(datadir,'tip_of_south_america.tt3')\n", + "topo2.write(topo2_path, topo_type=3)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print \"Size of the new file: %s bytes\" % os.stat(topo2_path).st_size\n", + "print \"Size of the original file: %s bytes\" % os.stat(topo_path).st_size" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To obtain topography for other regions, see the links at " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file From b65ecdc75bb19c36114575929f1d908a0552f502 Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Wed, 13 Aug 2014 23:44:33 -0700 Subject: [PATCH 05/11] cleaned up reloads --- notebooks/geoclaw/dtopotools_examples.ipynb | 2 -- 1 file changed, 2 deletions(-) diff --git a/notebooks/geoclaw/dtopotools_examples.ipynb b/notebooks/geoclaw/dtopotools_examples.ipynb index 7e68621f..cd00ea86 100644 --- a/notebooks/geoclaw/dtopotools_examples.ipynb +++ b/notebooks/geoclaw/dtopotools_examples.ipynb @@ -184,7 +184,6 @@ "cell_type": "code", "collapsed": false, "input": [ - "#from clawpack.geoclaw import util; reload(util)\n", "from clawpack.geoclaw.util import get_remote_file\n", "filename = 'pacific_shorelines_east_4min.npy'\n", "url = 'http://www.clawpack.org/geoclaw/topo/' + filename\n", @@ -438,7 +437,6 @@ "cell_type": "code", "collapsed": false, "input": [ - "reload(dtopotools)\n", "times = linspace(0,13,6)\n", "dtopo = fault.create_dtopography(x,y,times=times)\n", "print \"Created list of %s dz deformations\" % len(dtopo.dz_list)\n", From 240ab52aab814ba5d261c235648c2083de317390 Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Fri, 22 Aug 2014 17:28:53 -0700 Subject: [PATCH 06/11] updates to topotools and dtopotools notebooks --- notebooks/geoclaw/dtopotools_examples.ipynb | 52 +++++++++++++++------ notebooks/geoclaw/topotools_examples.ipynb | 40 ++++++++++------ 2 files changed, 62 insertions(+), 30 deletions(-) diff --git a/notebooks/geoclaw/dtopotools_examples.ipynb b/notebooks/geoclaw/dtopotools_examples.ipynb index cd00ea86..f62c6690 100644 --- a/notebooks/geoclaw/dtopotools_examples.ipynb +++ b/notebooks/geoclaw/dtopotools_examples.ipynb @@ -1,7 +1,7 @@ { "metadata": { - "name": "dtopotools_examples", - "signature": "sha256:030919dd43a93414703623c1e090203b5c1b2bbbf28412d26fd66371ff988c43" + "name": "", + "signature": "sha256:52ccc1958a6f4157072dc1a0be474e54e2664bc589f6e7cc0a02b2e39465de70" }, "nbformat": 3, "nbformat_minor": 0, @@ -12,9 +12,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# dtopotools examples\n", + "# GeoClaw dtopotools examples\n", "\n", - "This notebook contains some examples of working with the *clawpack.geoclaw.dtopotools* module. These tools facilitate creating and manipulating the *dtopo* files that are required as GeoClaw input to specify moving topography, in particular the seafloor motion due to a subduction zone earthquake. All the examples in this notebook are of this nature: slip on a fault surface (or in geneneral a collection of rectangular planar subfaults making up the fault) is converted to seafloor deformation by applying the Okada model. " + "This notebook contains some examples of working with the *clawpack.geoclaw.dtopotools* module. These tools facilitate creating and manipulating the *dtopo* files that are required as GeoClaw input to specify moving topography, in particular the seafloor motion due to a subduction zone earthquake. All the examples in this notebook are of this nature: slip on a fault surface (or in geneneral a collection of rectangular planar subfaults making up the fault) is converted to seafloor deformation by applying the Okada model. \n", + "\n", + "See for general documentation of these tools and their use in the context of GeoClaw, and for more information on the Clawpack suite of software." ] }, { @@ -24,7 +26,9 @@ "## Contents\n", "\n", " - Reading a csv file specifying the subfaults\n", - " - Create the dtopo file needed by GeoClaw\n", + " - Plot the subfault geometry and slip\n", + " - Plot the seafloor displacement\n", + " - Create the dtopo file needed by GeoClaw\n", " - Read in an existing dtopo file\n", " - Create a fault using the NOAA SIFT database directly\n", " - Time-dependent fault rupture\n" @@ -54,7 +58,7 @@ "from clawpack.geoclaw import dtopotools, topotools\n", "import os\n", "CLAW = os.environ['CLAW']\n", - "datadir = os.path.join(CLAW,'geoclaw','datafiles') # directory for some sample data files" + "datadir = os.path.join(CLAW,'geoclaw','scratch') # directory for some sample data files" ], "language": "python", "metadata": {}, @@ -105,7 +109,7 @@ "cell_type": "code", "collapsed": false, "input": [ - "input_units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", + "input_units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\"}\n", "fault = dtopotools.CSVFault()\n", "fault.read(subfault_fname, input_units=input_units, coordinate_specification=\"noaa sift\")" ], @@ -124,16 +128,17 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The Moment Magnitude `Mw` can be computed using the `Fault` class method:" + "The Seismic moment `Mo` and Moment Magnitude `Mw` can be computed using the `Fault` class methods:" ] }, { "cell_type": "code", "collapsed": false, "input": [ + "print \"The seismic moment is %g N-m\" % fault.Mo()\n", "print \"The Moment magnitude is %g\" % fault.Mw()\n", - "print \"Assuming the rigidity mu of all subfaults is the default value %g %s\"\\\n", - " % (fault.subfaults[0].mu, input_units['mu'])" + "print \" (Assuming the rigidity mu of all subfaults is the default value %g Pa)\"\\\n", + " % fault.subfaults[0].mu" ], "language": "python", "metadata": {}, @@ -143,7 +148,10 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Plot the subfault geometry with a vector showing the rake (direction of slip):" + "
\n", + "### Plot the subfault geometry and slip\n", + "\n", + "First with a vector showing the rake (direction of slip):" ] }, { @@ -301,13 +309,25 @@ "metadata": {}, "outputs": [] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "### Plot the seafloor displacement" + ] + }, { "cell_type": "code", "collapsed": false, "input": [ "dtopo.plot_dz_colors(t=1)\n", + "\n", + "# add shoreline and Anchorage for orientation:\n", "plot(shore[:,0], shore[:,1], 'g')\n", - "axis([xlower,xupper,ylower,yupper])" + "plot([210.1],[61.2],'ro')\n", + "text(210.3,61.5,'Anchorage')\n", + "axis([xlower,xupper,ylower,62])" ], "language": "python", "metadata": {}, @@ -462,8 +482,9 @@ "print \"maximum abs(dz) over the full rupture time, for setting color scale:\", dtopo.dz_max()\n", "\n", "# Read in shoreline segments to give context in plots:\n", - "shoreline_fname = os.path.join(datadir,'tohoku_shoreline_1min.npy')\n", - "shoreline_xy = load(shoreline_fname)\n", + "#shoreline_fname = os.path.join(datadir,'tohoku_shoreline_1min.npy')\n", + "#shoreline_xy = load(shoreline_fname)\n", + "shoreline_xy = shore\n", "\n", "# Incorporate this function in dtopotools to replace animate_dz_colors?\n", "def plot_subfaults_dz(t, fig):\n", @@ -474,7 +495,8 @@ " dtopo.plot_dz_colors(axes=ax2, t=t, cmax_dz=dz_max)\n", " ax1.plot(shoreline_xy[:,0],shoreline_xy[:,1],'g')\n", " ax2.plot(shoreline_xy[:,0],shoreline_xy[:,1],'g')\n", - " axis(xylim)\n", + " ax2.set_xlim(xlower,xupper)\n", + " ax2.set_ylim(ylower,yupper)\n", " return fig\n" ], "language": "python", diff --git a/notebooks/geoclaw/topotools_examples.ipynb b/notebooks/geoclaw/topotools_examples.ipynb index f2b62ca5..e441cad7 100644 --- a/notebooks/geoclaw/topotools_examples.ipynb +++ b/notebooks/geoclaw/topotools_examples.ipynb @@ -1,7 +1,7 @@ { "metadata": { - "name": "topotools_examples", - "signature": "sha256:030919dd43a93414703623c1e090203b5c1b2bbbf28412d26fd66371ff988c43" + "name": "", + "signature": "sha256:7424a84ca945f9c14d4b00d8dc4703623e42ba9d05e046ea5f924221ca633e55" }, "nbformat": 3, "nbformat_minor": 0, @@ -12,11 +12,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# topotools examples\n", + "# GeoClaw topotools examples\n", "\n", "This notebook contains some examples of working with the *clawpack.geoclaw.topotools* module. These tools facilitate creating and manipulating the *topo* files that are required as GeoClaw input to specify topography and bathymetry (underwater topography).\n", "\n", - "See for general documentation of these tools and their use in the context of GeoClaw." + "See for general documentation of these tools and their use in the context of GeoClaw, and for more information on the Clawpack suite of software." ] }, { @@ -55,7 +55,7 @@ "from clawpack.geoclaw import topotools\n", "import os\n", "CLAW = os.environ['CLAW']\n", - "datadir = os.path.join(CLAW,'geoclaw','datafiles') # directory for some sample data files" + "datadir = os.path.join(CLAW,'geoclaw','scratch') # directory for some sample data files" ], "language": "python", "metadata": {}, @@ -106,7 +106,6 @@ "cell_type": "code", "collapsed": false, "input": [ - "reload(topotools)\n", "topo_path = os.path.join(datadir, filename)\n", "topo = topotools.Topography()\n", "topo.read(topo_path, topo_type=2)" @@ -126,7 +125,8 @@ "cell_type": "code", "collapsed": false, "input": [ - "print \"The extent of the data in longitude and latitude: \",topo.extent" + "print \"The extent of the data in longitude and latitude: \"\n", + "print topo.extent" ], "language": "python", "metadata": {}, @@ -143,6 +143,24 @@ "metadata": {}, "outputs": [] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the filename you might guess this is 10-arcminute data, we can check that it is:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print \"topo.delta = \",topo.delta\n", + "print \"10 arcminutes is 1/6 degree = %8.6f degree\" % (1./6.)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -267,14 +285,6 @@ "source": [ "To obtain topography for other regions, see the links at " ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [], - "language": "python", - "metadata": {}, - "outputs": [] } ], "metadata": {} From 86491e5bf8595df9eeeaf06ca5634da7437200dd Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Fri, 29 Aug 2014 15:59:50 -0400 Subject: [PATCH 07/11] Added Okada.ipynb notebook --- notebooks/geoclaw/Okada.ipynb | 1287 +++++++++++++++++++++++++++++++++ 1 file changed, 1287 insertions(+) create mode 100644 notebooks/geoclaw/Okada.ipynb diff --git a/notebooks/geoclaw/Okada.ipynb b/notebooks/geoclaw/Okada.ipynb new file mode 100644 index 00000000..7b79a731 --- /dev/null +++ b/notebooks/geoclaw/Okada.ipynb @@ -0,0 +1,1287 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:d21e3d00693a48a58a925118e6508ca124a59d65ed7c89a31947ade72f589bc9" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The Okada model for computing seafloor deformation\n", + "\n", + "This notebook is part of the GeoClaw documentation, see \n", + " - For general Clawpack documentation,\n", + " - for more documentation on the use of the Okada model in GeoClaw. \n", + " - for information on obtaining the *apps* repository. The source for this notebook is maintained in `$CLAW/apps/notebooks/geoclaw/Okada.ipynb`.\n", + " \n", + "## Contents\n", + "\n", + "- Examples\n", + "- Typical subduction zone thrust event\n", + "- Varying the strike\n", + "- Varying the dip\n", + "- Varying the rake" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introduction\n", + "\n", + "The \"Okada model\" takes as input the slip on a rectangular patch of a fault deep in the earth and produces the resulting deformation of the earth's surface. For tsunami modeling, we are particularly interested in the vertical motion of the seafloor above the fault. \n", + "\n", + "The Okada model makes many assumptions that only approximate reality, in particular:\n", + " - The earth is modeled as a perfectly elastic half space. The slip is uniform on a rectangular patch and a Greens' function solution to the half space problem is integrated to obtain the vertical deformation at the surface of the half plane. The seafloor topography is ignored in computing the Okada deformation (which is then generally added to the real topography to get the modified topography during the earthquake).\n", + " - The half space is assumed to be isotropic with uniform elastic moduli. The Poisson ratio is generally taken to be 0.25 and the shear modulus (or rigidity) is constant, often taken to be $4\\times 10^{11}$ dyne/cm$^2 = 40$ GPa.\n", + " \n", + "Complex earthquake fault surfaces are generally approximated by a subdividing into a set of rectangular subfaults, each of which might have different orientation and slip properties. The Okada model is applied to each and then the resulting surface deformations are summed. The Okada model is linear, so that if a single planar fault is split into subfaults the resulting surface deformation should be independent of the number of pieces its split into.\n", + "\n", + "The GeoClaw *dtopotools.Fault* class provides tools for specifying a fault as a collection of *dtopotools.SubFault* objects, and an object of this class has a method *create_dtopography* that applies the Okada model and returns a *dtopotools.DTopography* object expressing the surface deformation. In this notebook we illustrate the Okada model by working with a fault that consists of a single subfault.\n", + "\n", + "A subfault is specified via the following standard parameters:\n", + " - *length* and *width* of the fault plane (specified in meters below),\n", + " - *latitude* and *longitude* of some point on the fault plane, typically\n", + " either the centroid or the center of the top (shallowest edge),\n", + " - *depth* of the specified point below the sea floor (in meters below),\n", + " - *strike*, the orientation of the top edge, measured in degrees\n", + " clockwise from North, between 0 and 360. The fault plane dips downward\n", + " to the right when moving along the top edge in the strike direction.\n", + " - *dip*, angle at which the plane dips downward from the top edge, a\n", + " positive angle between 0 and 90 degrees.\n", + " - *rake*, the angle in the fault plane in which the slip occurs,\n", + " measured in degrees counterclockwise from the strike direction.\n", + " Between -180 and 180.\n", + " - *slip > 0*, the distance (measured in meters below) the hanging-wall block moves\n", + " relative to the footwall block, in the direction specified by the rake.\n", + " The \"hanging-wall block\" is the one above the dipping fault plane (or to the\n", + " right if you move along the fault in the strike direction).\n", + " \n", + "\n", + "For other descriptions and illustrations, see e.g.\n", + " - \n", + " - \n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Import modules and define some utility functions used below..." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%pylab inline" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Populating the interactive namespace from numpy and matplotlib\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from clawpack.geoclaw import dtopotools\n", + "from clawpack.visclaw.JSAnimation import IPython_display\n", + "import clawpack.visclaw.JSAnimation.JSAnimation_frametools as J" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 2 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def set_fault(strike, dip, rake, depth):\n", + " \"\"\"\n", + " Set the subfault parameters.\n", + " Most are fixed for the examples below, \n", + " and only the strike, dip, and rake will be varied.\n", + " \"\"\"\n", + " subfault = dtopotools.SubFault()\n", + " subfault.strike = strike\n", + " subfault.dip = dip\n", + " subfault.rake = rake\n", + " subfault.length = 100.e3\n", + " subfault.width = 50.e3\n", + " subfault.depth = depth\n", + " subfault.slip = 1.\n", + " subfault.longitude = 0.\n", + " subfault.latitude = 0.\n", + " subfault.coordinate_specification = \"top center\"\n", + "\n", + " fault = dtopotools.Fault()\n", + " fault.subfaults = [subfault]\n", + " return fault, subfault\n", + "\n", + "fault, subfault = set_fault(0,0,0)\n", + "print \"This sample fault has %s meter of slip over a %s by %s km patch\" \\\n", + " % (subfault.slip,subfault.length/1e3,subfault.width/1e3)\n", + "print \"With shear modulus %4.1e Pa the seismic moment is %4.1e\" % (subfault.mu, subfault.Mo())\n", + "print \" corresponding to an earthquake with moment magnitude %s\" % fault.Mw()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "set_fault() takes exactly 4 arguments (3 given)", + "output_type": "pyerr", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mfault\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubfault\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 23\u001b[0;31m \u001b[0mfault\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubfault\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mset_fault\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 24\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"This sample fault has %s meter of slip over a %s by %s km patch\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mslip\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlength\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m1e3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m1e3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"With shear modulus %4.1e Pa the seismic moment is %4.1e\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmu\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: set_fault() takes exactly 4 arguments (3 given)" + ] + } + ], + "prompt_number": 199 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def plot_okada(strike, dip, rake, depth, verbose=False):\n", + " \"\"\"\n", + " Make 3 plots to illustrate the Okada solution.\n", + " \"\"\"\n", + "\n", + " fault,subfault = set_fault(strike, dip, rake, depth)\n", + "\n", + " ax1 = subplot(2,2,1)\n", + " ax2 = subplot(2,2,2)\n", + " ax3 = subplot(2,2,3)\n", + " ax4 = subplot(2,2,4)\n", + "\n", + " ax = fault.plot_subfaults(axes=ax1, plot_rake=True, xylim=[-.5,1.5, -1,1])\n", + " text(0.6,0.8,\"Strike = %5.1f\" % strike, fontsize=12)\n", + " text(0.6,0.6,\"Dip = %5.1f\" % dip, fontsize=12)\n", + " text(0.6,0.4,\"Rake = %5.1f\" % rake, fontsize=12)\n", + " text(0.6,0.2,\"Depth = %5.1f km\" % (depth/1e3), fontsize=12)\n", + "\n", + " z_top = -subfault.geometry['depth_top'] / 1e3 # convert to km\n", + " z_bottom = -subfault.geometry['depth_bottom'] / 1e3 # convert to km\n", + " ax3.plot([0,cos(subfault.dip*pi/180.)*subfault.width/1e3], [z_top, z_bottom])\n", + " ax3.set_xlim(-50,150)\n", + " #ax3.set_ylim(min(-10.,z_bottom - 1.), 0)\n", + " ax3.set_ylim(-55,0)\n", + " ax3.set_xlabel('distance orthogonal to strike (km)')\n", + " ax3.set_ylabel('depth (km)')\n", + " ax3.set_title('Depth profile')\n", + " \n", + " \n", + " # Grid to use for evaluating and plotting dz\n", + " x = numpy.linspace(-0.5, 1., 101)\n", + " y = numpy.linspace(-1., 1., 101)\n", + " times = [1.]\n", + "\n", + " fault.create_dtopography(x,y,times,verbose=verbose)\n", + " dtopo = fault.dtopo\n", + " dtopo.plot_dz_colors(t=1., axes=ax2)\n", + " \n", + " dz = dtopo.DZ[-1,50,:]\n", + " ax4.plot(x,dz)\n", + " ax4.set_ylim(-0.5,0.5)\n", + " ax4.set_title('Transect of dz along y=0')\n", + " ax4.set_ylabel('Seafloor deformation (m)')\n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 200 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "## Examples\n", + "\n", + "
\n", + "### Typical subduction zone thrust event\n", + "\n", + "For a subduction zone earthquake, the rake is generally close to 90 degrees. In the first example below we take it to be 80 degrees -- note that the green line on the fault plane extending from the centroid in the rake direction is 80 degrees counterclockwise from north (the strike direction, since *strike = 0*). \n", + "\n", + "Note that the fault plane plot shows the projection of the fault plane on the flat surface. It dips down to the right as seen in the depth profile. The *dip* is 10 degrees and the fault extends from a depth of 5 km at the up-dip edge to about 14 km at the downdip edge. Note that above the width of the subfault is set to 50 km and that the \"Fault planes\" plot axes are in degrees. This fault is located at the equator where 1 degree is approximate 111 km in both directions.\n", + "\n", + "The rock above the fault plane (the hanging block) is moving to the left relative to the lower block (as shown by the green line) and hence the rock above the fault will be compressed to the left and bulge upwards. The rock to the right is under tension and the surface dips downwards as a result. This can be seen in the \"seafloor deformation\" plot, where the colors indicate meters of vertical motion. \n", + "\n", + "The *slip* on this subfault was set to 1 meter above. Since the Okada model is linear, changing the slip to some other value would simply multiply the deformation by the same factor everywhere." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "fig=figure(figsize=(10,10))\n", + "plot_okada(strike=0, dip=10, rake=80, depth=5e3, verbose=True)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Making Okada dz for each of 1 subfaults\n", + "0.." + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Done\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\ndXbTVrSsmymzNu2sNjSayoVGTOOunURSTFhYGC4uLri7u+Pl5UXPnj1ZsmQJwqz1+vTTT/n3v/9d\nh1bCzJkz6dChAw4ODsyZM6dE/MqVKwkNDcXNzY2HH34YnU5Xal5xcXH0798fV1dXIiMj2b59e02a\nLpFUAYFSC6EylCbwKiL0yq1tHQinW0roSZGn0rhrJ5EUoygKmzZtIiMjg/j4eF566SXeeustxo8f\nX9emWdCqVSsWLlzI/fffj2L1tDh58iSTJ09mxYoVJCcn4+LiwjPPPFNqXo899hhdunQhNTWV+fPn\nM3z4cK5fv17TVZBI6i1V9Rg2yEkI1UiDEXpS5Kk07tpJJDbQarU8+OCDfPvtt3z99decOnUKgLFj\nxzJz5kwAYmJiCAoKYsGCBTRt2pQWLVqwcuXKGrdt9OjRDBo0CK1Wa+FlBFixYgUPPfQQvXr1wtXV\nlblz57J27Vqys7NL5HP27FkOHz7MnDlzcHJy4m9/+xsdO3ZkzZo1NV4HiaT+UnWvX2W6b0uUXo4n\nzdrbVpVQUTsqKtxM6apT6N2sZ7FcpMhTady1k0jK4I477iAoKIg9e/YARd4+c+9ZcnIyKSkpJCUl\n8fXXXzNx4kTOnj1rM69nnnkGLy8vm6FTp07VYu+pU6eIjo5Wj8PDw3FycrJp08mTJwkPD8fV1VU9\nFx0dzcmTJ6vFFomksVOTQq+8+JoUeKWVUx223ww14h2sBpG3detW2rZtS6tWrXjrrbdKxK9YsYLo\n6Gg6duxIz549OXbsmEW80Wikc+fOPPjggzVQwYojRZ7kliYgIIDU1FT12Np7NnfuXBwcHOjTpw/3\n338/3333nc18PvnkE3Q6nc1w5MiRarE1KysLDw8Pi3Pu7u5kZmZWKa1EUudUpwurNhSSFdZCrzLi\nr6zib9bcmhZw9b7btooiz2g0MnXqVLZu3cqpU6dYtWoVp0+ftkgTHh7O7t27OXbsGDNnzmTixIkW\n8e+//z7t2rUrMeymtpEiT3JLk5iYiLe3t804Ly8vnJ2d1ePQ0FCSkpJqy7QSuLm5kZ6ebnEuPT0d\nrVZrM21GRobFubS0NNzd3WvURomk0pj3A9aXUExFunNLe4ZXROhVVeBVl9Az/wjKo4p6uHaoosg7\ncOAAERERhIWF4eDgwMiRI1m/fr1Fmu7du6s/pLt27UpiYqIal5iYyJYtW3j66adLOA5qGynyJLcs\n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\nTkSuQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 201 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "## Varying the strike\n", + "\n", + "Changing the strike simply rotates the fault and the resulting deformation...\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plotdir = 'okada_strike_plots'\n", + "J.make_plotdir(plotdir, clobber=True)\n", + "fig=figure(figsize=(10,10))\n", + "for k,strike in enumerate(linspace(0,360,19)):\n", + " clf()\n", + " plot_okada(strike, 10., 80., 5e3)\n", + " J.save_frame(k, plotdir=plotdir, verbose=False)\n", + " \n", + "clf()\n", + "anim = J.make_anim(plotdir)\n", + "anim" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Figure files for each frame will be stored in okada_strike_plots\n" + ] + }, + { + "html": [ + "\n", + "\n", + "\n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " Once \n", + " Loop \n", + " Reflect \n", + "
\n", + "
\n", + "\n", + "\n", + "\n" + ], + "metadata": {}, + "output_type": "pyout", + "prompt_number": 202, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "text": [ + "" + ] + } + ], + "prompt_number": 202 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "## Varying the dip\n", + "\n", + "When *dip=0* the fault plane is horizontal. If the *rake* is near 90 degrees we expect compression and uplift to the left and subsidence to the right, as illustrated above. \n", + "\n", + "When the *dip=90* the fault plane is vertical with the hanging-wall block to the right moving upward and the footwall block to the left moving downward. We then expect to see uplift on the right and subsidence on the left, opposite to what is seen when *dip=0*. \n", + "\n", + "Note how this transition takes place as the dip is changed..." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plotdir = 'okada_dip_plots'\n", + "J.make_plotdir(plotdir, clobber=True)\n", + "fig=figure(figsize=(10,10))\n", + "for k,dip in enumerate(linspace(0,90,10)):\n", + " clf()\n", + " plot_okada(0., dip, 90., 5e3)\n", + " J.save_frame(k, plotdir=plotdir, verbose=False)\n", + " \n", + "clf()\n", + "anim = J.make_anim(plotdir)\n", + "anim" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Figure files for each frame will be stored in okada_dip_plots\n" + ] + }, + { + "html": [ + "\n", + "\n", + "\n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " Once \n", + " Loop \n", + " Reflect \n", + "
\n", + "
\n", + "\n", + "\n", + "\n" + ], + "metadata": {}, + "output_type": "pyout", + "prompt_number": 203, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "text": [ + "" + ] + } + ], + "prompt_number": 203 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "## Varying the rake\n", + "\n", + "If we fix the *dip* at 10 degrees and vary the direction of slip on the fault plane (the *rake*), we get the following patterns:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plotdir = 'okada_rake_plots'\n", + "J.make_plotdir(plotdir, clobber=True)\n", + "fig=figure(figsize=(9,9))\n", + "for k,rake in enumerate(linspace(-90,90,19)):\n", + " clf()\n", + " plot_okada(0., 10., rake, 5e)\n", + " J.save_frame(k, plotdir=plotdir, verbose=False)\n", + " \n", + "clf()\n", + "anim = J.make_anim(plotdir)\n", + "anim" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Figure files for each frame will be stored in okada_rake_plots\n" + ] + }, + { + "html": [ + "\n", + "\n", + "\n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " Once \n", + " Loop \n", + " Reflect \n", + "
\n", + "
\n", + "\n", + "\n", + "\n" + ], + "metadata": {}, + "output_type": "pyout", + "prompt_number": 192, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "text": [ + "" + ] + } + ], + "prompt_number": 192 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "## Varying the depth\n", + "\n", + "If the fault surface is near the surface the surface deformation will be more concentrated near the fault plane than if the fault is deeper, as the next animation illustrates.\n", + "\n", + "Note that the grid used in this example for evaluting the seafloor deformation *dz* does not extend out far enough to capture all of the deformation, particularly for deeper faults!" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plotdir = 'okada_depth_plots'\n", + "J.make_plotdir(plotdir, clobber=True)\n", + "fig=figure(figsize=(9,9))\n", + "for k,depth in enumerate(arange(0,40,2)*1e3):\n", + " clf()\n", + " plot_okada(0., 10., 80, depth)\n", + " J.save_frame(k, plotdir=plotdir, verbose=False)\n", + " \n", + "clf()\n", + "anim = J.make_anim(plotdir)\n", + "anim" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Figure files for each frame will be stored in okada_depth_plots\n" + ] + }, + { + "html": [ + "\n", + "\n", + "\n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " Once \n", + " Loop \n", + " Reflect \n", + "
\n", + "
\n", + "\n", + "\n", + "\n" + ], + "metadata": {}, + "output_type": "pyout", + "prompt_number": 198, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "text": [ + "" + ] + } + ], + "prompt_number": 198 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file From cebe72d911150c8cb164deafb25f36079668203c Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Fri, 29 Aug 2014 16:15:50 -0400 Subject: [PATCH 08/11] removed output and fixed Okada.ipynb --- notebooks/geoclaw/Okada.ipynb | 961 +--------------------------------- 1 file changed, 17 insertions(+), 944 deletions(-) diff --git a/notebooks/geoclaw/Okada.ipynb b/notebooks/geoclaw/Okada.ipynb index 7b79a731..47e2ff05 100644 --- a/notebooks/geoclaw/Okada.ipynb +++ b/notebooks/geoclaw/Okada.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:d21e3d00693a48a58a925118e6508ca124a59d65ed7c89a31947ade72f589bc9" + "signature": "sha256:023dd792765403d786a72570960192ca842e117b8e4486c09d8c15837cbf9005" }, "nbformat": 3, "nbformat_minor": 0, @@ -18,6 +18,7 @@ " - For general Clawpack documentation,\n", " - for more documentation on the use of the Okada model in GeoClaw. \n", " - for information on obtaining the *apps* repository. The source for this notebook is maintained in `$CLAW/apps/notebooks/geoclaw/Okada.ipynb`.\n", + " - : In GeoClaw the Okada model is implemented in `dtopotools.SubFault.okada`, \n", " \n", "## Contents\n", "\n", @@ -84,16 +85,7 @@ ], "language": "python", "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Populating the interactive namespace from numpy and matplotlib\n" - ] - } - ], - "prompt_number": 1 + "outputs": [] }, { "cell_type": "code", @@ -105,8 +97,7 @@ ], "language": "python", "metadata": {}, - "outputs": [], - "prompt_number": 2 + "outputs": [] }, { "cell_type": "code", @@ -134,27 +125,16 @@ " fault.subfaults = [subfault]\n", " return fault, subfault\n", "\n", - "fault, subfault = set_fault(0,0,0)\n", + "fault, subfault = set_fault(0,0,0,5e3)\n", "print \"This sample fault has %s meter of slip over a %s by %s km patch\" \\\n", " % (subfault.slip,subfault.length/1e3,subfault.width/1e3)\n", "print \"With shear modulus %4.1e Pa the seismic moment is %4.1e\" % (subfault.mu, subfault.Mo())\n", - "print \" corresponding to an earthquake with moment magnitude %s\" % fault.Mw()" + "print \" corresponding to an earthquake with moment magnitude %s\" % fault.Mw()\n", + "print \"The depth at the top edge of the fault plane is %s km\" % (subfault.depth/1e3)" ], "language": "python", "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "set_fault() takes exactly 4 arguments (3 given)", - "output_type": "pyerr", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mfault\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubfault\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 23\u001b[0;31m \u001b[0mfault\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubfault\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mset_fault\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 24\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"This sample fault has %s meter of slip over a %s by %s km patch\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mslip\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlength\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m1e3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m1e3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"With shear modulus %4.1e Pa the seismic moment is %4.1e\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmu\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubfault\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: set_fault() takes exactly 4 arguments (3 given)" - ] - } - ], - "prompt_number": 199 + "outputs": [] }, { "cell_type": "code", @@ -207,8 +187,7 @@ ], "language": "python", "metadata": {}, - "outputs": [], - "prompt_number": 200 + "outputs": [] }, { "cell_type": "markdown", @@ -238,33 +217,7 @@ ], "language": "python", "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Making Okada dz for each of 1 subfaults\n", - "0.." - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "Done\n" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAnkAAAJoCAYAAAAag/efAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4VMXexz9n00jZdEJIJ4QSAgREpTdFRCzgBRRFKSJN\n8cJV78VyERAQFdFrBxvIK8UCly4qJZSrNKUXgUhIQiBAsultdzPvH8kedjebRnqYz/NMds+ZOTO/\nOZud893fNEUIIZBIJBKJRCKRNCo0dW2ARCKRSCQSiaT6kSJPIpFIJBKJpBEiRZ5EIpFIJBJJI0SK\nPIlEIpFIJJJGiBR5EolEIpFIJI0QKfIkEolEIpFIGiFS5Elqnbi4ODQaDYWFhdWS3+zZs3nyySer\nJS+JRFI3jBs3Dm9vb7p168auXbsIDg6uEztiYmIqVba53fWNPXv20LZt27o2Q1KHSJEnKZewsDBc\nXFzQarVotVrc3d25cuVKteXfr18/vvzyy5u+XlGUarNFIpGUzt69e+nRoweenp74+PjQq1cvDh06\nVOV89+zZw7Zt20hKSmLfvn00lOVbre2uazQaDX/99Zd63Lt3b86cOVOHFknqGvu6NkBS/1EUhU2b\nNnHXXXfVWP5VoaE8ECSShkxGRgYPPPAAS5Ys4ZFHHiE/P589e/bg5ORU5bwvXrxIWFgYTZo0qQZL\nS8doNGJnZ1dt+VXFboPBgL199T+CZXsoMUd68iQ3RVpaGg888AB+fn54e3vz4IMPcunSJTU+LCyM\n7du3q8e2ulSFELz66qvs2bOHqVOnotVq+fvf/16iLFP37ueff05gYCABAQEsWrSoVNtGjBhB8+bN\n8fT0pG/fvpw6dUqNGzt2LM8++ywPPPAA7u7udOvWzeKX75kzZ7jnnnvw8fGhbdu2fP/992rcli1b\niIqKwt3dnaCgoDJtkEgaG2fPnkVRFB599FEURaFJkybcc889dOjQQU3z1Vdf0a5dO7y9vRk0aBDx\n8fFq3LRp0wgJCcHDw4Pbb7+dvXv3AvDll18yYcIEfvvtN7RaLXPmzCnxw+/06dP069cPLy8v2rdv\nz8aNG9W49PR0Ro8ejZ+fH2FhYcyfP18VOsuWLaNnz548//zz+Pr6MmfOnBL1ys3NZezYsXh7exMV\nFcXBgwct4pOSkhg2bBh+fn6Eh4fz4Ycflmo3wOeff06rVq3w8fFhyJAhXL58Wc1Lo9HwySef0KpV\nK9q0acOuXbsICgpi4cKF+Pn5ERAQwLp169iyZQutW7fGx8eHN998U73+wIEDdO/eHS8vLwICAnju\nuefQ6/UA9OnTB4Do6Gi0Wi3ff/99ia7nsu5jeW2jpIEiJJJyCAsLE9u2bbM4l5KSItauXStyc3NF\nZmamGDFihBg6dKjFNdu3b1ePZ8+eLZ544gkhhBAXLlwQiqIIo9EohBCiX79+4ssvvyy1fFP6xx9/\nXOTk5Ijjx4+Lpk2bqjbNmjVLzVsIIZYuXSqysrJEQUGBmD59uujUqZMaN2bMGOHj4yMOHjwoDAaD\nGDVqlBg5cqQQQoisrCwRFBQkli1bJoxGozh8+LDw9fUVp0+fFkII4e/vL/bu3SuEECItLU388ccf\nlb+ZEkkDJSMjQ/j4+IgxY8aIH3/8UaSmplrEr1u3TkRERIgzZ84Io9Eo5s2bJ3r06KHGf/PNNyI1\nNVUYjUaxaNEi4e/vL/Lz84UQQixbtkz06tVLTbtz504RFBQkhBCioKBAtGzZUixYsEDo9XqxY8cO\nodVqxZ9//imEEOLJJ58UQ4cOFVlZWSIuLk60bt1abU+WLl0q7O3txUcffSSMRqPIzc0tUa8ZM2aI\nPn36CJ1OJxISEkRUVJQIDg4WQghhNBrFbbfdJubOnSv0er3466+/RHh4uPjpp59s2r19+3bh6+sr\nDh8+LPLz88Vzzz0n+vTpo8YriiIGDhwodDqdyMvLEzt37hT29vZi7ty5wmAwiM8//1z4+PiIxx9/\nXGRlZYmTJ08KZ2dnERcXJ4QQ4vfffxf79+8XRqNRxMXFicjISPGf//zHIv/Y2Nibuo9ltY2ShosU\neZJyCQ0NFW5ubsLT01N4enqKhx9+uESaw4cPCy8vL/XYWuSZCzFbIu+LL74otXxTelNjJIQQ//rX\nv8T48eNL5G2NTqcTiqKIjIwMIYQQY8eOFRMmTFDjt2zZItq2bSuEEGL16tWid+/eFtdPnDhRzJkz\nRwghREhIiFiyZIlIT08v1VaJpDFz+vRpMXbsWBEUFCTs7e3FQw89JJKTk4UQQgwaNMjix5rRaBQu\nLi4iPj7eZl5eXl7i2LFjQogiMVaayNu9e7fw9/e3uPaxxx4Ts2fPFgaDQTg6Oqo/xIQQYsmSJaJf\nv35qviEhIWXWyVy0CSHEZ599ppa9b9++Ete/8cYbYty4cTbtfuqpp8SMGTPU46ysLOHg4CAuXrwo\nhCgSYTt37rSop7OzsygsLBRCFAlpRVHEgQMH1DRdunQR69ats2n7e++9Z9EelyXyyrqPQhSJvNLa\nRknDRXbXSspFURTWr1+PTqdDp9Oxdu1acnJymDRpEmFhYXh4eNC3b1/S09NvejxIRcblmXc7hISE\nkJSUVCKN0WjkpZdeIiIiAg8PD1q0aAHA9evX1TTNmjVT3zs7O5OVlQUUja/Zv38/Xl5eali5ciXJ\nyckArFmzhi1bthAWFka/fv3qxUBriaQ2adu2LUuXLiUhIYETJ06QlJTE9OnTgaLvz7Rp09Tvjo+P\nD4A6jOOdd96hXbt2eHp64uXlRXp6usX3sjSSkpJKzHYNDQ0lKSmJlJQU9Ho9oaGhalxISIjF0JHy\nZspa5x8SEqK+v3jxIklJSRZtwoIFC7h69arNvC5fvmxhi6urKz4+PmXa4+Pjo7Z/zs7OQMk2Kjs7\nGyjqMn/ggQdo3rw5Hh4evPrqq6SkpJRZv9LqCTfuIxS1waW1jZKGixR5kpti0aJFnD17lgMHDpCe\nns6uXbsQRZ5hoKhxMzVMQJmzcSs68cJ8fE98fDyBgYEl0qxcuZINGzawfft20tPTuXDhAlCxwcgh\nISH07dtXFbM6nY7MzEw+/vhjAG6//XbWrVvHtWvXGDp0KI888kiF7JZIGiNt2rRhzJgxnDhxAij6\n/nz22WcW35/s7Gy6devGnj17WLhwId9//z1paWnodDo8PDwq9L0MCAggISHBIu3FixcJDAzE19cX\nBwcH4uLi1Lj4+HiCgoLU4/Lal+bNm5doW0wEBwfTokULizplZGSwadOmUm01tyU7O5uUlBSLtqoq\nE82mTJlCu3btOH/+POnp6cyfP7/CS1GVdR8ljRcp8iQ3RVZWFs7Oznh4eJCamlpiQHOnTp1YvXo1\nBoOBQ4cOsWbNmlIbt2bNmhEbG1tumfPmzSM3N5eTJ0+ybNkyHn30UZt2OTk54e3tTXZ2Nq+88opF\nfFkPlfvvv5+zZ8/yzTffoNfr0ev1HDx4kDNnzqDX61mxYgXp6enY2dmh1WqrdZaeRFLf+fPPP3n3\n3XdVr1RCQgKrVq2ie/fuAEyePJk33nhDneiUnp6uTlzKzMzE3t4eX19fCgoKeP3118nIyKhQuV27\ndsXFxYW3334bvV5PTEwMmzZtYuTIkWg0Gh555BFeffVVsrKyuHjxIu+99x5PPPFEhev1yCOPsGDB\nAtLS0khMTFQnVgDceeedaLVa3n77bXJzczEajZw4caLUZWMee+wxli5dytGjR8nPz+eVV16hW7du\nFt7BqpCVlYVWq8XFxYUzZ87w6aefWsSX1ZaWdR9BzsptrEiRJ7kppk+fTm5uLr6+vvTo0YP77rvP\nQsTNnTuX2NhYvLy8mD17NqNGjbK43jzttGnT+OGHH/D29la7fmzRt29fIiIiGDBgAP/85z8ZMGCA\nmpcpv9GjRxMaGkpgYCDt27ene/fuFmWZp7W2RavV8vPPP7N69WoCAwNp3rw5L7/8MgUFBQB88803\ntGjRAg8PDz777DNWrFhxM7dOImmQaLVa9u/fT9euXXFzc6N79+507NhRnWU+dOhQZsyYwciRI/Hw\n8KBDhw789NNPAAwaNIhBgwbRunVrwsLCcHZ2thA+ZX0vHR0d2bhxIz/++CNNmzZl6tSp/N///R+t\nW7cG4MMPP8TV1ZXw8HB69+7NqFGjGDduXKn5WjNr1ixCQ0Np0aIFgwYNYvTo0eo1dnZ2bNq0iSNH\njhAeHk7Tpk2ZOHGiKlCt87/77ruZO3cuw4YNIyAggAsXLrB69eoSdbJVz7LSmHjnnXdYuXIl7u7u\nTJw4kZEjR1qknz17NmPGjMHLy4sffvjBwr7y7mNZn4Gk4aKIWpTvTz31FJs3b8bPz4/jx4/bTPP3\nv/+dH3/8ERcXF5YtW0bnzp1ryzxJPSUuLo7w8HAMBgMajfxdImk4yDZPIpHUJbX6xBw3bhxbt24t\nNX7Lli2cP3+ec+fO8dlnnzFlypRatE4ikUiqF9nmSSSSuqRWRV7v3r3x8vIqNX7Dhg2MGTMGKBo/\nkJaWps5slNzayG4DSUNEtnkSiaQuqVd9X5cuXbKY4h0UFERiYmIdWiSpD4SFhWE0GmVXraTRIds8\niURSk9S7p6b1EEHpwZFIJI0Z2eZJJJKaovp3R64CgYGBJCQkqMeJiYk21/CJiIio0JIbEomk8dCy\nZUvOnz9f12ZUKxVt8wCioztx7NjR2jJNIqkXhIe3JDa24t97b0VBV8kyvLy8SE1NreRVDYN65cl7\n6KGHWL58OQD79u3D09PTYgVuE7GxserCu7dimDVrVp3bIOsu61/boTH+sKtomwdw7NhRCgtFhcNr\nr82qVPqbDTVVjtEoMBiKwsyZs9T3NRVqo4yGXhejsSjU5v/XX39V7nuvA4RGU6mg01VWFjYcatWT\n99hjj7Fr1y6uX79OcHAwc+bMQa/XAzBp0iQGDx7Mli1biIiIwNXVlaVLl9ameRKJRFKtyDZP0pgQ\nAhrEaILKjt+u4K4hDZFaFXmrVq0qN81HH31UC5ZIJBJJzSPbPEljRNT3zTHkJD2VejUmT1Ix+vXr\nV9cm1Bm3ct1B1l9ScWrrf6U2yunbt3GUUVvl1GQZJm9ebd2vm0KKPJVa3fGiulAUhQZotkQiqQK3\n+vdeURQKC2+d+gvRADxGtzCKUjtdtxpN5b73iqIgXFwqVYaSk9No2xbpyZNIJBKJRFJp6u0YPenJ\nU5EiTyKRSCQSSaUwd3zVO6EnRZ6KFHkSiUQiqVc00p4zSW0hRZ6KFHkSiUQiqTeYBJ4UepKbRoo8\nFSnyJBKJRFKvkAJPUiWkyFORIk8ikUgk9QbT+C4p9BoO9W4ChhR5KlLkSSQSSQNBQSCoT0/TmkEK\nvYZDvZyAIUWeihR5EolEIpFIGg9S5KlIkSeRSCQNiFvFmydpWJg8evXCmydFnooUeRKJRNLAkEJP\nUh+pN0JPijwVeSckkgoyZcoU5s2bB0BMTAzBwcF1bJHkVkZBDliT1E/qfCylRlO50Ihp3LWTSIrZ\nu3cvPXr0wNPTEx8fH3r16sWhQ4cAWLZsGb179y43j08//ZR///vfNW1qtZCfn89TTz2Fh4cHzZs3\n57333isz/cqVKwkNDcXNzY2HH34YnU5XS5ZKqoKCkGJPUq+oc4EHUuSZ0bhrJ5EAGRkZPPDAA0yb\nNg2dTselS5eYNWsWTk5OFc6jsLCwBi2sfmbPnk1sbCzx8fHs3LmTt99+m59++slm2pMnTzJ58mRW\nrFhBcnIyLi4uPPPMM7VssaQqSKEnqU8IUcdiT4o8lcZdO4kEOHv2LIqi8Oijj6IoCk2aNOGee+6h\nQ4cOnD59milTpvDbb7+h1Wrx9vYGYOzYsUyZMoXBgwfj5ubGzp07GTt2LDNnzrRZxgcffEBUVBRJ\nSUnk5+fz4osvEhoair+/P1OmTCEvL682q8zy5cuZOXMmHh4etG3blokTJ7Js2TKbaVesWMFDDz1E\nr169cHV1Ze7cuaxdu5bs7OxatVlSNRqb0FOUG6GxYBI/FQ2Sm0SKPJXGXTuJBGjTpg12dnaMHTuW\nrVu3WnRFRkZGsnjxYrp3705mZiapqalq3KpVq5g5cyZZWVn06tULRVFQbDxxXn/9dZYvX87u3bsJ\nCAjgpZde4vz58xw9epTz589z6dIlXn/9dZu27d27Fy8vr1LDr7/+Wun66nQ6Ll++THR0tHquY8eO\nnDx50mb6U6dOWaQNDw/HycmJs2fPVrpsiaQ6aUwCz4QUeLVANYi8rVu30rZtW1q1asVbb71VIn79\n+vVER0fTuXNnunTpwo4dOwBISEigf//+REVF0b59ez744IMarWp5SJEnafRotVr27t2LoihMmDAB\nPz8/hgwZwtWrVwEQNlpURVEYOnQo3bt3B1C7ds3TCiF4/vnn2bZtGzt37sTHxwchBJ9//jnvvvsu\nnp6euLm58fLLL7N69WqbtvXq1QudTldq6NGjR6Xrm5WVBYCHh4d6zt3dnczMzFLTm6ctL72k/tLY\nvHkNmaoKt8YgBuvMviqKPKPRyNSpU9m6dSunTp1i1apVnD592iLNgAEDOHr0KIcPH2bZsmVMnDgR\nAAcHB9577z1OnjzJvn37+Pjjj0tcW5tIkSe5JWjbti1Lly4lISGBEydOkJSUxPTp08u8przZs2lp\naXzxxRe89NJLaLVaAK5du0ZOTg5dunRRvXH33Xcf169fr7a6lIebmxtQNBbRRHp6umqjrfTp6ekW\n58pKL6nfmCZjSMFXd5jEza0s9BrymLwDBw4QERFBWFgYDg4OjBw5kvXr11ukcXV1Vd9nZWXh6+sL\ngL+/P506dQKK2tbIyEiSkpJqsLJlI0We5JajTZs2jBkzhhMnTgDY7IItDfO0Xl5ebNq0iXHjxqnd\nqr6+vjg7O3Pq1CnVG5eWlmYhuMzZs2cPWq221PC///2v0vXz8vKiefPmHDlyRD139OhR2rdvbzN9\nVFQUR48eVY9jY2MpKCigdevWlS5bUr+QQq/uqK/iqzapMxFaRZF36dIlix/5QUFBXLp0qUS6devW\nERkZyX333WezWzYuLo7Dhw/TtWvX6q1fJZAiT9Lo+fPPP3n33XfVL2lCQgKrVq1Su2KbNWtGYmIi\ner1evcZWF64QosT5Pn36sGLFCv72t79x8OBBNBoNEyZMYPr06Vy7dg0oajB+/vlnm7b17t2bzMzM\nUkPPnj1vqs6jR49m3rx5pKWlcfr0ab744gvGjh1rM+2oUaPYuHEje/fuJTs7m5kzZzJs2DCLX6qS\nhktD9+o1lMkXdeVZawjevVq3pxxRF5OdzezkZDVYU9Ef/kOHDuX06dNs3LiRJ5980iIuKyuL4cOH\n8/7776u9K3WBFHmSRo9Wq2X//v107doVNzc3unfvTseOHVm0aBEAd999N1FRUfj7++Pn5wdgc5KF\n9TnT+wEDBvDVV1/x4IMPcuTIEd566y0iIiLo1q0bHh4e3HPPPbU+iWHOnDm0bNmS0NBQ+vfvz4wZ\nMxg4cKAab+4lbNeuHYsXL2bUqFE0a9aM3NxcPvnkk1q1V1LzSKFXs9SlyJICz4pyRF4/Dw9mBwaq\nwZrAwEASEhLU44SEBIKCgkotrnfv3hgMBlJSUgDQ6/UMGzaMJ554gqFDh1Z//SqBImy5LOo5iqLY\n9LRIJJLGy63+vVcUBVEN6zU21O3QzMe51Ufq21KatkRxXQnlqoh0jaZy33tFURC3316pMpRDhyzK\nMBgMtGnThu3btxMQEMCdd97JqlWriIyMVNPExsYSHh6Ooij88ccfjBgxgtjYWIQQjBkzBh8fn3IX\noa8N5N61EolEcgth7tFrSIJPUYoEnulVUjal3aP67hGtFqq49p29vT0fffQR9957L0ajkfHjxxMZ\nGcmSJUsAmDRpEmvWrGH58uU4ODjg5uamrqDwv//9j2+++YaOHTvSuXNnABYsWMCgQYOqVqebRHry\nJBJJg+BW/95XlyfPnIYk8kzU1y7J+maTLeqq29tU5s2UfVOevG7dKlWGsm9fo21bpCdPIpFIblEa\nslfPRF0/m+u6/Mpgbmttij1zD2ytlNvId7GoDFLkSSQSiQQF0SCEXn0SeCbqix0VodaEVl2WK0We\nihR5EolEImmQ2BINdSG4GuI4wbry6tUKUuSpSJEnkUgkEqBhdt/WtWevMQi8uvLu1RhS5KlIkSeR\nSCSSEjSU7ltr6kJ0NUShZ6K2BV6tlCdFnooUeRKJRCKxifUCyvVd9JXllWqoIqy2qI3u21qbgCFF\nnooUeRKJRCKpEA3BuycFXuWxdX9qWujVKFLkqUiRJ5FIJJIK0xCEni3KEhZ1LQKrs/zqElANepye\nFHkqUuRJJBKJpFKUtg9ufRV/9VngmagOO6TAK0aKPBUp8iQSiURSLTREL59JzFRVZN3s5Ivq3C3D\nlE91CLTqzKvWkSJPRYo8iUQikVQbpXn5SqO+iMLqGMtXWaFXU17E6hxjVxNevRqf5CFFnooUeRKJ\nRCKpM+qD968uBN7NlnMz+dUngVcbeUuRdwN5JySSYqZMmcK8efPq2gyJ5JajfvjySqIoJUNF05dH\ndXbTVrSsmymzNu2sNjSayoVGTOOunURSTFhYGC4uLri7u+Pl5UXPnj1ZsmQJwqz1+vTTT/n3v/9d\nh1bCzJkz6dChAw4ODsyZM6dE/MqVKwkNDcXNzY2HH34YnU5Xal5xcXH0798fV1dXIiMj2b59e02a\nLpFUAYFSC6EylCbwKiL0yq1tHQinW0roSZGn0rhrJ5EUoygKmzZtIiMjg/j4eF566SXeeustxo8f\nX9emWdCqVSsWLlzI/fffj2L1tDh58iSTJ09mxYoVJCcn4+LiwjPPPFNqXo899hhdunQhNTWV+fPn\nM3z4cK5fv17TVZBI6i1V9Rg2yEkI1UiDEXpS5Kk07tpJJDbQarU8+OCDfPvtt3z99decOnUKgLFj\nxzJz5kwAYmJiCAoKYsGCBTRt2pQWLVqwcuXKGrdt9OjRDBo0CK1Wa+FlBFixYgUPPfQQvXr1wtXV\nlblz57J27Vqys7NL5HP27FkOHz7MnDlzcHJy4m9/+xsdO3ZkzZo1NV4HiaT+UnWvX2W6b0uUXo4n\nzdrbVpVQUTsqKtxM6apT6N2sZ7FcpMhTady1k0jK4I477iAoKIg9e/YARd4+c+9ZcnIyKSkpJCUl\n8fXXXzNx4kTOnj1rM69nnnkGLy8vm6FTp07VYu+pU6eIjo5Wj8PDw3FycrJp08mTJwkPD8fV1VU9\nFx0dzcmTJ6vFFomksVOTQq+8+JoUeKWVUx223ww14h2sBpG3detW2rZtS6tWrXjrrbdKxK9YsYLo\n6Gg6duxIz549OXbsmEW80Wikc+fOPPjggzVQwYojRZ7kliYgIIDU1FT12Np7NnfuXBwcHOjTpw/3\n338/3333nc18PvnkE3Q6nc1w5MiRarE1KysLDw8Pi3Pu7u5kZmZWKa1EUudUpwurNhSSFdZCrzLi\nr6zib9bcmhZw9b7btooiz2g0MnXqVLZu3cqpU6dYtWoVp0+ftkgTHh7O7t27OXbsGDNnzmTixIkW\n8e+//z7t2rUrMeymtpEiT3JLk5iYiLe3t804Ly8vnJ2d1ePQ0FCSkpJqy7QSuLm5kZ6ebnEuPT0d\nrVZrM21GRobFubS0NNzd3WvURomk0pj3A9aXUExFunNLe4ZXROhVVeBVl9Az/wjKo4p6uHaoosg7\ncOAAERERhIWF4eDgwMiRI1m/fr1Fmu7du6s/pLt27UpiYqIal5iYyJYtW3j66adLOA5qGynyJLcs\n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\nTkSuQmCC\n", - "text": [ - "" - ] - } - ], - "prompt_number": 201 + "outputs": [] }, { "cell_type": "markdown", @@ -273,7 +226,7 @@ "
\n", "## Varying the strike\n", "\n", - "Changing the strike simply rotates the fault and the resulting deformation...\n" + "Changing the strike simply rotates the fault and the resulting deformation. The animation below illustrates this...\n" ] }, { @@ -283,7 +236,7 @@ "plotdir = 'okada_strike_plots'\n", "J.make_plotdir(plotdir, clobber=True)\n", "fig=figure(figsize=(10,10))\n", - "for k,strike in enumerate(linspace(0,360,19)):\n", + "for k,strike in enumerate(linspace(0,340,18)):\n", " clf()\n", " plot_okada(strike, 10., 80., 5e3)\n", " J.save_frame(k, plotdir=plotdir, verbose=False)\n", @@ -294,229 +247,7 @@ ], "language": "python", "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Figure files for each frame will be stored in okada_strike_plots\n" - ] - }, - { - "html": [ - "\n", - "\n", - "\n", - "
\n", - " \n", - "
\n", - " \n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Once \n", - " Loop \n", - " Reflect \n", - "
\n", - "
\n", - "\n", - "\n", - "\n" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 202, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "text": [ - "" - ] - } - ], - "prompt_number": 202 + "outputs": [] }, { "cell_type": "markdown", @@ -550,220 +281,7 @@ ], "language": "python", "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Figure files for each frame will be stored in okada_dip_plots\n" - ] - }, - { - "html": [ - "\n", - "\n", - "\n", - "
\n", - " \n", - "
\n", - " \n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Once \n", - " Loop \n", - " Reflect \n", - "
\n", - "
\n", - "\n", - "\n", - "\n" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 203, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "text": [ - "" - ] - } - ], - "prompt_number": 203 + "outputs": [] }, { "cell_type": "markdown", @@ -784,7 +302,7 @@ "fig=figure(figsize=(9,9))\n", "for k,rake in enumerate(linspace(-90,90,19)):\n", " clf()\n", - " plot_okada(0., 10., rake, 5e)\n", + " plot_okada(0., 10., rake, 5e3)\n", " J.save_frame(k, plotdir=plotdir, verbose=False)\n", " \n", "clf()\n", @@ -793,229 +311,7 @@ ], "language": "python", "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Figure files for each frame will be stored in okada_rake_plots\n" - ] - }, - { - "html": [ - "\n", - "\n", - "\n", - "
\n", - " \n", - "
\n", - " \n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Once \n", - " Loop \n", - " Reflect \n", - "
\n", - "
\n", - "\n", - "\n", - "\n" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 192, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "text": [ - "" - ] - } - ], - "prompt_number": 192 + "outputs": [] }, { "cell_type": "markdown", @@ -1047,230 +343,7 @@ ], "language": "python", "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Figure files for each frame will be stored in okada_depth_plots\n" - ] - }, - { - "html": [ - "\n", - "\n", - "\n", - "
\n", - " \n", - "
\n", - " \n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Once \n", - " Loop \n", - " Reflect \n", - "
\n", - "
\n", - "\n", - "\n", - "\n" - ], - "metadata": {}, - "output_type": "pyout", - "prompt_number": 198, - "text": [ - "" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "text": [ - "" - ] - } - ], - "prompt_number": 198 + "outputs": [] }, { "cell_type": "code", From 56200bdb83f71cb156f4aea054ce4b6f93400644 Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Fri, 29 Aug 2014 17:44:02 -0400 Subject: [PATCH 09/11] modified Okada.ipynb for changes to geometry in geoclaw@8918097a534 --- notebooks/geoclaw/Okada.ipynb | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/notebooks/geoclaw/Okada.ipynb b/notebooks/geoclaw/Okada.ipynb index 47e2ff05..ba3dd32f 100644 --- a/notebooks/geoclaw/Okada.ipynb +++ b/notebooks/geoclaw/Okada.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:023dd792765403d786a72570960192ca842e117b8e4486c09d8c15837cbf9005" + "signature": "sha256:3ed22d5adb293714950468a32da406b8bea77be84677ba08703fab8a9606d0e4" }, "nbformat": 3, "nbformat_minor": 0, @@ -125,6 +125,7 @@ " fault.subfaults = [subfault]\n", " return fault, subfault\n", "\n", + "# Create a sample fault and print out some information about it...\n", "fault, subfault = set_fault(0,0,0,5e3)\n", "print \"This sample fault has %s meter of slip over a %s by %s km patch\" \\\n", " % (subfault.slip,subfault.length/1e3,subfault.width/1e3)\n", @@ -146,25 +147,26 @@ " \"\"\"\n", "\n", " fault,subfault = set_fault(strike, dip, rake, depth)\n", - "\n", " ax1 = subplot(2,2,1)\n", " ax2 = subplot(2,2,2)\n", " ax3 = subplot(2,2,3)\n", " ax4 = subplot(2,2,4)\n", "\n", + " # Subfault projection on surface on ax1:\n", " ax = fault.plot_subfaults(axes=ax1, plot_rake=True, xylim=[-.5,1.5, -1,1])\n", " text(0.6,0.8,\"Strike = %5.1f\" % strike, fontsize=12)\n", " text(0.6,0.6,\"Dip = %5.1f\" % dip, fontsize=12)\n", " text(0.6,0.4,\"Rake = %5.1f\" % rake, fontsize=12)\n", " text(0.6,0.2,\"Depth = %5.1f km\" % (depth/1e3), fontsize=12)\n", + " ax1.set_ylabel('latitude (degrees)')\n", "\n", - " z_top = -subfault.geometry['depth_top'] / 1e3 # convert to km\n", - " z_bottom = -subfault.geometry['depth_bottom'] / 1e3 # convert to km\n", - " ax3.plot([0,cos(subfault.dip*pi/180.)*subfault.width/1e3], [z_top, z_bottom])\n", + " # Depth profile on ax3:\n", + " z_top = -subfault.fault_plane_centers[0][2] / 1e3 # convert to km\n", + " z_bottom = -subfault.fault_plane_centers[2][2] / 1e3 # convert to km\n", + " ax3.plot([0,cos(subfault.dip*pi/180.)*subfault.width/1.e3], [z_top, z_bottom])\n", " ax3.set_xlim(-50,150)\n", - " #ax3.set_ylim(min(-10.,z_bottom - 1.), 0)\n", " ax3.set_ylim(-55,0)\n", - " ax3.set_xlabel('distance orthogonal to strike (km)')\n", + " ax3.set_xlabel('distance orthogonal to strike')\n", " ax3.set_ylabel('depth (km)')\n", " ax3.set_title('Depth profile')\n", " \n", @@ -174,14 +176,17 @@ " y = numpy.linspace(-1., 1., 101)\n", " times = [1.]\n", "\n", + " # color map of deformation dz on ax2:\n", " fault.create_dtopography(x,y,times,verbose=verbose)\n", " dtopo = fault.dtopo\n", " dtopo.plot_dz_colors(t=1., axes=ax2)\n", " \n", + " # transect of dz on ax4:\n", " dz = dtopo.DZ[-1,50,:]\n", " ax4.plot(x,dz)\n", " ax4.set_ylim(-0.5,0.5)\n", " ax4.set_title('Transect of dz along y=0')\n", + " ax4.set_xlabel('Longitude (degrees)')\n", " ax4.set_ylabel('Seafloor deformation (m)')\n", " " ], From 66ff2f17bf6f54863834d5e848324b92959bd800 Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Sun, 31 Aug 2014 10:54:17 -0400 Subject: [PATCH 10/11] updated dtopotools_examples.ipynb, DZ --> dZ --- notebooks/geoclaw/dtopotools_examples.ipynb | 30 ++++++++++++--------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/notebooks/geoclaw/dtopotools_examples.ipynb b/notebooks/geoclaw/dtopotools_examples.ipynb index f62c6690..41336e98 100644 --- a/notebooks/geoclaw/dtopotools_examples.ipynb +++ b/notebooks/geoclaw/dtopotools_examples.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:52ccc1958a6f4157072dc1a0be474e54e2664bc589f6e7cc0a02b2e39465de70" + "signature": "sha256:177c5c15eadef3aa4c15671bbee55cb46e6e76ca728212cb9a68e3d33cf49bac" }, "nbformat": 3, "nbformat_minor": 0, @@ -321,7 +321,7 @@ "cell_type": "code", "collapsed": false, "input": [ - "dtopo.plot_dz_colors(t=1)\n", + "dtopo.plot_dZ_colors(t=1)\n", "\n", "# add shoreline and Anchorage for orientation:\n", "plot(shore[:,0], shore[:,1], 'g')\n", @@ -354,7 +354,7 @@ "# Check that this data looks right:\n", "assert len(dtopo2.x) == 631, \"*** length of x is wrong\"\n", "assert len(dtopo2.y) == 331, \"*** length of y is wrong\"\n", - "dz_max = dtopo2.dz_max()\n", + "dz_max = abs(dtopo2.dZ).max()\n", "assert abs(dz_max - 15.368266081250006) < 1e-5, \"*** dz_max is wrong: %g\" % dz_max\n", "print \"Looks ok\"" ], @@ -420,10 +420,12 @@ "cell_type": "code", "collapsed": false, "input": [ - "input_units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", + "input_units = {\"length\":\"km\", \"width\":\"km\", \"depth\":\"km\", \n", + " \"slip\":\"m\", \"mu\":\"dyne/cm^2\"}\n", "\n", "fault = dtopotools.CSVFault()\n", - "fault.read(subfault_fname, input_units=input_units, coordinate_specification=\"noaa sift\")\n", + "fault.read(subfault_fname, input_units=input_units, \n", + " coordinate_specification=\"noaa sift\")\n", "fault.rupture_type = 'dynamic'\n", "\n", "print \"%s subfaults read in \" % len(fault.subfaults)\n", @@ -440,7 +442,7 @@ "my = int((yupper - ylower)*points_per_degree + 1)\n", "x = linspace(xlower,xupper,mx)\n", "y = linspace(ylower,yupper,my)\n", - "print \"dz arrays will have shape %s by %s\" % (len(x),len(y))\n" + "print \"dZ arrays will have shape %s by %s\" % (len(y),len(x))\n" ], "language": "python", "metadata": {}, @@ -459,8 +461,7 @@ "input": [ "times = linspace(0,13,6)\n", "dtopo = fault.create_dtopography(x,y,times=times)\n", - "print \"Created list of %s dz deformations\" % len(dtopo.dz_list)\n", - "print \"Each dz array has shape %s by %s\" % dtopo.dz_list[0].shape" + "print \"Created array of dtopo deformations with shape\", dtopo.dZ.shape" ], "language": "python", "metadata": {}, @@ -479,7 +480,9 @@ "cell_type": "code", "collapsed": false, "input": [ - "print \"maximum abs(dz) over the full rupture time, for setting color scale:\", dtopo.dz_max()\n", + "# for setting color scale:\n", + "print \"maximum abs(dz) over the full rupture time:\", \\\n", + " abs(dtopo.dZ).max()\n", "\n", "# Read in shoreline segments to give context in plots:\n", "#shoreline_fname = os.path.join(datadir,'tohoku_shoreline_1min.npy')\n", @@ -487,12 +490,13 @@ "shoreline_xy = shore\n", "\n", "# Incorporate this function in dtopotools to replace animate_dz_colors?\n", - "def plot_subfaults_dz(t, fig):\n", + "def plot_subfaults_dZ(t, fig):\n", " fig.clf()\n", " ax1 = fig.add_subplot(121)\n", " ax2 = fig.add_subplot(122)\n", - " fault.plot_subfaults(axes=ax1, slip_color=True, slip_time=t, xylim=xylim)\n", - " dtopo.plot_dz_colors(axes=ax2, t=t, cmax_dz=dz_max)\n", + " fault.plot_subfaults(axes=ax1, slip_color=True, \n", + " slip_time=t, xylim=xylim)\n", + " dtopo.plot_dZ_colors(axes=ax2, t=t, cmax_dZ=dz_max)\n", " ax1.plot(shoreline_xy[:,0],shoreline_xy[:,1],'g')\n", " ax2.plot(shoreline_xy[:,0],shoreline_xy[:,1],'g')\n", " ax2.set_xlim(xlower,xupper)\n", @@ -521,7 +525,7 @@ "fig = plt.figure(figsize=(12,5))\n", "\n", "for k,t in enumerate(times):\n", - " plot_subfaults_dz(t,fig)\n", + " plot_subfaults_dZ(t,fig)\n", " J.save_frame(k, verbose=True)\n", " \n", "print \"Final frame will be displayed below:\"" From d5d6f1f59c3f3498530aa0de302c6bcf9162685c Mon Sep 17 00:00:00 2001 From: Randy LeVeque Date: Mon, 1 Sep 2014 16:27:23 -0400 Subject: [PATCH 11/11] Change clawpack.org/geoclaw to geoclaw.org when downloading topo files --- notebooks/geoclaw/dtopotools_examples.ipynb | 4 ++-- notebooks/geoclaw/topotools_examples.ipynb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/notebooks/geoclaw/dtopotools_examples.ipynb b/notebooks/geoclaw/dtopotools_examples.ipynb index 41336e98..4bf04fd0 100644 --- a/notebooks/geoclaw/dtopotools_examples.ipynb +++ b/notebooks/geoclaw/dtopotools_examples.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:177c5c15eadef3aa4c15671bbee55cb46e6e76ca728212cb9a68e3d33cf49bac" + "signature": "sha256:4127453e482935e99ae339e2cb581b846947bdc3026ea299194089edd8ee64fb" }, "nbformat": 3, "nbformat_minor": 0, @@ -194,7 +194,7 @@ "input": [ "from clawpack.geoclaw.util import get_remote_file\n", "filename = 'pacific_shorelines_east_4min.npy'\n", - "url = 'http://www.clawpack.org/geoclaw/topo/' + filename\n", + "url = 'http://www.geoclaw.org/topo/' + filename\n", "get_remote_file(url=url, output_dir=datadir, force=True, verbose=True)\n", "shorelines_file = os.path.join(datadir, filename)" ], diff --git a/notebooks/geoclaw/topotools_examples.ipynb b/notebooks/geoclaw/topotools_examples.ipynb index e441cad7..b01a7f59 100644 --- a/notebooks/geoclaw/topotools_examples.ipynb +++ b/notebooks/geoclaw/topotools_examples.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:7424a84ca945f9c14d4b00d8dc4703623e42ba9d05e046ea5f924221ca633e55" + "signature": "sha256:9d29b7123140c2485c9a142657795e0267923d24de47f7f36b580c70e38c584e" }, "nbformat": 3, "nbformat_minor": 0, @@ -77,7 +77,7 @@ "input": [ "from clawpack.geoclaw import util\n", "filename = 'etopo10min120W60W60S0S.asc'\n", - "url = 'http://www.clawpack.org/geoclaw/topo/etopo/' + filename\n", + "url = 'http://www.geoclaw.org/topo/etopo/' + filename\n", "util.get_remote_file(url=url, output_dir=datadir, force=True, verbose=True)" ], "language": "python",