MI - Fimex
fimex Program Options

fimex Program Options

fimex is a command-line program. It has the following options:

usage: fimex --input.file  FILENAME [--input.type  INPUT_TYPE]
             [--output.file FILENAME | output.fillFile [--output.type OUTPUT_TYPE]]
             [--input.config CFGFILENAME] [--output.config CFGFILENAME]
             [--extract....]
             [--interpolate....]
             [--timeInterpolate....]

Generic options:
  -h [ --help ]                    help message
  --version                        program version
  --debug                          debug program
  --print-options                  print all options
  -c [ --config ] arg (=fimex.cfg) configuration file

Configurational options:
  --input.file arg                        input file
  --input.type arg                        filetype of input file, e.g. nc, nc4,
                                          ncml, felt, grib1, grib2, wdb
  --input.config arg                      non-standard input configuration
  --input.printNcML                       print NcML description of input file
  --input.printCS                         print CoordinateSystems of input file
  --output.file arg                       output file
  --output.fillFile arg                   output file, which should be filled
  --output.type arg                       filetype of output file, e.g. nc,
                                          nc4, grib1, grib2
  --output.config arg                     non-standard output configuration
  --process.accumulateVariable arg        accumulate variable along unlimited
                                          dimension
  --process.deaccumulateVariable arg      deaccumulate variable along unlimited
                                          dimension
  --process.rotateVectorToLatLonX arg     rotate this vector x component from
                                          grid-direction to latlon direction
  --process.rotateVectorToLatLonY arg     rotate this vector x component from
                                          grid-direction to latlon direction
  --process.printNcML [=arg(=-)]          print NcML description of process
  --process.printCS                       print CoordinateSystems of process
  --extract.removeVariable arg            remove variables
  --extract.selectVariables arg           select only those variables
  --extract.reduceDimension.name arg      name of a dimension to reduce
  --extract.reduceDimension.start arg     start position of the dimension to
                                          reduce (>=0)
  --extract.reduceDimension.end arg       end position of the dimension to
                                          reduce
  --extract.reduceTime.start arg          start-time as iso-string
  --extract.reduceTime.end arg            end-time by iso-string
  --extract.reduceVerticalAxis.unit arg   unit of vertical axis to reduce
  --extract.reduceVerticalAxis.start arg  start value of vertical axis
  --extract.reduceVerticalAxis.end arg    end value of the vertical axis
  --extract.reduceToBoundingBox.south arg geographical bounding-box in degree
  --extract.reduceToBoundingBox.north arg geographical bounding-box in degree
  --extract.reduceToBoundingBox.east arg  geographical bounding-box in degree
  --extract.reduceToBoundingBox.west arg  geographical bounding-box in degree
  --extract.printNcML                     print NcML description of extractor
  --extract.printCS                       print CoordinateSystems of extractor
  --qualityExtract.autoConfString arg     configure the quality-assignment
                                          using CF-1.3 status-flag
  --qualityExtract.config arg             configure the quality-assignment with
                                          a xml-config file
  --qualityExtract.printNcML              print NcML description of extractor
  --qualityExtract.printCS                print CoordinateSystems of extractor
  --interpolate.projString arg            proj4 input string describing the new
                                          projection
  --interpolate.method arg                interpolation method, one of
                                          nearestneighbor, bilinear, bicubic,
                                          coord_nearestneighbor, coord_kdtree,
                                          forward_min, forward_max, forward_mean,
                                          forward_median or forward_sum,
                                          forward_undef_min, forward_undef_max,
                                          forward_undef_mean,
                                          forward_undef_median or forward_undef_sum,
  --interpolate.xAxisValues arg           string with values on x-Axis, use ...
                                          to continue, i.e. 10.5,11,...,29.5,
                                          see Fimex::SpatialAxisSpec for full
                                          definition
  --interpolate.yAxisValues arg           string with values on x-Axis, use ...
                                          to continue, i.e. 10.5,11,...,29.5,
                                          see Fimex::SpatialAxisSpec for full
                                          definition
  --interpolate.xAxisUnit arg             unit of x-Axis given as udunits
                                          string, i.e. m or degrees_east
  --interpolate.yAxisUnit arg             unit of y-Axis given as udunits
                                          string, i.e. m or degrees_north
  --interpolate.latitudeName arg          name for auto-generated projection
                                          coordinate latitude
  --interpolate.longitudeName arg         name for auto-generated projection
                                          coordinate longitude
  --interpolate.preprocess arg            add a 2d preprocess to before the
                                          interpolation, i.e.
                                          "fill2d(critx,cor,maxLoop)"
  --interpolate.latitudeValues arg        string with latitude values in
                                          degree, i.e. 60.5,70,90
  --interpolate.longitudeValues arg       string with longitude values in
                                          degree, i.e. -10.5,-10.5,29.5
  --interpolate.template arg              netcdf file containing lat/lon
                                          list used in interpolation
                                          see Fimex::CDMInterpolator::changeProjection
  --interpolate.printNcML                 print NcML description of
                                          interpolator
  --interpolate.printCS                   print CoordinateSystems of
                                          interpolator
  --merge.inner.file arg                  inner file for merge
  --merge.inner.type arg                  filetype of inner merge file, e.g. nc,
                                          nc4, ncml, felt, grib1, grib2, wdb
  --merge.inner.config arg                non-standard configuration for inner
                                          merge file
  --merge.inner.cfg arg                   recursive fimex.cfg setup-file to
                                          enable all fimex-processing steps (i.e.
                                          not input and output) to the
                                          merge.inner source before merging
  --merge.smoothing arg                   smoothing function for merge, e.g.
                                          "LINEAR(5,2)" for linear smoothing, 5
                                          grid points transition, 2 grid points
                                          border
  --merge.keepOuterVariables              keep all outer variables, default: only
                                          keep variables existing in inner and
                                          outer
  --merge.method arg                      interpolation method for grid
                                          conversions, one of nearestneighbor,
                                          bilinear, bicubic, coord_nearestneighbor,
                                          coord_kdtree, forward_min, forward_max,
                                          forward_mean, forward_median or
                                          forward_sum
  --merge.projString arg                  proj4 input string describing the new
                                          projection
  --merge.xAxisValues arg                 string with values on x-Axis, use ...
                                          to continue, i.e. 10.5,11,...,29.5, see
                                          Fimex::SpatialAxisSpec for full
                                          definition
  --merge.yAxisValues arg                 string with values on x-Axis, use ...
                                          to continue, i.e. 10.5,11,...,29.5, see
                                          Fimex::SpatialAxisSpec for full
                                          definition
  --merge.xAxisUnit arg                   unit of x-Axis given as udunits string,
                                          i.e. m or degrees_east
  --merge.yAxisUnit arg                   unit of y-Axis given as udunits string,
                                          i.e. m or degrees_north
  --merge.xAxisType arg (=double)         datatype of x-axis (double,float,int,short)
  --merge.yAxisType arg (=double)         datatype of y-axis
  --verticalInterpolate.type arg          pressure, height or depth
  --verticalInterpolate.method arg        linear, log or loglog interpolation
  --verticalInterpolate.level1 arg        specification of first level, see
                                          Fimex::CDMVerticalInterpolator for a
                                          full definition
  --verticalInterpolate.level2 arg        specification of second level, only
                                          required for hybrid levels, see
                                          Fimex::CDMVerticalInterpolator for a
                                          full definition
  --verticalInterpolate.dataConversion arg
                                          vertical data-conversion: theta2T,
                                          omega2vwind or add4Dpressure
  --verticalInterpolate.printNcML [=arg(=-)]
                                          print NcML description of extractor
  --verticalInterpolate.printCS           print CoordinateSystems of vertical
                                          interpolator
  --timeInterpolate.timeSpec arg          specification of times to interpolate
                                          to, see MetNoFimex::TimeSpec for a full
                                          definition
  --timeInterpolate.printNcML             print NcML description of
                                          timeInterpolator
  --timeInterpolate.printCS               print CoordinateSystems of
                                          timeInterpolator
  --ncml.config                           modify/configure with ncml-file
  --ncml.printNcML                        print NcML description after
                                          ncml-configuration
  --ncml.printCS                          print CoordinateSystems after
                                          ncml-configuration

All the configurational options can be configured using a configuration file which is supplied using the –config option. All command line options (CLO) will overwrite the config-file. As a rule of thump, use the CLO for testing and use the config-file for productive usage. The CLOs will be further explained in fimex Setup File.

fimex Setup File

# config file for program fimex
[input]
file=flth00.dat
config=../share/etc/felt2nc_variables.xml
type=felt

[output]
file=test.nc
type=netcdf

[extract]
removeVariable=relative_humidity

[extract.reduceDimension]
name=x
start=2
end=-2

[extract.reduceDimension]
name=y
start=2
end=-2

[interpolate]
method = bilinear
projString = +proj=stere +lat_0=90 +lon_0=-32 +lat_ts=60 +ellps=sphere +a=6371000 +e=0
xAxisValues = -500000,-450000,...,5000000
yAxisValues = -500000,-450000,...,5000000
xAxisUnit = m
yAxisUnit = m

[timeInterpolate]
timeSpec = 0,3,...,x;relativeUnit=hours since 2001-01-01 10:00:00;unit=hours since 2007-05-16 00:00:00

The SpatialAxisSpec used in xAxisValues or yAxisValues for the spatial interpolation should be formatted as explained in detail in MetNoFimex::SpatialAxisSpec. It allows also autotuning to the orignal data-values.

The TimeSpec string used for the timeInterpolate should be formatted as explained in detail in MetNoFimex::TimeSpec.

Setup Files

Detailed information on the differnt configuration files can be found at: