NOAA ERDDAP
Easier access to scientific data
   
Brought to you by NOAA NMFS SWFSC ERD    
 

Set Up Your Own ERDDAP

Why? | Initial Setup | Update | Need To Know | Don't Need To Know |
Slide Shows | Programmer's Guide | List of Changes | Credits | License | Contact
 
And see the related document Working with the datasets.xml File

ERDDAP is a free and open source, all-Java (servlet), web application that runs in a web application server (for example, Tomcat). This web page is mostly for people ("ERDDAP administrators") who want to set up their own ERDDAP installation at their own web site.

Why use ERDDAP to distribute your data?

Because the small effort to setup ERDDAP brings many benefits. You can customize your ERDDAP's appearance so ERDDAP reflects your organization and fits in with the rest of your web site.

ERDDAP has been installed by over 70 organizations worldwide,

including: This is a list of just some of the organizations where ERDDAP has been installed by some individual or some group. It does not imply that the individual, the group, or the organization recommends or endorses ERDDAP.

ERDDAP is recommended within NOAA
NOAA's Data Access Procedural Directive (external link) includes ERDDAP in its list of recommended data servers for use by groups within NOAA.

Is the installation procedure hard? Can I do it?

The initial installation takes some time, but it isn't very hard. You can do it. If you get stuck, email me at bob dot simons at noaa dot gov . I will help you.
Or, you can join the ERDDAP Google Group / Mailing List and post your question there.

How To Do the Initial Setup of ERDDAP on Your Server

ERDDAP can run on any server that supports Java and Tomcat (and perhaps other application servers). ERDDAP has been tested on Linux (including on Amazon's AWS), Mac, and Windows computers.

The standard ERDDAP installation instructions are:

  1. Set up Java.
    Type "java -version" from your server's command line to make sure you have Java (external link) (JRE or JDK) version 1.8 or higher installed (Java 1.7 is no longer supported because it reached its end of life (external link) and so is no longer supported by Oracle). For security reasons, it is almost always best to use the latest version of Java. ERDDAP works with 32 bit or 64 bit Java. 64 bit is preferred for 64-bit operating systems. On Linux, we recommend that you download and install Java even if your computer came with Java installed. This lets you be in control of which Java you have and where it is (usr/local?). To install Java on Linux, see these instructions (external link).
     
  2. Set up Tomcat (external link).
    For security reasons, it is almost always best to use the latest version of Tomcat. Below, the Tomcat directory will be referred to as tomcat. Warning! If you already have a Tomcat running some other web application (especially THREDDS), we recommend that you install ERDDAP in a second Tomcat, because ERDDAP may need different settings and shouldn't have to contend with other applications for memory.
     
    • Follow the instructions at https://tomcat.apache.org/ (external link) to set up Tomcat on your server.
      On Linux, we recommend installing it in /usr/local.
      On a Mac, it is probably already installed in /Library/Tomcat.
      On Windows, select the "32-bit/64-bit Windows Service Installer". It will be installed in c:/Program Files.
       
    • Security recommendation: you can remove some possible avenues for attackers by following these instructions (external link) (especially the article's second recommendation) to disable certain HTTP methods (TRACE, PUT, OPTIONS, DELETE) in Tomcat. (background information (external link))
       
    • On Linux and Macs, it is best to set up Tomcat (the program) as belonging to user "tomcat" (a separate user with limited permissions and which has no password. Thus, only the super user can switch to acting as user tomcat. This makes it impossible for hackers to log in to your server as user tomcat. And in any case, you should make it so that the tomcat user has very limited permissions on the server's file system (read+write+execute privileges for the apache-tomcat directory tree and <bigParentDirectory> and read-only privileges for directories with data that ERDDAP needs access to).
      • You can create the tomcat user account (which has no password) by using the command
        sudo useradd tomcat -s /bin/bash -p '*'
      • You can switch to working as user tomcat by using the command
        sudo su - tomcat
        (It will ask you for the superuser password for permission to do this.)
      • You can stop working as user tomcat by using the command
        exit
      • Do most of the rest of the Tomcat and ERDDAP setup instructions as user "tomcat". Later, run the startup.sh and shutdown.sh scripts as user "tomcat" so that Tomcat has permission to write to its log files.
      • After unpacking Tomcat, from the parent of the apache-tomcat directory:
        • Change ownership of the apache-tomcat directory tree to the tomcat user.
          chown -R tomcat apache-tomcat-8.5.27
          (but substitute the actual name of your tomcat directory).
        • Change the "group" to be tomcat, your username, or the name of a small group that includes tomcat and all the administrators of Tomcat/ERDDAP, e.g.,
          chgrp -R yourUserName apache-tomcat-8.5.27
        • Change permissions so that tomcat and the group have read, write, execute privileges, e.g,.
          chmod -R ug+rwx apache-tomcat-8.5.27
        • Remove "other" user's permissions to read, write, or execute:
          chmod -R o-rwx apache-tomcat-8.5.27
          This is important, because it prevents other users from reading possibly sensitive information in ERDDAP setup files.

         
    • Set Tomcat's Environmental Variables

      On Linux and Macs:
      Create a file tomcat/bin/setenv.sh (or in Red Hat Enterprise Linux [RHEL], edit ~tomcat/conf/tomcat8.conf) to set Tomcat's environmental variables. This file will be used by tomcat/bin/startup.sh and shutdown.sh. The file should contain something like:
      export JAVA_HOME=/usr/local/jdk1.8.0_162/jre
      export JAVA_OPTS='-server -Djava.awt.headless=true -Xmx1500M -Xms1500M'
      export TOMCAT_HOME=/usr/local/apache-tomcat-8.5.27
      export CATALINA_HOME=/usr/local/apache-tomcat-8.5.27

      (but substitute the directory names from your computer).
      (If you previously set JRE_HOME, you can remove that.)
      On Macs, you probably don't need to set JAVA_HOME.

      On Windows:
      Create a file tomcat\bin\setenv.bat to set Tomcat's environmental variables. This file will be used by tomcat\bin\startup.bat and shutdown.bat. The file should contain something like:
      SET "JAVA_HOME=\Program Files\Java\jdk1.8.0_162/jre"
      SET "JAVA_OPTS=-server -Xmx1500M -Xms1500M"
      SET "TOMCAT_HOME=\Program Files\apache-tomcat-8.5.27"
      SET "CATALINA_HOME=\Program Files\apache-tomcat-8.5.27"

      (but substitute the directory names from your computer).
      If this is just for local testing, remove "-server".
      (If you previously set JRE_HOME, you can remove that.)

      The -Xmx and -Xms memory settings are important
      because ERDDAP works better with more memory. Always set -Xms to the same value as -Xmx.

      • For 32 bit Operating Systems and 32 bit Java:
        The more physical memory in the server the better: 4+ GB is really good, 2 GB is okay, less is not recommended. With 32 bit Java, even with abundant physical memory, Tomcat and Java won't run if you try to set -Xmx much above 1500M (1200M on some computers). If your server has less than 2GB of memory, reduce the -Xmx value (in 'M'egaBytes) to 1/2 of the computer's physical memory.
      • For 64 bit Operating Systems and 64 bit Java:
        64 bit Java will only work on a 64 bit operating system. To enable 64 bit Java, add -d64 to the list of JAVA_OPTS in startup.sh and shutdown.sh, for example,
        export JAVA_OPTS='-server -Djava.awt.headless=true -Xmx8000M -Xms8000M -d64'
        With 64 bit Java, Tomcat and Java can use very high -Xmx and -Xms settings. The more physical memory in the server the better. As a simplistic suggestion: we recommend you set -Xmx and -Xms to (in 'M'egaBytes) to 1/2 (or less) of the computer's physical memory. You can see if Tomcat, Java, and ERDDAP are indeed running in 64 bit mode by searching for " bit," in ERDDAP's Daily Report email or in the bigParentDirectory/logs/log.txt file (bigParentDirectory is specified in setup.xml).
      • In ERDDAP's log.txt file, you will see many "GC (Allocation Failure)" messages.
        This is usually not a problem. It is a frequent message from a normally operating Java saying that it just finished a minor garbage collection because it ran out of room in Eden (the section of the Java heap for very young objects). Usually the message shows you memoryUseBefore->memoryUseAfter. If those two numbers are close together, it means that the garbage collection wasn't productive. The message is only a sign of trouble if it is very frequent (every few seconds), not productive, and the numbers are large and not growing, which together indicate that Java needs more memory, is struggling to free up memory, and is unable to free up memory. This may happen during a stressful time, then go away. But if it persists, that is a sign of trouble.
         
    • On Linux and Macs, change the permissions of all *.sh files in tomcat/bin/ to be executable by the owner, e.g., with
      chmod +x *.sh
       
    • Fonts for images: We strongly prefer the free Vera Sans fonts to the standard Linux/Java fonts. Installing these fonts isn't required.

      If you don't install these fonts, you need to change the fontFamily setting in setup.xml to <fontFamily>SansSerif</fontFamily> .

      To install the fonts, please download BitstreamVeraSans.zip (344,753 bytes, MD5=E16AF0C9838FD2443434F6E0E9FD0A0D) and unzip the font files to a temporary directory.

      • On Linux (as the root user) and Windows XP (as the administrator), copy the font files into JAVA_HOME/lib/fonts so Java can find the fonts. Remember: if/when you later upgrade to a newer version of Java, you need to reinstall these fonts.
      • On Macs, for each font file, double click on it and then click Install Font.
      • On Windows Vista and 7, in Windows Explorer, select all of the font files. Right click. Click on Install.
         
    • Test your Tomcat installation.
      • Linux:
        As user "tomcat", run tomcat/bin/startup.sh
        View your URL + ":8080/" in your browser (e.g., https://coastwatch.pfeg.noaa.gov:8080/).
        You should see the Tomcat "Congratulations" page.
        If there is trouble, see the Tomcat log file tomcat/logs/catalina.out.
      • Mac (run tomcat as the system administrator user):
        Run tomcat/bin/startup.sh
        View your URL + ":8080/" in your browser (e.g., https://coastwatch.pfeg.noaa.gov:8080/).
        You should see the Tomcat "Congratulations" page.
        If there is trouble, see the Tomcat log file tomcat/logs/catalina.out.
      • Windows localhost:
        Right click on the Tomcat icon in the system tray, and choose "Start service".
        View http://127.0.0.1:8080/ in your browser.
        You should see the Tomcat "Congratulations" page.
        If there is trouble, see the Tomcat log file tomcat/logs/catalina.out.
         
    • Troubles with the Tomcat installation?
      • On Linux and Mac, if you can't reach Tomcat or ERDDAP (or perhaps you just can't reach them from a computer outside your firewall), you can test if Tomcat is listening to port 8080, by typing (as root) on a command line of the server:
        netstat -tuplen | grep 8080
        That should return one line with something like:
        tcp 0 0 :::8080 :::* LISTEN ## ##### ####/java
        (where '#' is some digit), indicating that a "java" process (presumably Tomcat) is listening on port "8080" for "tcp" traffic. If no lines were returned, if the line returned is significantly different, or if two or more lines were returned, then there may be a problem with the port settings.
      • See the Tomcat log file tomcat/logs/catalina.out. Tomcat problems and some ERDDAP startup problems are almost always indicated there. This is common when you are first setting up ERDDAP.
      • See the Tomcat (external link) web site or search the web for help, but please let us know the problems you had and the solutions you found.
      • Email me at bob dot simons at noaa dot gov . I will try to help you.
      • Or, you can join the ERDDAP Google Group / Mailing List and post your question there.
         
  3. Set up the tomcat/content/erddap configuration files.
    On Linux, Mac, and Windows, download erddapContent.zip (version 1.82, 21,414 bytes, MD5=85AAD46840A7E4A7691C6433B59A2458, dated 2018-01-26) and unzip it into tomcat, creating tomcat/content/erddap .

    Other Directory: For Red Hat Enterprise Linux (RHEL) or for other situations where you want/need to put the ERDDAP content directory in some other location, unzip erddapContent.zip into ~tomcat (or some other directory to which only tomcat has access) and set the system property erddapContentDirectory=~tomcat/content/erddap in ~tomcat/conf/tomcat8.conf so ERDDAP can find the content directory.

    [Some previous versions are also available:
    1.74 (26,708 bytes, MD5=D70DF53AE98785CC35614571E719BC54, dated 2016-10-07)
    1.76 (23,878 bytes, MD5=D988149831895B41164F53F4245BF5AD, dated 2017-05-12)
    1.78 (23,878 bytes, MD5=9AB513BE1DFB6C9EA8DAA24A8114E855, dated 2017-05-27)
    1.80 (23,878 bytes, MD5=7F85DEF1445B247010049C73984554EB, dated 2017-08-04) ]

    Then,

    • Read the comments in tomcat/content/erddap/setup.xml and make the requested changes. setup.xml is the file with all of the settings which specify how your ERDDAP behaves.
      For the initial setup, you MUST at least change these settings: <bigParentDirectory>, <emailEverythingTo>, <baseUrl>, <baseHttpsUrl>, <email.*>, <admin.*> (and <fontFamily> if you are using Bitstream Vera Sans fonts).

      When you create the bigParentDirectory, from the parent directory of bigParentDirectory:

      • Make user=tomcat the owner of the bigParentDirectory, e.g.,
        chown -R tomcat bigParentDirectory
      • Change the "group" to be tomcat, your username, or the name of a small group that includes tomcat and all the administrators of Tomcat/ERDDAP, e.g.,
        chgrp -R yourUserName bigParentDirectory
      • Change permissions so that tomcat and the group have read, write, execute privileges, e.g,.
        chmod -R ug+rwx bigParentDirectory
      • Remove "other" user's permissions to read, write, or execute:
        chmod -R o-rwx bigParentDirectory reading possibly sensitive information in ERDDAP log files and files with information about private datasets.
    • Read the comments in Working with the datasets.xml File, then modify the XML in tomcat/content/erddap/datasets.xml to specify all of the datasets you want your ERDDAP to serve.
    • (Unlikely) Now or (slightly more likely) in the future, if you want to modify erddap's CSS file, make a copy of tomcat/content/erddap/images/erddapStart2.css called erddap2.css and then make changes to it. Changes to erddap2.css only take affect when ERDDAP is restarted and often also require the user to clear the browser's cached files.
    After you edit the .xml files, it is a good idea to verify that the result is well-formed XML by pasting the XML text into an XML checker like xmlvalidation (external link).

    In the unusual situation where you aren't allowed to modify the Tomcat directory, you can put the ERDDAP content directory somewhere else (e.g., /usr/local/erddap). To let ERDDAP know where it is, set the system property erddapContentDirectory=/usr/local/erddap/content/erddap/ (or wherever it is). If you aren't allowed to set this property in startup.sh, perhaps you can set it in Tomcat's context.xml.

  4. Install the erddap.war file.
    On Linux, Mac, and Windows, download erddap.war into tomcat/webapps .
    (version 1.82, 504,431,073 bytes, MD5=2B342B3E6CD9CE562236753ED28ED5FB, dated 2018-01-26)
    The .war file is big because it contains high resolution coastline, boundary, and elevation data needed to create maps.

    [Some previous versions are also available.
    1.74 (552,359,929 bytes, MD5=5976EDF01CC9D3A6046D83DB0CF10EA0, dated 2016-10-07)
    1.76 (534,583,353 bytes, MD5=72F90E2C26E9E3806573CADD239855F0, dated 2017-05-12)
    1.78 (534,713,263 bytes, MD5=E8407EDC977C073CB816D873EF85320F, dated 2017-05-27)
    1.80 (502,908,740 bytes, MD5=F09D55AAACF1221F13276541FEF61AE8, dated 2017-08-04) ]

  5. On Linux computers, change the Apache timeout settings so that time-consuming user requests don't timeout (with what often appears as a "Proxy" or "Bad Gateway" error). As the root user:
    1. Modify the Apache httpd.conf file (usually in /etc/httpd/conf/ ):
      Change the existing <Timeout> setting (or add one at the end of the file) to 3600 (seconds), instead of the default 60 or 120 seconds.
      Change the existing <ProxyTimeout> setting (or add one at the end of the file) to 3600 (seconds), instead of the default 60 or 120 seconds.
    2. Restart Apache: /usr/sbin/apachectl -k graceful (but sometimes it is in a different directory).
       
  6. Use ProxyPass so users don't have to put the port number, e.g., :8080, in the URL.
    On Linux computers, if Tomcat is running in Apache, please modify the Apache httpd.conf file (usually in /etc/httpd/conf/ ) to allow HTTP traffic to/from ERDDAP without requiring the port number, e.g., :8080, in the URL. As the root user:
    1. Modify the existing <VirtualHost> tag (if there is one), or add one at the end of the file:
      <VirtualHost *:80>
         ServerName YourDomain.org
         ProxyRequests Off
         ProxyPreserveHost On
         ProxyPass /erddap http://localhost:8080/erddap
         ProxyPassReverse /erddap http://localhost:8080/erddap
      </VirtualHost>
      
    2. Then restart Apache: /usr/sbin/apachectl -k graceful (but sometimes it is in a different directory).
       
  7. Start Tomcat.
    • (I don't recommend using the Tomcat Web Application Manager. If you don't fully shutdown and startup Tomcat, sooner or later you will have PermGen memory issues.)
       
    • (In Linux or Mac OS, if you have created a special user to run Tomcat, e.g., tomcat, remember to do the following steps as that user.)
       
    • If Tomcat is already running, shut down Tomcat with (in Linux or Mac OS) tomcat/bin/shutdown.sh
      or (in Windows) tomcat\bin\shutdown.bat

      On Linux, use ps -ef | grep tomcat before and after shutdown.sh to make sure the tomcat process has stopped. The process should be listed before the shutdown and eventually not listed after the shutdown. It may take a minute or two for ERDDAP to fully shut down. Be patient. Or if it looks like it won't stop on its own, use:
      kill -9 processID

    • Start Tomcat with (in Linux or Mac OS) tomcat/bin/startup.sh
      or (in Windows) tomcat\bin\startup.bat
       
  8. Is ERDDAP running?
    Use a browser to try to view http://www.YourServer.org/erddap/
    ERDDAP starts up without any datasets loaded. Datasets are loaded in a background thread and so become available one-by-one.

    Trouble? Look in the log files.
    If ERDDAP won't run or some datasets won't load, look for error messages in
    Tomcat's log file (tomcat/logs/catalina.out) and
    ERDDAP's log file (bigParentDirectory/logs/log.txt).

    Trouble: Old Version of Java
    If you are using a version of Java that is too old for ERDDAP, ERDDAP won't run and you will see an error message in Tomcat's log file like
    Exception in thread "main" java.lang.UnsupportedClassVersionError:
    some/class/name: Unsupported major.minor version someNumber

    The solution is to update to the most recent version of Java and make sure that Tomcat is using it.

    Trouble: Slow Startup First Time
    Tomcat has to do a lot of work the first time an application like ERDDAP is started. On some servers, the first attempt to view ERDDAP stalls (30 seconds?) until this work is finished. On other servers, the first attempt will fail immediately. But if you wait 30 seconds and try again, it will succeed if ERDDAP was installed correctly.
    There is no fix for this, but it usually only occurs the first time after you install a new version of ERDDAP.

    Trouble: Tomcat Cache
    If Tomcat throws warnings during startup about "org.apache.catalina.webresources.Cache.getResource Unable to add the resource at someFile to the cache because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache", the solution is:
    In your [tomcat]/conf/context.xml, add this block right before </Context> :
    <Resources cachingAllowed="true" cacheMaxSize="100000" />
    (or some other number) (The units for cacheMaxSize are KB.)
    For more information see https://tomcat.apache.org/tomcat-8.0-doc/config/resources.html (external link).

  9. In the future, to shut down (and restart) ERDDAP, see
    How to Shut Down and Restart Tomcat and ERDDAP.
     
  10. Troubles installing Tomcat or ERDDAP?
    Email me at bob dot simons at noaa dot gov . I will help you.
    Or, you can join the ERDDAP Google Group / Mailing List and post your question there.
     
  11. Email Notification of New Versions of ERDDAP
    If you want to receive an email whenever a new version of ERDDAP is available, send an email to bob dot simons at noaa dot gov requesting to be added to the ERDDAP Announcements mailing list. This list averages roughly one email every three months.
     
  12. Customize your ERDDAP to highlight your organization (not NOAA ERD).
    • To change the banner that appears at the top of all ERDDAP .html pages, copy the default <startBodyHtml5> tag from
      [tomcat]/webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml into your setup.xml file. Then, edit it. For example, you could:
      • Use a different image (i.e., your organization's logo).
      • Change the background color.
      • Change "ERDDAP" to "YourOrganization's ERDDAP"
      • Change "Easier access to scientific data" to "Easier access to YourOrganization's data".
      • Change the "Brought to you by" links to be links to your organization and funding sources.
    • To change the information on the left side of the home page, e.g., to information about your project, change the HTML content specified in the setup.xml file in the <theShortDescriptionHtml> tag.
    • To change the icon that appears on browser tabs, put your organization's favicon.ico in tomcat/content/erddap/images/ . See https://en.wikipedia.org/wiki/Favicon (external link).

How To Do an Update of an Existing ERDDAP on Your Server

  1. Make the changes listed in Changes in the section entitled "Things ERDDAP Administrators Need to Know and Do" for all of the ERDDAP versions since the version you were using.
     
  2. Download erddap.war into tomcat/webapps .
    (version 1.82, 504,431,073 bytes, MD5=2B342B3E6CD9CE562236753ED28ED5FB, dated 2018-01-26)
     
  3. messages.xml
    • Common: If you are upgrading from ERDDAP version 1.46 (or above) and you just use the standard messages, the new standard messages.xml will be installed automatically (amongst the .class files via erddap.war).
       
    • Rare: If you are upgrading from ERDDAP version 1.44 (or below),
      you MUST delete the old messages.xml file:
      tomcat/content/erddap/messages.xml .
      The new standard messages.xml will be installed automatically (amongst the .class files via erddap.war).
       
    • Rare: If you always make changes to the standard messages,
      you need to make those changes to the new messages.xml file (which is
      WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml after erddap.war is decompressed by Tomcat).
       
    • Rare: If you maintain a custom messages.xml file
      in tomcat/content/erddap/, you need to figure out (via diff) what changes have been made to the default messages.xml (which are in the new erddap.war as
      WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml) and modify your custom messages.xml file accordingly.
       
  4. Install the new ERDDAP in Tomcat:
    * Don't use Tomcat Manager. Sooner or later there will be PermGen memory issues. It is better to actually shutdown and startup Tomcat.
    * Replace references to tomcat below with the actual Tomcat directory on your computer.
     
    • For Linux and Macs:
      1. Shutdown Tomcat: From a command line, use: tomcat/bin/shutdown.sh
        And use ps -ef | grep tomcat to see if/when the process has been stopped. (It may take a minute or two.)
      2. Remove the decompressed ERDDAP installation: In tomcat/webapps, use
        rm -rf erddap
      3. Delete the old erddap.war file: In tomcat/webapps, use rm erddap.war
      4. Copy the new erddap.war file from the temporary directory to tomcat/webapps
      5. Restart Tomcat and ERDDAP: use tomcat/bin/startup.sh
      6. View ERDDAP in your browser to check that the restart succeeded.
        (Often, you have to try a few times and wait a minute before you see ERDDAP.)
         
    • For Windows:
      1. Shutdown Tomcat: From a command line, use: tomcat\bin\shutdown.bat
      2. Remove the decompressed ERDDAP installation: In tomcat/webapps, use
        del /S/Q erddap
      3. Delete the old erddap.war file: In tomcat\webapps, use del erddap.war
      4. Copy the new erddap.war file from the temporary directory to tomcat\webapps
      5. Restart Tomcat and ERDDAP: use tomcat\bin\startup.bat
      6. View ERDDAP in your browser to check that the restart succeeded.
        (Often, you have to try a few times and wait a minute before you see ERDDAP.)
Troubles updating ERDDAP?
Email me at bob dot simons at noaa dot gov . I will help you.
Or, you can join the ERDDAP Google Group / Mailing List and post your question there.

Things You Need To Know

Things You Don't Need To Know

These are details that you don't need to know until a need arises.

Slide Shows

Here are some PowerPoint slide shows and documents that Bob Simons has created related to ERDDAP.

DISCLAIMER: The content and opinions expressed in these documents are Bob Simons' personal opinions and do not necessarily reflect any position of the Government or the National Oceanic and Atmospheric Administration.

The Three Main Documents:

Other Presentations:

Presentations By Other People:


 

Programmer's Guide

These are things that only a programmer who intends to work with ERDDAP's Java classes needs to know.

List of Changes

The List of Changes for each ERDDAP release is now on a separate web page.

Credits

ERDDAP is a product of the NOAA (external link) NMFS (external link) ERD.

Bob Simons is the author of ERDDAP (the designer and programmer who wrote the ERDDAP-specific code). The starting point was Roy Mendelssohn's suggestion that Bob turn his ConvertTable (a small utility which converted tabular data from one format to another and which was largely code from Bob's pre-NOAA work that Bob re-licensed to be open source) into a web service.

It was and is Roy Mendelssohn's ideas about distributed data systems, his initial suggestion to Bob, and his ongoing support (including hardware, network, and other software support, and by freeing up Bob's time so he could spend more time on the ERDDAP code) that has made this project possible and enabled its growth.

The ERDDAP-specific code is licensed as copyrighted open source, with NOAA (external link) holding the copyright. See the ERDDAP license.
ERDDAP uses copyrighted open source, Apache, LGPL, MIT/X, Mozilla, and public domain libraries and data.
ERDDAP does not require any GPL code or commercial programs.

The bulk of the funding for work on ERDDAP has come from NOAA, in that it pays Bob Simons salary (he is a full time government employee with "hard"-money/full funding). In the early days of ERDDAP, when he was a government contractor, funding came from the NOAA CoastWatch (external link) program, the NOAA IOOS (external link) program, and the now defunct Pacific Ocean Shelf Tracking (POST) program.

Much credit goes to the many ERDDAP administrators and users who have made suggestions and comments which have led to many improvements in ERDDAP. Many are mentioned by name in the List of Changes. Thank you all (named and unnamed) very much.

Here is the list of software that ERDDAP uses. We very grateful for all of these. Thank you very much. (If we have accidentally omitted a project, please let us know so we can give credit where credit is due.)

We are also very grateful for all of the software that we use when developing ERDDAP, including Chrome (external link), curl (external link), EditPlus (external link), FileZilla (external link). GitHub (external link), Google Search (external link), PuTTY (external link), the Internet, the World Wide Web, and all the great, helpful websites. Thank you very much.

License

The ERDDAP-specific code is licensed as copyrighted open source, with NOAA (external link) holding the copyright. The license is:
ERDDAP, Copyright 2018, NOAA.

PERMISSION TO USE, COPY, MODIFY, AND DISTRIBUTE THIS SOFTWARE AND ITS DOCUMENTATION FOR ANY PURPOSE AND WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE COPYRIGHT NOTICE APPEAR IN ALL COPIES, THAT BOTH THE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN SUPPORTING DOCUMENTATION, AND THAT REDISTRIBUTIONS OF MODIFIED FORMS OF THE SOURCE OR BINARY CODE CARRY PROMINENT NOTICES STATING THAT THE ORIGINAL CODE WAS CHANGED AND THE DATE OF THE CHANGE. THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.

Contact

Questions, comments, suggestions? Please send an email to bob dot simons at noaa dot gov and include the ERDDAP URL directly related to your question or comment.

Or, you can join the ERDDAP Google Group / Mailing List by visiting https://groups.google.com/forum/#!forum/erddap (external link) and clicking on "Apply for membership". Once you are a member, you can post your question there or search to see if the question has already been asked and answered.
 


ERDDAP, Version 1.82
Disclaimers | Privacy Policy