Repositories
The system consists of 4 repositories:
- https://repos.deltares.nl/repos/openda/public/trunk (All public openda components) -> public
- https://repos.deltares.nl/repos/openda/deltares/trunk (All private openda components) -> deltares
- https://repos.deltares.nl/repos/openda/fews/trunk (Fews specific components, for running openda inside fews) -> fews
- https://repos.deltares.nl/repos/openda/public/branches/openstreams_2013 (Integration of PCRaster Jep and other the model schematization) -> openstreams_2013
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.