Issue #189 modify nsharp to use grid data.
Former-commit-id: 4c364f429bbcaddfa1f23ae31a95ca25cb6baef9
This commit is contained in:
parent
d349cb2dbf
commit
52c37c114a
4 changed files with 59 additions and 57 deletions
|
@ -76,7 +76,7 @@ public class GribNSharpResourceData extends D2DNSharpResourceData {
|
||||||
String refTimeStr = formatTimestamp(stnInfo.getReftime());
|
String refTimeStr = formatTimestamp(stnInfo.getReftime());
|
||||||
String validTimeStr = formatTimestamp(stnInfo.getRangestarttime());
|
String validTimeStr = formatTimestamp(stnInfo.getRangestarttime());
|
||||||
NcSoundingCube cube = NcSoundingQuery.mdlSoundingQueryByLatLon(
|
NcSoundingCube cube = NcSoundingQuery.mdlSoundingQueryByLatLon(
|
||||||
refTimeStr, validTimeStr, latLon, "grib", getSoundingType(),
|
refTimeStr, validTimeStr, latLon, "grid", getSoundingType(),
|
||||||
false, "-1");
|
false, "-1");
|
||||||
if (cube != null && !cube.getSoundingProfileList().isEmpty()) {
|
if (cube != null && !cube.getSoundingProfileList().isEmpty()) {
|
||||||
NcSoundingProfile profileList = cube.getSoundingProfileList()
|
NcSoundingProfile profileList = cube.getSoundingProfileList()
|
||||||
|
|
|
@ -11,8 +11,9 @@ Require-Bundle: com.raytheon.edex.uengine,
|
||||||
com.raytheon.uf.common.message;bundle-version="1.11.7",
|
com.raytheon.uf.common.message;bundle-version="1.11.7",
|
||||||
com.raytheon.edex.plugin.satellite;bundle-version="1.11.7",
|
com.raytheon.edex.plugin.satellite;bundle-version="1.11.7",
|
||||||
com.raytheon.edex.plugin.radar;bundle-version="1.11.7",
|
com.raytheon.edex.plugin.radar;bundle-version="1.11.7",
|
||||||
com.raytheon.edex.plugin.grib;bundle-version="1.11.22",
|
com.raytheon.uf.edex.plugin.grid,
|
||||||
com.raytheon.uf.common.dataplugin.grib;bundle-version="1.11.22",
|
com.raytheon.uf.common.dataplugin.grid,
|
||||||
|
com.raytheon.uf.common.parameter,
|
||||||
com.raytheon.uf.common.datastorage.hdf5;bundle-version="1.11.22",
|
com.raytheon.uf.common.datastorage.hdf5;bundle-version="1.11.22",
|
||||||
gov.noaa.nws.ncep.edex.common;bundle-version="1.0.0",
|
gov.noaa.nws.ncep.edex.common;bundle-version="1.0.0",
|
||||||
gov.noaa.nws.ncep.common.dataplugin.mcidas;bundle-version="1.0.0",
|
gov.noaa.nws.ncep.common.dataplugin.mcidas;bundle-version="1.0.0",
|
||||||
|
|
|
@ -41,7 +41,8 @@ import com.raytheon.uf.edex.database.dao.CoreDao;
|
||||||
import com.raytheon.uf.edex.database.dao.DaoConfig;
|
import com.raytheon.uf.edex.database.dao.DaoConfig;
|
||||||
import com.raytheon.uf.edex.database.query.DatabaseQuery;
|
import com.raytheon.uf.edex.database.query.DatabaseQuery;
|
||||||
import com.raytheon.edex.uengine.tasks.query.TableQuery;
|
import com.raytheon.edex.uengine.tasks.query.TableQuery;
|
||||||
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 java.awt.Point;
|
import java.awt.Point;
|
||||||
import org.geotools.coverage.grid.GridGeometry2D;
|
import org.geotools.coverage.grid.GridGeometry2D;
|
||||||
|
@ -70,7 +71,7 @@ import com.vividsolutions.jts.geom.impl.CoordinateArraySequence;
|
||||||
|
|
||||||
public class MdlSoundingQuery {
|
public class MdlSoundingQuery {
|
||||||
private static final String NCGRIB_TBL_NAME = "ncgrib";
|
private static final String NCGRIB_TBL_NAME = "ncgrib";
|
||||||
private static final String D2DGRIB_TBL_NAME = "grib";
|
private static final String D2DGRIB_TBL_NAME = "grid";
|
||||||
|
|
||||||
private static String NC_PARMS = "HGHT, UREL, VREL, TMPK, OMEG, RELH";
|
private static String NC_PARMS = "HGHT, UREL, VREL, TMPK, OMEG, RELH";
|
||||||
//private static String NC_PARMS = "HGHT, UREL, VREL, TMPK, DWPK, SPFH, OMEG, RELH";
|
//private static String NC_PARMS = "HGHT, UREL, VREL, TMPK, DWPK, SPFH, OMEG, RELH";
|
||||||
|
@ -104,12 +105,12 @@ public class MdlSoundingQuery {
|
||||||
}else if(currentDBTblName.equals(D2DGRIB_TBL_NAME)){
|
}else if(currentDBTblName.equals(D2DGRIB_TBL_NAME)){
|
||||||
TableQuery query;
|
TableQuery query;
|
||||||
try {
|
try {
|
||||||
query = new TableQuery("metadata", GribRecord.class.getName());
|
query = new TableQuery("metadata", GridRecord.class.getName());
|
||||||
query.setDistinctField("dataTime.refTime");
|
query.setDistinctField("dataTime.refTime");
|
||||||
query.addParameter("modelInfo.modelName", mdlType);
|
query.addParameter(GridConstants.DATASET_ID, mdlType);
|
||||||
query.setSortBy("dataTime.refTime", false);
|
query.setSortBy("dataTime.refTime", false);
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
List<GribRecord> recList = (List<GribRecord>) query.execute();
|
List<GridRecord> recList = (List<GridRecord>) query.execute();
|
||||||
tl.setTimeLines(recList.toArray());
|
tl.setTimeLines(recList.toArray());
|
||||||
} catch (DataAccessLayerException e) {
|
} catch (DataAccessLayerException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
|
@ -144,13 +145,13 @@ public class MdlSoundingQuery {
|
||||||
else if(currentDBTblName.equals(D2DGRIB_TBL_NAME)){
|
else if(currentDBTblName.equals(D2DGRIB_TBL_NAME)){
|
||||||
TableQuery query;
|
TableQuery query;
|
||||||
try {
|
try {
|
||||||
query = new TableQuery("metadata", GribRecord.class.getName());
|
query = new TableQuery("metadata", GridRecord.class.getName());
|
||||||
query.setDistinctField("dataTime.validPeriod.start");
|
query.setDistinctField("dataTime.validPeriod.start");
|
||||||
query.addParameter("modelInfo.modelName", mdlType);
|
query.addParameter(GridConstants.DATASET_ID, mdlType);
|
||||||
query.addParameter("dataTime.refTime", refTimeStr + ":00:00");
|
query.addParameter("dataTime.refTime", refTimeStr + ":00:00");
|
||||||
query.setSortBy("dataTime.validPeriod.start", true);
|
query.setSortBy("dataTime.validPeriod.start", true);
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
List<GribRecord> recList = (List<GribRecord>) query.execute();
|
List<GridRecord> recList = (List<GridRecord>) query.execute();
|
||||||
tl.setTimeLines(recList.toArray());
|
tl.setTimeLines(recList.toArray());
|
||||||
} catch (DataAccessLayerException e) {
|
} catch (DataAccessLayerException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
|
@ -406,21 +407,21 @@ public class MdlSoundingQuery {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
||||||
CoreDao dao = new CoreDao(DaoConfig.forClass(GribRecord.class));
|
CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class));
|
||||||
DatabaseQuery query = new DatabaseQuery(GribRecord.class.getName());
|
DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName());
|
||||||
|
|
||||||
query.setMaxResults(new Integer(1));
|
query.setMaxResults(new Integer(1));
|
||||||
query.addQueryParam("modelInfo.modelName", modelName);
|
query.addQueryParam(GridConstants.DATASET_ID, modelName);
|
||||||
query.addQueryParam("dataTime.refTime", refTime);
|
query.addQueryParam("dataTime.refTime", refTime);
|
||||||
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<GribRecord> recList = ((List<GribRecord>) dao
|
List<GridRecord> recList = ((List<GridRecord>) dao
|
||||||
.queryByCriteria(query));
|
.queryByCriteria(query));
|
||||||
if (recList.size() == 0) {
|
if (recList.size() == 0) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
GribRecord rec = recList.get(0);
|
GridRecord rec = recList.get(0);
|
||||||
spatialArea = rec.getSpatialObject();
|
spatialArea = rec.getSpatialObject();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -517,21 +518,21 @@ public class MdlSoundingQuery {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
||||||
CoreDao dao = new CoreDao(DaoConfig.forClass(GribRecord.class));
|
CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class));
|
||||||
DatabaseQuery query = new DatabaseQuery(GribRecord.class.getName());
|
DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName());
|
||||||
|
|
||||||
query.setMaxResults(new Integer(1));
|
query.setMaxResults(new Integer(1));
|
||||||
query.addQueryParam("modelInfo.modelName", modelName);
|
query.addQueryParam(GridConstants.DATASET_ID, modelName);
|
||||||
query.addQueryParam("dataTime.refTime", refTime);
|
query.addQueryParam("dataTime.refTime", refTime);
|
||||||
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<GribRecord> recList = ((List<GribRecord>) dao
|
List<GridRecord> recList = ((List<GridRecord>) dao
|
||||||
.queryByCriteria(query));
|
.queryByCriteria(query));
|
||||||
if (recList.size() == 0) {
|
if (recList.size() == 0) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
GribRecord rec = recList.get(0);
|
GridRecord rec = recList.get(0);
|
||||||
spatialArea = rec.getSpatialObject();
|
spatialArea = rec.getSpatialObject();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -626,20 +627,20 @@ public class MdlSoundingQuery {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
||||||
CoreDao dao = new CoreDao(DaoConfig.forClass(GribRecord.class));
|
CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class));
|
||||||
DatabaseQuery query = new DatabaseQuery(GribRecord.class.getName());
|
DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName());
|
||||||
|
|
||||||
query.addQueryParam("modelInfo.level.levelonevalue", "0.0");
|
query.addQueryParam(GridConstants.LEVEL_ONE, "0.0");
|
||||||
query.addQueryParam("modelInfo.level.leveltwovalue", "-999999.0");
|
query.addQueryParam(GridConstants.LEVEL_TWO, "-999999.0");
|
||||||
query.addQueryParam("modelInfo.level.masterLevel.name", "MSL");
|
query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MSL");
|
||||||
query.addQueryParam("modelInfo.parameterAbbreviation", "PMSL");
|
query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "PMSL");
|
||||||
query.addQueryParam("modelInfo.modelName", modelName);
|
query.addQueryParam(GridConstants.DATASET_ID, modelName);
|
||||||
query.addQueryParam("dataTime.refTime", refTime);
|
query.addQueryParam("dataTime.refTime", refTime);
|
||||||
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
||||||
|
|
||||||
GribRecord rec = null;
|
GridRecord rec = null;
|
||||||
try {
|
try {
|
||||||
List<GribRecord> recList = ((List<GribRecord>) dao
|
List<GridRecord> recList = ((List<GridRecord>) dao
|
||||||
.queryByCriteria(query));
|
.queryByCriteria(query));
|
||||||
if (recList.size() == 0) {
|
if (recList.size() == 0) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -817,19 +818,19 @@ public class MdlSoundingQuery {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
||||||
List<GribRecord> recList = new ArrayList<GribRecord>(); ;
|
List<GridRecord> recList = new ArrayList<GridRecord>(); ;
|
||||||
TableQuery query;
|
TableQuery query;
|
||||||
try {
|
try {
|
||||||
query = new TableQuery("metadata",
|
query = new TableQuery("metadata",
|
||||||
GribRecord.class.getName());
|
GridRecord.class.getName());
|
||||||
query.addParameter("modelInfo.level.masterLevel.name", "MB");
|
query.addParameter(GridConstants.MASTER_LEVEL_NAME, "MB");
|
||||||
query.addParameter("modelInfo.modelName", modelName);
|
query.addParameter(GridConstants.DATASET_ID, modelName);
|
||||||
query.addList("modelInfo.parameterAbbreviation",
|
query.addList(GridConstants.PARAMETER_ABBREVIATION,
|
||||||
D2D_PARMS);
|
D2D_PARMS);
|
||||||
query.addParameter("dataTime.refTime", refTime);
|
query.addParameter("dataTime.refTime", refTime);
|
||||||
query.addParameter("dataTime.validPeriod.start", validTime);
|
query.addParameter("dataTime.validPeriod.start", validTime);
|
||||||
query.setSortBy("modelInfo.level.levelonevalue", false);
|
query.setSortBy(GridConstants.LEVEL_ONE, false);
|
||||||
recList = (List<GribRecord>) query.execute();
|
recList = (List<GridRecord>) query.execute();
|
||||||
if (recList.size() != 0) {
|
if (recList.size() != 0) {
|
||||||
PointIn pointIn = new PointIn(pluginName, recList.get(0));
|
PointIn pointIn = new PointIn(pluginName, recList.get(0));
|
||||||
fdataArrayList = pointIn.getHDF5GroupDataPoints(recList.toArray(),points);
|
fdataArrayList = pointIn.getHDF5GroupDataPoints(recList.toArray(),points);
|
||||||
|
@ -858,10 +859,10 @@ public class MdlSoundingQuery {
|
||||||
double pressure= (Double)level;
|
double pressure= (Double)level;
|
||||||
soundingLy.setPressure( (float)pressure);
|
soundingLy.setPressure( (float)pressure);
|
||||||
for (int i=0; i < recArray.length; i++) {
|
for (int i=0; i < recArray.length; i++) {
|
||||||
GribRecord rec1 = (GribRecord)recArray[i];
|
GridRecord rec1 = (GridRecord)recArray[i];
|
||||||
float fdata = fdataArray[i];
|
float fdata = fdataArray[i];
|
||||||
if(rec1.getModelInfo().getLevelOneValue() == pressure){
|
if(rec1.getLevel().getLevelonevalue() == pressure){
|
||||||
String prm = rec1.getModelInfo().getParameterAbbreviation();
|
String prm = rec1.getParameter().getAbbreviation();
|
||||||
switch (D2DParmNames.valueOf(prm)) {
|
switch (D2DParmNames.valueOf(prm)) {
|
||||||
case GH:
|
case GH:
|
||||||
soundingLy.setGeoHeight(fdata);
|
soundingLy.setGeoHeight(fdata);
|
||||||
|
@ -1160,16 +1161,16 @@ public class MdlSoundingQuery {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
||||||
CoreDao dao = new CoreDao(DaoConfig.forClass(GribRecord.class));
|
CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class));
|
||||||
DatabaseQuery query = new DatabaseQuery(GribRecord.class.getName());
|
DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName());
|
||||||
query.addDistinctParameter("modelInfo.level.levelonevalue");
|
query.addDistinctParameter(GridConstants.LEVEL_ONE);
|
||||||
query.addQueryParam("modelInfo.parameterAbbreviation", "GH");
|
query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "GH");
|
||||||
query.addQueryParam("modelInfo.level.masterLevel.name", "MB");
|
query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MB");
|
||||||
|
|
||||||
query.addQueryParam("modelInfo.modelName", modelName);
|
query.addQueryParam(GridConstants.DATASET_ID, modelName);
|
||||||
query.addQueryParam("dataTime.refTime", refTime);
|
query.addQueryParam("dataTime.refTime", refTime);
|
||||||
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
||||||
query.addOrder("modelInfo.level.levelonevalue", false);
|
query.addOrder(GridConstants.LEVEL_ONE, false);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return (List<?>) dao.queryByCriteria(query);
|
return (List<?>) dao.queryByCriteria(query);
|
||||||
|
@ -1237,20 +1238,20 @@ public class MdlSoundingQuery {
|
||||||
|
|
||||||
|
|
||||||
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
} else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) {
|
||||||
CoreDao dao = new CoreDao(DaoConfig.forClass(GribRecord.class));
|
CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class));
|
||||||
DatabaseQuery query = new DatabaseQuery(GribRecord.class.getName());
|
DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName());
|
||||||
|
|
||||||
query.addQueryParam("modelInfo.parameterAbbreviation", "GH");
|
query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "GH");
|
||||||
query.addQueryParam("modelInfo.level.masterLevel.name", "MB");
|
query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MB");
|
||||||
query.addQueryParam("modelInfo.modelName", modelName);
|
query.addQueryParam(GridConstants.DATASET_ID, modelName);
|
||||||
query.addQueryParam("dataTime.refTime", refTime);
|
query.addQueryParam("dataTime.refTime", refTime);
|
||||||
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
query.addQueryParam("dataTime.validPeriod.start", validTime);
|
||||||
query.addQueryParam("modelInfo.level.levelonevalue", level);
|
query.addQueryParam(GridConstants.LEVEL_ONE, level);
|
||||||
query.addQueryParam("modelInfo.level.leveltwovalue", "-999999.0");
|
query.addQueryParam(GridConstants.LEVEL_TWO, "-999999.0");
|
||||||
|
|
||||||
GribRecord rec;
|
GridRecord rec;
|
||||||
try {
|
try {
|
||||||
List<GribRecord> recList = ((List<GribRecord>) dao
|
List<GridRecord> recList = ((List<GridRecord>) dao
|
||||||
.queryByCriteria(query));
|
.queryByCriteria(query));
|
||||||
if (recList.size() == 0) {
|
if (recList.size() == 0) {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -40,7 +40,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
public class NcSoundingQuery {
|
public class NcSoundingQuery {
|
||||||
public static int counter = 1;
|
public static int counter = 1;
|
||||||
public static String NCGRIB_PLUGIN_NAME = "ncgrib";
|
public static String NCGRIB_PLUGIN_NAME = "ncgrib";
|
||||||
public static String GRIB_PLUGIN_NAME = "grib";
|
public static String GRIB_PLUGIN_NAME = "grid";
|
||||||
public static long convertRefTimeStr(String refTimeStr) {
|
public static long convertRefTimeStr(String refTimeStr) {
|
||||||
int year, mon, date, hr;
|
int year, mon, date, hr;
|
||||||
int index = refTimeStr.indexOf('-');
|
int index = refTimeStr.indexOf('-');
|
||||||
|
|
Loading…
Add table
Reference in a new issue