Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
fimex:install [2008-05-14 18:55:42] steingod created |
fimex:install [2022-05-31 09:29:32] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | |||
+ | ===== Pre-built Packages ===== | ||
+ | |||
+ | If you are lucky to run one of the following operating systems, you can install | ||
+ | |||
+ | ===== Dependencies ===== | ||
+ | |||
+ | Fimex requires at least the following libraries to be installed for compilation: | ||
+ | * c99/c++11 compiler | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | To configure the different file formats or features it requires: | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ===== Build ===== | ||
+ | |||
+ | See [[https:// | ||
+ | |||
+ | ==== Optimizations with gcc ==== | ||
+ | |||
+ | The following optimizations have been tried with gcc 4.4 and kd-tree interpolation. | ||
+ | |||
+ | * **-O2** general optimizations like loop-unrolling/ | ||
+ | * **-mfpmath=sse -msse2** on i386 computers, use math from sse-unit. The build-in FPU is not IEEE conform and performs very slowly (> factor 2) when calculating sqrt(nan). This is already the default on i386-64. | ||
+ | * // | ||
+ | * // | ||
+ | * //-O3// gives no visible performance gain. This should be tested again with newer compiler-versions. | ||
+ | * // | ||
+ | |||
+ | ==== Parallelization (OpenMP) ==== | ||
+ | |||
+ | Fimex can be build with OpenMP parallelization support with the // | ||
+ | |||
+ | * interpolation: | ||
+ | * interpolation with coord_nearestneighbor (good parallelization in startup) | ||
+ | |||
+ | ===== Test ===== | ||
+ | |||
+ | * Download the file with testdata: {{: | ||
+ | * Put this file into the test-catalogue | ||
+ | * gunzip the file | ||
+ | * run '' | ||
+ | |||
+ | ===== Known Problems ===== | ||
+ | |||
+ | ==== udunits1 and FMRC ==== | ||
+ | |||
+ | udunits1 does not differ between a date and a timespan, e.g. | ||
+ | < | ||
+ | $ ./udunits | ||
+ | You have: hours | ||
+ | You want: hours since 2010-01-01 00:00:00 | ||
+ | <hours since 2010-01-01 00: | ||
+ | <hours since 2010-01-01 00: | ||
+ | </ | ||
+ | |||
+ | Therefore, data with two time-axis, e.g. in [[http:// | ||
+ | test-failure: | ||
+ | < | ||
+ | unknown location:0: fatal error in " | ||
+ | testCoordinateSystemSliceBuilder.cc: | ||
+ | |||
+ | *** 1 failure detected in test suite " | ||
+ | FAIL: testCoordinateSystemSliceBuilder | ||
+ | </ | ||
+ | |||
+ | If you don't intend to use FMRC, you can ignore this error, otherwise, you should upgrade to udunits2. | ||
+ | |||
+ | |||
+ | ==== udunits1 and udunits2 ==== | ||
+ | |||
+ | If both udunits1 and udunits2 are available on the machine, fimex might prefer udunits1 unless explicitly disabled. To explicitly disable udunits1, use: | ||
+ | < | ||
+ | ./configure --without-udunits --with-udunits2 ... | ||
+ | </ | ||
+ | |||
+ | ==== MacOS X and gcc ==== | ||
+ | |||
+ | Under MacOS X strings may come in different flavour for gcc, either static or fully dynamic. Libraries compiled with one type of strings don't work well with programs/ | ||
+ | < | ||
+ | | ||
+ | </ | ||
+ | |||
+ | boost:: | ||
+ | * download boost | ||
+ | * add '' | ||
+ | * run < | ||
+ | ./ | ||
+ | ./b2 install | ||
+ | </ | ||
+ | For more information, | ||
+ | |||
+ | |||
+ | ==== AIX ==== | ||
+ | |||
+ | The boost libraries (1.44) are not compatible with the AIX XL/C++ compiler V10 and we had to compile boost and fimex with gcc to get it working under AIX. This might have been improved with newer versions of the AIX compiler, but hasn't been tested: http:// | ||
- | FIXME |