{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n# Plot an interferogram\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import os\nif \"SPHINX_DOC_BUILD\" in os.environ:\n if \"MSNOISE_DOC\" in os.environ:\n os.chdir(os.environ[\"MSNOISE_DOC\"])\n\nimport matplotlib\nmatplotlib.use(\"agg\")\n\nimport matplotlib.pyplot as plt\n\nplt.style.use(\"ggplot\")\n\nfrom msnoise.core.db import connect\nfrom msnoise.results import MSNoiseResult\n\n# connect to the database\ndb = connect()\n\n# Build a result object at the default stack step\nresult = MSNoiseResult.from_ids(db, preprocess=1, cc=1, filter=1, stack=1)\nparams = result.params\n\n# Get the first mov_stack configured:\nmov_stack = params.stack.mov_stack[0]\n\n# Get the CCF for two stations, filter 1, ZZ component, first mov_stack:\nccf = result.get_ccf(pair=\"PF.FJS.00:PF.FOR.00\", components=\"ZZ\",\n mov_stack=mov_stack)\n\n# Plot the interferogram\nccf.plot(robust=True, figsize=(10, 8))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Running a simple moving window average can be done with xarray's rolling:\n\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "smooth = ccf.rolling(times=5).mean()\n\nsmooth.plot(robust=True, figsize=(10, 8))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting the sub-daily stacks and zooming on +- 20 seconds:\n\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "if \"SPHINX_DOC_BUILD\" in os.environ:\n if \"MSNOISE_DOC\" in os.environ:\n os.chdir(os.environ[\"MSNOISE_DOC\"])\n\n# Get the last mov_stack configured:\nmov_stack = params.stack.mov_stack[-1]\n\nccf = result.get_ccf(pair=\"PF.FJS.00:PF.FOR.00\", components=\"ZZ\",\n mov_stack=mov_stack)\n\n# Plot and zoom to +-20 seconds lag\nccf.loc[:, -20:20].plot(robust=True, figsize=(10, 8))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, stacking to a Reference function\n\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "ccf.mean(axis=0).plot(figsize=(10, 8))\n\n#EOF" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.15" } }, "nbformat": 4, "nbformat_minor": 0 }