FIMEX

Fimex is a the File Interpolation, Manipulation and EXtraction library for gridded geospatial data, written in C/C++. It converts between different, extensible dataformats (currently netcdf, NcML, grib1/2 and felt). It enables you to change the projection and interpolation of scalar and vector grids. It makes it possible to subset the gridded data and to extract only parts of the files.

For simple usage, Fimex comes also with the command line program fimex.

Fimex is build around the Unidata Common Data Model version 1.

News

2015-10-26 fimex-0.60

grib-indexing with explicit ensemble data and earth figure

using etmerc instead of tmerc for transverse mercator, with proj 4.8.0

better check for simpleSpatial data

fixing missing value handling for grib-precision scaling

improve MPI-handling

output.config for fillWriter, allowing special selection of slices

ignore unused dimensions/coordinates inf fillWriter

detecting axes mismatch for vector-reprojections

2015-08-28 fimex-0.59.1

fixing bug sometimes no data when interpolating to many lat/lon points

2015-08-25 fimex-0.59

autoremoving unused dimensions when writing netcdf-files1) This change is not backward-compatible and might break commands used after fimex relying on all dimensions to be there. To regain the old behaviour, use a cdmWriterConfig.xml with autoRemoveUnusedDimension=“false”, e.g. --output.config=cdmWriterConfig.xml or see https://svn.met.no/viewvc/fimex/trunk/share/etc/cdmWriterConfig.xml?revision=1904&view=markup

require '-c fimex.cfg' to read fimex.cfg files

avoid double points on cross-sections corners

precision-scaling on grib-data to float-format uses rounding at 1/scale_factor instead of adding scale_factor/add_offset

allow pressure and air_pressure as standard_name

use subsetting of input data when interpolating to lon-lat points

giving about 20x faster response on cached local data

reducing data-transmission to <0.1% on opendap sources

enabling extractor to propagate subsetting

adding FIMEX_CHUNK_CACHE_SLOTS env-variable for better cache-control

2015-05-11 fimex-0.58.1

fixing problems with metgm-files

fix bug when changing both scaling and varName in NcML

avoid fetching multiple levels in fiXYcontents

2015-04-23 fimex-0.58

adding fiXYcontents script, listing content as horizontal 2d-fields

new vertical interpolation methods (different extrapolations)

linear_const_extra, linear_weak_extra, linear_no_extra

using linear_weak_extra for time-interpolation (only 1 timestep extrapolation)

adding FIMEX_CHUNK_CACHE_SIZE to remove chunk-cache in constraint environments (e.g. webservers)

increase precision of units-conversion (<1e-14)

fix debian-packages for fortran-dev

grib: fix stepUnits when different from h

grib: handling clusters as ensembles

changing loop-order when writing netcdf (time,variable) to avoid performance problems with filesystems with large blocksize (lustre)

2015-02-27 fimex-0.57

convert pressure to altitude using hypsometric formula

compressed grbml.gz files with fiIndexGribs

fix limited resolution problems with grib1 files (dx-min = 0.001degree)

configurable chunkSize of NetCDF4 output

bugfix in RFimex-0.05: closing filehandles in gc()

bugfix in interpolator: interpolation to singularities (poles) results now in undefined values

2015-01-20 fimex-0.56

making getDataSlice calls fork-safe

adding example on how to efficiently parallelize multi-field reading with fork

possibility to parallelize fimex with MPI and MPI-IO

adding forward_undef_* interpolations, i.e. forward_* interpolation with different interpretation of undefined values

improving performance by a factor 8 when reading large grbml files

avoid segfault when grbml points to non-existing grb-file

fix height/altitude conversion (gave no results before)

2014-12-16 fimex-0.55.1

fix correction of earthfigure for grb-files

2014-12-11 fimex-0.55

creation of one grib-index file for many grib-files

new filetype grbml (grib-index file) as reader

translation of grib-messages to netcdf-variables without time-axes possible

read grib-asimov (hirlam) header

interpolation with forward_* method now possible if only projection, but not coordinates present

fix relative interpolation axis for lat-lon input

height above ground and height above mean-sea level now clearly distinct, use 'height' for above ground, and altitude for height above msl

post-processor for interpolation, e.g. for extrapolation similar to pre-processor

process: addVerticalVelocity, calculated from continuity equation for hydrostatic models

fixing standard_name of cloud-water

glob: notation to join several netcdf-files along the unlimited dimension

fix vertical levels for grib 'extraHalvLevels' (+1 onffest)

monotonous longitude axis, even when outside -180:180

fix geographical extraction when multiple coordinate-systems exist in one file

improvements in error messages, filenames on missing/wrong files, ticks around wrong units/variables

2014-10-07 fimex-0.54

fix grib-missing-long on 64bit platforms for asimov-files

more tests on vector-rotation, using defaults around singularities

fix name of atmosphere_sigma_coordinate

allow record-dimensions to switch to normal dimensions and vv in NcML

avoid crashes when data missing

2014-08-26 fimex-0.53.2

ncml-fixes: allow record-dims to change to normal dimensions

interpolator: avoid crash when no data

2014-07-07 fimex-0.53.1

many tests for vector-rotation

fix bug for flipping vector with some special projections

remove some llvm-warnings

allow scalar felt-axes

2014-06-24 fimex-0.53

improved accuracy of vector-rotation to latlon

Pure north wind, rotated to lcc and back to latlon, scale up to -20% (brightviolet) / 20% (brightred) distortion Old fimex fimex<=0.52 -> fimex-0.53 fimex-0.53

updating build to multi-arch environments (ubuntu 14.04, debian 7)

extraKey-selection of grib-files

allow absolute/relative GRIB_INDEX_PATH

use packingType from gribWriterConfig.xml

fix extract.reduceTime for several time-axes

avoid uninitialized ptr in fortran / icc

fix cross-sections with more than 2 points

2014-05-13 fimex-0.52

join several levelNo in grib-files

rotation of directions (angles)

performance improvements of process.accumulate

fixes when reading prorad

performance and accuracy-improvements in interpolation

circular handling of longitude-axes in interpolation

fixing interpolation exceptions when coordinates axes are not correctly defined

2014-02-11 fimex-0.51

adding support for Prorad xml-files

avoiding singularities in interpolation

adding variable_type and dimension_size in Fortran

improving WRF-convention support (rot lat/lon, auxiliary axes)

using CF after horizontal transformation of WRF-files

bugfixes in merge (still in beta)

fixing grib-reader for mercator-files

adding qualityExtract2 command-line option, convenient for land-masking after interpolation

2013-12-16 fimex-0.50

extending f90-interface, including --enable-fortran target

extending c-interface

slightly improving parallelization

fix setting of netcdf-compression per variable

improve scanning of grib-files

re-implement merging of files to allow for new target-grid

improve reading of WRF-files; better coordinate-support and vector-detection

fix latlon-interpolation with staggered grids

add support for logarithmic units

fix mercator-axes from grib-files

Older news can be found in the News Archive.