New Features in WXP 6.0

Latest Version 6.62
December 30, 2009

New in version 6.62 (December 2009)

Features
Objects
Programs

New in version 6.61.2 (October 2009)

Features
Objects
Programs

New in version 6.61 (September 2009)

Features

Objects
Includes
Programs

New in version 6.60 (August 2009)

Features

Objects
Includes

New in version 6.59 (June 2009)

Note:  6.58 was an internal release

Features

Objects
Programs

New in version 6.57 (March 2009)

New in version 6.56 (December 2008)

New in version 6.55 (November 2008)

New in version 6.54 (October 2008)

New in version 6.053 (August 2008)

New in version 6.052 (July 2008)

New in version 6.047.1 (June 2007)

New in version 6.047 (June 2007)

New in version 6.046 (May 2007)

New in version 6A37 (June 2006)

In an effort to continue to work on the new object oriented version of WXP.  About 70% of the WXP library is now rewritten in C++.  WXP6 will have a different look and feel in that monolithic programs like sfcwx, rad and grbcalc go away.  WXP6 eliminates the need for wxploop as plotting can be directly scripted.  But WXP6 programs can still plot to a wxploop window for backward compatibility. 

Plotting as objects

WXP6 uses a simple object for plotting, not a monolithic program.  Resources can still be set through a function interface or by using the old resource settings.  Objects are initialized using the WXP resource settings.

Plot and Figure objects

WXP6 has a Plot and Figure object.  Plot is used when a simple plot is needed.  This is ideal for outputing to GIF images.  The Figure object will cause the plot to act more like WXP5 with rescaling, zoom and query capabilities.

Perl and Python interfaces

WXP6 is scriptable using Perl and Python.  This will replace the need for complex scripts like we have today with WXP5.  Objects can be created in these scripting environments and reused.
Perl example
Python example
#! /usr/bin/perl

use WXP;

$domstr = "ne";

WXP::Prog::readResrcFile( "sfcmap", "/home/wxp/etc" );

$sat = WXP::SatPlot->new;
$sat->setNameConv( "sat_ir_nc" );
$sat->setColorTable( "sat.clr" );
$sat->setColorFill( "0-50" );

$rad = WXP::SatPlot->new;
$rad->setPath( "/mnt/penndot/wxp/data:/home/wxp/nwstg/mosaic" );
$rad->setInput( "imgz" );
$rad->setNameConv( "rad_wmos" );
$rad->setColorTable( "radar.clr" );
$rad->setColorFill( "wradmos1.cfl" );
$rad->setParam( "cutoff:1:15:25" );

$frt = WXP::FrontPlot->new;

$sfc = WXP::SfcPlot->new;
$sfc->setVariable("all");

$data = WXP::Datum->new;
$dplot = WXP::DatumPlot->new;

$domain = WXP::Domain->new;

WXP::DomainTool::set( $domain, $domstr );
#
#  Set up map
#
$map = WXP::MapPlot->new;
$map->setMapFiles( "fi:cnty.mpl" );
#
#  Open new plot
#
$plot = WXP::Plot->new;
$plot->open( "de=d,ge=1024x768" );
$plot->setDomain( $domain );
$sat->draw( $plot );
$rad->draw( $plot );
$frt->draw( $plot );
$map->draw( $plot );
$sfc->draw( $plot );
$data->set( 40.05491, -75.51085, WXP::Datum::MARK, "+", "co=white" );
$dplot->draw( $plot, $data );
$plot->drawBorder();
$plot->drawLabels();
$plot->manage();
#! /usr/bin/python

import WXP

domstr = "ne"

WXP.Prog.readResrcFile( "sfcmap", "/home/wxp/etc" )

sat = WXP.SatPlot()
sat.setNameConv( "sat_ir_nc" )
sat.setColorTable( "sat.clr" )
sat.setColorFill( "0-50" )

rad = WXP.SatPlot()
rad.setPath( "/mnt/penndot/wxp/data:/home/wxp/nwstg/mosaic" )
rad.setInput( "imgz" )
rad.setNameConv( "rad_wmos" )
rad.setColorTable( "radar.clr" )
rad.setColorFill( "wradmos1.cfl" )
rad.setParam( "cutoff:1:15:25" )

frt = WXP.FrontPlot()

sfc = WXP.SfcPlot()
sfc.setVariable("all")

data = WXP.Datum()
dplot = WXP.DatumPlot()

domain = WXP.Domain()

WXP.DomainTool.decode( domain, domstr )
#
#  Set up map
#
map = WXP.MapPlot()
map.setMapFiles( "fi:cnty.mpl" )
#
#  Open new plot
#
plot = WXP.Plot()
plot.open( "de=d,ge=1024x768" )
plot.setDomain( domain )
sat.draw( plot )
rad.draw( plot )
frt.draw( plot )
map.draw( plot )
sfc.draw( plot )
data.set( 40.05491, -75.51085, WXP.Datum.MARK, "+", "co=white" )
dplot.draw( plot, data )
plot.drawBorder()
plot.drawLabels()
plot.manage()

Low level programming

This will allow the user to access the WXP library and do more with the data. The hope here is to eliminate the problems associated with monolithic programs.  You can read in raw files and plot them how you want them rather than burying the plotting attributes in the raw file.  DatumPlot allows you to add annotation without having to create a raw file.  A new ImagePlot object will allow you to read in images with imbedded projection information and display them.  The MapPlot object will use "mdb" files to plot specific pieces of map data including filled in areas such as specific counties or zones. 

New in version 6.0A18 (February 2005)

GRIB2 additions

Added support for DRS templates 1,2 and 3 to handle NDFD grids.  Added support for DRS template 40 (same as 40000 for Jpeg2000 compression).  Changed the grid type specification for lat-lon grids to be more representative of the actual values.  Added support for Mercator grids.  Added support for "max" and "min" time ranges in GRIB2.

Added support for multiple grids in a single product.  CONDUIT grids put U and V wind in the same GRIB2 product.

Bug Fixes: