|
| 1 | +head 1.2; |
| 2 | +access; |
| 3 | +symbols; |
| 4 | +locks |
| 5 | + becker:1.2; strict; |
| 6 | +comment @# @; |
| 7 | + |
| 8 | + |
| 9 | +1.2 |
| 10 | +date 2016.09.05.04.44.36; author becker; state Exp; |
| 11 | +branches; |
| 12 | +next 1.1; |
| 13 | + |
| 14 | +1.1 |
| 15 | +date 2004.06.17.19.15.41; author becker; state Exp; |
| 16 | +branches; |
| 17 | +next ; |
| 18 | + |
| 19 | + |
| 20 | +desc |
| 21 | +@@ |
| 22 | + |
| 23 | + |
| 24 | +1.2 |
| 25 | +log |
| 26 | +@*** empty log message *** |
| 27 | +@ |
| 28 | +text |
| 29 | +@################################################################################ |
| 30 | + |
| 31 | +- fstrack: set of routines to trace particles in mantle flow and |
| 32 | + compute LPO. Routines use precomputed velocities on GMT grd |
| 33 | + files. |
| 34 | + |
| 35 | + The package also provides a range of anisotropic tensor |
| 36 | + anylsis and splitting tools. Those do not require the flow |
| 37 | + package including GMT and netcdf and can be compiled |
| 38 | + independently. |
| 39 | + |
| 40 | + See (and cite, if used): |
| 41 | + |
| 42 | + The most recent paper using different types of LPOs etc: |
| 43 | + |
| 44 | + Becker et al. (EPSL, 267, 213-237, 2008) |
| 45 | + |
| 46 | + and for more detail on aspects of the approach |
| 47 | + |
| 48 | + Becker et al. (JGR, 111, B08309, doi:10.1029/2005JB004095, 2006) |
| 49 | + |
| 50 | + |
| 51 | +May be distributed with |
| 52 | + |
| 53 | +- d-rex: DREX Kaminski & Ribe texture routines |
| 54 | + |
| 55 | + (c) by Eduard Kaminski, Neil Ribe, and Jules Browaeys, and |
| 56 | + Sebastien Chevrot |
| 57 | + |
| 58 | + Kaminski & al. (GJI, 157, 1, 2004) |
| 59 | + Browaeys & Chevrot (GJI, 159, 667, 2004) |
| 60 | + |
| 61 | + Slightly modified from the original sources to allow for 3D, |
| 62 | + and some bug fixes. |
| 63 | + |
| 64 | +- single_layer and multi_layer: |
| 65 | + shear wave splitting routines by Vera Schulte-Pelkum. |
| 66 | + See: |
| 67 | + |
| 68 | + Schulte-Pelkum & Blackman (GJI, 154, 166, 2003) |
| 69 | + |
| 70 | +- HC: |
| 71 | + Mantle flow computation software, see: |
| 72 | + |
| 73 | + Becker, T.W., O'Neill, C., and Steinberger, B. (2009): HC, a |
| 74 | + global mantle circulation solver. Available online at |
| 75 | + http://www.geodynamics.org/cig/software/hc, accessed 08/2011. |
| 76 | + |
| 77 | + |
| 78 | + Milner, K., Becker, T. W., Boschi, L., Sain, J., Schorlemmer, |
| 79 | + D. and H. Waterhouse: The Solid Earth Research and Teaching |
| 80 | + Environment: a new software framework to share research tools |
| 81 | + in the classroom and across disciplines. EOS Trans. AGU, 90, |
| 82 | + 12, 2009. |
| 83 | + |
| 84 | + |
| 85 | +- eispack: EISPACK eigensystem routines |
| 86 | + |
| 87 | +- menke_splitting/: Bill Menke's cross-correlation routines |
| 88 | + |
| 89 | +Copyright for these routines remains with the original authors. |
| 90 | + |
| 91 | +for the rest |
| 92 | + |
| 93 | +(c) Thorsten Becker 2004 - 2016 twb@@ig.utexas.edu |
| 94 | + |
| 95 | +$Id: README,v 1.1 2004/06/17 19:15:41 becker Exp becker $ |
| 96 | + |
| 97 | +################################################################################ |
| 98 | + |
| 99 | +CONTENTS: |
| 100 | + |
| 101 | +The tar file includes this README, and installation script |
| 102 | +"install_fstrack" and several subdirectories |
| 103 | + |
| 104 | +eispack/ has eigenvector routines |
| 105 | +single_layer/ |
| 106 | +multi_layer/ are splitting routines |
| 107 | +d-rex/ holds the DREX LPO and anisotropy routines |
| 108 | +hc/ is a flow solver |
| 109 | + |
| 110 | + |
| 111 | +INSTALLATION: |
| 112 | + |
| 113 | +Short version: There is a script, "install_fstrack" which will by |
| 114 | +default try to install the package without flow tracking, and can be |
| 115 | +called, alternatively, as "install_fstrack 1" to try to install |
| 116 | +everything, including the flow tracker (but see below). |
| 117 | + |
| 118 | +PREREQUISISTES FOR THE FLOW PART (NOT FOR THE REST) |
| 119 | + |
| 120 | +1) GMT, version 4 (not 5) |
| 121 | + |
| 122 | + http://gmt.soest.hawaii.edu/gmt4/ |
| 123 | + |
| 124 | +2) netcdf |
| 125 | + |
| 126 | + http://www.unidata.ucar.edu/software/netcdf/ |
| 127 | + |
| 128 | + Environment variables $GMTHOME and $NETCDFDIR have to be set to the |
| 129 | + GMT and netcdf directories, and HC installed, respectively. (The |
| 130 | + FSE trackers uses netcdf grd files to read in velocity fields.) In |
| 131 | + my case, those variables point to |
| 132 | + |
| 133 | +> echo $GMTHOME/ |
| 134 | +/usr/local/src/GMT3.4.3// |
| 135 | + |
| 136 | +> echo $NETCDFDIR/ |
| 137 | +/usr/local/src/netcdf-3.5.0// |
| 138 | + |
| 139 | + |
| 140 | +NOTES: |
| 141 | + |
| 142 | +The file "install_fstrack" is a simplified version of these |
| 143 | +installation instructions. |
| 144 | + |
| 145 | + |
| 146 | +This tar file will expand three directories, eispack, d-rex and |
| 147 | +fstrack, for eigenvalue routines, the DREX package and the finite |
| 148 | +strain tracker, respectively. |
| 149 | + |
| 150 | +You will need a C, F77, and F90 compiler. Make sure your Fortran and C |
| 151 | +compiler flags are set with environment variables CFLAGS and FFLAGS |
| 152 | +(normally they should be already). |
| 153 | + |
| 154 | +Some F90 code expects to be able to use C preprocessor statements, in |
| 155 | +Intel Fortran, this is done by |
| 156 | + |
| 157 | +ifort -fpp |
| 158 | + |
| 159 | +for gfortran F90 code by |
| 160 | + |
| 161 | +-x f95-cpp-input |
| 162 | + |
| 163 | +for gfortran F77 code by |
| 164 | + |
| 165 | +-x f77-cpp-input |
| 166 | + |
| 167 | +See the machine_dependent.*.* files for suggestions for typical compiler flags. |
| 168 | + |
| 169 | +For Intel, I use |
| 170 | + |
| 171 | +> echo $CC $CFLAGS |
| 172 | +icc -O2 -xW -vec_report0 -static |
| 173 | + |
| 174 | +> echo $F77 $FFLAGS |
| 175 | +ifort -O2 -xW -vec_report0 -static -fpp -nofor-main |
| 176 | + |
| 177 | +> echo $F90 $F90FLAGS |
| 178 | +ifort -O2 -xW -vec_report0 -static -fpp -nofor-main |
| 179 | + |
| 180 | + |
| 181 | +For GNU, the following setting should work: |
| 182 | + |
| 183 | +echo $CC $CFLAGS |
| 184 | +gcc -O2 -Wall -funroll-loops -fomit-frame-pointer |
| 185 | + |
| 186 | + |
| 187 | +echo $F77 $FFLAGS |
| 188 | +gfortran -x f77-cpp-input -O2 -Wall -funroll-loops -fomit-frame-pointer |
| 189 | + |
| 190 | +echo $F90 $F90FLAGS |
| 191 | +gfortran -x f95-cpp-input -O2 -Wall -funroll-loops -fomit-frame-pointer |
| 192 | + |
| 193 | + Here are example Intel and GNU compiler setups: |
| 194 | + |
| 195 | + if [ $use_intel -eq 1 ];then |
| 196 | + export F77=ifort |
| 197 | + export F90=$F77 |
| 198 | + export CC=icc |
| 199 | + export LDFLAGS="-lm" |
| 200 | + export CFLAGS="-O3 -DLINUX_SUBROUTINE_CONVENTION" |
| 201 | + export CFLAGS_DEBUG="-g -DLINUX_SUBROUTINE_CONVENTION" |
| 202 | + export FFLAGS="-O3 -fpp -nofor-main" |
| 203 | + export FFLAGS_DEBUG="-g -fpp -nofor-main" |
| 204 | + export F90FLAGS=$FFLAGS |
| 205 | + export F90FLAGS_DEBUG=$FFLAGS_DEBUG |
| 206 | + export F_EXT_SOURCE_FLAG=-extend_source |
| 207 | + export FTRN_LIB="-lifcore" |
| 208 | + export MATHLIBS="-mkl" |
| 209 | + |
| 210 | + else |
| 211 | + export F77=gfortran |
| 212 | + export F90=$F77 |
| 213 | + export CC=gcc |
| 214 | + export LDFLAGS="-lm" |
| 215 | + export CFLAGS="-O3 -DLINUX_SUBROUTINE_CONVENTION" |
| 216 | + export CFLAGS_DEBUG="-g -DLINUX_SUBROUTINE_CONVENTION" |
| 217 | + export FFLAGS="-O3 -x f77-cpp-input" |
| 218 | + export FFLAGS_DEBUG="-g -x f77-cpp-input" |
| 219 | + export F90FLAGS="-O3 -x f95-cpp-input" |
| 220 | + export F90FLAGS_DEBUG="-O3 -x f95-cpp-input" |
| 221 | + export F_EXT_SOURCE_FLAG=-ffixed-line-length-132 |
| 222 | + export FTRN_LIB=-lgfortran |
| 223 | + export MATHLIBS="-llapack -lblas" |
| 224 | + fi |
| 225 | + |
| 226 | + |
| 227 | + |
| 228 | +### |
| 229 | + |
| 230 | +The makefile will look for a file machine_dependent.$ARCH where any |
| 231 | +additional flags can be set, else will use existing environment |
| 232 | +variables. |
| 233 | + |
| 234 | +### |
| 235 | + |
| 236 | + |
| 237 | + |
| 238 | +Procedure: |
| 239 | + |
| 240 | +1) Go to eispack and d-rex directories and make |
| 241 | + |
| 242 | + First go to eispack, type 'make', then to d-rex and type |
| 243 | + `make', this should build the DREX based libraries (for |
| 244 | + copyright see note above). |
| 245 | + |
| 246 | +2) |
| 247 | + |
| 248 | +A) Go to the fstrack directory, and type 'make' |
| 249 | + |
| 250 | +This will install anisotropy and splitting tools, but not the flow tracker etc. |
| 251 | + |
| 252 | +> ls bin/x86_64/ |
| 253 | +ah_cross_conv_spectoseis* c6x6to81_dens* cvec2ellipsoid* plot_kernel* readprem* sav2rotate* spectoseis_stream* |
| 254 | +anicake* c6x6to81_dens_stream* fazi2splitstat* polvgm2cartvgm* readprem_z* sav2splitting* tensor_phase* |
| 255 | +anicake.dbg* calc_lpo_from_streamline* generate_vgm* prem_compute_gp* sav2afactor* skssplit_xcorr* tracerl2cevec* |
| 256 | +average_rphi_tracers* cijkl2sav* make_random_tensors* premtable* sav2cijkl* skssplit_xcorr_stream* |
| 257 | +average_tracers* cijklrotate* make_var_tensor* premtable_z* sav2decompose* spectoseis* |
| 258 | + |
| 259 | + |
| 260 | +B) Type 'make really_all' and this will attempt to install the flow tracker, for ppre-reqs, see above |
| 261 | + |
| 262 | + |
| 263 | +USAGE: |
| 264 | + |
| 265 | +The main program is 'fstrack', start with -h option for man |
| 266 | +page. Same for other routines. |
| 267 | + |
| 268 | + |
| 269 | +STATUS: |
| 270 | + |
| 271 | +Experimental. |
| 272 | + |
| 273 | + |
| 274 | +@ |
| 275 | + |
| 276 | + |
| 277 | +1.1 |
| 278 | +log |
| 279 | +@Initial revision |
| 280 | +@ |
| 281 | +text |
| 282 | +@a1 4 |
| 283 | +fstrack: set of routines to trace particles in mantle flow. Routines |
| 284 | +use precomputed velocities on GMT grd files. May be distributed with |
| 285 | +DREX by Eduard Kaminski, copyright for these routines remain with |
| 286 | +Kaminski. |
| 287 | +d3 8 |
| 288 | +a10 2 |
| 289 | +Routines for fstrack were developed by Thorsten Becker, James Kellogg, |
| 290 | +and Rick O'Connell. See Becker et al. (GJI, 155, 696, 2003). |
| 291 | +d12 1 |
| 292 | +a12 1 |
| 293 | +Thorsten Becker twb@@usc.edu |
| 294 | +d14 54 |
| 295 | +a67 1 |
| 296 | +$Id$ |
| 297 | +d71 11 |
| 298 | +d85 19 |
| 299 | +a103 15 |
| 300 | +This tar file will expand two directories, d-rex and fstrack, for the |
| 301 | +DREX package and the finite strain tracker, respectively. You will |
| 302 | +need a C, F77, and F90 compiler, and GMT installed. You will also need |
| 303 | +to define an environment variable $ARCH to whatever architecture you |
| 304 | +are on, I do this by using uname automated in .cshrc like so: |
| 305 | + |
| 306 | +setenv ARCH `uname -m | gawk '{print(tolower($1))}'` |
| 307 | + |
| 308 | +Then, first go to d-rex and type `make', this should build the DREX |
| 309 | +based libraries (for copyright see note above). |
| 310 | + |
| 311 | +Then go to the fstrack directory. Environment variables $GMTHOME and |
| 312 | +$NETCDFDIR have to be set to the GMT and netcdf directories, |
| 313 | +respectively. (The FSE trackers uses netcdf grd files to read in |
| 314 | +velocity fields.) In my case, those variables point to |
| 315 | +d111 123 |
| 316 | +a233 1 |
| 317 | +Then, type 'make'. |
| 318 | +@ |
0 commit comments