Merge tag 'OB_16.1.1-24' into omaha_16.1.1

16.1.1-24


Former-commit-id: 717b034d5b474e55ac27505b2cf53894617d2eff
This commit is contained in:
Steve Harris 2015-11-16 12:42:09 -06:00
commit 238edb9cc5
27 changed files with 582430 additions and 29597 deletions

View file

@ -1,17 +1,9 @@
#!/bin/sh
export DISPLAY=":0.0"
export FXA_HOME=/awips2/cave/caveEnvironment
export TMCP_HOME=/awips2/cave/caveEnvironment
$FXA_HOME/bin/MonitorTestMode >& /dev/null &
# Need to make sure we determine what TMCP_HOME should
# be if it is not set.
dir=${0%/*}
if [ "$dir" = "$0" ]; then
dir="."
fi
cd "$dir/.."
if [ ! -n "${TMCP_HOME}" ]
then
export TMCP_HOME=.
fi
DISPLAY=$1:0.0; export DISPLAY
$TMCP_HOME/bin/MonitorTestMode &

View file

@ -5,6 +5,10 @@ path_to_script=`readlink -f $0`
RUN_FROM_DIR=`dirname ${path_to_script}`
BASE_ENV_DIR=`dirname ${RUN_FROM_DIR}`
#DR 18113 rehost. /awips/fxa/... Has kicked the bit-bucket.
export TMCP_HOME=/awips2/cave/caveEnvironment
export FXA_HOME=/awips2/cave/caveEnvironment
if [ ! -n "${TMCP_HOME}" ]
then
echo -e "\e[1;31mTMCP_HOME is not set.\e[m"
@ -41,15 +45,20 @@ then
else
echo "FXA_WARNGEN_PRODUCT_ID is '${FXA_WARNGEN_PRODUCT_ID}'."
fi
else
echo -e "\e[1;31mPartner host \""${ALT_HOST}"\" is unreachable by network!\e[m"
echo ${ALT_HOME}
echo
fi
export LD_LIBRARY_PATH=$TMCP_HOME/lib:$LD_LIBRARY_PATH
# for TMCP logs
if [ ! -d $HOME/tmcpLogs ]; then
mkdir $HOME/tmcpLogs
if [ ! -d $HOME/caveData/tmcpLogs ]; then
mkdir -p $HOME/caveData/tmcpLogs
fi
export LOG_DIR=$HOME/caveData/tmcpLogs
export LOG_DIR=$HOME/tmcpLogs
$TMCP_HOME/bin/tmcp

View file

@ -1,22 +1,10 @@
#!/bin/sh
# Need to make sure we determine what TMCP_HOME should
# be if it is not set because this script may be ran
# remotely under certain conditions.
dir=${0%/*}
if [ "$dir" = "$0" ]; then
dir="."
fi
cd "$dir/.."
if [ ! -n "${TMCP_HOME}" ]
then
export TMCP_HOME=.
fi
export DISPLAY=:0.0
export FXA_HOME=/awips2/cave/caveEnvironment
if [ $6 = "kde" ]
then
kstart --alldesktops $TMCP_HOME/bin/showBanner $2 $3 $4 $5 &
kstart --alldesktops $FXA_HOME/bin/showBanner $2 $3 $4 $5 &
else
$TMCP_HOME/bin/showBanner $2 $3 $4 $5 &
$FXA_HOME/bin/showBanner $2 $3 $4 $5 &
fi

Binary file not shown.

BIN
cave/build/static/linux/cave/caveEnvironment/bin/tmcp Normal file → Executable file

Binary file not shown.

View file

@ -7,6 +7,7 @@
blink and color items followed the A1 configuring master.gcf file.
01/31/2012 dyninaj DR14427 added category NDFD
11/30/2012 jzeng DR14016 update GFE configuration
11/04/2015 pwu DR18174 AlertViz message corrections
-->
<alertConfiguration name="DEFAULT">
<globalConfiguration height="37" width="-1" yPosition="-1" xPosition="-1" logLength="10" audioDuration="30" blinkDuration="5" expandedPopup="false" categoryShown="false" sourceKeyShown="false" priorityShown="false" mode="H2"/>
@ -307,14 +308,14 @@
<metadata omit="false" imageFile="SS.png"/>
</configurationMonitor>
</source>
<source locked="true" name="NWRWAVES" longName="NWRWAVES">
<source longName="NWRWAVES" name="NWRWAVES" locked="true">
<configurationItem>
<metadata foreground="#000000" background="#12ffff" pythonEnabled="false" log="true" priority="SIGNIFICANT" popup="false" blink="false" text="false" audioEnabled="false"/>
<metadata foreground="#000000" background="#7e7e7e" pythonEnabled="false" log="false" priority="EVENTB" popup="false" blink="false" text="false" audioEnabled="false"/>
<metadata foreground="#000000" background="#ffffff" pythonEnabled="false" log="false" priority="VERBOSE" popup="false" blink="false" text="false" audioEnabled="false"/>
<metadata foreground="#000000" background="#ff0000" pythonEnabled="false" log="false" priority="PROBLEM" popup="false" blink="false" text="false" audioEnabled="false"/>
<metadata foreground="#ff0000" background="#000000" pythonEnabled="false" log="true" priority="CRITICAL" popup="false" blink="false" text="false" audioEnabled="false"/>
<metadata foreground="#000000" background="#00ff00" pythonEnabled="false" log="false" priority="EVENTA" popup="false" blink="false" text="false" audioEnabled="false"/>
<metadata foreground="#000000" background="#ff9d00" pythonEnabled="false" log="true" priority="SIGNIFICANT" popup="true" blink="false" text="true" audioEnabled="false"/>
<metadata foreground="#000000" background="#ffffff" pythonEnabled="false" log="false" priority="VERBOSE" popup="false" blink="false" text="false" audioEnabled="false"/>
<metadata foreground="#000000" background="#ff0000" pythonEnabled="false" log="true" priority="CRITICAL" popup="true" blink="false" text="true" audioEnabled="false"/>
<metadata foreground="#000000" background="#feff00" pythonEnabled="false" log="true" priority="PROBLEM" popup="true" blink="false" text="true" audioEnabled="false"/>
<metadata foreground="#000000" background="#7e7e7e" pythonEnabled="false" log="false" priority="EVENTB" popup="false" blink="false" text="false" audioEnabled="false"/>
</configurationItem>
<configurationMonitor>
<metadata omit="false"/>

View file

@ -51,6 +51,7 @@
<field key="Cig" displayTypes="IMAGE"/>
<field key="SLDP" displayTypes="IMAGE"/>
<field key="TPFI" displayTypes="IMAGE"/>
<field key="CAT" displayTypes="IMAGE"/>
<field key="TIPD" displayTypes="IMAGE"/>
<field key="ICI" displayTypes="IMAGE"/>
<field key="ICIP" displayTypes="IMAGE"/>

View file

@ -130,6 +130,8 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
* Jun 07, 2013 1981 mpduff Set user's id on the OUPRequest as it is now protected.
* Jul 16, 2013 2088 rferrel Changes for non-blocking TextEditorDlg.
* Jul 21, 2015 4500 rjpeter Use Number in blind cast.
* Nov 06, 2015 17846 lbousaidi change the query so that after QC, the quality_code
* is reset from Bad to Good.
* </pre>
*
* @author lvenable
@ -1872,10 +1874,6 @@ public class TabularTimeSeriesDlg extends CaveSWTDialog implements
basistime = parts[5] + " " + parts[6];
}
String sql = "update " + tablename + " set value = "
+ HydroConstants.MISSING_VALUE
+ ", revision= 1, shef_qual_code = 'M' " + ", postingtime= '"
+ HydroConstants.DATE_FORMAT.format(postTime) + "' ";
DataRecord dr = new DataRecord();
int[] selectionIndices = bottomListControl.getSelectionIndices();
@ -1911,6 +1909,11 @@ public class TabularTimeSeriesDlg extends CaveSWTDialog implements
dr.setRevision((short) 1);
String sql = "update " + tablename + " set value = "
+ HydroConstants.MISSING_VALUE + ", revision= 1, shef_qual_code = 'M' , quality_code= '"
+ dr.getQualityCode() + "' " + ", postingtime= '"
+ HydroConstants.DATE_FORMAT.format(postTime) + "' ";
/* code to update an observation to MISSING */
if (ts.toUpperCase().startsWith("R")
|| ts.toUpperCase().startsWith("P")) {

View file

@ -75,6 +75,8 @@ import com.raytheon.viz.hydrocommon.util.DbUtils;
* Dec 14, 2014 16388 xwei updated the insertion of rejecteddata table.
* Jul 21, 2015 4500 rjpeter Use Number in blind cast.
* Aug 18, 2015 4793 rjpeter Use Number in blind cast.
* Nov 06, 2015 17846 lbousaidi modify edit and insertRejectedData so that quality_code.
* is reset from Bad to Good after data QC.
* </pre>
*
* @author dhladky
@ -99,6 +101,12 @@ public class TimeSeriesDataManager extends HydroDataManager {
private static SimpleDateFormat dateFormat;
/** Quality control value for manual "Good" */
private final int QC_MANUAL_PASSED = 121;
/** Quality control value for manual "Bad". */
private final int QC_MANUAL_FAILED = 123;
/**
* Map holding the location id and display class.
*/
@ -971,6 +979,9 @@ public class TimeSeriesDataManager extends HydroDataManager {
qualityCode = new Integer(dr.getQualityCode());
}
dr.setQualityCode(TimeSeriesUtil.setQcCode(QC_MANUAL_PASSED,
dr.getQualityCode()));
sb.append("insert into rejecteddata(lid, pe, dur, ts, extremum, ");
sb.append("probability, validtime, basistime, postingtime, value, ");
sb.append("revision, shef_qual_code, product_id, producttime, quality_code, ");
@ -1010,7 +1021,7 @@ public class TimeSeriesDataManager extends HydroDataManager {
sb.append("'" + productID + "', ");
sb.append("'" + HydroConstants.DATE_FORMAT.format(productTime)
+ "', ");
sb.append(qualityCode + ", ");
sb.append(dr.getQualityCode() + ", ");
sb.append("'M', ");
sb.append("'" + LocalizationManager.getInstance().getCurrentUser()
+ "');");
@ -1167,11 +1178,14 @@ public class TimeSeriesDataManager extends HydroDataManager {
for (int i = 0; i < editList.size(); i++) {
ForecastData data = editList.get(i);
String tablename = DbUtils.getTableName(data.getPe(), data.getTs());
//set the QC to GOOD when you set data to missing.
data.setQualityCode(TimeSeriesUtil.setQcCode(QC_MANUAL_PASSED,
data.getQualityCode()));
SqlBuilder sql = new SqlBuilder(tablename);
sql.setSqlType(SqlBuilder.UPDATE);
sql.addDouble("value", data.getValue());
sql.addString("shef_qual_code", "M");
sql.addInt("quality_code", data.getQualityCode());
sql.addInt("revision", 1);
sql.addString("postingTime", HydroConstants.DATE_FORMAT.format(now));
if (data.getProductTime() == null) {

View file

@ -24,6 +24,7 @@
* ------------ ---------- ----------- --------------------------
* Jan 7, 2015 16954 cgobs Fix for cv_use issue - using getFieldName() in certain parts.
* Feb 4, 2015 17094 cgobs Fix for fieldType being too long for mapx_field_type column in RWResult table.
* Nov 05, 2015 15045 snaples Added resourceChanged call at end of save method to read in any edits.
* </pre>
**/
package com.raytheon.viz.mpe.ui.actions;
@ -49,6 +50,7 @@ import com.raytheon.uf.common.mpe.util.XmrgFile.XmrgHeader;
import com.raytheon.uf.common.ohd.AppsDefaults;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.common.time.SimulatedTime;
import com.raytheon.uf.viz.core.rsc.IResourceDataChanged.ChangeType;
import com.raytheon.viz.hydrocommon.whfslib.IHFSDbGenerated;
import com.raytheon.viz.mpe.MPEDateFormatter;
import com.raytheon.viz.mpe.core.MPEDataManager;
@ -298,6 +300,7 @@ public class SaveBestEstimate {
}
}
MPEDisplayManager.getCurrent().setSavedData(true);
MPEDisplayManager.getCurrent().getDisplayedFieldResource().resourceChanged(ChangeType.DATA_UPDATE, editDate);
}
private static void mpegui_save_image(BufferedImage bi, String format,

View file

@ -44,7 +44,8 @@ import com.raytheon.viz.hydrocommon.whfslib.colorthreshold.NamedColorUseSet;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jun 12, 2011 lvenable Initial creation
*
* Nov 2015 DR 18xxx pstilles fixed problem with qpe grid written to file
* reported by OHRFC
* </pre>
*
* @author lvenable
@ -54,7 +55,7 @@ import com.raytheon.viz.hydrocommon.whfslib.colorthreshold.NamedColorUseSet;
public class BestEstimate1HrQpeDlg extends BasePostAnalysisDlg {
private static final int HOURS_PER_DAY = 24;
/**
/**
* File combo box.
*/
private Combo fileCbo = null;
@ -62,21 +63,20 @@ public class BestEstimate1HrQpeDlg extends BasePostAnalysisDlg {
private List<String> xmrgFileList = null;
private PostAnalysisManager paMgr = null;
private String qpeDirectory = null;
private String adjustedDirectory = null;
private String qpeDirectory = null;
private String adjustedDirectory = null;
private double[][] biasRatioGrid = null;
private double[][] disaggGrid = null;
/**
* Constructor.
*
* @param parentShell
* Parent shell.
*/
public BestEstimate1HrQpeDlg(Shell parentShell, double[][] biasRatioGrid, double[][] disaggGrid) {
public BestEstimate1HrQpeDlg(Shell parentShell, double[][] biasRatioGrid,
double[][] disaggGrid) {
super(parentShell);
setText("1hr Best Estimate QPE Fields");
@ -86,14 +86,13 @@ public class BestEstimate1HrQpeDlg extends BasePostAnalysisDlg {
this.biasRatioGrid = biasRatioGrid;
this.disaggGrid = disaggGrid;
qpeDirectory = paMgr.getXmrgFileDirectory().getAbsolutePath();
qpeDirectory = paMgr.getXmrgFileDirectory().getAbsolutePath();
File paFileDirectory = paMgr.getPostAnalysisFileDirectory();
File paFileDirectory = paMgr.getPostAnalysisFileDirectory();
if (paFileDirectory != null)
{
adjustedDirectory = paFileDirectory.getAbsolutePath();
}
if (paFileDirectory != null) {
adjustedDirectory = paFileDirectory.getAbsolutePath();
}
}
@ -133,51 +132,48 @@ public class BestEstimate1HrQpeDlg extends BasePostAnalysisDlg {
*/
@Override
protected String[] getMapLabelNames() {
String[] names = new String[] { "1hr Best Estimate QPE", "1hr Best Estimate QPE(Grid Bias Applied)" };
String[] names = new String[] { "1hr Best Estimate QPE",
"1hr Best Estimate QPE(Grid Bias Applied)" };
return names;
}
private void loadAdjustAndSaveAllQPEFiles(String destinationDirectoryName)
{
for (String fileName: xmrgFileList)
{
loadAdjustAndSave(fileName, destinationDirectoryName);
}
private void loadAdjustAndSaveAllQPEFiles(String destinationDirectoryName) {
for (String fileName : xmrgFileList) {
loadAdjustAndSave(fileName, destinationDirectoryName);
}
}
private void loadAdjustAndSave(String fileName, String destinationDirectoryName)
{
String header = "BestEstimate1HrQPEDlg.loadAdjustAndSave(): ";
private void loadAdjustAndSave(String fileName,
String destinationDirectoryName) {
String header = "BestEstimate1HrQPEDlg.loadAdjustAndSave(): ";
String originalFilePath = qpeDirectory + '/' + fileName;
String destinationFilePath = destinationDirectoryName + '/' + fileName;
String originalFilePath = qpeDirectory + '/' + fileName;
String destinationFilePath = destinationDirectoryName + '/' + fileName;
double[][] adjustedGrid = paMgr.readGridData(originalFilePath, true, true);
double[][] adjustedGrid = paMgr.readGridData(originalFilePath, true,
true);
if (adjustedGrid != null)
{
applyGridAdjustments(adjustedGrid, biasRatioGrid, disaggGrid);
if (adjustedGrid != null) {
applyGridAdjustments(adjustedGrid, biasRatioGrid, disaggGrid);
float[] dataArray = paMgr.convertToSingleArray(adjustedGrid, false, true);
short[] shortArray= paMgr.convertToShortArray(dataArray, 1.0f);
float[] dataArray = paMgr.convertToSingleArray(adjustedGrid, false,
false);
short[] shortArray = paMgr.convertToShortArray(dataArray, 1.0f);
XmrgFile file = new XmrgFile();
XmrgFile file = new XmrgFile();
file.setData(shortArray);
file.setHrapExtent(paMgr.getExtent());
file.setHeader(paMgr.getXmrgHeader());
file.setData(shortArray);
file.setHrapExtent(paMgr.getExtent());
file.setHeader(paMgr.getXmrgHeader());
try
{
file.save(destinationFilePath);
System.out.println(header + "Saved xmrg file to " + destinationFilePath);
}
catch (Exception e)
{
e.printStackTrace();
}
}
try {
file.save(destinationFilePath);
System.out.println(header + "Saved xmrg file to "
+ destinationFilePath);
} catch (Exception e) {
e.printStackTrace();
}
}
}
@ -186,17 +182,16 @@ public class BestEstimate1HrQpeDlg extends BasePostAnalysisDlg {
*/
private void saveSeparateAction() {
loadAdjustAndSaveAllQPEFiles(adjustedDirectory);
loadAdjustAndSaveAllQPEFiles(adjustedDirectory);
}
/**
* Save overwrite action.
*/
private void saveOverwriteAction()
{
private void saveOverwriteAction() {
loadAdjustAndSaveAllQPEFiles(qpeDirectory);
loadAdjustAndSaveAllQPEFiles(qpeDirectory);
}
/**
@ -209,109 +204,85 @@ public class BestEstimate1HrQpeDlg extends BasePostAnalysisDlg {
fileCbo = new Combo(shell, SWT.DROP_DOWN | SWT.BORDER | SWT.READ_ONLY);
fileCbo.setLayoutData(gd);
for (String fileName : xmrgFileList)
{
fileCbo.add(fileName);
for (String fileName : xmrgFileList) {
fileCbo.add(fileName);
}
fileCbo.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent event) {
fileCbo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
System.out.println("fileCbo.addSelectionListener().widgetSelected() ");
selectedFileName = fileCbo.getText();
selectedFileName = fileCbo.getText();
loadImage(event.data);
}
} );
});
//make an initial selection
// make an initial selection
fileCbo.select(0);
selectedFileName = fileCbo.getText();
loadImage(null);
}
private void loadImage(Object data) {
String header = "BestEstimate1HrQpeDir.loadImage(): ";
String header = "BestEstimate1HrQpeDir.loadImage(): ";
System.out.println(header + " method called.");
String filePath1 = qpeDirectory + '/' + selectedFileName;
setDataFileName1(filePath1);
String filePath1 = qpeDirectory + '/' + selectedFileName;
// String filePath2 = adjustedDirectory + '/' + selectedFileName;
// save the first image as a grid (a 2D array) so that can then hold
// the adjusted grid in memory and then adjust it
double[][] adjustedGrid = paMgr.readGridData(filePath1, false, false);
applyGridAdjustments(adjustedGrid, biasRatioGrid, disaggGrid);
float[] dataArray2 = paMgr.convertToSingleArray(adjustedGrid, false,
false);
setDataArray2(dataArray2);
setExtent2(paMgr.getExtent());
System.out.println(header + " filePath1 = " + filePath1);
// System.out.println(header + " filePath2 = " + filePath2);
long newEndTime = paMgr.getTimeFromFileName(selectedFileName);
String newEndTimeString = "ending at "
+ getDateTimeStringFromLongTime(newEndTime);
//do this temporarily until I have enough good fake data
// filePath1 = "/home/cgobs2/xmrg_data/MMOSAIC2011081901z";
// refresh the ColorLegend
colorLegendMgr.setDateTimeStringForLegend(newEndTimeString);
setDataFileName1(filePath1);
// filePath2 = "/home/cgobs2/xmrg_data/MMOSAIC2011081901z"; //do this temporarily until I build the adjusted data
//save the first image as a grid (a 2D array) so that I can then hold the adjusted grid in memory and then adjust it
double[][] adjustedGrid = paMgr.readGridData(filePath1, false, false);
applyGridAdjustments(adjustedGrid, biasRatioGrid, disaggGrid);
float[] dataArray2 = paMgr.convertToSingleArray(adjustedGrid, false, false);
setDataArray2(dataArray2);
setExtent2(paMgr.getExtent());
long newEndTime = paMgr.getTimeFromFileName(selectedFileName);
String newEndTimeString = "ending at " + getDateTimeStringFromLongTime(newEndTime);
//refresh the ColorLegend
colorLegendMgr.setDateTimeStringForLegend(newEndTimeString);
//refresh the maps
mapsComp.refresh();
}
// refresh the maps
mapsComp.refresh();
}
private void applyGridAdjustments(double[][] adjustedGrid,
double[][] biasGrid,
double[][] disaggGrid)
{
double[][] biasGrid, double[][] disaggGrid) {
try
{
try {
int rowCount = adjustedGrid.length;
int colCount = adjustedGrid[0].length;
int rowCount = adjustedGrid.length;
int colCount = adjustedGrid[0].length;
for (int row = 0; row < rowCount; row++)
{
for (int col = 0; col < colCount; col++)
{
double biasValue = biasGrid[col][row];
double disaggValue = disaggGrid[col][row] / HOURS_PER_DAY;
for (int row = 0; row < rowCount; row++) {
for (int col = 0; col < colCount; col++) {
double biasValue = biasGrid[col][row];
double disaggValue = disaggGrid[col][row] / HOURS_PER_DAY;
if (biasValue > 0.0)
{
adjustedGrid[row][col] *= biasValue;
}
else if (disaggValue > 0.0)
{
adjustedGrid[row][col] = disaggValue;
}
if (biasValue > 0.0) {
adjustedGrid[row][col] *= biasValue;
}
} else if (disaggValue > 0.0) {
adjustedGrid[row][col] = disaggValue;
}
}
}
catch (Throwable t)
{
t.printStackTrace();
}
}
}
}
} catch (Throwable t) {
t.printStackTrace();
}
/*
}
/*
* (non-Javadoc)
*
* @see com.raytheon.viz.mpe.ui.dialogs.postanalysis.BasePostAnalysisDlg#
@ -322,21 +293,17 @@ public class BestEstimate1HrQpeDlg extends BasePostAnalysisDlg {
return 1;
}
@Override
protected NamedColorUseSet createNamedColorUseSet1() {
@Override
protected NamedColorUseSet createNamedColorUseSet1() {
return PostAnalysisManager.getNamedColorUseSet("PRECIP_ACCUM");
return PostAnalysisManager.getNamedColorUseSet("PRECIP_ACCUM");
//NamedColorUseSet namedColorUseSet1 = TestDriver.getNamedColorUseSet1Hr();
//return namedColorUseSet1;
}
}
@Override
protected NamedColorUseSet createNamedColorUseSet2() {
return PostAnalysisManager.getNamedColorUseSet("PRECIP_ACCUM");
@Override
protected NamedColorUseSet createNamedColorUseSet2() {
return PostAnalysisManager.getNamedColorUseSet("PRECIP_ACCUM");
//NamedColorUseSet namedColorUseSet2 = TestDriver.getNamedColorUseSet1Hr();
//return namedColorUseSet2;
}
}
}

View file

@ -83,6 +83,7 @@ import com.raytheon.viz.mpe.ui.rsc.MPEFieldResourceData.MPEFieldFrame;
* properly when mapping to screen.
* Mar 10, 2014 17059 snaples Added case for Prism data for unit conversion correction.
* Mar 19, 2014 17109 snaples Removed code that added an hour to SATPRE, the base file reference time has been adjusted.
* Nov 05, 2015 18095 lbousaidi Fixed hour substitued for satellite field precip when drawing polygon.
*
* </pre>
*
@ -182,8 +183,18 @@ public class MPEFieldResource extends
subData = dataMap.get(edit.getSubDrawSource());
if (subData == null) {
try {
XmrgFile subFile = MPEDisplayManager.getXmrgFile(
edit.getSubDrawSource(), frame.getDate());
Date date=frame.getDate();
//SATPRE MPE file time stamp is the start time of the hour
//i.e. a 12z -13z product has a time stamp of 12z.
Calendar cal = Calendar.getInstance();
cal.setTime(date);
if (edit.getSubDrawSource().name().contains("satPre")) {
cal.add(Calendar.HOUR, - 1);
}
XmrgFile subFile = MPEDisplayManager.getXmrgFile(
edit.getSubDrawSource(), cal.getTime());
subFile.load();
subData = subFile.getData();
dataMap.put(edit.getSubDrawSource(), subData);
@ -330,7 +341,6 @@ public class MPEFieldResource extends
timeToLoad.setTime(currTime.getRefTime());
timeToLoad.add(Calendar.HOUR, -i);
if (displayField==DisplayFieldData.satPre) {
//SATPRE MPE file time stamp is the start time of the hour
//i.e. a 12z -13z product has a time stamp of 12z.

View file

@ -24,7 +24,8 @@
<contribute xsi:type="menuItem" menuText="Visibility" key="Vis" indentText="false" />
<contribute xsi:type="menuItem" menuText="Visibility Anl Uncertainty" key="Viserranl" indentText="false" />
<contribute xsi:type="menuItem" menuText="Turbulence" key="TURB" indentText="false" />
<contribute xsi:type="menuItem" menuText="Turbulence Index" key="TPFI" indentText="false" />
<contribute xsi:type="menuItem" menuText="Composite Clear Air Turbulence - GTG" key="TPFI" indentText="false" />
<contribute xsi:type="menuItem" menuText="Clear Air Turbulence - GTG" key="CAT" indentText="false" />
<contribute xsi:type="menuItem" menuText="Icing Probability" key="ICPRB" indentText="false" />
<contribute xsi:type="menuItem" menuText="Icing Potential" key="ICNG" indentText="false" />
<contribute xsi:type="menuItem" menuText="Icing Severity" key="ICSEV" indentText="false" />

View file

@ -0,0 +1,259 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<colorMap>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.0" g="0.0" r="0.0"/>
<color a="1.0" b="0.7254902" g="0.99215686" r="1.0"/>
<color a="1.0" b="0.72156864" g="0.9882353" r="1.0"/>
<color a="1.0" b="0.7176471" g="0.9843137" r="1.0"/>
<color a="1.0" b="0.7176471" g="0.98039216" r="1.0"/>
<color a="1.0" b="0.7137255" g="0.9764706" r="1.0"/>
<color a="1.0" b="0.70980394" g="0.96862745" r="1.0"/>
<color a="1.0" b="0.7058824" g="0.9647059" r="1.0"/>
<color a="1.0" b="0.7058824" g="0.9607843" r="1.0"/>
<color a="1.0" b="0.7019608" g="0.95686275" r="1.0"/>
<color a="1.0" b="0.69803923" g="0.9529412" r="1.0"/>
<color a="1.0" b="0.69411767" g="0.9490196" r="1.0"/>
<color a="1.0" b="0.69411767" g="0.94509804" r="1.0"/>
<color a="1.0" b="0.6901961" g="0.9411765" r="1.0"/>
<color a="1.0" b="0.6862745" g="0.9372549" r="1.0"/>
<color a="1.0" b="0.68235296" g="0.92941177" r="1.0"/>
<color a="1.0" b="0.6784314" g="0.9254902" r="1.0"/>
<color a="1.0" b="0.6784314" g="0.92156863" r="1.0"/>
<color a="1.0" b="0.6745098" g="0.91764706" r="1.0"/>
<color a="1.0" b="0.67058825" g="0.9137255" r="1.0"/>
<color a="1.0" b="0.6666667" g="0.9098039" r="1.0"/>
<color a="1.0" b="0.6666667" g="0.90588236" r="1.0"/>
<color a="1.0" b="0.6627451" g="0.9019608" r="1.0"/>
<color a="1.0" b="0.65882355" g="0.8980392" r="1.0"/>
<color a="1.0" b="0.654902" g="0.8901961" r="1.0"/>
<color a="1.0" b="0.6509804" g="0.8862745" r="1.0"/>
<color a="1.0" b="0.6509804" g="0.88235295" r="1.0"/>
<color a="1.0" b="0.64705884" g="0.8784314" r="1.0"/>
<color a="1.0" b="0.6431373" g="0.8745098" r="1.0"/>
<color a="1.0" b="0.6392157" g="0.87058824" r="1.0"/>
<color a="1.0" b="0.6392157" g="0.8666667" r="1.0"/>
<color a="1.0" b="0.63529414" g="0.8627451" r="1.0"/>
<color a="1.0" b="0.6313726" g="0.85882354" r="1.0"/>
<color a="1.0" b="0.627451" g="0.8509804" r="1.0"/>
<color a="1.0" b="0.627451" g="0.84705883" r="1.0"/>
<color a="1.0" b="0.62352943" g="0.84313726" r="1.0"/>
<color a="1.0" b="0.61960787" g="0.8392157" r="1.0"/>
<color a="1.0" b="0.6156863" g="0.8352941" r="1.0"/>
<color a="1.0" b="0.6117647" g="0.83137256" r="1.0"/>
<color a="1.0" b="0.6117647" g="0.827451" r="1.0"/>
<color a="1.0" b="0.60784316" g="0.8235294" r="1.0"/>
<color a="1.0" b="0.6039216" g="0.81960785" r="1.0"/>
<color a="1.0" b="0.6" g="0.8156863" r="1.0"/>
<color a="1.0" b="0.6" g="0.80784315" r="1.0"/>
<color a="1.0" b="0.59607846" g="0.8039216" r="1.0"/>
<color a="1.0" b="0.5921569" g="0.8" r="1.0"/>
<color a="1.0" b="0.5882353" g="0.79607844" r="1.0"/>
<color a="1.0" b="0.58431375" g="0.7921569" r="1.0"/>
<color a="1.0" b="0.58431375" g="0.7882353" r="1.0"/>
<color a="1.0" b="0.5803922" g="0.78431374" r="1.0"/>
<color a="1.0" b="0.5764706" g="0.78039217" r="1.0"/>
<color a="1.0" b="0.57254905" g="0.7764706" r="1.0"/>
<color a="1.0" b="0.57254905" g="0.76862746" r="1.0"/>
<color a="1.0" b="0.5686275" g="0.7647059" r="1.0"/>
<color a="1.0" b="0.5647059" g="0.7607843" r="1.0"/>
<color a="1.0" b="0.56078434" g="0.75686276" r="1.0"/>
<color a="1.0" b="0.56078434" g="0.7529412" r="1.0"/>
<color a="1.0" b="0.5568628" g="0.7490196" r="1.0"/>
<color a="1.0" b="0.5529412" g="0.74509805" r="1.0"/>
<color a="1.0" b="0.54901963" g="0.7411765" r="1.0"/>
<color a="1.0" b="0.54509807" g="0.7372549" r="1.0"/>
<color a="1.0" b="0.54509807" g="0.7294118" r="1.0"/>
<color a="1.0" b="0.5411765" g="0.7254902" r="1.0"/>
<color a="1.0" b="0.5372549" g="0.72156864" r="1.0"/>
<color a="1.0" b="0.53333336" g="0.7176471" r="1.0"/>
<color a="1.0" b="0.53333336" g="0.7137255" r="1.0"/>
<color a="1.0" b="0.5294118" g="0.70980394" r="1.0"/>
<color a="1.0" b="0.5254902" g="0.7058824" r="1.0"/>
<color a="1.0" b="0.52156866" g="0.7019608" r="1.0"/>
<color a="1.0" b="0.52156866" g="0.69803923" r="1.0"/>
<color a="1.0" b="0.5176471" g="0.6901961" r="1.0"/>
<color a="1.0" b="0.5137255" g="0.6862745" r="1.0"/>
<color a="1.0" b="0.50980395" g="0.68235296" r="1.0"/>
<color a="1.0" b="0.5058824" g="0.6784314" r="1.0"/>
<color a="1.0" b="0.5058824" g="0.6745098" r="1.0"/>
<color a="1.0" b="0.5019608" g="0.67058825" r="1.0"/>
<color a="1.0" b="0.49803922" g="0.6666667" r="1.0"/>
<color a="1.0" b="0.49411765" g="0.6627451" r="1.0"/>
<color a="1.0" b="0.49411765" g="0.65882355" r="1.0"/>
<color a="1.0" b="0.49019608" g="0.6509804" r="1.0"/>
<color a="1.0" b="0.4862745" g="0.64705884" r="1.0"/>
<color a="1.0" b="0.48235294" g="0.6431373" r="1.0"/>
<color a="1.0" b="0.47843137" g="0.6392157" r="1.0"/>
<color a="1.0" b="0.47843137" g="0.63529414" r="1.0"/>
<color a="1.0" b="0.4745098" g="0.6313726" r="1.0"/>
<color a="1.0" b="0.47058824" g="0.627451" r="1.0"/>
<color a="1.0" b="0.46666667" g="0.62352943" r="1.0"/>
<color a="1.0" b="0.46666667" g="0.61960787" r="1.0"/>
<color a="1.0" b="0.4627451" g="0.6117647" r="1.0"/>
<color a="1.0" b="0.45882353" g="0.60784316" r="1.0"/>
<color a="1.0" b="0.45490196" g="0.6039216" r="1.0"/>
<color a="1.0" b="0.45490196" g="0.6" r="1.0"/>
<color a="1.0" b="0.4509804" g="0.59607846" r="1.0"/>
<color a="1.0" b="0.44705883" g="0.5921569" r="1.0"/>
<color a="1.0" b="0.44313726" g="0.5882353" r="1.0"/>
<color a="1.0" b="0.4392157" g="0.58431375" r="1.0"/>
<color a="1.0" b="0.4392157" g="0.5803922" r="1.0"/>
<color a="1.0" b="0.43529412" g="0.57254905" r="1.0"/>
<color a="1.0" b="0.43137255" g="0.5686275" r="1.0"/>
<color a="1.0" b="0.42745098" g="0.5647059" r="1.0"/>
<color a="1.0" b="0.42745098" g="0.56078434" r="1.0"/>
<color a="1.0" b="0.42352942" g="0.5568628" r="1.0"/>
<color a="1.0" b="0.41960785" g="0.5529412" r="1.0"/>
<color a="1.0" b="0.41568628" g="0.54901963" r="1.0"/>
<color a="1.0" b="0.4117647" g="0.54509807" r="1.0"/>
<color a="1.0" b="0.4117647" g="0.5411765" r="1.0"/>
<color a="1.0" b="0.40784314" g="0.53333336" r="1.0"/>
<color a="1.0" b="0.40392157" g="0.5294118" r="1.0"/>
<color a="1.0" b="0.4" g="0.5254902" r="1.0"/>
<color a="1.0" b="0.4" g="0.52156866" r="1.0"/>
<color a="1.0" b="0.39607844" g="0.5176471" r="1.0"/>
<color a="1.0" b="0.39215687" g="0.5137255" r="1.0"/>
<color a="1.0" b="0.3882353" g="0.50980395" r="1.0"/>
<color a="1.0" b="0.3882353" g="0.5058824" r="1.0"/>
<color a="1.0" b="0.38431373" g="0.5019608" r="1.0"/>
<color a="1.0" b="0.38039216" g="0.49411765" r="1.0"/>
<color a="1.0" b="0.3764706" g="0.49019608" r="1.0"/>
<color a="1.0" b="0.37254903" g="0.4862745" r="1.0"/>
<color a="1.0" b="0.37254903" g="0.48235294" r="1.0"/>
<color a="1.0" b="0.36862746" g="0.47843137" r="1.0"/>
<color a="1.0" b="0.3647059" g="0.4745098" r="1.0"/>
<color a="1.0" b="0.36078432" g="0.47058824" r="1.0"/>
<color a="1.0" b="0.36078432" g="0.46666667" r="1.0"/>
<color a="1.0" b="0.35686275" g="0.4627451" r="1.0"/>
<color a="1.0" b="0.3529412" g="0.45882353" r="1.0"/>
<color a="1.0" b="0.34901962" g="0.4509804" r="1.0"/>
<color a="1.0" b="0.34901962" g="0.44705883" r="1.0"/>
<color a="1.0" b="0.34509805" g="0.44313726" r="1.0"/>
<color a="1.0" b="0.34117648" g="0.4392157" r="1.0"/>
<color a="1.0" b="0.3372549" g="0.43529412" r="1.0"/>
<color a="1.0" b="0.33333334" g="0.43137255" r="1.0"/>
<color a="1.0" b="0.33333334" g="0.42745098" r="1.0"/>
<color a="1.0" b="0.32941177" g="0.42352942" r="1.0"/>
<color a="1.0" b="0.3254902" g="0.41960785" r="1.0"/>
<color a="1.0" b="0.32156864" g="0.4117647" r="1.0"/>
<color a="1.0" b="0.32156864" g="0.40784314" r="1.0"/>
<color a="1.0" b="0.31764707" g="0.40392157" r="1.0"/>
<color a="1.0" b="0.3137255" g="0.4" r="1.0"/>
<color a="1.0" b="0.30980393" g="0.39607844" r="1.0"/>
<color a="1.0" b="0.30588236" g="0.39215687" r="1.0"/>
<color a="1.0" b="0.30588236" g="0.3882353" r="1.0"/>
<color a="1.0" b="0.3019608" g="0.38431373" r="1.0"/>
<color a="1.0" b="0.29803923" g="0.38039216" r="1.0"/>
<color a="1.0" b="0.29411766" g="0.37254903" r="1.0"/>
<color a="1.0" b="0.29411766" g="0.36862746" r="1.0"/>
<color a="1.0" b="0.2901961" g="0.3647059" r="1.0"/>
<color a="1.0" b="0.28627452" g="0.36078432" r="1.0"/>
<color a="1.0" b="0.28235295" g="0.35686275" r="1.0"/>
<color a="1.0" b="0.28235295" g="0.3529412" r="1.0"/>
<color a="1.0" b="0.2784314" g="0.34901962" r="1.0"/>
<color a="1.0" b="0.27450982" g="0.34509805" r="1.0"/>
<color a="1.0" b="0.27058825" g="0.34117648" r="1.0"/>
<color a="1.0" b="0.26666668" g="0.33333334" r="1.0"/>
<color a="1.0" b="0.26666668" g="0.32941177" r="1.0"/>
<color a="1.0" b="0.2627451" g="0.3254902" r="1.0"/>
<color a="1.0" b="0.25882354" g="0.32156864" r="1.0"/>
<color a="1.0" b="0.25490198" g="0.31764707" r="1.0"/>
<color a="1.0" b="0.25490198" g="0.3137255" r="1.0"/>
<color a="1.0" b="0.2509804" g="0.30980393" r="1.0"/>
<color a="1.0" b="0.24705882" g="0.30588236" r="1.0"/>
<color a="1.0" b="0.24313726" g="0.3019608" r="1.0"/>
<color a="1.0" b="0.23921569" g="0.29411766" r="1.0"/>
<color a="1.0" b="0.23921569" g="0.2901961" r="1.0"/>
<color a="1.0" b="0.23529412" g="0.28627452" r="1.0"/>
<color a="1.0" b="0.23137255" g="0.28235295" r="1.0"/>
<color a="1.0" b="0.22745098" g="0.2784314" r="1.0"/>
<color a="1.0" b="0.22745098" g="0.27450982" r="1.0"/>
<color a="1.0" b="0.22352941" g="0.27058825" r="1.0"/>
<color a="1.0" b="0.21960784" g="0.26666668" r="1.0"/>
<color a="1.0" b="0.21568628" g="0.2627451" r="1.0"/>
<color a="1.0" b="0.21568628" g="0.25490198" r="1.0"/>
<color a="1.0" b="0.21176471" g="0.2509804" r="1.0"/>
<color a="1.0" b="0.20784314" g="0.24705882" r="1.0"/>
<color a="1.0" b="0.20392157" g="0.24313726" r="1.0"/>
<color a="1.0" b="0.2" g="0.23921569" r="1.0"/>
<color a="1.0" b="0.2" g="0.23529412" r="1.0"/>
<color a="1.0" b="0.19607843" g="0.23137255" r="1.0"/>
<color a="1.0" b="0.19215687" g="0.22745098" r="1.0"/>
<color a="1.0" b="0.1882353" g="0.22352941" r="1.0"/>
<color a="1.0" b="0.1882353" g="0.21568628" r="1.0"/>
<color a="1.0" b="0.18431373" g="0.21176471" r="1.0"/>
<color a="1.0" b="0.18039216" g="0.20784314" r="1.0"/>
<color a="1.0" b="0.1764706" g="0.20392157" r="1.0"/>
<color a="1.0" b="0.1764706" g="0.2" r="1.0"/>
<color a="1.0" b="0.17254902" g="0.19607843" r="1.0"/>
<color a="1.0" b="0.16862746" g="0.19215687" r="1.0"/>
<color a="1.0" b="0.16470589" g="0.1882353" r="1.0"/>
<color a="1.0" b="0.16078432" g="0.18431373" r="1.0"/>
<color a="1.0" b="0.16078432" g="0.1764706" r="1.0"/>
<color a="1.0" b="0.15686275" g="0.17254902" r="1.0"/>
<color a="1.0" b="0.15294118" g="0.16862746" r="1.0"/>
<color a="1.0" b="0.14901961" g="0.16470589" r="1.0"/>
<color a="1.0" b="0.14901961" g="0.16078432" r="1.0"/>
<color a="1.0" b="0.14509805" g="0.15686275" r="1.0"/>
<color a="1.0" b="0.14117648" g="0.15294118" r="1.0"/>
<color a="1.0" b="0.13725491" g="0.14901961" r="1.0"/>
<color a="1.0" b="0.13333334" g="0.14509805" r="1.0"/>
<color a="1.0" b="0.13333334" g="0.14117648" r="1.0"/>
<color a="1.0" b="0.12941177" g="0.13333334" r="1.0"/>
<color a="1.0" b="0.1254902" g="0.12941177" r="1.0"/>
<color a="1.0" b="0.12156863" g="0.1254902" r="1.0"/>
<color a="1.0" b="0.12156863" g="0.12156863" r="1.0"/>
<color a="1.0" b="0.11764706" g="0.11764706" r="1.0"/>
<color a="1.0" b="0.11372549" g="0.11372549" r="1.0"/>
<color a="1.0" b="0.10980392" g="0.10980392" r="1.0"/>
<color a="1.0" b="0.10980392" g="0.105882354" r="1.0"/>
<color a="1.0" b="0.105882354" g="0.101960786" r="1.0"/>
<color a="1.0" b="0.101960786" g="0.09411765" r="1.0"/>
<color a="1.0" b="0.09803922" g="0.09019608" r="1.0"/>
<color a="1.0" b="0.09411765" g="0.08627451" r="1.0"/>
<color a="1.0" b="0.09411765" g="0.08235294" r="1.0"/>
<color a="1.0" b="0.09019608" g="0.078431375" r="1.0"/>
<color a="1.0" b="0.08627451" g="0.07450981" r="1.0"/>
<color a="1.0" b="0.08235294" g="0.07058824" r="1.0"/>
<color a="1.0" b="0.08235294" g="0.06666667" r="1.0"/>
<color a="1.0" b="0.078431375" g="0.0627451" r="1.0"/>
<color a="1.0" b="0.07450981" g="0.05490196" r="1.0"/>
<color a="1.0" b="0.07058824" g="0.050980393" r="1.0"/>
<color a="1.0" b="0.06666667" g="0.047058824" r="1.0"/>
<color a="1.0" b="0.06666667" g="0.043137256" r="1.0"/>
<color a="1.0" b="0.0627451" g="0.039215688" r="1.0"/>
<color a="1.0" b="0.05882353" g="0.03529412" r="1.0"/>
<color a="1.0" b="0.05490196" g="0.03137255" r="1.0"/>
<color a="1.0" b="0.05490196" g="0.02745098" r="1.0"/>
<color a="1.0" b="0.050980393" g="0.023529412" r="1.0"/>
<color a="1.0" b="0.047058824" g="0.015686275" r="1.0"/>
<color a="1.0" b="0.043137256" g="0.011764706" r="1.0"/>
<color a="1.0" b="0.043137256" g="0.007843138" r="1.0"/>
<color a="1.0" b="0.039215688" g="0.003921569" r="1.0"/>
<color a="1.0" b="0.03529412" g="0.0" r="1.0"/>
</colorMap>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<DerivedParameter abbreviation="CAT" name="Clear Air Turbulence" unit="%"/>

View file

@ -4403,19 +4403,38 @@
<parameter>TPFI</parameter>
</paramLevelMatches>
<imageStyle>
<interpolate>false</interpolate>
<displayUnits>*1</displayUnits>
<range scale="LINEAR">
<minValue>0</minValue> <!-- AWIPS I GribImgDecoder scaling -->
<minValue>0</minValue>
<maxValue>1</maxValue>
</range>
<defaultColormap>Grid/aviation_turbulence_index</defaultColormap>
<defaultColormap>Grid/clear_air_turb</defaultColormap>
<dataMapping>
<entry pixelValue="0.0" operator="&gt;" label="NO DATA" />
<entry pixelValue="0.098" operator="&gt;" displayValue='0.125' label="Light" />
<entry pixelValue="0.294" operator="&gt;" displayValue='0.375' label="Moderate" />
<entry pixelValue="0.490" operator="&gt;" displayValue='0.625' label="Severe" />
<entry pixelValue="0.784" operator="&gt;" displayValue='0.875' label="Extreme" />
<entry pixelValue="0.17" operator="&gt;" displayValue='0.170' label="Light" />
<entry pixelValue="0.42" operator="&gt;" displayValue='0.239' label="Moderate" />
<entry pixelValue="0.70" operator="&gt;" displayValue='0.539' label="Severe" />
<entry pixelValue="0.96" operator="&gt;" displayValue='0.959' label="Extreme" />
</dataMapping>
</imageStyle>
</styleRule>
<styleRule>
<paramLevelMatches>
<parameter>CAT</parameter>
</paramLevelMatches>
<imageStyle>
<displayUnits label=" ">%</displayUnits>
<range scale="LINEAR">
<minValue>0</minValue>
<maxValue>1</maxValue>
</range>
<defaultColormap>Grid/clear_air_turb</defaultColormap>
<dataMapping>
<entry pixelValue="0.0" operator="&gt;" label="NO DATA" />
<entry pixelValue="0.17" operator="&gt;" displayValue='0.170' label="Light" />
<entry pixelValue="0.42" operator="&gt;" displayValue='0.239' label="Moderate" />
<entry pixelValue="0.70" operator="&gt;" displayValue='0.539' label="Severe" />
<entry pixelValue="0.96" operator="&gt;" displayValue='0.959' label="Extreme" />
</dataMapping>
</imageStyle>
</styleRule>

View file

@ -52,6 +52,8 @@ import com.raytheon.uf.edex.ohd.MainMethod;
* memory.
* Mar 28, 2014 2952 mpduff Changed to use UFStatus for logging.
* Apr 10, 2014 2675 mpduff Removed call to GAFF.
* Nov 05, 2015 15045 snaples Removed file name and setup to use script to
* run decoder on all radar products in gather directory.
*
* </pre>
*
@ -84,14 +86,13 @@ public class DecodeDpaSrv {
}
String path = appsDefaults.getToken("pproc_bin");
int exitValue = MainMethod.runProgram("ksh", path + "/Run_DecodeDPA",
outFile.getAbsolutePath());
int exitValue = MainMethod.runProgram("ksh", path + "/Run_DecodeDPA");
// Output result
if (exitValue == 0) {
logger.info("DpaDecoder decoded product: " + outFile);
logger.info("Dpa gather was run successfully.");
} else {
logger.error("DPA Product not decoded. DpaDecoder process terminated with exit code: "
logger.error("DPA gather failed and the process terminated with exit code: "
+ exitValue);
}
return null;

View file

@ -1,8 +1,5 @@
#!/bin/ksh
#
# this script gathers the DPA (Digital Precip Array) radar products
# into the proper directory and decodes them
#
# the decodedpa executable decodes the products
#
# a decoded radar product is a 131x131 array of REAL*4 values where each value
@ -10,13 +7,15 @@
#
# beginning in OB3, the decoded radar products are in Little Endian format
#
# OB 16.1.1 Nov 05, 2015 snaples 15045 Updated script to use gather directory with nativelib decoder.
#
RUN_FROM_DIR=`dirname $0`
. $RUN_FROM_DIR/../../set_hydro_env
DPAPRODDIR=`get_apps_defaults dpa_prod_dir`
DPAPRODDIR=`get_apps_defaults dpa_gather`
DPALOGDIR=`get_apps_defaults dpa_log_dir`
BIN_DIR=`get_apps_defaults pproc_bin`
@ -26,23 +25,68 @@ BIN_DIR=`get_apps_defaults pproc_bin`
Dte=`date +%m%d%Y`
fnm=$DPALOGDIR/decodedpa_log_$Dte
ctlfnm=$DPALOGDIR/decodedpa_ctl
test -e $DPALOGDIR/decodedpa_log_$Dte
FOUND=$?
if test FOUND -eq 1
then
touch $DPALOGDIR/decodedpa_log_$Dte
fi
test -e $DPALOGDIR/decodedpa_ctl
FOUND=$?
if test FOUND -eq 1
then
touch $DPALOGDIR/decodedpa_ctl
fi
#----------------------------------------------------------------------
# Don't fire up another instance if one is underway
AMIRUNNING_DIR=$(get_apps_defaults dpa_log_dir)
. $RFCLX/public/bin/amirunning
if [[ $AmIRunning = "yes" ]]; then
echo Run_DecodeDPA cancelled due to other instance running >> $fnm
exit 1
fi
# Check to see if age on file is more than 1 minute
runfreq=$((60))
tnow=`date +%s`
tfile=`date +%s -r $ctlfnm`
agesecs=$(($tnow-$tfile))
if [[ $agesecs -lt $runfreq ]]
then
exit 1
else
touch $ctlfnm
fi
#----------------------------------------------------------------------
#
# define delete messages written to log file
#
delete_message=" product deleted"
no_delete_message=" product not deleted"
file=$1
if [[ -e $file.LCK ]]
then
return
else
`touch $file.LCK`
fi
#
# check for products in the gather directory
# if found, then decode
# note that products in the gather dir will not be decoded if they have "x"
# permission
#
echo "Log file: " $fnm
runso rary.ohd.pproc decode_dpa_main $1 >> $fnm
for pname in `ls -1F $DPAPRODDIR | grep -v "*" | grep -v "/" `
do
echo $pname
runso rary.ohd.pproc decode_dpa_main $DPAPRODDIR/$pname >> $fnm
##runso rary.ohd.pproc decode_dpa_main $1 >> $fnm
#
# return codes from decodedpa
@ -62,8 +106,7 @@ runso rary.ohd.pproc decode_dpa_main $1 >> $fnm
# echo "decode dpa return code for file: $1 " $fstat >> $fnm
if test $fstat -lt 3
then
rm -f $file
rm -f $file.LE
rm -f $DPAPRODDIR/$pname
fi
if test $fstat -eq 2
@ -76,15 +119,13 @@ runso rary.ohd.pproc decode_dpa_main $1 >> $fnm
if test $fstat -eq 4
then
rm -f $file
rm -f $file.LE
rm -f $DPAPRODDIR/$pname
echo "$delete_message" >> $fnm
fi
if test $fstat -eq 5
then
rm -f $file
rm -f $file.LE
rm -f $DPAPRODDIR/$pname
echo "$delete_message" >> $fnm
fi
`rm $file.LCK`
done
exit $fstat

View file

@ -55,7 +55,7 @@ fi
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(644,awips,fxalpha,755)
%defattr(644,awips,fxalpha,775)
%dir /awips2
%dir /awips2/edex
%dir /awips2/edex/data

View file

@ -207,9 +207,9 @@ HDS ^(YAW[BCDGJM][0-9][0-9]) KKCI (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#
FILE -overwrite -log -close -edex /data_store/\5/(\2:yyyy)(\2:mm)\2/\3/\6/GRID\7/\9Z_\(10)_\(11)-\1_KKCI_\2\3\4_(seq).\5.%Y%m%d%H
# AWIPS1: GRID ^YVW[ABCDGJM][0-9][0-9].*KKCI /Grid/SBN/Raw
# YVWA41 KKCI 012200 /mRUC2 !grib/ncep/RUC2/#255/201102012200/F000/TURB/7010 m above MSL/
# YVWA41 KKCI 012200 /mRUC2 !grib/ncep/RUC2/#255/201102012200F000/CAT/7010 m above MSL/
HDS ^(YVW[ABCDGJM][0-9][0-9]) KKCI (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
ANY ^(YVW[ABCDGJMPS][0-9][0-9]) KKCI (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /data_store/\5/(\2:yyyy)(\2:mm)\2/\3/\6/GRID\7/\9Z_\(10)_\(11)-\1_KKCI_\2\3\4_(seq).\5.%Y%m%d%H
# AWIPS1: GRID ^[LM].[ABDHMNRSTU].*KWB.* /Grid/SBN/rawGrib2
@ -397,7 +397,7 @@ ANY ^(ZDIA98) (....) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9
HRS ^(YA)([WX])(A..) (KKCI) (..)(..)(..).*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})
FILE -overwrite -log -close -edex /data_store/\8/(\5:yyyy)(\5:mm)\5/\6/\9/GRID\(10)/\(12)Z_\(13)-\1\2\3_\4_\5\6\7_(seq).\8.%Y%m%d%H
HRS ^(ZV)(W)([ADGJM]..) (KKCI) (..)(..)(..).*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})
ANY ^(ZV)(W)([ABCDGJMPS]..) (KKCI) (..)(..)(..).*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})
FILE -overwrite -log -close -edex /data_store/\8/(\5:yyyy)(\5:mm)\5/\6/\9/GRID\(10)/\(12)Z_\(13)-\1\2\3_\4_\5\6\7_(seq).\8.%Y%m%d%H
#
# Addition for 3KM Alaska RTMA