Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new guide on netCDF file format #24

Merged
merged 4 commits into from
Aug 29, 2024

Conversation

vmartinez-cu
Copy link
Collaborator

@vmartinez-cu vmartinez-cu commented Jul 25, 2024

Created a guide about the netCDF file format pulling content written by Doug Lindholm. Confluence page

The content is mostly in the structure of bullet points. Some additional text is needed to provide context and explain how this file format is being used at LASP. I added a warning at the top of the guide noting that it's incomplete.

Details still needed:

  • Expand overview section and explain bullet points
  • Add a few sentences about the purpose of the guide
  • Expand on options available
  • Expand on how to apply the guide. Perhaps move the external links listed at the end of the guide to this section followed by tips and recommendations specific to LASP.
  • Are there other useful links to add?

Credit is given to Doug at the bottom of the file, but we should figure out how best to do this since the structure is different from his original page

Copy link

@hcronk hcronk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for getting this going, Veronica!



## Purpose for this guideline
NetCDF is a file format commonly used at LASP...
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is the "highly preferred" format for NASA Earth Observing System Data and Information System data products, per their Data Product Development Guide for Data Producers. This affects all NASA Earth Science missions

* long_name
* units
* Conventions
* [Climate and Forecast (CF)](https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be useful to include information for compliance checkers, especially since this is the convention being pushed by the NASA Earth Science Data Systems and that changes what's required vs. useful attributes

#### Other useful variable attributes
* missing_value
* prefer over _FillValue
* NaN is a good option
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disagree -- NaNs in files are handled differently in every language and I feel like it's better to pick a value for official data products that many users will be using

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've updated this section. A quick google search indicates that missing_value is considered deprecated. I also added a note on NaNs based on your input. This is helpful insight, thanks for sharing!

## Useful Links
* [NetCDF User's Guide](https://docs.unidata.ucar.edu/nug/current/)
* [NetCDF ToolsUI](https://docs.unidata.ucar.edu/netcdf-java/current/userguide/toolsui_ref.html)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add this url to the list of links, thanks!

* Requires software libraries to read and write C, Fortran, Java, python, IDL, ...
* Internal compression, don't bother to compress NetCDF files externally
* HTTP byte range requests
* Parallel IO
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be a rabbit hole, depending on how much you want to get into things like Dask

Copy link
Member

@bourque bourque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great start! And thanks for detailing what else still needs to be done to this document (feel free to open a new issue for that).

Could you also add a path to this file in the index.rst file so that it appears in the RtD build?

@vmartinez-cu
Copy link
Collaborator Author

I made some minor updates and added the guide to index.rst. I'll create a ticket for content still needed

@vmartinez-cu vmartinez-cu merged commit 2212474 into lasp:main Aug 29, 2024
7 checks passed
@vmartinez-cu vmartinez-cu deleted the netcdf-guide branch August 29, 2024 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants