User Tools

Site Tools


fimex:faq

This is an old revision of the document!


Frequently Asked Questions

How to solve problems with a short variable?

I have problems with a felt-file with a variable of type 'short'. fimex abborts with

change in scaling-factor for parameter: 31,2,1000 consider using float or double datatpye

What should I do?

  1. While the netcdf-format allows for only 1 scaling-factor per variable, the felt-format can have a scaling-factor per 2d-slice per variable (that are level*time scaling-factors). You should change the type of the variable and its _FillValue attribute from short to float in the file felt2nc_variables.xml.
  2. If you want to save disk-space, and you know that all data of the variable can be subscribed sufficently with a packed short data-array, use the cdmWriterConfig.xml as follows:
    <variable name="31,2,1000" newname="air_temperature" type="short">
      <attribute name="_FillValue" value="-32767" type="short" />
      <attribute name="scale_factor" value="0.01" type="float" />
      <attribute name="add_offset" value="273" type="double" />
    </variable>

    In this example, the temperature will be described with an accuracy of 0.01ºC and a range of -327.66ºC (I know thats below 0K) to 327.66ºC

How to use fimex as opendap-client?

Install netcdf with integrated dap-support

Prerequisites

  • netcdf4 (4.1.1) from unidata
  • curl library: sudo apt-get install libcurl4-gnutls-dev (on ubuntu hardy)
  • make sure to remove the libnetcdf4-dev package (on ubuntu hardy): apt-get remove libnetcdf4-dev

Build

Configuring, without HDF-file support (can be added if desired). Important: include dap-support via curl; build shared libraries (libtool autodetect dependencies)

./configure --prefix=/usr/local/netcdf4.1.1 --enable-dap --with-curl-config=/usr/bin/curl-config --enable-shared --disable-static
make -k # there might be errors building the man-pages depending on tex-installation
make check
make -k install

Fimex and OpENDAP

Build

./configure --with-netcdf=/usr/local/netcdf4.1.1

Running an extraction from opendap

fimex --input.file=http://thredds.met.no/thredds/dodsC/topaz/dataset-topaz3-arc-myocean-be \
      --input.type=netcdf \
      --output.type=netcdf \
      --output.file=test.nc \
\
      --extract.selectVariables=time \
      --extract.selectVariables=x \
      --extract.selectVariables=y \
      --extract.selectVariables=depth \
      --extract.selectVariables=longitude \
      --extract.selectVariables=latitude \
      --extract.selectVariables=temperature \
\
      --extract.reduceTime.start=2010-10-05 \
      --extract.reduceTime.end=2010-10-07 \
\
      --extract.reduceToBoundingBox.south 55.0 \
      --extract.reduceToBoundingBox.north 80.0 \
      --extract.reduceToBoundingBox.east 20.0 \
      --extract.reduceToBoundingBox.west -5.0

Why takes linking with ''g++ -g'' ages?

This happens with older versions of gcc, seen with 3.3 on debian sarge.

Use -gstabs or -ggdb instead of -g. For debugging, this is better suited to c++ code and works with the GNU utils and most other debugger, too. (But unfortunately not with /valgrind/.

fimex/faq.1329298151.txt.gz · Last modified: (external edit)