13.5.2-6 baseline

Former-commit-id: 3837fbe670 [formerly 726299a49759971bf9a79ca7598c4f39ecb6721c]
Former-commit-id: 3821475d4e
This commit is contained in:
Steve Harris 2013-09-23 10:03:15 -04:00
parent 31111f4f52
commit 059549438a
16 changed files with 203 additions and 137 deletions

View file

@ -76,7 +76,9 @@ import com.raytheon.viz.mpe.ui.rsc.MPEFieldResourceData.MPEFieldFrame;
* Nov 29, 2012 mschenke Initial creation
* May 28, 2013 15971 lbousaidi change the reading hour for SATPRE
* since the start time in the file is one
* hour less than the file time stamp.
* hour less than the file time stamp.
* Sep 17, 2013 16563 snaples Updated createFrameImage to handle trace precip
* properly when mapping to screen.
*
* </pre>
*
@ -148,6 +150,7 @@ public class MPEFieldResource extends
* @param frame
* @return
*/
@SuppressWarnings("incomplete-switch")
private short[] getEditedData(MPEFieldFrame frame) {
short[] editedData = frame.getEditedData();
if (editedData != null) {
@ -413,16 +416,42 @@ public class MPEFieldResource extends
.getColorMapParameters();
UnitConverter dataToImage = params.getDataToImageConverter();
short[] data = getEditedData(frame);
DisplayFieldData cvuse = resourceData.getFieldData();
int length = data.length;
short[] imageData = new short[length];
for (int i = 0; i < length; ++i) {
short value = data[i];
if (value == MISSING_VALUE) {
imageData[i] = 0;
} else {
imageData[i] = (short) dataToImage.convert(value);
switch (cvuse) {
case Locbias:
case Height:
case Index:
case Locspan:
case mintempPrism:
case maxtempPrism:
for (int i = 0; i < length; ++i) {
short value = data[i];
if (value == MISSING_VALUE) {
imageData[i] = 0;
} else {
imageData[i] = (short) dataToImage.convert(value);
}
}
break;
default :
for (int i = 0; i < length; ++i) {
short value = data[i];
if (value == MISSING_VALUE) {
imageData[i] = 0;
} else if(value <= 0){
imageData[i] = 1;
} else if(value > 0 && value < 25){
value = 10;
imageData[i] = (short) dataToImage.convert(value);
} else {
imageData[i] = (short) dataToImage.convert(value);
}
}
break;
}
}
return new GriddedImageDisplay2(ShortBuffer.wrap(imageData),
gridGeometry, this);
}

View file

@ -275,8 +275,9 @@ public class MPEFieldResourceData extends AbstractMPEGriddedResourceData {
case mintempPrism:
case maxtempPrism:
return NonSI.FAHRENHEIT;
default:
return NonSI.INCH;
}
return NonSI.INCH;
}
public static Unit<?> getDataUnitsForField(DisplayFieldData fieldData) {
@ -293,7 +294,9 @@ public class MPEFieldResourceData extends AbstractMPEGriddedResourceData {
case mintempPrism:
case maxtempPrism:
return NonSI.FAHRENHEIT.divide(10);
default :
return SI.MILLIMETER.divide(100);
}
return SI.MILLIMETER.divide(100);
}
}

View file

@ -12,8 +12,8 @@ export IH_DB_NAME=hd_ob92oax
### flag to control grib deprecation ###
if [ -z "$gribMode" ]; then
# uncomment only one of the following two lines
export gribMode=deprecated
#export gribMode=future
#export gribMode=deprecated
export gribMode=future
fi
## end of grib deprecation flag ###

View file

@ -140,10 +140,14 @@ class MasterInterface(object):
def reloadModule(self, moduleName):
if sys.modules.has_key(moduleName):
# because the user might have added or removed items
# from the module's dictionary, we cannot trust reload() here.
sys.modules.__delitem__(moduleName)
__import__(moduleName)
# Because the user might have removed items
# from the module's dictionary, we cannot trust reload() to
# remove old items. We will manually remove everything
# but built-ins to ensure everything gets re-initialized when
# reload() is called.
mod = sys.modules[moduleName]
modGlobalsToRemove = [k for k in mod.__dict__ if not k.startswith('_')]
for k in modGlobalsToRemove:
mod.__dict__.pop(k)
reload(mod)

View file

@ -80,6 +80,7 @@ import com.raytheon.uf.edex.database.dao.DaoConfig;
* 02/24/2012 14535 W. Kwock Correct the duration value.
* 11/29/2012 15530 lbousaidi corrected posting and production time for
* latestobsvalue table.
* 09/19/2013 16515 w. Kwock Fix the excessive digits in rawpp,lake,height...tables
*
* </pre>
*
@ -1065,7 +1066,7 @@ public class PostTables {
cs.setString(5, shefData.getExtremum().getCode());
cs.setTimestamp(6, new Timestamp(shefData.getObservationTimeObj()
.getTime()));
cs.setFloat(7, Float.parseFloat(dataValue));
cs.setDouble(7, Double.parseDouble(dataValue));
cs.setString(8, qualifier);
cs.setInt(9, (int) qualityCode);
@ -1184,7 +1185,7 @@ public class PostTables {
cs.setString(5, shefData.getExtremum().getCode());
cs.setTimestamp(6, new java.sql.Timestamp(shefData
.getObservationTimeObj().getTime()));
cs.setFloat(7, Float.parseFloat(dataValue));
cs.setDouble(7, Double.parseDouble(dataValue));
cs.setString(8, qualifier);
cs.setInt(9, (int) qualityCode);
@ -1316,7 +1317,7 @@ public class PostTables {
timeStamp = new java.sql.Timestamp(basisDate.getTime());
cs.setTimestamp(8, timeStamp);
cs.setFloat(9, Float.parseFloat(dataValue));
cs.setDouble(9, Double.parseDouble(dataValue));
cs.setString(10, qualifier);
@ -1534,7 +1535,7 @@ public class PostTables {
ps.setTimestamp(8, timeStamp2);
// ps.setFloat(9, Float.parseFloat(shefDataValue.getStringValue()));
ps.setFloat(9, shefDataValue.getValue().floatValue());
ps.setDouble(9, shefDataValue.getValue().floatValue());
if (updateFlag) {
ps.setString(10, lid);

View file

@ -1 +1 @@
c28b0356ba38c6aa1c3ad220caf3ad27f2534f33
2d8d4c03270ef631f167570cf0c03461ff832fea

View file

@ -1 +1 @@
c28b0356ba38c6aa1c3ad220caf3ad27f2534f33
2d8d4c03270ef631f167570cf0c03461ff832fea

View file

@ -174,7 +174,7 @@ void main_mpe_fieldgen_for_calls_from_editor(int num_args, char ** args)
sprintf ( message , "\t\tMPE Precip Processing -- %s\n", strTempTime) ;
printMessage( message, logFile );
sprintf ( message , "\t\tLast Modification: August 1, 2013 \n") ;
sprintf ( message , "\t\tLast Modification: September 19, 2013 \n") ;
printMessage( message, logFile );
sprintf ( message , "\t\t \n") ;
printMessage( message, logFile );

View file

@ -201,21 +201,6 @@ void display_field_data_RFCW ( enum DisplayFieldData display_data ,
idate = date.month*1000000 + date.day*10000 + date.year;
sprintf(fname,"%s/%s%08d%02dz",dirname,cv_use_tmp,idate,date.hour);
}
else if ( display_data == display_satPrecip )
{
iyr = date.year ;
imo = date.month ;
ida = date.day ;
ihr = date.hour ;
im = 0 ;
is = 0 ;
tdiff = -1 ;
tunit = 2 ;
TADJ ( & iyr , & imo , & ida , & ihr , & im , & is , & tdiff , & tunit ) ;
sprintf ( fname , "%s/%4d%02d%02d_%02d00.multi" , dirname , iyr , imo ,
ida , ihr ) ;
}
else if ( display_data == display_rfcMosaic )
{
sprintf(fname,"%s/%s01%sz",dirname,cv_use_tmp,date.cdate);
@ -225,16 +210,10 @@ void display_field_data_RFCW ( enum DisplayFieldData display_data ,
sprintf(fname,"%s/%s%sz",dirname,cv_use_tmp,date.cdate);
}
if ( display_data != display_satPrecip )
{
len_fname = strlen ( fname ) ;
display_field_read_xmrg ( data_array_tmp , fname, addition_flag , rowSize, colSize );
}
else
{
/* Special logic to process the satellite image. */
display_field_read_spe ( data_array_tmp , fname, addition_flag ) ;
}
len_fname = strlen ( fname ) ;
display_field_read_xmrg ( data_array_tmp , fname, addition_flag , rowSize, colSize );
}

View file

@ -77,6 +77,13 @@ public class Command implements Cloneable {
this.elementClass = ec;
this.elementCode = eid;
boolean extendArgLengthToEven = false;
// ORIGINAL does not contain the following "if"
if (l==32) { // normally maxes at 31 (to indicate long-form command); 32 indicates...
extendArgLengthToEven = true; // ..."push" needed to even length (used for little endian text)
l = 31;
}
// end of this change to ORIGINAL, but see also extendArgLengthToEven reference below...
if (l != 31) {
this.args = new int[l];
for (int i = 0; i < l; i++)
@ -107,6 +114,11 @@ public class Command implements Cloneable {
else {
done = true;
}
//ORIGINAL doesn't contain following statement...
if (extendArgLengthToEven && l % 2 == 1) {
l++;
}
// end of this change to ORIGINAL, but see also extendArgLengthToEven reference above
if (this.args == null) {
this.args = new int[l];
}

View file

@ -113,6 +113,10 @@ public class NcCGM extends CGM implements Cloneable {
if (c == null) continue; // or should we add as null command?
if (c instanceof NcLineWidth || c instanceof NcTextAlignment) {
logger.info("[CGM command #" + com + " completed] " + c.toString());
}
logger.debug("[CGM command #" + com + " completed] " + c.toString());
for (ICommandListener listener : this.commandListeners) {

View file

@ -39,7 +39,7 @@ public class NcLineWidth extends LineWidth implements INcCommand {
public void paint(IGraphicsTarget target, PaintProperties paintProps,
IDescriptor descriptor,
ImageBuilder ib) throws VizException {
ib.currentLineWidth = this.width / 10.0; // TODO ??
ib.currentLineWidth = this.width / 1.0; // TODO ??
}
}

View file

@ -3,105 +3,108 @@
*/
package gov.noaa.nws.ncep.viz.rsc.ntrans.ncgm;
import gov.noaa.nws.ncep.viz.rsc.ntrans.jcgm.Text;
import gov.noaa.nws.ncep.viz.rsc.ntrans.rsc.NtransResource.ImageBuilder;
import java.io.DataInput;
import java.io.IOException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.eclipse.swt.graphics.RGB;
import com.raytheon.uf.viz.core.DrawableString;
import com.raytheon.uf.viz.core.IGraphicsTarget;
import com.raytheon.uf.viz.core.IGraphicsTarget.HorizontalAlignment;
import com.raytheon.uf.viz.core.IGraphicsTarget.TextStyle;
import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment;
import com.raytheon.uf.viz.core.drawables.IDescriptor;
import com.raytheon.uf.viz.core.drawables.IFont;
import com.raytheon.uf.viz.core.drawables.PaintProperties;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.uf.viz.core.geom.PixelCoordinate;
import gov.noaa.nws.ncep.viz.rsc.ntrans.jcgm.Text;
import gov.noaa.nws.ncep.viz.rsc.ntrans.rsc.NtransResource.ImageBuilder;
/**
* @author bhebbard
*
*
*/
public class NcText extends Text implements INcCommand {
private final Log logger = LogFactory.getLog(this.getClass()); //TODO static better??
static boolean flipflop = true;
private final Log logger = LogFactory.getLog(this.getClass()); // TODO
// static
// better??
/**
* @param ec
* @param eid
* @param l
* @param in
* @throws IOException
*/
public NcText(int ec, int eid, int l, DataInput in) throws IOException {
super(ec, eid, l, in);
// TODO Auto-generated constructor stub
}
static boolean flipflop = true;
/* (non-Javadoc)
* @see gov.noaa.nws.ncep.viz.rsc.ntrans.ncgm.INcCommand#paint(com.raytheon.uf.viz.core.IGraphicsTarget, com.raytheon.uf.viz.core.drawables.PaintProperties, gov.noaa.nws.ncep.viz.rsc.ntrans.rsc.NtransResource.ImageBuilder)
*/
@Override
public void paint(IGraphicsTarget target, PaintProperties paintProps,
IDescriptor descriptor,
ImageBuilder ib) throws VizException {
DrawableString ds = new DrawableString(this.string, ib.currentLineColor); //TODO:why?
double[] newpoint = new double[] { 0.0, 0.0 };
if (flipflop) //TODO test code
{
newpoint = ib.scalePoint(this.position.x, this.position.y);
}
else
{
newpoint = ib.scalePointNoZoom(this.position.x, this.position.y);
}
//flipflop = ! flipflop ;
ds.setCoordinates(newpoint[0],newpoint[1]);
ds.font = ib.currentFont;
ds.textStyle = ib.textStyle;
ds.horizontalAlignment = ib.horizontalAlignment;
ds.verticallAlignment = ib.verticalAlignment;
ib.strings.add(ds);
/*
IFont font = target.initializeFont("Monospace", 14, new IFont.Style[] { IFont.Style.BOLD});
PixelCoordinate textLoc = new PixelCoordinate( this.position.x * ib.scaling,
this.position.y * ib.scaling, 0 );
target.drawString(font,
this.string, textLoc.getX(),
textLoc.getY(), 0.0,
TextStyle.NORMAL,
new RGB( 255, 255, 200 ),
HorizontalAlignment.CENTER,
VerticalAlignment.MIDDLE, 0.0);
*/
/**
* @param ec
* @param eid
* @param l
* @param in
* @throws IOException
*/
public NcText(int ec, int eid, int l, DataInput in) throws IOException {
// To handle little-endian strings, we need to bump an odd length ("l") parameter
// up one to make it even (ending on two-byte CGM word boundary), so that we
// get the last character. (Will be flipped into place later.) Note that
// special case of l=31 indicates "long form" (string length >=31 char, to
// be specified in following 2-byte integer), so the parent constructor for
// Command has also been modified to interpret l=32 fed up to it as a signal
// to handle as l=31, then "bump" the long-form length it reads (from next
// 2 bytes) up to even value if needed.
super(ec, eid, (l + 1) / 2 * 2, in);
}
}
/*
* (non-Javadoc)
*
* @see
* gov.noaa.nws.ncep.viz.rsc.ntrans.ncgm.INcCommand#paint(com.raytheon.uf
* .viz.core.IGraphicsTarget,
* com.raytheon.uf.viz.core.drawables.PaintProperties,
* gov.noaa.nws.ncep.viz.rsc.ntrans.rsc.NtransResource.ImageBuilder)
*/
@Override
public void paint(IGraphicsTarget target, PaintProperties paintProps,
IDescriptor descriptor, ImageBuilder ib) throws VizException {
public void flipString() {
// Flip every even char with its odd sibling (endianess reversal)
String oldString = this.string;
char[] oldCharArray = oldString.toCharArray();
int lengthOfNewArray = oldCharArray.length / 2 * 2; // if odd length, discard last character (null)
char[] newCharArray = new char[lengthOfNewArray];
for (int i = 0 ; i < lengthOfNewArray ; i = i + 2 ) {
newCharArray[i] = oldCharArray[i+1];
newCharArray[i+1] = oldCharArray[i];
}
String newString = new String(newCharArray);
this.string = newString;
}
DrawableString ds = new DrawableString(this.string, ib.currentLineColor); // TODO:why?
double[] newpoint = new double[] { 0.0, 0.0 };
if (flipflop) // TODO test code
{
newpoint = ib.scalePoint(this.position.x, this.position.y);
} else {
newpoint = ib.scalePointNoZoom(this.position.x, this.position.y);
}
// flipflop = ! flipflop ;
ds.setCoordinates(newpoint[0], newpoint[1]);
ds.font = ib.currentFont;
ds.textStyle = ib.textStyle;
ds.horizontalAlignment = ib.horizontalAlignment;
ds.verticallAlignment = ib.verticalAlignment;
ib.strings.add(ds);
/*
* IFont font = target.initializeFont("Monospace", 14, new IFont.Style[]
* { IFont.Style.BOLD}); PixelCoordinate textLoc = new PixelCoordinate(
* this.position.x * ib.scaling, this.position.y * ib.scaling, 0 );
* target.drawString(font, this.string, textLoc.getX(), textLoc.getY(),
* 0.0, TextStyle.NORMAL, new RGB( 255, 255, 200 ),
* HorizontalAlignment.CENTER, VerticalAlignment.MIDDLE, 0.0);
*/
}
public void flipString() {
// Flip every even char with its odd sibling (endianess reversal)
String oldString = this.string;
char[] oldCharArray = oldString.toCharArray();
int lengthOfNewArray = oldCharArray.length / 2 * 2; // if odd length,
// discard last
// character (null)
char[] newCharArray = new char[lengthOfNewArray];
for (int i = 0; i < lengthOfNewArray; i = i + 2) {
newCharArray[i] = oldCharArray[i + 1];
newCharArray[i + 1] = oldCharArray[i];
}
String newString = new String(newCharArray);
this.string = newString.trim();
}
}

View file

@ -48,11 +48,24 @@ public class NcTextAlignment extends TextAlignment implements INcCommand {
// Map/convert CGM-style text alignments to their IGraphicsTarget equivalents.
switch (this.horizontalAlignment) {
case NORMAL_HORIZONTAL:
//TODO: Following is sort of a hack, to deal with the way legacy
// NTRANS metafiles are created by the NC driver code. A horizontal
// alignment of CENTER appears to be coded (intentionally or otherwise)
// in the legacy generated CGM by a *vertical* alignment value of CAP.
// Might want to investigate, and possibly bring legacy code to CGM
// compliance.
if (this.verticalAlignment == TextAlignment.VerticalAlignment.CAP) {
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.CENTER;
}
else {
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.LEFT;
}
break;
case LEFT:
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.LEFT;
break;
case NORMAL_HORIZONTAL:
case CONTINOUS_HORIZONTAL: //TODO??
case CONTINOUS_HORIZONTAL: //TODO??
case CENTRE:
ib.horizontalAlignment = IGraphicsTarget.HorizontalAlignment.CENTER;
break;
@ -69,13 +82,17 @@ public class NcTextAlignment extends TextAlignment implements INcCommand {
case TOP:
case CAP: //TODO??
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.TOP;
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.BOTTOM;
break;
case HALF:
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.MIDDLE;
break;
case NORMAL_VERTICAL:
case CONTINOUS_VERTICAL: //TODO??
case BASE: //TODO??
case BOTTOM:
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.BOTTOM;
break;
default:
//TODO fail
ib.verticalAlignment = IGraphicsTarget.VerticalAlignment.BOTTOM;

View file

@ -105,7 +105,9 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
}
public void dispose() {
shadedShape.dispose();
if (shadedShape != null) {
shadedShape.dispose();
}
}
}
@ -134,6 +136,7 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
// if so dispose of the existing data and process the new record
return false;
}
// Get PDO from the given RDO
DfltRecordRscDataObj ntransRDO = (DfltRecordRscDataObj) rscDataObj;
@ -187,7 +190,7 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
//TODO Add optional (cool) debug dump of CGM representation
//cgm.showCGMCommands();
// cgm.showCGMCommands();
// Save away just the info needed to draw this frame
@ -453,6 +456,7 @@ public class NtransResource extends AbstractNatlCntrsResource<NtransResourceData
}
else {
wireframeForThisColor.compile();
//TODO to be correct, should be lineWidth in effect at individual wireframe paints
target.drawWireframeShape(wireframeForThisColor, color, (float) ib.currentLineWidth);
wireframeForThisColor.dispose();
}

View file

@ -350,7 +350,7 @@ if [ "${1}" = "-viz" ]; then
buildRPM "awips2"
buildRPM "awips2-common-base"
# buildRPM "awips2-rcm"
# buildRPM "awips2-hydroapps-shared"
buildRPM "awips2-hydroapps-shared"
# buildRPM "awips2-notification"
buildCAVE
if [ $? -ne 0 ]; then
@ -364,7 +364,7 @@ fi
if [ "${1}" = "-edex" ]; then
#buildRPM "awips2"
#buildRPM "awips2-common-base"
# buildRPM "awips2-adapt-native"
buildRPM "awips2-adapt-native"
#buildRPM "awips2-python-qpid"
# buildRPM "awips2-cli"
buildRPM "awips2-gfesuite-client"
@ -379,6 +379,16 @@ if [ "${1}" = "-edex" ]; then
exit 0
fi
if [ "${1}" = "-localization" ]; then
buildLocalizationRPMs
if [ $? -ne 0 ]; then
exit 1
fi
exit 0
fi
if [ "${1}" = "-qpid" ]; then
buildQPID
if [ $? -ne 0 ]; then