diff --git a/cave/com.raytheon.uf.viz.cloudheight/META-INF/MANIFEST.MF b/cave/com.raytheon.uf.viz.cloudheight/META-INF/MANIFEST.MF index 601c7f9f5c..cf9b62e717 100644 --- a/cave/com.raytheon.uf.viz.cloudheight/META-INF/MANIFEST.MF +++ b/cave/com.raytheon.uf.viz.cloudheight/META-INF/MANIFEST.MF @@ -10,16 +10,6 @@ Eclipse-BuddyPolicy: ext, global Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, com.raytheon.uf.common.pointdata, - com.raytheon.uf.common.serialization;bundle-version="1.11.17", - com.raytheon.uf.common.localization;bundle-version="1.11.17", - com.raytheon.uf.common.status;bundle-version="1.11.17", - com.raytheon.uf.viz.core;bundle-version="1.11.17", - com.raytheon.uf.viz.sounding;bundle-version="1.11.17", - com.raytheon.uf.common.time;bundle-version="1.11.17", - com.raytheon.uf.common.geospatial;bundle-version="1.11.17", - org.geotools;bundle-version="2.5.8", - com.raytheon.edex.meteolib;bundle-version="1.11.17", - com.raytheon.uf.common.dataplugin;bundle-version="1.11.17", com.raytheon.uf.viz.d2d.core;bundle-version="1.11.17", com.raytheon.viz.ui;bundle-version="1.11.17", com.raytheon.viz.skewt;bundle-version="1.11.17", @@ -28,9 +18,9 @@ Require-Bundle: org.eclipse.ui, com.raytheon.uf.common.sounding;bundle-version="1.0.0", javax.measure;bundle-version="1.0.0", com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174", - com.raytheon.uf.common.dataplugin.grib;bundle-version="1.12.1174", com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0", - com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0" + com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0", + com.raytheon.uf.common.parameter;bundle-version="1.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Export-Package: com.raytheon.uf.viz.cloudheight, diff --git a/cave/com.raytheon.uf.viz.cloudheight/src/com/raytheon/uf/viz/cloudheight/impl/ModelCloudHeightSourceImplementation.java b/cave/com.raytheon.uf.viz.cloudheight/src/com/raytheon/uf/viz/cloudheight/impl/ModelCloudHeightSourceImplementation.java index d3e8c74d4a..d19c06292b 100644 --- a/cave/com.raytheon.uf.viz.cloudheight/src/com/raytheon/uf/viz/cloudheight/impl/ModelCloudHeightSourceImplementation.java +++ b/cave/com.raytheon.uf.viz.cloudheight/src/com/raytheon/uf/viz/cloudheight/impl/ModelCloudHeightSourceImplementation.java @@ -31,7 +31,8 @@ import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import com.raytheon.uf.common.dataplugin.PluginDataObject; -import com.raytheon.uf.common.dataplugin.grib.GribRecord; +import com.raytheon.uf.common.dataplugin.grid.GridConstants; +import com.raytheon.uf.common.dataplugin.grid.GridRecord; import com.raytheon.uf.common.dataplugin.grid.dataset.DatasetInfo; import com.raytheon.uf.common.dataplugin.grid.dataset.DatasetInfoLookup; import com.raytheon.uf.common.dataplugin.level.Level; @@ -57,7 +58,7 @@ import com.raytheon.viz.core.map.GeoUtil; import com.vividsolutions.jts.geom.Coordinate; /** - * Grib model cloud height sounding implementation + * Grid model cloud height sounding implementation * *
  * 
@@ -76,6 +77,12 @@ import com.vividsolutions.jts.geom.Coordinate;
 public class ModelCloudHeightSourceImplementation extends
         AbstractCloudHeightSourceImpl {
 
+    private static final String PARAM_TEMP = "T";
+
+    private static final String PARAM_DEWPOINT = "DpT";
+
+    private static final String PARAM_HEIGHT = "GH";
+
     private Map soundingMap = new HashMap();
 
     private Job hdf5Job = null;
@@ -100,8 +107,7 @@ public class ModelCloudHeightSourceImplementation extends
         for (PluginDataObject pdo : objects) {
             float[] data = (float[]) pdo.getMessageData();
             if (data != null) {
-                Double level = ((GribRecord) pdo).getModelInfo()
-                        .getLevelOneValue();
+                Double level = ((GridRecord) pdo).getLevel().getLevelonevalue();
                 SoundingLayer layer = layerMap.get(level);
                 if (layer == null) {
                     layer = new SoundingLayer();
@@ -110,14 +116,14 @@ public class ModelCloudHeightSourceImplementation extends
                 }
 
                 float val = data[index];
-                String param = ((GribRecord) pdo).getModelInfo()
-                        .getParameterAbbreviation();
+                String param = ((GridRecord) pdo).getParameter()
+                        .getAbbreviation();
 
-                if ("T".equals(param)) {
+                if (PARAM_TEMP.equals(param)) {
                     layer.setTemperature(val);
-                } else if ("GH".equals(param)) {
+                } else if (PARAM_HEIGHT.equals(param)) {
                     layer.setGeoHeight(val);
-                } else if ("DpT".equals(param)) {
+                } else if (PARAM_DEWPOINT.equals(param)) {
                     layer.setDewpoint(val);
                 }
             }
@@ -142,20 +148,21 @@ public class ModelCloudHeightSourceImplementation extends
     @Override
     protected HashMap constructMetadataMap() {
         HashMap requestMap = new HashMap();
-        requestMap.put("pluginName", new RequestConstraint("grib"));
-        requestMap.put("modelInfo.modelName",
+        requestMap.put(GridConstants.PLUGIN_NAME, new RequestConstraint(
+                GridConstants.GRID));
+        requestMap.put(GridConstants.DATASET_ID,
                 new RequestConstraint(source.getName()));
 
         RequestConstraint params = new RequestConstraint();
         params.setConstraintType(ConstraintType.IN);
-        params.addToConstraintValueList("T");
-        params.addToConstraintValueList("GH");
-        params.addToConstraintValueList("DpT");
-        requestMap.put("modelInfo.parameterAbbreviation", params);
-        requestMap.put("modelInfo.level.masterLevel.name",
-                new RequestConstraint("MB"));
-        requestMap.put("modelInfo.level.leveltwovalue", new RequestConstraint(
-                Level.getInvalidLevelValueAsString()));
+        params.addToConstraintValueList(PARAM_TEMP);
+        params.addToConstraintValueList(PARAM_HEIGHT);
+        params.addToConstraintValueList(PARAM_DEWPOINT);
+        requestMap.put(GridConstants.PARAMETER_ABBREVIATION, params);
+        requestMap.put(GridConstants.MASTER_LEVEL_NAME, new RequestConstraint(
+                "MB"));
+        requestMap.put(GridConstants.LEVEL_TWO,
+                new RequestConstraint(Level.getInvalidLevelValueAsString()));
         return requestMap;
     }
 
@@ -170,7 +177,7 @@ public class ModelCloudHeightSourceImplementation extends
     protected synchronized VerticalSounding createSoundingInternal(
             Coordinate latLon, final DataTime time,
             final PluginDataObject[] pdos) {
-        GribRecord pdo = (GribRecord) pdos[0];
+        GridRecord pdo = (GridRecord) pdos[0];
 
         final ISpatialObject spatial = pdo.getSpatialObject();
 
diff --git a/cave/com.raytheon.uf.viz.sounding/META-INF/MANIFEST.MF b/cave/com.raytheon.uf.viz.sounding/META-INF/MANIFEST.MF
index 0c26a854dd..b3c689cabb 100644
--- a/cave/com.raytheon.uf.viz.sounding/META-INF/MANIFEST.MF
+++ b/cave/com.raytheon.uf.viz.sounding/META-INF/MANIFEST.MF
@@ -7,43 +7,30 @@ Bundle-Activator: com.raytheon.uf.viz.sounding.Activator
 Bundle-Vendor: RAYTHEON
 Require-Bundle: org.eclipse.core.runtime,
  javax.measure;bundle-version="1.0.0",
- org.geotools;bundle-version="2.5.2",
  com.raytheon.edex.common;bundle-version="1.11.17",
- com.raytheon.uf.common.dataplugin.grib;bundle-version="1.11.17",
- com.raytheon.uf.common.sounding;bundle-version="1.0.0"
+ com.raytheon.uf.common.sounding;bundle-version="1.0.0",
+ com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0",
+ com.raytheon.uf.common.topo;bundle-version="1.12.1174",
+ com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
+ com.raytheon.uf.common.parameter;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Export-Package: com.raytheon.uf.viz.sounding,
  com.raytheon.uf.viz.sounding.adapters
 Import-Package: com.raytheon.edex.meteoLib,
  com.raytheon.edex.plugin.modelsounding.common,
- com.raytheon.edex.scriptfactory,
- com.raytheon.edex.util,
  com.raytheon.uf.common.dataplugin,
- com.raytheon.uf.common.dataplugin.acarssounding,
- com.raytheon.uf.common.dataplugin.bufrua,
  com.raytheon.uf.common.dataplugin.goessounding,
- com.raytheon.uf.common.dataplugin.grib,
- com.raytheon.uf.common.dataplugin.level,
  com.raytheon.uf.common.dataplugin.poessounding,
  com.raytheon.uf.common.dataplugin.profiler,
  com.raytheon.uf.common.geospatial,
- com.raytheon.uf.common.menus,
- com.raytheon.uf.common.menus.xml,
  com.raytheon.uf.common.pointdata,
  com.raytheon.uf.common.pointdata.spatial,
- com.raytheon.uf.common.serialization,
  com.raytheon.uf.common.status,
  com.raytheon.uf.common.time,
- com.raytheon.uf.common.topo,
- com.raytheon.uf.viz.acarssounding,
- com.raytheon.uf.viz.core.catalog,
  com.raytheon.uf.viz.core.datastructure,
  com.raytheon.uf.viz.core.exception,
  com.raytheon.uf.viz.core.status,
  com.raytheon.uf.viz.core.topo,
- com.raytheon.uf.viz.ui.menus,
  com.raytheon.viz.core.map,
- com.raytheon.viz.core.slice,
- com.raytheon.viz.core.slice.request,
  com.raytheon.viz.pointdata
diff --git a/cave/com.raytheon.uf.viz.sounding/src/com/raytheon/uf/viz/sounding/adapters/GribSoundingAdapter.java b/cave/com.raytheon.uf.viz.sounding/src/com/raytheon/uf/viz/sounding/adapters/GridSoundingAdapter.java
similarity index 84%
rename from cave/com.raytheon.uf.viz.sounding/src/com/raytheon/uf/viz/sounding/adapters/GribSoundingAdapter.java
rename to cave/com.raytheon.uf.viz.sounding/src/com/raytheon/uf/viz/sounding/adapters/GridSoundingAdapter.java
index ad89a11087..55531c8a71 100644
--- a/cave/com.raytheon.uf.viz.sounding/src/com/raytheon/uf/viz/sounding/adapters/GribSoundingAdapter.java
+++ b/cave/com.raytheon.uf.viz.sounding/src/com/raytheon/uf/viz/sounding/adapters/GridSoundingAdapter.java
@@ -27,7 +27,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.raytheon.uf.common.dataplugin.PluginDataObject;
-import com.raytheon.uf.common.dataplugin.grib.GribRecord;
+import com.raytheon.uf.common.dataplugin.grid.GridRecord;
 import com.raytheon.uf.common.datastorage.Request;
 import com.raytheon.uf.common.datastorage.records.IDataRecord;
 import com.raytheon.uf.common.geospatial.ISpatialObject;
@@ -49,7 +49,7 @@ import com.raytheon.viz.core.map.GeoUtil;
 import com.vividsolutions.jts.geom.GeometryFactory;
 
 /**
- * Sounding adapter for grib data, used for both skewt and cloud height sampling
+ * Sounding adapter for grid data, used for cloud height sampling
  * 
  * 
  * 
@@ -64,9 +64,9 @@ import com.vividsolutions.jts.geom.GeometryFactory;
  * @version 1.0
  */
 
-public class GribSoundingAdapter extends AbstractVerticalSoundingAdapter {
+public class GridSoundingAdapter extends AbstractVerticalSoundingAdapter {
     private static final transient IUFStatusHandler statusHandler = UFStatus
-            .getHandler(GribSoundingAdapter.class);
+            .getHandler(GridSoundingAdapter.class);
 
     /** Interface for getting point information */
     private IPointSounding pointSounding;
@@ -84,7 +84,7 @@ public class GribSoundingAdapter extends AbstractVerticalSoundingAdapter {
      *            Object which will provide information on point location and
      *            name
      */
-    public GribSoundingAdapter(IPointSounding pointSounding) {
+    public GridSoundingAdapter(IPointSounding pointSounding) {
         this.pointSounding = pointSounding;
         soundingMap = new HashMap>();
     }
@@ -101,7 +101,7 @@ public class GribSoundingAdapter extends AbstractVerticalSoundingAdapter {
         long t0 = System.currentTimeMillis();
         List soundings = new ArrayList();
         try {
-            GribRecord sampleRecord = (GribRecord) objects[0];
+            GridRecord sampleRecord = (GridRecord) objects[0];
             ISpatialObject spatial = sampleRecord.getSpatialObject();
             Point point = PointUtil.determineIndex(
                     pointSounding.getCoordinate(), spatial.getCrs(),
@@ -113,10 +113,9 @@ public class GribSoundingAdapter extends AbstractVerticalSoundingAdapter {
                                 "Point is outside bounds of grid"));
                 return new VerticalSounding[0];
             }
-            String name = String.format("%s pt%s %s", sampleRecord
-                    .getModelInfo().getModelTitle(), pointSounding
-                    .getPointName(), GeoUtil.formatCoordinate(pointSounding
-                    .getCoordinate()));
+            String name = String.format("%s pt%s %s",
+                    sampleRecord.getDatasetId(), pointSounding.getPointName(),
+                    GeoUtil.formatCoordinate(pointSounding.getCoordinate()));
             location = new SurfaceObsLocation(name);
             location.setGeometry(new GeometryFactory()
                     .createPoint(pointSounding.getCoordinate()));
@@ -134,18 +133,9 @@ public class GribSoundingAdapter extends AbstractVerticalSoundingAdapter {
                 if (rec != null && rec.length > 0) {
                     float[] data = (float[]) rec[0].getDataObject();
                     float val = data[0];
-                    addToSoundingMap((GribRecord) pdo, val);
+                    addToSoundingMap((GridRecord) pdo, val);
                 }
             }
-            double rotation = 0;
-            if ((sampleRecord.getResCompFlags() == null)
-                    || (sampleRecord.getResCompFlags() & 8) != 0) {
-                rotation = 180 - MapUtil.rotation(
-                        pointSounding.getCoordinate(),
-                        sampleRecord.getSpatialObject());
-            }
-            float sinRot = (float) Math.sin(Math.toRadians(rotation));
-            float cosRot = (float) Math.cos(Math.toRadians(rotation));
             for (DataTime time : soundingMap.keySet()) {
                 VerticalSounding sounding = new VerticalSounding();
                 sounding.setDataTime(time);
@@ -156,12 +146,6 @@ public class GribSoundingAdapter extends AbstractVerticalSoundingAdapter {
                 sounding.setStationId(location.getStationId());
                 Map layerMap = soundingMap.get(time);
                 for (SoundingLayer layer : layerMap.values()) {
-                    float u = layer.getWindU();
-                    float v = layer.getWindV();
-                    float vTemp = (u * sinRot) + (v * cosRot);
-                    u = (u * cosRot) - (v * sinRot);
-                    layer.setWindU(u);
-                    layer.setWindV(vTemp);
                     sounding.addLayer(layer);
                 }
 
@@ -213,7 +197,7 @@ public class GribSoundingAdapter extends AbstractVerticalSoundingAdapter {
      * @param dataVal
      * @throws VizException
      */
-    private void addToSoundingMap(GribRecord record, float dataVal)
+    private void addToSoundingMap(GridRecord record, float dataVal)
             throws VizException {
         DataTime dt = record.getDataTime();
         Map layerMap = soundingMap.get(dt);
@@ -222,14 +206,14 @@ public class GribSoundingAdapter extends AbstractVerticalSoundingAdapter {
             soundingMap.put(dt, layerMap);
         }
 
-        Double l1val = record.getModelInfo().getLevelOneValue();
+        Double l1val = record.getLevel().getLevelonevalue();
         SoundingLayer layer = layerMap.get(l1val);
         if (layer == null) {
             layer = new SoundingLayer();
             layer.setPressure(l1val.floatValue());
             layerMap.put(l1val, layer);
         }
-        String param = record.getModelInfo().getParameterAbbreviation();
+        String param = record.getParameter().getAbbreviation();
 
         if ("T".equals(param)) {
             layer.setTemperature(dataVal);
diff --git a/cave/com.raytheon.uf.viz.xy/src/com/raytheon/uf/viz/xy/InterpUtils.java b/cave/com.raytheon.uf.viz.xy/src/com/raytheon/uf/viz/xy/InterpUtils.java
index 73d344eadb..fd9c229810 100644
--- a/cave/com.raytheon.uf.viz.xy/src/com/raytheon/uf/viz/xy/InterpUtils.java
+++ b/cave/com.raytheon.uf.viz.xy/src/com/raytheon/uf/viz/xy/InterpUtils.java
@@ -219,7 +219,7 @@ public class InterpUtils {
                     val += (1 - Math.abs(x1 - x)) * (1 - Math.abs(y1 - y))
                             * val11;
                 } else {
-                    missing -= Math.abs((x1 - x) * (y1 - y));
+                    missing -= (1 - Math.abs(x1 - x)) * (1 - Math.abs(y1 - y));
                 }
             }
         }
diff --git a/cave/com.raytheon.viz.skewT/src/com/raytheon/viz/skewt/rscdata/GribSoundingSkewTResourceData.java b/cave/com.raytheon.viz.skewT/src/com/raytheon/viz/skewt/rscdata/GribSoundingSkewTResourceData.java
index 3391c83a6e..be723e3e91 100644
--- a/cave/com.raytheon.viz.skewT/src/com/raytheon/viz/skewt/rscdata/GribSoundingSkewTResourceData.java
+++ b/cave/com.raytheon.viz.skewT/src/com/raytheon/viz/skewt/rscdata/GribSoundingSkewTResourceData.java
@@ -26,7 +26,7 @@ import com.raytheon.uf.common.dataplugin.PluginDataObject;
 import com.raytheon.uf.common.sounding.adapter.AbstractVerticalSoundingAdapter;
 import com.raytheon.uf.viz.core.exception.VizException;
 import com.raytheon.uf.viz.core.rsc.LoadProperties;
-import com.raytheon.uf.viz.sounding.adapters.GribSoundingAdapter;
+import com.raytheon.uf.viz.sounding.adapters.GridSoundingAdapter;
 import com.raytheon.uf.viz.sounding.adapters.IPointSounding;
 import com.raytheon.viz.skewt.rsc.SkewTResource;
 import com.vividsolutions.jts.geom.Coordinate;
@@ -66,7 +66,7 @@ public class GribSoundingSkewTResourceData extends SkewTResourceData implements
     @Override
     protected SkewTResource constructResource(LoadProperties loadProperties,
             PluginDataObject[] objects) throws VizException {
-        AbstractVerticalSoundingAdapter adapter = new GribSoundingAdapter(this);
+        AbstractVerticalSoundingAdapter adapter = new GridSoundingAdapter(this);
         adapter.setObjects(objects);
         this.soundings = adapter.createSoundings();
         SkewTResource rsc = new SkewTResource(this, loadProperties);