Skip to content

Commit 47d3766

Browse files
ktylepre-commit-ci[bot]brian-rose
authored
Update data access section (#547)
* Update data access section * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update portal/cookbook-guide.md BR suggested change 1 Co-authored-by: Brian Rose <brose@albany.edu> * Update portal/cookbook-guide.md BR suggested change 2 Co-authored-by: Brian Rose <brose@albany.edu> * Fix formatting in Data Access/complex Cookbooks section * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Brian Rose <brose@albany.edu>
1 parent 1985dbe commit 47d3766

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

portal/cookbook-guide.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,29 @@ Using the Pythia Cookbook template to create reproducible documents housed elsew
2424

2525
If you're not looking to create a _new_ Cookbook, but rather looking for guidance on contributing to _existing_ Cookbooks, first make sure you're comfortable with the [GitHub forking workflow](https://foundations.projectpythia.org/foundations/github/github-workflows.html#forking-workflow), then take a look at the section below on "Pull Requests and previews".
2626

27-
## A. Data Access
27+
## A. Data access and storage considerations for Cookbooks
2828

29-
Before developing your cookbook, you should consider how it will access the data you plan to use. In loose order of preference, we recommend the following:
29+
Pythia Cookbooks are typically powered by one or more geoscientific data sets to help illustrate a workflow or concept. The variety of formats and sources of Earth science data is huge. Here we provide general guidelines for helping choose data for your Cookbook, as well as options for storing and making data accessible if necessary.
3030

31-
1. Rely on data that is already freely available and accessible with tools in the ecosystem. Point to Foundations or other cookbooks for tool how-to guides if needed. Examples include the [CMIP6 Cookbook](https://projectpythia.org/cmip6-cookbook/) and the [CESM LENS on AWS Cookbook](https://projectpythia.org/cesm-lens-aws-cookbook/)
32-
1. Focus on representative subsets of data that can be packaged alongside the cookbook in-repo. An example is the [Landsat ML Cookbook](https://projectpythia.org/landsat-ml-cookbook/README.html)
33-
1. Discuss your larger data storage needs with the Pythia team. We are currently experimenting with cloud object storage for Cookbooks via NSF JetStream2.
34-
1. Provide the tools and/or clear documentation for accessing the data that you have stored somewhere else
31+
### Options for data pathways
32+
33+
Cookbooks can most often succeed by relying on data that are publicly accessible, small, or otherwise self-contained. In order of preference, we recommend the following strategies for managing Cookbook data:
34+
35+
1. **Remotely access open data**<br>For most Cookbooks that rely on data to demonstrate their concepts, we recommend accessing open, public datasets remotely in a sustainable way. Use tools like [Xarray](https://xarray.dev), [Siphon](https://www.unidata.ucar.edu/software/siphon), and [Intake](https://intake.readthedocs.io) to read data from providers such as [NOAA NCEI](https://www.ncei.noaa.gov), [AWS Open Data](https://registry.opendata.aws), [Google Cloud Public Datasets](https://cloud.google.com/datasets) and [Source Cooperative](https://source.coop), as long as such data are licensed and priced openly for public demonstration and use. Examples of existing Cookbooks that follow this preferred method include the [CMIP6 Cookbook](https://projectpythia.org/cmip6-cookbook/) and the [CESM LENS on AWS Cookbook](https://projectpythia.org/cesm-lens-aws-cookbook/).
36+
37+
2. **Commit a small data artifact to your Cookbook repository**
38+
If a few data files whose total size amount to less than 50MB can power your Cookbook, these can be directly stored in your `git` repository! *Make sure you have the license to provide such datasets*. An example Cookbook is the [Landsat ML Cookbook](https://projectpythia.org/landsat-ml-cookbook/). *Note that the more files you commit and the larger they are, the more sluggish your Cookbook's notebooks will quickly become*. Exercise restraint!
39+
40+
3. **Generate “toy” sample data in your Cookbook**
41+
For many concepts, we encourage writing self-contained functions to generate simple representative datasets for demonstrating scientific concepts. Your Cookbook can even reuse these sample data repeatedly throughout.
42+
43+
4. **For complex Cookbooks that rely on large datasets that are not already accessible through other services**, we suggest two options:
44+
45+
a. **Institutional Repositories**
46+
Many universities, labs, and centers offer institutional repositories for storing data in a manner that makes it freely and readily available to the public. If you’re based at a university or a publicly funded research facility, check with your local library or data management office. If you are funded by NSF, you may be able to store your data on NSF NCAR’s [Research Data Archive (RDA)](https://rda.ucar.edu).
47+
48+
b. **Project Pythia's [NSF Jetstream2](https://jetstream-cloud.org) Object Store**
49+
If you have created a larger dataset for your Cookbook and don’t have access to institutional resources of your own, Project Pythia may be able to provide a home on our cloud object store. Our [Ocean Biogeochemistry Cookbook](https://projectpythia.org/ocean-bgc-cookbook/notebooks/readintutorial) uses this option. Please [contact the Project Pythia team](https://discourse.pangeo.io/c/education/project-pythia/60) if you would like to explore this option.
3550

3651
## B. Create a Repository From the Cookbook Template
3752

0 commit comments

Comments
 (0)