Panoply netCDF, HDF and GRIB Data Viewer
Version 1.x History
Version 1.6.7: Released 2006-01-02.
- Bugfix: Mis-labelling of axes in lat-vert plots.
- Bugfix: Some controls not (dis)enabled when switching between global maps and zonal average plots.
- Array selection control uses JSpinner.
Version 1.6.6: Released 2005-11-21.
- Bugfix: Selecting zonally-averaged latitude-vertical plots threw an exception which caused program to exit.
Version 1.6.5: Released 2005-11-03.
- Java 1.4 is now required.
- Revised layout of plot windows so that the two tab panels were separated.
- Updated to use netCDF-Java 2.2.10 and associated libraries (and this is why Java 1.4 is required).
- Updated to use iText 1.3.4 Java-PDF library.
- Replaced all Graphics.drawString usage with calls to a our own method which uses drawGlyph because the iText PDF library crashed when used with the Java 1.4.x on Mac OS X.
- Moved acknowledgments from splash window to their own window due to length.
- Portions of splash window may be double-clicked to obtain further info from another window or via web browser.
- Bugfix: Zonal averages calculation omitted one column.
Version 1.6.4: Released 2005-09-29.
- Enabled opening of non-local datasets by selecting "Open Location" in File menu and entering a URL.
- Implemented use of DefaultEditorKit to enable cut, copy and paste in text components. (Note: Does not work in Dialog text fields for Java 1.3 on OS X. Not yet tested on other platforms.)
- Hacked doLayout routine in Datasets and Plot windows to explicitly prevent user resizing windows less than some minimum size.
- Bugfix: Save to PDF ignored preferences and always converted grid opacity to line weight.
- Rewrote menu creation to use strings from localizable properties.
- Updated to use iText 1.3.3 Java-PDF library.
- Bugfix: Some checkable items in Plot menu not updating correctly.
Version 1.6.3: Released 2005-07-18.
- Bugfix: Colorbar Browser did not resize properly when switching from colorbar with small number of entries to larger.
- Bugfix: Printing from Colorbar Browser was not scaled properly.
- Bugfix: Printing of plots generated blank page.
- All printing centered on page.
- Bugfix: Southern boundary sometimes mishandled when doing interpolated lon-lat plots of regional data.
- Made plot Border no longer visible in saved or printed images.
- Alter Colorbar Browser display for colorbars without special outlier colors.
- Added menu in plot controls and in preferences for selecting grid spacing interval for lon-lat plots.
Version 1.6.2: Released 2005-07-06.
- Bugfix: Scale labelling was messed up.
- User may specify number of minor divisions per major division in plot scale.
Version 1.6.1: Released 2005-07-05.
- Colorbar Browser shows "sample scale" of selected color table in addition to "bin diagram".
- Added space-key listener to Colorbar Browser to toggle on/off display of color table entry numbers.
- Bugfix: Clear item in Edit menu had wrong name, causing collisions with Paste activity.
- Bugfix: Menu items not displaying alternative text if supplied by attached Action.
- Bugfix: Regional lon-lat plots showed inappropriate data for non-interpolated plots when plot bounds outside data bounds.
- When setting up menu items, use alternative getKeyStroke call that doesn't require prior knowledge of platform's meta key.
- Global map portion of lon-lat plots made a separate object.
- Bugfix: Switching to mask overlay when making regional lon-lat plot could cause app to crash for certain plot boundary choices (and possibly only on certain platforms).
- Bugfix: Discrepancy in how lon-lat and lat-vert plots assigned color for values exactly equal to a scale extremum.
- Rewrote lon-lat plot interpolated gridding scheme to minimize/eliminate pixel round-off error.
- Rewrote lat-vert plot gridding scheme (both interpolated and uninteroplated) to minimize/eliminate pixel round-off error.
- Colorbar menu items include mini-samples of the pertinent colorbar.
Version 1.6: Released 2005-06-13.
- Bugfix: Setting lon-lat plot overlay to "none" did not work if previous overlay was a continental outline.
- Bugfix: If default lon-lat plot was set to regional map, bounds were not set correctly when first drawn.
- Bugfix: Background color menu item not initiallized with correct setting.
- Added yet more global map projections for lon-lat plots: Denoyer Semi-Elliptical, Kavraisky V, McBryde-Thomas Sine #1, Raisz Armadillo, Wagner III, Wagner IX, and Winkel II.
- Enabled use of a third "optional" parameter for some lon-lat plot map projections, e.g., latitude of true scale in Equirectangular projection.
- Bugfix: Setting lon-lat plot overlay opacity to "0" was ignored if selected overlay was continental outline.
- Bugfix: Setting auto-fit of plot scale min/max to off blocked immediate response to some plot controls.
- Bugfix: Fixed an off-by-one pixel error in converting data grid to lon-lat plot map grid.
- Cubic curves in lon-lat mapping libraries replaced with Bezier quadratic curves.
- Saved image format choices now include PDF and PS. However, a portion of the plot remains a background raster image underlying the vector art.
- Printing revised to use vector drawing wherever possible.
- Enabled printing of Colorbar Browser window contents.
- Preferences now include default format (GIF, PDF, PNG or PS) for saving plots rather than previous PNG default.
- Bugfix: Slices could not be made on a RelativeTime variable dimension for offsets more than 231 units from the reference.
- Properties reader now reads XML files.
- Re-worked Colorbar classes internals.
Version 1.5.1: Released 2005-04-12.
- Bugfix: Label of "show/hide CDL" button in datasets window out of sync with window's display.
- Bugfix: Overlays browser frame not wiping past image when switching from an outline to a mask.
- Bugfix: Bad (String) cast in getting menu value prevented changing projection in overlays browser.
- Added Apian Globular II, Putniņš P1, Putniņš P1', Wagner VI and Hölzel projections to lon-lat map choices.
Version 1.5: Released 2005-04-09.
- Added zoom/regional plotting of lon-lat arrays. Implemented as an apparent projection called "Equirectangular (Regional)" with extra parameters.
- Displays special cursors when useful meta-key (combinations) pressed.
- Added menu commands for easy switching between plot controls tabs.
- Added Mercator, Gall, Miller Cylindrical, Ortelius Oval, Van Der Grinten I, Vertical Perspective, Wagner VII and Wagner VIII projections to lon-lat map choices.
- Projection manager class rethought and simplified, becoming ProjectionFactory.
- Various map classes substantively re-worked. Most now subclass from QuadSymmetricProjection or BiSymmetricProjection.
- Bugfix: Unnecessary (int) cast in drawing lon-lat grids disrupted smoothness of curves.
- AbstractProjection's handling of map borders re-written as (smooth) paths (e.g., ellipses and cubic curves). Map borders should be substantially more attractive.
- Enabled saving and printing of images in Overlays Browser window.
- Plot names (and window titles) now initially based on name of variable and dataset rather than simply called "Plot N".
- Bugfix: Memory leak caused program to completely lock up on about the tenth lon-lat plot created during a single session (or thirtieth lat-vert plot).
Version 1.4.4: Released 2004-12-17.
- No longer requires lon, lat and vert axes of netCDF Variable to be in a specific order, but they still need to be described per a recognized convention.
- Bugfix: Horizontal scaling of zonal average lon-lat plot data and axis was not in sync.
- Bugfix: Silent plotting failure if quantity units name existed but was zero-length.
- Bugfix: Plot window menu items in Window menu were broken.
Version 1.4.3: Released 2004-09-26.
- Bugfix: Some BufferedImages created with wrong image type, causing continental outlines and lon-lat grids to always draw at 100% opacity for some JVMs.
- "Datasets and Variables" window layout saved to preferences and re-implemented on next launch.
- Bugfix: Create-plot action was blocking any new plots after the first "combo" plot was made.
- Bugfix: Colorbars browser window did not resize if switching between bars with big difference in number of colors.
- Added preference to allow user to specify whether icons in Datasets window have textual labels.
- Added preference to allow user to specify whether open-file dialog appears at launch (Mac only).
- Added support for GCT color tables.
- Bugfix: Front window updates as appropriate if and when an additional colorbar or overlay file is opened.
- Added "no luck" dialog for attempts to plot data gridded too finely.
Version 1.4.2: Released 2004-08-24.
- Bugfix: Purely regional data was rendered with attempt to interpolate ungridded area.
- Bugfix: Background color popup menu action was messed up in Panoply 1.4.1.
- Bugfix: Some plot controls double-fired if invoked via menu command.
Version 1.4.1: Released 2004-06-21.
- Explicitly query UIManager for system look-and-feel. This should make additional implementations (e.g., WinXP) look more native than they have.
- Now uses Unidata's netCDF for Java library version 2.1.9.
- Bugfix: Checkmark icon in target menu caused exception on some OS/Java combinations.
- Created a distribution version specifically packaged for Windows.
Version 1.4: Released 2004-06-08.
- Now uses Unidata's netCDF Java Library v. 2.1.8.
- Bugfix: Treetable nodes in datasets display no longer collapse when switching between list-all and list-plottable modes.
- Bugfix: NCDimension didn't trap for declared-but-missing bounds variables.
- New Plot Defaults window (Preferences window on Mac OS X) and various preferences classes allow for choosing numerous initial plot settings before plot(s) actually created. Choices apply to all plots and are saved to disk for next Panoply use.
- Datasets window redesigned, simplifying it in general by moving some components to new defaults window, but then adding icon toolbar for invoking some actions. Added icon/actions for "clear", "clear all" and "show/hide CDL".
- Alt-click (option-click) on a plot brings up display of click location and of data value(s) at that location. Click again to remove it.
- Added map projection choice to continent overlays browser window.
- Better handling of error messages when trying to open invalid netCDF dataset, continent overlay, or colorbar file.
- Added controls for setting stroke color and x-axis direction in zonal average plots.
- Bugfix (Mac-only): Start-up thread synchronization problem. If launched in response to doubleclick on netCDF dataset icon on desktop, the open-file dialog no longer appears.
- Instead of creating default colorbars list from collection saved within Panoply application, instead use any and all found in "colorbars" directory in same location as the Panoply application. Only "grayscale" and "panoply" colorbars are still kept within the application.
- Instead of creating default continent overlays list from collection saved within Panoply application, instead use any and all found in "overlays" directory in same location as the Panoply application. Only modern Earth mask and outline are now kept within the application.
- Lon-lat grid may be marked on any global map projection, not just Equirectangular.
- Old NCVariable class renamed NCVariablePlottable, and rewritten to act as a 2D variable handler, either in lon-lat or in lat-alt.
- Broke NCTreeTableNode out of NCTreeTableModel, and then subclassed NCDatasetList, NCDataset, and (new) NCVariable from NCTreeTableNode.
- NCVariable uses Unidata's CoordinateSystem to determine whether a Variable is plottable and what kind of plots we know how to make from it. Data must use CF or similar convention in metadata describing the dimensions if they are to be correctly recognized.
- NCPlotAxis modified to use Unidata's CoordinateAxis and related classes to extract info about coordinate variables.
- Added lat-vert plotting, either from lat-vert variables or as slices from lon-lat-vert variables!
- Datasets window's treetable displays now indicates plottable variables with one of the following indicators: "lon-lat" (as before), "lat-vert", and "lon-lat-vert". If attempting to plot a "lon-lat-vert" variable, Panoply will ask if a "lon-lat" or "lat-vert" plot is desired.
- Uses UDUNITS library to detect Variable units and if recognized may offer small choice of display units. If combining Variables with compatible but not the same units (e.g., °C vs. ° K), will convert one or both as appropriate to output units.
- Scale colorbar on plot widened and now has some flexibility for handling case of palettes with less than maximum number of colors (i.e., ACT palettes with defined count).
- Use of ScientificFormat replaced with PrintfFormat. Scale, vertical dimension, and data table display allow for selection of a PrintfFormat for controlling display.
- Plot scale controls now include small choice of number of divisions in the scale. Minor ticks are also marked on the scale.
Version 1.3: A series of beta versions labeled 1.3 were circulated but not publicly released.
Version 1.2.1: Released 2003-06-16.
- Standardized panel margins and component spacing and gutters by using values in PGlobals.
- Added Kavraisky VII, Putniņš P3, Putniņš P3', Putniņš P5, Putniņš P5', Nell-Hammer, Wagner I, Putniņš P4', Winkel I, Wagner II, Wagner V, and Winkel Tripel map projections.
- Recoded/simplified Wagner IV projection.
- Starting plot caption now uses the variable's long name.
Version 1.2.0: Released 2003-05-29.
- Added printing!
- Bugfix: Display of data min. and max. were messed up in v. 1.1.7
- Rewrote messaging between components when new colorbars or continent overlay files are opened.
- Rewrote layout of scale and projection plot control panels (i.e., reduce reliance on null layout and improve flexibility).
- Added zonal average plotting!
- Added zonal average column to data table display.
- Several more plotting options now also available via plot menu.
- Bugfix: Non-Macintosh versions should now exit correctly when last window is closed.
Version 1.1.7: Released 2003-05-19.
- Added text field as alternative method of selecting a slice from a Variable with large dimension(s).
- Plot data separated from plot component class into new class.
- Rewrote messaging between components when variable slice is changed or interpolation toggled. Control messages data which messages plot.
- Added Plot menu option "Flip Scale Colorbar".
- Added Edit menu option "Clear" for closing and removing a selected dataset from the datasets list/window.
- Non-Mac version: Assigned a keystroke to the Interpolate menu item.
Version 1.1.6: Released 2003-05-10.
- Mac only: Double-clicking of colorbar files in desktop should now successfully add those items to Panoply's choices.
- Added "Continent Overlays" to Windows menu, allowing user to browse through the open choices.
- Use of "essentials.jar" no longer necessary as all support data files have been moved into the application's own jar file.
- Added a number of new sample colorbars.
- Bugfix: Round-off error in placement of scale tickmarks.
Version 1.1.5: Released 2003-03-20.
- Altered NCVariable to no longer use Variable.sliceMA method as that method is deprecated/obsolete in forthcoming netCDF Java 2.1 lib.
- Datasets and Colorbars items in Window menu given command-key assignments.
- Completed separation of Mac-specific initialization methods from main Panoply class into PanoplyForMac.
- Looks for standard_name attribute if a Variable is missing a long_name.
- Plot window resizeable. This should benefit users with small screens, and those who want to see more data in the data table pane.
- Bugfix: Problem in ScientificFormatter that could mess up the data table display.
- Dimension slice menus in plot panel rendered in smaller font.
Version 1.1.4: Released 2003-01-26.
- Bugfix: Fixed out-of-range error that could creep in during replacement of differencing variable if new variable had higher resolution.
- Revised layout of table data panels in plot window to fill all available space (and add flexibility when resizing, when we include that).
- Non-Mac implementation exits/quits when last visible window is closed.
- Non-Mac implementation now includes Close in the File menu.
- Bugfix: Altered all file opening handlers to honor File class rather than try a cheap switch to URL class. This fixes a problem on Windows which prevented opening colorbars and continents files.
- Recognizes and formats dimensions with units of absolute time.
Version 1.1.3: Released 2003-01-19.
- Added window minimize/iconify command to menubar (Mac version only).
- Bugfix: Moved Mac-specific handlers out of main class and into new PanoplyForMac class so that launch on Linux, Windows, etc., would not fail on unfound class errors involving MRJ Toolkit calls.
- Moved some controls to reduce size of plotting window.
- Cleaner handling of plotting Actions controlled by both a window component and a menu item.
Version 1.1.2: Released 2003-01-14.
- All Datasets window content now wrapped in a scrollpane so we can get a more Mac-like look when on a Mac.
- Cleaned up Datasets window layout and improved response to resize.
- When handling relative-time units, NCDimensionMenus now recognizes three types of calendars used by many climate models: "noleap" (aka, 365-day), "all-leap" (366-day), and "360-day".
- When handling relative-time units, NCDimensionMenus now more flexible in parsing reference date, but must still be ISO-like.
- User may select a color to apply to continent mask or outline.
- Continent masks now use an invert checkbox, rather than a negative opacity, to flip to masking oceans.
Version 1.1.1: Released 2003-01-03.
- All colorbar classes now use color bin accessor methods in AbstractColorbar class rather than separate versions thereof.
- Thoroughly cleaned up positioning of controls in various windows with use of Box class. (And dropped use of JLabeledTextField and JLabeledComboBox.)
- Altered TreeTableModel and JTreeTable to allow for specified alignment of String columns; e.g., centering the plottable column in the Datasets window tabletree.
- Bugfix: NCTreeTableModel (and thence Datasets window) responded incorrectly to toggling of list-plottables vs. list-all if dataset had no plottables.
- Bugfix: Plotting hung if latitude or longitude dimension was single-valued. Arrays with such dimensions now treated as unplottable.
- Bugfix: Too much round-off of floating point values in some NCDimensionMenus (i.e., the array slice menus in plot windows).
- Added handling of Gregorian relative date/times to NCDimensionMenus.
Version 1.1: Released 2002-12-26.
- Tweaked column size-to-fit in JTreeTable to better handle tree column.
- Bugfix: Ugly text overwriting in datasets window detail pane.
- Bugfix: Plot wasn't appearing if Variable had a non-lon-lat Coordinate Variable and that CV didn't have a long_name.
- Bugfix: Whenever projection was changed, plotting ignored user-specified projection center and instead used (0,0).
- Altered naming of continent and colorbar files in menus.
- Added continent outline drawing (from .cno files), woo-hoo! This involves new ContinentsOutline class and methods in Projection class that understand the data.
- Re-organized contents of essentials.jar and of samples directory.
- Bugfix: Too much round-off was occurring in some plot window slice (Coordinate Variable) menus. This was particularly troublesome for any CV with integral values.
- Added min/max outlier labels in colorbars window.
- Window/View menu now includes list of all open plot windows.
- Static routines which track available windows, colorbars, and continents were moved out of globals class and into respective object classes.
- Bugfix: Wasn't honoring existing user-specified scale extrema when "always fit" was toggled from on to off.
- Added some use of JLabeledTextFields and JLabeledComboBoxes.
- Added ability to sum or average (in addition to differencing) when combining two Variable arrays in one plot.
- Bugfix: A re-used plot window would use prior incarnation's window size.
- Bugfix: When adding second (or later) Variable array to a plot window for differencing or other combination, window wasn't resizing in cases when it needed to do so.
- Added dialog to query user which Variable array to replace when trying to include one in a plot window that already has two.
Version 1.0: Released 2002-12-05.