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

ERDDAP > tabledap > Data Access Form ?This Data Access Form helps you download a subset of the data from a dataset with tabular data via the OPeNDAP protocol. In tabular datasets, the dataset is represented as a table with columns and rows. Each column (a variable) has one type of data (e.g., Sea Surface Temperature). Each row represents a different sample of the data (e.g., from a different time or location).

To download tabular data:

  1. Select (check) the variables you want to download.
  2. Specify constraints for any of the variables (not just the selected variables) to get the subset of data that you want. In most cases, you will at least specify longitude and latitude, or time constraints.
  3. For File type, choose one of the non-image file types (anything but .kml, .pdf, or .png).
This web page just simplifies the creation of tabledap URLs.
If you want, you can create these URLs by hand or have a computer program do it.
Then you don\'t have to use this form to get data. See the \'Bypass this form\' link below.

')" onmouseout="UnTip()" >
Dataset Title:  CeNCOOS in-situ water monitoring data from Fort Point in San Francisco bay,
California, USA: real-time measurements taken by Bodega Marine Laboratory,
University of California Davis.
  RSS
Institution:  Bodega Marine Laboratory, University of California Davis   (Dataset ID: FPT_WTS)
Information:  Summary ?Water monitoring data collected in situ in San Francisco at a single location at Fort Point from March 2009 to the present.  The data include temperature, conductivity, pressure, salinity and density measurements from a Conductivity, Temperature, Depth (CTD).  Additional sensors collected chlorophyll fluorescence. The data were collected by The Univeristy of California Davis\' Bodega Marine Laboratory

cdm_data_type = TimeSeries
VARIABLES:
time (seconds since 1970-01-01T00:00:00Z)
altitude (Height above mean sea level, m)
station_name
latitude (latitude in decimal degree north, degrees_north)
longitude (longitude in decimal degree east, degrees_east)
wtemp (Water temperature, IPTS-90, degree_Celsius)
cond (Conductivity, S)
density (kg m-3)
chl_conc (In vivo fluorometric chlorophyll concentration, microg L-1)
water_press (Water Pressure, dbar)
sal (Salinity, IPSS-78, PSU)
')" onmouseout="UnTip()" > | License ?These data may be used and redistributed for free but are not intended for legal use, since they may contain inaccuracies. For use for publication or presentations please reference the Central and Northern California Ocean Observing System (CeNCOOS) and NOAA. Neither the data provider, CeNCOOS, NOAA, nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information.')" onmouseout="UnTip()" > | FGDC | ISO 19115 | Metadata | Background (external link) | Subset | Make a graph
 
Variable ?A tabular dataset can be thought of as a large table with rows and columns. Variables are the columns in the table. Select (check) the variables that you want included in the results table. The constraints determine which rows of data from the original table are included in the results table.')" onmouseout="UnTip()" >   Optional
Constraint #1 ?Constraints
  • These optional constraints let you specify a subset of the data.
  • The constraints determine which rows of data from the original table are included in the results table.
  • The constraints are applied to each row of the original table.
  • If all the constraints evaluate to true for a given row, that row is included in the results table.
  • Constraints can be applied to any variable, not just the variables you download.
')" onmouseout="UnTip()" >
Optional
Constraint #2 ?Constraints
  • These optional constraints let you specify a subset of the data.
  • The constraints determine which rows of data from the original table are included in the results table.
  • The constraints are applied to each row of the original table.
  • If all the constraints evaluate to true for a given row, that row is included in the results table.
  • Constraints can be applied to any variable, not just the variables you download.
')" onmouseout="UnTip()" >
   Minimum ?
   or a List of Values ?Optional:
Some variables have a limited number of values. If you select a value below, that value will be used for Constraint #1.

Or, consider using the Subset web page for this dataset (see the link above) which makes it easy to select subsets of this dataset by selecting combinations of distinct values.')" onmouseout="UnTip()" >

   Maximum ?
 
 time (UTC) ?  Float64 time {
    String _CoordinateAxisType "Time";
    Float64 actual_range 0.0, 1.69893288e+9;
    String axis "T";
    String ioos_category "Time";
    String long_name "Time";
    String standard_name "time";
    String time_origin "01-JAN-1970 00:00:00";
    String units "seconds since 1970-01-01T00:00:00Z";
  }
')" onmouseout="UnTip()" >  
       1970-01-01T00:00:00Z    2023-11-02T13:48:00Z
  < slider >
 altitude (Height above mean sea level, m) ?  Float32 altitude {
    String _CoordinateAxisType "Height";
    String _CoordinateZisPositive "up";
    Float32 actual_range -1.9, -1.9;
    String axis "Z";
    String ioos_category "Location";
    String long_name "Height above mean sea level";
    String positive "up";
    String standard_name "altitude";
    String units "m";
  }
')" onmouseout="UnTip()" >  
   
   - +  ?This constraint variable has a limited number of values. They are listed here. If you pick a value, it will be used for Constraint #1.

WARNING: If you pick a specific value for more than one variable, it is possible that there will be no matching data.  Consider using Subset, which makes it easy to find valid combinations.')" onmouseout="UnTip()" >

  < slider >
 station_name ?  char station_name {
    String cf_role "timeseries_id";
    String long_name "station name";
  }
')" onmouseout="UnTip()" >  
           
 latitude (degrees_north) ?  Float32 latitude {
    String _CoordinateAxisType "Lat";
    Float32 actual_range 37.80663, 37.80663;
    String axis "Y";
    Float64 colorBarMaximum 90.0;
    Float64 colorBarMinimum -90.0;
    String ioos_category "Location";
    String long_name "latitude in decimal degree north";
    String standard_name "latitude";
    String units "degrees_north";
    Float32 valid_max 90.0;
    Float32 valid_min -90.0;
  }
')" onmouseout="UnTip()" >  
   
   - +  ?This constraint variable has a limited number of values. They are listed here. If you pick a value, it will be used for Constraint #1.

WARNING: If you pick a specific value for more than one variable, it is possible that there will be no matching data.  Consider using Subset, which makes it easy to find valid combinations.')" onmouseout="UnTip()" >

  < slider >
 longitude (degrees_east) ?  Float32 longitude {
    String _CoordinateAxisType "Lon";
    Float32 actual_range -122.4662, -122.4662;
    String axis "X";
    Float64 colorBarMaximum 180.0;
    Float64 colorBarMinimum -180.0;
    String ioos_category "Location";
    String long_name "longitude in decimal degree east";
    String standard_name "longitude";
    String units "degrees_east";
    Float32 valid_max 180.0;
    Float32 valid_min -180.0;
  }
')" onmouseout="UnTip()" >  
   
   - +  ?This constraint variable has a limited number of values. They are listed here. If you pick a value, it will be used for Constraint #1.

WARNING: If you pick a specific value for more than one variable, it is possible that there will be no matching data.  Consider using Subset, which makes it easy to find valid combinations.')" onmouseout="UnTip()" >

  < slider >
 wtemp (degree_Celsius) ?  Float32 wtemp {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range 0.0, 90.0;
    Float64 colorBarMaximum 40.0;
    Float64 colorBarMinimum -10.0;
    String grid_mapping "crs";
    String ioos_category "Temperature";
    String long_name "Water temperature, IPTS-90";
    Float32 missing_value -99999.0;
    String standard_name "water_temperature";
    String units "degree_Celsius";
  }
')" onmouseout="UnTip()" >  
       0.0    90.0
 cond (Conductivity, S) ?  Float32 cond {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range -1.0e-4, 4.4028;
    String grid_mapping "crs";
    String ioos_category "Salinity";
    String long_name "Conductivity";
    Float32 missing_value -99999.0;
    String standard_name "conductivity";
    String units "S";
  }
')" onmouseout="UnTip()" >  
       -1.0E-4    4.4028
 density (kg m-3) ?  Float32 density {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range -1.78, 25.12;
    Float64 colorBarMaximum 28.0;
    Float64 colorBarMinimum 20.0;
    String grid_mapping "crs";
    String ioos_category "Salinity";
    String long_name "Density";
    Float32 missing_value -99999.0;
    String standard_name "sea_water_density";
    String units "kg m-3";
  }
')" onmouseout="UnTip()" >  
       -1.78    25.12
 chl_conc (microg L-1) ?  Float32 chl_conc {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range 0.0, 23.0;
    Float64 colorBarMaximum 30.0;
    Float64 colorBarMinimum 0.03;
    String colorBarScale "Log";
    String grid_mapping "crs";
    String ioos_category "Ocean Color";
    String long_name "In vivo fluorometric chlorophyll concentration";
    Float32 missing_value -99999.0;
    String standard_name "concentration_of_chlorophyll_in_sea_water";
    String units "microg L-1";
  }
')" onmouseout="UnTip()" >  
       0.0    23.0
 water_press (Water Pressure, dbar) ?  Float32 water_press {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range -0.106, 9.557;
    String grid_mapping "crs";
    String ioos_category "Pressure";
    String long_name "Water Pressure";
    Float32 missing_value -99999.0;
    String standard_name "water_pressure";
    String units "dbar";
  }
')" onmouseout="UnTip()" >  
       -0.106    9.557
 sal (Salinity, IPSS-78, PSU) ?  Float32 sal {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range 0.0, 33.056;
    Float64 colorBarMaximum 35.0;
    Float64 colorBarMinimum 5.0;
    String comment "Salinity is based on the Practical Salinity Scale of 1978 (PSS78) and is without dimensions. The CF-1.4 convention recognizes that PSS78 is dimensionless yet recommends a unit of 0.001 to reflect parts per thousand";
    String grid_mapping "crs";
    String ioos_category "Salinity";
    String long_name "Salinity, IPSS-78";
    Float32 missing_value -99999.0;
    String standard_name "sea_water_practical_salinity";
    String units "PSU";
  }
')" onmouseout="UnTip()" >  
       0.0    33.056
 
Server-side Functions ?TableDAP supports some server-side functions that modify the data results table. They are optional. Other than \'distinct()\', they are rarely needed.

Currently, each of the functions takes the results table as input and returns the table with the same columns in the same order, but the order of the rows, the number of rows, or data on the rows, is altered. If you use more than one function, they will be applied in the order that they appear in the request.')" onmouseout="UnTip()" >

 distinct() ?Checking \'distinct()\' tells ERDDAP to sort the results table by all of the variables selected above (with the top/first variable selected above being the most important and other selected variables only being used to break ties) and to remove all duplicate rows from the response table.

WARNING: if this is used without constraints, ERDDAP may have to read all rows from the datasource, which can be VERY SLOW for some datasets. So you should usually include constraints (e.g., time minimum and maximum).')" onmouseout="UnTip()" >

?The orderBy... functions let you specify how the results table will be sorted and which rows will be kept. To use an orderBy... function, select a function at left, then select one or more variables at right. To not use any orderBy... function, choose the first option at left (""). The orderBy... functions are:  

orderBy lets you specify how the results table will be sorted and keeps all rows. For example, orderBy("stationID, time") will sort the results primarily by stationID and secondarily by time.  

orderByClosest lets you specify how the results table will be sorted and an interval (e.g., 2 hours). Within each sort group, only the rows closest to the interval will be kept.  For example, orderByClosest("stationID, time, 2 hours") will sort by stationID and time, but only return the rows for each stationID where the last orderBy column (time) are closest to 2 hour intervals.  

orderByCount lets you specify how the results table will be sorted (or not) and just returns one row for each sort group, with the count of the number of non-missing-values for each variable. For example, orderByCount("stationID") will sort by stationID and return one row for each stationID, with a count of the number of non-missing-values for each variable.  

orderByLimit lets you specify how the results table will be sorted (or not) and a limit number (e.g., 100). Within each sort group, only the first \'limit\' rows will be kept. For example, orderByMax("stationID, 100") will sort by stationID, but only return the first  100 rows for each stationID.  

orderByMax lets you specify how the results table will be sorted and removes some rows. Within each sort group, only the row with the maximum value for the last orderByMax variable will be kept. For example, orderByMax("stationID, time") will sort by stationID, but only return the row with  the maximum time value for each stationID.  

orderByMin is like orderByMax, but only keeps the row with the minimum value for the last orderByMin variable.  

orderByMinMax is like orderByMin plus orderByMax. Within each sort group, only the row with the minimum value and the row with the maximum value for the last orderByMinMax variable will be kept. For example, orderByMinMax("stationID, time") will return the row with the minimum time value and the row with the maximum time value for each stationID.')" onmouseout="UnTip()" > (" ")

File type: (more info)

(Documentation / Bypass this form ?Optional: Bypass This Form
tabledap lets you request data by sending a specially formed URL to the server. The URL identifies a dataset, the desired file type for the response, and the subset of data that you want to receive. This Data Access Form simplifies this task: when you click on the Submit button below, the URL is generated and sent to the server. If you click on Just generate the URL, you can see the URL that the form generates, without sending the URL to the server.

If you learn how to form the URLs, you won\'t have to use this form to get data.
You can write a computer program or script that automatically generates URLs, sends them to ERDDAP, and gets the data. For more information on forming the URLs, click on the Bypass this form link to see the tabledap documentation.')" onmouseout="UnTip()" > )
 
(Please be patient. It may take a while to get the data.)


 

The Dataset Attribute Structure (.das) for this Dataset

Attributes {
 s {
  time {
    String _CoordinateAxisType "Time";
    Float64 actual_range 0.0, 1.69893288e+9;
    String axis "T";
    String ioos_category "Time";
    String long_name "Time";
    String standard_name "time";
    String time_origin "01-JAN-1970 00:00:00";
    String units "seconds since 1970-01-01T00:00:00Z";
  }
  altitude {
    String _CoordinateAxisType "Height";
    String _CoordinateZisPositive "up";
    Float32 actual_range -1.9, -1.9;
    String axis "Z";
    String ioos_category "Location";
    String long_name "Height above mean sea level";
    String positive "up";
    String standard_name "altitude";
    String units "m";
  }
  station_name {
    String cf_role "timeseries_id";
    String long_name "station name";
  }
  latitude {
    String _CoordinateAxisType "Lat";
    Float32 actual_range 37.80663, 37.80663;
    String axis "Y";
    Float64 colorBarMaximum 90.0;
    Float64 colorBarMinimum -90.0;
    String ioos_category "Location";
    String long_name "latitude in decimal degree north";
    String standard_name "latitude";
    String units "degrees_north";
    Float32 valid_max 90.0;
    Float32 valid_min -90.0;
  }
  longitude {
    String _CoordinateAxisType "Lon";
    Float32 actual_range -122.4662, -122.4662;
    String axis "X";
    Float64 colorBarMaximum 180.0;
    Float64 colorBarMinimum -180.0;
    String ioos_category "Location";
    String long_name "longitude in decimal degree east";
    String standard_name "longitude";
    String units "degrees_east";
    Float32 valid_max 180.0;
    Float32 valid_min -180.0;
  }
  wtemp {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range 0.0, 90.0;
    Float64 colorBarMaximum 40.0;
    Float64 colorBarMinimum -10.0;
    String grid_mapping "crs";
    String ioos_category "Temperature";
    String long_name "Water temperature, IPTS-90";
    Float32 missing_value -99999.0;
    String standard_name "water_temperature";
    String units "degree_Celsius";
  }
  cond {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range -1.0e-4, 4.4028;
    String grid_mapping "crs";
    String ioos_category "Salinity";
    String long_name "Conductivity";
    Float32 missing_value -99999.0;
    String standard_name "conductivity";
    String units "S";
  }
  density {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range -1.78, 25.12;
    Float64 colorBarMaximum 28.0;
    Float64 colorBarMinimum 20.0;
    String grid_mapping "crs";
    String ioos_category "Salinity";
    String long_name "Density";
    Float32 missing_value -99999.0;
    String standard_name "sea_water_density";
    String units "kg m-3";
  }
  chl_conc {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range 0.0, 23.0;
    Float64 colorBarMaximum 30.0;
    Float64 colorBarMinimum 0.03;
    String colorBarScale "Log";
    String grid_mapping "crs";
    String ioos_category "Ocean Color";
    String long_name "In vivo fluorometric chlorophyll concentration";
    Float32 missing_value -99999.0;
    String standard_name "concentration_of_chlorophyll_in_sea_water";
    String units "microg L-1";
  }
  water_press {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range -0.106, 9.557;
    String grid_mapping "crs";
    String ioos_category "Pressure";
    String long_name "Water Pressure";
    Float32 missing_value -99999.0;
    String standard_name "water_pressure";
    String units "dbar";
  }
  sal {
    Float64 _Fillvalue -99999.0;
    Float32 actual_range 0.0, 33.056;
    Float64 colorBarMaximum 35.0;
    Float64 colorBarMinimum 5.0;
    String comment "Salinity is based on the Practical Salinity Scale of 1978 (PSS78) and is without dimensions. The CF-1.4 convention recognizes that PSS78 is dimensionless yet recommends a unit of 0.001 to reflect parts per thousand";
    String grid_mapping "crs";
    String ioos_category "Salinity";
    String long_name "Salinity, IPSS-78";
    Float32 missing_value -99999.0;
    String standard_name "sea_water_practical_salinity";
    String units "PSU";
  }
 }
  NC_GLOBAL {
    String area "San Francisco Bay, CA, USA";
    String cdm_data_type "TimeSeries";
    String cdm_timeseries_variables "altitude,latitude,longitude";
    String contact "Data Manager (bmldata@ucdavis.edu)";
    String Conventions "CF-1.6, COARDS, ACDD-1.3";
    String creation_date "2023-11-01 00:12:50 UTC";
    String creator_email "bmldata@ucdavis.edu";
    String creator_name "BMLDATA";
    String creator_type "institution";
    Float64 Easternmost_Easting -122.4662;
    String featureType "TimeSeries";
    Float64 geospatial_lat_max 37.80663;
    Float64 geospatial_lat_min 37.80663;
    String geospatial_lat_units "degrees_north";
    Float64 geospatial_lon_max -122.4662;
    Float64 geospatial_lon_min -122.4662;
    String geospatial_lon_units "degrees_east";
    Float64 geospatial_vertical_max -1.9;
    Float64 geospatial_vertical_min -1.9;
    String geospatial_vertical_positive "up";
    String geospatial_vertical_reference "mean_sea_level";
    String geospatial_vertical_units "m";
    String history 
"2023-11-01 00:12:50 UTC: File created at 2023-11-01 00:12:50 UTC
2025-04-30T18:41:08Z http://bmlsc.ucdavis.edu:8080/erddap
2025-04-30T18:41:08Z http://bmlsc.ucdavis.edu:8080/erddap/tabledap/FPT_WTS.html";
    String id "CEN_FPT_WTS";
    String infoURL "http://bml.ucdavis.edu";
    String infoUrl "http://bml.ucdavis.edu";
    String institution "Bodega Marine Laboratory, University of California Davis";
    String institution_dods_url "http://bmlsc.ucdavis.edu:8080/opendap/data";
    String institution_url "http://bml.ucdavis.edu";
    String keywords "atmosphere, bay, bodega, california, cencoos, chemistry, chl_conc, chlorophyll, color, concentration, concentration_of_chlorophyll_in_sea_water, cond, conductivity, ctd, data, davis, density, depth, earth, Earth Science > Atmosphere > Station Height, Earth Science > Oceans > Ocean Chemistry > Chlorophyll, Earth Science > Oceans > Ocean Optics > Fluorescence, Earth Science > Oceans > Ocean Pressure > Water Pressure, Earth Science > Oceans > Ocean Temperature > Water Temperature, Earth Science > Oceans > Salinity/Density > Conductivity, Earth Science > Oceans > Salinity/Density > Density, Earth Science > Oceans > Salinity/Density > Salinity, fluorescence, fluorometric, fort, Fort Point, francisco, in-situ, ipss, ipss-78, ipts, ipts-90, laboratory, latitude, level, longitude, marine, mean, measurements, monitoring, ocean, ocean color, oceans, optics, point, practical, pressure, real, real time, real-time, realtime, sal, salinity, salinity/density, san, San Francisco, satellite, science, sea, sea_water_density, sea_water_practical_salinity, seawater, situ, sonde, station, taken, temperature, time, university, usa, vivo, water, water_press, water_pressure, water_temperature, wtemp";
    String keywords_vocabulary "GCMD Science Keywords";
    String license "These data may be used and redistributed for free but are not intended for legal use, since they may contain inaccuracies. For use for publication or presentations please reference the Central and Northern California Ocean Observing System (CeNCOOS) and NOAA. Neither the data provider, CeNCOOS, NOAA, nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information.";
    String naming_authority "org.cencoos.www";
    Float64 Northernmost_Northing 37.80663;
    String project "CeNCOOS";
    String source "moored platform observation - fixed altitude";
    String sourceUrl "http://bmlsc.ucdavis.edu:8080/erddap";
    Float64 Southernmost_Northing 37.80663;
    String standard_name_vocabulary "CF Standard Name Table v29";
    String subsetVariables "altitude, latitude, longitude";
    String summary "Water monitoring data collected in situ in San Francisco at a single location at Fort Point from March 2009 to the present.  The data include temperature, conductivity, pressure, salinity and density measurements from a Conductivity, Temperature, Depth (CTD).  Additional sensors collected chlorophyll fluorescence. The data were collected by The Univeristy of California Davis' Bodega Marine Laboratory";
    String testOutOfDate "now-18days";
    String time_coverage_end "2023-11-02T13:48:00Z";
    String time_coverage_start "1970-01-01T00:00:00Z";
    String title "CeNCOOS in-situ water monitoring data from Fort Point in San Francisco bay, California, USA: real-time measurements taken by Bodega Marine Laboratory, University of California Davis.";
    Float64 Westernmost_Easting -122.4662;
  }
}

 

Using tabledap to Request Data and Graphs from Tabular Datasets

tabledap lets you request a data subset, a graph, or a map from a tabular dataset (for example, buoy data), via a specially formed URL. tabledap uses the OPeNDAP (external link) Data Access Protocol (DAP) (external link) and its selection constraints (external link).

The URL specifies what you want: the dataset, a description of the graph or the subset of the data, and the file type for the response.

Tabledap request URLs must be in the form
http://coastwatch.pfeg.noaa.gov/erddap/tabledap/datasetID.fileType{?query}
For example,
http://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").

For details, see the tabledap Documentation.


 
ERDDAP, Version 1.82
Disclaimers | Privacy Policy | Contact