Merge branch 'master_14.4.1' of https://github.com/Unidata/awips2 into master_14.4.1

Former-commit-id: 6206702894 [formerly cf2e98d7c9] [formerly 3e4a4e00b0263f7203d0e3319bcc49ae800e9898 [formerly f31433ab3f]]
Former-commit-id: 6bdfa076d11a5df639ac8fbee7ba7f53ee07b1e2 [formerly 2c15baa5d4]
Former-commit-id: 9d6099b450
This commit is contained in:
AWIPS User 2015-06-16 15:40:49 -05:00
commit f07deb56c0
33 changed files with 2207 additions and 437 deletions

View file

@ -130,14 +130,14 @@
id="view"
label="View"
sibling_order="<menu
 label="label">
 </menu>">
<visibleWhen>
<visibleWhen>
<reference
definitionId="com.raytheon.uf.viz.d2d.ui.inD2DActionSet">
</reference>
</visibleWhen>
<command
commandId="com.raytheon.viz.ui.clear"
label="Clear">
label="Clear Data">
</command>
<separator
name="beforeLoopControlGroup"
@ -348,7 +348,7 @@
<menu
id="D2Dmaps"
label="Overlays"
label="Maps"
mnemonic="M">
<visibleWhen>
<reference
@ -708,34 +708,6 @@
value="5">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="6">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="7">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="8">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="9">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
@ -743,34 +715,20 @@
value="10">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="15">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="20">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="5">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="30">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="20">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="30">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
@ -784,6 +742,34 @@
name="frameCount"
value="50">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="100">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="150">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="200">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
<parameter
name="frameCount"
value="250">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.actions.setframes">
@ -838,7 +824,9 @@
</extension>
<extension point="org.eclipse.ui.handlers">
<extension
id="com.raytheon.uf.viz.d2d.ui.map.actions"
point="org.eclipse.ui.handlers">
<handler
class="com.raytheon.uf.viz.d2d.ui.actions.DataScaleAction"
commandId="com.raytheon.uf.viz.d2d.ui.actions.dataScaleAction">

View file

@ -20,6 +20,10 @@
package com.raytheon.uf.viz.d2d.ui.map.actions;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
@ -30,19 +34,20 @@ import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.viz.core.IDisplayPane;
import com.raytheon.uf.viz.core.IDisplayPaneContainer;
import com.raytheon.uf.viz.core.drawables.IDescriptor;
import com.raytheon.uf.viz.core.drawables.ResourcePair;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.uf.viz.core.globals.VizGlobalsManager;
import com.raytheon.uf.viz.core.maps.actions.NewMapEditor;
import com.raytheon.uf.viz.core.maps.display.VizMapEditor;
import com.raytheon.uf.viz.core.status.StatusConstants;
import com.raytheon.uf.viz.d2d.ui.Activator;
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
import com.raytheon.uf.viz.core.rsc.ResourceList;
import com.raytheon.viz.ui.EditorUtil;
import com.raytheon.viz.ui.HistoryList;
import com.raytheon.viz.ui.editor.AbstractEditor;
import com.raytheon.viz.ui.editor.IMultiPaneEditor;
/**
* Action to reset a map to its initial state
* Action to reset a map to its initial state. What this *should*
* do is remove all non-map resources....
*
* <pre>
*
@ -56,6 +61,7 @@ import com.raytheon.viz.ui.editor.IMultiPaneEditor;
* Jul 10, 2008 chammack Properly clear the resource list on the old
* descriptor to facilitate better cleanup
* Oct 21, 2008 #1450 randerso Fixed to support multipane editors
* May 24, 2015 mjames@ucar Moved UnloadAllProductsAction here to replace map reload
*
* </pre>
*
@ -68,22 +74,30 @@ public class ClearAction extends AbstractHandler {
@Override
public Object execute(ExecutionEvent arg0) throws ExecutionException {
IEditorPart part = EditorUtil.getActiveEditor();
if (part == null) {
new NewMapEditor().execute(null);
return null;
}
try {
if (part instanceof IDisplayPaneContainer) {
HistoryList.getInstance().refreshLatestBundle();
clear(part);
HistoryList.getInstance().addBundle();
} else {
clear(part);
IDisplayPaneContainer cont = EditorUtil.getActiveVizContainer();
IDisplayPane[] panes = cont.getDisplayPanes();
for (IDisplayPane displayPane : panes) {
IDescriptor desc = displayPane.getDescriptor();
ResourceList rl = desc.getResourceList();
Iterator<ResourcePair> iterator = rl.iterator();
List<AbstractVizResource<?, ?>> rscsToRemove = new ArrayList<AbstractVizResource<?, ?>>();
while (iterator.hasNext()) {
ResourcePair rp = iterator.next();
if (!rp.getProperties().isMapLayer()
&& !rp.getProperties().isSystemResource()) {
rscsToRemove.add(rp.getResource());
}
}
for (AbstractVizResource<?, ?> rsc : rscsToRemove) {
rl.removeRsc(rsc);
}
} catch (VizException e) {
throw new ExecutionException("Error during clear", e);
}
cont.refresh();
return null;
}

View file

@ -64,11 +64,10 @@
<includes
id="com.raytheon.viz.text.feature"
version="0.0.0"/>
<!--
<includes
id="com.raytheon.viz.warngen.feature"
version="0.0.0"/>
-->
<includes
id="gov.noaa.gsd.viz.ensemble.feature"

View file

@ -28,6 +28,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8",
com.raytheon.uf.viz.core.rsc;bundle-version="1.14",
javax.measure
Import-Package: com.raytheon.viz.core.rsc,
com.raytheon.viz.core.rsc.hdf5
com.raytheon.viz.core.rsc.hdf5,
gov.noaa.nws.ncep.viz.common.area
Export-Package: com.raytheon.viz.satellite,
com.raytheon.viz.satellite.rsc

View file

@ -19,6 +19,75 @@
further_licensing_information.
-->
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<contribute xsi:type="titleItem" titleText="--- UNIWISC Imagery ---" id="UniwiscImagery" />
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="GOES Sounder - Ozone" id="GOES-Sounder-Ozone">
<substitute key="element" value="Sounder Based Total Column Ozone"/>
<substitute key="entity" value="SOUNDER" />
<substitute key="sector" value="GOES-Sounder" />
<substitute key="colormap" value="Sat/Ozone/Ozone"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="Arctic - VIS" id="Arctic-Vis">
<substitute key="element" value="Imager Visible"/>
<substitute key="entity" value="COMP" />
<substitute key="sector" value="Arctic" />
<substitute key="colormap" value="Sat/VIS/ZA (Vis Default)"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="Arctic - 11 micron IR" id="Arctic-IR1">
<substitute key="element" value="Imager 11 micron IR"/>
<substitute key="entity" value="COMP" />
<substitute key="sector" value="Arctic" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="Arctic - 12 micron IR" id="Arctic-IR2">
<substitute key="element" value="Imager 12 micron IR"/>
<substitute key="entity" value="COMP" />
<substitute key="sector" value="Arctic" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="Arctic - WV" id="Arctic-WV">
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="entity" value="COMP" />
<substitute key="sector" value="Arctic" />
<substitute key="colormap" value="Sat/WV/Gray Scale Water Vapor"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="Arctic - 3.5-4.0 micro IR (Fog)" id="Arctic-Fog">
<substitute key="element" value="Imager 3.5-4.0 micro IR (Fog)"/>
<substitute key="entity" value="COMP" />
<substitute key="sector" value="Arctic" />
<substitute key="colormap" value="Sat/IR/Fog"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="Antarctica - VIS" id="Arctic-Vis">
<substitute key="element" value="Imager Visible"/>
<substitute key="entity" value="COMP" />
<substitute key="sector" value="Antarctic" />
<substitute key="colormap" value="Sat/VIS/ZA (Vis Default)"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="Antarctica - IR" id="Arctic-IR1">
<substitute key="element" value="Imager 12 micron IR"/>
<substitute key="entity" value="COMP" />
<substitute key="sector" value="Antarctic" />
<substitute key="colormap" value="Sat/IR/CIRA (IR Default)"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultSatellite.xml"
menuText="Antarctica - WV" id="Arctic-WV">
<substitute key="element" value="Imager 6.7-6.5 micron IR (WV)"/>
<substitute key="entity" value="COMP" />
<substitute key="sector" value="Antarctica" />
<substitute key="colormap" value="Sat/WV/Gray Scale Water Vapor"/>
</contribute>
<contribute xsi:type="satBundleItem" file="bundles/DefaultCompositeSatellite.xml"
menuText="IR Window" id="irWindow">
<substitute key="timeMatchMode" value="${blendedTimeMatchMode;ALL_IMAGES}"/>

View file

@ -84,6 +84,10 @@ import com.raytheon.viz.satellite.tileset.SatDataRetriever;
import com.raytheon.viz.satellite.tileset.SatTileSetRenderable;
import com.vividsolutions.jts.geom.Coordinate;
import gov.noaa.nws.ncep.viz.common.area.AreaName.AreaSource;
import gov.noaa.nws.ncep.viz.common.area.IAreaProviderCapable;
/**
* Provides satellite raster rendering support
*
@ -131,8 +135,9 @@ import com.vividsolutions.jts.geom.Coordinate;
*/
public class SatResource extends
AbstractPluginDataObjectResource<SatResourceData, IMapDescriptor>
implements ImageProvider, Interrogatable {
implements ImageProvider, Interrogatable, IAreaProviderCapable {
protected SatResourceData satRscData;
/**
* String id to look for satellite-provided data values
*
@ -238,6 +243,7 @@ public class SatResource extends
}
if (tileSet == null) {
tileSet = new SatTileSetRenderable(SatResource.this, record);
// this is where getGridGeometry is called from D2D SAT
tileSet.project(descriptor.getGridGeometry());
tileMap.put(record.getCoverage(), tileSet);
}
@ -290,6 +296,7 @@ public class SatResource extends
*/
public SatResource(SatResourceData data, LoadProperties props) {
super(data, props);
satRscData = data;
addDataObject(data.getRecords());
}
@ -647,5 +654,15 @@ public class SatResource extends
return result;
}
@Override
public AreaSource getSourceProvider() {
return satRscData.getSourceProvider();
}
@Override
public String getAreaName() {
return satRscData.getAreaName();
}
}

View file

@ -19,8 +19,13 @@
**/
package com.raytheon.viz.satellite.rsc;
import gov.noaa.nws.ncep.viz.common.area.IAreaProviderCapable;
import gov.noaa.nws.ncep.viz.common.area.AreaName.AreaSource;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@ -31,6 +36,8 @@ import java.util.Set;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import org.eclipse.core.runtime.CoreException;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
@ -66,7 +73,9 @@ import com.raytheon.viz.satellite.inventory.SatelliteDataCubeAdapter;
*/
@XmlAccessorType(XmlAccessType.NONE)
public class SatResourceData extends AbstractRequestableResourceData {
public class SatResourceData extends AbstractRequestableResourceData
implements IAreaProviderCapable{
private static final transient IUFStatusHandler statusHandler = UFStatus
.getHandler(SatResourceData.class);
@ -200,4 +209,14 @@ public class SatResourceData extends AbstractRequestableResourceData {
return super.equals(obj);
}
public AreaSource getSourceProvider() {
return AreaSource.getAreaSource("GINI_SECTOR_ID");
}
public String getAreaName() {
//return metadataMap.get("creatingEntity").getConstraintValue()+"/"+metadataMap.get("sectorID").getConstraintValue();
return "SAT/"+metadataMap.get("sectorID").getConstraintValue();
}
}

View file

@ -74,10 +74,12 @@
<param name="feature"
value="com.raytheon.uf.edex.radar.feature" />
</antcall>
<!--
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.dat.feature" />
</antcall>
-->
<antcall target="build">
<param name="feature"
value="com.raytheon.uf.edex.ncep.feature" />

View file

@ -1,29 +1,39 @@
edex.root.directory=/awips2/edex
architecture=x86_64
includegen.filter=raytheon|noaa\.nws|noaa\.gsd|gov\.nasa\.msfc|edu\.wisc\.ssec\.cimss
#includegen.filter=raytheon|noaa\.nws|noaa\.gsd|gov\.nasa\.msfc|gov\.nasa\.gsfc|edu\.wisc\.ssec\.cimss
includegen.filter=raytheon|noaa\.nws|gov.nasa.msfc|noaa\.gsd|edu\.wisc\.ssec\.cimss
# AWIPSII core repositories required for build
core.repositories=awips2-core,awips2-core-foss,awips2-foss
core.repo=awips2-core
core-foss.repo=awips2-core-foss
awips2-foss.repo=awips2-foss
awips2-ncep.repo=awips2-ncep
awips2-cimss.repo=awips2-cimss
awips2-gsd.repo=awips2-gsd
awips2-ohd.repo=awips2-ohd
core.repositories=${core.repo},${core-foss.repo},${awips2-foss.repo},${awips2-ncep.repo},${awips2-cimss.repo},${awips2-gsd.repo},${awips2-ohd.repo}
# Note: currently, there is a limit of 99 plugin directories.
dir.01=cave
dir.02=cots
dir.03=edexOsgi
dir.04=ncep
dir.05=RadarServer
dir.06=edu
dir.07=ost
dir.08=ohd
dir.04=RadarServer
dir.05=edu
dir.06=ost
dir.07=ohd
# directories from ufcore
dir.09=common
dir.10=edex
dir.11=features
dir.12=viz
dir.08=common
dir.09=edex
dir.10=features
dir.11=viz
# directories from ufcore-foss
dir.13=lib
dir.12=lib
# CIMSS plug-in directory
dir.14=CIMSS
dir.13=CIMSS
# the directory that contains the localization projects

View file

@ -99,10 +99,11 @@
id="com.raytheon.uf.edex.radar.feature"
version="0.0.0"/>
<includes
<!--
<includes
id="com.raytheon.uf.edex.dat.feature"
version="0.0.0"/>
-->
<includes
id="com.raytheon.uf.edex.ncep.feature"
version="0.0.0"/>

View file

@ -20,5 +20,5 @@
-->
<requestPatterns >
<regex>^SDUS[234578]. .*</regex>
<regex>^RadarServer.*</regex>
<regex>^Level2_.*</regex>
</requestPatterns>

View file

@ -23,3 +23,6 @@ Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.edex.database;bundle-version="1.0.0",
com.raytheon.uf.edex.menus;bundle-version="1.0.0",
com.raytheon.uf.common.numeric;bundle-version="1.14.0"
Import-Package: gov.noaa.nws.ncep.common.tools,
gov.noaa.nws.ncep.edex.util,
org.apache.commons.codec.binary

View file

@ -20,15 +20,19 @@
package com.raytheon.edex.util.satellite;
import java.awt.geom.Rectangle2D;
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
import org.geotools.geometry.DirectPosition2D;
import org.opengis.referencing.crs.ProjectedCRS;
import org.opengis.referencing.operation.MathTransform;
import com.raytheon.edex.plugin.satellite.SatelliteDecoderException;
import com.raytheon.edex.plugin.satellite.dao.SatMapCoverageDao;
import com.raytheon.uf.common.dataplugin.satellite.SatMapCoverage;
import com.raytheon.uf.common.geospatial.MapUtil;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.io.WKTReader;
/**
*
@ -47,7 +51,8 @@ import com.vividsolutions.jts.geom.Envelope;
* Sep 15, 2014 17303 jgerth Support for second standard latitude
* Nov 05, 2014 2714 bclement replaced DecoderException with SatelliteDecoderException
* Nov 05, 2014 3788 bsteffen use getOrCreateCoverage in place of queryByMapId
*
* May 11, 2015 mjames South polar stereogrpahic support added.
* 05/19/2015 mjames@ucar Added decoding of GVAR native projection products
*
* </pre>
*/
@ -62,10 +67,12 @@ public class SatSpatialFactory {
public static final int PROJ_LAMBERT = 3;
public static final int PROJ_POLAR = 5;
public static final int PROJ_CYLIN_EQUIDISTANT = 7;
public static final int UNDEFINED = -1;
public static final int PROJ_GVAR = 7585;
/** The singleton instance */
private static SatSpatialFactory instance;
@ -209,6 +216,58 @@ public class SatSpatialFactory {
return getCoverageSingleCorner(crsType, nx, ny, lov, latin, latin, la1, lo1, dx, dy);
}
public SatMapCoverage getCoverageNative(int crsType, int nx, int ny,
double reflon, int upperLeftElement, int upperLeftLine,
int xres, int yres, ProjectedCRS crs)
throws SatelliteDecoderException {
try {
// Construct the polygon constructor String
StringBuffer buffer = new StringBuffer();
buffer.append("POLYGON((");
buffer.append(reflon - 90. + " -90.0,");
buffer.append(reflon + 90. + " -90.0,");
buffer.append(reflon + 90. + " 90.0,");
buffer.append(reflon - 90. + " 90.0,");
buffer.append(reflon - 90. + " -90.0");
buffer.append("))");
// Create the geometry from the constructed String
Geometry geometry = new WKTReader().read(buffer.toString());
// Construct rectangle
double minX = upperLeftElement;
int maxX = upperLeftElement + (nx * xres);
double minY = upperLeftLine + (ny * yres);
minY = -minY;
int maxY = -1 * upperLeftLine;
Rectangle2D rect = new Rectangle2D.Double(minX,
minY, maxX, maxY);
SatMapCoverage coverage = createCoverageFromNative(crsType, nx, ny,
reflon, upperLeftElement, upperLeftLine,
xres, yres, crs, geometry );
return checkPersisted(coverage);
} catch (Exception e) {
StringBuilder buf = new StringBuilder();
buf.append(
"Error getting or constructing SatMapCoverage for values: ")
.append("\n\t");
buf.append("crsType=" + crsType).append("\n\t");
buf.append("nx=" + nx).append("\n\t");
buf.append("ny=" + ny).append("\n\t");
buf.append("reflon=" + reflon).append("\n\t");
buf.append("upperLeftElement=" + upperLeftElement).append("\n\t");
buf.append("upperLeftLine=" + upperLeftLine).append("\n\t");
buf.append("xres=" + xres).append("\n\t");
buf.append("yres=" + yres).append("\n\t");
throw new SatelliteDecoderException(buf.toString(), e);
}
}
/**
*
* Create a {@link SatMapCoverage} with an area defined by two corners. The
@ -308,6 +367,29 @@ public class SatSpatialFactory {
return new SatMapCoverage(crsType, envelope.getMinX(),
envelope.getMinY(), nx, ny, dx, dy, crs);
}
/**
* Create a SatMapCoverage from native projection
*/
private static SatMapCoverage createCoverageFromNative(Integer crsType,
Integer nx, Integer ny, double reflon, int upperLeftElement,
int upperLeftLine, int xres, int yres, ProjectedCRS crs,
Geometry geometry) {
// do your shit here.
float dx = IDecoderConstantsN.FLOAT_MISSING;
float dy = IDecoderConstantsN.FLOAT_MISSING;
double minX, minY;
//if (crsType == PROJ_GVAR) { // for native projection
minX = upperLeftElement;
minY = upperLeftLine + (ny * yres);
minY = -minY;
return new SatMapCoverage(crsType, minX, minY, nx, ny,
dx, dy, upperLeftElement, upperLeftLine, xres, yres, crs, geometry);
}
/**
* Create a {@link ProjectedCRS} from a crsType and some parameters.
@ -336,12 +418,17 @@ public class SatSpatialFactory {
switch (crsType) {
case PROJ_MERCATOR:
return createMercatorCrs(latin, cm);
case PROJ_POLAR:
if (latin >= 0.)
return createNorthPolarStereoCrs(latin, lov);
else
return createSouthPolarStereoCrs(latin, lov);
case PROJ_LAMBERT:
return createLambertCrs(latin, latin2, lov);
case PROJ_CYLIN_EQUIDISTANT:
return createEqCylCrs(latin, lov);
return createEqCylCrs(latin, lov);
default:
return createNorthPolarStereoCrs(lov);
return createNorthPolarStereoCrs(latin, lov);
}
}
@ -361,9 +448,17 @@ public class SatSpatialFactory {
latin);
}
private static ProjectedCRS createNorthPolarStereoCrs(double lov) {
private static ProjectedCRS createNorthPolarStereoCrs(double latin, double lov) {
return MapUtil.constructNorthPolarStereo(MapUtil.AWIPS_EARTH_RADIUS,
MapUtil.AWIPS_EARTH_RADIUS, 60, lov);
MapUtil.AWIPS_EARTH_RADIUS, latin, lov);
}
private static ProjectedCRS createSouthPolarStereoCrs(double latin, double lov) {
return MapUtil.constructSouthPolarStereo(MapUtil.AWIPS_EARTH_RADIUS,
MapUtil.AWIPS_EARTH_RADIUS, latin, lov);
}
}

View file

@ -24,3 +24,5 @@ Export-Package: com.raytheon.uf.common.dataplugin.satellite,
com.raytheon.uf.common.dataplugin.satellite.units.goes.convert,
com.raytheon.uf.common.dataplugin.satellite.units.ir,
com.raytheon.uf.common.dataplugin.satellite.units.water
Import-Package: gov.noaa.nws.ncep.common.dataplugin.mcidas,
gov.noaa.nws.ncep.common.tools

View file

@ -20,6 +20,11 @@
package com.raytheon.uf.common.dataplugin.satellite;
import gov.noaa.nws.ncep.common.dataplugin.mcidas.McidasMapCoverage;
import gov.noaa.nws.ncep.common.dataplugin.mcidas.McidasRecord;
import gov.noaa.nws.ncep.common.dataplugin.mcidas.McidasSpatialFactory;
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
import java.awt.geom.Rectangle2D;
import javax.persistence.Column;
@ -37,9 +42,11 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.geotools.coverage.grid.GeneralGridEnvelope;
import org.geotools.coverage.grid.GridEnvelope2D;
import org.geotools.coverage.grid.GridGeometry2D;
import org.geotools.geometry.Envelope2D;
import org.geotools.geometry.GeneralEnvelope;
import org.geotools.referencing.crs.DefaultGeographicCRS;
import org.hibernate.annotations.Type;
import org.opengis.coverage.grid.GridEnvelope;
@ -80,18 +87,23 @@ import com.vividsolutions.jts.geom.Polygon;
* Apr 11, 2014 2947 bsteffen Fix equals
* Oct 16, 2014 3454 bphillip Upgrading to Hibernate 4
* Nov 05, 2014 3788 bsteffen Make gid a sequence instead of a hash.
*
* May 19, 2015 mjames@ucar Added decoding of GVAR native projection products,
* increased crsWKT to 5120 for GVAR the_geom
* May 21, 2015 mjames@ucar Added display capability for GVAR projection products
* </pre>
*/
@Entity
@Table(name = "satellite_spatial", uniqueConstraints = { @UniqueConstraint(columnNames = {
"minX", "minY", "dx", "dy", "nx", "ny", "crsWKT" }) })
"minX", "minY", "dx", "dy", "nx", "ny", "upperLeftElement",
"upperLeftLine", "elementRes", "lineRes", "crsWKT" }) })
@SequenceGenerator(name = "SATELLITE_SPATIAL_GENERATOR", sequenceName = "satspatial_seq", allocationSize = 1)
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class SatMapCoverage extends PersistableDataObject<Object> implements
IGridGeometryProvider {
public static final int PROJ_GVAR = 7585;
private static final long serialVersionUID = 1L;
@Id
@ -102,7 +114,8 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
/**
* The projection of the map coverage 1=Mercator, 3=Lambert Conformal
* 5=Polar Stereographic
* 5=Polar Stereographic, 7585 = native satellite navigation e.g.
* GVAR, ...
*
* @deprecated This field is only useful for GINI satellite format decoding
* and should not be in the coverage object
@ -110,7 +123,6 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
@Column
@XmlAttribute
@DynamicSerializeElement
@Deprecated
private Integer projection;
/** Minimum x coordinate in crs space */
@ -148,12 +160,36 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
@XmlAttribute
@DynamicSerializeElement
private double dy;
/** image element coordinate of area line 0, element 0 */
@Column
@XmlAttribute
@DynamicSerializeElement
private int upperLeftElement;
@Column(length = 2047)
/** image line coordinate of area line 0, element 0 */
@Column
@XmlAttribute
@DynamicSerializeElement
private int upperLeftLine;
/** element resolution */
@Column
@XmlAttribute
@DynamicSerializeElement
private int elementRes;
/** line resolution */
@Column
@XmlAttribute
@DynamicSerializeElement
private int lineRes;
@Column(length = 5120)
@XmlAttribute
@DynamicSerializeElement
private String crsWKT;
@Transient
private CoordinateReferenceSystem crsObject;
@ -190,8 +226,32 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
*/
public SatMapCoverage(int projection, double minX, double minY, int nx,
int ny, double dx, double dy, CoordinateReferenceSystem crs) {
this(projection, minX, minY, nx, ny, dx, dy, crs, null);
}
this.projection = projection;
this.minX = minX;
this.minY = minY;
this.nx = nx;
this.ny = ny;
this.dx = dx;
this.dy = dy;
this.upperLeftElement = IDecoderConstantsN.INTEGER_MISSING;
this.upperLeftLine = IDecoderConstantsN.INTEGER_MISSING;
this.elementRes = IDecoderConstantsN.INTEGER_MISSING;
this.lineRes = IDecoderConstantsN.INTEGER_MISSING;
this.crsObject = crs;
Geometry latLonGeometry = null;
try {
latLonGeometry = EnvelopeIntersection
.createEnvelopeIntersection(
getGridGeometry().getEnvelope(),
new Envelope2D(DefaultGeographicCRS.WGS84,
-180, -90, 360, 180), 1.0, 10, 10)
.getEnvelope();
} catch (Exception e) {
// Ignore exception, null location
}
this.location = latLonGeometry;
}
/**
* Constructs a new SatMapCoverage Object
@ -216,7 +276,8 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
* A Geometry representing the satellite bounds in lat/lon space
*/
public SatMapCoverage(int projection, double minX, double minY, int nx,
int ny, double dx, double dy, CoordinateReferenceSystem crs,
int ny, double dx, double dy, int upperLeftElement,
int upperLeftLine, int xres, int yres, CoordinateReferenceSystem crs,
Geometry latLonGeometry) {
this.projection = projection;
this.minX = minX;
@ -225,19 +286,11 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
this.ny = ny;
this.dx = dx;
this.dy = dy;
this.upperLeftElement = upperLeftElement;
this.upperLeftLine = upperLeftLine;
this.elementRes = xres;
this.lineRes = yres;
this.crsObject = crs;
if (latLonGeometry == null) {
try {
latLonGeometry = EnvelopeIntersection
.createEnvelopeIntersection(
getGridGeometry().getEnvelope(),
new Envelope2D(DefaultGeographicCRS.WGS84,
-180, -90, 360, 180), 1.0, 10, 10)
.getEnvelope();
} catch (Exception e) {
// Ignore exception, null location
}
}
this.location = latLonGeometry;
}
@ -317,6 +370,66 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
this.dy = dy;
}
/**
* @return the upperLeftElement
*/
public int getUpperLeftElement() {
return upperLeftElement;
}
/**
* @param upperLeftElement
* the upperLeftElement to set
*/
public void setUpperLeftElement(int upperLeftElement) {
this.upperLeftElement = upperLeftElement;
}
/**
* @return the upperLeftLine
*/
public int getUpperLeftLine() {
return upperLeftLine;
}
/**
* @param upperLeftLine
* the upperLeftLine to set
*/
public void setUpperLeftLine(int upperLeftLine) {
this.upperLeftLine = upperLeftLine;
}
/**
* @return the elementRes
*/
public int getElementRes() {
return elementRes;
}
/**
* @param elementRes
* the elementRes to set
*/
public void setElementRes(int elementRes) {
this.elementRes = elementRes;
}
/**
* @return the lineRes
*/
public int getLineRes() {
return lineRes;
}
/**
* @param lineRes
* the lineRes to set
*/
public void setLineRes(int lineRes) {
this.lineRes = lineRes;
}
public String getCrsWKT() {
if (crsWKT == null && crsObject != null) {
crsWKT = crsObject.toWKT();
@ -325,7 +438,7 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
}
public void setCrsWKT(String crsWKT) {
this.crsWKT = crsWKT;
this.crsWKT = crsWKT.replaceAll("\r\n", "");
if (crsObject != null) {
crsObject = null;
}
@ -365,11 +478,18 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
return null;
}
public CoordinateReferenceSystem getCrs() {
if (crsObject == null && crsWKT != null) {
try {
crsObject = CRSCache.getInstance()
.getCoordinateReferenceSystem(crsWKT);
if (this.projection == PROJ_GVAR) {
crsObject = McidasSpatialFactory.getInstance()
.constructCRSfromWKT(crsWKT);
} else {
crsObject = CRSCache.getInstance()
.getCoordinateReferenceSystem(crsWKT);
}
} catch (FactoryException e) {
crsObject = null;
}
@ -379,12 +499,32 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
@Override
public GridGeometry2D getGridGeometry() {
GridEnvelope gridRange = new GridEnvelope2D(0, 0, getNx(), getNy());
Envelope crsRange = new Envelope2D(getCrs(), new Rectangle2D.Double(
minX, minY, getNx() * getDx(), getNy() * getDy()));
return new GridGeometry2D(gridRange, crsRange);
/*
* Native projections
*/
if (projection == PROJ_GVAR) {
GridEnvelope gridRange = new GeneralGridEnvelope(new int[] {
0, 0 }, new int[] { getNx(),getNy() }, false);
GeneralEnvelope crsRange = new GeneralEnvelope(2);
crsRange.setCoordinateReferenceSystem( getCrs() );
int minX = getUpperLeftElement();
int maxX = getUpperLeftElement() + ( getNx() * getElementRes() );
int minY = getUpperLeftLine() + ( getNy() * getLineRes() );
minY = -minY;
int maxY = -1 * getUpperLeftLine();
crsRange.setRange(0, minX, maxX);
crsRange.setRange(1, minY, maxY);
return new GridGeometry2D(gridRange, crsRange);
} else {
GridEnvelope gridRange = new GridEnvelope2D(0, 0, getNx(), getNy());
Envelope crsRange = new Envelope2D(getCrs(), new Rectangle2D.Double(
minX, minY, getNx() * getDx(), getNy() * getDy()));
return new GridGeometry2D(gridRange, crsRange);
}
}
@Override
public int hashCode() {
HashCodeBuilder builder = new HashCodeBuilder();
@ -398,6 +538,11 @@ public class SatMapCoverage extends PersistableDataObject<Object> implements
builder.append(ny);
return builder.toHashCode();
}
public Geometry getGeometry() {
return getLocation();
}
@Override
public boolean equals(Object obj) {

View file

@ -0,0 +1,261 @@
<!-- ====================
This is a colormap file that is read via JaXB to marshel the ColorMap class.
======================-->
<colorMap>
<color r="0" g="0" b="0" a="1" />
<color r="0.286274509803922" g="0.0352941176470588" b="0.0470588235294118" a="1" />
<color r="0.294117647058824" g="0.0392156862745098" b="0.0470588235294118" a="1" />
<color r="0.301960784313725" g="0.0470588235294118" b="0.0549019607843137" a="1" />
<color r="0.313725490196078" g="0.0509803921568627" b="0.0588235294117647" a="1" />
<color r="0.32156862745098" g="0.0549019607843137" b="0.0627450980392157" a="1" />
<color r="0.329411764705882" g="0.0627450980392157" b="0.0666666666666667" a="1" />
<color r="0.341176470588235" g="0.0666666666666667" b="0.0745098039215686" a="1" />
<color r="0.349019607843137" g="0.0745098039215686" b="0.0784313725490196" a="1" />
<color r="0.356862745098039" g="0.0784313725490196" b="0.0823529411764706" a="1" />
<color r="0.364705882352941" g="0.0823529411764706" b="0.0862745098039216" a="1" />
<color r="0.376470588235294" g="0.0901960784313725" b="0.0941176470588235" a="1" />
<color r="0.384313725490196" g="0.0941176470588235" b="0.0941176470588235" a="1" />
<color r="0.392156862745098" g="0.0980392156862745" b="0.101960784313725" a="1" />
<color r="0.4" g="0.105882352941176" b="0.105882352941176" a="1" />
<color r="0.407843137254902" g="0.109803921568627" b="0.109803921568627" a="1" />
<color r="0.458823529411765" g="0.00784313725490196" b="0.00784313725490196" a="1" />
<color r="0.458823529411765" g="0.0196078431372549" b="0.0156862745098039" a="1" />
<color r="0.454901960784314" g="0.0313725490196078" b="0.0274509803921569" a="1" />
<color r="0.454901960784314" g="0.0431372549019608" b="0.0352941176470588" a="1" />
<color r="0.454901960784314" g="0.0549019607843137" b="0.0470588235294118" a="1" />
<color r="0.454901960784314" g="0.0627450980392157" b="0.0549019607843137" a="1" />
<color r="0.450980392156863" g="0.0784313725490196" b="0.0627450980392157" a="1" />
<color r="0.450980392156863" g="0.0901960784313725" b="0.0745098039215686" a="1" />
<color r="0.450980392156863" g="0.0980392156862745" b="0.0823529411764706" a="1" />
<color r="0.447058823529412" g="0.109803921568627" b="0.0941176470588235" a="1" />
<color r="0.447058823529412" g="0.125490196078431" b="0.101960784313725" a="1" />
<color r="0.443137254901961" g="0.133333333333333" b="0.109803921568627" a="1" />
<color r="0.443137254901961" g="0.145098039215686" b="0.12156862745098" a="1" />
<color r="0.43921568627451" g="0.156862745098039" b="0.129411764705882" a="1" />
<color r="0.43921568627451" g="0.168627450980392" b="0.141176470588235" a="1" />
<color r="0.43921568627451" g="0.180392156862745" b="0.149019607843137" a="1" />
<color r="0.43921568627451" g="0.192156862745098" b="0.156862745098039" a="1" />
<color r="0.43921568627451" g="0.203921568627451" b="0.168627450980392" a="1" />
<color r="0.435294117647059" g="0.215686274509804" b="0.176470588235294" a="1" />
<color r="0.435294117647059" g="0.227450980392157" b="0.188235294117647" a="1" />
<color r="0.431372549019608" g="0.235294117647059" b="0.196078431372549" a="1" />
<color r="0.329411764705882" g="0.0352941176470588" b="0.0470588235294118" a="1" />
<color r="0.337254901960784" g="0.0392156862745098" b="0.0470588235294118" a="1" />
<color r="0.349019607843137" g="0.0431372549019608" b="0.0509803921568627" a="1" />
<color r="0.36078431372549" g="0.0470588235294118" b="0.0549019607843137" a="1" />
<color r="0.372549019607843" g="0.0509803921568627" b="0.0588235294117647" a="1" />
<color r="0.384313725490196" g="0.0549019607843137" b="0.0627450980392157" a="1" />
<color r="0.396078431372549" g="0.0627450980392157" b="0.0666666666666667" a="1" />
<color r="0.403921568627451" g="0.0627450980392157" b="0.0705882352941176" a="1" />
<color r="0.415686274509804" g="0.0666666666666667" b="0.0745098039215686" a="1" />
<color r="0.427450980392157" g="0.0745098039215686" b="0.0784313725490196" a="1" />
<color r="0.43921568627451" g="0.0784313725490196" b="0.0784313725490196" a="1" />
<color r="0.450980392156863" g="0.0784313725490196" b="0.0823529411764706" a="1" />
<color r="0.462745098039216" g="0.0862745098039216" b="0.0901960784313725" a="1" />
<color r="0.474509803921569" g="0.0901960784313725" b="0.0941176470588235" a="1" />
<color r="0.486274509803922" g="0.0941176470588235" b="0.0941176470588235" a="1" />
<color r="0.498039215686275" g="0.0980392156862745" b="0.0980392156862745" a="1" />
<color r="0.137254901960784" g="0.376470588235294" b="0.109803921568627" a="1" />
<color r="0.133333333333333" g="0.392156862745098" b="0.109803921568627" a="1" />
<color r="0.125490196078431" g="0.407843137254902" b="0.105882352941176" a="1" />
<color r="0.125490196078431" g="0.423529411764706" b="0.0980392156862745" a="1" />
<color r="0.117647058823529" g="0.443137254901961" b="0.0941176470588235" a="1" />
<color r="0.113725490196078" g="0.462745098039216" b="0.0941176470588235" a="1" />
<color r="0.109803921568627" g="0.482352941176471" b="0.0862745098039216" a="1" />
<color r="0.105882352941176" g="0.501960784313725" b="0.0823529411764706" a="1" />
<color r="0.0980392156862745" g="0.513725490196078" b="0.0784313725490196" a="1" />
<color r="0.0941176470588235" g="0.529411764705882" b="0.0745098039215686" a="1" />
<color r="0.0901960784313725" g="0.549019607843137" b="0.0705882352941176" a="1" />
<color r="0.0862745098039216" g="0.568627450980392" b="0.0666666666666667" a="1" />
<color r="0.0784313725490196" g="0.588235294117647" b="0.0627450980392157" a="1" />
<color r="0.0784313725490196" g="0.607843137254902" b="0.0588235294117647" a="1" />
<color r="0.0705882352941176" g="0.623529411764706" b="0.0549019607843137" a="1" />
<color r="0.0666666666666667" g="0.643137254901961" b="0.0470588235294118" a="1" />
<color r="0.0627450980392157" g="0.658823529411765" b="0.0470588235294118" a="1" />
<color r="0.0588235294117647" g="0.67843137254902" b="0.0431372549019608" a="1" />
<color r="0.0509803921568627" g="0.698039215686274" b="0.0352941176470588" a="1" />
<color r="0.0470588235294118" g="0.717647058823529" b="0.0313725490196078" a="1" />
<color r="0.0431372549019608" g="0.733333333333333" b="0.0313725490196078" a="1" />
<color r="0.0392156862745098" g="0.752941176470588" b="0.0235294117647059" a="1" />
<color r="0.0313725490196078" g="0.772549019607843" b="0.0196078431372549" a="1" />
<color r="0.0352941176470588" g="0.0470588235294118" b="0.623529411764706" a="1" />
<color r="0.0666666666666667" g="0.0862745098039216" b="0.63921568627451" a="1" />
<color r="0.0980392156862745" g="0.12156862745098" b="0.647058823529412" a="1" />
<color r="0.133333333333333" g="0.156862745098039" b="0.658823529411765" a="1" />
<color r="0.164705882352941" g="0.196078431372549" b="0.670588235294118" a="1" />
<color r="0.196078431372549" g="0.231372549019608" b="0.682352941176471" a="1" />
<color r="0.227450980392157" g="0.266666666666667" b="0.690196078431373" a="1" />
<color r="0.262745098039216" g="0.305882352941176" b="0.701960784313725" a="1" />
<color r="0.294117647058824" g="0.341176470588235" b="0.713725490196078" a="1" />
<color r="0.325490196078431" g="0.376470588235294" b="0.725490196078431" a="1" />
<color r="0.356862745098039" g="0.407843137254902" b="0.733333333333333" a="1" />
<color r="0.392156862745098" g="0.447058823529412" b="0.749019607843137" a="1" />
<color r="0.419607843137255" g="0.486274509803922" b="0.756862745098039" a="1" />
<color r="0.450980392156863" g="0.513725490196078" b="0.768627450980392" a="1" />
<color r="0.482352941176471" g="0.552941176470588" b="0.780392156862745" a="1" />
<color r="0.792156862745098" g="0.407843137254902" b="0.0156862745098039" a="1" />
<color r="0.792156862745098" g="0.423529411764706" b="0.0352941176470588" a="1" />
<color r="0.792156862745098" g="0.43921568627451" b="0.0549019607843137" a="1" />
<color r="0.792156862745098" g="0.450980392156863" b="0.0745098039215686" a="1" />
<color r="0.792156862745098" g="0.462745098039216" b="0.0941176470588235" a="1" />
<color r="0.792156862745098" g="0.47843137254902" b="0.113725490196078" a="1" />
<color r="0.792156862745098" g="0.490196078431373" b="0.133333333333333" a="1" />
<color r="0.792156862745098" g="0.501960784313725" b="0.152941176470588" a="1" />
<color r="0.792156862745098" g="0.513725490196078" b="0.172549019607843" a="1" />
<color r="0.792156862745098" g="0.529411764705882" b="0.188235294117647" a="1" />
<color r="0.792156862745098" g="0.545098039215686" b="0.211764705882353" a="1" />
<color r="0.792156862745098" g="0.556862745098039" b="0.231372549019608" a="1" />
<color r="0.792156862745098" g="0.568627450980392" b="0.250980392156863" a="1" />
<color r="0.792156862745098" g="0.584313725490196" b="0.266666666666667" a="1" />
<color r="0.517647058823529" g="0.533333333333333" b="0.0784313725490196" a="1" />
<color r="0.533333333333333" g="0.549019607843137" b="0.0784313725490196" a="1" />
<color r="0.549019607843137" g="0.564705882352941" b="0.0705882352941176" a="1" />
<color r="0.564705882352941" g="0.584313725490196" b="0.0666666666666667" a="1" />
<color r="0.584313725490196" g="0.6" b="0.0627450980392157" a="1" />
<color r="0.6" g="0.619607843137255" b="0.0588235294117647" a="1" />
<color r="0.615686274509804" g="0.635294117647059" b="0.0509803921568627" a="1" />
<color r="0.631372549019608" g="0.654901960784314" b="0.0470588235294118" a="1" />
<color r="0.650980392156863" g="0.670588235294118" b="0.0431372549019608" a="1" />
<color r="0.666666666666667" g="0.686274509803922" b="0.0392156862745098" a="1" />
<color r="0.682352941176471" g="0.701960784313725" b="0.0313725490196078" a="1" />
<color r="0.698039215686274" g="0.72156862745098" b="0.0313725490196078" a="1" />
<color r="0.717647058823529" g="0.737254901960784" b="0.0235294117647059" a="1" />
<color r="0.733333333333333" g="0.756862745098039" b="0.0196078431372549" a="1" />
<color r="0.749019607843137" g="0.772549019607843" b="0.0156862745098039" a="1" />
<color r="0.792156862745098" g="0.0352941176470588" b="0.6" a="1" />
<color r="0.792156862745098" g="0.0745098039215686" b="0.611764705882353" a="1" />
<color r="0.792156862745098" g="0.109803921568627" b="0.623529411764706" a="1" />
<color r="0.792156862745098" g="0.149019607843137" b="0.63921568627451" a="1" />
<color r="0.792156862745098" g="0.188235294117647" b="0.650980392156863" a="1" />
<color r="0.792156862745098" g="0.223529411764706" b="0.658823529411765" a="1" />
<color r="0.792156862745098" g="0.262745098039216" b="0.670588235294118" a="1" />
<color r="0.792156862745098" g="0.301960784313725" b="0.686274509803922" a="1" />
<color r="0.792156862745098" g="0.341176470588235" b="0.698039215686274" a="1" />
<color r="0.792156862745098" g="0.376470588235294" b="0.709803921568627" a="1" />
<color r="0.792156862745098" g="0.411764705882353" b="0.717647058823529" a="1" />
<color r="0.792156862745098" g="0.450980392156863" b="0.733333333333333" a="1" />
<color r="0.792156862745098" g="0.486274509803922" b="0.745098039215686" a="1" />
<color r="0.792156862745098" g="0.52156862745098" b="0.756862745098039" a="1" />
<color r="0.576470588235294" g="0.0941176470588235" b="0" a="1" />
<color r="0.588235294117647" g="0.0941176470588235" b="0" a="1" />
<color r="0.6" g="0.0862745098039216" b="0" a="1" />
<color r="0.611764705882353" g="0.0784313725490196" b="0" a="1" />
<color r="0.627450980392157" g="0.0745098039215686" b="0" a="1" />
<color r="0.63921568627451" g="0.0666666666666667" b="0" a="1" />
<color r="0.654901960784314" g="0.0627450980392157" b="0" a="1" />
<color r="0.670588235294118" g="0.0549019607843137" b="0" a="1" />
<color r="0.682352941176471" g="0.0470588235294118" b="0" a="1" />
<color r="0.694117647058824" g="0.0431372549019608" b="0" a="1" />
<color r="0.709803921568627" g="0.0352941176470588" b="0" a="1" />
<color r="0.72156862745098" g="0.0313725490196078" b="0" a="1" />
<color r="0.733333333333333" g="0.0235294117647059" b="0" a="1" />
<color r="0.749019607843137" g="0.0156862745098039" b="0" a="1" />
<color r="0.764705882352941" g="0.0117647058823529" b="0" a="1" />
<color r="0.631372549019608" g="0.36078431372549" b="0" a="1" />
<color r="0.63921568627451" g="0.368627450980392" b="0" a="1" />
<color r="0.650980392156863" g="0.376470588235294" b="0" a="1" />
<color r="0.658823529411765" g="0.384313725490196" b="0" a="1" />
<color r="0.670588235294118" g="0.392156862745098" b="0" a="1" />
<color r="0.67843137254902" g="0.4" b="0" a="1" />
<color r="0.690196078431373" g="0.407843137254902" b="0" a="1" />
<color r="0.701960784313725" g="0.415686274509804" b="0" a="1" />
<color r="0.709803921568627" g="0.423529411764706" b="0" a="1" />
<color r="0.717647058823529" g="0.431372549019608" b="0" a="1" />
<color r="0.729411764705882" g="0.43921568627451" b="0" a="1" />
<color r="0.741176470588235" g="0.447058823529412" b="0.00392156862745098" a="1" />
<color r="0.749019607843137" g="0.454901960784314" b="0.00392156862745098" a="1" />
<color r="0.76078431372549" g="0.466666666666667" b="0.00392156862745098" a="1" />
<color r="0.768627450980392" g="0.470588235294118" b="0.00392156862745098" a="1" />
<color r="0.780392156862745" g="0.482352941176471" b="0.00392156862745098" a="1" />
<color r="0.423529411764706" g="0" b="0.443137254901961" a="1" />
<color r="0.443137254901961" g="0" b="0.466666666666667" a="1" />
<color r="0.470588235294118" g="0" b="0.486274509803922" a="1" />
<color r="0.490196078431373" g="0" b="0.509803921568627" a="1" />
<color r="0.513725490196078" g="0" b="0.529411764705882" a="1" />
<color r="0.537254901960784" g="0" b="0.556862745098039" a="1" />
<color r="0.56078431372549" g="0" b="0.576470588235294" a="1" />
<color r="0.584313725490196" g="0" b="0.603921568627451" a="1" />
<color r="0.607843137254902" g="0" b="0.623529411764706" a="1" />
<color r="0.631372549019608" g="0" b="0.650980392156863" a="1" />
<color r="0.654901960784314" g="0" b="0.670588235294118" a="1" />
<color r="0.682352941176471" g="0" b="0.698039215686274" a="1" />
<color r="0.701960784313725" g="0" b="0.717647058823529" a="1" />
<color r="0.729411764705882" g="0" b="0.745098039215686" a="1" />
<color r="0.545098039215686" g="0.56078431372549" b="0.792156862745098" a="1" />
<color r="0.552941176470588" g="0.556862745098039" b="0.792156862745098" a="1" />
<color r="0.564705882352941" g="0.552941176470588" b="0.792156862745098" a="1" />
<color r="0.576470588235294" g="0.549019607843137" b="0.792156862745098" a="1" />
<color r="0.588235294117647" g="0.545098039215686" b="0.788235294117647" a="1" />
<color r="0.596078431372549" g="0.545098039215686" b="0.788235294117647" a="1" />
<color r="0.607843137254902" g="0.541176470588235" b="0.788235294117647" a="1" />
<color r="0.623529411764706" g="0.537254901960784" b="0.784313725490196" a="1" />
<color r="0.631372549019608" g="0.529411764705882" b="0.784313725490196" a="1" />
<color r="0.643137254901961" g="0.529411764705882" b="0.784313725490196" a="1" />
<color r="0.654901960784314" g="0.525490196078431" b="0.780392156862745" a="1" />
<color r="0.666666666666667" g="0.52156862745098" b="0.780392156862745" a="1" />
<color r="0.67843137254902" g="0.517647058823529" b="0.780392156862745" a="1" />
<color r="0.686274509803922" g="0.513725490196078" b="0.780392156862745" a="1" />
<color r="0.701960784313725" g="0.513725490196078" b="0.780392156862745" a="1" />
<color r="0.709803921568627" g="0.505882352941176" b="0.780392156862745" a="1" />
<color r="0.72156862745098" g="0.501960784313725" b="0.776470588235294" a="1" />
<color r="0.733333333333333" g="0.501960784313725" b="0.776470588235294" a="1" />
<color r="0.745098039215686" g="0.501960784313725" b="0.776470588235294" a="1" />
<color r="0.756862745098039" g="0.498039215686275" b="0.772549019607843" a="1" />
<color r="0.764705882352941" g="0.494117647058824" b="0.772549019607843" a="1" />
<color r="0.458823529411765" g="0.450980392156863" b="0.443137254901961" a="1" />
<color r="0.462745098039216" g="0.454901960784314" b="0.450980392156863" a="1" />
<color r="0.470588235294118" g="0.462745098039216" b="0.454901960784314" a="1" />
<color r="0.474509803921569" g="0.470588235294118" b="0.462745098039216" a="1" />
<color r="0.482352941176471" g="0.474509803921569" b="0.470588235294118" a="1" />
<color r="0.486274509803922" g="0.482352941176471" b="0.474509803921569" a="1" />
<color r="0.494117647058824" g="0.486274509803922" b="0.482352941176471" a="1" />
<color r="0.501960784313725" g="0.494117647058824" b="0.486274509803922" a="1" />
<color r="0.501960784313725" g="0.501960784313725" b="0.494117647058824" a="1" />
<color r="0.509803921568627" g="0.501960784313725" b="0.501960784313725" a="1" />
<color r="0.513725490196078" g="0.509803921568627" b="0.501960784313725" a="1" />
<color r="0.52156862745098" g="0.513725490196078" b="0.509803921568627" a="1" />
<color r="0.529411764705882" g="0.52156862745098" b="0.513725490196078" a="1" />
<color r="0.533333333333333" g="0.529411764705882" b="0.52156862745098" a="1" />
<color r="0.541176470588235" g="0.533333333333333" b="0.529411764705882" a="1" />
<color r="0.545098039215686" g="0.541176470588235" b="0.533333333333333" a="1" />
<color r="0.552941176470588" g="0.545098039215686" b="0.541176470588235" a="1" />
<color r="0.56078431372549" g="0.552941176470588" b="0.545098039215686" a="1" />
<color r="0.564705882352941" g="0.56078431372549" b="0.552941176470588" a="1" />
<color r="0.568627450980392" g="0.564705882352941" b="0.56078431372549" a="1" />
<color r="0.576470588235294" g="0.572549019607843" b="0.564705882352941" a="1" />
<color r="0.580392156862745" g="0.576470588235294" b="0.572549019607843" a="1" />
<color r="0.588235294117647" g="0.584313725490196" b="0.576470588235294" a="1" />
<color r="0.592156862745098" g="0.592156862745098" b="0.584313725490196" a="1" />
<color r="0.6" g="0.596078431372549" b="0.592156862745098" a="1" />
<color r="0.607843137254902" g="0.603921568627451" b="0.596078431372549" a="1" />
<color r="0.611764705882353" g="0.607843137254902" b="0.603921568627451" a="1" />
<color r="0.619607843137255" g="0.615686274509804" b="0.607843137254902" a="1" />
<color r="0.623529411764706" g="0.623529411764706" b="0.619607843137255" a="1" />
<color r="0.631372549019608" g="0.627450980392157" b="0.623529411764706" a="1" />
<color r="0.63921568627451" g="0.635294117647059" b="0.631372549019608" a="1" />
<color r="0.643137254901961" g="0.63921568627451" b="0.63921568627451" a="1" />
<color r="0.650980392156863" g="0.647058823529412" b="0.643137254901961" a="1" />
<color r="0.654901960784314" g="0.654901960784314" b="0.650980392156863" a="1" />
<color r="0.662745098039216" g="0.658823529411765" b="0.654901960784314" a="1" />
<color r="0.670588235294118" g="0.666666666666667" b="0.662745098039216" a="1" />
<color r="0.674509803921569" g="0.670588235294118" b="0.670588235294118" a="1" />
<color r="0.67843137254902" g="0.67843137254902" b="0.674509803921569" a="1" />
<color r="0.686274509803922" g="0.686274509803922" b="0.682352941176471" a="1" />
<color r="0.690196078431373" g="0.690196078431373" b="0.686274509803922" a="1" />
<color r="0.698039215686274" g="0.698039215686274" b="0.694117647058824" a="1" />
<color r="0.701960784313725" g="0.701960784313725" b="0.701960784313725" a="1" />
<color r="0.709803921568627" g="0.709803921568627" b="0.705882352941177" a="1" />
<color r="0.717647058823529" g="0.717647058823529" b="0.713725490196078" a="1" />
<color r="0.72156862745098" g="0.72156862745098" b="0.717647058823529" a="1" />
<color r="0.729411764705882" g="0.729411764705882" b="0.725490196078431" a="1" />
<color r="0.733333333333333" g="0.733333333333333" b="0.733333333333333" a="1" />
<color r="0.741176470588235" g="0.741176470588235" b="0.737254901960784" a="1" />
<color r="0.749019607843137" g="0.749019607843137" b="0.745098039215686" a="1" />
<color r="0.752941176470588" g="0.752941176470588" b="0.749019607843137" a="1" />
<color r="0.76078431372549" g="0.76078431372549" b="0.756862745098039" a="1" />
<color r="0.764705882352941" g="0.764705882352941" b="0.764705882352941" a="1" />
<color r="0.772549019607843" g="0.772549019607843" b="0.768627450980392" a="1" />
<color r="0.780392156862745" g="0.780392156862745" b="0.776470588235294" a="1" />
<color r="0.784313725490196" g="0.784313725490196" b="0.780392156862745" a="1" />
<color r="1" g="1" b="1" a="1" />
</colorMap>

View file

@ -144,6 +144,21 @@
</colorbarLabeling>
</imageStyle>
</styleRule>
<styleRule>
<paramLevelMatches>
<parameter>OZONE</parameter>
</paramLevelMatches>
<imageStyle>
<range scale="LINEAR">
<minValue>100</minValue>
<maxValue>500</maxValue>
</range>
<defaultColormap>Sat/Ozone/Ozone</defaultColormap>
<colorbarLabeling>
<values>100 150 200 250 300 350 400 450 500</values>
</colorbarLabeling>
</imageStyle>
</styleRule>
<styleRule>
<paramLevelMatches>
<parameter>Sounder Based Derived Lifted Index (LI)</parameter>

View file

@ -83,13 +83,13 @@
install-size="0"
version="0.0.0"
unpack="false"/>
<!--
<plugin
id="gov.nasa.gsfc.fits"
download-size="0"
install-size="0"
version="0.0.0"/>
-->
<plugin
id="ucar.nc2.bufrsplitter"
download-size="0"

View file

@ -30,5 +30,5 @@
<entry index="8" value="Puerto Rico National" />
<entry index="9" value="Supernational" />
<entry index="10" value="NH Composite - Meteosat-GOES E-GOES W-GMS" />
<entry index="101" value="CONUS" />
<entry index="101" value="NEXRCOMP" />
</numericLookupTable>

View file

@ -16,5 +16,6 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Import-Package: com.raytheon.uf.common.localization,
com.raytheon.uf.common.menus,
com.raytheon.uf.common.menus.xml,
com.raytheon.uf.common.status
com.raytheon.uf.common.status,
org.apache.commons.codec.binary
Export-Package: com.raytheon.uf.edex.plugin.satellite.mcidas

View file

@ -26,6 +26,9 @@ import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import org.apache.commons.codec.binary.Base64;
import org.opengis.referencing.crs.ProjectedCRS;
import com.raytheon.edex.esb.Headers;
import com.raytheon.edex.exception.DecoderException;
import com.raytheon.edex.util.satellite.SatSpatialFactory;
@ -33,6 +36,7 @@ import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.satellite.SatMapCoverage;
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
import com.raytheon.uf.common.datastorage.records.IDataRecord;
import com.raytheon.uf.common.geospatial.MapUtil;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.time.DataTime;
@ -71,6 +75,8 @@ import com.raytheon.uf.edex.plugin.satellite.mcidas.util.McidasSatelliteLookups.
* IDataRecord required by the SatelliteDao
* 12/03/2013 DR 16841 D. Friedman Allow record overwrites
* 09/18/2014 3627 mapeters Updated deprecated method calls.
* 05/11/2015 mjames@ucar PS (south and north) stereogrpahic support added.
* 05/19/2015 mjames@ucar Added decoding of GVAR native projection products
* </pre>
*
* @author
@ -86,7 +92,11 @@ public class McidasSatelliteDecoder {
private static final int EXPECTED_IMAGE_TYPE_LE = 4;
private static final int EXPECTED_IMAGE_TYPE_BE = 0x04000000;
private static final int RADIUS = 6371200;
final int SIZE_OF_AREA = 256;
private static final double HALFPI = Math.PI / 2.;
private static final double RTD = 180. / Math.PI;
@ -131,9 +141,17 @@ public class McidasSatelliteDecoder {
* @throws Exception
*/
private PluginDataObject[] decodeMcidasArea(byte[] data) throws Exception {
byte[] area = null;
byte[] nonAreaBlock = new byte[data.length - SIZE_OF_AREA];
area = new byte[SIZE_OF_AREA];
System.arraycopy(data, 0, area, 0, SIZE_OF_AREA);
System.arraycopy(data, SIZE_OF_AREA, nonAreaBlock, 0,
nonAreaBlock.length);
ByteBuffer buf = ByteBuffer.wrap(data);
buf.order(ByteOrder.LITTLE_ENDIAN);
// Decode the directory block
if (buf.getInt() != 0) {
formatError(UNEXPECTED_HEADER_VALUE);
@ -145,24 +163,37 @@ public class McidasSatelliteDecoder {
formatError(UNEXPECTED_HEADER_VALUE);
}
}
int sensorSourceNumber = buf.getInt();
int yyyddd = buf.getInt();
int hhmmss = buf.getInt();
int ulImageLine = buf.getInt();
int ulImageElement = buf.getInt();
buf.getInt(); // reserved
int nLines = buf.getInt();
int nElementsPerLine = buf.getInt();
int nBytesPerElement = buf.getInt();
int lineResolution = buf.getInt();
int elementResolution = buf.getInt();
int nBands = buf.getInt();
int linePrefixLength = buf.getInt();
/* int projectNumber = */buf.getInt();
/* int creationYyyddd = */buf.getInt();
/* int creationHhmmss = */buf.getInt();
int bandMap1to32 = buf.getInt();
int bandMap33to64 = buf.getInt();
int sensorSourceNumber = buf.getInt(); // W3
int yyyddd = buf.getInt(); // W4
int hhmmss = buf.getInt(); // W5
int ulImageLine = buf.getInt(); // W6
int ulImageElement = buf.getInt(); // W7
buf.getInt(); // reserved // W8
int nLines = buf.getInt(); // W9
int nElementsPerLine = buf.getInt(); // W10
int nBytesPerElement = buf.getInt(); // W11
int lineResolution = buf.getInt(); // W12
int elementResolution = buf.getInt(); // W13
int nBands = buf.getInt(); // W14
int linePrefixLength = buf.getInt(); // W15
/* int projectNumber = */buf.getInt(); // W16
/* int creationYyyddd = */buf.getInt(); // W17
/* int creationHhmmss = */buf.getInt(); // W18
/*
* W19
32-bit filter band map for multichannel
images; if a bit is set, data exists for the band;
band 1 is the least significant byte (rightmost)
*/
int bandMap1to32 = buf.getInt(); // W19
/*
* W20-24
satellite specific information
*/
int bandMap33to64 = buf.getInt(); // W20
buf.position(buf.position() + (4 * 4)); // sensor specific
buf.position(buf.position() + (4 * 8)); // memo
int areaNumber = buf.getInt();
@ -185,11 +216,35 @@ public class McidasSatelliteDecoder {
/* int scaling = */buf.getInt();
/* int supplementalBlockOffset = */buf.getInt();
buf.getInt(); // reserved
/* int calibrationOffset = */buf.getInt();
int calibrationOffset = buf.getInt();
buf.getInt(); // comment cards
int navsize;
if (calibrationOffset == 0){
navsize = dataBlockOffset - navBlockOffset;
} else {
navsize = calibrationOffset - navBlockOffset;
}
byte[] navigation = new byte[navsize];
System.arraycopy(nonAreaBlock, 0, navigation, 0, navsize);
/* mjames@ucar
* bandMap1to32 is a 32-bit filter band map for multichannel images.
* if a bit is set, data exists for the band; band 1 is the least
* significant byte (rightmost)
*
* Example: for GVAR GEWCOMP UNIWISC image,
* bandMap1to32 = 4
* bandMap33to64 = -1, so
* nBands = 1
* bandBitsCount = 33
*
* this is a problem...
*/
long bandBits = ((long) bandMap33to64 << 32) | bandMap1to32;
if (nBands != Long.bitCount(bandBits)) {
long bandBitsCount = Long.bitCount(bandBits);
if (nBands != bandBitsCount && nBands > 1) {
formatError("Specified number of bands does not match number of bits in band map");
}
@ -197,7 +252,7 @@ public class McidasSatelliteDecoder {
buf.position(navBlockOffset);
SatMapCoverage coverage = decodeNavigation(elementResolution,
lineResolution, ulImageElement, ulImageLine, nElementsPerLine,
nLines, buf);
nLines, buf, navigation);
// Decode the data block, creating a SatelliteRecord for each band.
PluginDataObject[] result = new PluginDataObject[nBands];
@ -276,37 +331,45 @@ public class McidasSatelliteDecoder {
*
*/
private SatMapCoverage decodeNavigation(int xImgRes, int yImgRes, int ulX,
int ulY, int nx, int ny, ByteBuffer buf) throws Exception {
int ulY, int nx, int ny, ByteBuffer buf, byte[] navigation)
throws Exception {
SatMapCoverage result = new SatMapCoverage();
String navType = get4cc(buf);
int lineOfEquator = buf.getInt();
int elementOfEquator = buf.getInt();
int stdLatDDMMSS = buf.getInt();
int spacingAtStdLatInMeters = buf.getInt();
int nrmlLonDDMMSS = buf.getInt();
// NOTE: We do not check the following for compatibility with WGS84.
int radiusInMeters = buf.getInt();
/* int eccentricity = */buf.getInt();
/* boolean geodetic = */buf.getInt()/* >= 0 */;
boolean westPositive = buf.getInt() >= 0;
float la1, lo1, la2, lo2;
double dy;
/*
* The following is based on
* gov.noaa.nws.ncep.edex.plugin.mcidas/src
* /gov/noaa/nws/ncep/edex/plugin/mcidas/decoder/McidasDecoder.java
*/
double clon = flipLon(unpackDdmmss(nrmlLonDDMMSS), westPositive);
double clat = unpackDdmmss(stdLatDDMMSS);
double dx = spacingAtStdLatInMeters * xImgRes;
double phi0r = clat * DTR;
double sign = 1.;
if (phi0r < 0.) {
sign = -1.;
}
double rxp = (((double) (elementOfEquator - ulX) / xImgRes) + 1.);
double ryp = (ny - ((double) (lineOfEquator - ulY) / yImgRes));
if (navType.equals("MERC")) {
int lineOfEquator = buf.getInt();
int elementOfEquator = buf.getInt();
int stdLatDDMMSS = buf.getInt();
int spacingAtStdLatInMeters = buf.getInt();
int nrmlLonDDMMSS = buf.getInt();
// NOTE: We do not check the following for compatibility with WGS84.
int radiusInMeters = buf.getInt();
/* int eccentricity = */buf.getInt();
/* boolean geodetic = */buf.getInt()/* >= 0 */;
boolean westPositive = buf.getInt() >= 0;
float la1, lo1, la2, lo2;
/*
* The following is based on
* gov.noaa.nws.ncep.edex.plugin.mcidas/src
* /gov/noaa/nws/ncep/edex/plugin/mcidas/decoder/McidasDecoder.java
*/
double clon = flipLon(unpackDdmmss(nrmlLonDDMMSS), westPositive);
double clat = unpackDdmmss(stdLatDDMMSS);
double dx = spacingAtStdLatInMeters * xImgRes;
double phi0r = clat * DTR;
double rxp = (((double) (elementOfEquator - ulX) / xImgRes) + 1.);
double ryp = (ny - ((double) (lineOfEquator - ulY) / yImgRes));
double dxp = 1. - rxp;
double dyp = 1. - ryp;
@ -326,8 +389,57 @@ public class McidasSatelliteDecoder {
result = SatSpatialFactory.getInstance().getCoverageTwoCorners(
SatSpatialFactory.PROJ_MERCATOR, nx, ny, (float) clon,
(float) clat, la1, lo1, la2, lo2);
} else if (navType.trim().equals("PS")) {
dy = (float) spacingAtStdLatInMeters * yImgRes;
double dxp = (1. - rxp) * dx;
double dyp = (1. - ryp) * dy;
double alpha = 1. + Math.sin(Math.abs(phi0r));
double rm = Math.sqrt(((dxp * dxp) + (dyp * dyp))) / alpha;
la1 = (float) (sign * ((HALFPI - (2. * Math.atan(rm / RADIUS)))) * RTD);
double thta;
if (dyp != 0) {
dyp = (-dyp) * sign;
thta = (Math.atan2(dxp, dyp)) * RTD;
lo1 = (float) prnlon((clon + thta));
} else {
lo1 = (float) clon;
}
/*
* Compute lat/lon of the upper-right corner
*/
dxp = (nx - rxp) * dx;
dyp = (ny - ryp) * dy;
rm = Math.sqrt(((dxp * dxp) + (dyp * dyp))) / alpha;
la2 = (float) (sign * ((HALFPI - (2. * Math.atan(rm / RADIUS)))) * RTD);
if (dyp != 0) {
dyp = (-dyp) * sign;
thta = (Math.atan2(dxp, dyp)) * RTD;
lo2 = (float) prnlon((clon + thta));
} else {
lo2 = (float) clon;
}
result = SatSpatialFactory.getInstance().getCoverageTwoCorners(
SatSpatialFactory.PROJ_POLAR, nx, ny, (float) clon,
(float) clat, la1, lo1, la2, lo2);
} else {
unimplemented(String.format("navigation type \"%s\"", navType));
/*
* Native projection
*/
//unimplemented(String.format("navigation type \"%s\"", navType));
clon = nrmlLonDDMMSS / 10000000.f;
clon = (float) Math.toDegrees(clon);
ProjectedCRS crs = MapUtil.constructNative(navType, encodeNavBlock(navigation));
result = SatSpatialFactory.getInstance().getCoverageNative(
SatSpatialFactory.PROJ_GVAR, nx, ny, (float) clon,
ulX, ulY, xImgRes, yImgRes, crs);
}
return result;
@ -403,5 +515,11 @@ public class McidasSatelliteDecoder {
throw new DecoderException(String.format("%s: unimplemented: %s",
traceId, feature));
}
private String encodeNavBlock(byte[] navigation) {
Base64 b64 = new Base64();
byte[] coded = b64.encode(navigation);
return new String(coded);
}
}

View file

@ -20,4 +20,5 @@
-->
<requestPatterns xmlns:ns2="group">
<regex>AREA[0-9]{4}.*</regex>
<regex>.*uniwisc.*</regex>
</requestPatterns>

View file

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<areaNames>
<map>
<entry><key>7101</key><value>Arctic</value></entry>
<entry><key>1000</key><value>Antarctic</value></entry>
<entry><key>2000</key><value>Antarctic</value></entry>
<entry><key>3000</key><value>Antarctic</value></entry>
<entry><key>10</key><value>GOES-Sounder</value></entry>
<entry><key>11</key><value>GOES-Sounder</value></entry>
<entry><key>12</key><value>GOES-Sounder</value></entry>
<entry><key>13</key><value>GOES-Sounder</value></entry>
<entry><key>14</key><value>GOES-Sounder</value></entry>
<entry><key>15</key><value>GOES-Sounder</value></entry>
<entry><key>1174</key><value>GOES-West</value></entry>
<entry><key>1175</key><value>GOES-West</value></entry>
<entry><key>1176</key><value>GOES-West</value></entry>
<entry><key>1177</key><value>GOES-West</value></entry>
<entry><key>1178</key><value>GOES-West</value></entry>
<entry><key>1179</key><value>GOES-West</value></entry>
<entry><key>1214</key><value>GOES-West</value></entry>
<entry><key>1215</key><value>GOES-West</value></entry>
<entry><key>1216</key><value>GOES-West</value></entry>
<entry><key>1217</key><value>GOES-West</value></entry>
<entry><key>1218</key><value>GOES-West</value></entry>
<entry><key>1219</key><value>GOES-West</value></entry>
<entry><key>1244</key><value>GOES-West</value></entry>
<entry><key>1245</key><value>GOES-West</value></entry>
<entry><key>1246</key><value>GOES-West</value></entry>
<entry><key>1247</key><value>GOES-West</value></entry>
<entry><key>1248</key><value>GOES-West</value></entry>
<entry><key>1249</key><value>GOES-West</value></entry>
<entry><key>1274</key><value>GOES-East</value></entry>
<entry><key>1275</key><value>GOES-East</value></entry>
<entry><key>1276</key><value>GOES-East</value></entry>
<entry><key>1277</key><value>GOES-East</value></entry>
<entry><key>1278</key><value>GOES-East</value></entry>
<entry><key>1279</key><value>GOES-East</value></entry>
<entry><key>1344</key><value>GOES-East</value></entry>
<entry><key>1345</key><value>GOES-East</value></entry>
<entry><key>1346</key><value>GOES-East</value></entry>
<entry><key>1347</key><value>GOES-East</value></entry>
<entry><key>1348</key><value>GOES-East</value></entry>
<entry><key>1349</key><value>GOES-East</value></entry>
<entry><key>1444</key><value>GOES-East</value></entry>
<entry><key>1445</key><value>GOES-East</value></entry>
<entry><key>1446</key><value>GOES-East</value></entry>
<entry><key>1447</key><value>GOES-East</value></entry>
<entry><key>1448</key><value>GOES-East</value></entry>
<entry><key>1449</key><value>GOES-East</value></entry>
<entry><key>1474</key><value>GOES-East</value></entry>
<entry><key>1475</key><value>GOES-East</value></entry>
<entry><key>1476</key><value>GOES-East</value></entry>
<entry><key>1477</key><value>GOES-East</value></entry>
<entry><key>1478</key><value>GOES-East</value></entry>
<entry><key>1479</key><value>GOES-East</value></entry>
<entry><key>1514</key><value>GOES-East</value></entry>
<entry><key>1515</key><value>GOES-East</value></entry>
<entry><key>1516</key><value>GOES-East</value></entry>
<entry><key>1518</key><value>GOES-East</value></entry>
<entry><key>1519</key><value>GOES-East</value></entry>
<entry><key>1814</key><value>GOES-West</value></entry>
<entry><key>1815</key><value>GOES-West</value></entry>
<entry><key>1816</key><value>GOES-West</value></entry>
<entry><key>1817</key><value>GOES-West</value></entry>
<entry><key>1818</key><value>GOES-West</value></entry>
<entry><key>1819</key><value>GOES-West</value></entry>
<entry><key>1844</key><value>GOES-West</value></entry>
<entry><key>1845</key><value>GOES-West</value></entry>
<entry><key>1846</key><value>GOES-West</value></entry>
<entry><key>1847</key><value>GOES-West</value></entry>
<entry><key>1848</key><value>GOES-West</value></entry>
<entry><key>1849</key><value>GOES-West</value></entry>
<entry><key>3100</key><value>Global</value></entry>
<entry><key>3101</key><value>Global</value></entry>
<entry><key>601</key><value>Mollweide</value></entry>
<entry><key>701</key><value>Mollweide</value></entry>
<entry><key>9050</key><value>GOES-East-West</value></entry>
<entry><key>9053</key><value>GOES-East-West</value></entry>
<entry><key>9056</key><value>GOES-East-West</value></entry>
<entry><key>9059</key><value>GOES-East-West</value></entry>
<entry><key>9062</key><value>GOES-East-West</value></entry>
</map>
</areaNames>

View file

@ -21,7 +21,36 @@
<!-- Source: http://www.ssec.wisc.edu/mcidas/doc/users_guide/current/app_c-1.html -->
<creatingEntities>
<map>
<entry><key>84</key><value>MTSAT-1R</value></entry>
<entry><key>85</key><value>MTSAT-2</value></entry>
<entry><key>9</key><value>COMP</value></entry>
<entry><key>10</key><value>SOUNDER</value></entry>
<entry><key>12</key><value>GMS</value></entry>
<entry><key>13</key><value>GMS</value></entry>
<entry><key>30</key><value>GOES6</value></entry>
<entry><key>31</key><value>GOES6</value></entry>
<entry><key>32</key><value>GOES7</value></entry>
<entry><key>33</key><value>GOES7</value></entry>
<entry><key>35</key><value>FYC</value></entry>
<entry><key>36</key><value>FYC</value></entry>
<entry><key>51</key><value>METEOSAT8</value></entry>
<entry><key>52</key><value>METEOSAT9</value></entry>
<entry><key>53</key><value>METEOSAT10</value></entry>
<entry><key>54</key><value>METEOSAT3</value></entry>
<entry><key>56</key><value>METEOSAT5</value></entry>
<entry><key>57</key><value>METEOSAT6</value></entry>
<entry><key>58</key><value>METEOSAT7</value></entry>
<entry><key>70</key><value>GOES8</value></entry>
<entry><key>71</key><value>SOUNDER</value></entry>
<entry><key>74</key><value>GOES10</value></entry>
<entry><key>76</key><value>GOES11</value></entry>
<entry><key>77</key><value>DPD</value></entry>
<entry><key>78</key><value>GOES12</value></entry>
<entry><key>83</key><value>GMS</value></entry>
<entry><key>84</key><value>MTS</value></entry>
<entry><key>85</key><value>MTSAT2</value></entry>
<entry><key>180</key><value>GOES13</value></entry>
<entry><key>184</key><value>GOES15</value></entry>
<entry><key>185</key><value>SOUNDER</value></entry>
<entry><key>401</key><value>COMP</value></entry>
<entry><key>72</key><value>COMP</value></entry>
</map>
</creatingEntities>

View file

@ -31,7 +31,6 @@
<entry><key ss="84" band="3"/><value name="Imager 12 micron IR" units="IRPixel" /></entry>
<entry><key ss="84" band="4"/><value name="Imager 6.7-6.5 micron IR (WV)" /></entry>
<entry><key ss="84" band="5"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<!-- Not documented, but this is what is actually being received. -->
<entry><key ss="84" band="6"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<!-- MTSAT-2 -->
@ -40,7 +39,50 @@
<entry><key ss="85" band="3"/><value name="Imager 12 micron IR" units="IRPixel" /></entry>
<entry><key ss="85" band="4"/><value name="Imager 6.7-6.5 micron IR (WV)" /></entry>
<entry><key ss="85" band="5"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<!-- Not documented, but this is what is actually being received. -->
<entry><key ss="85" band="6"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<entry><key ss="180" band="1"/><value name="Imager Visible" /></entry>
<entry><key ss="180" band="2"/><value name="Imager 11 micron IR" units="IRPixel" /></entry>
<entry><key ss="180" band="3"/><value name="Imager 12 micron IR" units="IRPixel" /></entry>
<entry><key ss="180" band="4"/><value name="Imager 6.7-6.5 micron IR (WV)" /></entry>
<entry><key ss="180" band="5"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<entry><key ss="180" band="6"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<entry><key ss="184" band="1"/><value name="Imager Visible" /></entry>
<entry><key ss="184" band="2"/><value name="Imager 11 micron IR" units="IRPixel" /></entry>
<entry><key ss="184" band="3"/><value name="Imager 12 micron IR" units="IRPixel" /></entry>
<entry><key ss="184" band="4"/><value name="Imager 6.7-6.5 micron IR (WV)" /></entry>
<entry><key ss="184" band="5"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<entry><key ss="184" band="6"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<entry><key ss="185" band="1"/><value name="Imager Visible" /></entry>
<entry><key ss="185" band="2"/><value name="Imager 11 micron IR" units="IRPixel" /></entry>
<entry><key ss="185" band="3"/><value name="Imager 12 micron IR" units="IRPixel" /></entry>
<entry><key ss="185" band="4"/><value name="Imager 6.7-6.5 micron IR (WV)" /></entry>
<entry><key ss="185" band="5"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<entry><key ss="185" band="6"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<!-- UNIWISC GOES Sounder -->
<entry><key ss="71" band="27"/><value name="Gridded Cloud Top Pressure or Height" /></entry>
<entry><key ss="185" band="27"/><value name="Gridded Cloud Top Pressure or Height" /></entry>
<entry><key ss="185" band="28"/><value name="Sounder Based Derived Precipitable Water (PW)" /></entry>
<entry><key ss="185" band="29"/><value name="Sounder Based Derived Lifted Index (LI)" /></entry>
<entry><key ss="185" band="30"/><value name="CAPE" /></entry>
<entry><key ss="185" band="31"/><value name="Sounder Based Total Column Ozone" /></entry>
<entry><key ss="10" band="31"/><value name="Sounder Based Derived Surface Skin Temp (SFC Skin)" /></entry>
<!-- Arctic -->
<entry><key ss="401" band="1"/><value name="Imager Visible" /></entry>
<entry><key ss="401" band="2"/><value name="Imager 11 micron IR" units="IRPixel" /> /></entry>
<entry><key ss="401" band="3"/><value name="Imager 12 micron IR" units="IRPixel" /></entry>
<entry><key ss="401" band="4"/><value name="Imager 6.7-6.5 micron IR (WV)" /></entry>
<entry><key ss="401" band="5"/><value name="Imager 3.5-4.0 micro IR (Fog)" /></entry>
<!-- Antarctica -->
<entry><key ss="72" band="1"/><value name="Imager Visible" /></entry>
<entry><key ss="72" band="3"/><value name="Imager 12 micron IR" units="IRPixel" /></entry>
<entry><key ss="72" band="4"/><value name="Imager 6.7-6.5 micron IR (WV)" /></entry>
</map>
</physicalElements>

View file

@ -44,7 +44,7 @@ fi
# create build root directory
rm -rf ${RPM_BUILD_ROOT}/awips2
mkdir -p ${RPM_BUILD_ROOT}/awips2/tools/bin
/bin/cp %{_baseline_workspace}/rpms/awips2.upc/Installer.edex-upc/edex ${RPM_BUILD_ROOT}/awips2/tools/bin/
/bin/cp %{_baseline_workspace}/rpms/awips2.upc/Installer.edex-upc/programs/* ${RPM_BUILD_ROOT}/awips2/tools/bin/
%pre
@ -58,3 +58,6 @@ rm -rf ${RPM_BUILD_ROOT}/*
%files
%attr(755,awips,fxalpha) /awips2/tools/bin/edex
%attr(755,awips,fxalpha) /awips2/tools/bin/arinfo
%attr(755,awips,fxalpha) /awips2/tools/bin/areas
%attr(644,awips,fxalpha) /awips2/tools/bin/imgtyp.tbl

View file

@ -0,0 +1,53 @@
#!/bin/bash -f
# all of this sed crap for templates
#dirs=$(find $GEMDATA/images/sat/GOES-13/4km/VIS/ -type f)
export GEMTBL=/awips2/tools/bin
if [[ $# -eq 0 ]] ; then
echo ''
echo ' ** no directory given. Usage: "areas $DIR" **'
echo ''
exit 0
fi
dirs=$(find ${1} -type f)
# id | imagetype | imagetypenumber | satelliteid
#-----+-----------+-----------------+-------------
# 1 | VIS | 1 | 84
#dirs=$(cat areadirs.txt)
for dir in $dirs
do
areafile=$dir
imgtype=$(arinfo -i $areafile | sed 's/Image Type =//g' | tr -d ' ')
band=$(arinfo -b $areafile | sed 's/Band Number =//g' | tr -d ' ')
bandLog=`echo 'l('$band')/l(2)' | bc -l`
bandNum=`echo ""$bandLog"/1" |bc `
if [[ $bandNum -lt 10 ]]; then
bandNum=`expr $bandNum + 1`
fi
satID=$(arinfo -a $areafile |grep --text "Sensor source number" | cut -d":" -f2 | tr -d ' ')
areaNum=$(arinfo -a $areafile |grep --text "Area file number" | cut -d":" -f2 | tr -d ' ')
#echo "insert into mcidas_image_type (imagetype, imagetypenumber, satelliteid) values ('$imgtype',$band,$satID);"
#echo "insert into awips.mcidas_area_names VALUES ($arenum,'');"
filename=`echo $areafile | cut -d "/" -f 9`
binrs=$(arinfo -binrs $areafile)
name=$(arinfo -s $areafile | sed 's/Satellite Name is //'| sed 's/[ \t]*$//')
echo $filename $binrs Sensor source number=$satID Area num=$areaNum
xmlLines=$xmlLines"<entry><key ss=\"$satID\" band=\"$bandNum\"/><value name=\"$imgtype\" /></entry>"$'\n'
areaLines=$areaLines"<entry><key>$areaNum</key><value>$name</value></entry>"$'\n'
done
echo ''
echo ' ** entries for com.raytheon.uf.edex.plugin.satellite.mcidas -- physicalElements.xml'
echo ''
xmlSorted=`echo "$xmlLines" | sort | uniq`
printf "%s\n" "$xmlSorted"
echo ''
echo ' ** entries for com.raytheon.uf.edex.plugin.satellite.mcidas -- areaNames.xml'
echo ''
areaSorted=`echo "$areaLines" | sort | uniq | sed 's/GOES13 13.3/GOES-East/g' |sed 's/GOES15 13.3/GOES-West/g' |sed 's/SOUNDER/GOES-Sounder/g' |sed 's/ANTARCTICA/Antarctica/g' | sed 's/ARCTIC 11.0/Arctic/g'`
printf "%s\n" "$areaSorted"
exit 1

Binary file not shown.

View file

@ -43,48 +43,21 @@ options=( 'status' 'start' 'stop' 'log' 'setup' 'test' )
nopts=${options[@]}
# main program
#
# Construct IP subnet
#
# OS X
#IP=`ifconfig | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'`
# Linux
# Simple solution
#IP=`hostname -I`
# For multiple IP addresses we need to account for non-routable IPs
#IP=`/sbin/ifconfig | grep "inet addr" | grep -v 127.0.0 | awk '{ print $2 }' | cut -d: -f2`
ethdev=`ip link show| grep ^[0-9]| awk '{ print $2}'`
if [[ $ethdev =~ eth0 ]]; then
usedev=eth0
elif [[ $ethdev =~ wlan0 ]]; then
usedev=wlan0
fi
# better solution: find interface for routeable IPs
usedev=`netstat -rn | egrep "^0.0.0.0" | awk '{print $8}'`
IP=`/sbin/ifconfig $usedev | grep "inet addr" | awk '{ print $2 }' | cut -d: -f2`
if [[ $IP =~ ^10\..* || $IP =~ ^192\.168.* ]] # non-routable IP range
then
if [[ $ethdev =~ eth1 ]]; then
IP=`/sbin/ifconfig eth1 | grep "inet addr" | awk '{ print $2 }' | cut -d: -f2`
fi
elif [[ $IP =~ ^172\..* ]]
then
IPb=`echo $IP | cut -d"." -f2`
if [[ $IPb -gt 15 && $IPb -lt 32 ]] # non-routable 172.16 to 172.32 range
then
IP=`/sbin/ifconfig eth1 | grep "inet addr" | awk '{ print $2 }' | cut -d: -f2`
fi
fi
# truncate
IP_CIDR="${IP%.*}"
editFiles=($PG_FILE $EDEX_ENV_FILE $LDMD_CONF)
boolFiles=(true true true)
editFuncs=(edit_pg edit_edex edit_ldm)

View file

@ -0,0 +1,748 @@
! IMGTYP.TBL
!
! This table contains the minimum and maximum image pixel values
! for use in setting the colors when displaying satellite or radar images.
! A default look up table (LUT) file is also assigned per image type.
!
! For satellite images, the comparisons are based on the satellite ID number,
! the image type and whether the image is a "raw" image or not.
!
! The IMGTYP is a coded number representing the channel of the image.
! The value is equal to 2**(channel-1).
!
! For RADAR images, the NIDS product code is used to identify different radar
! types.
!
! (Do not use tabs when adding to the table.)
!!
! Log:
! S. Jacobs/NCEP 12/97 Updated info for radar images
! S. Jacobs/NCEP 2/98 Updated per UNISYS product catalog
! J. Partain/MPC 3/98 Added GOES-10 images
! S. Jacobs/NCEP 4/98 Fixed spelling of abbreviations
! S. Jacobs/NCEP 7/98 Added METEOSAT7
! J. Carr/HPC 7/98 Updated a topography table
! J. Carr/HPC 7/98 Updated a topography table
! S. Jacobs/NCEP 8/98 Added SND data from GOES-8
! J. Partain/MPC 12/98 Added SSMI data
! G. Grosshans/SPC 2/99 Added two precip products for Unisys radar
! J. Carr/HPC 3/99 Added EST-RAIN and PWAT ssmi data.
! J. Partain/MPC 11/99 Added QuickSCAT data
! S. Jacobs/NCEP 12/99 Fix for GMS images satellite ID
! S. Jacobs/NCEP 9/02 Changed all IR images to default to a GRAY LUT
! D.W.Plummer/NCEP 2/03 Additions/changes for 2-byte images
! D.W.Plummer/NCEP 4/03 chg GOES-12 VIS entry from 30-220 to 0-255
! S. Jacobs/NCEP 5/03 Replaced NIDS with LOCAL for local products
! S. Jacobs/NCEP 5/03 Added more entries for METEOSAT5
! m.gamazaychikov/SAIC 06/03 changed ssmi_mpc to ssmi_opc
! A. Hardy/NCEP 4/04 Added GOES-10 10-bit imagery (max = 1023)
! A. Hardy/NCEP 12/04 Added METEOSAT7 sensor source number 58
! S. Jacobs/NCEP 5/05 Added AMSU, TRMM, SSMI-WINDS; allow exponents
! S. Jacobs/NCEP 5/05 Added CAPE-CINH and LIX-PWX
! S. Jacobs/NCEP 5/05 Added new METEOSAT entries for satid=51
! S. Jacobs/NCEP 11/05 Added new MTS entries for satid=84
! S. Jacobs/NCEP 3/06 Added new FYC entries for satid=35
! D.W.Plummer/NCEP 6/06 Added GOES-11, satid 76, 77
! C. Sisko/NHC 06/06 Redefined MET-8 Channels
! T. Piper/SAIC 07/06 Added Def. LUTs and changed 'IMG TYP' to
! MW for AMSU/SSMI/TRMM
! Steve Chiswell/UCAR 08/06 Added Meteosat-8 raw format
! G. Grosshans/SPC 03/07 Added Level-II radar entries
! T. Piper/SAIC 03/07 Added Meteosat-7, imgtyp 4, pixel depth 1
! S. Gilbert/NCEP 03/07 Added two AMSRE MW entries
! T. Piper/SAIC 04/07 Added Meteosat 9 and 10
! A. Robson/HPC 07/07 Added hi-res satellite topography
! J. Levit/SPC 10/07 Changed NSSL product ID numbers
! S. Jacobs/NCEP 12/07 Removed CAPE-CINH and LIX-PWX
! S. Jacobs/NCEP 12/07 Added CAPE, CINH, LI and TPW
! T. Piper/SAIC 03/08 Updated with new Alaska and Hawaii mosaics
! G. Grosshans/SPC 04/08 Added GOES SOUNDER
! S. Jacobs/NCEP 12/08 Added GOES13 entries - copied from GOES12
! S. Jacobs/NCEP 03/09 Added BLENDED_TPW entries
! X. Guo/CWS 04/10 Added 94 product
! X. Guo/CWS 04/10 Updated 99,134 and 135 profucts
! S. Jacobs/NCEP 7/10 Added MTSAT2
! S. Jacobs/NCEP 4/11 Added entries for OMI images for sat id = 100
! F. Achorn/OPC 10/11 Added RGB products per M. Folmer/OPC/HPC/SAB
! K. Kempisty/NCEP 11/11 Added GOES15
! F. Achorn/OPC 12/11 Added MODIS products per M. Folmer/OPC/HPC/SAB
! S. Jacobs/NCEP 6/12 Added more GOESR-related entries
! S. Jacobs/NCEP 9/12 Added GOES14
! S. Jacobs/NCEP 9/12 Added an entry for DPD-GHE images
! S. Jacobs/NCEP 10/12 Changed GOES14 to use data from GOESR testing
! M. James/Unidata 01/14 Reorganization for new UNIWISC products
!------------------------------------------------------------------------------
!
! |IMG | | |SAT ID|IMGTYP| PIXEL| DEFAULT |
!SAT ID |TYP | MIN| MAX|NUMBER|NUMBER| DEPTH| LUT FILE |
!(20) |(8) | (6)| (6)| (6)| (6)| (6)| (14) |
! | | | | | | | |
!------------------------------------------------------------------------------
AIRS CO 3 253 240 2 1 rainbow.tbl
AIRS O3 3 253 240 1 1 rainbow.tbl
ALASKA 1 KM BASE REFLECT 0 15 6 139 1 osf_ref16.tbl
ALASKA 1 KM BREF Unfil WSR-88D 0 255 8 223 1 osf_ref16.tbl
ALASKA 1 KM BREF WSR-88D 0 255 8 220 1 osf_ref16.tbl
ALASKA 1 KM CREF WSR-88D 0 15 8 190 1 osf_ref16.tbl
ALASKA 2 KM 1HR PRECIP 0 15 6 89 1 nids_pre.tbl
ALASKA 2 KM 24HR PRECIP 0 15 6 106 1 nids_pre.tbl
ALASKA 2 KM BASE REFLECT 0 15 6 137 1 osf_ref16.tbl
ALASKA 2 KM BASE REFLECT 0 15 6 138 1 osf_ref16.tbl
ALASKA 2 KM BASE REFLECT 0 15 6 140 1 osf_ref16.tbl
ALASKA 2 KM BREF WSR-88D 0 255 8 221 1 osf_ref16.tbl
ALASKA 2 KM CML PRECIP 0 15 6 105 1 nids_pre.tbl
ALASKA 4 KM 1HR PRECIP 0 15 6 90 1 nids_pre.tbl
ALASKA 4 KM 24HR PRECIP 0 15 6 102 1 nids_pre.tbl
ALASKA 4 KM CML PRECIP 0 15 6 101 1 nids_pre.tbl
ALASKA 4 KM COMP REFLECT 0 15 6 30 1 osf_ref16.tbl
ALASKA 4 KM ECHO TOPS 0 15 6 95 1 nids_tops.tbl
ALASKA 4 KM HAIL INDEX 0 15 8 120 1 nids_pre.tbl
ALASKA 4 KM MDA 0 15 8 121 1 nids_pre.tbl
ALASKA 4 KM STI 0 15 8 122 1 nids_pre.tbl
ALASKA 4 KM TVS 0 15 8 123 1 nids_pre.tbl
ALASKA 4 KM VIL 0 15 6 148 1 nids_vil.tbl
ALASKA 8 KM Combined Storms 0 15 8 100 1 nids_tops.tbl
ALASKA 8 KM Combined Storms 0 15 8 99 1 nids_tops.tbl
AMSRE MW 0 255 10 0 1 micro89a.tbl
AMSRE-SSW MW 0 255 10 2**31 1 ssmiwind.tbl
AMSU-89GHZ MW 0 255 10 2**15 1 micro89a.tbl
AMSU-PWAT MW 0 255 10 2**23 1 micropw.tbl
AMSU-RAIN MW 0 255 10 2**21 1 microrain.tbl
ANTARCTICA IR 0 255 72 8 1 ir_sab.tbl
ANTARCTICA VIS 0 255 72 1 1 GRAY
ANTARCTICA WV 0 255 72 4 1 wv_tpc.tbl
AQUA-MODIS AIRMASS 0 94 111 8192 1 airmass.tbl
AQUA-MODIS DUST 0 94 111 32768 1 dust.tbl
AQUA-MODIS NTMICRO 0 94 111 16384 1 ntmicro.tbl
ARCTIC 0.65 VIS 0 255 401 1 1 GRAY
ARCTIC 11.0 IR 0 255 401 8 1 ir_rgbv.tbl
ARCTIC 12.0 IR 0 255 401 16 1 ir_rgbv.tbl
ARCTIC 3.8 IR 0 255 401 2 1 ir_rgbv.tbl
ARCTIC 6.7 WV 0 255 401 1 1 wv_tpc.tbl
ARCTIC 6.7 WV 0 255 401 4 1 wv_tpc.tbl
BLENDED-TPW BLEND 0 255 10 16 1 gdpipw.tbl
CAPE IR 0 255 77 8 1 gdpicape.tbl
CINH IR 0 255 77 16 1 gdpicinh.tbl
CREF MOSAIC 0 255 7 253 1 upc_radimg.tbl
CTMPK IR_TMPK 0 255 11 2**15 1 ir_upc3.tbl
DMSP-PWAT PRXX 0 255 94 2**28 1 micropw.tbl
DMSP-PWAT PW 0 255 94 2**16 1 micropw.tbl
DPD GHE 0 255 10 8 1 ssmi_opc.tbl
ECHO TOP18 MOSAIC 0 255 7 252 1 upc_ramp.tbl
FIRE_WEATHER_PROD FIRE_WX 0 255 78 -2**31 1 wfabba.tbl
FOG-PROD FOG-PROD 0 255 11 2**5 1 gdpifog.tbl
FYC IR4 0 255 35 2 1 GRAY
FYC SW 0 255 35 16 1 GRAY
FYC VIS 30 220 35 1 1 GRAY
FYC WV 0 255 35 8 1 GRAY
GMS IR 0 255 13 128 1 GRAY
GMS IR 0 255 13 2 1 GRAY
GMS IR 0 255 13 8 1 GRAY
GMS IR 0 255 83 128 1 GRAY
GMS IR 0 255 83 2 1 GRAY
GMS IR 0 255 83 8 1 GRAY
GMS VIS 30 220 12 1 1 GRAY
GMS VIS 30 220 83 1 1 GRAY
GOES10 IR2 0 255 74 2 1 GRAY
GOES10 IR2 0 255 74 2 2 GRAY
GOES10 IR3 0 255 74 4 1 wv_tpc.tbl
GOES10 IR3 0 255 74 4 2 wv_tpc.tbl
GOES10 IR4 0 255 74 128 1 GRAY
GOES10 IR4 0 255 74 128 2 GRAY
GOES10 IR4 0 255 74 8 1 GRAY
GOES10 IR4 0 255 74 8 2 GRAY
GOES10 IR5 0 255 74 16 1 GRAY
GOES10 IR5 0 255 74 16 2 GRAY
GOES10 VIS 0 1023 74 1 2 GRAY
GOES10 VIS 30 220 74 1 1 GRAY
GOES11 IR2 0 255 76 2 1 GRAY
GOES11 IR2 0 255 76 2 2 GRAY
GOES11 IR3 0 255 76 4 1 wv_tpc.tbl
GOES11 IR3 0 255 76 4 2 wv_tpc.tbl
GOES11 IR4 0 255 76 128 1 GRAY
GOES11 IR4 0 255 76 128 2 GRAY
GOES11 IR4 0 255 76 8 1 GRAY
GOES11 IR4 0 255 76 8 2 GRAY
GOES11 IR5 0 255 76 16 1 GRAY
GOES11 IR5 0 255 76 16 2 GRAY
GOES11 VIS 0 1023 76 1 2 GRAY
GOES11 VIS 0 255 76 1 1 GRAY
GOES12 11.03 SOUNDER 0 255 78 48 1 GRAY
GOES12 14.06 SOUNDER 0 255 78 43 1 GRAY
GOES12 3.98 SOUNDER 0 255 78 57 1 GRAY
GOES12 4.45 SOUNDER 0 255 78 55 1 GRAY
GOES12 6.51 SOUNDER 0 255 78 52 1 GRAY
GOES12 7.02 SOUNDER 0 255 78 51 1 GRAY
GOES12 7.43 SOUNDER 0 255 78 50 1 GRAY
GOES12 CLD AMT SOUNDER 0 255 78 28 1 GRAY
GOES12 CLD TOP H SOUNDER 0 255 78 27 1 GRAY
GOES12 IR2 0 255 78 2 1 GRAY
GOES12 IR2 0 255 78 2 2 GRAY
GOES12 IR3 0 255 78 4 1 wv_tpc.tbl
GOES12 IR3 0 255 78 4 2 wv_tpc.tbl
GOES12 IR4 0 255 78 128 1 GRAY
GOES12 IR4 0 255 78 128 2 GRAY
GOES12 IR4 0 255 78 8 1 GRAY
GOES12 IR4 0 255 78 8 2 GRAY
GOES12 IR5 0 255 78 16 1 GRAY
GOES12 IR5 0 255 78 16 2 GRAY
GOES12 LI SOUNDER 0 255 78 16 1 GRAY
GOES12 PW SOUNDER 0 255 78 17 1 GRAY
GOES12 SFCSKIN T SOUNDER 0 255 78 18 1 GRAY
GOES12 SVIS SOUNDER 0 255 78 59 1 GRAY
GOES12 VIS 0 1023 78 1 2 GRAY
GOES12 VIS 0 255 78 1 1 GRAY
GOES13 11.03 SOUNDER 0 255 180 48 1 GRAY
GOES13 13.3 IR 0 255 180 32 1 ir_tpc.tbl
GOES13 14.06 SOUNDER 0 255 180 43 1 GRAY
GOES13 3.98 SOUNDER 0 255 180 57 1 GRAY
GOES13 4.45 SOUNDER 0 255 180 55 1 GRAY
GOES13 6.51 SOUNDER 0 255 180 52 1 GRAY
GOES13 7.02 SOUNDER 0 255 180 51 1 GRAY
GOES13 7.43 SOUNDER 0 255 180 50 1 GRAY
GOES13 AIRMASS SOUNDER 0 94 77 8192 1 airmass.tbl
GOES13 CLD AMT SOUNDER 0 255 180 28 1 GRAY
GOES13 CLD TOP H SOUNDER 0 255 180 27 1 GRAY
GOES13 VIS 0 255 180 1 1 GRAY
GOES13 3.9 IR2 0 255 180 2 1 GRAY
GOES13 IR2 0 255 180 2 2 GRAY
GOES13 IR2 0 255 80 2 1 GRAY
GOES13 IR2 0 255 80 2 2 GRAY
GOES13 IR3 0 255 180 2 1 GRAY
GOES13 WV 0 255 180 4 1 wv_tpc.tbl
GOES13 WV 0 255 180 4 2 wv_tpc.tbl
GOES13 WV 0 255 80 4 1 wv_tpc.tbl
GOES13 WV 0 255 80 4 2 wv_tpc.tbl
GOES13 IR 0 255 180 128 1 ir_rgbv.tbl
GOES13 IR 0 255 180 128 2 ir_rgbv.tbl
GOES13 IR 0 255 180 4 1 ir_rgbv.tbl
GOES13 IR 0 255 180 8 1 ir_rgbv.tbl
GOES13 IR 0 255 180 8 2 ir_rgbv.tbl
GOES13 IR 0 255 80 128 1 ir_rgbv.tbl
GOES13 IR 0 255 80 128 2 ir_rgbv.tbl
GOES13 IR 0 255 80 8 1 ir_rgbv.tbl
GOES13 IR 0 255 80 8 2 ir_rgbv.tbl
GOES13 IR 0 255 180 16 1 ir_rgbv.tbl
GOES13 IR 0 255 180 16 2 ir_rgbv.tbl
GOES13 IR 0 255 180 8 1 ir_rgbv.tbl
GOES13 IR 0 255 80 16 1 ir_rgbv.tbl
GOES13 IR 0 255 80 16 2 ir_rgbv.tbl
GOES13 LI SOUNDER 0 255 180 16 1 GRAY
GOES13 PW SOUNDER 0 255 180 17 1 GRAY
GOES13 SFCSKIN T SOUNDER 0 255 180 18 1 GRAY
GOES13 SVIS SOUNDER 0 255 180 59 1 GRAY
GOES13 VIS 0 1023 180 1 2 GRAY
GOES13 VIS 0 1023 80 1 2 GRAY
GOES13 VIS 0 255 180 1 1 GRAY
GOES13 VIS 0 255 80 1 1 GRAY
GOES14 11.03 SOUNDER 0 255 183 48 1 GRAY
GOES14 14.06 SOUNDER 0 255 183 43 1 GRAY
GOES14 3.98 SOUNDER 0 255 183 57 1 GRAY
GOES14 4.45 SOUNDER 0 255 183 55 1 GRAY
GOES14 6.51 SOUNDER 0 255 183 52 1 GRAY
GOES14 7.02 SOUNDER 0 255 183 51 1 GRAY
GOES14 7.43 SOUNDER 0 255 183 50 1 GRAY
GOES14 CLD AMT SOUNDER 0 255 183 28 1 GRAY
GOES14 CLD TOP H SOUNDER 0 255 183 27 1 GRAY
GOES14 IR2 0 255 182 2 1 GRAY
GOES14 IR2 0 255 182 2 2 GRAY
GOES14 IR3 0 255 182 4 1 wv_tpc.tbl
GOES14 IR3 0 255 182 4 2 wv_tpc.tbl
GOES14 IR4 0 255 182 128 1 GRAY
GOES14 IR4 0 255 182 128 2 GRAY
GOES14 IR4 0 255 182 8 1 GRAY
GOES14 IR4 0 255 182 8 2 GRAY
GOES14 IR5 0 255 182 16 2 GRAY
GOES14 IR6 0 255 182 32 1 GRAY
GOES14 LI SOUNDER 0 255 183 16 1 GRAY
GOES14 PW SOUNDER 0 255 183 17 1 GRAY
GOES14 SFCSKIN T SOUNDER 0 255 183 18 1 GRAY
GOES14 SVIS SOUNDER 0 255 183 59 1 GRAY
GOES14 VIS 0 1023 182 1 2 GRAY
GOES14 VIS 0 255 182 1 1 GRAY
GOES15 11.03 SOUNDER 0 255 184 48 1 GRAY
GOES15 13.3 IR6 0 255 184 32 1 ir_rgbv.tbl
GOES15 14.06 SOUNDER 0 255 184 43 1 GRAY
GOES15 3.98 SOUNDER 0 255 184 57 1 GRAY
GOES15 4.45 SOUNDER 0 255 184 55 1 GRAY
GOES15 6.51 SOUNDER 0 255 184 52 1 GRAY
GOES15 7.02 SOUNDER 0 255 184 51 1 GRAY
GOES15 7.43 SOUNDER 0 255 184 50 1 GRAY
GOES15 CLD AMT SOUNDER 0 255 184 28 1 GRAY
GOES15 CLD TOP H SOUNDER 0 255 184 27 1 GRAY
GOES15 VIS 0 255 184 1 1 GRAY
GOES15 IR 0 255 184 2 1 ir_rgbv.tbl
GOES15 IR 0 255 184 2 2 ir_rgbv.tbl
GOES15 IR 0 255 84 2 1 ir_rgbv.tbl
GOES15 IR 0 255 84 2 2 ir_rgbv.tbl
GOES15 IR 0 255 184 2 1 ir_rgbv.tbl
GOES15 IR 0 255 184 128 1 ir_rgbv.tbl
GOES15 IR 0 255 184 128 2 ir_rgbv.tbl
GOES15 IR 0 255 184 32 1 ir_rgbv.tbl
GOES15 IR 0 255 184 8 1 ir_rgbv.tbl
GOES15 IR 0 255 184 8 2 ir_rgbv.tbl
GOES15 IR 0 255 84 128 1 ir_rgbv.tbl
GOES15 IR 0 255 84 128 2 ir_rgbv.tbl
GOES15 IR 0 255 84 8 1 ir_rgbv.tbl
GOES15 IR 0 255 84 8 2 ir_rgbv.tbl
GOES15 IR 0 255 184 16 2 ir_rgbv.tbl
GOES15 IR 0 255 84 16 1 ir_rgbv.tbl
GOES15 IR 0 255 84 16 2 ir_rgbv.tbl
GOES15 IR6 0 255 184 8 1 GRAY
GOES15 LI SOUNDER 0 255 184 16 1 GRAY
GOES15 PW SOUNDER 0 255 184 17 1 GRAY
GOES15 SFCSKIN T SOUNDER 0 255 184 18 1 GRAY
GOES15 SVIS SOUNDER 0 255 184 59 1 GRAY
GOES15 VIS 0 1023 184 1 2 GRAY
GOES15 VIS 0 1023 84 1 2 GRAY
GOES15 VIS 0 255 184 1 1 GRAY
GOES15 VIS 0 255 84 1 1 GRAY
GOES15 WV 0 255 184 4 1 wv_tpc.tbl
GOES15 WV 0 255 184 4 2 wv_tpc.tbl
GOES15 WV 0 255 84 4 1 wv_tpc.tbl
GOES15 WV 0 255 84 4 2 wv_tpc.tbl
GOES6 IR 0 255 31 128 1 GRAY
GOES6 VIS 30 220 30 1 1 GRAY
GOES6 WV 0 255 31 512 1 wv_tpc.tbl
GOES7 IR 0 255 33 128 1 GRAY
GOES7-RAW IR 1280 18000 33 128 2 GRAY
GOES7-RAW WV 0 18000 33 512 2 wv_tpc.tbl
GOES7 VIS 30 220 32 1 1 GRAY
GOES7 VISPC 0 255 32 128 1 GRAY
GOES7 WV 0 255 33 512 1 wv_tpc.tbl
GOES8 IR 0 255 70 128 1 GRAY
GOES8 IR 0 255 70 128 2 GRAY
GOES COMPOSITE IR 0 255 70 8 1 ir_rgbv.tbl
GOES8 IR 0 255 70 8 2 GRAY
GOES8 IR2 0 255 70 2 1 GRAY
GOES8 IR2 0 255 70 2 2 GRAY
GOES8 IR5 0 255 70 16 1 GRAY
GOES8 IR5 0 255 70 16 2 GRAY
GOES8 SND 0 255 71 1 1 GRAY
GOES8 VIS 0 1023 70 1 2 GRAY
GOES COMPOSITE VIS 30 220 70 1 1 GRAY
GOES COMPOSITE WV 0 255 70 4 1 wv_tpc.tbl
GOES8 WV 0 255 70 4 2 wv_tpc.tbl
GOES9 IR 0 255 72 8 2 ir_sab.tbl
GOES9 IR 0 255 72 128 2 ir_sab.tbl
GOES9 VIS 0 1023 72 1 2 GRAY
GOES9 IR 0 255 72 2 1 ir_sab.tbl
GOES9 IR 0 255 72 2 2 ir_sab.tbl
GOES9 WV 0 255 72 4 2 wv_tpc.tbl
GOES9 IR 0 255 72 16 1 ir_sab.tbl
GOES9 IR 0 255 72 16 2 ir_sab.tbl
GOES9 IR 0 255 72 128 1 ir_sab.tbl
GOESR-ABI 13M6 0 255 186 2**16 1 fogcira.tbl
GOESR-ABI BAND08 0 255 186 128 1 WVCIMSS.tbl
GOESR-ABI BAND09 0 255 186 256 1 WVCIMSS.tbl
GOESR-ABI BAND10 0 255 186 512 1 WVCIMSS.tbl
GOESR-ABI BAND11 0 255 186 1024 1 ir_sab.tbl
GOESR-ABI BAND12 0 255 186 2**11 1 ir_sab.tbl
GOESR-ABI BAND13 0 255 186 2**12 1 ir_sab.tbl
GOESR-ABI BAND14 0 255 186 2**13 1 ir_sab.tbl
GOESR-ABI BAND15 0 255 186 2**14 1 ir_sab.tbl
GOESR-ABI BAND16 0 255 186 2**15 1 ir_sab.tbl
GOESR-ABI VIS2 0 255 186 2 1 GRAY
HAWAII 1 KM BASE REFLECT 0 15 5 139 1 osf_ref16.tbl
HAWAII 1 KM BREF Unfil WSR-88D 0 255 8 223 1 osf_ref16.tbl
HAWAII 1 KM BREF WSR-88D 0 255 8 220 1 osf_ref16.tbl
HAWAII 1 KM CREF WSR-88D 0 15 8 190 1 osf_ref16.tbl
HAWAII 2 KM 1HR PRECIP 0 15 5 89 1 nids_pre.tbl
HAWAII 2 KM 24HR PRECIP 0 15 5 106 1 nids_pre.tbl
HAWAII 2 KM BASE REFLECT 0 15 5 137 1 osf_ref16.tbl
HAWAII 2 KM BASE REFLECT 0 15 5 138 1 osf_ref16.tbl
HAWAII 2 KM BASE REFLECT 0 15 5 140 1 osf_ref16.tbl
HAWAII 2 KM BREF WSR-88D 0 255 8 221 1 osf_ref16.tbl
HAWAII 2 KM CML PRECIP 0 15 5 105 1 nids_pre.tbl
HAWAII 4 KM 1HR PRECIP 0 15 5 90 1 nids_pre.tbl
HAWAII 4 KM 24HR PRECIP 0 15 5 102 1 nids_pre.tbl
HAWAII 4 KM CML PRECIP 0 15 5 101 1 nids_pre.tbl
HAWAII 4 KM COMP REFLECT 0 15 5 30 1 osf_ref16.tbl
HAWAII 4 KM ECHO TOPS 0 15 5 95 1 nids_tops.tbl
HAWAII 4 KM HAIL INDEX 0 15 8 120 1 nids_pre.tbl
HAWAII 4 KM MDA 0 15 8 121 1 nids_pre.tbl
HAWAII 4 KM STI 0 15 8 122 1 nids_pre.tbl
HAWAII 4 KM TVS 0 15 8 123 1 nids_pre.tbl
HAWAII 4 KM VIL 0 15 5 148 1 nids_vil.tbl
HAWAII 8 KM Combined Storms 0 15 8 100 1 nids_tops.tbl
HAWAII 8 KM Combined Storms 0 15 8 99 1 nids_tops.tbl
HGHT CREF MOSAIC 0 255 7 248 1 upc_ramp.tbl
HGHT LOW LEVEL CREF MOSAIC 0 255 7 242 1 upc_ramp.tbl
HYBRID SCAN REFL MOSAIC 0 255 7 244 1 upc_ramp.tbl
HYBRID SCAN REFL MOSAIC 0 255 7 246 1 upc_radimg.tbl
IRSAT-BASE COMPOS 0 94 11 2**9 1 upc_t_s.tbl
LI IR 0 255 77 32 1 gdpili.tbl
!
! Local NEXRAD
!
! .15 km
LOCAL .15 KM BASE TDWR_REFLECT 0 15 7 181 1 osf_ref16.tbl
LOCAL .15 KM BASE TDWR_VELOCITY 0 15 7 183 1 osf_vel16.tbl
LOCAL .15 KM BASE TDWR_VELOCITY 0 255 7 182 1 upc_vel.tbl
!
LOCAL 1 KM BASE REFLECT 0 7 7 16 1 osf_ref8.tbl
LOCAL 2 KM BASE REFLECT 0 7 7 17 1 osf_ref8.tbl
LOCAL 4 KM BASE REFLECT 0 7 7 18 1 osf_ref8.tbl
LOCAL 1 KM BASE REFLECT 0 15 7 19 1 osf_ref16.tbl
LOCAL 2 KM BASE REFLECT 0 15 7 20 1 osf_ref16.tbl
LOCAL 4 KM BASE REFLECT 0 15 7 21 1 osf_ref16.tbl
LOCAL .25 KM RADIAL VELOCITY 0 7 7 22 1 nids_vel8.tbl
LOCAL .50 KM RADIAL VELOCITY 0 7 7 23 1 nids_vel8.tbl
LOCAL 1 KM RADIAL VELOCITY 0 7 7 24 1 nids_vel8.tbl
LOCAL .25 KM RADIAL VELOCITY 0 15 7 25 1 nids_vel16.tbl
LOCAL .50 KM RADIAL VELOCITY 0 15 7 26 1 nids_vel16.tbl
LOCAL 1 KM RADIAL VELOCITY 0 15 7 27 1 nids_vel16.tbl
LOCAL .25 KM SPCTRM WIDTH 0 7 7 28 1 nids_swid.tbl
LOCAL .50 KM SPCTRM WIDTH 0 7 7 29 1 nids_swid.tbl
LOCAL 1 KM SPCTRM WIDTH 0 7 7 30 1 nids_swid.tbl
LOCAL 1 KM DIGITAL HY_REF 0 255 7 32 1 upc_ref.tbl
LOCAL 1 KM COMP REFLECT 0 7 7 35 1 osf_ref8.tbl
LOCAL 4 KM COMP REFLECT 0 7 7 36 1 osf_ref8.tbl
LOCAL 1 KM COMP REFLECT 0 15 7 37 1 osf_ref16.tbl
LOCAL 4 KM COMP REFLECT 0 15 7 38 1 osf_ref16.tbl
LOCAL 4 KM ECHO TOPS 0 15 7 41 1 nids_tops.tbl
LOCAL 1 KM SVR WX REFLECT 0 15 7 43 1 osf_ref16.tbl
LOCAL .25KM SVR WX VELOCITY 0 15 7 44 1 nids_vel16.tbl
LOCAL .25KM SVR WX SWIDTH 0 7 7 45 1 nids_swid.tbl
LOCAL .50KM SVR WX SHEAR 0 15 7 46 1 nids_rsher.tbl
LOCAL 4 KM VAD WIND PROFILE 0 15 7 48 1 nids_vel16.tbl
LOCAL .50KM COMBINED MOMENT 0 15 7 49 1 nids_cmref.tbl
LOCAL 1 KM X-SECT REFLECT 0 15 7 50 1 osf_ref16.tbl
LOCAL 1 KM X-SECT VELOCITY 0 15 7 51 1 nids_vel16.tbl
LOCAL 1 KM X-SECT SWIDTH 0 7 7 52 1 nids_swid.tbl
LOCAL 1 KM WK ECHO REGION 0 7 7 53 1 nids_wecho.tbl
LOCAL .50 KM STM REL VELOCITY 0 15 7 55 1 nids_vel16.tbl
LOCAL 1 KM STM REL VELOCITY 0 15 7 56 1 nids_vel16.tbl
LOCAL 4 KM VIL 0 15 7 57 1 nids_vil.tbl
LOCAL 4 KM L1 REFL AVE 0 7 7 63 1 osf_ref8.tbl
LOCAL 4 KM L2 REFL AVE 0 7 7 64 1 osf_ref8.tbl
LOCAL 4 KM L1 REFL MAX 0 7 7 65 1 osf_ref8.tbl
LOCAL 4 KM L2 REFL MAX 0 7 7 66 1 osf_ref8.tbl
LOCAL 4 KM L1 TURB AVE 0 7 7 67 1 osf_ref8.tbl
LOCAL 4 KM L2 TURB AVE 0 7 7 68 1 osf_ref8.tbl
LOCAL 4 KM L3 TURB AVE 0 7 7 69 1 osf_ref8.tbl
LOCAL 4 KM L1 TURB MAX 0 7 7 70 1 osf_ref8.tbl
LOCAL 4 KM L2 TURB MAX 0 7 7 71 1 osf_ref8.tbl
LOCAL 4 KM L3 TURB MAX 0 7 7 72 1 osf_ref8.tbl
LOCAL 2 KM 1HR PCP ACCUM 0 15 7 78 1 nids_pre.tbl
LOCAL 2 KM 3HR PCP ACCUM 0 15 7 79 1 nids_pre.tbl
LOCAL 2 KM TOT PCP ACCUM 0 15 7 80 1 nids_pre.tbl
LOCAL 2 KM DIGITAL PRCP ARRAY 0 255 7 81 1 upc_n1p.tbl
LOCAL COMBINED SHEAR 0 15 7 87 1 nids_csher.tbl
LOCAL 4 KM L3 REFL AVE 0 7 7 89 1 osf_ref8.tbl
LOCAL 4 KM L3 REFL MAX 0 7 7 90 1 osf_ref8.tbl
LOCAL 1 KM BASE REFLECT 0 255 7 94 1 upc_ref.tbl
LOCAL .25 KM RADIAL VELOCITY 0 255 7 99 1 upc_vel.tbl
LOCAL 1 KM DIGITAL VIL 0 255 7 134 1 upc_dvl.tbl
LOCAL 1 KM ECHO TOPS 0 199 7 135 1 upc_eet.tbl
LOCAL 2 KM HYBRID PRECIP 0 255 7 138 1 upc_dst.tbl
LOCAL .25 KM ZDR DUAL-POL 0 255 7 159 1 upc_zdr.tbl
LOCAL .25 KM DCC DUAL-POL 0 255 7 161 1 upc_dcc.tbl
LOCAL .25 KM KDP DUAL-POL 0 255 7 163 1 upc_kdp.tbl
LOCAL .25 KM DHC DUAL-POL 0 150 7 165 1 upc_dhc.tbl
LOCAL 2 KM OHA DUAL-POL 0 16 7 169 1 upc_st.tbl
LOCAL .25 KM DAA DUAL-POL 0 255 7 170 1 upc_dst.tbl
LOCAL 2 KM PTA DUAL-POL 0 16 7 171 1 upc_st.tbl
LOCAL .25 KM DTA DUAL-POL 0 255 7 172 1 upc_dst.tbl
LOCAL .25 KM DUA DUAL-POL 0 255 7 173 1 upc_dst.tbl
LOCAL .25 KM DOD DUAL-POL 0 255 7 174 1 upc_od.tbl
LOCAL .25 KM DSD DUAL-POL 0 255 7 175 1 upc_od.tbl
LOCAL .25 KM INST PRECIP_RT 0 255 7 176 1 upc_dpr.tbl
LOCAL .25 KM HHC DUAL-POL 0 150 7 177 1 upc_dhc.tbl
LOCAL .30 KM BASE TDWR_REFLECT 0 255 7 186 1 upc_ref.tbl
LOCAL .30 KM BASE TDWR_REFLECT 0 15 7 187 1 osf_ref16.tbl
!
LOW LEVEL CREF MOSAIC 0 255 7 243 1 upc_radimg.tbl
MAX EST HAIL SIZE MOSAIC 0 255 7 247 1 upc_ramp.tbl
MDR_PRODUCT MDR 0 255 2 1 1 mdr.tbl
METEOSAT10 HRVIS 0 1023 53 2048 2 GRAY
METEOSAT10 HRVIS 0 255 53 2048 1 GRAY
METEOSAT10 IR 0 1023 53 64 2 GRAY
METEOSAT10 IR_10.8 0 255 53 256 1 GRAY
METEOSAT10 IR_12.0 0 255 53 512 1 GRAY
METEOSAT10 IR_8.7 0 255 53 64 1 GRAY
METEOSAT10 NIR_1.6 0 255 53 4 1 visgray.tbl
METEOSAT10 SWIR_3.9 0 255 53 8 1 ir_grb.tbl
METEOSAT10 VIS_0.6 0 255 53 1 1 lingray.tbl
METEOSAT10 VIS_0.8 0 255 53 2 1 lingray.tbl
METEOSAT10 WV_6.2 0 255 53 16 1 wv_tpc.tbl
METEOSAT10 WV_7.3 0 255 53 32 1 wv_tpc.tbl
METEOSAT3 IR 20 250 54 128 1 GRAY
METEOSAT3 VIS 0 255 54 1 1 GRAY
METEOSAT3 WV 0 255 54 512 1 wv_tpc.tbl
METEOSAT5 IR 20 250 56 128 1 GRAY
METEOSAT5 IR 20 250 56 8 1 GRAY
METEOSAT5 VIS 0 255 56 1 1 GRAY
METEOSAT5 WV 0 255 56 4 1 wv_tpc.tbl
METEOSAT5 WV 0 255 56 512 1 wv_tpc.tbl
METEOSAT6 IR 0 255 57 128 1 GRAY
METEOSAT6 VIS 0 255 57 1 1 GRAY
METEOSAT6 WV 0 255 57 512 1 wv_tpc.tbl
METEOSAT7 IR 0 255 58 128 1 GRAY
METEOSAT7 IR 0 255 58 8 1 GRAY
METEOSAT7 VIS 0 255 58 1 1 GRAY
METEOSAT7 WV 0 255 58 4 1 wv_tpc.tbl
METEOSAT7 WV 0 255 58 512 1 wv_tpc.tbl
METEOSAT8 HRVIS 0 1023 51 2048 2 GRAY
METEOSAT8 HRVIS 0 255 51 2048 1 GRAY
METEOSAT8 IR 0 1023 51 64 2 GRAY
METEOSAT8 IR_10.8 0 255 51 256 1 GRAY
METEOSAT8 IR_12.0 0 255 51 512 1 GRAY
METEOSAT8 IR_8.7 0 255 51 64 1 GRAY
METEOSAT8 NIR_1.6 0 255 51 4 1 visgray.tbl
METEOSAT8 SWIR_3.9 0 255 51 8 1 ir_grb.tbl
METEOSAT8 VIS_0.6 0 255 51 1 1 lingray.tbl
METEOSAT8 VIS_0.8 0 255 51 2 1 lingray.tbl
METEOSAT8 WV_6.2 0 255 51 16 1 wv_tpc.tbl
METEOSAT8 WV_7.3 0 255 51 32 1 wv_tpc.tbl
METEOSAT9 AIRMASS 0 94 52 8192 1 airmass.tbl
METEOSAT9 DAYSTRM 0 94 52 65536 1 daystrm.tbl
METEOSAT9 DUST 0 94 52 32768 1 dust.tbl
METEOSAT9 DYMICRO 0 94 52 131072 1 dymicro.tbl
METEOSAT9 DYSNFOG 0 94 52 262144 1 snowfog.tbl
METEOSAT9 HRVIS 0 1023 52 2048 2 GRAY
METEOSAT9 HRVIS 0 255 52 2048 1 GRAY
METEOSAT9 IR 0 1023 52 64 2 GRAY
METEOSAT9 IR_10.8 0 255 52 256 1 GRAY
METEOSAT9 IR_12.0 0 255 52 512 1 GRAY
METEOSAT9 IR_8.7 0 255 52 64 1 GRAY
METEOSAT9 NATURAL 0 94 52 4096 1 natural.tbl
METEOSAT9 NIR_1.6 0 255 52 4 1 visgray.tbl
METEOSAT9 NTMICRO 0 94 52 16384 1 ntmicro.tbl
METEOSAT9 SWIR_3.9 0 255 52 8 1 ir_grb.tbl
METEOSAT9 VIS_0.6 0 255 52 1 1 lingray.tbl
METEOSAT9 VIS_0.8 0 255 52 2 1 lingray.tbl
METEOSAT9 WV_6.2 0 255 52 16 1 wv_tpc.tbl
METEOSAT9 WV_7.3 0 255 52 32 1 wv_tpc.tbl
MODIS IR 0 255 111 2**30 1 goes_dwp.tbl
MREFL QPESUMS MOSAIC 0 255 7 254 1 upc_radimg.tbl
MTSAT1 IR 0 255 84 2 1 GRAY
MTSAT1 IR2 0 255 84 16 1 GRAY
MTSAT1 VIS 30 220 84 1 1 GRAY
MTSAT1 WV 0 255 84 8 1 wv_tpc.tbl
MTSAT2 IR 0 255 85 2 1 GRAY
MTSAT2 IR2 0 255 85 16 1 GRAY
MTSAT2 VIS 30 220 85 1 1 GRAY
MTSAT2 WV 0 255 85 8 1 wv_tpc.tbl
! more Radar
NATIONAL 1 KM 01HR PRECIP 0 15 8 200 1 w2_pre.tbl
NATIONAL 1 KM 02HR PRECIP 0 15 8 201 1 w2_pre.tbl
NATIONAL 1 KM BASE REFLECT 0 15 8 139 1 osf_ref16.tbl
NATIONAL 1 KM BREF 1x1KM 0 255 8 216 1 osf_ref16.tbl
NATIONAL 1 KM BREF FILTERED WSR 0 255 8 225 1 osf_ref16.tbl
NATIONAL 1 KM BREF UNFIL WSR-88D 0 255 8 223 1 osf_ref16.tbl
NATIONAL 1 KM BREF WSR-88D 0 255 8 220 1 osf_ref16.tbl
NATIONAL 1 KM COMP REFLECT 0 15 8 202 1 osf_ref16.tbl
NATIONAL 1 KM COMP REFLECT 0 15 8 211 1 osf_ref16.tbl
NATIONAL 1 KM CREF 1X1KM 0 15 8 203 1 osf_ref16.tbl
NATIONAL 1 KM CREF 1X1KM 0 15 8 209 1 osf_ref16.tbl
NATIONAL 1 KM CREF TDWR 0 15 8 191 1 osf_ref16.tbl
NATIONAL 1 KM CREF WSR-88D 0 15 8 190 1 osf_ref16.tbl
NATIONAL 1 KM ECHO TOPS 0 15 8 210 1 osf_ref16.tbl
NATIONAL 1 KM ECHO TOPS 0 15 8 212 1 osf_ref16.tbl
NATIONAL 1 KM ECHO TOPS 0 15 8 213 1 osf_ref16.tbl
NATIONAL 1 KM MESH 0 15 8 208 1 osf_ref16.tbl
NATIONAL 1 KM POSH 0 15 8 207 1 osf_ref16.tbl
NATIONAL 1 KM RALA REFLECT 0 15 8 203 1 osf_ref16.tbl
NATIONAL 1 KM RT10 SHEAR 0 15 8 204 1 w2_rtr.tbl
NATIONAL 1 KM RT30 SHEAR 0 15 8 205 1 w2_rtr.tbl
NATIONAL 1 KM RT60 SHEAR 0 15 8 206 1 w2_rtr.tbl
NATIONAL 1 KM VIL 0 15 8 209 1 osf_ref16.tbl
NATIONAL 2 KM 1HR PRECIP 0 15 8 89 1 nids_pre.tbl
NATIONAL 2 KM 24HR PRECIP 0 15 8 106 1 nids_pre.tbl
NATIONAL 2 KM BASE REFLECT 0 15 8 137 1 osf_ref16.tbl
NATIONAL 2 KM BASE REFLECT 0 15 8 138 1 osf_ref16.tbl
NATIONAL 2 KM BASE REFLECT 0 15 8 140 1 osf_ref16.tbl
NATIONAL 2 KM BASE REFLECT 0 15 8 70 1 osf_ref16.tbl
NATIONAL 2 KM BREF FILTERED WSR 0 255 8 226 1 osf_ref16.tbl
NATIONAL 2 KM BREF WSR-88D 0 255 8 221 1 osf_ref16.tbl
NATIONAL 2 KM CML PRECIP 0 15 8 105 1 nids_pre.tbl
NATIONAL 4 KM 1HR PRECIP 0 15 8 90 1 nids_pre.tbl
NATIONAL 4 KM 24HR PRECIP 0 15 8 102 1 nids_pre.tbl
NATIONAL 4 KM BASE REFLECT 0 15 8 141 1 osf_ref16.tbl
NATIONAL 4 KM BASE REFLECT 0 15 8 144 1 osf_ref16.tbl
NATIONAL 4 KM BASE REFLECT 0 15 8 75 1 osf_ref16.tbl
NATIONAL 4 KM CML PRECIP 0 15 8 101 1 nids_pre.tbl
NATIONAL 4 KM CML PRECIP 0 15 8 101 2 nids_pre.tbl
NATIONAL 4 KM COMP REFLECT 0 15 8 103 1 osf_ref16.tbl
NATIONAL 4 KM COMP REFLECT 0 15 8 26 1 osf_ref16.tbl
NATIONAL 4 KM COMP REFLECT 0 15 8 27 1 osf_ref16.tbl
NATIONAL 4 KM COMP REFLECT 0 15 8 30 1 osf_ref16.tbl
NATIONAL 4 KM COMP REFLECT 0 15 8 5 1 osf_ref16.tbl
NATIONAL 4 KM COMP REFLECT 0 7 8 13 1 osf_ref8.tbl
NATIONAL 4 KM COMP REFLECT 0 7 8 50 1 osf_ref8.tbl
NATIONAL 4 KM ECHO TOPS 0 15 8 95 1 nids_tops.tbl
NATIONAL 4 KM HAIL INDEX 0 15 8 120 1 nids_pre.tbl
NATIONAL 4 KM LYRH REFLECT 0 7 8 147 1 osf_ref8.tbl
NATIONAL 4 KM LYRL REFLECT 0 7 8 145 1 osf_ref8.tbl
NATIONAL 4 KM LYRM REFLECT 0 7 8 146 1 osf_ref8.tbl
NATIONAL 4 KM MDA 0 15 8 121 1 nids_pre.tbl
NATIONAL 4 KM STI 0 15 8 122 1 nids_pre.tbl
NATIONAL 4 KM TVS 0 15 8 123 1 nids_pre.tbl
NATIONAL 4 KM VIL 0 15 8 148 1 nids_vil.tbl
NATIONAL 8 KM 1HR PRECIP 0 15 8 91 1 nids_pre.tbl
NATIONAL 8 KM 24HR PRECIP 0 15 8 108 1 nids_pre.tbl
NATIONAL 8 KM BASE REFLECT 0 15 8 142 1 osf_ref16.tbl
NATIONAL 8 KM BASE REFLECT 0 15 8 80 1 osf_ref16.tbl
NATIONAL 8 KM CML PRECIP 0 15 8 107 1 nids_pre.tbl
NATIONAL 8 KM COMBINED STORMS 0 15 8 100 1 nids_tops.tbl
NATIONAL 8 KM COMBINED STORMS 0 15 8 99 1 nids_tops.tbl
NATIONAL 8 KM COMP REFLECT 0 15 8 10 1 osf_ref16.tbl
NATIONAL 8 KM COMP REFLECT 0 15 8 104 1 osf_ref16.tbl
NATIONAL 8 KM COMP REFLECT 0 15 8 28 1 osf_ref16.tbl
NATIONAL 8 KM COMP REFLECT 0 15 8 35 1 osf_ref16.tbl
NATIONAL 8 KM COMP REFLECT 0 7 8 25 1 osf_ref8.tbl
NATIONAL 8 KM COMP REFLECT 0 7 8 65 1 osf_ref8.tbl
NATIONAL 8 KM ECHO TOPS 0 15 8 96 1 nids_tops.tbl
NATIONAL 8 KM VIL 0 15 8 149 1 nids_vil.tbl
NATL 1 KM CAPI(01KM) REFLECT 0 15 8 214 1 osf_ref16.tbl
NATL 1 KM CAPI(02KM) REFLECT 0 15 8 215 1 osf_ref16.tbl
NATL 1 KM CAPI(03KM) REFLECT 0 15 8 216 1 osf_ref16.tbl
NATL 1 KM CAPI(04KM) REFLECT 0 15 8 217 1 osf_ref16.tbl
NATL 1 KM CAPI(05KM) REFLECT 0 15 8 218 1 osf_ref16.tbl
NATL 1 KM CAPI(06KM) REFLECT 0 15 8 219 1 osf_ref16.tbl
NATL 1 KM CAPI(07KM) REFLECT 0 15 8 220 1 osf_ref16.tbl
NATL 1 KM CAPI(08KM) REFLECT 0 15 8 221 1 osf_ref16.tbl
NATL 1 KM CAPI(09KM) REFLECT 0 15 8 222 1 osf_ref16.tbl
NATL 1 KM CAPI(10KM) REFLECT 0 15 8 223 1 osf_ref16.tbl
NATL 1 KM CAPI(11KM) REFLECT 0 15 8 224 1 osf_ref16.tbl
NATL 1 KM CAPI(12KM) REFLECT 0 15 8 225 1 osf_ref16.tbl
NATL 1 KM CAPI(13KM) REFLECT 0 15 8 226 1 osf_ref16.tbl
NATL 1 KM CAPI(14KM) REFLECT 0 15 8 227 1 osf_ref16.tbl
NATL 1 KM CAPI(15KM) REFLECT 0 15 8 228 1 osf_ref16.tbl
NATL 1 KM CAPI(16KM) REFLECT 0 15 8 229 1 osf_ref16.tbl
NATL 1 KM CAPI(17KM) REFLECT 0 15 8 230 1 osf_ref16.tbl
NATL 1 KM CAPI(18KM) REFLECT 0 15 8 231 1 osf_ref16.tbl
NATL 1 KM CAPI(19KM) REFLECT 0 15 8 232 1 osf_ref16.tbl
NEXRAD Level II BASE REFLECT 0 107 7 225 1 upc_radimg.tbl
NEXRAD Level II SPECTRUM 0 255 7 227 1 upc_vel.tbl
NEXRAD Level II VELOCITY 0 255 7 226 1 upc_vel.tbl
NRL_37H F15 0 255 272 4 1 rainbow.tbl
NRL_37H F16 0 255 273 4 1 rainbow.tbl
NRL_37H F17 0 255 274 4 1 rainbow.tbl
NRL_37H F18 0 255 275 4 1 rainbow.tbl
NRL_37H TRMM 0 255 271 4 1 rainbow.tbl
NRL_37V F15 0 255 272 8 1 rainbow.tbl
NRL_37V F16 0 255 273 8 1 rainbow.tbl
NRL_37V F17 0 255 274 8 1 rainbow.tbl
NRL_37V F18 0 255 275 8 1 rainbow.tbl
NRL_37V TRMM 0 255 271 8 1 rainbow.tbl
NRL_87H F15 0 255 272 16 1 rainbow.tbl
NRL_87H TRMM 0 255 271 16 1 rainbow.tbl
NRL_87V F15 0 255 272 32 1 rainbow.tbl
NRL_87V TRMM 0 255 271 32 1 rainbow.tbl
NRL_91H F16 0 255 273 16 1 rainbow.tbl
NRL_91H F17 0 255 274 16 1 rainbow.tbl
NRL_91H F18 0 255 275 16 1 rainbow.tbl
NRL_91V F16 0 255 273 32 1 rainbow.tbl
NRL_91V F17 0 255 274 32 1 rainbow.tbl
NRL_91V F18 0 255 275 32 1 rainbow.tbl
NRL_HI_RGB F15 0 94 272 2 1 89rgb.tbl
NRL_HI_RGB F16 0 94 273 2 1 89rgb.tbl
NRL_HI_RGB F17 0 94 274 2 1 89rgb.tbl
NRL_HI_RGB F18 0 94 275 2 1 89rgb.tbl
NRL_HI_RGB TRMM 0 94 271 2 1 89rgb.tbl
NRL_LO_RGB F15 0 94 272 1 1 37rgb.tbl
NRL_LO_RGB F16 0 94 273 1 1 37rgb.tbl
NRL_LO_RGB F17 0 94 274 1 1 37rgb.tbl
NRL_LO_RGB F18 0 94 275 1 1 37rgb.tbl
NRL_LO_RGB TRMM 0 94 271 1 1 37rgb.tbl
NRL_RR F15 0 255 272 128 1 rainbow.tbl
NRL_RR F16 0 255 273 128 1 rainbow.tbl
NRL_RR F17 0 255 274 128 1 rainbow.tbl
NRL_RR F18 0 255 275 128 1 rainbow.tbl
NRL_RR TRMM 0 255 271 128 1 rainbow.tbl
NRL_TIME F15 3 253 272 64 1 rainbow.tbl
NRL_TIME F16 3 253 273 64 1 rainbow.tbl
NRL_TIME F17 3 253 274 64 1 rainbow.tbl
NRL_TIME F18 3 253 275 64 1 rainbow.tbl
NRL_TIME TRMM 3 253 271 64 1 rainbow.tbl
OMI OMI 0 255 100 1 1 omiso2.tbl
OMI OMI 0 255 100 2 1 omiai.tbl
OMI OMI 0 255 10 2 1 omiso2.tbl
OMI OMI 0 255 10 4 1 omiai.tbl
POES IR-11 0 255 41 64 1 GRAY
POES IR-3.74 0 255 41 63 1 GRAY
POES RESERVED 0 255 41 62 1 GRAY
POES VIS 0 255 41 61 1 GRAY
PRECIP FLAG MOSAIC 0 255 7 241 1 upc_ramp.tbl
PROB SEVERE HAIL MOSAIC 0 255 7 249 1 upc_ramp.tbl
!
! Scatterometer
!
QSCAT IR 0 255 10 64 1 ir_nmc.tbl
!
! Unidata NEXRAD Composites
!
RADAR OHA 0 255 11 2**17 1 upc_n1p.tbl
RADAR DSP 0 255 11 2**18 1 upc_n1p.tbl
RADAR DTA 0 255 11 2**19 1 upc_n1p.tbl
RADAR DAA 0 255 11 2**20 1 upc_n1p.tbl
RADAR N0C 0 255 11 2**21 1 upc_dcc.tbl
RADAR N0X 0 255 11 2**22 1 upc_zdr.tbl
RADAR N0Q 0 255 11 2**23 1 upc_ref.tbl
RADAR HHC 0 150 11 2**24 1 upc_dhc.tbl
RADAR EET 0 72 11 2**25 1 upc_eet70.tbl
RADAR N0R 0 105 11 2**26 1 upc_rad24.tbl
RADAR DHR 0 255 11 2**27 1 upc_ref.tbl
RADAR DVL 0 255 11 2**28 1 upc_dvl.tbl
RADAR N1P 0 255 11 2**29 1 upc_n1p.tbl
RADAR NTP 0 255 11 2**30 1 upc_ntp.tbl
!
RADAR-IRSAT COMPOS 0 95 11 2**8 1 upc_t_r_s.tbl
RCOMP RAD_TOPO 0 94 11 2**6 1 upc3_rcomp.tbl
REGIONAL 2 KM 24HR PRECIP 0 15 9 106 1 nids_pre.tbl
REGIONAL 2 KM BASE REFLECT 0 15 9 137 1 osf_ref16.tbl
REGIONAL 2 KM BASE REFLECT 0 15 9 138 1 osf_ref16.tbl
REGIONAL 2 KM BASE REFLECT 0 15 9 140 1 osf_ref16.tbl
REGIONAL 2 KM CML PRECIP 0 15 9 105 1 nids_pre.tbl
REGIONAL 4 KM BASE REFLECT 0 15 9 141 1 osf_ref16.tbl
REGIONAL 4 KM COMP REFLECT 0 15 9 30 1 osf_ref16.tbl
SEVERE HAIL INDEX MOSAIC 0 255 7 251 1 upc_ramp.tbl
SOUNDER CAPE 0 255 185 2**29 1 GRAY
SOUNDER CAPE 0 255 71 2**29 1 cape_upc.tbl
SOUNDER CAPE 0 255 75 2**29 1 cape_upc.tbl
SOUNDER CAPE 0 255 77 2**29 1 cape_upc.tbl
SOUNDER CTP 0 255 185 2**26 1 ctp_upc.tbl
SOUNDER CTP 0 255 70 2**26 1 ctp_upc.tbl
SOUNDER CTP 0 255 71 2**26 1 ctp_upc.tbl
SOUNDER CTP 0 255 75 2**26 1 ctp_upc.tbl
SOUNDER CTP 0 255 77 2**26 1 ctp_upc.tbl
SOUNDER LI 0 255 185 2**28 1 snd_li.tbl
SOUNDER LI 0 255 70 2**15 1 snd_li.tbl
SOUNDER LI 0 255 71 2**28 1 snd_li.tbl
SOUNDER LI 0 255 75 2**28 1 snd_li.tbl
SOUNDER LI 0 255 77 2**28 1 snd_li.tbl
SOUNDER OZONE 0 255 185 2**30 1 ozone_upc.tbl
SOUNDER OZONE 0 255 71 2**30 1 ozone_upc.tbl
SOUNDER OZONE 0 255 75 2**30 1 ozone_upc.tbl
SOUNDER OZONE 0 255 77 2**30 1 ozone_upc.tbl
SOUNDER PW 0 255 185 2**27 1 snd_pw.tbl
SOUNDER PW 0 255 70 2**16 1 snd_pw.tbl
SOUNDER PW 0 255 71 2**27 1 snd_pw.tbl
SOUNDER PW 0 255 75 2**27 1 snd_pw.tbl
SOUNDER PW 0 255 77 2**27 1 snd_pw.tbl
SOUNDER SFC_SKIN 0 255 70 2**17 1 GRAY
SOUNDER SST 0 255 10 2**30 1 sst_upc.tbl
SOUNDER SST 0 255 70 2**30 1 sst_upc.tbl
SSMI MW 0 255 9 64 1 ssmi_opc.tbl
SSMI-PWAT MW 0 255 9 32 1 micropw.tbl
SSMI-RAIN MW 0 255 9 2 1 microrain.tbl
SSMI-WINDS MW 0 255 9 4 1 ssmiwind.tbl
TERRA-MODIS AIRMASS 0 94 101 8192 1 airmass.tbl
TERRA-MODIS DUST 0 94 101 32768 1 dust.tbl
TERRA-MODIS NTMICRO 0 94 101 16384 1 ntmicro.tbl
TOPO TOPO 0 255 11 2 1 upc_dem30.tbl
TOPO TOPO_DEM5 0 94 11 4 1 upc_dem5.tbl
TOPO TOPO_DEM5 0 95 33 16 1 upc_dem5.tbl
TOPO TOPO_DEM5 0 95 33 16 1 upc_hires.tbl
TOPO TOPO_DEM5 0 95 33 32768 1 upc_dem5.tbl
TOPO VIS 0 255 2 1 1 upc_topo.tbl
TOPO VIS 52 226 11 1 1 upc_topo.tbl
TPW IR 0 255 77 64 1 gdpipw.tbl
TRMM-RAIN MW 0 255 10 1 1 microrain.tbl
UnidataX 6KM Comp MOSAIC 0 255 7 201 1 upc_n0r.tbl
VIL DENSITY MOSAIC 0 255 7 245 1 upc_ramp.tbl
VIL MOSAIC 0 255 7 250 1 upc_ramp.tbl
WSI NOWRAD 2 KM US MOSAIC 0 15 7 2 1 osf_ref16.tbl
WSI NOWRAD 8 KM US MOSAIC 0 15 7 1 1 osf_ref16.tbl

View file

@ -13,7 +13,7 @@ export BUILD_WORKSPACE=${BUILD_DIR}/workspace
# baseline is...
export BASELINE="${JENKINS_WORKSPACE}"
export AWIPSII_VERSION="14.4.1"
export BUILD_NUMBER="7"
export BUILD_NUMBER="8"
export AWIPSII_RELEASE="1n${BUILD_NUMBER}"
export AWIPSII_TOP_DIR="${BUILD_WORKSPACE}/tmp/rpms_built_dir"

View file

@ -1,53 +1,106 @@
# gfs05deg (#004)
CONDUIT ^data/nccf/com/.*(gfs).*(pgrbf).*!(grib2)/[^/]*/(SSIGFS|GFS)/#([^/]*)/([0-9]{8})([0-9]{4})(F[2-3]..)/([^/]*)/.*! (......)
FILE -overwrite -log -close -edex /data_store/grib2/GFS/\6/\7Z_\8_\9-(seq).\2.\3.%Y%m%d
#CONDUIT ^data/nccf/com/.*(gfs).*(pgrbf).*!(grib2)/[^/]*/(SSIGFS|GFS)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
# FILE -overwrite -log -close -edex /data_store/grib2/GFS/\6/\7Z_\8_\9-(seq).\2.\3.%Y%m%d
LIGHTNING USPLN1EX
FILE -close -log -edex /awips2/data_store/lightning/%Y%m%d%H%M.uspln
# GFS 2.5 deg (#004)
CONDUIT ^data/nccf/com/.*gfs.t[0-9][0-9]z.(pgrb2.2p50).*!(grib2)/[^/]*/(SSIGFS|GFS)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.*! (......)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/GFS/\5_\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# GFS 1.0 deg
#CONDUIT ^data/nccf/com/.*gfs.t[0-9][0-9]z.(pgrb2.1p00).*!(grib2)/[^/]*/(SSIGFS|GFS)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.*! (......)
# FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/GFS/\5_\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# GFS 0.5 deg = *pgrb2f (all hours out to F192)
CONDUIT ^data/nccf/com/.*gfs.t[0-9][0-9]z.(pgrb2.0p50).*!(grib2)/[^/]*/(SSIGFS|GFS)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]..)/([^/]*)/.*! (......)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/GFS/\5_\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# GFS #004 0.5 deg = *pgrb2f (all hours out to F192)
CONDUIT ^data/nccf/com/.*gfs.*(pgrb2f).*!(grib2)/[^/]*/(SSIGFS|GFS)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
FILE -overwrite -log -close -edex /data_store/grib2/GFS/\5/\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# NAM-40km (awip3d) - exclude awip12 = NAM-12km since it is on NGRID (exclude NAM 90km)
CONDUIT ^data/nccf/com/nam/.*nam.*(awip3d).*!(grib2)/ncep/(NAM_84)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/\3/\5_\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# NAM 12km, 40km, 90km CONUS and 45km NAM-AK
CONDUIT ^data/nccf/com/nam/.*nam.*(grbgrd|awip12|awipak|awip3d).*!(grib2)/ncep/(NAM_84)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
FILE -overwrite -log -close -edex /data_store/grib2/\3/\5/\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# RAP252 (RAP-20km) (disable 40km RAP236)
#CONDUIT ^data/nccf/com/rap/prod/rap.*(awp252).*!(grib2)/ncep/(.*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
# FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/GRID\4/\3/\5_\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# firewxnest is a floater, not supported by EDEX!
#CONDUIT ^data/nccf/com/nam/.*nam.*(firewxnest).*!(grib2)/ncep/(NMM_89)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
# FILE -overwrite -log -close -edex /data_store/grib2/\3/\5/\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# RAP236 (RAP40km) and RAP252 (RAP20km)
CONDUIT ^data/nccf/com/rap/prod/rap.*(awp252|awp236).*!(grib2)/ncep/(.*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
FILE -overwrite -log -close -edex /data_store/grib2/GRID\4/\3/\5/\6Z_\7_\8-(seq).\1.\2.%Y%m%d
# GEFS - off for now, NCP isn't displaying them as members of ensemble yet.
#CONDUIT (data/nccf|data2/TIGGE).*/(ge[cp][0-9][0-9])\.t[0-2][0-9]z\.pgrb2.* !grib2/ncep/GEFS/#000/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
# FILE -overwrite -log -close -edex /data_store/grib2/GEFS/gefs_\3_\4_\5\6_\2.grib2
# GEFS
CONDUIT (data/nccf|data2/TIGGE).*/(ge[cp][0-9][0-9])\.t[0-2][0-9]z\.pgrb2.* !grib2/ncep/GEFS/#000/([0-9]{8})([0-9]{4})(F[0-1]..)/([^/]*)/.*! (......)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/GEFS/gefs_\3_\4_\5\6_\2.grib2
# NDFD
CONDUIT grib2/nwstg/NWS_0/..../(........)(....)
FILE -overwrite -log -close -edex /data_store/grib2/NDFD/ndfd_\1_\2-(seq).grib2.%Y%m%d
FILE -overwrite -log -close -edex /awips2/data_store/grib2/conduit/NDFD/ndfd_\1_\2-(seq).grib2.%Y%m%d
# FNMOC NAVGEM grids
# FNMOC
#FNMOC US058GMET-GR1mdl.0018_0056_00300F0RL2014070500_0100_000040-000000wnd_ucmp
FNMOC ^US058.*(0018_0056|0022_0179|0027_0186|0060_0188|0063_0187|0110_0240|0111_0179|0135_0240|0078_0200)_(.*)_(.*)_(.*)-.*
FILE -log -overwrite -close -edex /data_store/grib2/FNMOC-NAVGEM/US_058_\1_\2_\3_\4-(seq).grib.%Y%m%d
FILE -log -overwrite -close -edex /awips2/data_store/grib2/fnmoc/US_058_\1_\2_\3_\4-(seq).grib.%Y%m%d
#
# all of NGRID
NGRID ^([LM].[ABDHMNRSTU].{1,3}) (KWB.) (..)(..)(..)[^!]*!(grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /data_store/grib2/noaaport/GRID\8/\7/\9/\(10)Z_\(11)_\(12)-\1_\2_(seq).\6.%Y%m%d
# NOAAport Grids
#
# ALL
#NGRID ^([LM]...{1,3}) (KWB.) (..)(..)(..)[^!]*!(grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
# FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\8/\7/\7_\9_\(10)Z_\(11)_\(12)-\1_\2_(seq).\6.%Y%m%d
# DGEX
NGRID ^[LM].E... KWBD ...... !grib2/[^/]*/([^/]*)/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/DGEX/\1_\2_\3Z_\4_\5-(seq).grib2.%Y%m%d
# NOAAport HRRR
NGRID Y.C.[0-9][0-9] KWBY ...... !grib2/[^/]*/[^/]*/#[^/]*/([0-9]{12})F(...)/(.*)/.*
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/HRRR/\1_F\2_\3_(seq).%Y%m%d.grib2
# GFS201 (NH)
#NGRID ^[LM].A... KWBC ...... !grib2/[^/]*/([^/]*)/#(201)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
# FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# GFS212 40km
NGRID ^[LM].R... KWBC ...... !grib2/[^/]*/([^/]*)/#(212)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# GFS213 95km
#NGRID ^[LM].H... KWBC ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
# FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# GFSGuide
NGRID ^[LM].I... KWBJ ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# RAP-13km
NGRID ^[LM].D... KWBG ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# RTMA 197 (5km)
NGRID ^[LM].M... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# RTMA-Mosaic 2.5km (I) and URMA2.5 (Q)
NGRID ^[LM].[IQ]... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# NamDNG 2.5 and 5km
NGRID ^[LM].[IM]... KWBE ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# NAM-12km (#218)
NGRID ^[LM].B... KWBE ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\2/\1_\3_\4Z_\5_\6-(seq).grib2.%Y%m%d
# almost all of NGRID
# 003 | 197 | 201 | 212 | 215 | 218 | 130 | 255
# gefs | rtma | gfs-NH | gfs-40km | gfs??? | NAM-12km | RAP-13km | RTMA2p5, region RTMA, WRF_EM, WRF_NMM, "118", AK-NamDNG5, more...
#NGRID ^([LM].[ABDHIMNRSTU].{1,3}) (KWB.) (..)(..)(..)[^!]*!(grib2)/[^/]*/([^/]*)/#(003|197|201|212|215|218|130)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
# FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\8/\7/\7_\9_\(10)Z_\(11)_\(12)-\1_\2_(seq).\6.%Y%m%d
#
# NGRID 255
# on: WRF_NMM, WRF_EM (east/west),
# off: Hawaii-NamDNG5, AK-NamDNG5, AK-RTMA,
#NGRID ^([LM].[ABDHIMNRSTU].{1,3}) (KWB.) (..)(..)(..)[^!]*!(grib2)/[^/]*/()/#(255)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
# FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\8/\7/\7_\9_\(10)Z_\(11)_\(12)-\1_\2_(seq).\6.%Y%m%d
#
# LAMP MOS grid
#NGRID ^([LM].[ABDHMNRSTU].{1,3}) (KWNO|KMDL) (..)(..)(..)[^!]*!(grib2)/[^/]*/(LAMP)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
# FILE -overwrite -log -close -edex /awips2/data_store/grib2/noaaport/GRID\8/\7_\9_\(10)Z_\(11)_\(12)-\1_\2_(seq).\6.%Y%m%d
# CMC GEM model
CMC CMC_reg_(.*)km_(..........).*.grib2
FILE -overwrite -log -close -edex /data_store/grib2/CMC/\2/CMC_reg_\1km_\2.grib2
#CMC_reg_WDIR_TGL_40_ps15km_2014070500_P000.grib2
# GEM 000 CMC_reg_USWRF_NTAT_0_ps15km_2015042818_P003.grib2
CMC CMC_reg_(.*)km_(..........)_P(...).grib2
FILE -overwrite -log -close -edex /awips2/data_store/grib2/cmc/cmc_reg_\1km_\2_P\3.grib2
# All text products (?)
DDPLUS|IDS ^([A-Z][A-Z]{3}[0-9]{2}) ([KPTMC].{3}) (..)(..)(..)
FILE -overwrite -close -edex /data_store/text/\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%h
FILE -overwrite -close -edex /awips2/data_store/TEXT/\3_\4_\1_\2_\3\4\5_(seq).%Y%m%d%h
#NOAAPORT GINI images
NIMAGE ^satz/ch[0-9]/.*/(.*)/([12][0-9])([0-9][0-9])([01][0-9])([0-3][0-9]) ([0-2][0-9])([0-5][0-9])/(.*)/(.*km)/
FILE -close -overwrite -edex /data_store/sat/\8/\9/\1/\1_\2\3\4\5_\6\7
FILE -close -overwrite -edex /awips2/data_store/sat/\8/\9/\1_\2\3\4\5_\6\7
FNEXRAD ^rad/NEXRCOMP/(...)/(...)_(........)_(....)
PIPE -close -edex -log
@ -56,230 +109,255 @@ FNEXRAD ^rad/NEXRCOMP/(...)/(...)_(........)_(....)
# NEXRAD3
# full feed
NEXRAD3 ^(SDUS[23578].) .... (......) /p(...)(...)
FILE -overwrite -close -edex /data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad
#NEXRAD3 ^(SDUS[23578].) .... (......) /p(...)(...)
# FILE -overwrite -close -edex /awips2/data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad
# partial feed
#NEXRAD3 ^(SDUS[23578].) .... (......) /p(DHR|DPR|DSP|DU3|DU6|DVL|EET|HHC|N0Q|N0S|N0U|N0X|N0Z|NCR|NMD|OHA)(...)
# FILE -overwrite -close -edex /data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad
NEXRAD3 ^(SDUS[23578].) .... (......) /p(DHR|DPR|DSP|DTA|DAA|DU3|DU6|DVL|EET|HHC|N3P|N0C|N0K|N0Q|N0S|N0U|N0X|N0Z|NCR|NMD|OHA)(...)
FILE -overwrite -close -edex /awips2/data_store/radar/\4/\3/\1_\4_\3_\2_(seq).rad
# ---------------- GOES-East and West Image Sectors ----------------
# These work
# GOES Visible
#UNIWISC ^pnga2area Q. (EV|UV|U9) (.*) (.*)_IMG (.*)um (.*) (........) (....)
# PIPE -close -log
# pnga2area -vl logs/pnga2area.log
# /awips2/edex/data/manual/uniwisc_\1_\3_\5_VIS_\4_\6_\7
# GOES Water Vapor
#UNIWISC ^pnga2area Q. (UW|UB) (.*) (.*)_IMG (.*)um (.*) (........) (....)
# PIPE -close -log
# pnga2area -vl logs/pnga2area.log
# /awips2/edex/data/manual/uniwisc_\1_\3_\5_WV_\4_\6_\7
# GOES Thermal Infrared
#UNIWISC ^pnga2area Q. (UI|U5) (.*) (.*)_IMG (.*)um (.*) (........) (....)
# PIPE -close -log
# pnga2area -vl logs/pnga2area.log
# /awips2/edex/data/manual/uniwisc_\1_\3_\5_IR_\4_\6_\7
# GOES other
#UNIWISC ^pnga2area Q. (UD|UE|U7|U8|) (.*) (.*)_IMG (.*)um (.*) (........) (....)
# PIPE -close -log
# pnga2area -vl logs/pnga2area.log
# /awips2/edex/data/manual/uniwisc_\1_\3_\5_\4_\6_\7
#
# Redbook graphics
HDS ^(P.....) (K[^WK]..|KW[^A].|KWA[^L]|KK[^C].|KKC[^I]) (......)
FILE -overwrite -log -close -edex /awips2/data_store/redbook/\3_\2_\1_(seq).%Y%m%d%H
# IUAK01 PANC 012300
# IUPT01 KBOU 020300
HDS ^(IUPT0[1-4]|IUPT40|IUAK01) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/profiler/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# untested
# IUSZ53 KWBC 020205
# IUSY41 KWBC 020030
HDS ^(IUS(Z[0-9]|Y4)[0-9]) ([A-Z]{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/bufrua/\1_\3_\4\5\6_(seq).bufr.%Y%m%d%H
# SFUS41 KWBC 012220
#HDS ^(SF(US|PA)41) ([A-Z]{4}) (..)(..)(..)
# FILE -overwrite -log -edex -close /awips2/data_store/binlightning/\1_\3_\4\5\6_(seq).nldn.%Y%m%d%H
# JSMF12 KWNO 022200
# JSML30 KWNO 021800
HDS ^(JSM([TL]..|F1[0-7])) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/bufrmos/\1_\3_\4\5\6_(seq).bufr.%Y%m%d%H
# Need to make sure that IUAK and IUAX are disallowed.
# IUAK are Alaskan profilers and IUAX has encrypted ACARS handled above!
ANY ^(IUA[^XK]0[12]) (....) (..)(..)(..)
FILE -overwrite -close -edex /awips2/data_store/acars/acars_raw_decrypted/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# JSAT98 KKCI 022210
HDS ^(JSAT98) (KKCI) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/bufrncwf/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# JUWE96 KKCI 021800
HDS ^(JU[BCFJMNOTVW]E(00|9[679])) KKCI (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/bufrsigwx/\1_KKCI_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS1: POINT ^JUSA41.KWNO* /ispan/bufr/modelSoundings/NAM
# POINT ^JUSA41.KWBC* /ispan/bufr/modelSoundings/GFS
HDS ^(JUS[ABX]4[1-9]) (KW(NO|BC)) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/modelsounding/\1_\2_\4\5\6_(seq).bufr.%Y%m%d%H
## GOES Bufr Patterns ##
# Localized if goesBufrClip.sup exists -- going to just add all for now
# JUTX05 KNES 070326 RRN
HDS ^(JUTX0[1-9]) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/goessounding/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
## POES Bufr Patterns ##
# Localized if poesBufrClip.sup exists -- going to just add all for now
# IUTX01 KNES 070307
HDS ^(IUTN0[0-9]) (KNES) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/nucaps/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
HDS ^(IUTX0[1-9]) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/poessounding/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
## BUFR files ##
# AWIPS2 distribution file bufrhdw.xml: ^J[ACEGHJKMNPQR]CX[1-9]1.*
HDS ^(J[ACEGHJKMNPQR]CX[1-9]1) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/bufrhdw/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS2 distribution file bufrssmi.xml: ^ISXA.*
HDS ^(ISXA..) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/bufrssmi/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS2 distribution file bufrascat.xml: ^JSXX(0[1-9]|10).*
HDS ^(JSXX(0[1-9]|10)) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/bufrascat/\1_\3_\4\5\6_(seq).bufr.%Y%m%d%H
# AWIPS2 distribution file bufrmthdw.xml: ^JUTX(([2-4]1)|53).*
HDS ^(JUTX(([2-4]1)|53)) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /awips2/data_store/bufrmthdw/\1_\4_\5\6\7_(seq).bufr.%Y%m%d%H
#
# Ocean SST, Grids #61-64
#
HDS ^H.[T-W]
FILE -close -log -edex /awips2/data_store/grib2/sst/%Y%m%d%H%M.sst.grib2
#
# NOAA Wave Watch III
#
# GWW233
HDS ^O.J.88 KWBJ.*!grib/ncep/([^/]*)/#([^/]*)/(............)/F(...)/.*
FILE -close -log -edex /awips2/data_store/grib2/nww/\1/\1_\2_\3_F\4_%H%M%S.grib
# AKWAVE239
HDS ^O.N.88 KWBJ.*!grib/ncep/([^/]*)/#([^/]*)/(............)/F(...)/.*
FILE -close -log -edex /awips2/data_store/grib2/nww/\1/\1_\2_\3_F\4_%H%M%S.grib
# ENPWAVE253
HDS ^O.S.88 KWBJ.*!grib/ncep/([^/]*)/#([^/]*)/(............)/F(...)/.*
FILE -close -log -edex /awips2/data_store/grib2/nww/\1/\1_\2_\3_F\4_%H%M%S.grib
# HurWave238
HDS ^O.O.88 KWBJ.*!grib/ncep/([^/]*)/#([^/]*)/(............)/F(...)/.*
FILE -close -log -edex /awips2/data_store/grib2/nww/\1/\1_\2_\3_F\4_%H%M%S.grib
# WNAWAVE238
HDS ^O.M.88 KWBJ.*!grib/ncep/([^/]*)/#([^/]*)/(............)/F(...)/.*
FILE -close -log -edex /awips2/data_store/grib2/nww/\1/\1_\2_\3_F\4_%H%M%S.grib
# HurWave253
HDS ^O.Q.88 KWBJ.*!grib/ncep/([^/]*)/#([^/]*)/(............)/F(...)/.*
FILE -close -log -edex /awips2/data_store/grib2/nww/\1/\1_\2_\3_F\4_%H%M%S.grib
# GLERL
HDS ^O.N.88 KWNB.*!grib/161/([^/]*)/#([^/]*)/(............)/F(...)/.*
FILE -close -log -edex /awips2/data_store/grib2/glerl/\1/\1_\2_\3_F\4_%H%M%S.grib
#
# NOTHER 32563 TIPB05 KNES 091834 - AK VIIRS
#
NOTHER ^(TIP...) (KNES) (......)
FILE -close -log -edex
/data_store/viirs/\1_\2_\3
# -------- GOES-East/West Northern Hemisphere Composites --------
# GOES-East/West VIS composites
#UNIWISC ^pnga2area Q. (CV) (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/GEWCOMP/\5/VIS/VIS_\6_\7
UNIWISC ^pnga2area Q. (CV) (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_GEWCOMP_\5_VIS_VIS_\6_\7
# GOES-East/West 3.9 um composites
#UNIWISC ^pnga2area Q. (CS) (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/GEWCOMP/\5/3.9/3.9_\6_\7
UNIWISC ^pnga2area Q. (CS) (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_GEWCOMP_\5_3.9_3.9_\6_\7
# GOES-East/West WV composites
#UNIWISC ^pnga2area Q. (CW) (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/GEWCOMP/\5/WV/WV_\6_\7
UNIWISC ^pnga2area Q. (CW) (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_GEWCOMP_\5_WV_WV_\6_\7
# GOES-East/West IR composites
#UNIWISC ^pnga2area Q. (CI) (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/GEWCOMP/\5/IR/IR_\6_\7
UNIWISC ^pnga2area Q. (CI) (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_GEWCOMP_\5_IR_IR_\6_\7
# GOES-East/West 13.3 um composites
#UNIWISC ^pnga2area Q. (CL) (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/GEWCOMP/\5/13.3/13.3_\6_\7
UNIWISC ^pnga2area Q. (CL) (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_GEWCOMP_\5_13.3_13.3_\6_\7
# untested
# ------------------- SSEC Global Composites -------------------
# Global WV composite
#UNIWISC ^pnga2area Q. (GW) (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/GLOBAL/\5/WV/WVCOMP_\6_\7
UNIWISC ^pnga2area Q. (GW) (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_GLOBAL_\5_WV_WVCOMP_\6_\7
# Global IR composites
#UNIWISC ^pnga2area Q. (GI) (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/GLOBAL/\5/IR/IRCOMP_\6_\7
UNIWISC ^pnga2area Q. (GI) (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_GLOBAL_\5_IR_IRCOMP_\6_\7
# ----------------- Mollweide Global Composites -----------------
# Mollweide Global Water Vapor
#UNIWISC ^pnga2area Q. (UY) (.*) (.*)_IMG (.*)um (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/MOLLWEIDE/30km/WV/MOLLWV_\6_\7
UNIWISC ^pnga2area Q. (UY) (.*) (.*)_IMG (.*)um (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_MOLLWEIDE_30km_WV_MOLLWV_\6_\7
# Mollweide Global IR
#UNIWISC ^pnga2area Q. (UX) (.*) (.*)_IMG (.*)um (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/MOLLWEIDE/30km/IR/MOLLIR_\6_\7
UNIWISC ^pnga2area Q. (UX) (.*) (.*)_IMG (.*)um (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_MOLLWEIDE_30km_IR_MOLLIR_\6_\7
# These work
# GOES Visible (UV 4km VIS disabled)
UNIWISC ^pnga2area Q. (EV|U9) (.*) (.*)_IMG (.*)um (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_\1_\3_\5_VIS_\4_\6_\7
# GOES Water Vapor
UNIWISC ^pnga2area Q. (UW|UB) (.*) (.*)_IMG (.*)um (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_\1_\3_\5_WV_\4_\6_\7
# GOES Thermal Infrared
UNIWISC ^pnga2area Q. (UI|U5) (.*) (.*)_IMG (.*)um (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_\1_\3_\5_IR_\4_\6_\7
# GOES other
UNIWISC ^pnga2area Q. (UD|UE|U7|U8|) (.*) (.*)_IMG (.*)um (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_\1_\3_\5_\4_\6_\7
#
# Arctic
UNIWISC ^pnga2area Q. (U[LNGHO]) (.*) (.*) (.*)um (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_ARCTIC_4km_\4_\6_\7
#
# Antarctic VIS Composite
UNIWISC ^pnga2area Q. (UJ) (.*) (.*)_IMG (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_ANTARCTIC_4km_VIS_\3_\4_\6_\7
# Antarctic PCOL Composite
UNIWISC ^pnga2area Q. (UK) (.*) (.*)_IMG (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_ANTARCTIC_4km_PCOL_\3_\4_\6_\7
# Antarctic WV Composite
UNIWISC ^pnga2area Q. (UF) (.*) (.*)_IMG (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_ANTARCTIC_4km_WV_\3_\4_\6_\7
# Antarctic Composite IR
UNIWISC ^pnga2area Q. (U1) (.*) (.*)_IMG (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_ANTARCTIC_4km_IR_\3_\4_\6_\7
# GOES Sounder Derived Image Products from University of Wisconsin CIMSS
# CIMSS CAPE - McIDAS product code CE
#UNIWISC ^pnga2area Q0 CE .... (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/SOUNDER/\3/CAPE/\4/CAPE_\4_\5
UNIWISC ^pnga2area Q0 CE .... (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_SOUNDER_\3_CAPE_\4_\5
# CIMSS Cloud Top Pressure - McIDAS product code CA
#UNIWISC ^pnga2area Q0 CA .... (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/SOUNDER/\3/CTP/\4/CTP_\4_\5
UNIWISC ^pnga2area Q0 CA .... (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_SOUNDER_\3_CTP_\4_\5
# CIMSS Lifted Index - McIDAS product code CD
#UNIWISC ^pnga2area Q0 CD .... (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/SOUNDER/\3/LI/\4/LI_\4_\5
UNIWISC ^pnga2area Q0 CD .... (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_SOUNDER_\3_LI_\4_\5
# CIMSS Ozone - McIDAS product code CF
#UNIWISC ^pnga2area Q0 CF .... (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/SOUNDER/\3/OZONE/\4/OZONE_\4_\5
UNIWISC ^pnga2area Q0 CF .... (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_SOUNDER_\3_OZONE_\4_\5
# CIMSS Total Column Precipitable Water - McIDAS product code CB
#UNIWISC ^pnga2area Q0 CB .... (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/SOUNDER/\3/PW/\4/PW_\4_\5
UNIWISC ^pnga2area Q0 CB .... (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_SOUNDER_\3_PW_\4_\5
# CIMSS Sea Surface Temperature - McIDAS product code CC
#UNIWISC ^pnga2area Q0 CC .... (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/SOUNDER/\3/SST/\4/SST_\4_\5
UNIWISC ^pnga2area Q0 CC .... (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_SOUNDER_\3_SST_\4_\5
# CIMSS Northern Hemisphere Wildfire ABBA - McIDAS product code CG (inactive)
#UNIWISC ^pnga2area Q0 CG (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/SOUNDER/\3/FIRESNH/\4/FIRESNH_\4_\5
UNIWISC ^pnga2area Q0 CG (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_SOUNDER_\3_FIRESNH_\4_\5
# CIMSS Southern Hemisphere Wildfire ABBA - McIDAS product code CH (inactive)
#UNIWISC ^pnga2area Q0 CH (.*) (.*) (.*) (.*) (........) (....)
# FILE -close -edex -log
# /data_store/uniwisc/SOUNDER/\3/FIRESSH/\4/FIRESSH_\4_\5
#####
# History log
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
#20121009 1252 jkorman Corrections and additions from Dale Morris.
#20121211 1411 rferrel More corrections and additions from Dale Morris.
#20130326 1828 rferrel Fix patterns for intlsigmets and text pattern not placing files in proper directory.
#20130624 1966 rferrel The acars pattern changed to place files in the proper subdirectories.
# Name changes to reflect plugin names for modelsounding, goessounding, poessounding.
# AWIPS1: POINT .*IUPT(0[1-4]).*|.*IUPT40.* /ispan/bufr/profiler
# AWIPS1: POINT ^IUAK01.* /ispan/bufr/profiler
# IUAK01 PANC 012300
# IUPT01 KBOU 020300
HDS ^(IUPT0[1-4]|IUPT40|IUAK01) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/profiler/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS1: POINT ^IUSZ[4-9][0-9].* /ispan/bufr/raob
# AWIPS1: POINT ^IUSZ[0-9][0-9].* /ispan/bufr/raob
# AWIPS1: POINT ^IUSY[4][0-9].* /ispan/bufr/raob
# IUSZ53 KWBC 020205
# IUSY41 KWBC 020030
HDS ^(IUS(Z[0-9]|Y4)[0-9]) ([A-Z]{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/bufrua/(\4:yyyy)(\4:mm)\4/\5/\1_\3_\4\5\6_(seq).bufr.%Y%m%d%H
# AWIPS1: TEXT ^SFUS41.* /ispan/binLightning
# SFUS41 KWBC 012220
#HDS ^(SF(US|PA)41) ([A-Z]{4}) (..)(..)(..)
# FILE -overwrite -log -edex -close /data_store/binlightning/(\4:yyyy)(\4:mm)\4/\5/\1_\3_\4\5\6_(seq).nldn.%Y%m%d%H
# AWIPS1: POINT ^JSMT2[1-6].* /ispan/bufr/AVN
# AWIPS1: POINT ^JSMT4[1-6].* /ispan/bufr/NGM
# AWIPS1: POINT ^JSMT6[1-6].* /ispan/bufr/MRF
# AWIPS1: POINT ^JSMT7[1-6].KWNO.* /ispan/bufr/MRF
# AWIPS1: POINT ^JSMT7[1-6].KWNH.* /ispan/bufr/HPC
# AWIPS1: POINT ^JSML1[1-6].* /ispan/bufr/ETA
# AWIPS1: POINT ^JSML3[1-6].* /ispan/bufr/GFS
# AWIPS1: POINT ^JSMF1[1-6].KWNO.* /ispan/bufr/GFSLAMP
# AWIPS1: POINT ^JSMF1[0-7].KWNO.* /ispan/bufr/GFSLAMP
# JSMF12 KWNO 022200
# JSML30 KWNO 021800
HDS ^(JSM([TL]..|F1[0-7])) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/bufrmos/(\4:yyyy)(\4:mm)\4/\5/\1_\3_\4\5\6_(seq).bufr.%Y%m%d%H
# Need to make sure that IUAK and IUAX are disallowed.
# IUAK are Alaskan profilers and IUAX has encrypted ACARS handled above!
ANY ^(IUA[^XK]0[12]) (....) (..)(..)(..)
FILE -overwrite -close -edex /data_store/acars/acars_raw_decrypted/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# JSAT98 KKCI 022210
HDS ^(JSAT98) (KKCI) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/bufrncwf/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# JUWE96 KKCI 021800
HDS ^(JU[BCFJMNOTVW]E(00|9[679])) KKCI (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/bufrsigwx/(\3:yyyy)(\3:mm)\3/\4/\1_KKCI_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS1: POINT ^JUSA41.KWNO* /ispan/bufr/modelSoundings/NAM
# POINT ^JUSA41.KWBC* /ispan/bufr/modelSoundings/GFS
HDS ^(JUS[ABX]4[1-9]) (KW(NO|BC)) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/modelsounding/(\4:yyyy)(\4:mm)\4/\5/\1_\2_\4\5\6_(seq).bufr.%Y%m%d%H
## GOES Bufr Patterns ##
# Localized if goesBufrClip.sup exists -- going to just add all for now
# JUTX05 KNES 070326 RRN
HDS ^(JUTX0[1-9]) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/goessounding/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
## POES Bufr Patterns ##
# Localized if poesBufrClip.sup exists -- going to just add all for now
# IUTX01 KNES 070307
HDS ^(IUTN0[0-9]) (KNES) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/nucaps/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
HDS ^(IUTX0[1-9]) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/poessounding/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
## BUFR files ##
# AWIPS2 distribution file bufrhdw.xml: ^J[ACEGHJKMNPQR]CX[1-9]1.*
HDS ^(J[ACEGHJKMNPQR]CX[1-9]1) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/bufrhdw/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS2 distribution file bufrssmi.xml: ^ISXA.*
HDS ^(ISXA..) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/bufrssmi/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS2 distribution file bufrascat.xml: ^JSXX(0[1-9]|10).*
HDS ^(JSXX(0[1-9]|10)) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/bufrascat/(\4:yyyy)(\4:mm)\4/\5/\1_\3_\4\5\6_(seq).bufr.%Y%m%d%H
# AWIPS2 distribution file bufrmthdw.xml: ^JUTX(([2-4]1)|53).*
HDS ^(JUTX(([2-4]1)|53)) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/bufrmthdw/(\5:yyyy)(\5:mm)\5/\6/\1_\4_\5\6\7_(seq).bufr.%Y%m%d%H
UNIWISC ^pnga2area Q0 CH (.*) (.*) (.*) (.*) (........) (....)
PIPE -close -log
pnga2area -vl logs/pnga2area.log
/awips2/edex/data/manual/uniwisc_SOUNDER_\3_FIRESSH_\4_\5

View file

@ -1,6 +1,6 @@
../awips2-foss/lib/* ../awips2-core-foss/lib/*
../awips2-core/common/* ../awips2-core/edex/* ../awips2-core/features/* ../awips2-core/viz/*
../awips2-ohd/lib/* ../awips2-ohd/edex/* ../awips2-ohd/features/* ../awips2-ohd/apps/*
../awips2-rpmbuild/* ../awips2-ncep/common/* ../awips2-ncep/viz/* ../awips2-ncep/features/* ../awips2-ncep/edex/* ../awips2-gsd/*
../awips2-rpmbuild/* ../awips2-ncep/common/* ../awips2-ncep/viz/* ../awips2-ncep/features/* ../awips2-ncep/edex/* ../awips2-gsd/features/* ../awips2-gsd/viz/*
RadarServer/ edexOsgi/ cave/ ost/ localization/*
javaUtilities/* rpms pythonPackages nativeLib/*