Omaha #3873 - Fixed assigning timeObs for maritime record.
Former-commit-id:fc045d397e
[formerly4b43ae6fb4
] [formerly090bc93302
] [formerly63026ac59b
[formerly090bc93302
[formerly ccdf4928b9527e85684fb0d4eaa67435f8da5559]]] Former-commit-id:63026ac59b
Former-commit-id: 7a7e0f7c520306ee470317b3986f23a40ee79e12 [formerlyf697594b73
] Former-commit-id:7d0803fcb1
This commit is contained in:
parent
32fe42fb59
commit
f691ef9c11
1 changed files with 540 additions and 516 deletions
|
@ -34,7 +34,7 @@ import com.raytheon.uf.common.time.util.TimeUtil;
|
|||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
* Provides a transform from FSSObsRecord to PointDataContainer and vice versa.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
|
@ -44,6 +44,7 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Dec 3, 2010 skorolev Initial creation
|
||||
* Jul 23, 2014 3410 bclement location changed to floats
|
||||
* Dec 04, 2014 3873 skorolev Fixed assigning timeObs for maritime record.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -70,42 +71,79 @@ public class FSSObsDataTransform {
|
|||
// ------------------ params in the FSSObsRecord----------------------------
|
||||
|
||||
private static final String CEILING = "ceiling";
|
||||
|
||||
private static final String DEWPOINT = "dewpoint";
|
||||
|
||||
private static final String DEWPOINT_DEPR = "dewpointDepr";
|
||||
|
||||
private static final String FROSTBITE_TIME = "frostbiteTime";
|
||||
|
||||
private static final String HORIZONTAL_VIS = "horzVisibility";
|
||||
|
||||
private static final String HOURLY_PRECIP = "hourlyPrecip";
|
||||
|
||||
private static final String MAX_WIND_SPEED = "maxWindSpeed";
|
||||
|
||||
private static final String PLATFORM_ID = "platformId";
|
||||
|
||||
private static final String PRES_WEATHER = "presWeather";
|
||||
|
||||
private static final String PRESS_CHANGE3_HOUR = "pressChange3Hour";
|
||||
|
||||
private static final String PRESS_CHANGE_CHAR = "pressChangeChar";
|
||||
|
||||
private static final String PRESS_ALTIMETER = "pressureAltimeter";
|
||||
|
||||
private static final String PRI_SWELL_WV_DIR = "primarySwellWaveDir";
|
||||
|
||||
private static final String PRI_SWELL_WV_HGT = "primarySwellWaveHeight";
|
||||
|
||||
private static final String PRI_SWELL_WV_PD = "primarySwellWavePeriod";
|
||||
|
||||
private static final String RAW_MESSAGE = "rawMessage";
|
||||
|
||||
private static final String REL_HUMIDITY = "relativeHumidity";
|
||||
|
||||
private static final String SEA_LEVEL_PRESS = "seaLevelPress";
|
||||
|
||||
private static final String SEA_SFC_TEMP = "seaSurfaceTemp";
|
||||
|
||||
private static final String SEC_SWELL_WV_DIR = "secondarySwellWaveDir";
|
||||
|
||||
private static final String SEC_SWELL_WV_HGT = "secondarySwellWaveHeight";
|
||||
|
||||
private static final String SEC_SWELL_WV_PD = "secondarySwellWavePeriod";
|
||||
|
||||
private static final String SKY_COVER = "skyCover";
|
||||
|
||||
private static final String SNOW_INC_HOURLY = "snincrHourly";
|
||||
|
||||
private static final String SNOW_INC_TOTAL = "snincrTotal";
|
||||
|
||||
private static final String SNOW_DEPTH = "snowDepth";
|
||||
|
||||
private static final String STATION_NAME = "stnName";
|
||||
|
||||
private static final String TEMPERATURE = "temperature";
|
||||
|
||||
private static final String TIME_OBS = "timeObs";
|
||||
|
||||
private static final String REF_HOUR = "refHour";
|
||||
|
||||
private static final String CLOUD_AMOUNT_TOT = "totCloudAmount";
|
||||
|
||||
private static final String VISIBILITY = "visibility";
|
||||
|
||||
private static final String WV_HGT = "waveHeight";
|
||||
|
||||
private static final String WV_PD = "wavePeriod";
|
||||
|
||||
private static final String WV_STEEPNESS = "waveSteepness";
|
||||
|
||||
private static final String WIND_DIR = "windDir";
|
||||
|
||||
private static final String WIND_GUST = "windGust";
|
||||
|
||||
private static final String WIND_SPEED = "windSpeed";
|
||||
|
||||
// ------------------Common params (From OBS
|
||||
|
@ -146,6 +184,8 @@ public class FSSObsDataTransform {
|
|||
|
||||
private static final String PRECIP1_HOUR = "precip1Hour";
|
||||
|
||||
private static final String TIME_NOMINAL = "timeNominal";
|
||||
|
||||
public static final String OBS_PARAMS_LIST;
|
||||
|
||||
// ----------------From LDADMESOWEST-------------------------------
|
||||
|
@ -296,19 +336,13 @@ public class FSSObsDataTransform {
|
|||
fssr.setPlatformId(loc.getStationId());
|
||||
fssr.setStnName(stId);
|
||||
fssr.setRawMessage(pdv.getString(RAW_METAR));
|
||||
fssr.setDataTime(new DataTime(new Date(pdv.getNumber(TIME_OBS)
|
||||
.longValue())));
|
||||
long to = pdv.getLong(TIME_OBS);
|
||||
fssr.setTimeObs(TimeUtil.newGmtCalendar(new Date(to)));
|
||||
// nominalTime
|
||||
fssr.setDataTime(new DataTime(pdv.getDate(TIME_OBS)));
|
||||
fssr.setTimeObs(pdv.getCalendar(TIME_OBS));
|
||||
fssr.setRefHour(TimeTools.roundToNearestHour(fssr.getTimeObs()));
|
||||
// in mbar
|
||||
fssr.setSeaLevelPress(pdv.getNumber(SEA_LEVEL_PRESS).floatValue());
|
||||
// in mmHg
|
||||
fssr.setPressureAltimeter(pdv.getNumber(ALTIMETER).floatValue());
|
||||
// Double pa =
|
||||
// DecoderTools.inToPa(pdv.getNumber(ALTIMETER).doubleValue());
|
||||
// fssr.setPressureAltimeter(pa.floatValue());
|
||||
fssr.setPressChange3Hour(pdv.getNumber(PRESS_CHANGE3_HOUR).floatValue());
|
||||
fssr.setPressChangeChar(pdv.getString(PRESS_CHANGE_CHAR));
|
||||
// in Fahrenheit
|
||||
|
@ -463,25 +497,15 @@ public class FSSObsDataTransform {
|
|||
String stId = FSSObsUtils.getStationName(loc.getStationId());
|
||||
fssr.setPlatformId(loc.getStationId());
|
||||
fssr.setStnName(stId);
|
||||
|
||||
fssr.setRawMessage(pdv.getString(RAW_REPORT));
|
||||
fssr.setDataTime(new DataTime(new Date(pdv.getNumber(TIME_OBS)
|
||||
.longValue())));
|
||||
long to = pdv.getLong(TIME_OBS);
|
||||
fssr.setTimeObs(TimeUtil.newGmtCalendar(new Date(to)));
|
||||
// TODO: check nominalTime
|
||||
fssr.setRefHour(TimeTools.roundToNearestHour(fssr.getTimeObs()));
|
||||
|
||||
fssr.setDataTime(new DataTime(pdv.getDate(TIME_OBS)));
|
||||
fssr.setTimeObs(pdv.getCalendar(TIME_OBS));
|
||||
fssr.setRefHour(pdv.getCalendar(TIME_NOMINAL));
|
||||
// in mbar
|
||||
if (pdv.getFloat(SEA_LEVEL_PRESS) != MISSING) {
|
||||
fssr.setSeaLevelPress(pdv.getFloat(SEA_LEVEL_PRESS) / 100);
|
||||
}
|
||||
fssr.setPressureAltimeter(pdv.getNumber(ALTIMETER).floatValue());
|
||||
// Double pa =
|
||||
// DecoderTools.inToPa(pdv.getNumber(ALTIMETER).doubleValue());
|
||||
// if (pdv.getNumber(ALTIMETER).doubleValue() != MISSING) {
|
||||
// fssr.setPressure(pa.floatValue());
|
||||
// }
|
||||
fssr.setPressChange3Hour(pdv.getFloat(PRESS_CHANGE3_HOUR));
|
||||
fssr.setPressChangeChar(String.valueOf(pdv.getInt(PRESS_CHANGE_CHAR)));
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue