forked from daspy/daspy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Install
127 lines (106 loc) · 5.6 KB
/
Install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Introduction #
Here we introduce the files of DasPy and how to install the related components
# Details #
# DasPy Files #
1. Algorithm ------------------------ Folder of LETKF
2. Analysis ------------------------- Folder of online plotting
3. DAS_Data ------------------------- Folder of input/output data
4. DataBase ------------------------- Folder of temporary data
5. Examples ------------------------- Folder of example test data
6. ForcingData ------------------------ Folder of forcing data script
7. ObsModel --------------------------- Folder of observation operator interface
8. SysModel --------------------------- Folder of CLM interface
9. Utilities -------------------------- Folder of useful tools
10. SysModel/CLM/Call_CLM_CESM.py ---- Run CLM
11. ObsModel/CMEM/Call_CMEM.py ------- Run CMEM
12. ObsModel/COSMOS/COSMIC_Py.py ----- Run COSMIC
13. Utilities/Start_PP/start_pp_server.c ----- A simple tool to start ppserver on each node, if mpi4py does not work
14. DAS.sh ------------------------------- Script example to run on HPC PBS
15. DAS.py -------------------------------- Main program
16. DAS_Initialize.py -------------------- Initiate system
17. DAS_Driver.py ----------------------- Main loop for data assimilatoin
18. DAS_Driver_Common.py ----------------- Run CLM, read observation and collect CLM results
19. DAS_Assim.py ----------------------------- Data assimilation modules
20. DAS_Assim_Common.py --------------------- Define the functions for model operator and observation operator
21. DAS_Observation_Operator.py ----------------- Call observation operators
22. DAS_Misc.py ----------------------------------- Plotting
23. DAS_Utilities.py -------------------------------- Useful functions
24. ParFor.py ----------------------------------------- Speedup DasPy with Weave
# link mpiexec #
1. ln -s MPI_Path/bin/mpiexec DAS_Depends_Path/bin/mpiexec
# Install CLM #
1. Download the source code from: http://www.cesm.ucar.edu/models/cesm1.2/
2. build clm with the option "./xmlchange -file env\_build.xml -id MPILIB -val "mpi-serial""
3. copy the cesm.exe as DAS_Depends_Path + "bin/cesm_sp_serial.exe"
# Install CMEM #
1. Download the source code from: https://software.ecmwf.int/wiki/display/LDAS/CMEM
2. copy the cmem excutable as DasPy_Path+"ObsModel/CMEM/bin/cmem
# Install PDAF
Download PDAF from: http://pdaf.awi.de/trac/
cd $HOME_Path/DasPy_Release/Algorithm/PDAF/src/PDAF-D_V1.11/src
export PDAF_ARCH=linux_gfortran
make clean
make -j2
mkdir -p ../lib/serial
cp ../lib/libpdaf-d.a ../lib/serial/
cd $HOME_Path/DasPy_Release/Algorithm/PDAF/bin/offline_2D_serial
make clean
make -j2
# Build DasPy_Components #
export HOME_Path="/lustre/jhome7/jicg41/jicg4128"
=============start_ppserver
1. cd $HOME_Path/DasPy/Utilities/Start_PP
2. export CC=mpicc
3. make clean
4. make
===============COSMIC
1. cd $HOME_Path/DasPy_Release/ObsModel/COSMOS/src
2. python2.7 -c "import numpy.f2py;numpy.f2py.main()" -c --f90flags="-O3 -ffree-line-length-none -fopenmp" --f77flags="-O3" --fcompiler=gnu95 -L$HOME\_Path/DAS\_Depends/lib -lblas -lgomp -m COSMIC COSMIC.f90
3. cp COSMIC.so ../
========================== LETKF:
1. cd $HOME_Path/DasPy_Release/Algorithm/DAS
2. python2.7 -c "import numpy.f2py;numpy.f2py.main()" -c --f90flags="-O3 -ffree-line-length-none -fopenmp -m64 -L$HOME\_Path/DAS\_Depends/lib" --f77flags="-O3 -fopenmp -m64" --fcompiler=gnu95 -L$HOME\_Path/DAS\_Depends/lib -lgomp -lblas -m letkf\_common netlib.f netlibblas.f common\_letkf.f90 CALL\_LETKF.f90
# Dependencies #
### ------------------ Python ###
* Python 2.7.8
* NumPy 1.9.1
* SciPy 0.15.0
* weave 0.15.0
* Matplotlib 1.4.2
* mpmath 0.18
* numexpr 2.2.2
* netCDF4 1.1.3
* pp 1.6.4
* mpi4py 1.3.1
* futures 2.2.0
sudo dnf install gcc gcc-c++ gcc-gfortran kernel-devel kernel-headers dkms
sudo dnf install make cmake-gui htop mosh filezilla sshpass system-config-users nano subversion cvs bzr mercurial git
sudo dnf install python-futures python-lxml transfig pstoedit h5py nco netcdf4-python python-pp python-basemap python-dill python-psutil python-pandas python-pip python-cffi numpy numpy-f2py scipy rpy python-matplotlib python-matplotlib-qt4 python-matplotlib-tk python-mpmath
sudo dnf install libxml2 libxml2-devel gsl-devel armadillo-devel libpng-devel jasper-devel openjpeg-devel octave-devel R-devel geos-devel gdal gdal-devel proj-static proj-devel proj-epsg hdf5-devel netcdf ncview ncl hdf5 hdf5-static hdf5-devel ncl-devel libtool lapack-static f2c f2c-libs blas-static nasm
=====netcdf-4.3.2
tar xvzf netcdf-4.3.3.1.tar.gz
cd netcdf-4.3.3.1
make clean
CFLAGS="-O3 -I/home/hanxujun/DAS_Depends/include" CPPFLAGS="-O3 -I/home/hanxujun/DAS_Depends/include" LDFLAGS=-L/home/hanxujun/DAS_Depends/lib FFLAGS="-O3" FCFLAGS="-O3" ./configure --prefix=/home/hanxujun/DAS_Depends --enable-static --enable-shared --enable-netcdf4 --enable-largefile --enable-large-file-tests
make -j32
make install
cd ../
=================netcdf-fortran-4.4
tar xvzf netcdf-fortran-4.4.2.tar.gz
cd netcdf-fortran-4.4.2
make clean
autoreconf -i -f
CFLAGS="-O3 -I/home/hanxujun/DAS_Depends/include" FFLAGS="-O3" FCFLAGS="-O3" LDFLAGS=-L/home/hanxujun/DAS_Depends/lib LIBS="-lhdf5_hl -lhdf5 -lz -lm" ./configure --prefix=/home/hanxujun/DAS_Depends --enable-static --enable-shared --enable-largefile --enable-large-file-tests
make -j32
make install
cd ../
### ------------------- R ###
* R 3.1.2
* R-Packages: raster,rgdal
### ------------------ Library ###
* Blas && Lapack 3.5.0
* HDF5 1.8.12
* netCDF 4.3.2
* netCDF-fortran 4.4.1
* nco 4.4.4
* gsl 1.16