Skip to main content
U.S. flag

An official website of the United States government

Here’s how you know

Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

HTTPS

Secure .gov websites use HTTPS
A lock (LockA locked padlock) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

    • Environmental Topics
    • Air
    • Bed Bugs
    • Chemicals, Toxics, and Pesticide
    • Emergency Response
    • Environmental Information by Location
    • Health
    • Land, Waste, and Cleanup
    • Lead
    • Mold
    • Radon
    • Research
    • Science Topics
    • Water Topics
    • A-Z Topic Index
    • Laws & Regulations
    • By Business Sector
    • By Topic
    • Compliance
    • Enforcement
    • Guidance
    • Laws and Executive Orders
    • Regulations
    • Report a Violation
    • Environmental Violations
    • Fraud, Waste or Abuse
    • About EPA
    • Our Mission and What We Do
    • Headquarters Offices
    • Regional Offices
    • Labs and Research Centers
    • Planning, Budget, and Results
    • Organization Chart
    • EPA History

Breadcrumb

  1. Home
  2. High-End Scientific Computing
  3. RSIG

Web Access to RSIG Data

Researchers with sufficient programming experience can use a web service to obtain data from RSIG and Estuary Data Mapper (EDM) without having to use the RSIG or EDM applications.

End users who are interested in bulk data transfer may opt to use the web service directly, or incorporate it into an automated script.

You may also want to read more about web service queries and essential performance tips.

  • About the web service
  • Anatomy of a web service call
  • Popular RSIG data sources
  • Output data formats
  • Command-line examples using cURL


About the RSIG API web service

The RSIG web service (rsigserver) is OGC-WCS/WMS-compliant.

The following links exit the site

  • Open Geospatial Consortium's Web Coverage Service (WCS) standards 
  • Open Geospatial Consortium's Web Map Service (WMS) 

Essential information about the web service is as follows:

  • The purpose of rsigserver is to stream (over a network) aggregated (across multiple source data files) subsets (by time-range, variables, longitude-latitude-layer domain) of data into client applications (without the need for first writing files to disk, as in ftp).
  • EMVL extends rsigserver each time a new data source is requested for RSIG.
  • All data are GMT-hourly.
  • Longitude, latitude, elevation (meters above MSL when available), and GMT timestamps are always included implicitly to facilitate geospatial-temporal data alignment.

Anatomy of a web service call

To create a webservice call you must first construct a URL of the proper form, which is outlined below. To get started you may want to obtain data with the RSIG3D desktop application, which prints the URL for every data request it makes. You can copy/paste the URL to use as a basis for constructing other customized URLs. Examples of full URLs are given in the Command Line Example section below.

The URL for typical RSIG API calls is composed of three main parts: a basename, mandatory key/value pairs, and optional key/value pairs. Some of the optional key/value pairs are specific to certain data types. The key/value pairs are always separated by ampersands (&) in the URL string. Some people may find the length of the URL string to be long and daunting, but if you break it down into its constituent components it is easy to understand.

Basename: The basename below specifies the RSIG server and web service. The question mark signifies the end of the basename and the beginning of a series of key/value pairs to follow that specify details about the data that is being requested.

  • https://ofmpub.epa.gov/rsig/rsigserver?

Mandatory key/value pairs: The mandatory key/value pairs are required in part to make the RSIG API OGC-WCS compliant. They also describe basic details about the data request including the data source, the desired format,  and the spatial and temporal extents of the data being requested as shown in the table below.

 
Mandatory keyValueNotes
SERVICEWCSThis value should not be changed and indicates that data is being requested.
VERSION1.0.0This value should not be changed and indicates the OGC specification level.
REQUESTGetCapabilities or GetCoverageGetCapabilities is used for learning about the webservice. GetCoverage is for requesting data.
COVERAGEThe data being requestedThe RSIG API provides access to over 5,000 specific data sources and variables. You can discover them by using GetCapabilities (see examples below), or by inspecting the data selection options in the RSIG3D desktop application. As an example, the COVERAGE for AirNow PM2.5 is airnow.pm25 .
FORMATascii, netcdf-coards, netcdf-ioapi, original, or xdr

Choose which format you want for the returned data:

  • ascii: plain text
  • netcdf-coards: NetCDF format using COARDS conventions.
  • netcdf-ioapi: NetCDF format using IOAPI conventions, similar to what CMAQ uses. Files of this type can be loaded into postprocessing tools that can handle CMAQ data.
  • original: Data is returned in its original (unsubsetted) format. These files can be very large. This option should be used with caution.
  • xdr: An efficient binary format that is native to the RSIG system. 

You can find out more about these formats and their compatibility with other software in the WCS Output Data Formats section below.

TIMEISO-8601 time rangeExample: 2025-07-15T14:00:00Z/2025-07-15T14:59:59Z
BBOXRectangular lon/lat bounding box of the form west,south,east,north (no spaces)Example: -126.0,24.0,-66.0,50.0 for a typical CONUS bounding box.

Optional key/value pairs: Other key/value pairs can be specified to tailor your request.

Optional keyValueNotes
COMPRESS0 or 10=no compression, 1=data stream is compressed with gzip.
CORNERS1If CORNERS=1 is specified, certain data (such as satellite or CMAQ model data) will include the lon/lat coordinates of each data cell's vertices. 

Putting it all together: To construct a URL, start with the basename and then append key value pairs separated by ampersands. Make sure that there are no spaces or line breaks anywhere in the URL. The order of the key/value pairs does not matter, but standard practice is to list the mandatory ones first, followed by the optional ones. Here is an example that will request AirNow PM2.5 data for August 1, 2025 in ASCII (plain text) format.  More examples can be found in the Command Line Examples below.

https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=ascii&TIME=2025-08-01T00:00:00Z/2025-08-01T23:59:59Z&BBOX=-126,24,-66,50&COVERAGE=airnow.pm25

Popular RSIG data sources

The table below lists some of the popular data sources available via RSIG, but is by no means exhaustive. RSIG can serve over 5,000 data sources and variables. See the full list of RSIG variables for more information. Note that a given source (e.g. airnow) may have many variables that can be requested (e.g. pm25, ozone, no2). 

SourceDescriptionVariables
AirNow (EPA)AirNow ground stations.airnow.pm25, airnow.ozone, airnow.no2
AQS (EPA)AQS Data Mart ground stations.aqs.pm25, aqs.pm25_daily_average, aqs.ozone, aqs.ozone_8hour_average, aqs.ozone_daily_8hour_maximum
CMAQ EQUATES (EPA)CMAQ modeled gridded met and air-quality data.cmaq.equates.conus.conc.no2
HMS (NOAA)Satellite based fire and smoke detections.hms.fire_power, hms.smoke
HRRR (NOAA)High Resolution Rapid Refresh meteorological modelhrrr.wind_10m
METAR (NWS)Meteorological measurements associated with airports worldwide.metar.wind, metar.temperature
MODIS (NASA)Moderate resolution imaging spectroradiometer in low-Earth orbit delivering daily overpasses.modis.mod4.Optical_Depth_Land_And_Ocean
OMI (NASA)Satellite based imaging spectrometer in low-Earth orbit delivering daily overpasses.omi.l2.omto3.ColumnAmountO3, omi.l2.omno2.ColumnAmountNO2Trop
PurpleAir (PurpleAir, Inc.)Network of low-cost PM2.5 sensors from PurpleAir Inc. The "pm25_corrected" variable has an EPA derived correction factor applied to improve the accuracy of the PM2.5 measurements in most cases. purpleair.pm25_corrected
TEMPO (NASA)Satellite based  imaging spectrometer in geosyncronous orbit delivering hourly measurements during daylight hours.tempo.l2.no2.vertical_column_troposphere
TROPOMI (ESA)Satellite based imaging spectrometer in low-Earth orbit delivering daily overpasses. tropomi.offl.no2.nitrogendioxide_total_column

WCS Output data formats

FormatDescription
ASCIITab-delimited spreadsheet. Use with compression (&COMPRESS=1) to improve download speed. Good for spreadsheets and scripts.
XDRText header with followed by data encoded using the XDR standard. Good for streaming to custom software.
NetCDF-COARDSNetCDF file with COARDS metadata conventions. See NetCDF documentation for a list of compatible software.
NetCDF-IOAPINetCDF file with IOAPI conventions. Compatible with IDV, Panoply, and CMAQ-related-utilities.
OriginalOriginal (unsubsetted) satellite files (tarred and gzipped). WARNING: large files and slow downloads!

Command-line examples using cURL

To help craft WCS queries, you can use cURL, a command available on multiple platforms for transferring data. As summarized on the cURL home page :

curl is an open source command line tool and library for transferring data with URL syntax that compiles and runs under a wide variety of operating systems....

The cURL manpage  contains thorough documentation of cURL and its numerous options. R developers can take advantage of the RCurl library  to serve as a wrapper for libcurl in R-based applications.
 
Although these examples use cURL, applications may use their own routines to "retrieve a web page." The RSIG3D distribution includes cURL in the "bin" directory.
 

The easiest way to learn these WCS commands is to run RSIG3D and inspect the status window in the lower left hand corner after a data request is made. The exact WCS call used by the application is echoed to the status window, and can be used as a starting point for constructing custom WCS calls.

Note that in the examples below, the curl commands should all be entered on a single line.

Note for Windows users: The command-line examples below should be run in a Powershell terminal. You may need to replace 'curl' in the examples below with 'curl.exe'.

List available datasets from the RSIG WCS server

curl --silent --retry 0 -L --tcp-nodelay --max-time 0 'https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCapabilities'

Listing just the names of available variables from a script

curl --silent --retry 0 -L --tcp-nodelay --max-time 0 'https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCapabilities' |grep name | grep -v WCS | sed 's/<name>//g; s/<\/name>//g' | tr -d '[:blank:]'

Getting ASCII format data from TROPOMI NO2

curl --silent --retry 0 -L --tcp-nodelay --max-time 0 'https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCoverage&COVERAGE=tropomi.offl.no2.nitrogendioxide_total_column&TIME=2026-02-01T17:00:00Z/2026-02-01T17:59:59Z&BBOX=-78,37,-76,38&FORMAT=ascii'

Getting XDR-format MODIS AOD data from NASA Goddard

curl --silent --retry 0 -L --tcp-nodelay --max-time 0 'https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=xdr&TIME=2025-07-15T14:00:00Z/2025-07-15T14:59:59Z&BBOX=-126.0,24.0,-66.0,50.0&COVERAGE=modis.mod4.Optical_Depth_Land_And_Ocean' > modis_sample1.xdr

Compression/decompression is optional but recommended when streaming large amounts of data over long-distance networks. To use compression, add the &COMPRESS=1 option to return data that has been gzipped. Windows users may need to get a decompression utility such as 7zip to uncompress .gz files.

Same as above but including MODIS cell corner points

curl --silent --retry 0 -L --tcp-nodelay --max-time 0 'https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=xdr&TIME=2025-07-15T14:00:00Z/2025-07-15T14:59:59Z&BBOX=-126.0,24.0,-66.0,50.0&COVERAGE=modis.mod4.Optical_Depth_Land_And_Ocean&CORNERS=1' > modis_sample2.xdr

The CORNERS=1 option will result in 8 additional variables: Longitude_SW, Longitude_SE, Longitude_NW, Longitude_NE, Latitude_SW, Latitude_SE, Latitude_NW, Latitude_NE which are the linearly interpolated/extrapolated corner points surrounding each MODIS ground point center to provide quadrillateral cells for each MODIS data point.

Getting CALIPSO satellite LIDAR data in ascii format

curl --silent --retry 0 -L --tcp-nodelay --max-time 0 'https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=ascii&TIME=2023-06-15T00:00:00Z/2023-06-15T23:59:59Z&BBOX=-95.0,34.0,-89.0,38.0,0,40000&COVERAGE=calipso.l1.Total_Attenuated_Backscatter_532&MINIMUM_CAD=20&MAXIMUM_UNCERTAINTY=99'

Getting CMAQ wind data for the lowest grid layer (in IOAPI format)

curl --silent --retry 0 -L --tcp-nodelay --max-time 0 'https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCoverage&COVERAGE=cmaq.equates.conus.metdot3d.wind&TIME=2005-08-28T20:00:00Z/2005-08-29T01:59:59Z&BBOX=-90,30,-88,32,1,1&FORMAT=netcdf-ioapi' > cmaq_sample.nc

To obtain data for all layers, omit the last two values of BBOX:

BBOX=-90,30,-88,32

To obtain the first three layers:

BBOX=-90,30,-88,32,1,3

Optional compression/decompression

...&COMPRESS=1' | gzip -d > sample.nc

Regridding one day of TEMPO NO2 data to layer one of the CMAQ EQUATES 12km grid in Lambert space (saved as NetCDF IOAPI format)

curl --silent --retry 0 -L --tcp-nodelay --max-time 0 'https://ofmpub.epa.gov/rsig/rsigserver?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=netcdf-ioapi&TIME=2026-03-01T17:00:00Z/2026-03-01T18:59:59Z&BBOX=-125,25,-65,50&COVERAGE=tempo.l2.no2.vertical_column_troposphere&CORNERS=1&MINIMUM_QUALITY=normal&MAXIMUM_CLOUD_FRACTION=0.15&MAXIMUM_SOLAR_ZENITH_ANGLE=70.0&REGRID=weighted&LAMBERT=33.0,45.0,-97.0,40.0&ELLIPSOID=6370000,6370000&GRID=459,299,-2556000,-1728000,12000,12000' > cmaq_sample_regridded.nc

Example Windows and UNIX scripts for automated downloads

 

Contact the RSIG team for a sample script that will automate downloads using cURL.

High-End Scientific Computing

  • RSIG
    • Download
    • RSIG3D Release History
    • RSIG3D Video Demonstrations
    • Web Access to RSIG Data
    • Reading Local/Remote CMAQ Files
    • Data Inventory
    • RSIG-Related Downloadable Data Files
    • How RSIG Regrids Data
    • Troubleshooting RSIG
  • EDM
    • About Estuary Data Mapper
    • Download & Install
    • Image Gallery
    • Release History
    • Data Inventory
    • Frequent Questions
    • Special Topics and Videos
      • EDM Basics
      • Nitrogen Sources and Loads
      • Develop Seagrass Models
      • Seagrass Updates (2024)
      • Web Coverage Service (WCS)
      • WCS & Decision Support Tools
      • Land-Use Scenarios
  • RETIGO
    • Enter Your Data in RETIGO
    • Timestamp Converter
    • Tutorial: How to use RETIGO
    • Tutorial: Create RETIGO file from Excel
    • Frequent Questions
Contact Us About High-End Scientific Computing
Contact Us About High-End Scientific Computing to ask a question, provide feedback, or report a problem.
Last updated on March 20, 2026
  • Assistance
  • Spanish
  • Arabic
  • Chinese (simplified)
  • Chinese (traditional)
  • French
  • Haitian Creole
  • Korean
  • Portuguese
  • Russian
  • Tagalog
  • Vietnamese
United States Environmental Protection Agency

Discover.

  • Accessibility Statement
  • Budget & Performance
  • Contracting
  • EPA www Web Snapshot
  • Grants
  • No FEAR Act Data
  • Plain Writing
  • Privacy and Security Notice

Connect.

  • Data
  • Inspector General
  • Jobs
  • Newsroom
  • Regulations.gov
  • Subscribe
  • USA.gov
  • White House

Ask.

  • Contact EPA
  • EPA Disclaimers
  • Hotlines
  • FOIA Requests
  • Frequent Questions
  • Site Feedback

Follow.