• Stars
    star
    142
  • Rank 256,977 (Top 6 %)
  • Language
    Java
  • License
    BSD 3-Clause "New...
  • Created over 5 years ago
  • Updated 28 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Unidata netcdf-java library

netcdf-java icon

netCDF-Java/CDM

The netCDF Java library provides an interface for scientific data access. It can be used to read scientific data from a variety of file formats including netCDF, HDF, GRIB, BUFR, and many others. By itself, the netCDF-Java library can only write netCDF-3 files. It can write netCDF-4 files by using JNI to call the netCDF-C library. It also implements Unidata's Common Data Model (CDM) to provide data geolocation capabilities.

For more information about netCDF-Java/CDM, see the netCDF-Java web page at

and the CDM web page at

https://docs.unidata.ucar.edu/netcdf-java/current/userguide/common_data_model_overview.html

You can obtain a copy of the latest released version of netCDF-Java software from

More documentation can be found at

A mailing list, [email protected], exists for discussion of all things netCDF-Java/CDM including announcements about netCDF-Java/CDM bugs, fixes, enhancements, and releases. For information about how to subscribe, see the "Subscribe" link on this page

For more general netCDF discussion, see the [email protected] email list.

We appreciate feedback from users of this package. Please send comments and suggestions to [email protected]. For bug reports, feel free to open an issue on this repository, or contact us at the address above. Please identify the version of the package as well as the version/vendor of Java you are using. For potential security issues, please contact [email protected] directly.

Contributors

Are you looking to contribute to the netCDF-Java efforts? That's great! Please see our contributors guide for more information!

NetCDF Markup Language (NcML)

NcML is an XML representation of netCDF metadata, it approximates the header information one gets from a netCDF file with the "ncdump -h" command. NcML is similar to the netCDF CDL (network Common data form Description Language), except, of course, it uses XML syntax.

Beyond simply describing a netCDF file, it can also be used to describe changes to existing netCDF files. A limited number of tools, mainly netCDF-Java based tools, support these features of NcML.

For more information about NcML, see the NcML web page at

https://docs.unidata.ucar.edu/netcdf-java/current/userguide/ncml_overview.html

THREDDS Catalogs

THREDDS Catalogs can be thought of as representing logical directories of on-line data resources. They are encoded as XML and provide a place for annotations and other metadata about the data resources. While the THREDDS Data Server (TDS) generates THREDDS Catalogs, THREDDS Catalogs are not limited to those produced by the TDS. These XML documents are how THREDDS-enabled data consumers find out what data is available from data providers.

THREDDS Catalog documentation (including the specification) is available at

Licensing

netCDF-Java is released under the BSD-3 licence, which can be found here.

Furthermore, this project includes code from third-party open-source software components:

  • Gretty: for details, see buildSrc/README.md
  • ERDDAP: for details, see waterml/README.md
  • JUnit: for details, see testUtil/README.md

Each of these software components have their own license. Please see docs/src/private/licenses/third-party/.

How to use

The latest released and snapshot software artifacts (e.g. .jar files) are available from Unidata's Nexus repository:

To build netCDF-java from this repository, follow this tutorial.

To use the netCDF-Java library as a dependency using maven or gradle, follow these instructions.

Previous releases

Prior to v5.0.0, the netCDF-Java/CDM library and the THREDDS Data Server (TDS) have been built and released together. Starting with version 5, these two packages have been decoupled, allowing new features or bug fixes to be implemented in each package separately, and released independently. Releases prior to v5.0.0 were managed at https://github.com/unidata/thredds, which holds the combined code based used by v4.6 and earlier.

More Repositories

1

MetPy

MetPy is a collection of tools in Python for reading, visualizing and performing calculations with weather data.
Python
1,234
star
2

netcdf4-python

netcdf4-python: python/numpy interface to the netCDF C library
Cython
742
star
3

netcdf-c

Official GitHub repository for netCDF-C libraries and utilities.
C
501
star
4

thredds

THREDDS Data Server v4.6
266
star
5

netcdf-fortran

Official GitHub repository for netCDF-Fortran libraries, which depend on the netCDF C library. Install the netCDF C library first.
Fortran
231
star
6

siphon

Siphon - A collection of Python utilities for retrieving atmospheric and oceanic data from remote sources, focusing on being able to retrieve data from Unidata data technologies, such as the THREDDS data server.
Python
212
star
7

awips2

Weather forecasting display and analysis package developed by NWS/Raytheon, released as open source software by Unidata.
Java
171
star
8

python-workshop

A series of Jupyter Notebooks on exploring Unidata technology with Python. See website for more information.
Jupyter Notebook
148
star
9

python-training

Notebooks teaching Python for use meteorology and atmospheric and climate sciences.
Jupyter Notebook
125
star
10

netcdf-cxx4

Official GitHub repository for netCDF-C++ libraries and utilities.
C++
124
star
11

python-gallery

Repository of examples showing off the use of Python for meteorology.
Python
87
star
12

IDV

The Integrated Data Viewer (IDV) from Unidata is a framework for analyzing and displaying geoscience data.
Java
80
star
13

cftime

Time-handling functionality from netcdf4-python.
Python
74
star
14

gempak

Analysis and product generation for meteorological data.
C
69
star
15

tomcat-docker

Security-hardened Tomcat container for thredds-docker and ramadda-docker
Shell
65
star
16

tds

THREDDS Data Server
Java
63
star
17

UDUNITS-2

API and utility for arithmetic manipulation of units of physical quantities
C
60
star
18

online-python-training

Repo for materials associated with the Online Python Training (OPT) project
CSS
50
star
19

LDM

The Unidata Local Data Manager (LDM) system includes network client and server programs designed for event-driven data distribution, and is the fundamental component of the Unidata Internet Data Distribution (IDD) system.
C
43
star
20

python-awips

A framework for querying AWIPS meteorological datasets from an EDEX Data Server.
Python
40
star
21

thredds-docker

Dockerized THREDDS
Dockerfile
33
star
22

cloudstream

Docker-based framework for Application Streaming
Shell
29
star
23

science-gateway

Unidata Science Gateway on the NSF Jetstream2 Cloud
TeX
19
star
24

HurricaneTracker

Hurricane Track Visualization in Python
Python
19
star
25

rosetta

ρ΢ητα β‡’ rosetta
Java
17
star
26

pyCWT

Continuous Wavelet Transform Library for Python
Python
16
star
27

jj2000

Fork of jpeg2k code from https://code.google.com/p/jj2000/.
Java
16
star
28

compression

Provide a standard source set (and build) for various compression libraries
C
13
star
29

ldm-docker

Dockerized LDM
Tcl
12
star
30

ldm-alchemy

Python tools to handle LDM data feeds and convert to other formats.
Python
12
star
31

metpy-mondays

Jupyter Notebook
11
star
32

CloudAWIPS

AWIPS CAVE Streaming in a CentOS 7 Virtual Environment
Shell
11
star
33

git-recipes

Useful Git recipes
10
star
34

ttm

Provide a reference implementation for the TTM programming language.
C
9
star
35

ncWMS

Snapshots of ncWMS used by TDS
Java
8
star
36

FMTP

File Multicast Transfer Protocol
C++
8
star
37

unidata-users-workshop

Unidata Users Workshop
8
star
38

threddsIso

A THREDDS Data Server extension which generates NCML, a metadata rubric, and ISO 19115.
XSLT
7
star
39

yax

The goal of the yax project is to allow the use of YACC (Gnu Bison actually) to parse/process XML documents.
Python
7
star
40

EC-netCDF-CF

EarthCube: Advancing netCDF-CF Project
7
star
41

users-workshop-2023

Repo covering Jupyter Notebook resources for Unidata's 2023 triennial meeting held in Boulder, Colorado
Jupyter Notebook
7
star
42

station-lists

Lists of locations of weather stations for shared use by other projects.
C
6
star
43

netCDF-Decoders

Routines that encode meteorological data in netCDF format
C
6
star
44

netcdf

NetCDF Users Group (NUG)
Makefile
6
star
45

TdsConfig

Contents of TDS configuration directories for several variants including a TDS serving all Unidata IDD data
XSLT
6
star
46

metpy-analysis

Materials for the 2-day course on MetPy for Quantitative Analysis of Meteorological Data
Jupyter Notebook
6
star
47

metpy-ams-2023

Materials for the 2023 AMS short course "MetPy for your Data Analyzing Meteorological Observations in Python"
Jupyter Notebook
5
star
48

cloudidv

Repository for the Cloud-Based IDV
Python
5
star
49

pyaos-ams-2021

Jupyter Notebook
5
star
50

netCDF-Perl

Perl interface to the (deprecated) netCDF 2 API
M4
5
star
51

docker-nctests

Docker configuration files for building netCDF regression testing containers.
Shell
5
star
52

pyaos-ams-2020

Unidata AMS 2020 Student Conference PyAOS Workshop
Jupyter Notebook
5
star
53

Unidata-Dockerfiles

Unidata Dockerfiles
HTML
4
star
54

WorldWeatherSymbol_font

Building a TTF font from WMO weather symbols in SVG format
4
star
55

tdm-docker

Dockerized TDM
Shell
4
star
56

sruth

Java
4
star
57

awips2-core

Java
3
star
58

Garp

GARP (GEMPAK Analysis and Rendering Program)
C
3
star
59

awips2-ncep

Java
3
star
60

drilsdown

Drawing Rich Integrated Lat-lon- time Samples from Datasets Online into Working Notebooks
Jupyter Notebook
3
star
61

jpattern

The goal of the jpattern project is to provide a reference Java implementation of the Snobol4 primitives as implemented by Robert Dewar in Ada.
Java
3
star
62

nexus-tools

A set of shell scripts to manage publications within raw repositories on the Unidata nexus artifacts server.
Shell
2
star
63

GEMPAK-Tables

Makefile
2
star
64

UnidataRadarApp

Unidata Radar App
Java
2
star
65

awips-ml

Python
2
star
66

uncc-workshop-2020

Supporting materials for the 2020 Unidata workshop at UNC Charlotte
Jupyter Notebook
2
star
67

cloudcontrol

CloudControl is a web-based dashboard which provides administrative controls to deploy and manage Docker images in the cloud.
Java
2
star
68

ucar-intern-pdws

Materials from teaching the UCAR Summer Intern Professional Development Workshop Series event on Python
Jupyter Notebook
2
star
69

awips2-goesr

AWIPS GOES-R Plugins
Java
2
star
70

python-readiness

Materials for Unidata's Python Readiness workshop series equipping students with skills for their coursework and research.
Jupyter Notebook
2
star
71

rtstats

Unidata rtstats revamp
Python
2
star
72

metpy-bams-2022

Scripts used to generate images for the MetPy 2022 BAMS publication
Jupyter Notebook
2
star
73

Wave

Weather Analysis and Visualization Environment
Python
2
star
74

awips2-gemlibs

GEMPAK and NSHARP libraries for AWIPS II
C
2
star
75

github-utils

Utility scripts using GitHub's REST API.
Python
2
star
76

bison.py

The goal of this project is allow the use of ''Bison'' to generate parsers for Python.
Shell
1
star
77

awips2-hazards

AWIPS Hazard Services Plugins
Java
1
star
78

dcredbook-util

C Shell scripts to output NWS Redbook graphics to GIF, PostScript and Vector Graphic files.
Shell
1
star
79

awips2-tools

AWIPS II Automation Tools provided by the National Weather Service
Shell
1
star
80

pygcdm

Python
1
star
81

thredds-test-data

PowerShell
1
star
82

awips2-drawing

AWIPS Drawing Tool
Java
1
star
83

awips2-data-delivery

Java
1
star
84

awips2-gsd

GSD AWIPS Plugins
Java
1
star
85

unidata-gempak-workshop

Scripts made available for the Unidata GEMPAK training workshop
Shell
1
star
86

awips2-rpm

HTML
1
star
87

unidata.github.io

Basic gh-pages site to point users to our main website
HTML
1
star
88

awips2-ogc

OGC AWIPS Plugins
Java
1
star
89

pyaos-ams-2023

Materials for the AMS 2023 Student Conference Python Workshop.
Jupyter Notebook
1
star
90

ou-workshop-2020

Supporting materials for Unidata 2020 workshop at OU.
Jupyter Notebook
1
star
91

ast.obsolete

The goal of the ast system is provide a pure Java implementation of the Google protobuf system.
Shell
1
star
92

awips2-swpc

SWPC AWIPS Plugins
Java
1
star
93

MLscratchpad

Jupyter Notebook
1
star
94

thredds-performance-tests

Python
1
star