Read more
Learn basic Python programming to create functional and effective visualizations from earth observation satellite data sets
Thousands of satellite datasets are freely available online, but scientists need the right tools to efficiently analyze data and share results. Python has easy-to-learn syntax and thousands of libraries to perform common Earth science programming tasks.
Earth Observation Using Python: A Practical Programming Guide presents an example-driven collection of basic methods, applications, and visualizations to process satellite data sets for Earth science research.
* Gain Python fluency using real data and case studies
* Read and write common scientific data formats, like netCDF, HDF, and GRIB2
* Create 3-dimensional maps of dust, fire, vegetation indices and more
* Learn to adjust satellite imagery resolution, apply quality control, and handle big files
* Develop useful workflows and learn to share code using version control
* Acquire skills using online interactive code available for all examples in the book
The American Geophysical Union promotes discovery in Earth and space science for the benefit of humanity. Its publications disseminate scientific knowledge and provide resources for researchers, students, and professionals.
Find out more about this book from this Q&A with the Author
List of contents
Foreword
Introduction
1 A Tour of Current Satellite Missions and Products
1.1 History of Computational Scientific Visualization
1.2 Brief catalog of current satellite products
1.2.1 Meteorological and Atmospheric Science
1.2.2 Hydrology
1.2.3 Oceanography and Biogeosciences
1.2.4 Cryosphere
1.3 The Flow of Data from Satellites to Computer
1.4 Learning using Real Data and Case Studies
1.5 Summary
1.6 References
2 Overview of Python
2.1 Why Python?
2.2 Useful Packages for Remote Sensing Visualization
2.2.1 NumPy
2.2.2 Pandas
2.2.3 Matplotlib
2.2.4 netCDF4 and h5py
2.2.5 Cartopy
2.3 Maturing Packages
2.3.1 xarray
2.3.2 Dask
2.3.3 Iris
2.3.4 MetPy
2.3.5 cfgrib and eccodes
2.4 Summary
2.5 References
3 A Deep Dive into Scientific Data Sets
3.1 Storage
3.1.1 Single-values
3.1.2 Arrays
3.2 Data Formats
3.2.1 Binary
3.2.2 Text
3.2.3 Self-describing data formats
3.2.4 Table-Driven Formats
3.2.5 geoTIFF
3.3 Data Usage
3.3.1 Processing Levels
3.3.2 Product Maturity
3.3.3 Quality Control
3.3.4 Data Latency
3.3.5 Re-processing
3.4 Summary
3.5 References
4 Practical Python Syntax
4.1 "Hello Earth" in Python
4.2 Variable Assignment and Arithmetic
4.3 Lists
4.4 Importing Packages
4.5 Array and Matrix Operations
4.6 Time Series Data
4.7 Loops
4.8 List Comprehensions
4.9 Functions
4.10 Dictionaries
4.11 Summary
4.12 References
5 Importing Standard Earth Science Datasets
5.1 Text
5.2 NetCDF
5.3 HDF
5.4 GRIB2
5.5 Importing Data using xarray
5.5.1 netCDF
5.5.2 GRIB2
5.5.3 Accessing datasets using OpenDAP
5.6 Summary
5.7 References
6 Plotting and Graphs for All
6.1 Univariate Plots
6.1.1 Histograms
6.1.2 Barplots
6.2 Two Variable Plots
6.2.1 Converting Data to a Time Series
6.2.2 Useful Plot Customizations
6.2.3 Scatter Plots
6.2.4 Line Plots
6.2.5 Adding data to an existing plot
6.2.6 Plotting two side-by-side plots
6.2.7 Skew-T Log-P
6.3 Three Variable Plots
6.3.1 Filled Contour
6.3.2 Mesh Plots
6.4 Summary
6.5 References
7 Creating Effective and Functional Maps
7.1 Cartographic Projections
7.1.1 Projections
7.1.2 Plate Carrée
7.1.3 Equidistant Conic
7.1.4 Orthographic
7.2 Cylindrical Maps
7.2.1 Global plots
7.2.2 Changing projections
7.2.3 Regional Plots
7.2.4 Swath Data
7.2.5 Quality Flag Filtering
7.3 Polar Stereographic Maps
7.4 Geostationary Maps
7.5 Plotting datasets using OpenDAP
7.6 Summary
7.7 References
8 Gridding Operations
8.1 Regular 1D grids
8.2 Regular 2D grids
8.3 Irregular 2D grids
8.3.1 Resizing
8.3.2 Regridding
8.3.3 Resampling
8.4 Summary
8.5 References
9 Meaningful Visuals
About the author
Rebekah Bradley Esmaili, Atmospheric Scientist, Science and Technology Corp. (STC) and NOAA/JPSS, University of Maryland, USA.