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

ERDDAP > tabledap > Make A Graph ?

Dataset Title:  Water Quality Virtual Buoys (Satellite) - Boca de Cangrejo (EPR02)   RSS
Institution:  CARICOOS, USF, IOOS   (Dataset ID: East_Region_EPR02)
Range: longitude = -66.00762 to -66.00762°E, latitude = 18.47735 to 18.47735°N, depth = -46.0 to -46.0m, time = 2000-01-05T12:00:00Z to 2025-12-17T12:00:00Z
Information:  Summary ? | License ? | FGDC | ISO 19115 | Metadata | Background (external link) | Subset | Data Access Form | Files
 
Graph Type:  ?
X Axis: 
Y Axis: 
Color: 
-1+1
 
Constraints ? Optional
Constraint #1 ?
Optional
Constraint #2 ?
       
       
       
       
       
 
Server-side Functions ?
 distinct() ?
? ("Hover here to see a list of options. Click on an option to select it.Hover here to see a list of options. Click on an option to select it.Hover here to see a list of options. Click on an option to select it.Hover here to see a list of options. Click on an option to select it.")
 
Graph Settings
Marker Type:   Size: 
Color: 
Color Bar:   Continuity:   Scale: 
   Minimum:   Maximum:   N Sections: 
Draw land mask: 
Y Axis Minimum:   Maximum:   
 
(Please be patient. It may take a while to get the data.)
 
Optional:
Then set the File Type: (File Type information)
and
or view the URL:
(Documentation / Bypass this form ? )
    Click on the map to specify a new center point. ?
Zoom: 
Time range:    |<   -       
[The graph you specified. Please be patient.]

 

Things You Can Do With Your Graphs

Well, you can do anything you want with your graphs, of course. But some things you might not have considered are:

The Dataset Attribute Structure (.das) for this Dataset

Attributes {
 s {
  time {
    String _CoordinateAxisType "Time";
    Float64 actual_range 9.470736e+8, 1.7659728e+9;
    String axis "T";
    String calendar "gregorian";
    String Description "Time at middle of week (Wednesday 12:00:00)";
    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";
  }
  year {
    Int16 _FillValue -999;
    Int16 actual_range 2000, 2025;
    String Description "Year";
    String ioos_category "Time";
    String long_name "Year";
    String units "year";
  }
  week {
    Byte _FillValue -1;
    String _Unsigned "false";
    Byte actual_range 1, 52;
    String Description "Week of year (1-52, week 1 starts Jan 1)";
    String ioos_category "Unknown";
    String long_name "Week";
    String units "week";
  }
  longitude {
    String _CoordinateAxisType "Lon";
    Float32 actual_range -66.00762, -66.00762;
    String axis "X";
    Float64 colorBarMaximum 180.0;
    Float64 colorBarMinimum -180.0;
    String Description "Longitude";
    String ioos_category "Location";
    String long_name "Longitude";
    String standard_name "longitude";
    String units "degrees_east";
  }
  latitude {
    String _CoordinateAxisType "Lat";
    Float32 actual_range 18.47735, 18.47735;
    String axis "Y";
    Float64 colorBarMaximum 90.0;
    Float64 colorBarMinimum -90.0;
    String Description "Latitude";
    String ioos_category "Location";
    String long_name "Latitude";
    String standard_name "latitude";
    String units "degrees_north";
  }
  depth {
    String _CoordinateAxisType "Height";
    String _CoordinateZisPositive "down";
    Float32 actual_range -46.0, -46.0;
    String axis "Z";
    Float64 colorBarMaximum 8000.0;
    Float64 colorBarMinimum -8000.0;
    String colorBarPalette "TopographyDepth";
    String Description "Depth";
    String ioos_category "Location";
    String long_name "Depth";
    String positive "down";
    String standard_name "depth";
    String units "m";
  }
  sst {
    Float32 _FillValue -999.0;
    Float32 actual_range -9900.01, 31.3354;
    String Alt_products "sst";
    String Alt_sats "ATVW";
    Float64 colorBarMaximum 32.0;
    Float64 colorBarMinimum 0.0;
    String ioos_category "Temperature";
    String long_name "Sea Surface Temperature";
    String standard_name "sea_surface_temperature";
    String units "degree_Celsius";
  }
  sst_quality_flag {
    Byte _FillValue -1;
    String _Unsigned "false";
    Byte actual_range 1, 9;
    Float64 colorBarMaximum 10.0;
    Float64 colorBarMinimum 0.0;
    String Description "Quality flag for SST (physical thresholds + 3×STD outlier detection)";
    String flag_1_description "Good data that passed all quality control tests";
    String flag_2_description "Not evaluated";
    String flag_3_description "Questionable data - statistical outliers or slight physical threshold violations (within ±75% of limits)";
    String flag_4_description "Bad data - gross physical threshold violations (>±75% beyond limits)";
    String flag_9_description "Missing data (NaN values)";
    String flag_meanings "good not_evaluated questionable bad missing";
    Byte flag_values 1, 2, 3, 4, 9;
    String ioos_category "Quality";
    String long_name "Quality Flag";
    String outlier_method "Physical range thresholds + 3×STD (mean ± 3×standard_deviation) on weekly time series";
    Float64 physical_threshold_margin_fraction 0.75;
    String physical_thresholds "22°C ≤ valid ≤ 34°C (bad if >±75% beyond limits)";
    String references "IOOS QUARTOD";
    String standard_name "quality_flag";
    Byte valid_range 1, 9;
  }
  chlor_a {
    Float32 _FillValue -999.0;
    Float32 actual_range 0.0447717, 3.57815;
    String Alt_products "chlor_a";
    String Alt_sats "AVW";
    Float64 colorBarMaximum 30.0;
    Float64 colorBarMinimum 0.03;
    String colorBarScale "Log";
    String ioos_category "Ocean Color";
    String long_name "Concentration Of Chlorophyll In Sea Water";
    String standard_name "concentration_of_chlorophyll_in_sea_water";
    String units "mg m-3";
  }
  chlor_a_quality_flag {
    Byte _FillValue -1;
    String _Unsigned "false";
    Byte actual_range 1, 9;
    Float64 colorBarMaximum 10.0;
    Float64 colorBarMinimum 0.0;
    String Description "Quality flag for Chlorophyll-a (physical thresholds + 3×STD outlier detection)";
    String flag_1_description "Good data that passed all quality control tests";
    String flag_2_description "Not evaluated";
    String flag_3_description "Questionable data - statistical outliers or slight physical threshold violations (within ±75% of limits)";
    String flag_4_description "Bad data - gross physical threshold violations (>±75% beyond limits)";
    String flag_9_description "Missing data (NaN values)";
    String flag_meanings "good not_evaluated questionable bad missing";
    Byte flag_values 1, 2, 3, 4, 9;
    String ioos_category "Quality";
    String long_name "Quality Flag";
    String outlier_method "Physical range thresholds + 3×STD (mean ± 3×standard_deviation) on weekly time series";
    Float64 physical_threshold_margin_fraction 0.75;
    String physical_thresholds "0 ≤ valid ≤ 2 mg m⁻³ (bad if >±75% beyond limits)";
    String references "IOOS QUARTOD";
    String standard_name "quality_flag";
    Byte valid_range 1, 9;
  }
  par {
    Float32 _FillValue -999.0;
    Float32 actual_range -14542.2, 60.1493;
    String Alt_products "par";
    String Alt_sats "AVW";
    Float64 colorBarMaximum 70.0;
    Float64 colorBarMinimum 0.0;
    String ioos_category "Optical Properties";
    String long_name "Downwelling Photosynthetic Photon Radiance In Sea Water";
    String standard_name "downwelling_photosynthetic_photon_radiance_in_sea_water";
    String units "Ein m-2 day-1";
  }
  par_quality_flag {
    Byte _FillValue -1;
    String _Unsigned "false";
    Byte actual_range 1, 9;
    Float64 colorBarMaximum 10.0;
    Float64 colorBarMinimum 0.0;
    String Description "Quality flag for PAR (physical thresholds + 3×STD outlier detection)";
    String flag_1_description "Good data that passed all quality control tests";
    String flag_2_description "Not evaluated";
    String flag_3_description "Questionable data - statistical outliers or slight physical threshold violations (within ±75% of limits)";
    String flag_4_description "Bad data - gross physical threshold violations (>±75% beyond limits)";
    String flag_9_description "Missing data (NaN values)";
    String flag_meanings "good not_evaluated questionable bad missing";
    Byte flag_values 1, 2, 3, 4, 9;
    String ioos_category "Quality";
    String long_name "Quality Flag";
    String outlier_method "Physical range thresholds + 3×STD (mean ± 3×standard_deviation) on weekly time series";
    Float64 physical_threshold_margin_fraction 0.75;
    String physical_thresholds "37 ≤ valid ≤ 63 Ein m⁻² day⁻¹ (bad if >±75% beyond limits)";
    String references "IOOS QUARTOD";
    String standard_name "quality_flag";
    Byte valid_range 1, 9;
  }
  Kd_488_lee {
    Float32 _FillValue -999.0;
    Float32 actual_range -114.257, 0.5985;
    String Alt_products "Kd_488_lee";
    String Alt_sats "AVW";
    String ioos_category "Unknown";
    String long_name "Kd 488 Lee";
    String units "m-1";
  }
  Kd_488_lee_quality_flag {
    Byte _FillValue -1;
    String _Unsigned "false";
    Byte actual_range 1, 9;
    Float64 colorBarMaximum 10.0;
    Float64 colorBarMinimum 0.0;
    String Description "Quality flag for Kd(488) (physical thresholds + 3×STD outlier detection)";
    String flag_1_description "Good data that passed all quality control tests";
    String flag_2_description "Not evaluated";
    String flag_3_description "Questionable data - statistical outliers or slight physical threshold violations (within ±75% of limits)";
    String flag_4_description "Bad data - gross physical threshold violations (>±75% beyond limits)";
    String flag_9_description "Missing data (NaN values)";
    String flag_meanings "good not_evaluated questionable bad missing";
    Byte flag_values 1, 2, 3, 4, 9;
    String ioos_category "Quality";
    String long_name "Quality Flag";
    String outlier_method "Physical range thresholds + 3×STD (mean ± 3×standard_deviation) on weekly time series";
    Float64 physical_threshold_margin_fraction 0.75;
    String physical_thresholds "0 ≤ valid ≤ 0.4 m⁻¹ (bad if >±75% beyond limits)";
    String references "IOOS QUARTOD";
    String standard_name "quality_flag";
    Byte valid_range 1, 9;
  }
  turbidity_tb {
    Float32 _FillValue -999.0;
    Float32 actual_range 7.68995e-4, 17.8644;
    String Alt_products "turbidity_tb";
    String Alt_sats "ATVW";
    String ioos_category "Unknown";
    String long_name "Turbidity Tb";
    String units "NTU";
  }
  turbidity_tb_quality_flag {
    Byte _FillValue -1;
    String _Unsigned "false";
    Byte actual_range 1, 9;
    Float64 colorBarMaximum 10.0;
    Float64 colorBarMinimum 0.0;
    String Description "Quality flag for Turbidity (physical thresholds + 3×STD outlier detection)";
    String flag_1_description "Good data that passed all quality control tests";
    String flag_2_description "Not evaluated";
    String flag_3_description "Questionable data - statistical outliers or slight physical threshold violations (within ±75% of limits)";
    String flag_4_description "Bad data - gross physical threshold violations (>±75% beyond limits)";
    String flag_9_description "Missing data (NaN values)";
    String flag_meanings "good not_evaluated questionable bad missing";
    Byte flag_values 1, 2, 3, 4, 9;
    String ioos_category "Quality";
    String long_name "Quality Flag";
    String outlier_method "Physical range thresholds + 3×STD (mean ± 3×standard_deviation) on weekly time series";
    Float64 physical_threshold_margin_fraction 0.75;
    String physical_thresholds "0 ≤ valid ≤ 6 NTU (bad if >±75% beyond limits)";
    String references "IOOS QUARTOD";
    String standard_name "quality_flag";
    Byte valid_range 1, 9;
  }
 }
  NC_GLOBAL {
    Float32 Box_size 8.0;
    String cdm_data_type "Point";
    String comment "Implemented by Edward Cruz Garcia (edward.cruz@upr.edu). Data processing: Weekly data from text files with QC applied.";
    String Conventions "COARDS, CF-1.10, ACDD-1.3";
    String Created_by "Dr. Brian Barnes (bbarnes4@usf.edu)";
    String creator_email "caricoos@gmail.com";
    String creator_name "CARICOOS";
    String creator_type "institution";
    String creator_url "https://www.caricoos.org/";
    String Data_Processing "Weekly data read from text files, QC applied (climatological 3×STD + physical thresholds). Climatology from: http://caricoos-web.s3-website-us-east-1.amazonaws.com/ocean/water_quality/observation/satellite/USF_Virtual_Buoys/Climatologies/";
    String Data_Source "Weekly averaged data from USF virtual buoys text files";
    Float32 Depth -46.0;
    Float64 Easternmost_Easting -66.00762;
    String featureType "Point";
    String File_Date_Created "18-Dec-2025";
    Float64 geospatial_lat_max 18.47735;
    Float64 geospatial_lat_min 18.47735;
    String geospatial_lat_units "degrees_north";
    Float64 geospatial_lon_max -66.00762;
    Float64 geospatial_lon_min -66.00762;
    String geospatial_lon_units "degrees_east";
    Float64 geospatial_vertical_max -46.0;
    Float64 geospatial_vertical_min -46.0;
    String geospatial_vertical_positive "down";
    String geospatial_vertical_units "m";
    String history 
"Developed at the Optical Oceanography Laboratory (OOL) University of South Florida
2025-12-20T04:00:08Z https://optics.marine.usf.edu/projects/vbs.html
2025-12-20T04:00:08Z http://dm3.caricoos.org/tabledap/East_Region_EPR02.das";
    String infoUrl "https://www.caricoos.org/";
    String institution "CARICOOS, USF, IOOS";
    String keywords "active, applied, available, caricoos, chemistry, chlor_a, chlor_a_quality_flag, chlorophyll, color, concentration, concentration_of_chlorophyll_in_sea_water, control, cruz, data, depth, downwelling, downwelling_photosynthetic_photon_radiance_in_sea_water, earth, Earth Science > Oceans > Ocean Chemistry > Chlorophyll, Earth Science > Oceans > Ocean Optics > Photosynthetically Active Radiation, Earth Science > Oceans > Ocean Optics > Radiance, Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature, edward, edward.cruz, files, flag, garcia, implemented, integrated, ioos, Kd_488_lee, Kd_488_lee_quality_flag, latitude, lee, longitude, observing, ocean, ocean color, oceans, optical, optical properties, optics, par, par_quality_flag, photon, photosynthetic, photosynthetically, processing, properties, quality, quality_flag, radiance, radiation, science, sea, sea_surface_temperature, seawater, sst, sst_quality_flag, surface, system, temperature, text, time, turbidity, turbidity_tb, turbidity_tb_quality_flag, upr.edu, water, week, weekly, with, year";
    String keywords_vocabulary "GCMD Science Keywords";
    Float32 Latitude 18.477352;
    String license 
"The data may be used and redistributed for free but is not intended
for legal use, since it may contain inaccuracies. Neither the data
Contributor, ERD, 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 Long_name "Boca de Cangrejo 02";
    Float32 Longitude -66.00762;
    Float64 Northernmost_Northing 18.47735;
    String Outlier_Detection_Method "Climatological 3×STD: Values beyond week-of-year climatology (mean ± 3×std) flagged as questionable (flag 3). Falls back to global 3×STD if climatology unavailable.";
    Float64 Physical_Threshold_Margin_Fraction 0.75;
    String Physical_Thresholds "SST: 22-34°C, PAR: 37-63, Chlor-a: 0-2, Turbidity: 0-6, Kd(488): 0-0.4; values >±75% beyond limits flagged bad";
    String Processing_Order "1) Read weekly data from text files, 2) Align variables by year/week, 3) Load climatology from S3, 4) Detect statistical outliers (climatological 3×STD), 5) Check physical range thresholds, 6) Assign quality flags";
    String Project_Title "Satellite-derived weekly water quality data for  Boca de Cangrejo 02";
    String Project_Web_Site "https://www.caricoos.org/";
    String Publisher_URL "https://www.caricoos.org/";
    String QC_Methodology "Two-stage QC: (1) Climatological 3×STD outlier detection (compares each point to its week-of-year climatology), (2) Physical range threshold checking";
    String QC_Standards "IOOS QUARTOD - Integrated Ocean Observing System Quality Assurance/Quality Control of Real-Time Oceanographic Data";
    String Quality_Flag_System "Flag 1: Good data, Flag 2: Not Evaluated, Flag 3: Questionable (outliers), Flag 4: Bad data, Flag 9: Missing (NaN)";
    String Sats_to_use "A T";
    String Sats_to_use_meaning "\"A\"=MODIS on Sat. Aqua, \"T\"=MODIS on Sat. Terra, \"V\"=VIIRS on SNPP, \"W\"=VIRRS on NOAA-20";
    String source "Optical Oceanography Laboratory (OOL) University of South Florida";
    String sourceUrl "https://optics.marine.usf.edu/projects/vbs.html";
    Float64 Southernmost_Northing 18.47735;
    String standard_name_vocabulary "CF Standard Name Table v70";
    String Station_ID "EPR02";
    String Station_Long_Name "Boca de Cangrejo 02";
    String subsetVariables "longitude, latitude, depth";
    String summary "Weekly averaged data from USF virtual buoys text files";
    String testOutOfDate "now-3days";
    String time_coverage_end "2025-12-17T12:00:00Z";
    String time_coverage_start "2000-01-05T12:00:00Z";
    String title "Water Quality Virtual Buoys (Satellite) - Boca de Cangrejo (EPR02)";
    Float64 Westernmost_Easting -66.00762;
  }
}

 

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
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").

For details, see the tabledap Documentation.


 
ERDDAP, Version 2.25_1
Disclaimers | Privacy Policy | Contact