2024.0

2024.0.03

Upgrade considerationWeather & Environment Standards

LCD-13437
The version of the thredds library was increased to 4.6.6.lcd-18. This fixes an issue with using the pom file of this library.

2022.1

2022.1.06

Bug fixWeather & Environment Standards

LCD-12822
Resolved an issue where a ConcurrentModificationException could be thrown when disposing of a TLcdNetCDFFilteredModel.

2021.1

2021.1.13

Bug fixWeather & Environment Standards

LCD-12284
Fixed an issue where the color of the arrow of a SIGWX cloud label was not changed when setting the cloud label border color. This issue happened when visualizing SIGWX clouds in a GXY view.

2021.0

2021.0

Upgrade considerationWeather & Environment Standards

LCD-11540
The TLcdNetCDFModelDecoder#discoverDataSources method now returns multi-band sources for data sources that are related. Previously, all sources were returned as single-band sources. This change required changing the return type to a list of ILcdDataSource instances, since the returned sources can now contain both TLcdNetCDFDataSource and TLcdNetCDFMultiBandDataSource instances. To return all sources as single-band sources as the TLcdNetCDFModelDecoder#discoverDataSources method did previously, set the multi-band creation of the TLcdNetCDFModelDecoder to MultiBandImageCreation.NEVER.

2020.1

2020.1.22

Bug fixWeather & Environment Standards

LCD-11805
Fixed an issue where world-covering datasets decoded with the TLcdNetCDFModelDecoder could be shifted along the longitude axis.

2020.1.12

Bug fixWeather & Environment Standards

LCD-11709
Fixed an exception when trying to visualize some NetCDF data sets. This exception occurred during the creation of a color map when the min and max data values that are estimated for that dataset are equal.

2020.0

2020.0.15

Bug fixWeather & Environment Standards

LCD-11485
TLcdGRIBModelDecoder sometimes couldn't decode GRIB files with longitude bounds of [0, 360]

Bug fixWeather & Environment Standards

LCD-11485
TLcdNetCDFModelDecoder sometimes couldn't decode GRIB files with longitude bounds of [0, 360]

2020.0

New featureWeather & Environment Standards

BUFR files containing World Area Forecasting System (WAFS) Significant Weather (SIGWX) data can now be decoded and visualized in Lightspeed and GXY views, and LuciadFusion WMS/WMTS/WFS services.

BUFR Lightspeed visualisation
Example of a BUFR dataset visualized in Lightspeed

For more details, see:

2019.0

2019.0

Upgrade considerationWeather & Environment Standards

LCD-10324
Added a dependency to a customized version of the thredds library, used to parse NetCDF and GRIB files.

2018.1

2018.1.11

Bug fixWeather & Environment Standards

LCD-10480
TLcdNetCDFFilteredModel now correctly handles the case where the applyDimensionFilter method is called with a filter that doesn't match any of the images. In that case, it now makes sure that no image is available in the model. The previous behavior was to do nothing (i.e. don't change the image returned by the model) when such a filter was encountered.

2018.1.07

ImprovementWeather & Environment Standards

LCD-10511
TLcdNetCDFModelDecoder: multi-band image detection now works more robustly.

2018.0

2018.0.11

Bug fixWeather & Environment Standards

LCD-10228
For some grib files, TLcdNetCDFModelDecoder couldn't decode some of its variables when specifying them using a TLcdNetCDFDataSource instance.

Bug fixWeather & Environment Standards

LCD-10220
TLcdNetCDFModelDecoder can now handle more files that are produced using the Panoply application from NASA.

2018.0.02

ImprovementWeather & Environment Standards

LCD-9054
TLcdNetCDFModelDecoder The logic that automatically combines variables for the creation of a multi-band image (e.g. northward and eastward wind) has been improved.

ImprovementWeather & Environment Standards

LCD-9762
The TLcdNetCDFModelDecoder now accepts files with extension .hdf, .h5, .he5 or .hdf5.

Bug fixWeather & Environment Standards

LCD-10011
TLcdNetCDFModelDecoder Resolved an issue where variables were incorrectly combined for the creation of multi-band images if they had very similar names. This fixes some problems introduced by the changes made in LCD-9700.

Bug fixWeather & Environment Standards

LCD-9700
The system property com.luciad.netcdf.cachedir can now be used to set the NetCDF cache directory. This directory is used e.g. for GRIB index files. Setting this property prevents issues with creating cache files in case the default chosen cache directory is non-writable. The system property can be set by providing it as a VM argument, e.g. -Dcom.luciad.netcdf.cachedir=<a-valid-path>. The directory provided in the system property will be created if it is not available.

2017.1

2017.1.01

Bug fixWeather & Environment Standards

LCD-9605
TLcdNetCDFModelDecoder would throw a NullPointerException for NetCDF files without a standard name property. This is now fixed.

2017.1

Bug fixWeather & Environment Standards

LCD-9443
Fixed a performance problem in TLcdNetCDFModelDecoder for NetCDF files that contain data with a large number of pixels.

Upgrade considerationWeather & Environment Standards

All API in the com.luciad.format.grib package has been deprecated. The NetCDF decoder offers superior support for GRIB and should be used instead.

2017.0

2017.0.01

ImprovementWeather & Environment Standards

LCD-9181
GRIB models decoded using TLcdNetCDFModelDecoder now expose the original GRIB metadata, see TLcdNetCDFModelDescriptor#getGRIBMetadata.

2017.0

ImprovementWeather & Environment Standards

LCD-8745
TLcdNetCDFGXYLayerFactory now makes it possible to easily create layers for NetCDF data.

ImprovementWeather & Environment Standards

TLcdNetCDFModelDecoder now also supports loading GRIB files. For GRIB files, it produces a model that is structured exactly the same way as a model from NetCDF files, making it possible to visualize it exactly the same way. This will also enable filtering on time/vertical or other dimensions for GRIB files. See TLcdNetCDFFilteredModel#applyDimensionFilter.

Bug fixWeather & Environment Standards

TLcdNetCDFModelDecoder: files that use a stereographic projection could not be decoded.

Upgrade considerationWeather & Environment Standards

TLcdGRIBModelDecoder, TLcdGRIB1ModelDecoder and TLcdGRIB2ModelDecoder have been deprecated. Better support for GRIB files has been added to TLcdNetCDFModelDecoder, including support for ALcdImage and filtering on time/vertical or other dimensions for GRIB files.

2016.1

2016.1.32

Bug fixWeather & Environment Standards

LCD-9053
TLcdNetCDFModelDecoder#discoverDataSources could return ILcdDataSource instances that can not be decoded.

2016.1.10

Bug fixWeather & Environment Standards

LCD-8583
For some files with bounds with a width of a bit more than 360 degrees, a wrong code path was triggered to shift the view -180 degrees. This is fixed now.

Bug fixWeather & Environment Standards

LCD-8572
TLcdNetCDFModelDecoder could show irrelevant warnings for missing coverage info data.

Bug fixWeather & Environment Standards

LCD-8524
Disposing a NetCDF model didn't always dispose of its resources. It could leave files open, or not clean up temporary files.

2016.1.09

Bug fixWeather & Environment Standards

LCD-8566
In rare cases, NetCDF files with a geodetic model reference had incorrect bounds, causing them to be painted at a different location than expected.

2016.1.03

ImprovementWeather & Environment Standards

LCD-7102
TLcdNetCDFModelDecoder now implements ILcdInputStreamFactoryCapable which lets you to provide input stream factories to the decoder. For example, you can now decode NetCDF data served from an OGC WCS web service by providing the input stream created by a WCS Client to the TLcdNetCDFModelDecoder.

ImprovementWeather & Environment Standards

LCD-7702
Added a new exception message for unsupported input files which have zero length axes.

ImprovementWeather & Environment Standards

LCD-7662
Improved wind data detection logic therefore more NetCDF files can be visualized with wind barbs.

2016.1.02

Bug fixWeather & Environment Standards

LCD-8273
The deprecated TLcdNetCDFFilteredModel#setFilterParameter method was not snapping the given interval to the closest possible interval value as it was doing it on v2015.1

2016.0

2016.0.05

ImprovementWeather & Environment Standards

LCD-7450
Added support for product definition template 15.

2016.0

ImprovementWeather & Environment Standards

It is now possible to decode one or more specific NetCDF variables out of a source file using a file:// URI with query parameters. This can be used to reduce load time when you only need a specific subset of variables out of a NetCDF source file that has many variables. For example, given the source file:///dir/netcdf.nc?variable=U&variable=V, the decoder decodes only the U and V components of wind, regardless of any other variables which may be present in the source file.

2015.1

2015.1.20

ImprovementWeather & Environment Standards

LCD-7412
NetCDF GXY painters are now using anti-aliasing.

2015.1.11

ImprovementWeather & Environment Standards

LCD-7177
Unknown datums are created with the name "Unknown" instead of empty string.

Bug fixWeather & Environment Standards

LCD-7207
Add obfuscation exception for some NetCDF packages to the proguard configuration file.

2015.1.07

ImprovementWeather & Environment Standards

LCD-7108
u and v components of WRF NetCDF files are displayed as wind barbs.

2015.1.04

ImprovementWeather & Environment Standards

LCD-6362, LCD-6875
Resolved several minor bugs while decoding a NetCDF file.

2015.1.02

Bug fixWeather & Environment Standards

LCD-7009
WRF NetCDF files support has been added.

2015.0

2015.0.12

Bug fixWeather & Environment Standards

LCD-6803
Data with mercator projection is now displayed on correct coordinates. "longitude_of_projection_origin" is taken into account while creating a mercator projection.

2015.0.08

Bug fixWeather & Environment Standards

LCD-6656
Fixed issue; icons are not displayed in 3D with a grid reference which has a unit of measure value different than 1.

2015.0

ImprovementWeather & Environment Standards

TLcdGRIBArrowIcon now doesn't paint an icon anymore when the "U_V" type is used and both GRIB values are 0.

ImprovementWeather & Environment Standards

TLcdGRIBGXYPainterProvider/TLspGRIBLayerBuilder: improved the default GRIB raster coloring: the used colors are now less obtrusive and more consistent.

ImprovementWeather & Environment Standards

The NetCDF Industry Specific Component adds support for decoding NetCDF files and visualizing them in a Lightspeed view or in a GXY view. For more details, see:
  • The NetCDF Developer's Guide
  • TLcdNetCDFModelDecoder to decode NetCDF files containing rectilinear grids with equally-spaced coordinates. The decoder follows the Climate and Forecast conventions.
  • TLspNetCDFLayerBuilder to visualize NetCDF models in a Lightspeed view.
  • TLcdNetCDFGXYPainterProvider to visualize NetCDF models in a GXY view.
  • GXY and Lightspeed samples in the samples.decoder.netcdf package.

2014.0

2014.0.09

Bug fixWeather & Environment Standards

LCD-5831
Prevent the decoder from marking GRIB bulletins with WMO headers as corrupt when bulletin support is turned off. The decoder will now correctly decode the first message in non-bulletin mode.

Bug fixWeather & Environment Standards

LCD-5828
Fixed decoding of GRIB bulletins containing custom message headers. The decoder will now look for recognizable patterns and otherwise ignore the header instead of assuming a fixed format.

2014.0.01

Bug fixWeather & Environment Standards

LCD-4375
Fixed column being wrongly discarded with wraparound tiles, resulting in an out of bounds exception.

2013.0

2013.0.02

Bug fixWeather & Environment Standards

LCD-3774
GRIB files containing non-multiple-of-2-bits data could cause exceptions during painting.

2013.0.01

Bug fixWeather & Environment Standards

LCD-3773
Fixed a possible NullPointerException when decoding GRIB data.

2013.0

ImprovementWeather & Environment Standards

The new TLcdGRIBGXYPainterProvider and TLspGRIBLayerBuilder classes allow visualizing all regular and multi-valued GRIB models in either an ILcdGXYView or ILspView. See the decoder.grib.gxy and decoder.grib.lightspeed samples for more information.

ImprovementWeather & Environment Standards

TLcdGRIBModelDecoder now has the ability to automatically create multi-valued models for relevant data (for example, wind). See TLcdGRIBModelDecoder#setMultiValuedRasterCreation.

Bug fixWeather & Environment Standards

TLcdGRIBNumericIcon didn't paint its text at the correct location.

Bug fixWeather & Environment Standards

LCD-2777
The default NCEP parameter tables now have the correct originating center id. This prevents invalid warnings from being triggered.

2012.1

2012.1.10

Bug fixWeather & Environment Standards

LCD-3565
The parameter value corresponding to the given internal value of a GRIB file is now calculated with a higher precision.

2012.1.08

Bug fixWeather & Environment Standards

LCD-3527
TLcdGRIBWindIcon is now rotated correctly when rotating the map and changing projections.

Bug fixWeather & Environment Standards

LUCY-3618
The GRIB1 model decoder now also supports ECMWF parameter tables. Remember that by default the NCEP parameter table will be used. See TLcdGRIB1ModelDecoder#addParameterTable to add other tables.

2012.0

2012.0.11

ImprovementWeather & Environment Standards

LCD-1409
Decoded models will no longer have a null reference.

Bug fixWeather & Environment Standards

LMAP-5892
TLcdGRIBWindIcon is now painted correctly: wind barbs for speeds above 100 knots are painted as multiple triangles instead of squares.

11.0

11.0.26

ImprovementWeather & Environment Standards

LMAP-5612
TLcdGRIB2ModelDecoder now supports PNG encoded packing.

ImprovementWeather & Environment Standards

LMAP-5614
The documentation on complex packing support has been improved.

ImprovementWeather & Environment Standards

LMAP-5613
TLcdGRIB2ModelDecoder now makes a better estimate of the number of bits required to load GRIB2 files with complex packing, resulting in less memory consumption.

11.0.16

Bug fixWeather & Environment Standards

LMAP-5707
TLcdGRIB2TileDecoder no longer throws an ArrayIndexOutOfBoundsException for tiles with 2 bits per value.

11.0.02

ImprovementWeather & Environment Standards

LMAP-5559
TLcdGRIB2ModelDecoder now supports complex packing with and without spatial differencing. Currently only general group splitting is supported (See GRIB 2 Table 5.4 for more details).

11.0.01

Bug fixWeather & Environment Standards

LMAP-5567
TLcdGRIB2ModelDecoder did not handle GRIB2 files which have adjacent rows stored in opposite direction correctly. This has been fixed.

Bug fixWeather & Environment Standards

LMAP-5473
The GRIB2 model decoder now throws an exception with a meaningful message when decoding a file with an unsupported grid definition template number.

10.1

10.1.01

ImprovementWeather & Environment Standards

The GRIB model decoders now have better detection of rasters that wrap around the globe.

10.1

ImprovementWeather & Environment Standards

TLcdGRIBModelDecoder now supports GRIB version 2.

Bug fixWeather & Environment Standards

LMAP-4616
Lucy GRIB painter used to be inaccurate in some regions. This has been resolved.

Bug fixWeather & Environment Standards

LMAP-4614
GRIB Bulletin model decoder can now decode GRIB1 files with alternative header structure.

Bug fixWeather & Environment Standards

LMAP-4605
GRIB bulletin model descriptor now contains model descriptors of all contained models in ModelTreeNode mode.

Bug fixWeather & Environment Standards

LMAP-4684
Decoded GRIB rasters now properly return unsigned integers for the internal values (ILcdRaster#retrieveValue and ILcdTile#retrieveValue).

Bug fixWeather & Environment Standards

LMAP-4697
Decoded GRIB rasters that wrap around the globe no longer leave a narrow vertical gap (typically right next to the meridian).

9.1

9.1

ImprovementWeather & Environment Standards

Exceptions that are thrown now consistently contain their root causes, if any.

ImprovementWeather & Environment Standards

The GRIB model decoders now support different sampling strategies for retrieving GRIB values from decoded rasters. Notably, it is now possible to let decoded rasters perform bilinear interpolation between samples.

9.0

9.0

Bug fixWeather & Environment Standards

LMAP-825
com.luciad.format.grib.gxy.TLcdGRIBRasterPainter now correctly rotates wind barbs and arrows if the map is rotated or warped.

8.2

8.2.02

Bug fixWeather & Environment Standards

LMAP-2963
com.luciad.format.grib.gxy.TLcdGRIBWindIcon now draws filled squares for wind speeds over 100 knots.

Bug fixWeather & Environment Standards

LMAP-2960
com.luciad.format.grib.gxy.TLcdGRIBWindIcon now draws correctly oriented wind barbs for GRIB data with a direction/strength parameterization.

8.1

8.1.01

ImprovementWeather & Environment Standards

LMAP-2701
OutlineSHPLayerFactory (sample code) used to use some deprecated code.

7.2

7.2.05

ImprovementWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDecoder now also accepts the extension "grib" in its method canDecodeSource.

7.1

7.1.17

ImprovementWeather & Environment Standards

The GRIB package now also supports Albers Equal Area projections.

7.1.16

ImprovementWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDecoder now supports multiple parameter tables with the same table version, distinguishing them based on the originating center ID and subcenter ID if required.

7.1.13

Bug fixWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDescriptor.getPeriodOfTimeP1 now returns a value that is a combination of octet 19 and 20 when the time range indicator is 10, while getPeriodOfTimeP2 and getTimeInterval return 0 in this case.

7.1

ImprovementWeather & Environment Standards

Added a new decoder com.luciad.format.grib.TLcdGRIBBulletinModelDecoder, for decoding GRIB bulletin files. The GRIB messages are concatenated in the bulletin files, with optional headers. They can be filtered based on these headers and on the model descriptors, references, and bounds.

7.0

7.0.16

ImprovementWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDecoder now puts better display names in the model descriptors of decoded models.

7.0.05

Bug fixWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBParameterTable no longer throws an ArrayIndexOutOfBoundsException when a parameter with index 255 is set.

7.0.02

Bug fixWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDescriptor now only considers the significant bits of the internal GRIB value in the method getActualValue, discarding any other spurious bits.

7.0.01

Bug fixWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDecoder now handles Grid Description Sections with the PV/PL field set to 0 (instead of the more correct value 255).

6.2

6.2.03

Bug fixWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDecoder now decodes the correct GRIB bounds, without extending them by half a pixel in all directions. This would cause problems for GRIB files that extend all the way to the north pole or the south pole. For consistency, TLcdGRIBTileDecoder now discards the last column and row of sample values, which are duplicated across tiles. The sample value in the top left corner of each pixel is used as the pixel's value.

6.0

6.0.08

Bug fixWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDescriptor now properly stores the level at which the parameter is defined.

Bug fixWeather & Environment Standards

com.luciad.format.grib.gxy.TLcdGRIBWindIcon has been corrected to draw the wind barbs on the left side of the arrow.

6.0.01

ImprovementWeather & Environment Standards

com.luciad.format.grib.ILcdGRIBConstants has been added, collecting all GRIB constants for generated models and processes, for parameters, and for levels and layers in a single location.

ImprovementWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBTileDecoder now supports numbers of packing bits that are larger than 16.

6.0

ImprovementWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDecoder now supports user-defined parameter tables. The new jar lcd_grib_resources.jar contains standard parameter tables that are supported by default, as well as a number of additional parameter tables that can be loaded by the user.

5.3

5.3.16

Bug fixWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDecoder now properly uses its input stream factory for decoding the raster data.

5.0

5.0.06

ImprovementWeather & Environment Standards

com.luciad.format.grib.TLcdGRIBModelDecoder.canDecode(String) now also returns true for compressed GRIB files.

ImprovementWeather & Environment Standards

com.luciad.format.grib.gxy TLcdGRIBGXYController now supports multi-valued GRIB values.