Repositories

The system consists of 4 repositories:

Building

Building jep and pcraster

Requires:

GENERAL: Run all the get.sh scripts in directory software and extract
cd software/jdk
     . get.sh (this will open the website of Oracle from where you can download JDK7)
     download jdk7 directly from the website
     tar -xvf jdk-7u45-linux-x64.tar.gz
     set environment variable JAVA_HOME to $DRIHMDirectory/software/jdk/jdk1.7.0_45
     add JAVA_HOME to PATH
     cd -

cd software/ant
     . get.sh
     set environment variable ANT_HOME to $DRIHMDirectory/software/ant/apache-ant-1.9.2/
     add ANT_HOME to PATH
     cd -

cd software/pcraster
     . get.sh
     run svn revert --depth=infinity pcraster-4.0.0-beta-20131030_x86-64_lsbcc-4
     cd -

cd software/jep
     . get.sh
     (We already checked in a version of jep 3.1.0 because we fixed a dependency)
     cd -    

cd software/python
     run: ./Anaconda-1.7.0-Linux-x86_64.sh
     click ENTER
     click q
     set path where python should be installed, e.g. $DRIHMpath/software/python/anaconda
     cd anaconda/bin
     ./pip install ../../../jep/jep-3.1.0
     cd ../../../

Building OpenDA

cd public
     ant build
     cd -

cd deltares
     ant build
     cd -

cd fews
     ant build
     cd -

Configuration

1. Prepare OpenDA:

  • go to openda/fews/bin
  • run ". setup_openda.sh"
  • run ". settings_local.sh linux"

2. Prepare other environment variables:

  • go to openstreams_2013/provisioning
  • set PYTHONPATH in "setpath.sh" to PCRASTER/python and to the path of "wflow_bin" of your case 
  • run ". setpath.sh"

3. Run the Ourthe case:

  • go to openstreams_2013\cases\ourthe_case\Modules\OpenStreams\OurtheCase_hbv\
  • Fix the paths in run_info.xml, states/states_in.xml
  • run ". run_enkf.sh"

/home/fedor/shares/G/checkouts/openda/openstreams_2013/cases/ourthe_case/Modules/OpenStreams/openda/Ourthe

NOTE (Julius' experience on going through the above mentioned steps on a machine with Ubuntu_13_10_64bit):

- TRIAL1: jep.JepException: <type 'exceptions.ImportError'>: /home/sumihar/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS2_AsUnicodeEscapeString
   ==> It may happen that older installations of certain software are already available in e.g. ~./local directory. Make sure that only those in directory 'software' are used in running the test. Here, I simply removed directory ~/.local
- TRIAL2: jep.JepException: <type 'exceptions.ImportError'>: libjpeg.so.62: cannot open shared object file: No such file or directory
==> solved by reinstalling package libjpeg62: sudo apt-get install libjpeg62
- TRIAL3: jep.JepException: <type 'exceptions.RuntimeError'>: lookupscalar: :ERROR: /home/sumihar/openstreams_2013/cases/ourthe_case/Modules/OpenStreams/OurtheCase_hbv//intbl/MaxLeakage.tbl: while parsing lookuptable '/home/sumihar/openstreams_2013/cases/ourthe_case/Modules/OpenStreams/OurtheCase_hbv//intbl/MaxLeakage.tbl'
 line '1' column '4':
  read '0.0' expected one of '[<' or a number
   ==> Still unsolved.
   ==> Nevertheless, on 05-Dec-2013 Bert created a complete package with the existing software. In the package, a libjpeg.so.62 is included, so that user does not have to install libjpeg62 in their machine. The package has been tested on Bert's and DRIHM partner's (Ljiljana, Serbia) machines. It simply works there.
   ==> The same package was tested on 18-Dec-2013 on the H4. It failed with the following error message on openda_logfile.txt: 
Exception in thread "main" java.lang.Exception: java.lang.RuntimeException: java.lang.RuntimeException: WflowPythonToJavaAdapter: exception during call to python code. Message was: jep.JepException: <type 'exceptions.ImportError'>: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by /u/sumihar/DRIHM/checkPurpose/bert_package/work/openstreams_2013/software/pcraster/pcraster-4.0.0-beta-20131030_x86-64_lsbcc-4/python/pcraster/../../lib/../lib/libjpeg.so.62)
   --> The problem on H4 was due to the fact that on H4, an older version of GLIBC is installed (GLIBC_2.5), while the libjpeg.so.62 included in the package was apparently compiled using a newer version (GLIBC_2.7). On H4, we can solve this problem by simply removing the libjpeg.so.62 from the package so that the one installed on the H4 is used. It works.