ERDDAP
Accès plus facile aux données scientifiques |
Présenté par NOAA NMFS SWFSC ERD |
L'URL spécifie ce que vous voulez : l'ensemble de données, une description du graphique ou du sous-ensemble des données et le type de fichier pour la réponse.
Tabledap request URLs must be in the form
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/datasetID.fileType{?query}
For example,
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst.htmlTable?longitude,latitude,time,station,wmo_platform_code,T_25&time>=2015-05-23T12:00:00Z&time<=2015-05-31T12:00:00Z
Thus, the query is often a comma-separated list of desired variable names,
followed by a collection of
constraints (e.g., variable<value),
each preceded by '&' (which is interpreted as "AND").
Details:
Which fileType should I use?
It's entirely up to you. In general, pick the fileType which meets your needs and is easiest to use. You will
use different fileTypes in different situations, e.g., viewing a graph in a browser (.png) vs. viewing the data
in a browser (.htmlTable) vs. downloading a data file (e.g., .nc or .csv) vs. working with some software tool
(e.g., .nc or .odv). If you are going to download lots of large files, you might also want to give some weight
to fileTypes that are more compact and so can be downloaded faster.
The fileType options for downloading tabular data are:
Data fileTypes | Description | Info | Example |
---|---|---|---|
.asc | Affichez le texte séparé par des virgules ISO-8859-1 de style OPeNDAP. | info | example |
.csv | Téléchargez un tableau de texte ISO-8859-1 séparé par des virgules (ligne 1 : noms ; ligne 2 : unités ; ISO 8601 fois). | info | example |
.csvp | Téléchargez un fichier ISO-8859-1 .csv avec la ligne 1 : nom (unités). Les heures sont des chaînes ISO 8601. | info | example |
.csv0 | Téléchargez un fichier .csv ISO-8859-1 sans noms de colonnes ni unités. Les heures sont des chaînes ISO 8601. | info | example |
.dataTable | Un fichier JSON formaté pour être utilisé avec la bibliothèque cliente de visualisation Google (Google Charts). | info | example |
.das | Affichez les métadonnées de l'ensemble de données via une structure d'attributs d'ensemble de données ISO-8859-1 OPeNDAP (DAS). | info | example |
.dds | Affichez la structure du jeu de données via une structure de descripteur de jeu de données ISO-8859-1 OPeNDAP (DDS). | info | example |
.dods | Les clients OPeNDAP l'utilisent pour télécharger les données au format binaire DODS. | info | example |
.esriCsv | Téléchargez un fichier ISO_8859_1 .csv pour ArcGIS 9.x d'ESRI et versions antérieures (colonnes de date et d'heure séparées). | info | example |
.fgdc | Affichez les métadonnées UTF-8 FGDC .xml de l'ensemble de données. | info | example |
.geoJson | Téléchargez les données de longitude, de latitude et d'autres colonnes sous forme de fichier UTF-8 GeoJSON .json. | info | example |
.graph | Afficher une page Web Créer un graphique. | info | example |
.help | Affichez une page Web avec une description de tabledap. | info | example |
.html | Affichez un formulaire d'accès aux données HTML de style OPeNDAP. | info | example |
.htmlTable | Affichez une page Web UTF-8 .html avec les données dans un tableau. Les heures sont des chaînes ISO 8601. | info | example |
.iso19115 | Affichez les métadonnées ISO 19115-2/19139 UTF-8 .xml de l'ensemble de données. | info | example |
.itx | Téléchargez un fichier texte ISO-8859-1 Igor. Chaque colonne de réponse devient une vague. | info | example |
.json | Affichez un fichier JSON UTF-8 de type tableau (valeur manquante = "null" ; les heures sont des chaînes ISO 8601). | info | example |
.jsonlCSV1 | Affichez un fichier CSV UTF-8 JSON Lines avec les noms de colonnes sur la ligne 1 (mv = 'null' ; les heures sont des chaînes ISO 8601). | info | example |
.jsonlCSV | Affichez un fichier CSV UTF-8 JSON Lines sans noms de colonnes (mv = 'null' ; les heures sont des chaînes ISO 8601). | info | example |
.jsonlKVP | Affichez un fichier de lignes JSON UTF-8 avec des paires clé:valeur (valeur manquante = "null" ; les heures sont des chaînes ISO 8601). | info | example |
.mat | Téléchargez un fichier binaire MATLAB. | info | example |
.nc | Téléchargez un fichier binaire NetCDF-3 plat de type tableau avec les métadonnées COARDS/CF/ACDD. | info | example |
.ncHeader | Affichez l'en-tête UTF-8 (les métadonnées) du fichier NetCDF-3 .nc. | info | example |
.ncCF | Téléchargez un fichier NetCDF-3 CF Discrete Sampling Geometries (Contiguous Ragged Array). | info | example |
.ncCFHeader | Affichez l'en-tête UTF-8 (les métadonnées) du fichier .ncCF. | info | example |
.ncCFMA | Téléchargez un fichier NetCDF-3 CF Discrete Sampling Geometries (Multidimensional Array). | info | example |
.ncCFMAHeader | Affichez l'en-tête UTF-8 (les métadonnées) du fichier .ncCFMA. | info | example |
.nccsv | Téléchargez un fichier .csv ASCII NCCSV 7 bits de type NetCDF-3 avec les métadonnées COARDS/CF/ACDD. | info | example |
.nccsvMetadata | Affichez les métadonnées de l'ensemble de données en tant que moitié supérieure d'un fichier .csv ASCII NCCSV 7 bits. | info | example |
.ncoJson | Téléchargez un fichier JSON UTF-8 NCO lvl=2 avec les métadonnées COARDS/CF/ACDD. | info | example |
.odvTxt | Téléchargez la longitude, la latitude, l'heure et les autres colonnes en tant que fichier de feuille de calcul générique ISO-8859-1 ODV (.txt). | info | example |
.subset | Affichez un formulaire HTML qui utilise la recherche à facettes pour simplifier la sélection de sous-ensembles de données. | info | example |
.tsv | Téléchargez un tableau de texte ISO-8859-1 séparé par des tabulations (ligne 1 : noms ; ligne 2 : unités ; ISO 8601 fois). | info | example |
.tsvp | Téléchargez un fichier .tsv ISO-8859-1 avec la ligne 1 : nom (unités). Les heures sont des chaînes ISO 8601. | info | example |
.tsv0 | Téléchargez un fichier .tsv ISO-8859-1 sans noms de colonnes ni unités. Les heures sont des chaînes ISO 8601. | info | example |
.wav | Téléchargez un fichier audio .wav. Toutes les colonnes doivent être numériques et du même type. | info | example |
.xhtml | Affichez un fichier UTF-8 XHTML (XML) avec les données dans un tableau. Les heures sont des chaînes ISO 8601. | info | example |
ArcGIS .esriCsv - ArcGIS is a family of Geographical Information Systems (GIS) products from ESRI: ArcView, ArcEditor, and ArcInfo. To get data from ERDDAP into your ArcGIS program (version 9.x and below):
Ferret is a free program for visualizing and analyzing large and complex gridded datasets. Because tabledap's tabular datasets are very different from gridded datasets, it is necessary to use Ferret in a very specific way to avoid serious problems and misunderstandings:
IDL - IDL is a commercial scientific data visualization program. To get data from ERDDAP into IDL, first use ERDDAP to select a subset of data and download a .nc file. Then, use these instructions to import the data from the .nc file into IDL.
JSON .json files are widely used to transfer data to JavaScript scripts running on web pages. All .json responses from ERDDAP (metadata, gridded data, and tabular/in-situ data) use the same basic format: a database-like table. Since data from EDDTable datasets is already a table (with a column for each requested variable), ERDDAP can easily store the data in a .json file. For example,
{ "table": { "columnNames": ["longitude", "latitude", "time", "bottle_posn", "temperature1"], "columnTypes": ["float", "float", "String", "byte", "float"], "columnUnits": ["degrees_east", "degrees_north", "UTC", null, "degree_C"], "rows": [ [-124.82, 42.95, "2002-08-17T00:49:00Z", 1, 8.086], [-124.82, 42.95, "2002-08-17T00:49:00Z", 2, 8.585], [-124.82, 42.95, "2002-08-17T00:49:00Z", 3, 8.776], ... [-124.1, 44.65, "2002-08-19T20:18:00Z", 3, null] ] } }All .json responses from ERDDAP have
JSONP (from .json and .geoJson) - Jsonp is an easy way for a JavaScript script on a web page to import and access data from ERDDAP. Requests for .geoJson, .json, and .ncoJson files may include an optional jsonp request by adding &.jsonp=functionName to the end of the query. Basically, this just tells ERDDAP to add functionName( to the beginning of the response and ")" to the end of the response. The functionName must be a series of 1 or more (period-separated) words. For each word, the first character of functionName must be an ISO 8859 letter or "_". Each optional subsequent character must be an ISO 8859 letter, "_", or a digit. If originally there was no query, leave off the "&" in your query. After the data download to the web page has finished, the data is accessible to the JavaScript script via that JavaScript function. Here is an example using jsonp and Javascript with ERDDAP (thanks to Jenn Patterson Sevadjian of PolarWatch).
MATLAB .mat - Matlab users can use tabledap's .mat file type to download data from within MATLAB. Here is a one line example:
load(urlwrite('https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst.mat?time,T_25&station="0n0e"&time>=2015-05-23T12:00:00Z&time<=2015-05-31T12:00:00Z&.draw=lines', 'test.mat'));(You may need to percent encode the query part of the URL.) The data will be in a MATLAB structure. The structure's name will be the datasetID (for example, pmelTaoDySst). The structure's internal variables will be column vectors with the same names as in ERDDAP (for example, use fieldnames(pmelTaoDySst)). You can then make a scatterplot of any two columns. For example:
plot(pmelTaoDySst.time, pmelTaoDySst.T_25)
ERDDAP stores datetime values in .mat files as "seconds since 1970-01-01T00:00:00Z". To display one of these values as a String in Matlab, you can use, e.g., datastr(cwwcNDBCMet.time(1)/86400 + 719529) 86400 converts ERDDAP's "seconds since" to Matlab's "days since". 719529 converts ERDDAP's base time of "1970-01-01T00:00:00Z" to Matlab's "0000-01-00T00:00:00Z".
.mat files have a maximum length for identifier names of 32 characters. If a variable name is longer than that, ERDDAP changes the name of the variable when writing the .mat file: it generates a hash digest of the variable name and appends that after the first 25 characters. Thus, long variable names that only differ at the end will still have unique names in the .mat file. ERDDAP administrators: you can avoid this problem by specifying shorter variable destinationNames.
NetCDF .nc - Requests for .nc files will always return the data in a table-like, NetCDF-3, 32-bit, .nc file:
Don't use NetCDF-Java, NetCDF-C, NetCDF-Fortran, NetCDF-Perl, or Ferret to try to access a remote ERDDAP .nc file. It won't work. Instead, use this approach.
.ncCF - Requests for a .ncCF file will return a version 3, 32-bit, NetCDF .nc file with the Contiguous Ragged Array Representation associated with the dataset's cdm_data_type, as defined in the CF Discrete Geometries conventions (which were previously named "CF Point Observation Conventions").
.ncCFHeader - Requests for .ncCFHeader files will return the header information (text) that would be generated if you used ncdump -h fileName on the corresponding .ncCF file.
.ncCFMA - Requests for a .ncCFMA file will return a version 3, 32-bit, NetCDF .nc file with the Complete or Incomplete, depending on the data, Multidimensional Array Representation associated with the dataset's cdm_data_type, as defined in the CF Discrete Sampling Geometries conventions, which were previously named "CF Point Observation Conventions". This is the file type used by the NODC Templates. A request will succeed only if the dataset has a cdm_data_type other than "Other" and if the request includes at least one data variable (not just the outer, descriptive variables). The file will include longitude, latitude, time, and other required descriptive variables, even if you don't request them.
.ncCFMAHeader - Requests for .ncCFMAHeader files will return the header information (text) that would be generated if you used ncdump -h fileName on the corresponding .ncCFMA file.
NetCDF-Java, NetCDF-C, NetCDF-Fortran, and NetCDF-Perl - Don't try to access an ERDDAP tabledap dataset URL directly with a NetCDF library or tool (by treating the tabledap dataset as an OPeNDAP dataset or by creating a URL with the .nc file extension). It won't work.
Fortunately, there is a two step process that does work:
Ocean Data View .odvTxt - ODV users can download data in a ODV Generic Spreadsheet Format .txt file by requesting tabledap's .odvTxt fileType. The selected data MUST include longitude, latitude, and time variables. Any longitude values (0 to 360, or -180 to 180) are fine. After saving the resulting file (with the extension .txt) in your computer:
OPeNDAP Libraries - Although ERDDAP is an
OPeNDAP-compatible data server,
you can't use
most OPeNDAP client libraries, including
NetCDF-Java, NetCDF-C, NetCDF-Fortran, NetCDF-Perl,
or
Ferret,
to get data directly from an ERDDAP tabledap dataset because those libraries don't
support the OPeNDAP Selection constraints that tabledap datasets use for requesting
subsets of the dataset, nor do they support the sequence data structure in the response.
(But see this other approach that works with NetCDF libraries.)
But you can use the Pydap Client or
Java-DAP2,
because they both support Selection
constraints. With both the Pydap Client and Java-DAP2, when creating the initial
connection to an ERDDAP table dataset, use the tabledap dataset's base URL, e.g.,
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst
Pydap Client
users
can access tabledap datasets via ERDDAP's standard OPeNDAP services.
See the
Pydap Client instructions for accessing sequential data.
Note that the name of a dataset in tabledap will always be a single word, e.g.,
pmelTaoDySst
in the OPeNDAP dataset URL
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst
and won't ever have a file extension (unlike, for example, .cdp for the sample dataset in the
Pydap instructions). Also, the name of the sequence in tabledap datasets
will always be "s"
(unlike "location" for the sample dataset in the Pydap instructions).
Python is a widely-used computer language that is very popular among scientists. In addition to the Pydap Client, you can use Python to download various files from ERDDAP as you would download other files from the web:
import urllib urllib.urlretrieve("https://baseUrl/erddap/tabledap/datasetID.fileType?query", "outputFileName")(You may need to percent encode the query part of the URL.)
import urllib2 response = urllib2.open("https://baseUrl/erddap/tabledap/datasetID.fileType?query") theContent = response.read()There are other ways to do this in Python. Search the web for more information.
erddapy
(ERDDAP + Python, by Filipe Pires Alvarenga Fernandes) and
erddap-python (by Favio Medrano)
are Python libraries that "take advantage of ERDDAP’s RESTful web services and create the
ERDDAP URL for any request like searching for datasets, acquiring metadata, downloading data, etc."
They have somewhat different programming styles and slightly different feature sets,
so it might be good to experiment with both to see which you prefer.
"Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text" using any of over 40 programming languages, including Python and R. Here are two sample Jupyter Notebooks that access ERDDAP using Python: ERDDAP Advanced Search Test and ERDDAP Timing. Thanks to Rich Signell.
R Statistical Package - R is an open source statistical package for many operating systems. In R, you can download a .csv file from ERDDAP and then import data from that .csv file into an R structure (e.g., test). For example:
download.file(url="https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst.csv?longitude,latitude,time,station,wmo_platform_code,T_25&time>=2015-05-23T12:00:00Z&time<=2015-05-31T12:00:00Z", destfile="/home/bsimons/test.csv") test<-read.csv(file="/home/bsimons/test.csv")(You may need to percent encode the query part of the URL.)
There are third-party R packages designed to make it easier to work with ERDDAP from within R: rerddap, rerddapXtracto, and plotdap. Thanks to rOpenSci and Roy Mendelssohn.
.wav - ERDDAP can return data in .wav files, which are uncompressed audio files.
Making an Image File with a Graph or Map of Tabular Data If a tabledap request URL specifies a subset of data which is suitable for making a graph or a map, and the fileType is an image fileType, tabledap will return an image with a graph or map. tabledap request URLs can include optional graphics commands which let you customize the graph or map. As with other tabledap request URLs, you can create these URLs by hand or have a computer program do it. Or, you can use the Make A Graph web pages, which simplify creating these URLs (see the "graph" links in the table of tabledap datasets).
The fileType options for downloading images of graphs and maps of table data are:
Image fileTypes | Description | Info | Example |
---|---|---|---|
.kml | Affichez un fichier .kml, adapté à Google Earth. | info | example |
.smallPdf | Affichez un petit fichier image .pdf avec un graphique ou une carte. | info | example |
Affichez un fichier image .pdf standard de taille moyenne avec un graphique ou une carte. | info | example | |
.largePdf | Affichez un grand fichier image .pdf avec un graphique ou une carte. | info | example |
.smallPng | Affichez un petit fichier image .png avec un graphique ou une carte. | info | example |
.png | Affichez un fichier image .png standard de taille moyenne avec un graphique ou une carte. | info | example |
.largePng | Affichez un grand fichier image .png avec un graphique ou une carte. | info | example |
.transparentPng | Affichez un fichier image .png (uniquement les données, sans axes, masque terrestre ou légende). | info | example |
Image Size - ".small" and ".large" were ERDDAP's original system for making different-sized images. Now, for .png and .transparentPng images (not other image file types), you can also use the &.size=width|height parameter to request an image of any size.
.transparentPng - The .transparentPng file type will make a graph or map without the graph axes, landmask, or legend, and with a transparent (not opaque white) background. This file type can be used for any type of graph or map. For graphs and maps, the default size is 360x360 pixels. Or, you can use the &.size=width|height parameter to request an image of any size.
Incompatibilities
Some results file types have restrictions. For example, Google Earth .kml is only
appropriate for results with longitude and latitude values. If a given request is
incompatible with the requested file type, tabledap throws an error.
Command Line Downloads with curl
If you want to download a series of files from ERDDAP, you don't have to request each file's
ERDDAP URL in your browser, sitting and waiting for each file to download.
If you are comfortable writing computer programs (e.g., with C, Java, Python, Matlab, r)
or scripts (e.g., Python, bash, tcsh, PowerShell, or Windows batch files),
you can write a program or script with a loop (or a series of commands)
that imports all of the desired data files.
Or, if you are comfortable running command line programs
(from a Linux or Windows command line, or a Mac OS Terminal), you can use curl (or a similar program like
wget)
to save results files from ERDDAP into files on your hard drive,
without using a browser or writing a computer program or script.
ERDDAP + curl is amazingly powerful and allows you to use ERDDAP in many new ways.
On Linux and Mac OS X, curl is probably already installed.
On Mac OS X, to get to a command line, use "Finder : Go : Utilities : Terminal".
On Windows, you need to
download curl
(the "Windows 64 - binary, the curl project" variant worked for me on Windows 10)
and install it.
On Windows, to get to a command line, click on "Start" and type
"cmd" into the search text field.
Please be kind to other ERDDAP users: run just one script or curl command at a time.
Instructions for using curl are on the
curl man page and in this
curl tutorial.
But here is a quick tutorial related to using curl with ERDDAP:
curl --compressed -g "https://coastwatch.pfeg.noaa.gov/erddap/tabledap/cwwcNDBCMet.png?time,atmp&time%3E=2010-09-03T00:00:00Z&time%3C=2010-09-06T00:00:00Z&station=%22TAML1%22&.draw=linesAndMarkers&.marker=5|5&.color=0x000000&.colorBar=|||||" -o NDBCatmpTAML1.pngIn curl, as in many other programs, the query part of the erddapUrl must be percent encoded. To do this, you need to convert special characters (other than the initial '&' and the main '=') in all constraints into the form %HH, where HH is the 2 digit hexadecimal value of the character. Usually, you just need to convert a few of the punctuation characters: % into %25, & into %26, " into %22, < into %3C, = into %3D, > into %3E, + into %2B, | into %7C, space into %20, [ into %5B, ] into %5D, and convert all characters above #127 into their UTF-8 bytes and then percent encode each byte of the UTF-8 form into the %HH format (ask a programmer for help). For example, &stationID>="41004" becomes &stationID%3E=%2241004%22 Note that percent encoding is generally required when you access ERDDAP via software other than a browser. Browsers usually handle percent encoding for you. In some situations, you need to percent encode all characters other than A-Za-z0-9_-!.~'()* . Programming languages have tools to do this (for example, see Java's java.net.URLEncoder and JavaScript's encodeURIComponent()) and there are websites that percent encode/decode for you.
curl --compressed "https://coastwatch.pfeg.noaa.gov/erddap/tabledap/cwwcNDBCMet.png?time,atmp&time%3E=2010-09-03T00:00:00Z&time%3C=2010-09-06T00:00:00Z&station=%22TAML1%22&.draw=linesAndMarkers&.marker=5|5&.color=0x000000&.colorBar=|||||" -o NDBCatmp#1.png(That example includes --compressed because it is a generally useful option, but there is little benefit to --compressed when requesting .png files because they are already compressed internally.)
curl -v --data 'user=myUserName&password=myPassword' -c cookies.txt -b cookies.txt -k https://baseurl:8443/erddap/login.html
curl --compressed -v -c cookies.txt -b cookies.txt -k https://baseurl:8443/erddap/tabledap/datasetID.fileType?query -o outputFileName
Without orderBy, the rows of data in the response table are in the order they arrived from the data source, which may or may not be a nice logical order. Thus, orderBy allows you to request that the results table be sorted in a specific way. For example, use the query
?stationID,time,temperature&time>2024-11-15&orderBy("stationID,time")to get the results sorted by stationID, then time. Or use the query
?stationID,time,temperature&time>2024-11-15&orderBy("time,stationID")to get the results sorted by time first, then stationID.
orderBy() doesn't support
the divisor options for numeric variables, i.e.,
numericVariable[/number[timeUnits][:offset]]
because they would be nonsensical.
For orderByClosest, for each group, ERDDAP will return just the row where the value of the last CSV variable is closest to the divisor (interval). For example,
?stationID,time,temperature&time>2024-11-15&orderByClosest("stationID,time/2hours")will sort by stationID and time, but only return the rows for each stationID where the last orderBy column (time) are closest to 2hour intervals (12am, 2am, 4am, ...). For numeric variables in orderByMax CSV list, for each group, ERDDAP will return the exact value (e.g., the exact time) at which the closest value occurred. This is the closest thing in tabledap to stride values in a griddap request.
For orderByCount, for each group, ERDDAP will return just one row with the count of the number of non-NaN values for each variable not in the CSV list. For example, use the query
?stationID,time,temperature,windspeed&time>2024-11-15&orderByCount("stationID,time/1day")to get a count of the number of non-NaN temperature and windspeed values for each stationID, for each day (for stations with data from after 2024-11-15).
Divisors - All orderBy options
(other than the plain orderBy() and orderByClosest()) support
divisor options for any of the numeric variables in the orderBy... CSV list, in the form
numericVariable[/number[timeUnits][:offset]]
Some examples are: time/10, time/2days, depth/10, depth/0.5, depth/10:5.
For orderByLimit, the last value in the CSV list must be the limit number (e.g., 10). Within each sort group, only the first 'limit' rows will be kept. For example,
?stationID,time,temperature&time>2024-11-15&orderByLimit("stationID,time/1day,10")will sort by stationID and time, but only return the first 10 rows for each stationID per day. This will usually return the same rows as the first n rows per group of a similar request with no orderByLimit, but not always. This is similar to SQL's LIMIT clause.
orderByMax will sort results into groups based on values of the variables in the CSV list except the last variable, then just keep the row within each group where the last CSV list variable has the highest value. (If there are two or more rows which have the same highest value, ERDDAP may return any of them.) For example, use the query
?stationID,time,temperature&time>2024-11-15&orderByMax("stationID,time/1day,temperature")to get just the rows of data with each station's maximum temperature value for each day (for stations with data from after 2024-11-15). For numeric variables in orderByMax CSV list, for each group, ERDDAP will return the exact value (e.g., the exact time) at which the max value (e.g., temperature) occurred. This is the closest thing in tabledap to griddap's allowing requests for the [last] axis value.
?stationID,time,temperature&time>2024-11-15&orderByMinMax("stationID,time/1day,temperature")to get just the rows of data with each station's minimum temperature value and each station's maximum time value for each day (for stations with data from after 2024-11-15). If there is only one row of data for a given combination (e.g., stationID), there will still be two rows in the output (with identical data).
For orderByMean, for each group, ERDDAP will return the mean of each of the variables not in the CSV list. You can use the same divisor options as other orderBy options (e.g., time/1day or depth/10). For example,
?stationID,time,temperature&time>2024-11-15&orderByMean("stationID,time/1day")will sort by stationID and time, but only return the mean temperature value for each stationID for each day.
For orderBySum, for each group, ERDDAP will return the sum of each of the variables not in the CSV list. You can use the same divisor options as other orderBy options (e.g., time/1day or depth/10). For example,
?stationID,time,rainfall&time>2024-11-15&orderBySum("stationID,time/1day")will sort by stationID and time, but only return the sum of rainfall values for each stationID for each day.
Or, if you change the fileType in the URL from .png to .graph,
you can see a Make A Graph web page with that request loaded:
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst.graph?time,T_25&station="0n0e"&time>=2015-05-23T12:00:00Z&time<=2015-05-31T12:00:00Z&.draw=lines
That makes it easy for humans to modify an image request to make a
similar graph or map.
Or, if you change the fileType in the URL from .png to a data fileType
(e.g., .htmlTable), you can view or download the data that was graphed:
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst.htmlTable?time,T_25&station="0n0e"&time>=2015-05-23T12:00:00Z&time<=2015-05-31T12:00:00Z&.draw=lines
A sample URL to view a .png of a map is
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst.png?longitude,latitude,T_25&time=2015-05-31T12:00:00Z&.draw=markers&.marker=5|5
Or, if you change the fileType in the URL from .png to .graph,
you can see a Make A Graph web page with that request loaded:
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst.graph?longitude,latitude,T_25&time=2015-05-31T12:00:00Z&.draw=markers&.marker=5|5
Or, if you change the fileType in the URL from .png to a data fileType
(e.g., .htmlTable), you can view or download the data that was mapped:
https://coastwatch.pfeg.noaa.gov/erddap/tabledap/pmelTaoDySst.htmlTable?longitude,latitude,T_25&time=2015-05-31T12:00:00Z&.draw=markers&.marker=5|5
Some ERDDAP installations do have authentication enabled. Currently, ERDDAP only supports authentication via Google-managed email accounts, which includes email accounts at NOAA and many universities. If an ERDDAP has authentication enabled, anyone with a Google-managed email account can log in, but they will only have access to the private datasets that the ERDDAP administrator has explicitly authorized them to access. For instructions on logging into ERDDAP from a browser or via a script, see Access to Private Datasets in ERDDAP.
To generate a citation for a dataset:
If you think of the dataset as a scientific article, you can generate a
citation based on the author (see the "creator_name" or "institution" metadata),
the date that you downloaded the data, the title (see the "title" metadata),
and the publisher (see the "publisher_name" metadata).
If possible, please include the specific URL(s) used to download the data.
If the dataset's metadata includes a
Digital Object Identifier (DOI), please
include that in the citation you create.
If the error response was generated by ERDDAP (not by some other part of the Internet,
e.g., Tomcat, Apache, routers, or your browser),
it will come with an (OPeN)DAPv2.0-formatted, plain text, UTF-8-encoded error message
as the payload of the response, e.g.,
Error {
code=404;
message="Not Found: Your query produced no matching results.
(time>=2019-03-27T00:00:00Z is outside of the variable's actual_range: 1970-02-26T20:00:00Z to 2019-03-26T15:00:00Z)";
}
Notes:
Or, you can join the ERDDAP Google Group / Mailing List by visiting https://groups.google.com/forum/#!forum/erddap 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.