Panoply is a Java application which plots geo-gridded arrays from netCDF, HDF and GRIB datasets. Slice and plot specific latitude-longitude, latitude-vertical, or time-latitude arrays from larger multidimensional variables. Combine two arrays in one plot by differencing, summing or averaging. Plot lon-lat data on a global or regional map (using any of over 75 map projections) or make a zonal average lineplot. Overlay continent outlines or masks on lon-lat plots. Use any CPT, GGR, PAL, or ACT color table for scale colorbar. Save plots to disk in GIF, PDF, PNG or PS form. To be plotted by Panoply, dataset variables must be tagged with metadata information using a convention such as CF.
What is new in this release:
- Bugfix: Line plots could be initialized incorrectly if longitude variable present but longitude not an explicit dimension of the plotted variable.
- Refactored scale method (i.e., scalar vs. log10) handling throughout.
- Allow for log axes on either or both axes of line plots.
- Alternative choices of which map plot gridlines are labeled, if labeling available for projection.
- Bugfix: Horizontal line plot window layout changes when second var added.
- Bugfix: Possible index error when initializing for line plot gridder if var is 1D.
- (MacOS) Use Java 9 Desktop handlers if running that Java version.
- Bugfix: (macOS/Java 9) Checkbox-menu-items double-fired if invoked via meta keystroke.
- Better initializing of scale min and max for line plots if data min = data max.
- Library: Updated GISSmap to v. 2.1.5.
- Library: Updated netCDF-Java to v. 4.6.12 (snapshot).
What is new in version 4.8.7:
- Library: Updated netCDF-Java to v. 4.6.11 (final).
- Library: Updated GISSmap to v. 2.1.3.
- Bugfix: Focus listener on scale min-max text fields not responding.
- Bugfix: Click-for-info outside auxiliary 2D grid (e.g., swath data) bounds might report an edge cell info.
- Bugfix: File(s) appended as options in command-line launch of Panoply were not opened.
- Bugfix: Top Y-axis label of lon-lat zonal line plots was clipped.
- Allow lon-lat map plots to use a third overlay.
- Some re-organization of lon-lat map preferences.
- Bugfix: Possible confusion if a projected-grid dataset included multiple grid mappings.
- Bugfix: Some trajectory variables not recognized.
What is new in version 4.8.4:
- Bugfix: Contour line rendering failed to obtain tick values.
- Bugfix: Validating degrees east or north in coordinate variable units attributes.
- Added .ncdf to list of recognized netCDF filename extension.
- Code de-linting and minor optimizations.
What is new in version 4.6.2:
- Scale colorbar's border stroke now scales with plot size.
- Added left and right footnote options to plot label controls for, e.g., including credit info.
- Added ability to specify formatting for min-max footnote values different from scale tickmark format.
- Library: Updated Apache Commons Lang to v. 3.5.
- Added MP4 (via JCodec library) to choices for exporting animations.
- Library: Updated GISSmap to v. 1.8.4.
What is new in version 4.6:
- Improved window-size management for Sources and Help windows in multi-display set-up with different display sizes.
- Improved window management when exporting display via X11.
- Library: Updated slf4j to v. 1.7.21.
- Library: Updated netCDF-Java to v. 4.6.6.
- Bugfix: Could not create combination plot if second var was on reduced-horizontal grid.
- Bugfix: Lat-, lon- and time-vert plots always initialized with scalar vert axis, ignoring preference setting.
- Bugfix: KMZ plot exports included border even when de-selected.
- Implemented zooming (in, out and drag) for all non-lon-lat plot types.
- Re-organized layout of scale and grid controls for all plot types, adding axis range controls in cases where they were not previously available and adding menu commands to swap and reset axis range bounds.
- Better handlong of fill and valid range attributes for unsigned int variables when expressed as negatives.
- Added preference to set whether Y-axis orientation of generic 2D plots is positive up or down.
- Watch for "double enhanced" coordinate variables when extracting CDL text to show in sources info panel.
- Added support for cylindrical equal-area projected lon-lat input grids.
- Hairlines added to crosshairs cursor.
- Bugfix: Uninterpolated generic 2D plot could be blank if log-10 axis selected and axis had negative endpoint.
What is new in version 4.5.1:
- Bugfix: Plot title too low if subtitle also present.
- Bugfix: (OS X) Crash at launch if JRE not found in expected location.
- Further improved recognition and handling of lon-lat data using 3D auxiliary grids.
- Bugfix: Click-for-info on non-lon-lat 2D plots had redundant margin offset.
- Bugfix: Wrong coordinate var might be reported if correct var's name did not case-wise match dimension name.
What is new in version 4.5:
- Bugfix: Speckling effect in interpolated plots of data on reduced horizontal grid.
- Click-for-info now implemented for plots based on data on reduced horizontal grid.
- Data table tab panel now displays values for data on reduced horizontal grid.
- Added ability to plot ISCCP equal-area grid abased on similarities to CF reduced horizontal grid convention.
- Bugfix: Possible axes swap for swath data in HDF-5 datasets if using unnamed dimensions of equal length.
- Refactored variable coordinates analysis to reduce redundant code and to improve detection of georeferencing when not reported by NJ library code.
- Bugfix: CPT color tables with unparseable color data were not rejected, which caused later trouble when trying to use them.
- Revised handling of colorbar tick size menu choices.
- Contour label text scales with plot size similarly to other text.
- Bugfix: Possible (silent) null pointer exception when using link dialog with a combination plot.
- Thoroughly rewrote line plot code to better display data with a large number (> 1000) of steps on the plot axis. Implemented Ramer-Douglas-Peucker simplification for the case of there being a very large number (> 10000) of steps.
- Library: Updated netCDF-Java to v. 4.6.5.
- Library: (OS X) Updated Java OS X launcher to March 16 Infinite Kind appbundler commit.
- Bugfix: Gridding bounds did not reset when toggling from zonal average plot to a regional map plot.
- Implemented additional buffering to reduce plot redraws and improve interface response.
- CPT color table constructor uses min and max colors for below-min and above-max outliers iff no outlier colors defined in file.
- Bugfix: Floating-point error of order 1E-8 when interpolating between four points with identical value.
What is new in version 4.4.3:
- Bugfix: "All files" filter not working in open-file chooser for non-OS X systems.
- Bugfix: Localization problem when saving extra map projection parameters to preferences.
- Library: Updated netCDF-Java to v. 4.6.4.
- Bugfix: Grid labels for generic 2D displayed default values even if user chose alternative units.
- Additional ability to detect data on auxiliary lon-lat grid even if NJ library failed to dtect a coordinate system.
- Bugfix: Possible silent failure to report presence of variables in HDF-5 datasets if they used unnamed dimensions.
What is new in version 4.4.2:
- Refactored filechooser construction and (OS X) replaced JNI/libpanoply native library with more general JNI/libgiss.
- Added control to change data table display row and column titles from grid value to grid index.
- Bugfix: Display of 1D data table did not respond to flip-L/R control.
- Display of 1D data table modified to match vertical vs horizontal plot axis orientation.
- Improved handling of lon-lat data using 3D auxiliary grids.
- Added tests for data axes that are not monotonic, and therefore not suited to be plotted by Panoply.
- Library: Updated GISSmap to v. 1.8.3.
What is new in version 4.2.2:
- Bugfix: Vertical axis controls not visible in grid controls tab for lat-vert and lon-vert plots.
- Library: Upgraded Apache Commons Lang to v. 3.4.
- Added controls and prefs to select stroke style for map plot outline overlays.
- Added long-dash, dot-dash and mixed-dash patterns to stroke style choices.
- Library: Updated netCDF-Java to v. 4.6.2.
- Bugfix: Handling of overlay weight > 100 if overlay is a mask.
- Added ability to read azimuthal equidistant grid mappings for lon-lat data if tagged using CF convention.
- Allow grid mapping name "rotated_latlon_grib" for rotated-pole projected grid.
- Library: Updated GISSmap to v. 1.7.3.
What is new in version 4.2:
- Converted find feature in sources window from a modal dialog to a text field in the window layout.
- Bugfix: Animation export might fail with bad compressor key for QuickTime with quality 100%.
- Variable "slicer" rewritten to omit pop-up menu widget if dimension is overly long (i.e., > 1200 steps).
- Bugfix: Test for correct shape of auxiliary lon-lat coordinate bounds variable missed a possible false case.
- Bugfix: Time-date formatter mysteriously switching relative time units with explicit UTC timezone to display as "Antarctica/Troll" zone.
- Implemented plotting of lon-lat data on a 3D auxiliary grid for very specific cases of identifying metadata, notably the case of the third grid dimension being explicitly identified as "band" (e.g., a satellite sensor wavelength).
- Added time-vert plots.
- Refactored grid controls for all 2D plot types except lon-lat maps to minimize redundant code.
- Check for wraparound of lon-lat reduced horizontal grid to see if interpolation should cross "seam" between edges.
- Library: Updated netCDF-Java to v. 4.6.1 snapshot. This should allow for opening HDF-5 datasets that use huge attributes.
What is new in version 4.1.2:
- Added control and preference for size of grid labels on cylindric lon-lat map plots.
- Bugfix: Test for valid latitude extrema in lat-vert grid plot controls could silently reject good values.
- Bugfix: Command-line options were ignored.
- Bugfix: File chooser did not appear at launch even when required in preferences.
- Library: Updated GISSmap to v. 1.7.2.
- Either or both axes of generic 2D plots may be set to logarithmic.
- Refactored generic 2D, lat-vert, and lon-vert gridding and plotting to reduce redundant code.
- Remember Sources window layout between app uses.
- Library: Updated netCDF-Java to v. 4.5.5.
- Bugfix: Cases reported of a localization problem where conversion of numbers to/from text used a different decimal character.
- Bugfix: Create-plot dialog blocked if variable dimension name was reported null, as might occur in an HDF dataset.
What is new in version 4.1.1:
- Bugfix: Class cast error formatting when some relative-time axes values.
- Added control and preference for size of text labels on plot contour lines.
- Improved visibility of vector markings.
What is new in version 4.0.5:
- Eliminated zonal average grid style and weight as separate preferences.
- Additional options for formatting tick labels on time axes.
- Bugfix: Click-zoom on equirectangular map lon-lat plots silently failed if click point too close to pole.
- Library: Updated GISSmap to v. 1.6, allowing for use of shapefiles as outline overlays on lon-lat map plots.
- Bugfix: Dashed and dotted lines became solid when plot saved in PS format.
- Added simplistic find feature to Sources window when datasets panel is visible.
- Overly long labels and captions are clipped and an ellipsis appended.
- Combination line plots can be made if variables have an identical axis.
- Redesigned line plot controls to allow for specifying second stroke if comparing.
- Combination generic 2D plots can be made if variables have two identical axes.
- Bugfix: Open-file dialog at launch accepted all understood file types but would try to open color tables and overlays as datasets.
- Bugfix: Export as CSV or as labeled text was not coded to handle variables with less than two dimensions.
- Improved performance when exporting variable data as CSV or as labeled text.
- Show warning dialog for CSV or labeled-text export of large (> 20M elements) variable.
- Bugfix: Some plot control panels not laid out correctly on (some) Linux look-and-feels.
- This is the last version of Panoply that will support Java 6.
Java 6 or higher