Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,37 @@ A live ERDDAP™ installation can be seen at: https://coastwatch.pfeg.noaa.g
*Example screenshot of ERDDAP™'s web user interface 'Make-a-Graph' page*



## Architecture

ERDDAP supports both **standalone** and **containerized** deployments:

| Module | Description |
|--------|-------------|
| `WEB-INF/classes` | Core ERDDAP engine with REST API, OPeNDAP/THREDDS support, and dataset management |
| └─ `gov/noaa/pfel/erddap` | Main server logic, request handlers, and dataset factories |
| └─ `gov/noaa/pfel/erddap/dataset` | Dataset implementations (Grid, Table, Aggregations) and TableWriters for output formats |
| └─ `gov/noaa/pfel/erddap/util` | Core utilities, configuration (EDStatic), and resource management |
| └─ `gov/noaa/pfel/coastwatch` | Data processing utilities for griddata, pointdata, and file operations |
| `src/main/resources` | SGT (Scientific Graphics Toolkit) for visualization and plotting |
| `development/` | Development tooling - Jetty setup, Docker configs, JMeter tests, and profiling guides |
| `docker/` | Docker Compose configurations including Prometheus monitoring stack |
| `translation/` | Internationalization system with automated translation scripts |

**Deployment Modes:**

* **Standalone (Tomcat)**: ERDDAP WAR + Apache Tomcat (recommended for production)
* **Standalone (Jetty)**: ERDDAP + Jetty via Maven (optimized for rapid development)
* **Containerized**: Docker/Docker Compose deployment with optional monitoring stack

**Architecture Highlights:**

* **Pluggable Datasets**: Support for 40+ dataset types (GridDAP, TableDAP, EDDGridFromDap, EDDTableFromAsciiFiles, etc.)
* **Format Agnostic**: Reads from NetCDF, HDF5, OPeNDAP, databases, ASCII, and writes to JSON, CSV, NetCDF, GeoJSON, and 20+ formats
* **Aggregation Support**: Side-by-side and sequential dataset aggregation with automatic metadata merging
* **Caching Layer**: Intelligent caching for performance with configurable dataset reload intervals


## Developing with ERDDAP™

ERDDAP™ is a Java Servlet-based application and can be run in any compatible Java Servlet Container/Application Server, such as Apache Tomcat.
Expand Down