Skip to content

Commit 687a12c

Browse files
authored
Nbclean precommit (#35)
* fix precommit * test nb * updates * add black linelength format to nbs * a lot of wording and formatting changes * switch build branch back
1 parent 09f5de2 commit 687a12c

21 files changed

+141
-69
lines changed

.pre-commit-config.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,10 @@ repos:
3434
- tags
3535
- slideshow
3636
- --
37-
exclude: "^.*/data/.*$"
37+
exclude: "^.*/data/.*$"
38+
39+
- repo: https://github.com/tcort/markdown-link-check
40+
rev: v3.13.7
41+
hooks:
42+
- id: markdown-link-check
43+
args: [-q]

book/_config.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ collapse_inactive_sections: true
99
#only want to include files listed in toc
1010
only_build_toc_files: false
1111

12+
1213
# Force re-execution of notebooks on each build.
1314
# See https://jupyterbook.org/content/execute.html
1415
execute:
@@ -41,6 +42,8 @@ html:
4142
home_page_in_navbar: false
4243
use_issues_button: true
4344
use_repository_button: true
45+
use_multitoc_numbering: false
46+
4447
announcement: >
4548
🚧 March 2025 - This book is under construction! 🚧
4649
@@ -251,9 +254,13 @@ sphinx:
251254
d2_s1_nb5: "2) Mean over space"
252255
d3_s1_nb5: "3) Difference"
253256

257+
# Not sure why but uncommenting these causes all of the md
258+
# substitution variables and formatting like tabs to not work
259+
#sphinx:
254260
# extra_extensions:
261+
# - sphinx_design
255262
# - sphinxext.opengraph
256263
# config:
257-
# ogp_site_url: "https://e-marshall.github.io/itslive/intro.html"
264+
# ogp_site_url: "file:///home/emmamarshall/Desktop/phd_research/ch1/cloud_os_geospatial_datacube_workflows/book/_build/html/introduction.html"
258265
# ogp_image: "https://e-marshall.github.io/itslive/_static/itslive_explore_img.png"
259266
# ogp_description_length: 200

book/_toc.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ format: jb-book
33
root: introduction
44
parts:
55
- caption: Introduction
6+
#numbered: 2
67
chapters:
78
- file: intro/getting_started
89
- file: intro/learning_objectives
910
- file: intro/open_source_setting
1011
- caption: Background
12+
#numbered: 2
1113
chapters:
1214
- file: background/context_motivation
1315
- file: background/data_cubes
@@ -16,6 +18,7 @@ parts:
1618
- file: intro/software
1719
- file: background/relevant_concepts
1820
- caption: "Part 1: ITS_LIVE"
21+
#numbered: 2
1922
chapters:
2023
- file: itslive/itslive_intro
2124
- file: itslive/nbs/1_accessing_itslive_s3_data
@@ -24,18 +27,20 @@ parts:
2427
- file: itslive/nbs/4_exploratory_data_analysis_single
2528
- file: itslive/nbs/5_exploratory_data_analysis_group
2629
- caption: Part 2
30+
#numbered: 2
2731
chapters:
2832
- file: sentinel1/s1_intro
2933
- file: sentinel1/nbs/1_read_asf_data
3034
- file: sentinel1/nbs/2_wrangle_metadata
3135
- file: sentinel1/nbs/3_asf_exploratory_analysis
3236
- file: sentinel1/nbs/4_read_pc_data
3337
- file: sentinel1/nbs/5_comparing_s1_rtc_datasets
34-
- caption: Summary + Conclusion
38+
- caption: Conclusion
39+
#numbered: 2
3540
chapters:
36-
- file: pt4/summary
37-
- file: pt4/datacubes_revisited
38-
- file: pt4/conclusion
41+
- file: conclusion/conclusion
42+
- file: conclusion/summary
43+
- file: conclusion/datacubes_revisited
3944
- caption: Additional material
4045
chapters:
4146
- file: endmatter/appendix

book/background/tutorial_data.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ Be sure to also check out the ITS_LIVE image pair velocities [documentation](htt
3232

3333
Part 2 focuses on Sentinel-1 Radiometric Terrain Corrected imagery. Sentinel-1 is a dataset of synthetic aperture radar (SAR) imagery collected from sensors located on satellites operated by the Sentinel satellites operated by the European Space Agency (ESA). SAR data is exciting because doesn't require solar illumination like passive optical systems and, at the wavelength where Sentinel-1 imagery is collected, it is minimally impacted by atmospheric water vapor, meaning that Sentinel-1 can acquire clear images of Earth's surface even during cloudy and nighttime conditions. SAR imagery has a wide range of scientific applications including monitoring land surface deformation related to seismic activities, tracking flooding extents following extreme weather events, and mapping deforestation and characterizing biomass.
3434

35+
:::{tip}
36+
For an in-depth example of how SAR backscatter data can be used to map flooding extent, check out this [notebook](https://projectpythia.org/eo-datascience-cookbook/notebooks/tutorials/floodmapping.html) in the [Project Pythia Earth Observation Data Science Cookbook](https://projectpythia.org/eo-datascience-cookbook/README.html).
37+
:::
38+
3539
Because SAR imagery is collected from a side-looking sensor, it can contain distortions related to the viewing geometry of the sensor and the surface topography of the area being imaged. This tutorial focuses on RTC imagery, which is SAR data that has undergone processing to remove the above-mentioned distortions.
3640

3741
Multiple algorithms perform radiometric terrain correction, and it is important to understand the components of whichever dataset you use and their relative benefits and tradeoffs. This book will demonstrate working with two different (but similar) datasets of Sentinel-1 RTC imagery: one produced by Alaska Satellite Facility and one produced by Microsoft Planetary Coomputer, shown below. Processing of SAR imagery can be very computationally intensive, both of these options leverage cloud-hosted computational resources to make processed SAR imagery available to users, reducing the need for individual users to perform complicated, resource and time-intensive processing.
File renamed without changes.
File renamed without changes.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ We saw many examples of situations where it would have been very difficult to ac
2929
## Data visualization
3030
We used a number of visualization tools in these tutorials, each of which are appropriate for different situations and use-cases. These include interactive and static visualizations and plotting tools optimized for n-d array and vector datasets.
3131

32-
*See (add links to facetgrid plot notebook examples, hvplot examples and geopandas explore examples).
32+
- [ITS_LIVE, nb3](https://e-marshall.github.io/cloud-open-source-geospatial-datacube-workflows/itslive/nbs/3_combining_raster_vector_data.html#crop-vector-data-to-spatial-extent-of-raster-data), [Adding basemaps to plots of raster and vector data, ITS_LIVE nb4](https://e-marshall.github.io/cloud-open-source-geospatial-datacube-workflows/itslive/nbs/4_exploratory_data_analysis_single.html#load-raster-data-and-visualize-with-vector-data), [Interactive visualization of vector data cubes with Xvec and GeoPandas](https://e-marshall.github.io/cloud-open-source-geospatial-datacube-workflows/itslive/nbs/5_exploratory_data_analysis_group.html#visualize-velocity-data), [Interactive visualization of 2-d data with Xarray and holoviz, Sentinel-1 nb3](https://e-marshall.github.io/cloud-open-source-geospatial-datacube-workflows/sentinel1/nbs/3_asf_exploratory_analysis.html#interactive-visualization-of-layover-shadow-maps), [Using xr.FacetGrid for data inspection and cleaning[(https://e-marshall.github.io/cloud-open-source-geospatial-datacube-workflows/sentinel1/nbs/3_asf_exploratory_analysis.html#d-duplicate-time-steps), [Different ways of plotting 2-d data side-by-side, Sentinel-1 nb3](https://e-marshall.github.io/cloud-open-source-geospatial-datacube-workflows/sentinel1/nbs/3_asf_exploratory_analysis.html#f-data-visualization), [Interactive visualization of time series data with Xarray and holoviz](https://e-marshall.github.io/cloud-open-source-geospatial-datacube-workflows/sentinel1/nbs/3_asf_exploratory_analysis.html#backscatter-time-series), and [here](https://e-marshall.github.io/cloud-open-source-geospatial-datacube-workflows/sentinel1/nbs/5_comparing_s1_rtc_datasets.html#d-visualize-comparisons).
3333

3434
## Making analysis-ready data cubes
3535
Several notebooks focused on the tasks of organizing data cubes so that they were appropriate representations of physical observables and attaching relevant metadata to relevant variables and along appropriate dimensions.
File renamed without changes.

book/conclusion/wrapping_up.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Wrapping up
2+
3+
It is a popular refrain, and a sentiment many analysts can likey relate to, "that 80% of data analysis is spent on the cleaning and preparing of data" {cite:t}`Wickham_2014_Tidy,Dasu_2003_Exploratory`. This book focuses on the data cleaning and preparation steps of an analytical workflow that ingests satellite remote sensing time series datasets. We draw on the wealth of knowledge and research that attends to this topic in order to produce tutorials that demonstrate and explain these concepts in the context of cloud-optimized, publicly available array data and the software ecosystem built around the Xarray data model in Python.
4+
5+
In this chapter, you will find summaries of the concepts covered throughout the Jupyter Notebooks included in this book, a return to the introduction's [discussion of data cubes](../background/data_cubes.md) with synthesis and lessons learned from the tutorials, and a short discussion of the broader context of this book and next steps for interested readers.
6+
7+
## Tutorials Summary[$\tiny \nearrow$](summary.md)
8+
9+
This book features two tutorials, each focuses on a different earth observation dataset and containing five notebooks that cover different steps of a typical workflow such as data access, manpiulation and organizatoin and visualization and exploratory analysis. In this section, you will find a few of the common topics throughout these notebooks and links to where they are addressed in each tutorial.
10+
11+
## Data cubes revisited [$\tiny \nearrow$](datacubes_revisited.md)
12+
13+
Synthesizing lessons from tutorial examples to enumerate guidance and best-practices for working Xarray geospatial data cubes.
14+
15+
## Broader context [$\tiny \nearrow$]()
16+
17+
It is a popular refrain, and a sentiment many analysts can likey relate to, "that 80% of data analysis is spent on the cleaning and preparing of data" {cite:t}`Wickham_2014_Tidy,Dasu_2003_Exploratory`. This book focuses on the data cleaning and preparation steps of an analytical workflow. We draw on the wealth of knowledge and research that attends to this topic in order to produce tutorials that demonstrate and explain these topics in the context of satellite remote sensing earth observation datasets and the software ecosystem built around the Xarray data model in Python.
18+
This book largely focused on the beginning steps of scientific workflows where data is prepared for analysis and manipulated to support different types of analysis.
19+
20+
### Open source tools and packages
21+
In this book, we mainly focused on Xarray and several tools within the Xarray ecosystem and that integrate with Xarray to streamline data cube workflows such as:
22+
- Xvec
23+
- cf_xarray
24+
- Dask
25+
- PySTAC
26+
- stackstac
27+
- GeoPandas
28+
- holoviz
29+
30+
There are many exciting open-source projects and tools related to Xarray data cubes that were not highlighted in this book. A few are:
31+
- [XRLint](https://github.com/bcdev/xrlint)
32+
- [LexCube](https://www.lexcube.org/)
33+
- [xcube](https://xcube.readthedocs.io/en/latest/)
34+
- [cubo](https://github.com/ESDS-Leipzig/cubo)
35+
- [Open Data Cube](https://opendatacube.readthedocs.io/en/latest/index.html)
36+

book/endmatter/other_resources.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,32 @@ Throughout this book, we reference a number of resources on different topics. Th
99
- [Xarray High-level computational patterns](https://tutorial.xarray.dev/intermediate/01-high-level-computation-patterns.html)
1010
- [Parallel computing with dask](https://tutorial.xarray.dev/intermediate/xarray_and_dask.html)
1111
- [Terminology](https://docs.xarray.dev/en/stable/user-guide/terminology.html)
12+
- [Xarray, Dask - Chunking & Performance](https://docs.xarray.dev/en/stable/user-guide/dask.html#chunking-and-performance)
13+
- [Regridding with Xarray Cookbook - Project Pythia](https://projectpythia.org/gridding-cookbook/README.html)
1214

13-
## Geospatial data science and data formats
15+
## Dask resources
16+
- [Choosing good chunk sizes in Dask](https://blog.dask.org/2021/11/02/choosing-dask-chunk-sizes)
17+
- [Dask Cookbook - Project Pythia](https://projectpythia.org/dask-cookbook/README.html)
18+
## Geospatial data science, data formats, and metadata
1419
- [Introduction to Earth and Environmental Data Science](https://earth-env-data-science.github.io/intro.html)
1520
- [Geocomputation wtih Python](https://py.geocompx.org/)
1621
- [Datacubes - openEO](https://openeo.org/documentation/1.0/datacubes.html#what-are-datacubes)
1722
- [Data Formats - NASA Earth Observation Data Basics](https://www.earthdata.nasa.gov/learn/earth-observation-data-basics/data-formats)
1823
- [Cloud Computing - NASA Earth Observation Data Basics](https://www.earthdata.nasa.gov/learn/earth-observation-data-basics/cloud-computing)
1924
- [Vector Data Cubes - Edzer Pebesma](https://r-spatial.org/r/2022/09/12/vdc.html)
20-
25+
- [Climate Forecase Conventions](https://cfconventions.org/)
26+
- [GDAL Virtual Raster Format](https://gdal.org/en/stable/drivers/raster/vrt.html)
27+
- [STAC Specification](https://stacspec.org/en)
28+
-
2129
## Geospatial data and coordinate reference systems
2230
- [Coordinate Reference Systems - Geocomputaion with Python](https://py.geocompx.org/01-spatial-data#geographic-coordinate-systems)
2331
- [Reprojecting Geographic Data - Geocomputation with Python](https://py.geocompx.org/06-reproj)
32+
- [PyPROJ](https://pyproj4.github.io/pyproj/stable/)
33+
- [cfxarray](https://cf-xarray.readthedocs.io/en/latest/)
2434

2535
## Remote sensing data types and formats
2636
- [Types of SAR Products - NASA Earth Observation Data Basics](https://www.earthdata.nasa.gov/learn/earth-observation-data-basics/types-sar-products)
37+
- [CEOS Analysis Ready Data](https://ceos.org/ard/index.html)
2738

2839
## Remote sensing principles
2940
- [Introduction to Synthetic Aperture Radar (SAR) - Alaska Satellite Facility](https://hyp3-docs.asf.alaska.edu/guides/introduction_to_sar/)
@@ -32,12 +43,18 @@ Throughout this book, we reference a number of resources on different topics. Th
3243
- [SAR Image Interpretation - NASA Earth Observation Data Basics](https://www.earthdata.nasa.gov/learn/earth-observation-data-basics/sar/image-interpretation)
3344
- [Microwave Remote Sensing - University of Alaska Fairbanks](https://radar.community.uaf.edu/)
3445
- [A mathematical tutorial on SAR - Margaret Cheney, NASA EarthData](https://www.earthdata.nasa.gov/s3fs-public/2024-06/sar%20mathematical%20tutorial.pdf)
46+
- [ASF HyP3 Introduction to SAR](https://hyp3-docs.asf.alaska.edu/guides/introduction_to_sar/
47+
)
3548

36-
## Data documentation
49+
## Data & Processing documentation
3750
- [ITS_LIVE Documentation](https://its-live.jpl.nasa.gov/#documentation)
3851
- [ESA Sentinel-1 Documentation](https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar/overview)
3952
- [ASF Sentinel-1 RTC Product Guide](https://hyp3-docs.asf.alaska.edu/guides/rtc_product_guide/)
53+
- [Microsoft Planetary Computer - Sentinel-1 RTC data](https://planetarycomputer.microsoft.com/dataset/sentinel-1-rtc
54+
)
4055
- [Randolph Glacier Inventory User Guide](http://www.glims.org/rgi_user_guide/welcome.html)
56+
[ASF HyP3 Tutorials](https://hyp3-docs.asf.alaska.edu/tutorials/)
4157

42-
## Software tips and best practices
43-
- [Choosing good chunk sizes in Dask](https://blog.dask.org/2021/11/02/choosing-dask-chunk-sizes)
58+
## More data cube resources
59+
- [The Data Cube Manifesto](http://www.earthserver.eu/tech/datacube-manifesto/The-Datacube-Manifesto.pdf
60+
)

0 commit comments

Comments
 (0)