Published using Google Docs
THREDDS
Updated automatically every 5 minutes

Status Report: THREDDS

October 2021- June 2022

Hailey Johnson, Tara Drwenski, Jennifer Oxelson, Ryan May, Ethan Davis, Dennis Heimbigner

Areas for Committee Feedback

We are requesting your feedback on the following topics:

  1. What has been your experience so far with the TDS v5 migration process? Do you have any concerns or suggestions for how to best support our community through the transition?
  2. Do you have thoughts on the migration of the TDS to microservices? What do you foresee as the greatest challenges and benefits associated with the change?
  3. How can we help you and your students? We can do much more than Java programming - we love Python too! Our team comes from a variety of academic backgrounds as well, including Meteorology (boundary-, surface-, and canopy-layer, in-situ observations, radar), Computer Science, Oceanography, Chemistry, and Physics!

Activities Since the Last Status Report

Staffing Changes

Tara Drwenski joined the THREDDS team on February 28, 2022. Welcome, Tara! We are in the process of searching for an additional third team member as well, who will hopefully be joining us in the next few months.

The THREDDS Project

The THREDDS Project encompases four projects: **netCDF-Java, the THREDDS Data Server (TDS), Rosetta, and Siphon** (the Unidata Python client to interact with remote data services, such as those provided by the TDS). For specific information on Siphon, please see the Python Status Report. This status report contains updates on cloud compatibility within netCDF-Java and the TDS; for updates on further cloud efforts, including the popular Docker container effort, please see the Cloud Computing Activities Status Report.

Log4Shell and Spring4Shell

NetCDF-Java

TDS version 4.6.x (Maintenance)

TDS version 5.x (Current)

Rosetta

Rosetta remains in a temporary maintenance mode due to limited development resources; no new development is planned for the short-term future.

Ongoing Activities

We plan to continue the following activities:

Maintenance
Development

The following active proposals directly involve THREDDS work:

New Activities

Over the next three months, we plan to organize or take part in the following:

Over the next twelve months, we plan to organize or take part in the following:

Beyond a one-year timeframe, we plan to organize or take part in the following:

Relevant Metrics

THREDDS Startup Metrics

2021-10 — 2022-05

2014-08 — 2021-04

TDS Startup

(unique IP address count)

1,626

38,234

Total Servers

Information page updated

Publicly Accessible[1] TDS count

160

85

Over the past six months,  **1,626** unique IPs started up the TDS  (October 2021 through May 2022). Since we’ve started tracking these metrics (v4.5.3, August 26th, 2014), we’ve seen the TDS startup from **38,234** unique IP addresses. There are currently **160** publically accessible TDSs running “in the wild” (31 fewer than our last report ) .  Of the **160** publically accessible servers, **85** have updated the name of their server in their server configuration file (taken as a sign that they are maybe, possibly, intended to be used by others...maybe…).

The figures below show the distribution of TDS versions (top), and the fractional share of servers running version X or older (bottom). Each labeled version includes betas and snapshots, not just the official release of that version, for presentation simplicity. The majority of the publicly accessible servers are running v4.6.13 or above . TDS v5.0 is the dominant specific version running in the wild.

Strategic Focus Areas

The THREDDS projects covered in this report support the following goals described in Unidata Strategic Plan:

  1. Managing Geoscience Data
    The component software projects of the THREDDS project work to facilitate the management of geoscience data from four points of view: __Making Geoscience Data Accessible, Making Geoscience Data Discoverable, Making Geoscience Data Usable, and Enhancing Community Access to Data__ . As a client-side library, **netCDF-Java** enables end users to read a variety of data formats both locally and across numerous remote technologies. Less user-friendly formats, such as GRIB, are augmented with metadata from community driven metadata standards (e.g. Climate and Forecast metadata standards), and viewed through the more user friendly Common Data Model (very similar to the netCDF Data Model), providing a single set of Java APIs for interacting with a multitude of formats and standards. The **THREDDS Data Server** exposes the power of the netCDF-java library outside of the Java ecosystem with the addition of remote data services, such as __OPeNDAP__ , __cdmremote__ , __OGC WCS__ and __WMS__ , __HTTP direct download__ , and other remote data access and subsetting protocols. The TDS also exposes metadata in standard ways (e.g. ISO 19115 metadata records, json-ld metadata following schema.org), which are used to drive search technologies. **Rosetta** facilitates the process of translating ascii based observational data into standards compliant, archive ready files. These files are easily read into netCDF-Java and can be served to a broader community using the TDS.
  2. Providing Useful Tools
    Through Rosetta, the THREDDS project seeks to intercede in the in-situ based observational data management lifecycle as soon as possible. This is done by enabling those who produce the data to create archive ready datasets as soon as data are collected from a sensor or platform without the need to write code or intimately understand metadata standards. NetCDF-java and the TDS continue to support legacy workflows by maintaining support for legacy data formats and decades old data access services, while promoting 21st century scientific workflows through the creation of new capabilities and modernization of existing services (e.g. Immutability, upgraded technical stack, microservice development).
  3. Supporting People
    Outside of writing code, the THREDDS project seeks to support the community by __providing technical support, working to build capacity through Open Source Software development, and by building community cyber-literacy__ . The team provides expert assistance on software, data, and technical issues through numerous avenues, including participation in community mailing lists, providing developer guidance on our GitHub repositories, and leading and participating in workshops across the community. The team also actively participates in “upstream” open source projects in an effort to help sustain the efforts of which we rely and build upon. We have mentored students as part of the Unidata Summer Internship Program, and worked across organizations and disciplines in support of their internship efforts.

Prepared  May, 2022 


[1] “Publicly accessible” means we could find a top-level THREDDS Client Catalog. We checked <server>/thredds/catalog.xml (version 4), <server>/thredds/catalog/catalog.xml (version 5), including the most common ports of 80, 8080, 443, and 8443.