Subversion Repositories lagranto.arpege

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 michaesp 1
1. Code retrieval
2
------------------
3
 
4
Download the latest Lagranto version from SVN repository <https://svn.iac.ethz.ch/websvn/pub/wsvn/>.
5
 
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.
8
 
9
> setenv LAGRANTO {PATH TO YOUR LAGRANTO INSTALLATION}
10
 
11
2. Compiling the Lagranto code
12
-------------------------------
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
 
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
 
28
2.4 Set the paths to the netCDF library. At our system, this is done by means of modules, but certainly 
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
 
47
setenv NETCDF_LIB `nc-config --flibs`
48
setenv NETCDF_INC `nc-config --fflags`
49
 
50
2.5 If the previous steps have been done, you are ready to install Lagranto. I suggest to do it stepwise (as
51
listed below). If everything works fine, you can compile it in one single step by <install.csh all>.
52
 
53
> cd ${LAGRANTO}/
54
> ./install.csh clean
55
> ./install.csh lib
56
> ./install.csh create_startf
57
> ./install.csh caltra
58
> ./install.csh trace
59
> ./install.csh select
60
> ./install.csh density
61
> ./install.csh lidar
62
> ./install.csh goodies
63
> ./install.csh docu
64
> ./install.csh links
65
 
66
Add the end of the installation, it's best to add the following directory to your PATH variable. In <bash> 
67
this should look like
68
 
69
>  export PATH=${LAGRANTO}/bin/:$PATH
70
 
71
If the <LAGRANTO/bin> directory is in your PATH, then you will be able to run Lagranto from any directory. 
72
Otherwise, you will always to give the full path to your Lagranto commands, e.g.
73
 
74
> ${LAGRANTO}/bin/caltra
75
 
76
3. Lagranto documentation
77
-------------------------
78
 
79
Lagranto comes with a detailed documentation; you can start it with one of the following calls:
80
 
81
> lagrantohelp
82
> lagrantohelp tutorial
83
> lagrantohelp reference
84
 
85
The most important program for you will be <caltra> which calculates the trajectories...
86
 
87
> lagrantohelp caltra
88
 
89
4. Test data set
90
-----------------
91
 
92
On our FTP server you find a sample data set which allows you to run Lagranto without bothering about the
93
Grib-netCDF conversion.
94
 
95
ftp://iacftp.ethz.ch/pub_read/sprenger/lagranto.ecmwf.test/
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>).
104
 
105
5. Minimal test run
106
--------------------
107
 
108
a) Define a starting position in a file <startf>; the format is <longitude latitude pressure>.
109
 
110
> more startf
111
  8.0 46.0 500.
112
-10.0 30.0 850.
113
 
114
Each line corresponds to a single starting position. Note that longitudes must be within -180 ... +180 deg.
115
 
116
 
117
b) Start the trajectory
118
 
119
It is a forward trajectory starting at 00 UTC 1 Jan 2012. The time span is 18 UTC. Starting positions are
120
taken from <startf>, the output is written to <trajectory>. For details about the optional flag <-j> and
121
<-notimecheck>, please consult the Lagranto help <lagrantohelp caltra>.
122
 
123
> caltra 20120101_00 20120101_18 startf trajectory -j
124
> more trajectory
125
Reference date 20120101_0000 / Time range    1080 min
126
 
127
  time      lon     lat     p
128
-----------------------------
129
 
130
    .00     8.00   46.00   500
131
   6.00    10.02   44.07   480
132
  12.00    11.64   42.13   504
133
  18.00    12.66   40.17   514
134
 
135
    .00   -10.00   30.00   850
136
   6.00   -10.42   30.14   866
137
  12.00   -10.40   30.25   885
138
  18.00   -10.46   29.93   906
139
 
140
================================.