You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.qmd
+26-5Lines changed: 26 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -3,14 +3,35 @@ title: "NSIDC Data Cookbook"
3
3
author: NSIDC
4
4
---
5
5
6
-
## Welcome
7
-
8
-
Welcome to the NSIDC Data Cookbook!
9
-
10
6
<!-- prettier-ignore -->
11
7
> [!WARNING]
12
8
> This cookbook is under active development. Major changes to the structure of
13
9
> the book and its content are expected. We are striving to develop content
14
10
> that is well-tested and peer-reviewed, but nothing contained here should be
15
11
> expected to work correctly (or at all!) in this early phase. Many sections contain only an outline of the content.
16
-
> These sections will have content added at the project develops.
12
+
> These sections will have content added as the project develops.
13
+
14
+
## Welcome to the NSIDC Data Cookbook!
15
+
16
+
This Cookbook for National Snow and Ice Data Center Distributed Active Archive Center ([NSIDC DAAC](https://nsidc.org/data/data-programs/nsidc-daac)) Data is more Julia Child’s “Mastering the Art of French Cooking” than just a collection of recipes (or data tutorials). The aim is to not only provide easy to follow recipes for working with data but also to provide an understanding of the data managed by NSIDC and the tools available to work with the data. It is not an in-depth guide to the many datasets housed by NSIDC but instead is an introduction to the common types of data, file formats and data structures. The hope is that the cookbook will provide a guide and foundataion to help you *master the art of working with cryospheric data*.
17
+
18
+
## How to use this cookbook
19
+
20
+
If you are new to NASA or NSIDC data, begin with the **Getting Started** section. Beyond that, the cookbook is divided into four major sections: **NSIDC Data**, **Working with Data**, **How-To Guides**, and **Tutorials / Workshops**. We also include some **Appendices** that include a best practices guide for Python scripting, some background details on computing, and how to contribute to the cookbook (if you are so inclined!).
21
+
22
+
The **NSIDC Data** section is an introduction to the types of data managed by NSIDC, the file formats used to store that data, coordinate reference systems and grids comon to NSIDC data, and a guide to NASA terminology for Earth science data. There is also an introduction to some “quirky” datasets that do not fit more common simple data structures or are just a little more difficult to work with.
23
+
24
+
The **Working with Data** section is a guide to the tools and applications for accomplishing common steps in scientific workflows: finding and accessing data, wrangling data, and visualizing data. Wrangling data covers subsetting, reformatting, reprojecting and resampling data in preparation for analysis.
25
+
26
+
The **How-To Guides** section is a list of recipes to acheive common tasks. It is intended a list of solutions to common scientific programming tasks.
27
+
28
+
Lastly, the **Tutorials / Workshops** section serves to highlight content that was developed for past events or specific use cases.
29
+
30
+
## About the NSIDC DAAC
31
+
32
+
NSIDC has managed the NASA National Snow and Ice Data Center Distributed Active Archive Center (NSIDC DAAC) since 1993, archiving and distributing cryospheric and related geophysical data from NASA Earth-observing satellite missions, airborne campaigns and field observations. The NSIDC DAAC provides hundreds of free and open-access NASA Earth science data sets, detailed data documentation, data tools, resources and tutorials, as well as robust data user support services. These data can be used to study topics relating to snow cover, sea ice, ice sheets, ice shelves, glaciers, frozen ground, soil moisture, climate interactions, and more!
There are many common data types/ structures and terminology to go along with them. Some examples:
6
6
7
-
_We should add information for tabular data and Data Frames_
7
+
-**Tabular** – rows and columns, often stored in CSV or TSV files. Each row is an observation, and each column is a variable (e.g., time, latitude, longitude, temperature).
8
+
-**Data Frames** – tabular data structures used in programming languages like R or Python (pandas). Data frames allow for more complex indexing, metadata, and transformations than simple tabular files.
9
+
-**Swath** – along-track measurements collected as the satellite passes over an area, usually irregular in shape and resolution.
10
+
-**Raster / Grids** – data organized into regular grid cells, each cell representing a spatial unit (e.g., 25 km × 25 km grid of snow cover).
11
+
-**Resampling** – methods for transforming data between swath, raster, or other structures (e.g., nearest neighbor, bilinear interpolation).
8
12
9
-
- Swath
10
-
- Along-track
11
-
- Raster/Grids
12
-
- Resampling
13
+
14
+
How to work with file formats commonly found at NSIDC: In most cases, it’s best to avoid low-level libraries such as `netCDF4` or `h5py`. Higher-level libraries provide more intuitive access, automatically handle metadata, and streamline analysis. Some format descriptions and reccomendations are in the table below.
|**NetCDF4 / NetCDFx**| Multidimensional climate/remote sensing data (time, lat, lon, variables). |`xarray` (`xr.open_dataset`) in Python; `terra` or `ncdf4` in R. |
19
+
|**HDF5**| Hierarchical format for storing arrays, tables, and metadata; used widely in NASA products. |`xarray`, `pandas`; avoid `h5py` unless necessary. |
20
+
|**HDF-EOS**| Earth Observing System variant of HDF, often with swath, grid, or point structures. |`xarray`, `h5netcdf`, NASA `harmony-py`. |
21
+
|**Shapefile**| Vector geospatial data (points, lines, polygons) with CRS support. |`geopandas` (Python); `sf` (R). |
Copy file name to clipboardExpand all lines: reference-guides/dataset-search-and-discovery.qmd
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ The NSIDC Data Access Tool is accessible from landing pages on the NSIDC website
26
26
27
27
#### **Programmatic**
28
28
29
-
The majority of the shorter form "How Do I's" and longer form "Tutorials" will present programmatic data access methods using Python. We hope to expand to other languages, such as R, in the future.
29
+
The majority of the shorter form "How-To Guides" and longer form "Tutorials / Workshops" will present programmatic data access methods using Python. We hope to expand to other languages, such as R, in the future.
Copy file name to clipboardExpand all lines: tools-we-use.qmd
+49-16Lines changed: 49 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: "Tools we use"
3
3
#number-sections: true
4
4
---
5
5
6
-
Currently, this cookbook features Python Packages (@sec-pythonpkg) for working with data supported by NSIDC DAAC. It also features some applications (@sec-applications) that are accessible through a web browser or as stand alone packages that need to be installed on your local machine.
6
+
Currently, this cookbook features [Python Packages](#sec-pythonpkg) for working with data supported by NSIDC DAAC. It also features some [applications](#sec-applications) that are accessible through a web browser or as stand alone packages that need to be installed on your local machine.
7
7
8
8
The focus on Python not only reflects the expertise of NSIDC DAAC but also reflects the popularity of Python within the Earth and atmospheric science communities. However, we recognize that many of our users are more familiar with other programming langauges such as R and Matlab. We hope that we will be able to include these langauges as the Cookbook develops.
9
9
@@ -14,53 +14,86 @@ Using web or locally-installed applications is a good way to start to discover a
14
14
There are many Python packages available for working with Earth science data. The packages we use in this Cookbook are an unashamedly opinionated selection; they are the tools we like to use. We also think that these tools are the easiest to use for the types of data mananaged by NSIDC DAAC. Most of the tools have been developed so that researchers do not have to worry about the low-level details of accessing and working with often complicated data used in Earth science. This reduces the amount of code you have to write and also reduces the number of mistakes you will inevitably make.
15
15
16
16
#### earthaccess
17
-
[`earthaccess`](https://earthaccess.readthedocs.io/en/latest/) is a package to search for and access NASA Earth science data.
17
+
18
+
[`earthaccess`](https://earthaccess.readthedocs.io/en/latest/) — search for and access NASA Earth science data.
18
19
19
20
#### xarray
20
-
[`xarray`](https://xarray.dev/) is a package to work with N-dimensional data (e.g `(time,x,y,z)`).
21
+
22
+
[`xarray`](https://xarray.dev/) — work with N-dimensional labeled data (e.g. `(time, x, y, z)`).
21
23
22
24
#### rioxarray
23
-
[`rioxarray`](https://corteva.github.io/rioxarray/stable/index.html) is an extentsion to `xarray` that makes data "geospatially-aware".
25
+
26
+
[`rioxarray`](https://corteva.github.io/rioxarray/stable/index.html) — add geospatial awareness to `xarray`.
24
27
25
28
#### rasterio
26
-
[`rasterio`](https://rasterio.readthedocs.io/en/stable/intro.html) is a Python geospatial library for working with raster data.
27
29
28
-
#### Pandas
29
-
[`pandas`](https://pandas.pydata.org/docs/index.html) is a package to work with tabular data (e.g. the kind of data stored in spreadsheets or databases).
30
+
[`rasterio`](https://rasterio.readthedocs.io/en/stable/intro.html) — read, write, and process raster datasets.
31
+
32
+
#### pandas
33
+
34
+
[`pandas`](https://pandas.pydata.org/docs/index.html) — handle tabular data (spreadsheets, databases, CSV).
35
+
36
+
#### geopandas
30
37
31
-
#### Geopandas
32
-
[`geopandas`](https://geopandas.org/en/stable/) is an extension to `pandas` to work with geospatial data.
38
+
[`geopandas`](https://geopandas.org/en/stable/) — extend `pandas` to work with geospatial vector data.
33
39
34
40
#### cartopy
35
-
TBD
41
+
42
+
[`cartopy`](https://scitools.org.uk/cartopy/docs/latest/) — map projections, transformations, and plotting for geospatial data.
36
43
37
44
#### SlideRule
38
-
TBD
45
+
46
+
[`SlideRule`](https://github.com/ICESat2-SlideRule/sliderule-python) — on-demand processing and access to ICESat-2 data.
39
47
40
48
#### icepyx
41
-
TBD
49
+
50
+
[`icepyx`](https://icepyx.readthedocs.io/en/latest/) — search, subset, and download ICESat-2 data with built-in metadata handling.
42
51
43
52
#### satpy
44
-
TBD
53
+
54
+
[`satpy`](https://satpy.readthedocs.io/en/stable/) — read, composite, and visualize meteorological satellite data.
45
55
46
56
#### dask
47
-
TBD
48
57
49
-
## Installing Python Packages
58
+
[`dask`](https://www.dask.org/) — scale computations from laptops to clusters with parallel, out-of-core workflows.
59
+
60
+
### Installing Python Packages
61
+
62
+
Most Python packages can be installed from the [Python Package Index (PyPI)](https://pypi.org/) using [pip](https://pip.pypa.io/en/stable/). Some scientific and geospatial packages are easier to install with [conda](https://docs.conda.io/), particularly through the [conda-forge community channel](https://conda-forge.org/).
50
63
64
+
For more details, see the [official Python documentation on installing packages](https://docs.python.org/3/installing/index.html), the [pip documentation](https://pip.pypa.io/en/stable/getting-started/), and the [conda user guide](https://docs.conda.io/projects/conda/en/latest/user-guide/index.html).
51
65
52
66
## Applications {#sec-applications}
53
67
68
+
Applications provide graphical interfaces for exploring, visualizing, and working with Earth science data. Some run directly in a web browser, while others require installation on your local machine. They are useful for quickly examining datasets, generating plots or maps, and learning about data structures before moving on to scripted workflows.
69
+
54
70
#### Earthdata Search
55
71
72
+
[`Earthdata Search`](https://search.earthdata.nasa.gov/) — NASA’s primary web application for searching, filtering, and downloading Earth science data.
73
+
56
74
#### Open Altimetry
57
75
76
+
[`Open Altimetry`](https://openaltimetry.org/) — a browser-based tool for visualizing and accessing ICESat and ICESat-2 altimetry data.
77
+
58
78
#### HDFView
59
79
80
+
[`HDFView`](https://portal.hdfgroup.org/display/support/HDFView) — a desktop application for viewing and editing HDF4 and HDF5 files.
81
+
60
82
#### Panoply
61
83
84
+
[`Panoply`](https://www.giss.nasa.gov/tools/panoply/) — a NASA tool for visualizing netCDF, HDF, and GRIB files with quick map and plot options.
85
+
62
86
#### NCView
63
87
88
+
[`NCView`](http://meteora.ucsd.edu/~pierce/ncview_home_page.html) — a lightweight utility for quickly viewing netCDF files, especially time series of 2D variables.
89
+
64
90
#### QGIS
65
91
66
-
#### ArcGIS
92
+
[`QGIS`](https://qgis.org/) — an open-source geographic information system for analyzing and visualizing spatial data.
93
+
94
+
#### ArcGIS
95
+
96
+
[`ArcGIS`](https://www.esri.com/en-us/arcgis/about-arcgis/overview) — a commercial GIS platform for advanced mapping, spatial analysis, and data management.
Copy file name to clipboardExpand all lines: tutorials/tutorials_overview.qmd
+12-4Lines changed: 12 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,16 @@
1
1
---
2
-
title: "Tutorials"
2
+
title: "Tutorials / Workshops"
3
3
---
4
4
5
-
This section of the cookbook contains longer form tutorials providing examples of data search and access within a workflow.
5
+
This section of the cookbook contains longer form tutorials providing examples of data search and access within a workflow. NSIDC is frequently involved in hackweeks and workshops as well. Content from past events can be found in the [NSIDC Data Tutorials Repository](https://github.com/nsidc/NSIDC-Data-Tutorials).
6
+
7
+
**Current cookbook tutorials:**
8
+
9
+
-[Direct cloud access of ICESat-2 (*ATL06 Land Ice Height*) data](/tutorials/ATL06-direct-access.ipynb): a notebook that demonstrates searching for cloud-hosted ICESat-2 data and directly accessing Land Ice Height (ATL06) granules from an Amazon Compute Cloud (EC2) instance using the `earthaccess` package.
10
+
-[Download of ICESat-2 (*ATL07 Sea Ice*) data](/tutorials/working_with_icesat2_sea_ice_data.ipynb): a notebook that demonstrates searching for and accessing ICESat-2 data using the Python `earthaccess` package, reading and visualizing the data using `xarray` and `pandas`, and that uses `matplotlib` and `cartopy` to produce a map of search results.
11
+
12
+
**Tutorials coming soon:**
13
+
14
+
- Ideas?
15
+
-*Let us know what you'd like to see!*
6
16
7
-
--Direct cloud access of ATL06 Land Ice Height data
0 commit comments