Erddap
ERDDAP is a scientific data server that gives users a simple, consistent way to download subsets of gridded and tabular scientific datasets in common file formats and make graphs and maps. ERDDAP is a Free and Open Source (Apache and Apache-like) Java Servlet from NOAA NMFS SWFSC Environmental Research Division (ERD).
Install / Use
/learn @ERDDAP/ErddapREADME
ERDDAP™: Easier Access to Scientific Data
Welcome to the ERDDAP™ GitHub repository
ERDDAP™ is a scientific data server that gives users a simple, consistent way to download subsets of gridded and tabular scientific datasets in common file formats and make graphs and maps. ERDDAP™ is a Free and Open Source Java Servlet developed by the NOAA NMFS SWFSC Environmental Research Division (ERD).
A live ERDDAP™ installation can be seen at: https://coastwatch.pfeg.noaa.gov/erddap/index.html.
<div style="width: 100%; clear: both; align: center"><img src="development/images/erddap_sst_graph.jpg" alt="ERDDAP SST data example graph page" width="650" style="margin: 10px; border-width: 1px; border-style: solid; border-color: grey" /></div>Example screenshot of ERDDAP™'s web user interface 'Make-a-Graph' page
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.
Local development and testing of ERDDAP™ code can be done without a production-scale installation. Two approaches are recommended:
- Jetty Servlet Container - see: ERDDAP™ Development with Maven and Jetty.
- Docker/Tomcat (building and running an ERDDAP™ development Docker image) - see: ERDDAP™ Development with Docker/Tomcat
For operational ERDDAP™ deployment, Apache Tomcat is recommended. See Deploying ERDDAP™ Operationally for instructions.
Running JUnit tests
Simply run mvn test in a terminal to run the JUnit tests.
Note that by default tests that do an image comparison are enabled. To disable those tests add ImageComparison to the excludedGroups section of the surefire configuration. It is recommended you run the image tests before making changes to ERDDAP™ so you can generate a baseline set of images that will be later used for comparison.
Running integration tests
These are slower tests, including those that interact with a locally running server. Run them with mvn verify.
If you have issues with tests, it could be good to try a mvn clean before running the tests.
External server tests
While many of the tests interact with external servers, for example to load data. There are some tests that are almost entirely testing an external server and not ERDDAP™. These external tests are run using mvn verify -P external. In the code they are tagged with TagExternal. This is different from TagDisabledExternalERDDAP and TagDisabledExternalOther, which are used to label tests where the external source is either no longer available or extremely flaky.
The external tests should be run periodically (maybe around release time), but are unlikely to be relevant to day to day ERDDAP development™.
Metrics
Metrics are collected using Prometheus. You can see the metrics on a local server at /erddap/metrics.
Building a war
mvn package will create a war file.
If you'd like to skip the tests while building use mvn package -DskipTests. You can use the skipTests flags with other maven commands.
Running the code formatter
To format code locally you can run:
(Windows)
mvn git-code-format:format-code -D"gcf.globPattern=**/*"
(Other)
mvn git-code-format:format-code -Dgcf.globPattern=**/*
Code should be automatically formatted during a git pre-commit step to simplify reviews. It can still be useful sometimes to format code before making a git commit.
Contributing Code to ERDDAP™
Below are relevant links for getting involved with the ERDDAP™ community and contributing to ERDDAP:
- Review conversations and ask questions at https://groups.google.com/g/erddap or at https://github.com/erddap/erddap/discussions
- Review and submit issues to https://github.com/erddap/erddap/issues
- To propose feature requests, follow this guidance: https://github.com/erddap/erddap/discussions/93
Deploying ERDDAP™ Operationally
Instructions for installing ERDDAP™ in Apache Tomcat are available at: https://erddap.github.io/docs/server-admin/deploy-install.
Related Skills
proje
Interactive vocabulary learning platform with smart flashcards and spaced repetition for effective language acquisition.
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
research_rules
Research & Verification Rules Quote Verification Protocol Primary Task "Make sure that the quote is relevant to the chapter and so you we want to make sure that we want to have it identifie
