Welcome to the PAVE FAQ. If your question is not answered below, please be sure to examine the Known Bugs and Workarounds for PAVE, and the Main PAVE User's Guide.Note that the corresponding document for PAVE-2.3 was more than a decade out of date, and contained many HTML errors, as described by weblint. In particular, references to EDSS need to be re-written. Revising and correcting it is a non-trivial effort, currently in progress...
- What platforms does PAVE run on?
- How do I download PAVE and install it on my system?
- Where can I find the latest PAVE documentation?
- Where can I find the latest FAQ?
- How can I get support for PAVE?
- Is PAVE available for the PC on NT or Linux?
- What are the known bugs in PAVE?
- How do I quit displaying PAVE's incredibly long copyright?
- What if Help..User Guide doesn't bring up the User Guide?
- Can I get the source code so I can build my own version of PAVE?
- How do I use a world map?
- How do I use my own map background?
- How do I get my data into PAVE?
- How do I load more than 26 datasets?
- How do I view remote data if I can't rsh to the remote machine?
- What if I see black spots in a tile plot legend?
- How do I control the size of GIF and postscript files?
- How do I view data for layers other than layer 1?
- How do I view a vector plot (e.g. for wind data)?
- How do I view a vector plot with another (scalar) variable in the background?
- Why aren't all the wind vectors displayed on vector plots?
- How do I view a vertical cross-section of data?
- How do I view a vertical cross-section of vector data?
- How do I get sliders to scroll one step at a time?
- What if I get a message like "Unable to load any usable fontset" on a Sun?
- How do I use the mean, sum, mint, and other similar operators?
- Why can't I read remote data files when running PAVE on a DEC?
- How can I change the default fonts used by PAVE?
- What do I do if only the super-user and the owner of the PAVE installation can run PAVE?
- Why can't I read back files that I've exported as netCDF?
- Why can't I read UAM-IV format files produced by UAM-V?
- When do I set the FINE_GRID flag in UAM-V meta files?
- How do I write a meta file for a UTM projection?
- Where can I get MPEG players for viewing PAVE animations?
- How do I create a time series plot for a single grid cell or a group of cells?
- How can I use PAVE to extract the time-series of data for a specific pollutant at a specific grid cell?
- How can I improve the resolution of postscript files produced by PAVE?
- Why does PAVE crash when I try to print a plot?
- Why do I sometimes get the message X Error: BadDrawable when saving an image from a script?
- How can I view the average of data over multiple time steps (e.g. an 8 hour average)?
- Why does PAVE print out some information and then crash with a segmentation fault or a memory fault?
- Why does the mpeg_play that comes with PAVE fail on some Suns?
- Why is part of the animation I saved obscured by non-PAVE windows?
- Can I use datasets with identical domain sizes but different grid resolutions in a single formula?
- How do I use scientific notation for numeric labels on tile plots?
- Why can't I create GIF files or MPEGs when I display PAVE back to a PC?
- Why won't PAVE accept the inputs I'm typing into the configure window?
- Why can't I create a mesh plot?
- What does the future hold for PAVE?
- PAVE Users Guide
- Return To cjcoats.github.io
The current pave-3.0 released version is intended to run on 64-bit Linux platforms, using the Linux medium memory model and the GNU gcc/g++/gfortran compiler set. It should also build for most other Linux or UNIX(-like) platforms, including CygWin for Windows (although I don't have such a machine for building and testing it).Earlier versions of the Package for Analysis and Visualization of Environmental data were available for AIX 4.x (IBM), IRIX 5.x (SGI), Solaris 2.x (Sun), OSF1 (DEC Alpha), and HP-UX 9.x (HP), Linux 2.x, and Windows NT.
For instructions on how to download PAVE for your workstation and install it, please see http://cjcoats.github.io/pave/Pave.install.html.
The latest PAVE documentation can be found at http://cjcoats.github.io/pave/PaveManual.html
The latest PAVE FAQ can be found at cjcoats.github.io/pave/Pave.FAQ.html.
The BugZilla bug tracking system that allows you to submit problems, questions, and suggestions via a web-based interface is no longer available. You may submit a problem or question via email to the current maintainer, cmas@unc.edu.
PAVE-3.0 targets 64-bit x86_64 Linux, using the "'medium memory model", so that data set size is primarily limited by the amount of RAM on the computer.An earlier version of PAVE was available for Windows machines with Interix... the current pave-3.0 should probably build for Windows machines with CygWin-64 installed, although the current maintainer does not have access to such a machine.
The known bugs in PAVE are described in PaveManual.html#Bugs.
PAVE's copyright information can be displayed by typing -copyright as a command line argument, or into PAVE's standard input. (It is long because all of the copyrights for the open source software used by PAVE are included.) Once you have read enough, you can quit from viewing this by typing Control-C or :q. This will return you to a standard PAVE session.
If you try to bring up the User Guide from the Help menu, and you get a message like/pub/storage/edss/framework/EDSS/scripts/mosaic.wrapper: No such file or directorythen there is a problem with one of the dot files in your home directory. To correct this, quit out of PAVE, and typerm ~/.edss_exec_rcRestart PAVE, and try to load the User Guide again.
Source code for PAVE will be available by April 2018 from https://github.com/cjcoats/pave-3.0. Note that there are a number of external libraries that are required to build PAVE from scratch. If you are building on a preexisting platform, try using the libraries and executables available with the PAVE distribution for that platform - otherwise you have a lot of compiling to do—see Pave.install.html
As of PAVE-3.0, there are a number of new maps under pave-3.0/maps. The pave wrapper script supports the use of two different environment variables to control world-map drawing:Additionally, the command
- setenv NATIONS_MAP
- uses the OUTLNATIONS map, with coordinate clipping in the (ISO Standard 6709) latitude range [-90,90] and longitude range [-180,180].
- setenv WORLD_MAP
- uses the OUTLNATIONS map, with coordinate clipping in the (non-Standard, WMO-style)latitude range [-90,90] and longitude range [0,360].
setenv MAP_FILE <file name>tells pave to use the indicated map-file, which may either have an absolute path-name, or be a file in the PAVE_MAPDIR (=pave3.2/maps) directory.As of PAVE version 1.4.1, you can display a world map for data whose domain falls partially or completely outside North America. First, a little background on how maps are drawn in PAVE. Maps are projected onto your data's grid from polylines stored in lat/lon coordinates in files in the directory:
<top level PAVE dir>/<platform type>/bin/OPTIMIZE/maps/The map files in this directory include:
OUTLCOUNTIES - county outlines OUTLHRES - country outlines for the world OUTLRIVERS3000 - rivers OUTLROADS3000 - roads OUTLSTATES3000 - high resolution state outlines OUTLUSAM - medium resolution state outlinesTile plots have a Map menu item which allows you to choose which one of these maps will be used in your plot. The default is medium resolution state outlines, which come from the file OUTLUSAM.When PAVE projects the map outlines onto your plot, it first "pre-clips" out many of the polylines in the file before projecting them. In this way, significant trigonometric calculations can be avoided on lines that wouldn't show up on your plot anyway. The default pre-clip range is as follows:
llLat = 10.0 llLon = -125.0 urLat = 80.0 urLon = -60.0Lines falling outside of the pre-clip range will not be drawn on your PAVE plot. So any domain which partially or completely falls outside of this default pre-clip range will have an incomplete map when rendered within a default PAVE tile plot. The way to get around this is two-fold: first you will need to modify the default pre-clip range used by PAVE, and second you'll need to tell PAVE to use the world map rather than the default medium resolution state outlines.To modify the default pre-clip range used by PAVE, you can use either 1) environment variables set prior to launching PAVE, 2) command line arguments sent to PAVE at startup, or 3) arguments sent to PAVE's standard input after startup. First, choose a clipping range (bounded by lower-left and upper-right latitude, longitude coordinate pairs) that will enclose the entire geographic domain of your dataset. To use environment variables, enter the following commands at the command line prior to launching PAVE:
setenv PRECLIP_LLLAT <llLat> setenv PRECLIP_LLLON <llLon> setenv PRECLIP_URLAT <urLat> setenv PRECLIP_URLON <urLon>Arguments used to modify the pre-clip range used by PAVE, are of the form:
-preClip <llLat> <llLon> <urLat> <urLon>In either of the above cases, all subsequent tile plots in that PAVE session will use the newly supplied default clipping range until the range is changed again.To tell PAVE to use the world map rather than the default medium resolution state outlines, there are two methods. One way is to use the -mapName command line argument with the full pathname/filename to the OUTLHRES file :
-mapName "<pathname>/<mapFileName>"causes PAVE to use the supplied map name instead of the default map for all subsequent tile plots. An easier way to obtain the same results for a given plot is to simply use a tile plot's pull down "Map" menu to select the world map, and that plot will then use the world map. However if you are creating multiple plots of your data, you will probably find the first method easier, as it affects all subsequent plots rather than just a single plot.Here is an example script which was used to create a tile plot with a dataset whose domain stretches from North America over to Europe and down to North Africa:
#!/bin/csh # # world map example script # pave \ -mapName \ /pub/storage/edss/framework/EDSS/IRIX5_mips/bin/OPTIMIZE/maps/OUTLHRES \ -preClip 0 -180 85 70 \ -f /200p_scratch/thorpe/NA02_mc2_g0 \ -s HFXa \ -gtype tile
PAVE maps are stored in a binary format called McIDAS. McIDAS is a tricky little format, but it is very efficient space wise. The data itself is a series of polylines in lat/lon coordinates. You can specify for PAVE to use a different McIDAS map background file by using PAVE's -mapName argument.There is now a utility called arc2mcidas that allows you to translate ArcInfo '.gen' files with map line data into the McIDAS format, and then read it into PAVE. arc2mcidas is distributed with the latest PAVE release; you should be able to find it in
<top level PAVE dir>/<platform type>/bin/OPTIMIZE/arc2mcidasThe arc2mcidas input .gen format is pretty simple to get your data into, if you don't already have ArcInfo to generate that kind of file for you. Here is an excerpt from a sample .gen file:
-----EXCERPT BEGINS AFTER THIS LINE----- 1 -85.684761 34.982353 -85.683899 34.990894 END 2 -85.691048 34.946201 -85.688698 34.947845 -85.685623 34.953197 -85.684258 34.958153 -85.682869 34.963562 -85.683784 34.967682 -85.684746 34.970894 -85.684639 34.973164 -85.684547 34.974976 -85.684479 34.976337 -85.684433 34.977245 -85.684341 34.979057 -85.684814 34.980892 -85.684761 34.982353 END ------------END EXCERPT-----------------The format of the .gen files used as input to the arc2mcidas program is simply some arbitrary number of polylines, each polyline's data is denoted by:------------------------------------------------- <integer polyline number> <float lat1> <float lon1> <float lat2> <float lon2> : : <float lastlat> <float lastlon> END -------------------------------------------------where the polyline number is totally ignored by arc2mcidas, and the lons are negative in the western hemisphere, the lats negative in the southern hemisphere, and every lat and lon must have a decimal in it. (note the ---- lines aren't part of the file format).See the How do I use a world map? FAQ question for more information on using different maps within PAVE.
PAVE currently supports four input file formats: IO/API (netCDF), UAM-IV, UAM-V, and "chain files". These formats are further described in PAVE's User Guide, at PaveManual#Data.If you have another data format which you would like to look at using PAVE, you should probably convert it into Models-3 I/O API format. There are a number of I/O API "m3tools" programs which can either do the task directly or which could be adapted to serve your needs. See https://cjcoats.github.io/ioapi/AA.html#tools
First, you need to configure your account on the remote machine. (This should only need to be done once if you usually run PAVE on the same local machine.) To do this, add the following to your ~/.cshrc on that machine:
Here the local_machine is the machine on which you will be running the PAVE user interface. To have the changes take effect, type source ~/.cshrc on the remote machine. Type `which visd` on the remote machine and make sure it returns a directory name. If it doesn't, then the setup_edss script on the remote machine may not be properly configured.
To get started viewing remote data,
If things have worked properly, you should see some messages appear on the remote machine. You should then be able to browse remote data on that machine. To choose the remote machine for browsing files, click on the button in the center of the browser (below the file and directory lists) and type in a host.
For example, assume the local machine = tom.ncsc.org, the local user ID is george, and the remote machine=flyer.ncsc.org.
Note that you will need to do the last step only each time you want to browse data with a new PAVE session.
Currently, the maximum number of datasets that can be loaded into PAVE is 26. There are no plans to increase this in the future. If you try to load in more datasets such that the letter that will be associated with a new data set is higher than z, bad things will happen. In this situation you need to delete some data sets and restart PAVE.
Sometimes, PAVE is unable to allocate a color that it tried to allocate. In this case, you will see black regions appear in the legend of your tile plot. This situation usually occurs when you have gone back and forth between different color maps or adjusted the # Tiles slider multiple times. This is often accompanied by a message to standard output that says "Can't allocate ramp color xxx". To clear this situation, exit and restart PAVE. Note that the number of available colors can be affected by other applications running on your workstation that are using colors (such as netscape or mosaic). You can control the number of colors used by netscape with the -ncols command line argument. PAVE and netscape coexist better if you run netscape in the following way:netscape -ncols 64If you cannot get enough colors by restarting PAVE, try quitting other applications that use a lot of colors and then restart PAVE.
You can adjust the size of the GIF and postscript images produced by PAVE by resizing the Tile Plot window before saving a GIF or postscript file. Also, the following command line arguments have been added to PAVE, to allow the user to control a tile or vector plot's height and/or width in pixels:
-height <tile plot height in pixels> -width <tile plot width in pixels>All subsequent plots will use the supplied value for height/width, until a non-positive value is supplied as a subsequent argument. At that point PAVE's default height/width will be used.
To view data for a layer other than Layer 1, first click on the dataset in the Dataset_popup for which you would like to view the other layers of data. Then under the Datasets menu, choose "Select Layer Ranges Matching Current Dataset". If the selected dataset has more than one layer, you should see a window with sliders for the highest and lowest layers to use. Set these both to the layer that you would like to see (i.e. they should have the same value). You can then draw a plot with any of the standard plot types from the Graphics menu. Note that all formulas that refer to the selected dataset will be changed to refer to the new layers.
To view a vector plot, first load and select the data set that contains the vector data. Let's assume that this is wind data for this example. Next, click on each of the vector "species" in the species list for the file (e.g. UWINDa and VWINDa) to add them to the formula list. Then, paste a line like this into the window from which you started PAVE (i.e. PAVE's standard input):-vector UWINDa VWINDaThis will cause PAVE to draw a basic vector plot. By default the plot will appear with fixed length vectors. You can make the vectors scaled by their size using the Configure window for the vector plot - click on "Scale Vectors".If you are doing a vector plot from a script, you must enter the following commands before the -vector command:
-s UWINDa -s VWINDa
You can plot a variable in the background behind the vectors of a vector plot (but the other variable must be on the same grid). For example, if you loaded in a temperature data set for the same grid that the wind data is on, you can paste a line like the following into PAVE's standard input:-vectorTile TMPRh UWINDa VWINDaand you will get a plot with wind vectors in the foreground and color temperature data as tiles in the background. A more common use might be to plot wind speed in the background like this:-s UWINDa -s VWINDa -s "sqrt(UWINDa*UWINDa+VWINDa*VWINDa)" -vectorTile "sqrt(UWINDa*UWINDa+VWINDa*VWINDa)" UWINDa VWINDaThe first lines add the formulas for the scalar wind compenents and the wind speed to the formula list, and the last line draws the plot. This way you can show wind direction with fixed length vector and wind speed in the background.Note that you don't have to "type" the lines into standard input - you can copy and paste them with your X-windows system (with the middle mouse button if you're using xterms).
In versions prior to 1.6, PAVE used an algorithm to "thin" the vectors displayed on a plot so that the plot looked nice. However, some users found this limiting / confusing. In version 1.6, all vectors are displayed by default, but a command line argument is now available for plotting every n vectors.
To view a vertical cross section of data using the Tile Plot, first select the dataset in the Dataset List for which you would like to view the cross section. Then under the datasets menu, choose "Select Layer Ranges Matching Current Dataset". You should see a window with sliders for the highest and lowest layers to use. Set these appropriately depending on which layers you want to see. To see a vertical cross section, the lowest and highest should be different layers (as opposed to just plotting a horizontal cross section - in that case the min and max layers are set to the same value). [Note that you can also select a layer range for a formula using the corresponding options under the Formulas menu.]After selecting the layers you want to see, type a statement of the following form into PAVE's standard input:
-subdomain 80 20 80 90Here the arguments to -subdomain are: x1 y1 x2 y2 to define the region to be selected. This will cause the data where x = 80, and y is between 20 and 90 to be selected. To see this region on the screen, you can choose "Select Regions of Interest Matching Current Dataset". A window showing the domain will come up. Alternatively, you can select the cells with the mouse, but this gets difficult when grid cells are small and you want to select a very precise area.Now that the layers and region to be plotted are selected, you need to set the cross section type. Under the Graphics menu, choose "Set Tile Plot Cross Section Type" and you will see a submenu of X, Y, or Z cross sections. To make a plot for the above example choose "X Cross Section" (remember this by noting that x is constant). Next, draw the plot with a formula using your dataset by choosing "Create Tile Plot" from the Graphics menu, and you will see the plot of that cross section. Currently, you cannot draw vectors on vertical cross section plots.
This is an abbreviated combination of the previous two questions (viewing vector plots and viewing a vertical cross section). In summary:On a vertical cross-section plot of vector data, the arrows displayed are actually showing horizontal direction (up for North, down for South, left for West, and right for East). For more information on vector plots in general, see the question about viewing vector plots.
- Load and select a data set that contains vector data
- Click on the variables you want to use for the vector plot in the species list (e.g.
UWINDa, VWINDa
)- From the Datasets menu, choose "Select Layer Ranges Matching Current Dataset"
- Set the sliders to the highest and lowest layers for which you want to see a cross section.
- Select the single row or column to plot either by typing
-subdomain xmin ymin xmax ymax (note that either xmin=xmax or ymin=ymax for a vertical cross-section) into PAVE's standard input- Choose "Select Regions of Interest Matching Current Dataset" from the Dataset menu to visualize the cross section you'll be viewing
- Under the Graphics menu, pull down "Set Tile Plot Cross Section Type", and select X Cross Section if xmin=xmax, or Y Cross Section if ymin=ymax
- For a vector only plot, type a line of the form -vector UWINDa VWINDa into PAVE's standard input; for an example of a vector plot with a tile background, type -vectorTile tile_formula UWINDa VWINDa
To scroll only one step in any of the sliders used in PAVE (e.g. for the Hour in the animation window, or the # Tiles on the configure window), first click on the slider itself to select it, then use your left or right arrow buttons to scroll one step up or down.
If you are running on a Sun whose OS has recently been upgraded, you may experience problems with PAVE's font settings. You may see messages like the following:Warning: Unable to load any usable fontset Warning: Cannot convert string "-dt-interface system-medium-r-normal-m*-*-*-*-*-*-*-*-*:" to type FontList Warning: Cannot convert string "-dt-interface user-medium-r-normal-m*-*-*-*-*-*-*-*-*" to type FontSet Warning: Unable to load any usable fontset Warning: Cannot convert string "-dt-interface user-medium-r-normal-m*-*-*-*-*-*-*-*-*:" to type FontListIf this happens, in your .Xdefaults file, add the following lines:
EDSS_Pave*background: antiquewhite EDSS_Pave*foreground: black EDSS_Pave*geometry: +175+150 EDSS_Pave*fontSet: -b&h-lucida sans-medium-r-normal-*-*-*-*-*-*-*-*-* EDSS_Pave*fontList: -b&h-lucida sans-medium-r-normal-*-*-*-*-*-*-*-*-* Browser*fontSet: -b&h-lucida sans-medium-r-normal-*-*-*-*-*-*-*-*-* Browser*fontList: -b&h-lucida sans-medium-r-normal-*-*-*-*-*-*-*-*-*This should do the trick. Note: you will either need to log out and log back in again, or do an xrdb ~/.Xdefaults, in order for these changes to take effect.
> Hi: > Assuming that mean would provide average I tried and > found that it does not work, The error is 'a formula must > produce a grid of data' It appears that PAVE is intending to > generate a number rather than averaging each grid cell in time. > I a m using the data consisting of 24 hr extract as xymap*. > Can you provide any explanation for the following mean, > sum, mint, and maxt which are part of PAVE formulas? > ThanksThe operators you mention produce a single number calculated over the currently selected levels, rows, columns, and time steps for the given formula. The version of PAVE you have (PAVE 1.4beta or earlier) expects to always calculate an array of data to make a plot - so if your formula is something like mean(O3a), you get that message. If the formula is mean(O3a)/NO2a, you will get a plot.
Subsequent versions of PAVE changed how this is handled. If you make a "plot" of mean(O3a), PAVE will now calculate the result and display it in the PAVE message window along with information about the currently selected domain from which that number was calculated.
Here is what the operators you mention above specifically do, along with a number of other operators which also return a single number:
where "currently selected domain" includes the currently selected rows, columns, layers, and time steps. So the currently selected domain is bounded by
- mean
- average cell value for all cells in currently selected domain
- sum
- sum of all cell values in currently selected domain
- mint
- time step index with minimum value in currently selected domain
- maxt
- time step index with maximum value in currently selected domain
- minx
- x index with minimum value in currently selected domain
- maxx
- x index with maximum value in currently selected domain
- miny
- y index with minimum value in currently selected domain
- maxy
- y index with maximum value in currently selected domain
- minz
- z index with minimum value in currently selected domain
- maxz
- z index with maximum value in currently selected domain
- nrows
- number of rows in the currently selected domain
- ncols
- number of rows in the currently selected domain
- nlevels
- number of levels in the currently selected domain
(minx,miny,minz,mint)<->(maxx,maxy,maxz,maxt)The min and max operators behave a little differently:
Prior to PAVE version 2.1 alpha, there was a way (albeit cumbersome!) to get PAVE to average each grid cell in time. PAVE has a not well-known feature which allows you to specify an hour index after a variable name. For example, O3a:1 is the first hour of ozone. So, if you wanted to plot an each cell averaged in time over the first twelve hours of your data, you could enter and plot the following formula:
- min
- For each cell (i,j,k) in the currently selected domain, this calculates the minimum value for that cell over the currently selected time steps. In other words, the minimum value in cells (i,j,k,tmin..tmax).
- max
- For each cell (i,j,k) in the currently selected domain, this calculates the maximum value for that cell over the currently selected time steps. In other words, the maximum value in cells (i,j,k,tmin..tmax).
(O3a:1+O3a:2+O3a:3+O3a:4+O3a:5+O3a:6+O3a:7+O3a:8+O3a:9+O3a:10+O3a:11+O3a:12)/12
This is cumbersome and it also uses a lot of memory
We currently recommend that you download the latest version of PAVE, and use the -nhouraverage option, or from the Graphics menu, select the Create NHour Average Tile Plot Menu item.
You can read them, however this is only through a workaround script provided with the PAVE distribution in the scripts directory. The script is called decterm, and its contents are included here. You will need to modify it slightly in order to use it, according to the instructions at the top of the file.
##!/bin/ksh # # decpave - run PAVE on a dec # # Use this script if you want to run PAVE on a DEC alpha while # reading data on a remote machine. There is a bug in the code # which prevents PAVE from successfully launching the remote # processes necessary to read data elsewhere. This script # (which "wraps" around the pave script) takes care of launching # those processes for you. # # You will need to modify the following 6 lines to match your # remote machine name, remote login name, complete path # names to the remote visd and busd executables, local pave # script location, and complete path name to your local # busMaster executable. Please see the PAVE documentation # if you need additional information on how to set up to # read data from remote machines. # REMOTEMACHINE=flyer REMOTELOGIN=thorpe REMOTEVISD=/usr/local/edss/framework/EDSS/unicos9_TS/bin/OPTIMIZE/visd REMOTEBUSD=/usr/local/edss/framework/EDSS/unicos9_TS/bin/OPTIMIZE/busd PAVE=/usr/staff/thorpe/pave/scripts/pave BUSMASTER=/usr/staff/thorpe/pave/OSF1_alpha/bin/OPTIMIZE/busMaster # $BUSMASTER > /dev/null 2>&1 & BUS_PID=${!} grep `hostname` /etc/hosts | grep -v '#' | head -1 | awk '{print $1}' | read SBUSHOST sleep 3 SBUSPORT=`cat /tmp/sbus_port_$USER` rsh -l $REMOTELOGIN $REMOTEMACHINE env SBUSHOST=$SBUSHOST SBUSPORT=$SBUSPORT $REMOTEVISD & rsh -l $REMOTELOGIN $REMOTEMACHINE env SBUSHOST=$SBUSHOST SBUSPORT=$SBUSPORT $REMOTEBUSD & $PAVE "$@" echo kill $BUS_PID kill $BUS_PID
If you don't like the default fonts used by PAVE, you can set your own fonts by putting lines like this in your ~/.Xdefaults file:
EDSS_Pave*fontList: -*-lucida sans typewriter-*-r-*-*-14-*-*-*-*-*-*-* EDSS_Browser*fontList: -*-lucida sans typewriter-*-r-*-*-14-*-*-*-*-*-*-*The second line sets the font for the file browser used by PAVE. After adding these to ~/.Xdefaults, you must either logout and log back in again or enter xrdb ~/.Xdefaults, then restart PAVE for these changes to take effect.
If you get a segmentation fault when running PAVE, but the super-user and the owner of the PAVE directories can run successfully, there is a likely file permission problem. Try changing the permissions of the .pave_exe.pave_usage.log file in your installation directory to be read/write for everyone. For example, on the Sun platform, this can be accomplished by
cd PAVE_DIR/SunOS5_sparc/bin/OPTIMIZE chmod 666 .pave_exe.pave_usage.log
There is a problem with PAVE's Export to netCDF feature in PAVE versions prior to 1.5. If you export a formula more complex than a single species to netCDF, PAVE names the variable in such a way that it can't read the exported dataset back in. You may be able to read the dataset if you successfully update the variable name in the netCDF header. If you are having this problem and are using a version prior to 1.5, please download the latest version of PAVE.
The UAM-V documentation specifies that the dates in coarse grid AVERAGE and INSTANT files are Julian days. However, in some cases, these files have been generated with YYMMDD format instead of YYDDD format. Some versions of PAVE will not visualize these files if the date format is not YYDDD and an error message in the form oftime must be in the range 00:00:00 1/1/1970 to 03:14:07 1/19/2038is printed. Ways to work around this include: convert the file to ASCII, change the date to YYDDD, then change it back to binary; or if you want to look at OTAG data, try getting xymap (low level ozone) files for the scenario(s) of interest. A workaround for this problem is implemented in PAVE 1.5. Please download the latest version of PAVE if you are having this problem.
You should set theFIND_GRID
flag in UAM-V meta files only for fine grid average and instantaneous files. The purpose of this flag is to account for the extra layer of grid cells in thex
andy
dimensions that exists in these files. TheFINE_GRID
flag should not be set for fine grid meteorology files.
A new example has been put in the user guide. See PavveManual.html#UTMMetaFile. Make sure theUTM_ZONE
followsDX
andDY
.
The web site http://www.perry.com/resources.html has links to MPEG players.
First, you must select the cell(s) of interest, then you can create the plot. Select the cell(s) of interest by choosing Select Regions of Interest Matching Current Dataset (or Formula) from the Datasets or Formulas menu, or you can issue a command of the following form to PAVE standard input:-subdomain <xmin> <ymin> <xmax> <ymax>Please see PaveManual.html#Subsetting for more information on subsetting. Once you have your subdomain of one or more cells selected, you can choose Create Time Series Line [or Bar] Plot from the Graphics menu.
- Select the layer of the variable you want using the Formulas... Select Layer Ranges Matching Current Formula menu item (or use the -levelRange <levelMax> <levelMin> command line argument).
- Select the single x/y cell of the variable you want using the Formulas... Select Regions Of Interest Matching Current Formula menu item (or use the
command line argument).-subdomain <xmin> <ymin> <xmax> <ymax>
- Select the time range of the variable you want using the Formulas....Select Time Range of Current Formula menu item (or use the
command line arguments).-tinit <initial time step>
-tfinal <final time step>
- Choose Export...Tabbed ASCII to save this data to an ASCII file which you can read in using a spreadsheet.
The PostScript format saved to by PAVE is simply a pixel map, so it doesn't actually have the drawing commands in it to provide good resolution on a printer. However, one workaround you could try is making your image huge. This would provide better resolution on a printer.You can resize a PAVE plot window interactively, or you can control the exact size of an image (height and width) using PAVE command line arguments -height and -width. If you'd like to make an image really really huge (bigger than the screen, for example), you'd need to use this method. See the PAVE documentation at PaveManual.html#Scripting for further information on the -height and -width command line arguments.
In versions prior to 1.5, PAVE would crash if the PRINTER environment variable was not defined. Version 1.5 fixes this problem.
If you get an X Error such as BadDrawable when creating a plot in a script it may be due to a timing error. e.g. this occurred with the following script:... -titleString "Layer 1 VOC to NOx Ratio" \ -subTitle1 "OTAG 1988 Basecase D" \ -subTitle2 " < 4 = VOC limited, > 15 = NOx limited" \ -gtype tile -saveImage MPEG /ssa/modeling/uamv/post/ratio88b.mpg \This is due to a timing problem. You can correct this by placing:-system \"sleep 5\
in between the-gtype tile
and the-saveImage
. This gives the plot time to draw before saving it.
In PAVE version 2.1 alpha, it is possible to compute nHour averages using the-NhourAverage
command line option, or from PAVE's main GUI select the Graphics menu item and then select the menu Create N-Hour Average Tile Plot.Prior to PAVE version 2.1 it was possible to do this with PAVE, but the syntax was currently difficult. Here is an example of a formula to compute a six hour average:
(O3a:1+O3a:2+O3a:3+O3a:4+O3a:5+O3a:6)/6For versions prior to PAVE version 2.1 we recommended that you preprocess the data with a program external to PAVE and then use PAVE to view the results. EPA's SCRAM site at http://www.epa.gov/scram may have such a utility.
Note that the example below should not occur with PAVE version 2.1 or later. If the file .pave_exe.pave_usage.log is not writable by the user running PAVE, then versions of PAVE prior to 1.5 will crash, as in this example from a Sun:pave Starting up the software bus... Package for Analysis and Visualization of Environmental data PAVE v1.4.2 15 Dec 1997 12:12:57 For further information on PAVE: Copyright Info: type -copyright in PAVE's standard input Usage: type -usage in PAVE's standard input User Guide: http://www.emc.mcnc.org/EDSS/pave_doc/index.shtml FAQ: http://www.emc.mcnc.org/EDSS/pave_doc/Pave.FAQ.html Email: pave@emc.mcnc.org /env/apps/edss/subsys/frmwk/scripts/pave[531]: 28068 Segmentation FaultTo correct this problem, the person who installed PAVE must dochmod a+w $EDSS_DIR/$EDSS_ENV/bin/OPTIMIZE/.pave_exe.pave_usage.logBetter error reporting for this situation is implemented in version 1.5.
On some Sun machines, you may get an error such as the following when running the mpeg_play that comes with PAVE:ld.so.1: mpeg_play: fatal: libX11.so.5.0: can't open file: errno=2 KilledThis occurs because mpeg_play was compiled on a computer with access to libX11.so.5.0. If this is not available on your system, then mpeg_play may not run. However, you can download mpeg_play off the internet and build it to run on your system. The web site http://www.perry.com/resources.html has links to mpeg_play and other MPEG players.
The way images are saved in PAVE is by grabbing it off of the X-windows display (after which point it is saved to an XWD formatted image and then converted to gif or another format). Therefore if there is another window obscuring all or part of the image while it is being saved, that part of the other window will be saved instead.Thus, if you are exporting animations or otherwise saving images in PAVE, the window of interest must be in the foreground and should not be obscured by any other windows during the time that the images are captured. When saving an animation, the images are first captured, and then go through several conversion steps. It is OK to put the PAVE window in the background during the conversion steps (i.e. once it has finished animating the image).
You cannot combine two datasets with different grid resolutions in a formula in PAVE (e.g. to calculate a difference). Think of the datasets as matrices - you can't add or subtract two matrices of different dimensions and get a meaningful result. If you need to do something like this, use a program external to PAVE to aggregate the finer grid to the same dimensions as the coarser one or to interpolate the coarser grid to the same dimensions as the finer one, then load the resulting dataset into PAVE.
The Format field on a tile plot's Control...Configure menu's dialog box can be set to adjust the tile plot legend's number format. For example, if you set it to (in the C language's printf() routine's format syntax)%4.2e
(then hit return), the numbers on the legend will then look like:9.49e-02These configurations can be saved to a file, and used in future pave sessions. For example, if /home/user/config contains the single line:Legend_Format %4.2eand you start pave usingpave -configFile /home/user/configthen all of your plots will automatically use this notation. In fact, you might want to just alias pave to be pave -configFile <your configFile> if you always want this. Please see the Configuring Plots section of the PAVE User Guide at PaveManual.html#Configuring for further information on how to do this.
With PAVE version 2.1 Alpha, we have changed how we generate gif images, to avoid this problem. If you experience it with a previous version, we recommend that you download the latest version of PAVE.Prior to PAVE version 2.1 Alpha, when you displayed PAVE back to a PC using software such as Hummingbird's Exceed, a problem can result when trying to create GIFs or MPEGs due to the number of colors available on the PC display. You may see a message in the PAVE window like:
Writing XWD image '/home/eyth/test.gif.xwd'... Converting '/home/eyth/test.gif.xwd' to GIF image '/home/eyth/test.gif'... imconv: /home/eyth/test.gif.xwd: XWD 24-bit images must be stored in 32-bit units imconv: Read failedFor versions prior to PAVE 2.1 Alpha, if you wish to capture images while displaying to a PC, bring up your PC's Display properties and set the Color Palette to use 256 colors. This problem does not occur when displaying back to UNIX machines.
If you're entering a value on the configure window (e.g. minimum or maximum) and the change isn't reflected in the plot, be sure to hit return after typing in the new value. This will cause PAVE to accept the new value and adjust the plot accordingly.
If you are using a display with other than 8 bit color (i.e. 256 colors), the mesh plot may not work. Many systems allow you to configure this display setting. On Windows, you can bring up the display properties window and on the Settings tab set the Color Palette to 256. On Linux, you can start X-windows with the command startx -bpp 8 .
We would love to add a number of features to PAVE, but unfortunately at the current time we are out of funds to use for PAVE development. If you or someone you know is interested in some of these features and has ideas about how to obtain funding to continue development, please contact us via email to the current maintainer, carlie@jyuarborough.comSome of the features we would like to add are listed below.
- Support CF-convention netCDF data
- Make PAVE a proper I/O API client,
Presently, it does "raw" netCDF operations, treating I/O API files as though it understood the format (it doesn't, completely ;-( ).
- Handle I/O&nbvsp;API time independent data correctly in formulas,
- Proper image-export facilities
Presently, PAVE does (potentially virtual) screen captures for images. It would be good to use something like libgd directly, for image generation and export.
- Plot observational data & compare with model data
DONE for pave-2.1 and later.
(This is being funded for development for PAVE release 2.1 Alpha)
There are many possibilities here - we can plot explicit points, or gridded observations. There are a several potential types of rendering including colored circles or textual numbers at observation sites, and contour lines showing the observations (with the first two being easier to incorporate). It is likely that once we have the ability to plot explicit points, we can use the software to view point source emissions data of various types.
- Improve scripting capabilities
All (This is being funded for development for PAVE release 2.1 Alpha)
PAVE capabilities (as are practical) should be available via scripts and standard input.
- Improved statistical capabilities
People often want to use simple statistics to assist with there data analysis (e.g. mean, std. dev.). It would be good if PAVE could produce these. In addition, people may want to slice the data in different ways to obtain these statistics (e.g. mean for each time step or for each vertical layer). There are also a number of commonly used statistics that deal with comparing model data with observations. We may want to examine the "tables" generated for OTAG for ideas for other typically used statistics.
- Optimize PAVE performance and memory usage
DONE for pave-3.0
PAVE performance, both CPU and memory related, can be improved in a number of ways. For example, loops can be reordered to reduce paging to disk, memory leaks can be plugged, and memory can be reused in some formulas.
- User interface improvements
The PAVE user interface could use a number of enhancements. Probably the most important of these is to make all plots accessible via the user interface. For example, vector plots, scatter plots, and time series plots with multiple lines are not currently available via the user interface. In addition, small usability improvements could include: an hourglass cursor when PAVE is busy, an indicator of which "mode" a PAVE tile plot is in (e.g. probing, zooming, time series), making changes to the min and max take effect without hitting return, giving windows more meaningful names, and many more.
- Add new types of plots and options for existing ones
Additional kinds of plots have been requested by users. Some examples include: vertical cross section plots where the size of the layers is proportional to actual layer size, vertical profiles, contour plots, flux plots, observational data plots described above, PIG plots, nested grid plots, adaptive grid plots, box & whisker plots. Also, making scatter plots internal to PAVE would help reduce the problems associated with transferring data to BLT and would provide additional flexibility.
- Improve usability of long formulas
Currently, long formulas are often difficult to use. This might be improved by providing some defaults for commonly used long formulas (e.g. VOC, TOC, wind speed). Allowing user-defined aliases for long formulas and hierarchical formulas (e.g. NOy - NOx) would be very useful. Allowing the user to specify that multiple parts of a formula refer to the same data set would reduce the complexity involved with long formulas (e.g. [NO + NO2]a where the a is applied to both NO and NO2).
- Improve use of map backgrounds
It would be useful to be able to plot multiple maps (e.g. state + counties, or counties + roads) using different colors and thicknesses as needed. Another possibility would be to allow backgrounds generated by packages such as GISs to be displayed - these might show roads, water, cities, etc.
- Increase configurability of plots
It would be useful in some cases to allow users to define the cutoffs between the colors plotted (currently PAVE makes each bin of equal size from the min to the max). Another alternative might include assigning bins according to percentiles. Additional configuration options could be added to vector plots wrt the density of the vectors plotted.
- Rework color usage
We might use the colors allocated by netscape so the two packages do not fight for colors, we could prevent allocation of colors that are not actually being used, and provide the user with the option of a private color table so that PAVE is not at the mercy of other applications when allocating colors. Also, we could improve the options for black and white plots by adding patterns to the existing shades of gray.
- Improve plot labeling & layout
The density and location of grid cell numbering on tile plots and in the domain selector could be improved. Also, the legend could be outlined in black to set off any white or light values and be positioned relative to the size of the legend labels. The size of tile plots could be made user configurable, and the aspect ratio preserved when the plot is manually resized. Data plotted on time series plots could be labeled more clearly.
- Improve Data Import / Export capabilities
(This is being funded for development for PAVE release 2.1 Alpha)
It may be possible to include additional readers for PAVE. Also, enhancements of the data export facility would be very useful. For example, one might want to create a new data set out of components several other data sets, or from the result of several complex formulas. For this, PAVE would need to allow multiple formulas to be selected for export, and allow the renaming of variables in the output dataset (e.g. call a variable NOy instead of the long formula used to calculate NOy).
- and many more...
Return To PAVE Users Guide
$Id: index.html 77 2018-01-18 15:29:37Z coats $