OGC Web Services

The Open Geospatial Consortium, Inc (OGC) is a standards organization leading the development of geospatial and location based services. The OGC has adopted a number of specifications, some of which are used by the IEM. This page lists these services.

Some items of note:

  1. All of these services are available via https:// connections.
  2. There are four DNS aliases for the website to allow web browers to make many simultaneous requests against these services.
    1. mesonet1.agron.iastate.edu
    2. mesonet2.agron.iastate.edu
    3. mesonet3.agron.iastate.edu
    4. www.mesonet.agron.iastate.edu

Tile Map Service (TMS)

This service makes for easy integration with web mapping applications like Google Maps, OpenLayers, and ESRI JS API.

Bing Maps

The folks at Microsoft Bing Maps group have kindly created two examples using their javascript framework.

Single Tile Layer: example

Animated Tile Layer: example

ESRI JS API

Here is an example using the ESRI JS API. This was contributed by Derek Swingley.

Google Maps

The following is example code that works with version 2 of the Google Maps API:

var tileNEX = new GTileLayer(null,null,null); 
tileNEX.getTileUrl = function(tile,zoom) {
   /* Include date at the end as a cachebuster */
   return "https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-900913/"
   + zoom + "/" + tile.x + "/" + tile.y +".png?"+ (new Date()).getTime(); 
};
tileNEX.isPng = function() { return true;};
tileNEX.getOpacity = function() { return 0.5; }


var layer4=[G_NORMAL_MAP.getTileLayers()[0],tileNEX]; 
var custommap4 = new GMapType(layer4, G_SATELLITE_MAP.getProjection(), "Nexrad", G_SATELLITE_MAP);
map.addMapType(custommap4);

Here is an example for Google Maps v3.

OpenLayers v2

Here is an example for OpenLayers and assumes your map projection is in spherical mercator. Or check out this self contained and fully functional openlayers example.

function get_my_url (bounds) {
    var res = this.map.getResolution();
    var x = Math.round ((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
    var y = Math.round ((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
    var z = this.map.getZoom();

    var path = z + "/" + x + "/" + y + "." + this.type +"?"+ parseInt(Math.random()*9999);
    var url = this.url;
    if (url instanceof Array) {
        url = this.selectUrl(path, url);
    }
    return url + this.service +"/"+ this.layername +"/"+ path;

}
var n0q = new OpenLayers.Layer.TMS(
        'NEXRAD Base Reflectivity',
        'https://mesonet.agron.iastate.edu/cache/tile.py/',
        {layername      : 'nexrad-n0q-900913',
        service         : '1.0.0',
        type            : 'png',
        visibility      : true,
        getURL          : get_my_url,
        isBaseLayer     : false}
);
/* you'd then add n0q to your map object */

OpenLayers v3

Here is a self contained example for OpenLayers v3.

var tms = new ol.layer.Tile({
            title: 'GOES East IR Satellite',
            visible: false,
            source: new ol.source.XYZ({
                    url : '/cache/tile.py/1.0.0/goes-east-ir-4km-900913/{z}/{x}/{y}.png'
            });

Other Tile Map Services

The nexrad-n0r-900913 is the layer name and represents the "current" composite base reflectivity. Here are other TileCache services provided by the IEM. These are all TMS for spherical mercator.

Service NameDescription
ridge::XXX-XXX-0Latest individual RADAR XXX data for product XXX more info
ridge::XXX-XXX-YYYYMMDDHHMMArchived individual RADAR XXX data for product XXX more info
nexrad-n0q-900913NEXRAD Base Reflectivity current
nexrad-n0q-900913-m05m... 5 minutes old ...
nexrad-n0q-900913-m10m... 10 minutes old ...
nexrad-n0q-900913-m15m... 15 minutes old ...
nexrad-n0q-900913-m20m... 20 minutes old ...
nexrad-n0q-900913-m25m... 25 minutes old ...
nexrad-n0q-900913-m30m... 30 minutes old ...
nexrad-n0q-900913-m35m... 35 minutes old ...
nexrad-n0q-900913-m40m... 40 minutes old ...
nexrad-n0q-900913-m45m... 45 minutes old ...
nexrad-n0q-900913-m50m... 50 minutes old ...
goes-ir-4km-900913 GOES North American Infrared ~4km
goes-wv-4km-900913 GOES North American Water Vapor ~4km
goes-vis-1km-900913 GOES North American Visible ~1km
goes-east-ir-4km-900913GOES East CONUS Infrared ~4km
goes-east-wv-4km-900913GOES East CONUS Water Vapor ~4km
goes-east-vis-1km-900913GOES East CONUS Visible ~1km
goes-west-ir-4km-900913GOES West CONUS Infrared ~4km
goes-west-wv-4km-900913GOES West CONUS Water Vapor ~4km
goes-west-vis-1km-900913GOES West CONUS Visible ~1km
hawaii-vis-900913GOES WEST Hawaii Regional Visible
alaska-vis-900913GOES WEST Alaska Regional Visible
alaska-ir-900913GOES WEST Alaska Regional IR
alaska-wv-900913GOES WEST Alaska Regional Water Vapor
q2-n1p-900913 Q2 1 Hour Precipitation
q2-p24h-900913 Q2 24 Hour Precipitation
q2-p48h-900913 Q2 48 Hour Precipitation
q2-p72h-900913 Q2 72 Hour Precipitation
q2-hsr-900913MRMS Hybrid-Scan Reflectivity Composite.

Web Map Service (WMS)

A WMS defines a protocol for web based retrieval of geodata in raster map format. If you are interested in the capabilities XML file, simply add "VERSION=1.1.1&REQUEST=GetCapabilities&SERVICE=WMS&" to the URI string.

Services
  • Iowa Precipitation
    https://mesonet.agron.iastate.edu/cgi-bin/wms/iowa/rainfall.cgi?
  • MRMS Q3 Precipitation (Missing data is grey)
    https://mesonet.agron.iastate.edu/cgi-bin/wms/us/mrms.cgi?
    Layer: mrms_p72h 72 Hour Precipitation
    Layer: mrms_p48h 48 Hour Precipitation
    Layer: mrms_p24h 24 Hour Precipitation
    Layer: mrms_p1h One Hour Precipitation
  • MRMS Q3 Precipitation (Missing data is transparent)
    https://mesonet.agron.iastate.edu/cgi-bin/wms/us/mrms_nn.cgi?
    Layer: mrms_p72h 72 Hour Precipitation
    Layer: mrms_p48h 48 Hour Precipitation
    Layer: mrms_p24h 24 Hour Precipitation
    Layer: mrms_p1h One Hour Precipitation
  • CONUS GOES Infrared Satellite
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/conus_ir.cgi?

  • CONUS GOES Visible Satellite
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/conus_vis.cgi?
  • GOES East 3.9 um (channel 2) imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/east_3.9.cgi?
  • GOES West 3.9 um (channel 2) imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/west_3.9.cgi?
  • GOES East 13.3 um (channel 6) imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/east_13.3.cgi?
  • GOES West 13.3 um (channel 6) imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/west_13.3.cgi?
  • GOES East infrared imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/east_ir.cgi?
  • GOES West infrared imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/west_ir.cgi?
  • GOES East visible imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/east_vis.cgi?
  • GOES West visible imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/west_vis.cgi?
  • GOES West Alaska Regional imagery visible
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/alaska_vis.cgi?
  • GOES West Alaska Regional imagery infrared
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/alaska_ir.cgi?
  • GOES West Alaska Regional imagery water vapor
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/alaska_wv.cgi?
  • GOES West Hawaii Regional imagery visible
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/hawaii_vis.cgi?
  • GOES West Hawaii Regional imagery infrared
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/hawaii_ir.cgi?
  • GOES West Hawaii Regional imagery water vapor
    https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/hawaii_wv.cgi?

  • CONUS NEXRAD Base Reflectivity (n0q)
    https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0q.cgi?
  • Historical CONUS NEXRAD Base Reflectivity [WMS-T] (n0q)
    https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0q-t.cgi?
  • Historical CONUS NEXRAD Base Reflectivity [WMS-T] (n0r)
    https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?
  • CONUS NEXRAD 1 Hour Precipitation (n1p)
    https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n1p.cgi?
  • CONUS NEXRAD Storm Total Precipitation (ntp)
    https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/ntp.cgi?
  • RIDGE Single NEXRAD Imagery
    https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/ridge.cgi?sector=XXX&prod=XXX&
    You also need to provide two CGI variables for the NEXRAD identifier and level III product you want. For example, sector=DMX&prod=N0Q

    Layer: single Most recent image for the given RADAR identifier and Level III product. A simple JSON metadata file exists for each RADAR and Level III product combination, for example DMX N0Q.

    Layer: single-archive This allows request of a specific volume scan time from IEM's archive of imagery. You need to specify the prod and sector like with the "single" layer, but also need to include a year, month, day and time. All of these values are in UTC. Here's an example request that gets NEXRAD RTX N0Q product for 27 Jan 2015 at 23:03 UTC. You must know the volume scan times prior to making the request. There are JSON services that can help you out. Unfortunately, this service does not support WMS-T due to complications with how I serve this information out, sorry.

  • NWS Current Warnings
    https://mesonet.agron.iastate.edu/cgi-bin/wms/us/wwa.cgi?
  • Iowa Rainfall Estimates
    https://mesonet.agron.iastate.edu/cgi-bin/wms/iowa/rainfall.cgi?
  • Iowa Winter Road Conditions
    https://mesonet.agron.iastate.edu/cgi-bin/wms/iowa/roadcond.cgi?
    Layer: roadcond-noninterstate Non Interstate Road Conditions
    Layer: roadcond-interstate Interstate Road Conditions

Web Feature Service (WFS)

A WFS is a service that provides geodata as simple features in Geography Markup Language (GML).

Services
  • National Weather Service Warnings Current
    https://mesonet.agron.iastate.edu/wfs/ww.php?
  • National Weather Service Warnings Archive For UTC Date (since 11 Jul 2002)
    https://mesonet.agron.iastate.edu/wfs/ww.php?date=YYYY-MM-DD&
  • National Weather Service Warnings Archive At Given UTC Time(since 11 Jul 2002)
    https://mesonet.agron.iastate.edu/wfs/ww.php?date=YYYY-MM-DD&time=HH:MI&