Line 6... |
Line 6... |
6 |
Then create a directory where you want Lagranto to be installed; place the whole source code in this
|
6 |
Then create a directory where you want Lagranto to be installed; place the whole source code in this
|
7 |
directory and set an environment variable {LAGRANTO} pointing to this directory.
|
7 |
directory and set an environment variable {LAGRANTO} pointing to this directory.
|
8 |
|
8 |
|
9 |
> setenv LAGRANTO {PATH TO YOUR LAGRANTO INSTALLATION}
|
9 |
> setenv LAGRANTO {PATH TO YOUR LAGRANTO INSTALLATION}
|
10 |
|
10 |
|
11 |
|
- |
|
12 |
2. Compiling the Lagranto code
|
11 |
2. Compiling the Lagranto code
|
13 |
-------------------------------
|
12 |
-------------------------------
|
14 |
|
13 |
|
- |
|
14 |
First you will have to adapt some parameters in the installation script <install.csh>.
|
- |
|
15 |
|
- |
|
16 |
2.1 Set paths for development and for operational version of Lagranto (might be the same). For our system,
|
- |
|
17 |
we have a environment variable {DYN_TOOLS} (e.g., /usr/local/) that provides the paths to several tools.
|
- |
|
18 |
For your system, just provide the path to Lagranto (e.g., path_devel = /home/{user}/lagranto.ecmwf).
|
- |
|
19 |
set path_devel = "${DYN_TOOLS}//lagranto.ecmwf/"
|
- |
|
20 |
set path_sync = "${DYN_TOOLS}/lagranto/"
|
- |
|
21 |
|
15 |
Choose the correct Fortran compiler in <install.csh>. At the moment, PGI is set. I have sucessfully
|
22 |
2.2 Set the Fortran compiler to your version (e.g., gfortran, pgf90, ifort,...)
|
- |
|
23 |
setenv FORTRAN pgf90
|
- |
|
24 |
|
- |
|
25 |
2.3 Set netcdf format of the ECMWF files (typically cdo)
|
- |
|
26 |
set ncdf = cdo
|
- |
|
27 |
|
16 |
compiled the code with <ifort> and <gfortran>, so you might want to use one of these two compilers.
|
28 |
2.4 Set the paths to the netCDF library. At our system, this is done by means of modules, but certainly
|
17 |
You additonally have to set in <install.csh> the environment variable <NETCDF> which point to the
|
29 |
at your site you will have to change this. You system administrator will be able to help you with that!
|
- |
|
30 |
Just to give you an idea what <module load netcdf/4.3.2) does, here is the detailed list of commands
|
- |
|
31 |
run by the call:
|
- |
|
32 |
|
- |
|
33 |
module-whatis set environment for netcdf 4.3.2 and netcdf-fortran 4.2 compiled with gfortran and hdf5 1.8.13
|
- |
|
34 |
module load hdf5/1.8.13
|
- |
|
35 |
setenv NETCDF /usr/local/netcdf-4.3.2-4.2-gfortran
|
- |
|
36 |
prepend-path PATH /usr/local/netcdf-4.3.2-4.2-gfortran/bin
|
- |
|
37 |
prepend-path INCLUDE /usr/local/netcdf-4.3.2-4.2-gfortran/include
|
- |
|
38 |
prepend-path C_INCLUDE_PATH /usr/local/netcdf-4.3.2-4.2-gfortran/include
|
- |
|
39 |
prepend-path CPLUS_INCLUDE_PATH /usr/local/netcdf-4.3.2-4.2-gfortran/include
|
- |
|
40 |
prepend-path LIBRARY_PATH /usr/local/netcdf-4.3.2-4.2-gfortran/lib64
|
- |
|
41 |
prepend-path LD_LIBRARY_PATH /usr/local/netcdf-4.3.2-4.2-gfortran/lib64
|
- |
|
42 |
prepend-path MANPATH /usr/local/netcdf-4.3.2-4.2-gfortran/share/man
|
- |
|
43 |
|
- |
|
44 |
2.4 Possibly you will have to replace <nc-config> with <nf-config> in your setting. If the netCDF environment
|
- |
|
45 |
is correctly set up, entering either <nc-config> or <nf-config> in the command shell sould give some result:
|
- |
|
46 |
|
18 |
installstion of the netCDF libraries.
|
47 |
setenv NETCDF_LIB `nc-config --flibs`
|
- |
|
48 |
setenv NETCDF_INC `nc-config --fflags`
|
19 |
|
49 |
|
- |
|
50 |
2.5 If the previous steps have been done, you are ready to install Lagranto. I suggest to do it stepwise (as
|
20 |
> setenv NETCDF {PATH TO YOUR NETCDF LIBRARY}
|
51 |
listed below). If everything works fine, you can compile it in one single step by <install.csh all>.
|
21 |
|
52 |
|
22 |
> cd ${LAGRANTO}/
|
53 |
> cd ${LAGRANTO}/
|
23 |
> ./install.csh clean
|
54 |
> ./install.csh clean
|
24 |
> ./install.csh lib
|
55 |
> ./install.csh lib
|
25 |
> ./install.csh create_startf
|
56 |
> ./install.csh create_startf
|
Line 40... |
Line 71... |
40 |
If the <LAGRANTO/bin> directory is in your PATH, then you will be able to run Lagranto from any directory.
|
71 |
If the <LAGRANTO/bin> directory is in your PATH, then you will be able to run Lagranto from any directory.
|
41 |
Otherwise, you will always to give the full path to your Lagranto commands, e.g.
|
72 |
Otherwise, you will always to give the full path to your Lagranto commands, e.g.
|
42 |
|
73 |
|
43 |
> ${LAGRANTO}/bin/caltra
|
74 |
> ${LAGRANTO}/bin/caltra
|
44 |
|
75 |
|
45 |
|
- |
|
46 |
|
- |
|
47 |
3. Compiling the Grib-netCDF converter
|
- |
|
48 |
--------------------------------------
|
- |
|
49 |
|
- |
|
50 |
In the subdirectory <convert/fgrb2cdf> you find the program you find the Fortran program which we use to
|
- |
|
51 |
convert the Grib files from ECMWF into netCDF. Note that we use a somewhat 'strange' netCDF format; therefore
|
- |
|
52 |
you have to use this converter. In the near future, I will make available a conversion tool based on the CDO
|
- |
|
53 |
tools...
|
- |
|
54 |
|
- |
|
55 |
You will have to set some paths to compile the program; in particular, a reference must be made to the
|
- |
|
56 |
GRIB_API.
|
- |
|
57 |
|
- |
|
58 |
|
- |
|
59 |
4. Lagranto documentation
|
76 |
3. Lagranto documentation
|
60 |
-------------------------
|
77 |
-------------------------
|
61 |
|
78 |
|
62 |
Lagranto comes with a detailed documentation; you can start it with one of the following calls:
|
79 |
Lagranto comes with a detailed documentation; you can start it with one of the following calls:
|
63 |
|
80 |
|
64 |
> lagrantohelp
|
81 |
> lagrantohelp
|
Line 67... |
Line 84... |
67 |
|
84 |
|
68 |
The most important program for you will be <caltra> which calculates the trajectories...
|
85 |
The most important program for you will be <caltra> which calculates the trajectories...
|
69 |
|
86 |
|
70 |
> lagrantohelp caltra
|
87 |
> lagrantohelp caltra
|
71 |
|
88 |
|
72 |
|
- |
|
73 |
5. Test data set
|
89 |
4. Test data set
|
74 |
-----------------
|
90 |
-----------------
|
75 |
|
91 |
|
76 |
On our FTP server you find a sample data set which allows you to run Lagranto without bothering about the
|
92 |
On our FTP server you find a sample data set which allows you to run Lagranto without bothering about the
|
77 |
Grib-netCDF conversion.
|
93 |
Grib-netCDF conversion.
|
78 |
|
94 |
|
79 |
ftp://iacftp.ethz.ch/pub_read/sprenger/lagranto.ecmwf.test/
|
95 |
ftp://iacftp.ethz.ch/pub_read/sprenger/lagranto.ecmwf.test/
|
80 |
|
96 |
|
- |
|
97 |
There are two versions of test data available, depending on the netCDF version you would like to use.
|
- |
|
98 |
|
- |
|
99 |
- ive: the netCDF format used at ETH, converted with Fortran program <fgrb2cdf_api>
|
- |
|
100 |
- cdo: CF-conform netCDF format; the GRIB files and the conversion script are also included in the folder
|
- |
|
101 |
|
- |
|
102 |
If you don't know which version to use, I suggest to choose 'cdo' because here the conversion from GRIB to
|
- |
|
103 |
netCDF format can be done by means of the CDO tools (as done in <convert.sh>).
|
81 |
|
104 |
|
82 |
6. Minimal test run
|
105 |
5. Minimal test run
|
83 |
--------------------
|
106 |
--------------------
|
84 |
|
107 |
|
85 |
a) Define a starting position in a file <startf>; the format is <longitude latitude pressure>.
|
108 |
a) Define a starting position in a file <startf>; the format is <longitude latitude pressure>.
|
86 |
|
109 |
|
87 |
> more startf
|
110 |
> more startf
|