Skip to content

Commit 73921c6

Browse files
authored
Merge pull request nsidc#21 from nsidc/modify-outline
Modify cookbook outline to reflect comments and discussion
2 parents 5c21995 + 3ad5b07 commit 73921c6

File tree

4 files changed

+100
-42
lines changed

4 files changed

+100
-42
lines changed

_quarto.yml

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,38 +25,47 @@ website:
2525
contents:
2626
- text: "Welcome to our Cookbook"
2727
href: index.qmd
28-
- text: "Getting Started"
29-
href: our-cookbook.qmd
30-
- text: "Quick Start Guide"
31-
# href: quickstart.qmd
32-
- section: "Data Orientaion"
28+
- section: "Getting Started"
29+
contents:
30+
- text: "How to use this cookbook"
31+
href: our-cookbook.qmd
32+
- text: "Tools we use"
33+
href: tools-we-use.qmd
34+
# - text: "Quick Start Guide"
35+
# # href: quickstart.qmd
36+
- section: "NSIDC Data"
3337
# href: reference-guides/data-orient-overview.qmd
3438
contents:
35-
- text: "Types of data at NSIDC"
39+
- text: "Types of data"
3640
href: reference-guides/data-structures.qmd
37-
- text: "Common NSIDC file formats"
41+
- text: "Common file formats"
3842
href: reference-guides/nsidc-file-formats.qmd
3943
- text: "NASA collections and granules"
40-
- text: "Datasets"
44+
- text: "NSIDC map projections and grids"
45+
href: reference-guides/projections.qmd
46+
- text: "Quirky Datasets"
4147
href: reference-guides/datasets.qmd
4248
- section: "Working with Data"
4349
# href: reference-guides/working-with-data-overview.qmd
4450
contents:
4551
- section: "Finding and Accessing Data"
4652
contents:
47-
- text: "Dataset search and discovery"
53+
- text: "Getting an Earthdata Login"
54+
# href: reference-guides/get-edl.qmd
55+
- text: "Data search and discovery"
4856
href: reference-guides/dataset-search-and-discovery.qmd
49-
- text: "Dataset retrieval"
50-
- text: "What is an API?"
57+
- text: "Data access"
5158
- section: "Wrangling Data"
59+
contents:
60+
- text: "Subsetting"
61+
- text: "Reformatting"
62+
- text: "Reprojecting"
63+
- text: "Resampling"
5264
- section: "Visualizing Data"
5365
contents:
54-
- text: "Plotting NSIDC Data"
66+
- text: "Plotting data - time series, scatter plots"
67+
- text: "Plotting data on a map"
5568
href: reference-guides/plotting-data.qmd
56-
- text: "NSIDC map projections and grids"
57-
href: reference-guides/projections.qmd
58-
- text: "Tools we use"
59-
href: tools-we-use.qmd
6069
- text: "Best Practices"
6170
- section: "How do I..."
6271
href: how-to-guides/overview.qmd
@@ -70,6 +79,9 @@ website:
7079
href: how-to-guides/netcdf_cf.qmd
7180
- text: "get the latitude and longitudes for grid cells"
7281
href: how-to-guides/get_latitude_and_longitude.qmd
82+
- section: "Appendices"
83+
contents:
84+
- text: "What is an API?"
7385

7486
format:
7587
html:

how-to-guides/get_latitude_and_longitude.qmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ date: last-modified
88
My data are in a NetCDF file but there are no latitude and longitude coordinates. How do I get the latitude and longitude for each grid cell center?
99

1010
## Solution
11-
```
11+
```{python}
1212
import numpy as np
1313
1414
import rioxarray
@@ -17,7 +17,7 @@ from pyproj import CRS, Transformer
1717
1818
1919
# Load dataset using decode_coords='all'
20-
ds = xr.open_dataset('example_data/NSIDC0081_SEAICE_PS_N25km_20230627_v2.0.nc',
20+
ds = xr.open_dataset('../example_data/NSIDC0081_SEAICE_PS_N25km_20230627_v2.0.nc',
2121
decode_coords='all')
2222
2323
# Instantiate source pyproj CRS from ds.rio.crs object

our-cookbook.qmd

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
---
2-
title: "Our Cookbook"
2+
title: "How to use this cookbook"
33
---
44

5-
## How to use this cookbook
5+
This Cookbook for NSIDC Data is more Julia Child's "Mastering the Art of French Cooking" than just a collection of recipes. 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 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_.
66

7+
The cookbook is divided into three sections: NSIDC DATA, Working with Data, and a recipes section, "How do I...". We also include some appendices that include a best practices guide for Python scripting and some background details on computing.
78

8-
## Get Started
9+
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.
10+
11+
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.
12+
13+
The **How do I...** section is a list of recipes to acheive common tasks. It is intended a list of solutions to common scientific programming tasks.
914

1015

tools-we-use.qmd

Lines changed: 62 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,66 @@
11
---
22
title: "Tools we use"
3+
#number-sections: true
34
---
45

5-
## Python libraries
6-
7-
- earthaccess
8-
- xarray
9-
- Geopandas
10-
- rioxarray
11-
- rasterio
12-
- SlideRule
13-
- icepyx
14-
- cartopy
15-
- satpy
16-
- dask
17-
18-
## Other tools
19-
- Earthdata Search
20-
- Open Altimetry
21-
- HDFView
22-
- Panoply
23-
- NCView
24-
- QGIS
25-
- ArcGIS
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+
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+
10+
Using web or locally-installed applications is a good way to start to discover and learn about data. We often use these applications to explore datasets, find what data is available, and quickly visualize data. However, many investigations require large numbers of files to be accessed and processed. It is often more efficient to write scripts in Python or some other language to do this. In the cloud, scripts are often the only way to search for and access data. Scripts are also a way to make workflows reproducible, something that is difficult to do with a GUI application.
11+
12+
## Python Packages {#sec-pythonpkg}
13+
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+
16+
#### earthaccess
17+
[`earthaccess`](https://earthaccess.readthedocs.io/en/latest/) is a package to search for and access NASA Earth science data.
18+
19+
#### xarray
20+
[`xarray`](https://xarray.dev/) is a package to work with N-dimensional data (e.g `(time,x,y,z)`).
21+
22+
#### rioxarray
23+
[`rioxarray`](https://corteva.github.io/rioxarray/stable/index.html) is an extentsion to `xarray` that makes data "geospatially-aware".
24+
25+
#### rasterio
26+
[`rasterio`](https://rasterio.readthedocs.io/en/stable/intro.html) is a Python geospatial library for working with raster data.
27+
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+
31+
#### Geopandas
32+
[`geopandas`](https://geopandas.org/en/stable/) is an extension to `pandas` to work with geospatial data.
33+
34+
#### cartopy
35+
TBD
36+
37+
#### SlideRule
38+
TBD
39+
40+
#### icepyx
41+
TBD
42+
43+
#### satpy
44+
TBD
45+
46+
#### dask
47+
TBD
48+
49+
## Installing Python Packages
50+
51+
52+
## Applications {#sec-applications}
53+
54+
#### Earthdata Search
55+
56+
#### Open Altimetry
57+
58+
#### HDFView
59+
60+
#### Panoply
61+
62+
#### NCView
63+
64+
#### QGIS
65+
66+
#### ArcGIS

0 commit comments

Comments
 (0)