From 8bcb3596a7fa69fbfb85b110c1d1711c810fe05c Mon Sep 17 00:00:00 2001 From: Rob Fatland Date: Fri, 28 Jun 2024 13:19:51 -0700 Subject: [PATCH] end of shallow profiler --- book/chapters/ocean_science.ipynb | 315 ++++++++++++++-------------- book/chapters/shallowprofiler.ipynb | 3 +- 2 files changed, 164 insertions(+), 154 deletions(-) diff --git a/book/chapters/ocean_science.ipynb b/book/chapters/ocean_science.ipynb index ac60009..012a738 100644 --- a/book/chapters/ocean_science.ipynb +++ b/book/chapters/ocean_science.ipynb @@ -80,6 +80,7 @@ "- perturbation in relation to small phenomena such as plankton lensing\n", "- stability of stratified sub-structure\n", " - mixed layer depth, multiple clines (barocline, thermocline etcetera), lower epipelagic\n", + "- intrinsic signal consistency, for example presence/absence of inversion layers\n", " \n", " \n", "From an empirical perspective these dimensions of stability can in many cases be seen as\n", @@ -93,43 +94,61 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Themes\n", - "\n", - "\n", - "Geo-SMART Jupyter Book theme placeholders:\n", - "\n", - "\n", - "- Motivation: Create an access path to multiple views of ocean near-surface processes\n", - "- Method: Document the data acquisition and analysis process\n", - "- Development history: This project has been underway since 2016\n", - "- Training/Evaluation: Typically refers to ML; not present here yet\n", - "- Workflow\n", + "## Agenda\n", + "\n", + "\n", + "This Geo-SMART Jupyter Book will proceed chapter-by-chapter to cover the following agenda:\n", + "\n", + "- Getting our feet wet\n", + " - Ocean Science (this chapter): Establish a heirarchy of research questions and terminology\n", + " - Shallow Profiler: Using a particular site and month-duration time frame: A first look at profile data\n", + " - Data: Describe the baseline data access path and an alternative 'zarr' path\n", + " - Anomaly: \n", + " - Annotation:\n", + "- Other observation systems\n", + " - ARGO:\n", + " - GLODAP:\n", + " - MODIS:\n", + " - ROMS:\n", + "- Bio-optics\n", + " - Spectrophotometer\n", + " - PAR and spectral irradiance\n", + "- Digging in to the stability question\n", + " - Temperature:\n", + "- Appendices: Technical background\n", + " - shallow profiler technical\n", + " - documentation\n", + " - issues\n", + "\n", + "\n", + "Additional themes to bring in\n", + "\n", + "- Methods\n", + "- Development history (2017 to present)\n", + "- Workflows\n", "- Reproducibility\n", - "- Questions\n", - "- To Do\n", - "- Conclusion\n", "- Troubleshooting\n", " \n", "\n", - "## Introduction\n", + "\n", + "## Where?\n", "\n", "\n", "The ocean is water and salt; as well as being a reservoir of carbon compounds that\n", "are the basis for and byproducts of ocean life. Our objective is to explore observational\n", "data from the ocean with the idea of developing insights into the physical, chemical\n", - "and biological processes in the surface waters that are illuminated by sunlight. \n", - "Let's begin with a table of molecules; as a start on ocean chemistry.\n", + "and biological processes. And *where* is this happening? Again our vertical *where?* \n", + "is the upper 200 meters of the ocean, the epipelagic or surface waters illuminated by sunlight.\n", + "Our map-plane *where?* is three point-like locations off the coast of Oregon state.\n", "\n", - " \n", - "| Mass (Daltons) | Substance\n", - "|---|---\n", - "|1|Hydrogen ion H+\n", - "|46|carbon dioxide CO2\n", - "|62|carbonic acid H2CO3\n", - "|61|bicarbonate anion HCO3-\n", - "|60|carbonate CO32-\n", - "|180|glucose C6H12O6\n", - "|894|chlorophyll C55H72MgN4O5" + "\n", + "- Oregon Offshore\n", + "- Oregon Slope Base\n", + "- Axial Base\n", + "\n", + "\n", + "\n", + "\n" ] }, { @@ -141,6 +160,49 @@ "## Science framework\n", "\n", "\n", + "This section continues in the theme of defining terms and concepts central to \n", + "the question of epipelagic stability. \n", + "\n", + "\n", + "### Ocean chemistry\n", + "\n", + "\n", + "Let's begin with a table of molecules.\n", + "\n", + " \n", + "| Mass (Daltons) | Substance\n", + "|---|---\n", + "|1|Hydrogen ion H+\n", + "|17|Hydroxide ion OH-\n", + "|46|carbon dioxide CO2\n", + "|62|carbonic acid H2CO3\n", + "|61|bicarbonate anion HCO3-\n", + "|60|carbonate CO32-\n", + "|180|glucose C6H12O6\n", + "|894|chlorophyll C55H72MgN4O5\n", + "\n", + "\n", + "### Ocean structure\n", + "\n", + "\n", + "- The ocean is 3700 meters in depth on average\n", + "- Coastal ocean waters over the continental shelves are abous six times as productive as the deep ocean\n", + "- The photic zone is about 200 meters in depth, implying that over 90% of the ocean is perpetually in darkness\n", + "- Comment on heat capacity of seawater versus atmosphere\n", + "- Ocean water temperature (away from the poles) decreases with depth\n", + " - Geothermal heat at the sea floor\n", + "- Ocean water salinity increases with depth\n", + "- Ocean water can hold more dissolved oxygen (DO) as temperature decreases\n", + " - \\[DO\\] is affected by other factors such as biological respiration\n", + "- Carbon dioxide concentration is a complex topic\n", + " - A more appropriate term to use is carbonate chemistry\n", + "- Productivity primarily refers to photosynthesis by phytoplankton\n", + " - Photosynthesis is bounded on the low side by limited availability of nutrients and sunlight\n", + " - Photosynthesis is bounded on the high side by corresponding saturation\n", + "- comment on what counts as nutrients\n", + " - sub-comment on coastal productivity\n", + " \n", + " \n", "Science questions given below are framed jointly with presumptive statements and some \n", "fragmentary responses. The resulting science framework, presented in a hierarchical \n", "format, is intended to establish project scope.\n", @@ -175,102 +237,10 @@ " - Are observations correlated? (Particularly 'beyond' seasonal in some sense)\n", "- FDOM and particulate backscatter?\n", "- Spectrophotometer?\n", - "- Hydrophone?" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "tags": [] - }, - "source": [ - "## Background \n", - "\n", - "- The ocean is 3700 meters in depth on average\n", - "- Coastal ocean waters over the continental shelves are abous six times as productive as the deep ocean\n", - "- The photic zone is about 200 meters in depth, implying that over 90% of the ocean is perpetually in darkness\n", - "- \n", - "- Ocean water temperature (away from the poles) decreases with depth\n", - " - Geothermal heat at the sea floor\n", - "- Ocean water salinity increases with depth\n", - "- Ocean water can hold more dissolved oxygen (DO) as temperature decreases\n", - " - \\[DO\\] is affected by other factors such as biological respiration\n", - "- Carbon dioxide concentration is a complex topic\n", - " - A more appropriate term to use is carbonate chemistry\n", - "- Productivity primarily refers to photosynthesis by phytoplankton\n", - " - Photosynthesis is bounded on the low side by limited availability of nutrients and sunlight\n", - " - Photosynthesis is bounded on the high side by corresponding saturation\n", - "- \n", - " - \n", - "- observation methods\n", - " - glider wall\n", - " - profiler curtain\n", - " - model\n", - " - drifter\n", - " - satellite\n", - " - synthetic datasets\n", + "- Hydrophone?\n", "\n", "\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From Data to Insight\n", - " \n", - "### Technical\n", - "\n", - "#### Visualization\n", - "\n", - "##### Compressing time as a curtain plot\n", - " \n", - " \n", - "When the profiler has run for several months we can squeeze the data horizontally in time.\n", - "That is: One profile is a color-coded vertical line. Pressing these together as a time-ordered\n", - "sequence renders as a curtain, hence 'curtain plot'. \n", - "The data show variability in the photic zone over several months, for example. The example below\n", - "color-codes chlorophyll concentration.\n", - "\n", - "\n", - "##### Motion rendering for three-dimensional charts\n", - "\n", - "\n", - "#### Data file format\n", - "\n", - "\n", - "- NetCDF is the primary data file format\n", - " - Consists of a two-level heirarchy\n", - " - Top level: Groups (may or may not be present)\n", - " - Second level: Subdivided into Dimensions, Coordinates, Data Variables, Indices (?), and Metadata (?) \n", - "- Python is the operative programming language\n", - " - XArray is the Python library used to parse and manipulate NetCDF data\n", - " - The central data structure in XArray is the DataArrays\n", - " - DataArrays are often bundled together to form Datasets\n", - " - Both DataArrays and Datasets as objects include parsing and filtering methods" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Science\n", - "\n", - "\n", - "```{figure} ../img/ABCOST_signals_vs_depth_and_time.png\n", - "---\n", - "height: 500px\n", - "name: directive-fig\n", - "---\n", - "Salinity, Temperature, Dissolved Oxygen and Bio-optical signals with depth\n", - "```\n", - "\n", - "\n", - "\n", - "#### Microbial ecology and global carbon\n", + "### Microbial ecology and global carbon\n", "\n", "\n", "- DOM is dissolved organic matter\n", @@ -309,10 +279,66 @@ " - $HCO_3^-$ bicarbonate ions and\n", " - $H^+$ hydrogen ions \n", " - which lower the pH of the ocean\n", - " - historically from 8.15 in 1950 to 8.05 in 2020\n", + " - historically from 8.15 in 1950 to 8.05 in 2020" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## Observation methods\n", + "\n", + "- shallow profiler: run sensors through the watercolumn with a sampling rate / agenda\n", + " - curtain plotting\n", + " - associated platform data, particularly current measurement\n", + "- gliders\n", + "- predictive models\n", + "- drifters\n", + "- satellite remote sensing\n", + "- synthetic datasets" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## From Data to Insight\n", "\n", "\n", - "### Metabolic energy for an apex predator\n", + "### Remove the following to a technical section (e.g. Data chapter)\n", + "\n", + "\n", + "- NetCDF is the primary data file format\n", + " - Consists of a two-level heirarchy\n", + " - Top level: Groups (may or may not be present)\n", + " - Second level: Subdivided into Dimensions, Coordinates, Data Variables, Indices (?), and Metadata (?) \n", + "- Python is the operative programming language\n", + " - XArray is the Python library used to parse and manipulate NetCDF data\n", + " - The central data structure in XArray is the DataArrays\n", + " - DataArrays are often bundled together to form Datasets\n", + " - Both DataArrays and Datasets as objects include parsing and filtering methods" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```{figure} ../img/ABCOST_signals_vs_depth_and_time.png\n", + "---\n", + "height: 500px\n", + "name: directive-fig\n", + "---\n", + "Salinity, Temperature, Dissolved Oxygen and Bio-optical signals with depth\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Metabolic energy for an apex predator\n", "\n", "\n", "```{figure} ../img/Sphyrna_mokarran.png\n", @@ -349,9 +375,16 @@ "higher stored energy and back again." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introducing Python code " + ] + }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -421,13 +454,8 @@ "\n", "Noting that the biological pump operates at about the same scale as the marine carbon pump; \n", "and these numbers are about one fifth of marine primary production we can make the case that\n", - "biological activity is an important component of the global carbon cycle. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ + "biological activity is an important component of the global carbon cycle. \n", + "\n", "* Carbon is 1, 1, 4, 50 respectively life, atmosphere, soil, ocean. 1 = 600 Gton.\n", "* Where the edge is\n", " * System models are vague. For example what drives coastal productivity?\n", @@ -442,13 +470,8 @@ "* ARGO\n", "* Estuary modeling\n", "* Currents and ecosystems\n", - "* Metagenomics" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ + "* Metagenomics\n", + "\n", "# Ocean Science Data Interpretation\n", "\n", "\n", @@ -488,8 +511,10 @@ " - The Coastal Pioneer Array (Atlantic ocean)\n", " - The Global Irminger Sea Array (Atlantic ocean)\n", "\n", + "\n", "The Regional Cabled Array (RCA) is our focus here\n", "\n", + "\n", "- The RCA is located off the Oregon coast \n", "- It extends several hundred kilometers off-shore\n", "- The RCA extends beyond the continental shelf out into the deep ocean\n", @@ -552,20 +577,6 @@ "in decibars and depth in meters are very nearly the same. Charts of sensor value against depth \n", "effectively treat profiles as \"instantaneous\" snapshots of upper water column. " ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/book/chapters/shallowprofiler.ipynb b/book/chapters/shallowprofiler.ipynb index 6c35a8d..6097da3 100644 --- a/book/chapters/shallowprofiler.ipynb +++ b/book/chapters/shallowprofiler.ipynb @@ -734,8 +734,7 @@ "id": "36ca0049-eb36-48ab-97bc-b703b69d031d", "metadata": {}, "source": [ - "Dual charts (as above) can be expanded to multiple duals. Below: Six sensor profiles\n", - "per line. Three-across format makes them discernible.\n", + "The charts below place two sensors x 3 across for a total of six. \n", "\n", "```{figure} ../img/ABCOST_signals_vs_depth_and_time.png\n", "---\n",