[cig-commits] r12417 - in seismo/3D/SPECFEM3D_GLOBE/trunk: . DATA DATA/QRFSI12 UTILS UTILS/Profiles

vala at geodynamics.org vala at geodynamics.org
Tue Jul 15 13:45:52 PDT 2008


Author: vala
Date: 2008-07-15 13:45:51 -0700 (Tue, 15 Jul 2008)
New Revision: 12417

Added:
   seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/
   seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/QRFSI12.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/README
   seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/ref_QRFSI12
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/README
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/write_profile.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/attenuation_model_QRFSI12.f90
Modified:
   seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/Par_file
   seismo/3D/SPECFEM3D_GLOBE/trunk/Makefile.in
   seismo/3D/SPECFEM3D_GLOBE/trunk/attenuation_model.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/compute_element_properties.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/constants.h.in
   seismo/3D/SPECFEM3D_GLOBE/trunk/create_regions_mesh.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/get_model.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/meshfem3D.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/read_compute_parameters.f90
Log:
Added 3D mantle model QRFSI12.  This is the new default when choosing ATTENUATION_3D = .true. 
There are two options in the Par_file to choose this model: s362ani_3DQ and s362iso_3DQ

I also added a Utility file that will plot vertical profiles through models.



Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/Par_file
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/Par_file	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/Par_file	2008-07-15 20:45:51 UTC (rev 12417)
@@ -30,7 +30,8 @@
 #
 # fully 3D models:
 # transversely_isotropic_prem_plus_3D_crust_2.0, 3D_anisotropic, 3D_attenuation,
-# s20rts, s362ani, s362iso, s362wmani, s362ani_prem, s29ea, s29ea,sea99_jp3d1994,sea99,jp3d1994,heterogen
+# s20rts, s362ani, s362iso, s362wmani, s362ani_prem, s362ani_3DQ, s362iso_3DQ,
+# s29ea, s29ea,sea99_jp3d1994,sea99,jp3d1994,heterogen
 MODEL                           = 1D_isotropic_prem
 
 # parameters describing the Earth model

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/QRFSI12.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/QRFSI12.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/QRFSI12.dat	2008-07-15 20:45:51 UTC (rev 12417)
@@ -0,0 +1,737 @@
+1
+  0  0 -0.32078E-02
+  1  0 -0.31897E-02
+  1  1  0.11051E-02 -0.44433E-03
+  2  0 -0.18812E-03
+  2  1 -0.44890E-03  0.95769E-03
+  2  2 -0.12345E-03 -0.15051E-03
+  3  0 -0.84870E-04
+  3  1  0.32441E-03 -0.12586E-03
+  3  2  0.36917E-04  0.44043E-03
+  3  3  0.10186E-03  0.16265E-03
+  4  0 -0.31300E-03
+  4  1  0.20807E-03 -0.22042E-03
+  4  2  0.40416E-03  0.48120E-03
+  4  3 -0.48010E-03 -0.16926E-03
+  4  4 -0.26174E-03  0.36605E-03
+  5  0  0.73234E-03
+  5  1  0.16254E-03 -0.20494E-03
+  5  2  0.42227E-03 -0.20006E-03
+  5  3 -0.33740E-03 -0.54864E-03
+  5  4 -0.93311E-03 -0.81211E-03
+  5  5  0.36758E-03 -0.76725E-03
+  6  0  0.82492E-04
+  6  1 -0.12749E-03  0.48006E-03
+  6  2  0.28389E-03  0.54137E-04
+  6  3 -0.12824E-03  0.11594E-04
+  6  4  0.89826E-05  0.16820E-03
+  6  5  0.26614E-03  0.26860E-03
+  6  6 -0.16248E-04  0.25139E-03
+  7  0  0.44671E-03
+  7  1 -0.14092E-03 -0.72953E-04
+  7  2 -0.73732E-05  0.14625E-03
+  7  3 -0.46589E-03 -0.19486E-04
+  7  4  0.21655E-03  0.26520E-03
+  7  5 -0.22848E-03  0.51781E-03
+  7  6  0.51313E-04 -0.18245E-03
+  7  7 -0.26141E-03  0.17942E-03
+  8  0  0.96979E-05
+  8  1 -0.27621E-03  0.40317E-05
+  8  2  0.62147E-03  0.10595E-03
+  8  3  0.84630E-04  0.12454E-03
+  8  4 -0.21478E-03 -0.13562E-03
+  8  5 -0.16834E-03  0.44196E-03
+  8  6  0.20330E-03 -0.86383E-04
+  8  7 -0.12713E-03  0.18243E-03
+  8  8  0.30842E-03 -0.21426E-04
+  9  0  0.18366E-04
+  9  1 -0.12295E-03  0.84491E-04
+  9  2  0.16488E-03  0.54414E-04
+  9  3  0.48997E-03  0.19124E-04
+  9  4  0.23570E-04  0.81512E-04
+  9  5 -0.49100E-04 -0.78860E-04
+  9  6  0.40793E-03  0.12218E-03
+  9  7  0.81454E-05 -0.44406E-03
+  9  8  0.23216E-03 -0.45164E-04
+  9  9  0.13281E-03  0.10280E-03
+ 10  0  0.14310E-03
+ 10  1 -0.26050E-03  0.10615E-03
+ 10  2 -0.92917E-04 -0.10382E-03
+ 10  3  0.19825E-03  0.24063E-04
+ 10  4 -0.92684E-04  0.28688E-04
+ 10  5 -0.12798E-04 -0.17542E-04
+ 10  6  0.53353E-04  0.23140E-04
+ 10  7  0.21980E-03 -0.12944E-03
+ 10  8 -0.31304E-04 -0.49056E-04
+ 10  9 -0.46821E-04 -0.15448E-03
+ 10 10  0.16338E-03 -0.12829E-03
+ 11  0  0.15886E-03
+ 11  1  0.26714E-05  0.14968E-05
+ 11  2  0.22970E-03 -0.37734E-03
+ 11  3  0.19922E-03 -0.59313E-04
+ 11  4  0.27307E-03  0.30818E-03
+ 11  5  0.17368E-03  0.46219E-04
+ 11  6  0.38835E-04 -0.87303E-04
+ 11  7  0.29958E-03 -0.16024E-03
+ 11  8  0.52518E-05 -0.13903E-05
+ 11  9  0.13252E-03  0.18985E-03
+ 11 10 -0.26180E-03  0.57457E-04
+ 11 11  0.24331E-04  0.24891E-03
+ 12  0  0.18202E-03
+ 12  1  0.98559E-04  0.88272E-04
+ 12  2 -0.98820E-04 -0.15330E-03
+ 12  3  0.96650E-04  0.22192E-04
+ 12  4  0.18355E-03  0.24969E-03
+ 12  5 -0.31414E-04 -0.11230E-03
+ 12  6  0.11880E-03 -0.66284E-05
+ 12  7  0.37539E-04  0.64509E-04
+ 12  8  0.25309E-03 -0.17577E-03
+ 12  9 -0.27767E-03  0.23274E-03
+ 12 10 -0.16390E-03  0.26239E-03
+ 12 11 -0.34348E-03  0.30023E-03
+ 12 12  0.10790E-03 -0.19230E-03
+2
+  0  0  0.33360E-03
+  1  0 -0.49725E-02
+  1  1  0.18065E-02 -0.94442E-03
+  2  0 -0.81682E-03
+  2  1 -0.11603E-02  0.21908E-02
+  2  2 -0.26640E-03 -0.64283E-03
+  3  0 -0.14843E-03
+  3  1  0.14075E-02 -0.54123E-03
+  3  2 -0.64951E-04  0.11629E-02
+  3  3 -0.12884E-03  0.32538E-03
+  4  0 -0.20276E-02
+  4  1  0.15908E-02 -0.56707E-03
+  4  2  0.11561E-02  0.14492E-02
+  4  3 -0.25153E-02 -0.84748E-03
+  4  4 -0.61834E-03  0.13563E-02
+  5  0  0.25619E-02
+  5  1  0.65206E-03 -0.78308E-04
+  5  2  0.19753E-02 -0.68134E-03
+  5  3 -0.13580E-02 -0.19591E-02
+  5  4 -0.32300E-02 -0.34178E-02
+  5  5  0.61857E-03 -0.17440E-02
+  6  0 -0.27550E-03
+  6  1 -0.23699E-03  0.15414E-02
+  6  2  0.10767E-02  0.78269E-03
+  6  3 -0.72092E-03 -0.14530E-03
+  6  4 -0.75613E-04  0.21687E-03
+  6  5  0.83358E-03  0.15572E-02
+  6  6  0.12160E-03  0.69896E-03
+  7  0  0.17107E-02
+  7  1 -0.10676E-02 -0.36992E-03
+  7  2 -0.25594E-03  0.41577E-03
+  7  3 -0.17641E-02  0.12725E-03
+  7  4  0.62051E-03  0.11815E-02
+  7  5 -0.75494E-03  0.15701E-02
+  7  6  0.10197E-03 -0.11944E-02
+  7  7 -0.58777E-03  0.14477E-02
+  8  0  0.15375E-03
+  8  1 -0.67628E-03  0.40356E-04
+  8  2  0.28890E-02  0.27496E-03
+  8  3  0.78609E-03  0.44263E-03
+  8  4 -0.78417E-03 -0.53528E-03
+  8  5 -0.72795E-03  0.14477E-02
+  8  6  0.98288E-03 -0.67468E-03
+  8  7 -0.97932E-03  0.46620E-03
+  8  8  0.95380E-03 -0.58791E-03
+  9  0 -0.16476E-03
+  9  1 -0.14666E-03  0.39479E-03
+  9  2  0.10454E-02  0.18573E-03
+  9  3  0.22368E-02 -0.27009E-03
+  9  4 -0.20655E-03  0.41361E-03
+  9  5 -0.38794E-03 -0.39720E-04
+  9  6  0.12631E-02  0.72959E-03
+  9  7 -0.10304E-03 -0.19351E-02
+  9  8  0.78843E-03 -0.36281E-03
+  9  9  0.45112E-03 -0.17739E-04
+ 10  0  0.54740E-03
+ 10  1 -0.11076E-02  0.15567E-03
+ 10  2 -0.19921E-03 -0.24665E-03
+ 10  3  0.10687E-02 -0.88719E-04
+ 10  4  0.24028E-05 -0.88446E-04
+ 10  5 -0.46882E-03  0.95052E-05
+ 10  6 -0.69833E-05 -0.11534E-03
+ 10  7  0.65327E-03 -0.67464E-03
+ 10  8 -0.16825E-04 -0.20160E-03
+ 10  9 -0.10390E-04 -0.41556E-03
+ 10 10  0.81042E-03 -0.39050E-03
+ 11  0  0.52600E-03
+ 11  1  0.40362E-03 -0.18289E-03
+ 11  2  0.11591E-02 -0.17461E-02
+ 11  3  0.82830E-03 -0.12874E-03
+ 11  4  0.11388E-02  0.94393E-03
+ 11  5  0.42872E-03  0.36510E-03
+ 11  6 -0.28831E-03 -0.36135E-03
+ 11  7  0.12178E-02 -0.90186E-03
+ 11  8 -0.24368E-04  0.12960E-03
+ 11  9  0.88067E-03  0.11566E-02
+ 11 10 -0.10760E-02  0.13774E-03
+ 11 11  0.10459E-02  0.98971E-03
+ 12  0  0.85327E-03
+ 12  1  0.55020E-03  0.47002E-03
+ 12  2 -0.23779E-03 -0.68876E-03
+ 12  3  0.43135E-03  0.33396E-03
+ 12  4  0.78662E-03  0.13707E-02
+ 12  5 -0.54095E-03 -0.69584E-03
+ 12  6  0.37355E-03  0.14947E-03
+ 12  7  0.52000E-04  0.27732E-03
+ 12  8  0.75817E-03 -0.65092E-03
+ 12  9 -0.11246E-02  0.81641E-03
+ 12 10 -0.46588E-03  0.12646E-02
+ 12 11 -0.13055E-02  0.14197E-02
+ 12 12  0.55078E-03 -0.93269E-03
+3
+  0  0  0.33893E-01
+  1  0  0.93509E-03
+  1  1  0.26675E-02 -0.25474E-02
+  2  0 -0.39937E-02
+  2  1  0.21789E-02 -0.13851E-02
+  2  2  0.62587E-03 -0.66784E-03
+  3  0  0.11363E-02
+  3  1 -0.24366E-02  0.67234E-03
+  3  2  0.18651E-02  0.14406E-02
+  3  3 -0.59589E-03 -0.62580E-03
+  4  0 -0.81519E-03
+  4  1 -0.85013E-03  0.19320E-02
+  4  2  0.13792E-02  0.25757E-02
+  4  3  0.62072E-04  0.19350E-02
+  4  4  0.27127E-02 -0.43910E-03
+  5  0  0.40236E-03
+  5  1  0.15555E-02 -0.39944E-03
+  5  2  0.24498E-02 -0.94994E-03
+  5  3 -0.16843E-02  0.17502E-03
+  5  4 -0.42855E-03 -0.22502E-02
+  5  5  0.52062E-03  0.83018E-03
+  6  0 -0.10676E-02
+  6  1  0.12832E-02 -0.94184E-05
+  6  2 -0.39950E-03 -0.31912E-03
+  6  3  0.11455E-02 -0.17212E-02
+  6  4  0.23035E-02  0.27254E-03
+  6  5  0.10670E-02 -0.94528E-03
+  6  6 -0.60242E-03 -0.27638E-03
+  7  0  0.10977E-02
+  7  1  0.30263E-03 -0.18124E-02
+  7  2  0.26142E-03 -0.31272E-03
+  7  3 -0.26721E-03 -0.90700E-03
+  7  4  0.10199E-02 -0.68745E-03
+  7  5  0.16452E-02 -0.47179E-03
+  7  6  0.34453E-03 -0.11369E-02
+  7  7 -0.10254E-02  0.51209E-03
+  8  0  0.11681E-02
+  8  1  0.99323E-04 -0.67924E-04
+  8  2  0.59292E-04 -0.37380E-03
+  8  3  0.16067E-02 -0.63953E-04
+  8  4 -0.65872E-03 -0.35629E-04
+  8  5  0.70541E-03 -0.15413E-02
+  8  6  0.79101E-03  0.74439E-03
+  8  7  0.31575E-03 -0.88928E-03
+  8  8 -0.47560E-03  0.47246E-04
+  9  0  0.10663E-02
+  9  1  0.17856E-02 -0.42473E-03
+  9  2  0.65734E-03 -0.33835E-03
+  9  3  0.66393E-03 -0.71971E-03
+  9  4  0.11182E-02 -0.81994E-03
+  9  5 -0.11395E-03  0.43776E-03
+  9  6  0.17701E-02 -0.12751E-02
+  9  7 -0.18122E-03 -0.19530E-03
+  9  8 -0.62988E-03 -0.19592E-02
+  9  9 -0.19180E-03  0.10248E-02
+ 10  0  0.44465E-03
+ 10  1 -0.47257E-03  0.76509E-03
+ 10  2  0.10606E-02 -0.13776E-03
+ 10  3 -0.37968E-03 -0.99444E-04
+ 10  4 -0.61321E-03 -0.36947E-03
+ 10  5  0.38303E-03  0.76794E-03
+ 10  6  0.22834E-03 -0.53229E-03
+ 10  7  0.86221E-03 -0.45673E-03
+ 10  8 -0.13670E-02 -0.43439E-03
+ 10  9 -0.90592E-03 -0.81612E-04
+ 10 10  0.15785E-03 -0.72408E-03
+ 11  0  0.11884E-02
+ 11  1 -0.21330E-02  0.62898E-03
+ 11  2  0.57877E-03 -0.19096E-04
+ 11  3  0.16204E-03  0.28931E-03
+ 11  4 -0.27669E-03  0.46648E-03
+ 11  5 -0.22653E-03  0.66360E-03
+ 11  6  0.57167E-03 -0.58211E-03
+ 11  7  0.11153E-02 -0.50411E-03
+ 11  8 -0.11530E-03  0.41112E-04
+ 11  9 -0.88356E-03 -0.33112E-03
+ 11 10 -0.53615E-04 -0.21672E-03
+ 11 11  0.10518E-03  0.43708E-04
+ 12  0  0.98578E-03
+ 12  1 -0.12906E-02 -0.22282E-03
+ 12  2 -0.13552E-02 -0.30478E-03
+ 12  3 -0.16707E-03  0.58718E-03
+ 12  4  0.44798E-04  0.52963E-03
+ 12  5 -0.15685E-03  0.30378E-03
+ 12  6  0.57559E-03  0.60771E-03
+ 12  7  0.94800E-03  0.32786E-03
+ 12  8  0.52195E-03  0.45107E-03
+ 12  9 -0.68011E-03 -0.69757E-04
+ 12 10 -0.48928E-04  0.38802E-03
+ 12 11 -0.19342E-03  0.75045E-03
+ 12 12  0.82463E-03 -0.14557E-03
+4
+  0  0  0.14618E-01
+  1  0 -0.23232E-02
+  1  1  0.14979E-02 -0.26661E-03
+  2  0 -0.10494E-02
+  2  1  0.24421E-03  0.88883E-03
+  2  2 -0.10518E-02 -0.48025E-04
+  3  0 -0.39573E-03
+  3  1 -0.82121E-03  0.39926E-04
+  3  2  0.60927E-03  0.10974E-03
+  3  3  0.13434E-03  0.49584E-03
+  4  0  0.45291E-03
+  4  1 -0.94272E-03 -0.12920E-03
+  4  2  0.11715E-02  0.12078E-02
+  4  3  0.10272E-02  0.46765E-03
+  4  4 -0.26268E-03  0.26844E-03
+  5  0  0.54105E-03
+  5  1  0.52329E-03 -0.12653E-02
+  5  2  0.30263E-03 -0.33819E-03
+  5  3 -0.44362E-03 -0.32300E-03
+  5  4 -0.10437E-02 -0.54464E-03
+  5  5  0.13353E-02 -0.15082E-02
+  6  0  0.46182E-03
+  6  1 -0.16755E-03  0.57738E-03
+  6  2  0.14527E-03 -0.73828E-03
+  6  3  0.59031E-03 -0.27945E-03
+  6  4  0.48090E-03  0.77777E-03
+  6  5  0.85757E-03 -0.87664E-03
+  6  6 -0.58600E-03  0.19005E-03
+  7  0  0.60270E-03
+  7  1  0.53758E-03 -0.29836E-03
+  7  2  0.44445E-03  0.26998E-03
+  7  3 -0.33167E-03 -0.33203E-03
+  7  4  0.62675E-03 -0.20122E-03
+  7  5  0.70686E-04  0.73346E-03
+  7  6  0.31735E-03 -0.14166E-03
+  7  7 -0.67186E-03 -0.51738E-03
+  8  0  0.24180E-03
+  8  1 -0.67365E-03  0.24110E-05
+  8  2 -0.74246E-04  0.31842E-03
+  8  3 -0.34300E-04  0.13904E-03
+  8  4 -0.30347E-03 -0.86966E-04
+  8  5  0.13347E-03  0.19653E-03
+  8  6  0.25764E-03  0.46789E-03
+  8  7  0.59771E-03  0.15904E-04
+  8  8  0.42954E-03  0.56110E-03
+  9  0  0.53078E-03
+  9  1 -0.12151E-03 -0.10151E-03
+  9  2 -0.11322E-03 -0.26054E-07
+  9  3  0.17629E-03  0.19000E-03
+  9  4  0.57093E-03 -0.15606E-03
+  9  5  0.16519E-03 -0.18668E-03
+  9  6  0.11543E-02 -0.35456E-03
+  9  7  0.98635E-04 -0.16359E-03
+  9  8  0.24272E-03 -0.22149E-03
+  9  9  0.70200E-04  0.85053E-03
+ 10  0  0.24076E-03
+ 10  1 -0.24885E-03  0.47857E-03
+ 10  2  0.26972E-04 -0.33973E-03
+ 10  3 -0.31510E-03  0.14525E-03
+ 10  4 -0.64007E-03  0.15066E-03
+ 10  5  0.66703E-03  0.11410E-03
+ 10  6  0.28498E-03  0.19377E-03
+ 10  7  0.64148E-03 -0.11620E-04
+ 10  8 -0.56844E-03 -0.10945E-03
+ 10  9 -0.45362E-03 -0.28491E-03
+ 10 10  0.33555E-04 -0.41177E-03
+ 11  0  0.54506E-03
+ 11  1 -0.93802E-03  0.31875E-03
+ 11  2  0.40594E-04 -0.99974E-04
+ 11  3  0.12721E-03 -0.17858E-03
+ 11  4  0.56873E-04  0.62487E-03
+ 11  5  0.30085E-03  0.49710E-04
+ 11  6  0.55313E-03 -0.23802E-03
+ 11  7  0.46382E-03  0.26544E-05
+ 11  8  0.47318E-04 -0.11309E-03
+ 11  9 -0.55505E-03 -0.26855E-03
+ 11 10 -0.24831E-03  0.54610E-04
+ 11 11 -0.90284E-03  0.20203E-03
+ 12  0  0.25604E-03
+ 12  1 -0.45238E-03 -0.89970E-04
+ 12  2 -0.55905E-03 -0.11454E-03
+ 12  3 -0.44600E-04 -0.10248E-03
+ 12  4  0.80640E-04 -0.27633E-04
+ 12  5  0.40241E-03  0.22246E-03
+ 12  6  0.29990E-03 -0.10219E-03
+ 12  7  0.40342E-03  0.12877E-03
+ 12  8  0.59219E-03 -0.14685E-03
+ 12  9 -0.37314E-03  0.29574E-03
+ 12 10 -0.37167E-03  0.12633E-03
+ 12 11 -0.43703E-03  0.17737E-03
+ 12 12  0.14221E-03  0.20736E-05
+5
+  0  0  0.11824E-02
+  1  0 -0.29176E-02
+  1  1  0.48216E-03 -0.23165E-03
+  2  0 -0.34295E-03
+  2  1 -0.12623E-02  0.81166E-03
+  2  2  0.23525E-03 -0.12514E-02
+  3  0 -0.35858E-03
+  3  1  0.14545E-02 -0.19379E-02
+  3  2  0.95565E-04 -0.71007E-03
+  3  3 -0.34721E-03  0.30399E-03
+  4  0  0.50629E-03
+  4  1 -0.72746E-03 -0.57111E-03
+  4  2  0.59185E-03 -0.12886E-03
+  4  3  0.42824E-03  0.69987E-04
+  4  4 -0.97815E-03  0.99892E-03
+  5  0  0.67923E-03
+  5  1 -0.23389E-04 -0.82110E-03
+  5  2  0.13007E-03 -0.15281E-03
+  5  3 -0.10964E-04 -0.42513E-03
+  5  4 -0.36949E-03  0.94978E-04
+  5  5  0.73226E-03 -0.12394E-02
+  6  0  0.84833E-03
+  6  1 -0.71482E-03  0.41696E-03
+  6  2  0.46750E-03 -0.21675E-05
+  6  3  0.20744E-03 -0.38959E-03
+  6  4  0.35502E-03  0.25445E-03
+  6  5  0.26739E-03 -0.56332E-03
+  6  6 -0.88717E-03  0.23641E-03
+  7  0  0.34540E-03
+  7  1  0.22431E-03 -0.42948E-03
+  7  2  0.56110E-03  0.47606E-03
+  7  3 -0.36889E-03 -0.54692E-03
+  7  4  0.90449E-04 -0.17537E-03
+  7  5 -0.17489E-04  0.57807E-03
+  7  6 -0.11058E-03  0.30424E-03
+  7  7 -0.10892E-02 -0.79334E-03
+  8  0  0.19036E-04
+  8  1 -0.71775E-03 -0.17684E-03
+  8  2  0.49283E-04  0.92667E-04
+  8  3 -0.28265E-03  0.85320E-04
+  8  4 -0.27175E-03  0.54679E-04
+  8  5  0.82066E-04  0.51082E-03
+  8  6  0.68289E-05  0.22991E-03
+  8  7  0.41991E-03  0.39121E-03
+  8  8  0.24447E-03  0.44496E-03
+  9  0  0.40666E-03
+  9  1 -0.27545E-03 -0.10220E-03
+  9  2 -0.30570E-03 -0.15723E-03
+  9  3 -0.18626E-04  0.36502E-03
+  9  4  0.46107E-03 -0.61459E-04
+  9  5  0.51888E-04 -0.15584E-03
+  9  6  0.65095E-03 -0.38122E-03
+  9  7  0.58560E-04 -0.13336E-03
+  9  8  0.12857E-03  0.21102E-03
+  9  9  0.22525E-03  0.24793E-03
+ 10  0  0.10293E-03
+ 10  1  0.91926E-04  0.38363E-03
+ 10  2 -0.17737E-03 -0.36555E-03
+ 10  3 -0.32410E-03  0.24801E-03
+ 10  4 -0.30962E-03  0.18355E-03
+ 10  5  0.34879E-03  0.35846E-04
+ 10  6  0.19095E-03  0.31044E-03
+ 10  7  0.16615E-03 -0.83541E-04
+ 10  8 -0.10637E-03 -0.29728E-04
+ 10  9 -0.71134E-04 -0.25001E-03
+ 10 10 -0.48639E-04 -0.25503E-03
+ 11  0  0.18684E-03
+ 11  1 -0.30201E-03  0.29803E-03
+ 11  2 -0.14280E-03  0.28082E-04
+ 11  3 -0.52843E-04 -0.10793E-04
+ 11  4  0.15611E-03  0.52690E-03
+ 11  5  0.35810E-03 -0.18985E-03
+ 11  6  0.51079E-03  0.19154E-03
+ 11  7 -0.95724E-05  0.10871E-03
+ 11  8  0.71000E-05 -0.12675E-03
+ 11  9 -0.17923E-03 -0.25148E-03
+ 11 10 -0.10440E-04  0.24474E-03
+ 11 11 -0.10058E-02  0.20932E-03
+ 12  0 -0.37386E-05
+ 12  1 -0.94486E-04 -0.56475E-04
+ 12  2 -0.17577E-03  0.20967E-04
+ 12  3 -0.52887E-04 -0.18899E-03
+ 12  4  0.24639E-05 -0.30552E-03
+ 12  5  0.45148E-03  0.11252E-03
+ 12  6  0.24768E-03 -0.87384E-04
+ 12  7  0.11424E-03  0.74857E-04
+ 12  8  0.22175E-03 -0.12716E-03
+ 12  9 -0.12855E-04  0.28991E-03
+ 12 10 -0.14159E-03 -0.83394E-05
+ 12 11 -0.33317E-03 -0.31645E-04
+ 12 12  0.33330E-04  0.10581E-04
+6
+  0  0 -0.97253E-02
+  1  0 -0.14261E-02
+  1  1  0.32282E-03 -0.10516E-02
+  2  0  0.28956E-03
+  2  1 -0.75881E-03 -0.25788E-03
+  2  2  0.19740E-02 -0.86399E-03
+  3  0  0.28815E-03
+  3  1  0.12359E-02 -0.14748E-02
+  3  2  0.18801E-03  0.21364E-03
+  3  3  0.16618E-03 -0.20286E-03
+  4  0  0.87421E-03
+  4  1 -0.78561E-03 -0.30111E-03
+  4  2 -0.50713E-04 -0.44222E-03
+  4  3  0.18209E-04  0.17639E-03
+  4  4 -0.49138E-03  0.55388E-03
+  5  0  0.71946E-03
+  5  1 -0.29754E-03 -0.23987E-03
+  5  2 -0.98864E-05 -0.13005E-03
+  5  3  0.86583E-04 -0.42204E-03
+  5  4 -0.52615E-04  0.25865E-03
+  5  5  0.30140E-03 -0.10035E-02
+  6  0  0.75425E-03
+  6  1 -0.56090E-03  0.39631E-03
+  6  2  0.38190E-03  0.18559E-03
+  6  3 -0.15881E-03 -0.91426E-04
+  6  4  0.30683E-03 -0.44934E-04
+  6  5 -0.18981E-03 -0.28879E-04
+  6  6 -0.39834E-03  0.43784E-03
+  7  0  0.17781E-03
+  7  1  0.83550E-04 -0.30083E-03
+  7  2  0.24792E-03  0.32809E-03
+  7  3 -0.42462E-03 -0.49385E-03
+  7  4 -0.47275E-04  0.17638E-04
+  7  5 -0.15008E-03  0.48149E-03
+  7  6 -0.26296E-03  0.64340E-03
+  7  7 -0.10490E-02 -0.69115E-03
+  8  0 -0.19642E-03
+  8  1 -0.49642E-03 -0.19677E-03
+  8  2  0.21694E-03 -0.12450E-03
+  8  3 -0.35059E-03  0.61249E-04
+  8  4 -0.24514E-03  0.19649E-04
+  8  5 -0.41569E-04  0.66818E-03
+  8  6 -0.19243E-03  0.64438E-04
+  8  7  0.11711E-03  0.61778E-03
+  8  8  0.18298E-03  0.25907E-03
+  9  0  0.17045E-03
+  9  1 -0.27379E-03 -0.28066E-04
+  9  2 -0.28605E-03 -0.10973E-03
+  9  3  0.35509E-04  0.36391E-03
+  9  4  0.25830E-03 -0.28474E-04
+  9  5 -0.46294E-05 -0.21568E-03
+  9  6  0.25077E-03 -0.27152E-03
+  9  7  0.57469E-04 -0.18538E-03
+  9  8  0.80010E-04  0.27143E-03
+  9  9  0.29070E-03 -0.70235E-04
+ 10  0  0.38614E-04
+ 10  1  0.11615E-03  0.27781E-03
+ 10  2 -0.28394E-03 -0.21176E-03
+ 10  3 -0.63886E-04  0.24894E-03
+ 10  4 -0.95431E-04  0.16344E-03
+ 10  5  0.15777E-05 -0.82029E-04
+ 10  6  0.15043E-03  0.19503E-03
+ 10  7 -0.20570E-04 -0.90925E-04
+ 10  8  0.21779E-03 -0.84619E-05
+ 10  9  0.10183E-03 -0.25631E-03
+ 10 10 -0.66193E-04 -0.10182E-03
+ 11  0 -0.20703E-04
+ 11  1  0.98476E-04  0.18059E-03
+ 11  2 -0.97930E-04  0.10050E-04
+ 11  3  0.12197E-05  0.80857E-04
+ 11  4  0.24757E-03  0.40440E-03
+ 11  5  0.37561E-03 -0.25866E-03
+ 11  6  0.38670E-03  0.28163E-03
+ 11  7 -0.93499E-04  0.12460E-03
+ 11  8 -0.15110E-04 -0.11135E-03
+ 11  9  0.12842E-03 -0.18077E-03
+ 11 10  0.47457E-04  0.27022E-03
+ 11 11 -0.75851E-03  0.20566E-03
+ 12  0 -0.89014E-04
+ 12  1  0.19270E-03 -0.85284E-05
+ 12  2  0.30244E-04  0.23131E-04
+ 12  3  0.37810E-04 -0.18206E-03
+ 12  4  0.49784E-04 -0.27672E-03
+ 12  5  0.28512E-03  0.25028E-04
+ 12  6  0.18220E-03 -0.47982E-04
+ 12  7 -0.89796E-04  0.87865E-05
+ 12  8  0.10259E-03 -0.97859E-04
+ 12  9  0.46053E-04  0.24984E-03
+ 12 10 -0.59072E-04 -0.47512E-04
+ 12 11 -0.22768E-03 -0.33843E-04
+ 12 12 -0.22265E-04 -0.47177E-04
+7
+  0  0 -0.86946E-02
+  1  0 -0.27765E-03
+  1  1  0.36449E-03 -0.78581E-03
+  2  0  0.11972E-03
+  2  1  0.45072E-03 -0.84355E-03
+  2  2  0.19229E-02 -0.95631E-04
+  3  0  0.52868E-03
+  3  1  0.25401E-03 -0.40872E-03
+  3  2  0.35883E-03  0.73487E-03
+  3  3  0.40336E-03 -0.41189E-03
+  4  0  0.67790E-03
+  4  1 -0.57124E-03  0.16358E-03
+  4  2 -0.23443E-03 -0.28084E-03
+  4  3 -0.12857E-03  0.33076E-03
+  4  4  0.26753E-03  0.40379E-04
+  5  0  0.36363E-03
+  5  1 -0.15744E-03  0.11479E-03
+  5  2  0.59006E-04 -0.15316E-03
+  5  3 -0.28381E-04 -0.16458E-03
+  5  4  0.13533E-03  0.11146E-03
+  5  5 -0.19280E-04 -0.32494E-03
+  6  0  0.27129E-03
+  6  1 -0.94349E-04  0.17993E-03
+  6  2  0.11455E-03  0.10444E-03
+  6  3 -0.15717E-03 -0.90905E-05
+  6  4  0.31872E-03 -0.15715E-03
+  6  5 -0.24620E-03  0.75408E-04
+  6  6 -0.26067E-04  0.28300E-03
+  7  0  0.51908E-04
+  7  1  0.63210E-04 -0.22819E-03
+  7  2  0.19920E-04  0.58359E-04
+  7  3 -0.22171E-03 -0.32385E-03
+  7  4  0.63655E-05  0.39536E-05
+  7  5  0.23834E-04  0.13289E-03
+  7  6 -0.17490E-03  0.43729E-03
+  7  7 -0.60891E-03 -0.34110E-03
+  8  0 -0.11809E-03
+  8  1 -0.12197E-03 -0.11345E-03
+  8  2  0.11585E-03 -0.22093E-03
+  8  3 -0.11315E-03 -0.10068E-06
+  8  4 -0.13305E-03  0.13079E-04
+  8  5  0.13002E-04  0.27677E-03
+  8  6 -0.16003E-03  0.55250E-04
+  8  7 -0.61764E-06  0.34084E-03
+  8  8  0.14964E-04  0.68603E-04
+  9  0  0.72169E-04
+  9  1  0.18249E-04 -0.38156E-04
+  9  2 -0.11835E-03 -0.68087E-04
+  9  3  0.22465E-04  0.13690E-03
+  9  4  0.14887E-03 -0.79323E-04
+  9  5 -0.87493E-05 -0.11131E-03
+  9  6  0.67198E-04 -0.21893E-03
+  9  7  0.25710E-04 -0.68126E-04
+  9  8 -0.56635E-04  0.11721E-04
+  9  9  0.15838E-03 -0.90967E-04
+ 10  0  0.10083E-04
+ 10  1  0.59854E-04  0.15915E-03
+ 10  2 -0.11128E-03 -0.34128E-04
+ 10  3  0.20392E-04  0.12444E-03
+ 10  4 -0.16681E-04  0.55852E-04
+ 10  5 -0.12882E-03 -0.28394E-04
+ 10  6  0.86359E-04  0.19489E-04
+ 10  7 -0.29597E-04 -0.64262E-04
+ 10  8  0.14899E-03 -0.78992E-05
+ 10  9  0.61400E-04 -0.13594E-03
+ 10 10 -0.61634E-04 -0.34444E-04
+ 11  0 -0.24605E-04
+ 11  1  0.28241E-04  0.96413E-04
+ 11  2 -0.20559E-04  0.58103E-04
+ 11  3  0.14039E-04  0.11437E-03
+ 11  4  0.10849E-03  0.16330E-03
+ 11  5  0.17660E-03 -0.11817E-03
+ 11  6  0.20630E-03  0.15008E-03
+ 11  7 -0.29493E-04  0.64727E-04
+ 11  8 -0.22189E-04 -0.45143E-04
+ 11  9  0.95050E-04 -0.13340E-03
+ 11 10  0.85319E-04  0.13381E-03
+ 11 11 -0.32340E-03  0.79542E-04
+ 12  0 -0.26468E-04
+ 12  1  0.10719E-03 -0.23144E-04
+ 12  2  0.45531E-05  0.52427E-05
+ 12  3  0.38756E-04 -0.57366E-04
+ 12  4  0.28507E-04 -0.14944E-03
+ 12  5  0.82595E-04  0.29011E-04
+ 12  6  0.10708E-03  0.27962E-04
+ 12  7 -0.68291E-04 -0.16809E-04
+ 12  8  0.23456E-04  0.26454E-04
+ 12  9  0.24523E-04  0.83816E-04
+ 12 10  0.70741E-05 -0.50898E-04
+ 12 11 -0.44949E-04 -0.72881E-05
+ 12 12  0.19987E-04 -0.27404E-04
+8
+  0  0 -0.63305E-02
+  1  0 -0.17479E-03
+  1  1  0.37583E-03 -0.42004E-03
+  2  0  0.80035E-04
+  2  1  0.67054E-03 -0.66170E-03
+  2  2  0.13865E-02  0.11605E-03
+  3  0  0.39162E-03
+  3  1  0.27990E-04 -0.10643E-03
+  3  2  0.28925E-03  0.65546E-03
+  3  3  0.40297E-03 -0.30534E-03
+  4  0  0.51132E-03
+  4  1 -0.39565E-03  0.15725E-03
+  4  2 -0.17886E-03 -0.22370E-03
+  4  3 -0.12241E-03  0.25378E-03
+  4  4  0.29669E-03 -0.26215E-04
+  5  0  0.23849E-03
+  5  1 -0.10095E-03  0.10828E-03
+  5  2  0.20441E-04 -0.12951E-03
+  5  3 -0.30491E-04 -0.11219E-03
+  5  4  0.56932E-04  0.57606E-04
+  5  5 -0.27323E-04 -0.22337E-03
+  6  0  0.15171E-03
+  6  1 -0.22759E-04  0.14184E-03
+  6  2  0.70782E-04  0.32686E-04
+  6  3 -0.13535E-03  0.69459E-04
+  6  4  0.18801E-03 -0.10983E-03
+  6  5 -0.17841E-03  0.68657E-04
+  6  6  0.53612E-04  0.20762E-03
+  7  0  0.26497E-04
+  7  1  0.57216E-04 -0.11397E-03
+  7  2 -0.20475E-04  0.11794E-04
+  7  3 -0.15112E-03 -0.19551E-03
+  7  4  0.31213E-04  0.28366E-04
+  7  5 -0.20097E-05  0.10054E-03
+  7  6 -0.10307E-03  0.30037E-03
+  7  7 -0.37054E-03 -0.21403E-03
+  8  0 -0.98363E-04
+  8  1 -0.54852E-04 -0.58912E-04
+  8  2  0.94590E-04 -0.15876E-03
+  8  3 -0.83050E-04  0.21461E-06
+  8  4 -0.75494E-04  0.34353E-05
+  8  5 -0.19517E-05  0.21204E-03
+  8  6 -0.11442E-03  0.36313E-04
+  8  7 -0.86461E-05  0.23090E-03
+  8  8  0.30091E-04  0.29190E-04
+  9  0  0.22269E-04
+  9  1  0.12292E-04 -0.19327E-04
+  9  2 -0.68833E-04 -0.26501E-04
+  9  3  0.22394E-04  0.82099E-04
+  9  4  0.78483E-04 -0.45996E-04
+  9  5  0.58467E-05 -0.87350E-04
+  9  6  0.31417E-04 -0.12063E-03
+  9  7  0.26022E-04 -0.45644E-04
+  9  8 -0.31056E-04 -0.19915E-05
+  9  9  0.10695E-03 -0.60808E-04
+ 10  0  0.64328E-05
+ 10  1  0.18680E-04  0.96763E-04
+ 10  2 -0.86849E-04  0.20869E-05
+ 10  3  0.41337E-04  0.74487E-04
+ 10  4 -0.13426E-04  0.40457E-04
+ 10  5 -0.11792E-03 -0.27100E-04
+ 10  6  0.61820E-04  0.47973E-05
+ 10  7 -0.66750E-05 -0.33904E-04
+ 10  8  0.11220E-03  0.75329E-05
+ 10  9  0.41601E-04 -0.95842E-04
+ 10 10 -0.42401E-04 -0.15016E-04
+ 11  0 -0.23847E-04
+ 11  1  0.24709E-04  0.46454E-04
+ 11  2 -0.25945E-05  0.32448E-04
+ 11  3  0.24008E-04  0.71602E-04
+ 11  4  0.75671E-04  0.96386E-04
+ 11  5  0.11720E-03 -0.71521E-04
+ 11  6  0.12241E-03  0.83493E-04
+ 11  7 -0.59363E-05  0.44036E-04
+ 11  8 -0.10526E-04 -0.22876E-04
+ 11  9  0.69273E-04 -0.82531E-04
+ 11 10  0.49006E-04  0.81265E-04
+ 11 11 -0.18957E-03  0.52547E-04
+ 12  0 -0.14726E-04
+ 12  1  0.86234E-04 -0.15011E-04
+ 12  2  0.93477E-05 -0.56310E-05
+ 12  3  0.38875E-04 -0.37236E-04
+ 12  4  0.30888E-04 -0.93888E-04
+ 12  5  0.40007E-04  0.18773E-04
+ 12  6  0.65932E-04  0.99141E-05
+ 12  7 -0.57818E-04 -0.22811E-04
+ 12  8  0.24889E-04  0.18978E-04
+ 12  9  0.16019E-05  0.54728E-04
+ 12 10 -0.76589E-05 -0.30973E-04
+ 12 11 -0.24499E-04 -0.81727E-06
+ 12 12  0.14346E-04 -0.19124E-04
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/README
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/README	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/README	2008-07-15 20:45:51 UTC (rev 12417)
@@ -0,0 +1,9 @@
+This directory contains files for reading 3D attenuation model QRFSI12, developed by Colleen Dalton, Goran Ekstrom and Adam Dziewonski.
+
+The model is obtained from fundamental mode Rayleigh wave amplitudes and the data are corrected for Focusing, Source and Instrument effects.  It is a degree 12 spherical harmonic model horizontally with 8 cubic B splines in the radial direction.  It includes a 1D reference model (ref_QRFSI12: columns are depth and 1/Qmu) defined in the whole mantle, and a 3D perturbation model QRFSI12.dat defined at depths between 24.4 km and 650km (read by attenuation_model_QRFSI12.f90 in trunk directory).
+
+Please cite the following references if you use this model:
+Dalton, C.A., G. Ekstrom, A.M. Dziewonski
+The global attenuation structure of the upper mantle
+JGR (in press 2008).
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/ref_QRFSI12
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/ref_QRFSI12	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/DATA/QRFSI12/ref_QRFSI12	2008-07-15 20:45:51 UTC (rev 12417)
@@ -0,0 +1,913 @@
+   1.0000000e+00   1.6666667e-03
+   2.0000000e+00   1.6666667e-03
+   3.0000000e+00   1.6666667e-03
+   4.0000000e+00   1.6666667e-03
+   5.0000000e+00   1.6666667e-03
+   6.0000000e+00   1.6666667e-03
+   7.0000000e+00   1.6666667e-03
+   8.0000000e+00   1.6666667e-03
+   9.0000000e+00   1.6666667e-03
+   1.0000000e+01   1.6666667e-03
+   1.1000000e+01   1.6666667e-03
+   1.2000000e+01   1.6666667e-03
+   1.3000000e+01   1.6666667e-03
+   1.4000000e+01   1.6666667e-03
+   1.5000000e+01   1.6666667e-03
+   1.6000000e+01   1.6666667e-03
+   1.7000000e+01   1.6666667e-03
+   1.8000000e+01   1.6666667e-03
+   1.9000000e+01   1.6666667e-03
+   2.0000000e+01   1.6666667e-03
+   2.1000000e+01   1.6666667e-03
+   2.2000000e+01   1.6666667e-03
+   2.3000000e+01   1.6666667e-03
+   2.4000000e+01   1.6666667e-03
+   2.5000000e+01   6.8290000e-03
+   2.6000000e+01   6.8290000e-03
+   2.7000000e+01   6.8290000e-03
+   2.8000000e+01   6.8290000e-03
+   2.9000000e+01   6.8290000e-03
+   3.0000000e+01   6.8290000e-03
+   3.1000000e+01   6.8290000e-03
+   3.2000000e+01   6.8290000e-03
+   3.3000000e+01   6.8290000e-03
+   3.4000000e+01   6.8290000e-03
+   3.5000000e+01   6.8290000e-03
+   3.6000000e+01   6.8290000e-03
+   3.7000000e+01   6.8290000e-03
+   3.8000000e+01   6.8290000e-03
+   3.9000000e+01   6.8290000e-03
+   4.0000000e+01   6.8290000e-03
+   4.1000000e+01   6.8290000e-03
+   4.2000000e+01   6.8290000e-03
+   4.3000000e+01   6.8290000e-03
+   4.4000000e+01   6.8290000e-03
+   4.5000000e+01   6.8290000e-03
+   4.6000000e+01   6.8290000e-03
+   4.7000000e+01   6.8290000e-03
+   4.8000000e+01   6.8290000e-03
+   4.9000000e+01   6.8290000e-03
+   5.0000000e+01   6.8290000e-03
+   5.1000000e+01   6.8290000e-03
+   5.2000000e+01   6.8290000e-03
+   5.3000000e+01   6.8290000e-03
+   5.4000000e+01   6.8290000e-03
+   5.5000000e+01   6.8290000e-03
+   5.6000000e+01   6.8290000e-03
+   5.7000000e+01   6.8290000e-03
+   5.8000000e+01   6.8290000e-03
+   5.9000000e+01   6.8290000e-03
+   6.0000000e+01   6.8290000e-03
+   6.1000000e+01   6.8290000e-03
+   6.2000000e+01   6.8290000e-03
+   6.3000000e+01   6.8290000e-03
+   6.4000000e+01   6.8290000e-03
+   6.5000000e+01   6.8290000e-03
+   6.6000000e+01   6.8290000e-03
+   6.7000000e+01   6.8290000e-03
+   6.8000000e+01   6.8290000e-03
+   6.9000000e+01   6.8290000e-03
+   7.0000000e+01   6.8290000e-03
+   7.1000000e+01   6.8290000e-03
+   7.2000000e+01   6.8290000e-03
+   7.3000000e+01   6.8290000e-03
+   7.4000000e+01   6.8290000e-03
+   7.5000000e+01   6.8290000e-03
+   7.6000000e+01   6.8290000e-03
+   7.7000000e+01   6.8290000e-03
+   7.8000000e+01   6.8290000e-03
+   7.9000000e+01   6.8290000e-03
+   8.0000000e+01   6.8290000e-03
+   8.1000000e+01   6.8290000e-03
+   8.2000000e+01   6.8290000e-03
+   8.3000000e+01   6.8290000e-03
+   8.4000000e+01   6.8290000e-03
+   8.5000000e+01   6.8290000e-03
+   8.6000000e+01   6.8290000e-03
+   8.7000000e+01   6.8290000e-03
+   8.8000000e+01   6.8290000e-03
+   8.9000000e+01   6.8290000e-03
+   9.0000000e+01   6.8290000e-03
+   9.1000000e+01   6.8290000e-03
+   9.2000000e+01   6.8290000e-03
+   9.3000000e+01   6.8290000e-03
+   9.4000000e+01   6.8290000e-03
+   9.5000000e+01   6.8290000e-03
+   9.6000000e+01   6.8290000e-03
+   9.7000000e+01   6.8290000e-03
+   9.8000000e+01   6.8290000e-03
+   9.9000000e+01   6.8290000e-03
+   1.0000000e+02   6.8290000e-03
+   1.0100000e+02   6.8290000e-03
+   1.0200000e+02   6.8290000e-03
+   1.0300000e+02   6.8290000e-03
+   1.0400000e+02   6.8290000e-03
+   1.0500000e+02   6.8290000e-03
+   1.0600000e+02   6.8290000e-03
+   1.0700000e+02   6.8290000e-03
+   1.0800000e+02   6.8290000e-03
+   1.0900000e+02   6.8290000e-03
+   1.1000000e+02   6.8290000e-03
+   1.1100000e+02   6.8290000e-03
+   1.1200000e+02   6.8290000e-03
+   1.1300000e+02   6.8290000e-03
+   1.1400000e+02   6.8290000e-03
+   1.1500000e+02   6.8290000e-03
+   1.1600000e+02   6.8290000e-03
+   1.1700000e+02   6.8290000e-03
+   1.1800000e+02   6.8290000e-03
+   1.1900000e+02   6.8290000e-03
+   1.2000000e+02   6.8290000e-03
+   1.2100000e+02   6.8290000e-03
+   1.2200000e+02   6.8290000e-03
+   1.2300000e+02   6.8290000e-03
+   1.2400000e+02   6.8290000e-03
+   1.2500000e+02   6.8290000e-03
+   1.2600000e+02   6.8290000e-03
+   1.2700000e+02   6.8290000e-03
+   1.2800000e+02   6.8290000e-03
+   1.2900000e+02   6.8290000e-03
+   1.3000000e+02   6.8290000e-03
+   1.3100000e+02   6.8290000e-03
+   1.3200000e+02   6.8290000e-03
+   1.3300000e+02   6.8290000e-03
+   1.3400000e+02   6.8290000e-03
+   1.3500000e+02   6.8290000e-03
+   1.3600000e+02   6.8290000e-03
+   1.3700000e+02   6.8290000e-03
+   1.3800000e+02   6.8290000e-03
+   1.3900000e+02   6.8290000e-03
+   1.4000000e+02   6.8290000e-03
+   1.4100000e+02   6.8290000e-03
+   1.4200000e+02   6.8290000e-03
+   1.4300000e+02   6.8290000e-03
+   1.4400000e+02   6.8290000e-03
+   1.4500000e+02   6.8290000e-03
+   1.4600000e+02   6.8290000e-03
+   1.4700000e+02   6.8290000e-03
+   1.4800000e+02   6.8290000e-03
+   1.4900000e+02   6.8290000e-03
+   1.5000000e+02   6.8290000e-03
+   1.5100000e+02   6.8290000e-03
+   1.5200000e+02   6.8290000e-03
+   1.5300000e+02   6.8290000e-03
+   1.5400000e+02   6.8290000e-03
+   1.5500000e+02   6.8290000e-03
+   1.5600000e+02   6.8290000e-03
+   1.5700000e+02   6.8290000e-03
+   1.5800000e+02   6.8290000e-03
+   1.5900000e+02   6.8290000e-03
+   1.6000000e+02   6.8290000e-03
+   1.6100000e+02   6.8290000e-03
+   1.6200000e+02   6.8290000e-03
+   1.6300000e+02   6.8290000e-03
+   1.6400000e+02   6.8290000e-03
+   1.6500000e+02   6.8290000e-03
+   1.6600000e+02   6.8290000e-03
+   1.6700000e+02   6.8290000e-03
+   1.6800000e+02   6.8290000e-03
+   1.6900000e+02   6.8290000e-03
+   1.7000000e+02   6.8290000e-03
+   1.7100000e+02   6.8290000e-03
+   1.7200000e+02   6.8290000e-03
+   1.7300000e+02   6.8290000e-03
+   1.7400000e+02   6.8290000e-03
+   1.7500000e+02   6.8290000e-03
+   1.7600000e+02   6.8290000e-03
+   1.7700000e+02   6.8290000e-03
+   1.7800000e+02   6.8290000e-03
+   1.7900000e+02   6.8290000e-03
+   1.8000000e+02   6.8290000e-03
+   1.8100000e+02   6.8290000e-03
+   1.8200000e+02   6.8290000e-03
+   1.8300000e+02   6.8290000e-03
+   1.8400000e+02   6.8290000e-03
+   1.8500000e+02   6.8290000e-03
+   1.8600000e+02   6.8290000e-03
+   1.8700000e+02   6.8290000e-03
+   1.8800000e+02   6.8290000e-03
+   1.8900000e+02   6.8290000e-03
+   1.9000000e+02   6.8290000e-03
+   1.9100000e+02   6.8290000e-03
+   1.9200000e+02   6.8290000e-03
+   1.9300000e+02   6.8290000e-03
+   1.9400000e+02   6.8290000e-03
+   1.9500000e+02   6.8290000e-03
+   1.9600000e+02   6.8290000e-03
+   1.9700000e+02   6.8290000e-03
+   1.9800000e+02   6.8290000e-03
+   1.9900000e+02   6.8290000e-03
+   2.0000000e+02   6.8290000e-03
+   2.0100000e+02   6.8290000e-03
+   2.0200000e+02   6.8290000e-03
+   2.0300000e+02   6.8290000e-03
+   2.0400000e+02   6.8290000e-03
+   2.0500000e+02   6.8290000e-03
+   2.0600000e+02   6.8290000e-03
+   2.0700000e+02   6.8290000e-03
+   2.0800000e+02   6.8290000e-03
+   2.0900000e+02   6.8290000e-03
+   2.1000000e+02   6.8290000e-03
+   2.1100000e+02   6.8290000e-03
+   2.1200000e+02   6.8290000e-03
+   2.1300000e+02   6.8290000e-03
+   2.1400000e+02   6.8290000e-03
+   2.1500000e+02   6.8290000e-03
+   2.1600000e+02   6.8290000e-03
+   2.1700000e+02   6.8290000e-03
+   2.1800000e+02   6.8290000e-03
+   2.1900000e+02   6.8290000e-03
+   2.2000000e+02   6.8290000e-03
+   2.2100000e+02   6.8290000e-03
+   2.2200000e+02   6.8290000e-03
+   2.2300000e+02   6.8290000e-03
+   2.2400000e+02   6.8290000e-03
+   2.2500000e+02   6.8290000e-03
+   2.2600000e+02   6.8290000e-03
+   2.2700000e+02   6.8290000e-03
+   2.2800000e+02   6.8290000e-03
+   2.2900000e+02   6.8290000e-03
+   2.3000000e+02   6.8290000e-03
+   2.3100000e+02   6.8290000e-03
+   2.3200000e+02   6.8290000e-03
+   2.3300000e+02   6.8290000e-03
+   2.3400000e+02   6.8290000e-03
+   2.3500000e+02   6.8290000e-03
+   2.3600000e+02   6.8290000e-03
+   2.3700000e+02   6.8290000e-03
+   2.3800000e+02   6.8290000e-03
+   2.3900000e+02   6.8290000e-03
+   2.4000000e+02   6.8290000e-03
+   2.4100000e+02   6.8290000e-03
+   2.4200000e+02   6.8290000e-03
+   2.4300000e+02   6.8290000e-03
+   2.4400000e+02   6.8290000e-03
+   2.4500000e+02   6.8290000e-03
+   2.4600000e+02   6.8290000e-03
+   2.4700000e+02   6.8290000e-03
+   2.4800000e+02   6.8290000e-03
+   2.4900000e+02   6.8290000e-03
+   2.5000000e+02   6.8290000e-03
+   2.5100000e+02   6.8290000e-03
+   2.5200000e+02   6.8290000e-03
+   2.5300000e+02   6.8290000e-03
+   2.5400000e+02   6.8290000e-03
+   2.5500000e+02   6.8290000e-03
+   2.5600000e+02   6.8290000e-03
+   2.5700000e+02   6.8290000e-03
+   2.5800000e+02   6.8290000e-03
+   2.5900000e+02   6.8290000e-03
+   2.6000000e+02   6.8290000e-03
+   2.6100000e+02   6.8290000e-03
+   2.6200000e+02   6.8290000e-03
+   2.6300000e+02   6.8290000e-03
+   2.6400000e+02   6.8290000e-03
+   2.6500000e+02   6.8290000e-03
+   2.6600000e+02   6.8290000e-03
+   2.6700000e+02   6.8290000e-03
+   2.6800000e+02   6.8290000e-03
+   2.6900000e+02   6.8290000e-03
+   2.7000000e+02   6.8290000e-03
+   2.7100000e+02   6.8290000e-03
+   2.7200000e+02   6.8290000e-03
+   2.7300000e+02   6.8290000e-03
+   2.7400000e+02   6.8290000e-03
+   2.7500000e+02   6.8290000e-03
+   2.7600000e+02   6.8290000e-03
+   2.7700000e+02   6.8290000e-03
+   2.7800000e+02   6.8290000e-03
+   2.7900000e+02   6.8290000e-03
+   2.8000000e+02   6.8290000e-03
+   2.8100000e+02   6.8290000e-03
+   2.8200000e+02   6.8290000e-03
+   2.8300000e+02   6.8290000e-03
+   2.8400000e+02   6.8290000e-03
+   2.8500000e+02   6.8290000e-03
+   2.8600000e+02   6.8290000e-03
+   2.8700000e+02   6.8290000e-03
+   2.8800000e+02   6.8290000e-03
+   2.8900000e+02   6.8290000e-03
+   2.9000000e+02   6.8290000e-03
+   2.9100000e+02   6.8290000e-03
+   2.9200000e+02   6.8290000e-03
+   2.9300000e+02   6.8290000e-03
+   2.9400000e+02   6.8290000e-03
+   2.9500000e+02   6.8290000e-03
+   2.9600000e+02   6.8290000e-03
+   2.9700000e+02   6.8290000e-03
+   2.9800000e+02   6.8290000e-03
+   2.9900000e+02   6.8290000e-03
+   3.0000000e+02   6.8290000e-03
+   3.0100000e+02   6.8290000e-03
+   3.0200000e+02   6.8290000e-03
+   3.0300000e+02   6.8290000e-03
+   3.0400000e+02   6.8290000e-03
+   3.0500000e+02   6.8290000e-03
+   3.0600000e+02   6.8290000e-03
+   3.0700000e+02   6.8290000e-03
+   3.0800000e+02   6.8290000e-03
+   3.0900000e+02   6.8290000e-03
+   3.1000000e+02   6.8290000e-03
+   3.1100000e+02   6.8290000e-03
+   3.1200000e+02   6.8290000e-03
+   3.1300000e+02   6.8290000e-03
+   3.1400000e+02   6.8290000e-03
+   3.1500000e+02   6.8290000e-03
+   3.1600000e+02   6.8290000e-03
+   3.1700000e+02   6.8290000e-03
+   3.1800000e+02   6.8290000e-03
+   3.1900000e+02   6.8290000e-03
+   3.2000000e+02   6.8290000e-03
+   3.2100000e+02   6.8290000e-03
+   3.2200000e+02   6.8290000e-03
+   3.2300000e+02   6.8290000e-03
+   3.2400000e+02   6.8290000e-03
+   3.2500000e+02   6.8290000e-03
+   3.2600000e+02   6.8290000e-03
+   3.2700000e+02   6.8290000e-03
+   3.2800000e+02   6.8290000e-03
+   3.2900000e+02   6.8290000e-03
+   3.3000000e+02   6.8290000e-03
+   3.3100000e+02   6.8290000e-03
+   3.3200000e+02   6.8290000e-03
+   3.3300000e+02   6.8290000e-03
+   3.3400000e+02   6.8290000e-03
+   3.3500000e+02   6.8290000e-03
+   3.3600000e+02   6.8290000e-03
+   3.3700000e+02   6.8290000e-03
+   3.3800000e+02   6.8290000e-03
+   3.3900000e+02   6.8290000e-03
+   3.4000000e+02   6.8290000e-03
+   3.4100000e+02   6.8290000e-03
+   3.4200000e+02   6.8290000e-03
+   3.4300000e+02   6.8290000e-03
+   3.4400000e+02   6.8290000e-03
+   3.4500000e+02   6.8290000e-03
+   3.4600000e+02   6.8290000e-03
+   3.4700000e+02   6.8290000e-03
+   3.4800000e+02   6.8290000e-03
+   3.4900000e+02   6.8290000e-03
+   3.5000000e+02   6.8290000e-03
+   3.5100000e+02   6.8290000e-03
+   3.5200000e+02   6.8290000e-03
+   3.5300000e+02   6.8290000e-03
+   3.5400000e+02   6.8290000e-03
+   3.5500000e+02   6.8290000e-03
+   3.5600000e+02   6.8290000e-03
+   3.5700000e+02   6.8290000e-03
+   3.5800000e+02   6.8290000e-03
+   3.5900000e+02   6.8290000e-03
+   3.6000000e+02   6.8290000e-03
+   3.6100000e+02   6.8290000e-03
+   3.6200000e+02   6.8290000e-03
+   3.6300000e+02   6.8290000e-03
+   3.6400000e+02   6.8290000e-03
+   3.6500000e+02   6.8290000e-03
+   3.6600000e+02   6.8290000e-03
+   3.6700000e+02   6.8290000e-03
+   3.6800000e+02   6.8290000e-03
+   3.6900000e+02   6.8290000e-03
+   3.7000000e+02   6.8290000e-03
+   3.7100000e+02   6.8290000e-03
+   3.7200000e+02   6.8290000e-03
+   3.7300000e+02   6.8290000e-03
+   3.7400000e+02   6.8290000e-03
+   3.7500000e+02   6.8290000e-03
+   3.7600000e+02   6.8290000e-03
+   3.7700000e+02   6.8290000e-03
+   3.7800000e+02   6.8290000e-03
+   3.7900000e+02   6.8290000e-03
+   3.8000000e+02   6.8290000e-03
+   3.8100000e+02   6.8290000e-03
+   3.8200000e+02   6.8290000e-03
+   3.8300000e+02   6.8290000e-03
+   3.8400000e+02   6.8290000e-03
+   3.8500000e+02   6.8290000e-03
+   3.8600000e+02   6.8290000e-03
+   3.8700000e+02   6.8290000e-03
+   3.8800000e+02   6.8290000e-03
+   3.8900000e+02   6.8290000e-03
+   3.9000000e+02   6.8290000e-03
+   3.9100000e+02   6.8290000e-03
+   3.9200000e+02   6.8290000e-03
+   3.9300000e+02   6.8290000e-03
+   3.9400000e+02   6.8290000e-03
+   3.9500000e+02   6.8290000e-03
+   3.9600000e+02   6.8290000e-03
+   3.9700000e+02   6.8290000e-03
+   3.9800000e+02   6.8290000e-03
+   3.9900000e+02   6.8290000e-03
+   4.0000000e+02   6.8290000e-03
+   4.0100000e+02   6.8290000e-03
+   4.0200000e+02   6.8290000e-03
+   4.0300000e+02   6.8290000e-03
+   4.0400000e+02   6.8290000e-03
+   4.0500000e+02   6.8290000e-03
+   4.0600000e+02   6.8290000e-03
+   4.0700000e+02   6.8290000e-03
+   4.0800000e+02   6.8290000e-03
+   4.0900000e+02   6.8290000e-03
+   4.1000000e+02   6.8290000e-03
+   4.1100000e+02   6.8290000e-03
+   4.1200000e+02   6.8290000e-03
+   4.1300000e+02   6.8290000e-03
+   4.1400000e+02   6.8290000e-03
+   4.1500000e+02   6.8290000e-03
+   4.1600000e+02   6.8290000e-03
+   4.1700000e+02   6.8290000e-03
+   4.1800000e+02   6.8290000e-03
+   4.1900000e+02   6.8290000e-03
+   4.2000000e+02   6.8290000e-03
+   4.2100000e+02   6.8290000e-03
+   4.2200000e+02   6.8290000e-03
+   4.2300000e+02   6.8290000e-03
+   4.2400000e+02   6.8290000e-03
+   4.2500000e+02   6.8290000e-03
+   4.2600000e+02   6.8290000e-03
+   4.2700000e+02   6.8290000e-03
+   4.2800000e+02   6.8290000e-03
+   4.2900000e+02   6.8290000e-03
+   4.3000000e+02   6.8290000e-03
+   4.3100000e+02   6.8290000e-03
+   4.3200000e+02   6.8290000e-03
+   4.3300000e+02   6.8290000e-03
+   4.3400000e+02   6.8290000e-03
+   4.3500000e+02   6.8290000e-03
+   4.3600000e+02   6.8290000e-03
+   4.3700000e+02   6.8290000e-03
+   4.3800000e+02   6.8290000e-03
+   4.3900000e+02   6.8290000e-03
+   4.4000000e+02   6.8290000e-03
+   4.4100000e+02   6.8290000e-03
+   4.4200000e+02   6.8290000e-03
+   4.4300000e+02   6.8290000e-03
+   4.4400000e+02   6.8290000e-03
+   4.4500000e+02   6.8290000e-03
+   4.4600000e+02   6.8290000e-03
+   4.4700000e+02   6.8290000e-03
+   4.4800000e+02   6.8290000e-03
+   4.4900000e+02   6.8290000e-03
+   4.5000000e+02   6.8290000e-03
+   4.5100000e+02   6.8290000e-03
+   4.5200000e+02   6.8290000e-03
+   4.5300000e+02   6.8290000e-03
+   4.5400000e+02   6.8290000e-03
+   4.5500000e+02   6.8290000e-03
+   4.5600000e+02   6.8290000e-03
+   4.5700000e+02   6.8290000e-03
+   4.5800000e+02   6.8290000e-03
+   4.5900000e+02   6.8290000e-03
+   4.6000000e+02   6.8290000e-03
+   4.6100000e+02   6.8290000e-03
+   4.6200000e+02   6.8290000e-03
+   4.6300000e+02   6.8290000e-03
+   4.6400000e+02   6.8290000e-03
+   4.6500000e+02   6.8290000e-03
+   4.6600000e+02   6.8290000e-03
+   4.6700000e+02   6.8290000e-03
+   4.6800000e+02   6.8290000e-03
+   4.6900000e+02   6.8290000e-03
+   4.7000000e+02   6.8290000e-03
+   4.7100000e+02   6.8290000e-03
+   4.7200000e+02   6.8290000e-03
+   4.7300000e+02   6.8290000e-03
+   4.7400000e+02   6.8290000e-03
+   4.7500000e+02   6.8290000e-03
+   4.7600000e+02   6.8290000e-03
+   4.7700000e+02   6.8290000e-03
+   4.7800000e+02   6.8290000e-03
+   4.7900000e+02   6.8290000e-03
+   4.8000000e+02   6.8290000e-03
+   4.8100000e+02   6.8290000e-03
+   4.8200000e+02   6.8290000e-03
+   4.8300000e+02   6.8290000e-03
+   4.8400000e+02   6.8290000e-03
+   4.8500000e+02   6.8290000e-03
+   4.8600000e+02   6.8290000e-03
+   4.8700000e+02   6.8290000e-03
+   4.8800000e+02   6.8290000e-03
+   4.8900000e+02   6.8290000e-03
+   4.9000000e+02   6.8290000e-03
+   4.9100000e+02   6.8290000e-03
+   4.9200000e+02   6.8290000e-03
+   4.9300000e+02   6.8290000e-03
+   4.9400000e+02   6.8290000e-03
+   4.9500000e+02   6.8290000e-03
+   4.9600000e+02   6.8290000e-03
+   4.9700000e+02   6.8290000e-03
+   4.9800000e+02   6.8290000e-03
+   4.9900000e+02   6.8290000e-03
+   5.0000000e+02   6.8290000e-03
+   5.0100000e+02   6.8290000e-03
+   5.0200000e+02   6.8290000e-03
+   5.0300000e+02   6.8290000e-03
+   5.0400000e+02   6.8290000e-03
+   5.0500000e+02   6.8290000e-03
+   5.0600000e+02   6.8290000e-03
+   5.0700000e+02   6.8290000e-03
+   5.0800000e+02   6.8290000e-03
+   5.0900000e+02   6.8290000e-03
+   5.1000000e+02   6.8290000e-03
+   5.1100000e+02   6.8290000e-03
+   5.1200000e+02   6.8290000e-03
+   5.1300000e+02   6.8290000e-03
+   5.1400000e+02   6.8290000e-03
+   5.1500000e+02   6.8290000e-03
+   5.1600000e+02   6.8290000e-03
+   5.1700000e+02   6.8290000e-03
+   5.1800000e+02   6.8290000e-03
+   5.1900000e+02   6.8290000e-03
+   5.2000000e+02   6.8290000e-03
+   5.2100000e+02   6.8290000e-03
+   5.2200000e+02   6.8290000e-03
+   5.2300000e+02   6.8290000e-03
+   5.2400000e+02   6.8290000e-03
+   5.2500000e+02   6.8290000e-03
+   5.2600000e+02   6.8290000e-03
+   5.2700000e+02   6.8290000e-03
+   5.2800000e+02   6.8290000e-03
+   5.2900000e+02   6.8290000e-03
+   5.3000000e+02   6.8290000e-03
+   5.3100000e+02   6.8290000e-03
+   5.3200000e+02   6.8290000e-03
+   5.3300000e+02   6.8290000e-03
+   5.3400000e+02   6.8290000e-03
+   5.3500000e+02   6.8290000e-03
+   5.3600000e+02   6.8290000e-03
+   5.3700000e+02   6.8290000e-03
+   5.3800000e+02   6.8290000e-03
+   5.3900000e+02   6.8290000e-03
+   5.4000000e+02   6.8290000e-03
+   5.4100000e+02   6.8290000e-03
+   5.4200000e+02   6.8290000e-03
+   5.4300000e+02   6.8290000e-03
+   5.4400000e+02   6.8290000e-03
+   5.4500000e+02   6.8290000e-03
+   5.4600000e+02   6.8290000e-03
+   5.4700000e+02   6.8290000e-03
+   5.4800000e+02   6.8290000e-03
+   5.4900000e+02   6.8290000e-03
+   5.5000000e+02   6.8290000e-03
+   5.5100000e+02   6.8290000e-03
+   5.5200000e+02   6.8290000e-03
+   5.5300000e+02   6.8290000e-03
+   5.5400000e+02   6.8290000e-03
+   5.5500000e+02   6.8290000e-03
+   5.5600000e+02   6.8290000e-03
+   5.5700000e+02   6.8290000e-03
+   5.5800000e+02   6.8290000e-03
+   5.5900000e+02   6.8290000e-03
+   5.6000000e+02   6.8290000e-03
+   5.6100000e+02   6.8290000e-03
+   5.6200000e+02   6.8290000e-03
+   5.6300000e+02   6.8290000e-03
+   5.6400000e+02   6.8290000e-03
+   5.6500000e+02   6.8290000e-03
+   5.6600000e+02   6.8290000e-03
+   5.6700000e+02   6.8290000e-03
+   5.6800000e+02   6.8290000e-03
+   5.6900000e+02   6.8290000e-03
+   5.7000000e+02   6.8290000e-03
+   5.7100000e+02   6.8290000e-03
+   5.7200000e+02   6.8290000e-03
+   5.7300000e+02   6.8290000e-03
+   5.7400000e+02   6.8290000e-03
+   5.7500000e+02   6.8290000e-03
+   5.7600000e+02   6.8290000e-03
+   5.7700000e+02   6.8290000e-03
+   5.7800000e+02   6.8290000e-03
+   5.7900000e+02   6.8290000e-03
+   5.8000000e+02   6.8290000e-03
+   5.8100000e+02   6.8290000e-03
+   5.8200000e+02   6.8290000e-03
+   5.8300000e+02   6.8290000e-03
+   5.8400000e+02   6.8290000e-03
+   5.8500000e+02   6.8290000e-03
+   5.8600000e+02   6.8290000e-03
+   5.8700000e+02   6.8290000e-03
+   5.8800000e+02   6.8290000e-03
+   5.8900000e+02   6.8290000e-03
+   5.9000000e+02   6.8290000e-03
+   5.9100000e+02   6.8290000e-03
+   5.9200000e+02   6.8290000e-03
+   5.9300000e+02   6.8290000e-03
+   5.9400000e+02   6.8290000e-03
+   5.9500000e+02   6.8290000e-03
+   5.9600000e+02   6.8290000e-03
+   5.9700000e+02   6.8290000e-03
+   5.9800000e+02   6.8290000e-03
+   5.9900000e+02   6.8290000e-03
+   6.0000000e+02   6.8290000e-03
+   6.0100000e+02   6.8290000e-03
+   6.0200000e+02   6.8290000e-03
+   6.0300000e+02   6.8290000e-03
+   6.0400000e+02   6.8290000e-03
+   6.0500000e+02   6.8290000e-03
+   6.0600000e+02   6.8290000e-03
+   6.0700000e+02   6.8290000e-03
+   6.0800000e+02   6.8290000e-03
+   6.0900000e+02   6.8290000e-03
+   6.1000000e+02   6.8290000e-03
+   6.1100000e+02   6.8290000e-03
+   6.1200000e+02   6.8290000e-03
+   6.1300000e+02   6.8290000e-03
+   6.1400000e+02   6.8290000e-03
+   6.1500000e+02   6.8290000e-03
+   6.1600000e+02   6.8290000e-03
+   6.1700000e+02   6.8290000e-03
+   6.1800000e+02   6.8290000e-03
+   6.1900000e+02   6.8290000e-03
+   6.2000000e+02   6.8290000e-03
+   6.2100000e+02   6.8290000e-03
+   6.2200000e+02   6.8290000e-03
+   6.2300000e+02   6.8290000e-03
+   6.2400000e+02   6.8290000e-03
+   6.2500000e+02   6.8290000e-03
+   6.2600000e+02   6.8290000e-03
+   6.2700000e+02   6.8290000e-03
+   6.2800000e+02   6.8290000e-03
+   6.2900000e+02   6.8290000e-03
+   6.3000000e+02   6.8290000e-03
+   6.3100000e+02   6.8290000e-03
+   6.3200000e+02   6.8290000e-03
+   6.3300000e+02   6.8290000e-03
+   6.3400000e+02   6.8290000e-03
+   6.3500000e+02   6.8290000e-03
+   6.3600000e+02   6.8290000e-03
+   6.3700000e+02   6.8290000e-03
+   6.3800000e+02   6.8290000e-03
+   6.3900000e+02   6.8290000e-03
+   6.4000000e+02   6.8290000e-03
+   6.4100000e+02   6.8290000e-03
+   6.4200000e+02   6.8290000e-03
+   6.4300000e+02   6.8290000e-03
+   6.4400000e+02   6.8290000e-03
+   6.4500000e+02   6.8290000e-03
+   6.4600000e+02   6.8290000e-03
+   6.4700000e+02   6.8290000e-03
+   6.4800000e+02   6.8290000e-03
+   6.4900000e+02   6.8290000e-03
+   6.5000000e+02   6.8290100e-03
+   6.5100000e+02   6.8290100e-03
+   6.5200000e+02   6.8290100e-03
+   6.5300000e+02   6.8290100e-03
+   6.5400000e+02   6.8290100e-03
+   6.5500000e+02   6.8290100e-03
+   6.5600000e+02   6.8290100e-03
+   6.5700000e+02   6.8290200e-03
+   6.5800000e+02   6.8290200e-03
+   6.5900000e+02   6.8290200e-03
+   6.6000000e+02   6.8290200e-03
+   6.6100000e+02   6.8290300e-03
+   6.6200000e+02   6.8290300e-03
+   6.6300000e+02   6.8290300e-03
+   6.6400000e+02   6.8290400e-03
+   6.6500000e+02   6.8290400e-03
+   6.6600000e+02   6.8290400e-03
+   6.6700000e+02   6.8290500e-03
+   6.6800000e+02   6.8290500e-03
+   6.6900000e+02   6.8290600e-03
+   6.7000000e+02   6.8290600e-03
+   6.7010000e+02   3.2052412e-03
+   6.7631200e+02   3.2052412e-03
+   6.8262500e+02   3.2052412e-03
+   6.8893800e+02   3.2052412e-03
+   6.9525000e+02   3.2052412e-03
+   7.0156200e+02   3.2052412e-03
+   7.0787500e+02   3.2052412e-03
+   7.1418800e+02   3.2052412e-03
+   7.2050000e+02   3.2052412e-03
+   7.2681200e+02   3.2052412e-03
+   7.3312500e+02   3.2052412e-03
+   7.3943800e+02   3.2052412e-03
+   7.4575000e+02   3.2052412e-03
+   7.5206200e+02   3.2052412e-03
+   7.5837500e+02   3.2052412e-03
+   7.6468800e+02   3.2052412e-03
+   7.7100000e+02   3.2052412e-03
+   7.7100000e+02   3.2052412e-03
+   7.8047100e+02   3.2052412e-03
+   7.8994200e+02   3.2052412e-03
+   7.9941400e+02   3.2052412e-03
+   8.0888500e+02   3.2052412e-03
+   8.1835600e+02   3.2052412e-03
+   8.2782700e+02   3.2052412e-03
+   8.3729800e+02   3.2052412e-03
+   8.4676900e+02   3.2052412e-03
+   8.5624000e+02   3.2052412e-03
+   8.6571100e+02   3.2052412e-03
+   8.7518300e+02   3.2052412e-03
+   8.8465400e+02   3.2052412e-03
+   8.9412500e+02   3.2052412e-03
+   9.0359600e+02   3.2052412e-03
+   9.1306700e+02   3.2052412e-03
+   9.2253900e+02   3.2052412e-03
+   9.3201000e+02   3.2052412e-03
+   9.4148100e+02   3.2052412e-03
+   9.5095200e+02   3.2052412e-03
+   9.6042300e+02   3.2052412e-03
+   9.6989400e+02   3.2052412e-03
+   9.7936500e+02   3.2052412e-03
+   9.8883600e+02   3.2052412e-03
+   9.9830800e+02   3.2052412e-03
+   1.0077800e+03   3.2052412e-03
+   1.0172500e+03   3.2052412e-03
+   1.0267200e+03   3.2052412e-03
+   1.0361900e+03   3.2052412e-03
+   1.0456600e+03   3.2052412e-03
+   1.0551300e+03   3.2052412e-03
+   1.0646100e+03   3.2052412e-03
+   1.0740800e+03   3.2052412e-03
+   1.0835500e+03   3.2052412e-03
+   1.0930200e+03   3.2052412e-03
+   1.1024900e+03   3.2052412e-03
+   1.1119600e+03   3.2052412e-03
+   1.1214300e+03   3.2052412e-03
+   1.1309000e+03   3.2052412e-03
+   1.1403800e+03   3.2052412e-03
+   1.1498500e+03   3.2052412e-03
+   1.1593200e+03   3.2052412e-03
+   1.1687900e+03   3.2052412e-03
+   1.1782600e+03   3.2052412e-03
+   1.1877300e+03   3.2052412e-03
+   1.1972000e+03   3.2052412e-03
+   1.2066700e+03   3.2052412e-03
+   1.2161400e+03   3.2052412e-03
+   1.2256200e+03   3.2052412e-03
+   1.2350900e+03   3.2052412e-03
+   1.2445600e+03   3.2052412e-03
+   1.2540300e+03   3.2052412e-03
+   1.2635000e+03   3.2052412e-03
+   1.2729700e+03   3.2052412e-03
+   1.2824400e+03   3.2052412e-03
+   1.2919100e+03   3.2052412e-03
+   1.3013800e+03   3.2052412e-03
+   1.3108600e+03   3.2052412e-03
+   1.3203300e+03   3.2052412e-03
+   1.3298000e+03   3.2052412e-03
+   1.3392700e+03   3.2052412e-03
+   1.3487400e+03   3.2052412e-03
+   1.3582100e+03   3.2052412e-03
+   1.3676800e+03   3.2052412e-03
+   1.3771500e+03   3.2052412e-03
+   1.3866200e+03   3.2052412e-03
+   1.3961000e+03   3.2052412e-03
+   1.4055700e+03   3.2052412e-03
+   1.4150400e+03   3.2052412e-03
+   1.4245100e+03   3.2052412e-03
+   1.4339800e+03   3.2052412e-03
+   1.4434500e+03   3.2052412e-03
+   1.4529200e+03   3.2052412e-03
+   1.4623900e+03   3.2052412e-03
+   1.4718700e+03   3.2052412e-03
+   1.4813400e+03   3.2052412e-03
+   1.4908100e+03   3.2052412e-03
+   1.5002800e+03   3.2052412e-03
+   1.5097500e+03   3.2052412e-03
+   1.5192200e+03   3.2052412e-03
+   1.5286900e+03   3.2052412e-03
+   1.5381600e+03   3.2052412e-03
+   1.5476300e+03   3.2052412e-03
+   1.5571100e+03   3.2052412e-03
+   1.5665800e+03   3.2052412e-03
+   1.5760500e+03   3.2052412e-03
+   1.5855200e+03   3.2052412e-03
+   1.5949900e+03   3.2052412e-03
+   1.6044600e+03   3.2052412e-03
+   1.6139300e+03   3.2052412e-03
+   1.6234000e+03   3.2052412e-03
+   1.6328800e+03   3.2052412e-03
+   1.6423500e+03   3.2052412e-03
+   1.6518200e+03   3.2052412e-03
+   1.6612900e+03   3.2052412e-03
+   1.6707600e+03   3.2052412e-03
+   1.6802300e+03   3.2052412e-03
+   1.6897000e+03   3.2052412e-03
+   1.6991700e+03   3.2052412e-03
+   1.7086400e+03   3.2052412e-03
+   1.7181200e+03   3.2052412e-03
+   1.7275900e+03   3.2052412e-03
+   1.7370600e+03   3.2052412e-03
+   1.7465300e+03   3.2052412e-03
+   1.7560000e+03   3.2052412e-03
+   1.7654700e+03   3.2052412e-03
+   1.7749400e+03   3.2052412e-03
+   1.7844100e+03   3.2052412e-03
+   1.7938800e+03   3.2052412e-03
+   1.8033600e+03   3.2052412e-03
+   1.8128300e+03   3.2052412e-03
+   1.8223000e+03   3.2052412e-03
+   1.8317700e+03   3.2052412e-03
+   1.8412400e+03   3.2052412e-03
+   1.8507100e+03   3.2052412e-03
+   1.8601800e+03   3.2052412e-03
+   1.8696500e+03   3.2052412e-03
+   1.8791200e+03   3.2052412e-03
+   1.8886000e+03   3.2052412e-03
+   1.8980700e+03   3.2052412e-03
+   1.9075400e+03   3.2052412e-03
+   1.9170100e+03   3.2052412e-03
+   1.9264800e+03   3.2052412e-03
+   1.9359500e+03   3.2052412e-03
+   1.9454200e+03   3.2052412e-03
+   1.9548900e+03   3.2052412e-03
+   1.9643700e+03   3.2052412e-03
+   1.9738400e+03   3.2052412e-03
+   1.9833100e+03   3.2052412e-03
+   1.9927800e+03   3.2052412e-03
+   2.0022500e+03   3.2052412e-03
+   2.0117200e+03   3.2052412e-03
+   2.0211900e+03   3.2052412e-03
+   2.0306600e+03   3.2052412e-03
+   2.0401300e+03   3.2052412e-03
+   2.0496100e+03   3.2052412e-03
+   2.0590800e+03   3.2052412e-03
+   2.0685500e+03   3.2052412e-03
+   2.0780200e+03   3.2052412e-03
+   2.0874900e+03   3.2052412e-03
+   2.0969600e+03   3.2052412e-03
+   2.1064300e+03   3.2052412e-03
+   2.1159000e+03   3.2052412e-03
+   2.1253800e+03   3.2052412e-03
+   2.1348500e+03   3.2052412e-03
+   2.1443200e+03   3.2052412e-03
+   2.1537900e+03   3.2052412e-03
+   2.1632600e+03   3.2052412e-03
+   2.1727300e+03   3.2052412e-03
+   2.1822000e+03   3.2052412e-03
+   2.1916700e+03   3.2052412e-03
+   2.2011400e+03   3.2052412e-03
+   2.2106200e+03   3.2052412e-03
+   2.2200900e+03   3.2052412e-03
+   2.2295600e+03   3.2052412e-03
+   2.2390300e+03   3.2052412e-03
+   2.2485000e+03   3.2052412e-03
+   2.2579700e+03   3.2052412e-03
+   2.2674400e+03   3.2052412e-03
+   2.2769100e+03   3.2052412e-03
+   2.2863800e+03   3.2052412e-03
+   2.2958600e+03   3.2052412e-03
+   2.3053300e+03   3.2052412e-03
+   2.3148000e+03   3.2052412e-03
+   2.3242700e+03   3.2052412e-03
+   2.3337400e+03   3.2052412e-03
+   2.3432100e+03   3.2052412e-03
+   2.3526800e+03   3.2052412e-03
+   2.3621500e+03   3.2052412e-03
+   2.3716200e+03   3.2052412e-03
+   2.3811000e+03   3.2052412e-03
+   2.3905700e+03   3.2052412e-03
+   2.4000400e+03   3.2052412e-03
+   2.4095100e+03   3.2052412e-03
+   2.4189800e+03   3.2052412e-03
+   2.4284500e+03   3.2052412e-03
+   2.4379200e+03   3.2052412e-03
+   2.4473900e+03   3.2052412e-03
+   2.4568700e+03   3.2052412e-03
+   2.4663400e+03   3.2052412e-03
+   2.4758100e+03   3.2052412e-03
+   2.4852800e+03   3.2052412e-03
+   2.4947500e+03   3.2052412e-03
+   2.5042200e+03   3.2052412e-03
+   2.5136900e+03   3.2052412e-03
+   2.5231600e+03   3.2052412e-03
+   2.5326300e+03   3.2052412e-03
+   2.5421100e+03   3.2052412e-03
+   2.5515800e+03   3.2052412e-03
+   2.5610500e+03   3.2052412e-03
+   2.5705200e+03   3.2052412e-03
+   2.5799900e+03   3.2052412e-03
+   2.5894600e+03   3.2052412e-03
+   2.5989300e+03   3.2052412e-03
+   2.6084000e+03   3.2052412e-03
+   2.6178800e+03   3.2052412e-03
+   2.6273500e+03   3.2052412e-03
+   2.6368200e+03   3.2052412e-03
+   2.6462900e+03   3.2052412e-03
+   2.6557600e+03   3.2052412e-03
+   2.6652300e+03   3.2052412e-03
+   2.6747000e+03   3.2052412e-03
+   2.6841700e+03   3.2052412e-03
+   2.6936400e+03   3.2052412e-03
+   2.7031200e+03   3.2052412e-03
+   2.7125900e+03   3.2052412e-03
+   2.7220600e+03   3.2052412e-03
+   2.7315300e+03   3.2052412e-03
+   2.7410000e+03   3.2052412e-03
+   2.7410000e+03   3.2052412e-03
+   2.7503800e+03   3.2052412e-03
+   2.7597600e+03   3.2052412e-03
+   2.7691300e+03   3.2052412e-03
+   2.7785100e+03   3.2052412e-03
+   2.7878900e+03   3.2052412e-03
+   2.7972700e+03   3.2052412e-03
+   2.8066400e+03   3.2052412e-03
+   2.8160200e+03   3.2052412e-03
+   2.8254000e+03   3.2052412e-03
+   2.8347800e+03   3.2052412e-03
+   2.8441500e+03   3.2052412e-03
+   2.8535300e+03   3.2052412e-03
+   2.8629100e+03   3.2052412e-03
+   2.8722900e+03   3.2052412e-03
+   2.8816600e+03   3.2052412e-03
+   2.8910400e+03   3.2052412e-03 

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/Makefile.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/Makefile.in	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/Makefile.in	2008-07-15 20:45:51 UTC (rev 12417)
@@ -62,6 +62,7 @@
 	$O/assemble_MPI_scalar.o \
 	$O/assemble_MPI_vector.o \
 	$O/attenuation_model.o \
+	$O/attenuation_model_QRFSI12.o \
 	$O/calc_jacobian.o \
 	$O/calendar.o \
 	$O/comp_source_spectrum.o \
@@ -564,6 +565,9 @@
 $O/attenuation_model.o: constants.h $S/attenuation_model.f90 $O/model_ak135.o $O/model_1066a.o $O/model_ref.o
 	${MPIFCCOMPILE_CHECK} -c -o $O/attenuation_model.o ${FCFLAGS_f90} $S/attenuation_model.f90
 
+$O/attenuation_model_QRFSI12.o: constants.h $S/attenuation_model_QRFSI12.f90 
+	${FCCOMPILE_CHECK} -c -o $O/attenuation_model_QRFSI12.o ${FCFLAGS_f90} $S/attenuation_model_QRFSI12.f90
+
 $O/gll_library.o: constants.h $S/gll_library.f90
 	${FCCOMPILE_CHECK} -c -o $O/gll_library.o ${FCFLAGS_f90} $S/gll_library.f90
 

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/README
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/README	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/README	2008-07-15 20:45:51 UTC (rev 12417)
@@ -0,0 +1,24 @@
+write_profile.f90:
+
+This program writes profiles of material properties for the model chosen in Par_file.  It was written for revision r12386 and was found to work for some models.  It will most likely not work with other revisions, but can be used as a template for creating a new program.
+
+To update the program:
+First models that have been recently added need to be read at the top, and the appropriate variables need to be declared.  Most of the
+code is from get_model.f90 and is marked with comments.  Copy paste the corresponding part from the most recent get_model.f90 and paste it
+into write_profile.f90.  Updated calls to subroutines may be necessary, in particular to read_compute_parameters which often changes.  Copy write_profile.f90 to the trunk directory.  Add the following lines to the Makefile:
+
+write_profile: $O/write_profile.o $O/exit_mpi.o $(LIBSPECFEM)
+	${MPIFCCOMPILE_CHECK} -o xwrite_profile $O/exit_mpi.o $O/write_profile.o $(LIBSPECFEM) $(MPILIBS)
+
+$O/write_profile.o: constants.h write_profile.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/write_profile.o ${FCFLAGS_f90} write_profile.f90
+
+Then execute:
+make write_profile
+./xwrite_profile
+
+The code should write profiles every 2x2 degrees for the entire globe.
+
+July 15th, 2008
+Vala Hjorleifsdottir, vala at ldeo.columbia.edu
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/write_profile.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/write_profile.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/write_profile.f90	2008-07-15 20:45:51 UTC (rev 12417)
@@ -0,0 +1,1080 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  4 . 0
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory, California Institute of Technology, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) California Institute of Technology and University of Pau / CNRS / INRIA
+!                            February 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+!
+! United States Government Sponsorship Acknowledged.
+
+  program write_profile
+
+  implicit none
+
+! standard include of the MPI library
+  include 'mpif.h'
+
+  include "constants.h"
+  include "precision.h"
+
+! aniso_mantle_model_variables
+  type aniso_mantle_model_variables
+    sequence
+    double precision beta(14,34,37,73)
+    double precision pro(47)
+    integer npar1
+  end type aniso_mantle_model_variables
+
+  type (aniso_mantle_model_variables) AMM_V
+! aniso_mantle_model_variables
+
+! attenuation_model_variables
+  type attenuation_model_variables
+    sequence
+    double precision min_period, max_period
+    double precision                          :: QT_c_source        ! Source Frequency
+    double precision, dimension(:), pointer   :: Qtau_s             ! tau_sigma
+    double precision, dimension(:), pointer   :: QrDisc             ! Discontinutitues Defined
+    double precision, dimension(:), pointer   :: Qr                 ! Radius
+    integer, dimension(:), pointer            :: Qs                 ! Steps
+    double precision, dimension(:), pointer   :: Qmu                ! Shear Attenuation
+    double precision, dimension(:,:), pointer :: Qtau_e             ! tau_epsilon
+    double precision, dimension(:), pointer   :: Qomsb, Qomsb2      ! one_minus_sum_beta
+    double precision, dimension(:,:), pointer :: Qfc, Qfc2          ! factor_common
+    double precision, dimension(:), pointer   :: Qsf, Qsf2          ! scale_factor
+    integer, dimension(:), pointer            :: Qrmin              ! Max and Mins of idoubling
+    integer, dimension(:), pointer            :: Qrmax              ! Max and Mins of idoubling
+    integer                                   :: Qn                 ! Number of points
+  end type attenuation_model_variables
+
+  type (attenuation_model_variables) AM_V
+! attenuation_model_variables
+
+! atten_model_QRFSI12_variables
+  type atten_model_QRFSI12_variables
+    sequence
+    double precision dqmu(NKQ,NSQ)
+    double precision spknt(NKQ)
+    double precision refdepth(NDEPTHS_REFQ)
+    double precision refqmu(NDEPTHS_REFQ)
+  end type atten_model_QRFSI12_variables
+
+  type (atten_model_QRFSI12_variables) QRFSI12_Q
+! atten_model_QRFSI12_variables
+
+! model_1066a_variables
+  type model_1066a_variables
+    sequence
+      double precision, dimension(NR_1066A) :: radius_1066a
+      double precision, dimension(NR_1066A) :: density_1066a
+      double precision, dimension(NR_1066A) :: vp_1066a
+      double precision, dimension(NR_1066A) :: vs_1066a
+      double precision, dimension(NR_1066A) :: Qkappa_1066a
+      double precision, dimension(NR_1066A) :: Qmu_1066a
+  end type model_1066a_variables
+
+  type (model_1066a_variables) M1066a_V
+! model_1066a_variables
+
+! model_ak135_variables
+  type model_ak135_variables
+    sequence
+    double precision, dimension(NR_AK135) :: radius_ak135
+    double precision, dimension(NR_AK135) :: density_ak135
+    double precision, dimension(NR_AK135) :: vp_ak135
+    double precision, dimension(NR_AK135) :: vs_ak135
+    double precision, dimension(NR_AK135) :: Qkappa_ak135
+    double precision, dimension(NR_AK135) :: Qmu_ak135
+  end type model_ak135_variables
+
+ type (model_ak135_variables) Mak135_V
+! model_ak135_variables
+
+! three_d_mantle_model_variables
+  type three_d_mantle_model_variables
+    sequence
+    double precision dvs_a(0:NK,0:NS,0:NS)
+    double precision dvs_b(0:NK,0:NS,0:NS)
+    double precision dvp_a(0:NK,0:NS,0:NS)
+    double precision dvp_b(0:NK,0:NS,0:NS)
+    double precision spknt(NK+1)
+    double precision qq0(NK+1,NK+1)
+    double precision qq(3,NK+1,NK+1)
+  end type three_d_mantle_model_variables
+
+! model_ref_variables
+  type model_ref_variables
+    sequence
+    double precision, dimension(NR_REF) :: radius_ref
+    double precision, dimension(NR_REF) :: density_ref
+    double precision, dimension(NR_REF) :: vpv_ref
+    double precision, dimension(NR_REF) :: vph_ref
+    double precision, dimension(NR_REF) :: vsv_ref
+    double precision, dimension(NR_REF) :: vsh_ref
+    double precision, dimension(NR_REF) :: eta_ref
+    double precision, dimension(NR_REF) :: Qkappa_ref
+    double precision, dimension(NR_REF) :: Qmu_ref
+  end type model_ref_variables
+
+  type (model_ref_variables) Mref_V
+! model_ref_variables
+
+  type (three_d_mantle_model_variables) D3MM_V
+! three_d_mantle_model_variables
+! sea1d_model_variables
+  type sea1d_model_variables
+    sequence
+     double precision, dimension(NR_SEA1D) :: radius_sea1d
+     double precision, dimension(NR_SEA1D) :: density_sea1d
+     double precision, dimension(NR_SEA1D) :: vp_sea1d
+     double precision, dimension(NR_SEA1D) :: vs_sea1d
+     double precision, dimension(NR_SEA1D) :: Qkappa_sea1d
+     double precision, dimension(NR_SEA1D) :: Qmu_sea1d
+  end type sea1d_model_variables
+
+  type (sea1d_model_variables) SEA1DM_V
+! sea1d_model_variables
+
+! jp3d_model_variables
+  type jp3d_model_variables
+    sequence
+! vmod3d
+  integer :: NPA
+  integer :: NRA
+  integer :: NHA
+  integer :: NPB
+  integer :: NRB
+  integer :: NHB
+  double precision :: PNA(MPA)
+  double precision :: RNA(MRA)
+  double precision :: HNA(MHA)
+  double precision :: PNB(MPB)
+  double precision :: RNB(MRB)
+  double precision :: HNB(MHB)
+  double precision :: VELAP(MPA,MRA,MHA)
+  double precision :: VELBP(MPB,MRB,MHB)
+! discon
+  double precision :: PN(51)
+  double precision :: RRN(63)
+  double precision :: DEPA(51,63)
+  double precision :: DEPB(51,63)
+  double precision :: DEPC(51,63)
+! locate
+  integer :: IPLOCA(MKA)
+  integer :: IRLOCA(MKA)
+  integer :: IHLOCA(MKA)
+  integer :: IPLOCB(MKB)
+  integer :: IRLOCB(MKB)
+  integer :: IHLOCB(MKB)
+  double precision :: PLA
+  double precision :: RLA
+  double precision :: HLA
+  double precision :: PLB
+  double precision :: RLB
+  double precision :: HLB
+! weight
+  integer :: IP
+  integer :: JP
+  integer :: KP
+  integer :: IP1
+  integer :: JP1
+  integer :: KP1
+  double precision :: WV(8)
+! prhfd
+  double precision :: P
+  double precision :: R
+  double precision :: H
+  double precision :: PF
+  double precision :: RF
+  double precision :: HF
+  double precision :: PF1
+  double precision :: RF1
+  double precision :: HF1
+  double precision :: PD
+  double precision :: RD
+  double precision :: HD
+! jpmodv
+  double precision :: VP(29)
+  double precision :: VS(29)
+  double precision :: RA(29)
+  double precision :: DEPJ(29)
+  end type jp3d_model_variables
+  
+  type (jp3d_model_variables) JP3DM_V
+! jp3d_model_variables
+
+! sea99_s_model_variables
+  type sea99_s_model_variables
+    sequence
+    integer :: sea99_ndep
+    integer :: sea99_nlat
+    integer :: sea99_nlon
+    double precision :: sea99_ddeg
+    double precision :: alatmin
+    double precision :: alatmax
+    double precision :: alonmin
+    double precision :: alonmax
+    double precision :: sea99_vs(100,100,100)
+    double precision :: sea99_depth(100)
+ end type sea99_s_model_variables
+ 
+ type (sea99_s_model_variables) SEA99M_V
+! sea99_s_model_variables
+
+! crustal_model_variables
+  type crustal_model_variables
+    sequence
+    double precision, dimension(NKEYS_CRUST,NLAYERS_CRUST) :: thlr
+    double precision, dimension(NKEYS_CRUST,NLAYERS_CRUST) :: velocp
+    double precision, dimension(NKEYS_CRUST,NLAYERS_CRUST) :: velocs
+    double precision, dimension(NKEYS_CRUST,NLAYERS_CRUST) :: dens
+    character(len=2) abbreviation(NCAP_CRUST/2,NCAP_CRUST)
+    character(len=2) code(NKEYS_CRUST)
+  end type crustal_model_variables
+
+  type (crustal_model_variables) CM_V
+! crustal_model_variables
+
+! attenuation_model_storage
+  type attenuation_model_storage
+    sequence
+    integer Q_resolution
+    integer Q_max
+    double precision, dimension(:,:), pointer :: tau_e_storage
+    double precision, dimension(:), pointer :: Qmu_storage
+  end type attenuation_model_storage
+
+  type (attenuation_model_storage) AM_S
+! attenuation_model_storage
+
+! attenuation_simplex_variables
+  type attenuation_simplex_variables
+    sequence
+    integer nf          ! nf    = Number of Frequencies
+    integer nsls        ! nsls  = Number of Standard Linear Solids
+    double precision Q  ! Q     = Desired Value of Attenuation or Q
+    double precision iQ ! iQ    = 1/Q
+    double precision, dimension(:), pointer ::  f
+    ! f = Frequencies at which to evaluate the solution
+    double precision, dimension(:), pointer :: tau_s
+    ! tau_s = Tau_sigma defined by the frequency range and
+    !             number of standard linear solids
+  end type attenuation_simplex_variables
+
+  type(attenuation_simplex_variables) AS_V
+! attenuation_simplex_variables
+
+
+! parameters needed to store the radii of the grid points
+! in the spherically symmetric Earth
+  integer idoubling
+
+
+! proc numbers for MPI
+  integer myrank,ier
+
+! for loop on all the slices
+  integer iregion_code
+
+! rotation matrix from Euler angles
+  double precision, dimension(NDIM,NDIM) :: rotation_matrix
+
+  double precision ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD
+
+! use integer array to store values
+  integer ibathy_topo(NX_BATHY,NY_BATHY)
+
+! for ellipticity
+  integer nspl
+  double precision rspl(NR),espl(NR),espl2(NR)
+
+! parameters read from parameter file
+  integer MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,NER_CRUST, &
+          NER_80_MOHO,NER_220_80,NER_400_220,NER_600_400,NER_670_600,NER_771_670, &
+          NER_TOPDDOUBLEPRIME_771,NER_CMB_TOPDDOUBLEPRIME,NER_OUTER_CORE, &
+          NER_TOP_CENTRAL_CUBE_ICB,NEX_XI,NEX_ETA,RMOHO_FICTITIOUS_IN_MESHER, &
+          NPROC_XI,NPROC_ETA,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
+          NTSTEP_BETWEEN_READ_ADJSRC,NSTEP,NSOURCES,NTSTEP_BETWEEN_FRAMES, &
+          NTSTEP_BETWEEN_OUTPUT_INFO,NUMBER_OF_RUNS,NUMBER_OF_THIS_RUN,NCHUNKS,SIMULATION_TYPE, &
+          REFERENCE_1D_MODEL,THREE_D_MODEL,MOVIE_VOLUME_TYPE,MOVIE_START,MOVIE_STOP
+
+  double precision DT,ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES,CENTER_LONGITUDE_IN_DEGREES, &
+          CENTER_LATITUDE_IN_DEGREES,GAMMA_ROTATION_AZIMUTH,ROCEAN,RMIDDLE_CRUST, &
+          RMOHO,R80,R120,R220,R400,R600,R670,R771,RTOPDDOUBLEPRIME,RCMB,RICB, &
+          R_CENTRAL_CUBE,RHO_TOP_OC,RHO_BOTTOM_OC,RHO_OCEANS,HDUR_MOVIE, &
+          MOVIE_TOP,MOVIE_BOTTOM,MOVIE_WEST,MOVIE_EAST,MOVIE_NORTH,MOVIE_SOUTH
+
+
+  logical TRANSVERSE_ISOTROPY,ANISOTROPIC_3D_MANTLE,ANISOTROPIC_INNER_CORE, &
+          CRUSTAL,ELLIPTICITY,GRAVITY,ONE_CRUST,ROTATION,ISOTROPIC_3D_MANTLE, HETEROGEN_3D_MANTLE, &
+          TOPOGRAPHY,OCEANS,MOVIE_SURFACE,MOVIE_VOLUME,MOVIE_VOLUME_COARSE,ATTENUATION_3D, &
+          RECEIVERS_CAN_BE_BURIED,PRINT_SOURCE_TIME_FUNCTION, &
+          SAVE_MESH_FILES,ATTENUATION, &
+          ABSORBING_CONDITIONS,INCLUDE_CENTRAL_CUBE,INFLATE_CENTRAL_CUBE,SAVE_FORWARD,CASE_3D, &
+          OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
+          ROTATE_SEISMOGRAMS_RT,HONOR_1D_SPHERICAL_MOHO,WRITE_SEISMOGRAMS_BY_MASTER,&
+          SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,EMULATE_ONLY
+
+  character(len=150) OUTPUT_FILES,LOCAL_PATH,MODEL
+
+! parameters deduced from parameters read from file
+  integer NPROC,NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,ratio_divide_central_cube
+
+  integer, external :: err_occurred
+
+! this for all the regions
+  integer, dimension(MAX_NUM_REGIONS) :: NSPEC, &
+               NSPEC2D_XI, &
+               NSPEC2D_ETA, &
+               NSPEC2DMAX_XMIN_XMAX,NSPEC2DMAX_YMIN_YMAX, &
+               NSPEC2D_BOTTOM,NSPEC2D_TOP, &
+               NSPEC1D_RADIAL,NGLOB1D_RADIAL, &
+               NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX, &
+               nglob
+
+! computed in read_compute_parameters
+  integer, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: ner,ratio_sampling_array
+  integer, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: doubling_index
+  double precision, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: r_bottom,r_top
+  logical, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: this_region_has_a_doubling
+  double precision, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: rmins,rmaxs
+
+  integer, parameter :: maxker=200
+  integer, parameter :: maxl=72
+  integer, parameter :: maxcoe=2000
+  integer, parameter :: maxver=1000
+  integer, parameter :: maxhpa=2
+
+  integer numker
+  integer numhpa,numcof
+  integer ihpa,lmax,nylm
+  integer lmxhpa(maxhpa)
+  integer itypehpa(maxhpa)
+  integer ihpakern(maxker)
+  integer numcoe(maxhpa)
+  integer ivarkern(maxker)
+  integer itpspl(maxcoe,maxhpa)
+
+  integer nconpt(maxhpa),iver
+  integer iconpt(maxver,maxhpa)
+  real(kind=4) conpt(maxver,maxhpa)
+
+  real(kind=4) xlaspl(maxcoe,maxhpa)
+  real(kind=4) xlospl(maxcoe,maxhpa)
+  real(kind=4) radspl(maxcoe,maxhpa)
+  real(kind=4) coe(maxcoe,maxker)
+  character(len=80) hsplfl(maxhpa)
+  character(len=40) dskker(maxker)
+  real(kind=4) vercof(maxker)
+  real(kind=4) vercofd(maxker)
+
+  real(kind=4) ylmcof((maxl+1)**2,maxhpa)
+  real(kind=4) wk1(maxl+1)
+  real(kind=4) wk2(maxl+1)
+  real(kind=4) wk3(maxl+1)
+
+  character(len=80) kerstr
+  character(len=80) refmdl
+  character(len=40) varstr(maxker)
+
+
+!  integer :: NSPECMAX_ANISO_IC,NSPECMAX_ISO_MANTLE,NSPECMAX_TISO_MANTLE, &
+!         NSPECMAX_ANISO_MANTLE,NSPEC_CRUST_MANTLE_ATTENUAT, &
+!         NSPEC_INNER_CORE_ATTENUATION, &
+!         NSPEC_CRUST_MANTLE_STR_OR_ATT,NSPEC_INNER_CORE_STR_OR_ATT, &
+!         NSPEC_CRUST_MANTLE_STR_AND_ATT,NSPEC_INNER_CORE_STR_AND_ATT, &
+!         NSPEC_CRUST_MANTLE_STRAIN_ONLY,NSPEC_INNER_CORE_STRAIN_ONLY, &
+!         NSPEC_CRUST_MANTLE_ADJOINT, &
+!         NSPEC_OUTER_CORE_ADJOINT,NSPEC_INNER_CORE_ADJOINT, &
+!         NGLOB_CRUST_MANTLE_ADJOINT,NGLOB_OUTER_CORE_ADJOINT, &
+!         NGLOB_INNER_CORE_ADJOINT,NSPEC_OUTER_CORE_ROT_ADJOINT, &
+!         NSPEC_CRUST_MANTLE_STACEY,NSPEC_OUTER_CORE_STACEY, &
+!         NGLOB_CRUST_MANTLE_OCEANS,NSPEC_OUTER_CORE_ROTATION
+
+! this for the different corners of the slice (which are different if the superbrick is cut)
+! 1 : xi_min, eta_min
+! 2 : xi_max, eta_min
+! 3 : xi_max, eta_max
+! 4 : xi_min, eta_max
+
+! 1 -> min, 2 -> max
+
+  integer, dimension(NB_SQUARE_CORNERS,NB_CUT_CASE) :: DIFF_NSPEC1D_RADIAL
+  integer, dimension(NB_SQUARE_EDGES_ONEDIR,NB_CUT_CASE) :: DIFF_NSPEC2D_XI,DIFF_NSPEC2D_ETA
+  logical :: CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA
+
+
+  integer i,j
+  double precision rho,drhodr,vp,vs,Qkappa,Qmu
+  double precision vpv,vph,vsv,vsh,eta_aniso
+  double precision dvp,dvs,drho
+  real(kind=4) xcolat,xlon,xrad,dvpv,dvph,dvsv,dvsh
+  double precision r,r_prem,r_moho,theta,phi,theta_deg,phi_deg
+  double precision lat,lon,elevation
+  double precision vpc,vsc,rhoc,moho
+  integer NUMBER_OF_MESH_LAYERS
+
+  double precision c11,c12,c13,c14,c15,c16,c22,c23,c24,c25,c26,c33, &
+                   c34,c35,c36,c44,c45,c46,c55,c56,c66
+
+  double precision rmin,rmax,rmax_last
+! Attenuation values
+  double precision, dimension(N_SLS)                     :: tau_s, tau_e
+  double precision  T_c_source
+
+  logical found_crust
+
+  integer nit,ilayer,islice,iline,iline_icb,iline_cmb,iline_moho,iline_ocean
+  integer ilayers_ocean,nlayers_ocean
+  double precision delta,scaleval,r_ocean
+  character(len=200) outfile
+
+! ************** PROGRAM STARTS HERE **************
+  call MPI_INIT(ier)
+
+! get the base pathname for output files
+  call get_value_string(OUTPUT_FILES, 'OUTPUT_FILES', 'OUTPUT_FILES')
+
+  open(unit=IMAIN,file=trim(OUTPUT_FILES)//'/output_profile.txt',status='unknown')
+  write(IMAIN,*) 'reading parameter file..'
+  print *,'reading par file'
+
+! read the parameter file and compute additional parameters
+    call read_compute_parameters(MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,NER_CRUST, &
+          NER_80_MOHO,NER_220_80,NER_400_220,NER_600_400,NER_670_600,NER_771_670, &
+          NER_TOPDDOUBLEPRIME_771,NER_CMB_TOPDDOUBLEPRIME,NER_OUTER_CORE, &
+          NER_TOP_CENTRAL_CUBE_ICB,NEX_XI,NEX_ETA,RMOHO_FICTITIOUS_IN_MESHER, &
+          NPROC_XI,NPROC_ETA,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
+          NTSTEP_BETWEEN_READ_ADJSRC,NSTEP,NTSTEP_BETWEEN_FRAMES, &
+          NTSTEP_BETWEEN_OUTPUT_INFO,NUMBER_OF_RUNS,NUMBER_OF_THIS_RUN,NCHUNKS,DT, &
+          ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES,CENTER_LONGITUDE_IN_DEGREES, &
+          CENTER_LATITUDE_IN_DEGREES,GAMMA_ROTATION_AZIMUTH,ROCEAN,RMIDDLE_CRUST, &
+          RMOHO,R80,R120,R220,R400,R600,R670,R771,RTOPDDOUBLEPRIME,RCMB,RICB, &
+          R_CENTRAL_CUBE,RHO_TOP_OC,RHO_BOTTOM_OC,RHO_OCEANS,HDUR_MOVIE,MOVIE_VOLUME_TYPE, &
+          MOVIE_TOP,MOVIE_BOTTOM,MOVIE_WEST,MOVIE_EAST,MOVIE_NORTH,MOVIE_SOUTH,MOVIE_START,MOVIE_STOP, &
+          TRANSVERSE_ISOTROPY,ANISOTROPIC_3D_MANTLE, &
+          ANISOTROPIC_INNER_CORE,CRUSTAL,ELLIPTICITY,GRAVITY,ONE_CRUST, &
+          ROTATION,ISOTROPIC_3D_MANTLE,HETEROGEN_3D_MANTLE,TOPOGRAPHY,OCEANS,MOVIE_SURFACE, &
+          MOVIE_VOLUME,MOVIE_VOLUME_COARSE,ATTENUATION_3D,RECEIVERS_CAN_BE_BURIED, &
+          PRINT_SOURCE_TIME_FUNCTION,SAVE_MESH_FILES, &
+          ATTENUATION,REFERENCE_1D_MODEL,THREE_D_MODEL,ABSORBING_CONDITIONS, &
+          INCLUDE_CENTRAL_CUBE,INFLATE_CENTRAL_CUBE,LOCAL_PATH,MODEL,SIMULATION_TYPE,SAVE_FORWARD, &
+          NPROC,NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA, &
+          NSPEC, &
+          NSPEC2D_XI, &
+          NSPEC2D_ETA, &
+          NSPEC2DMAX_XMIN_XMAX,NSPEC2DMAX_YMIN_YMAX,NSPEC2D_BOTTOM,NSPEC2D_TOP, &
+          NSPEC1D_RADIAL,NGLOB1D_RADIAL, &
+          NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX,NGLOB, &
+          ratio_sampling_array, ner, doubling_index,r_bottom,r_top,this_region_has_a_doubling,rmins,rmaxs,CASE_3D, &
+          OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
+          ROTATE_SEISMOGRAMS_RT,ratio_divide_central_cube,HONOR_1D_SPHERICAL_MOHO,CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,&
+          DIFF_NSPEC1D_RADIAL,DIFF_NSPEC2D_XI,DIFF_NSPEC2D_ETA,&
+          WRITE_SEISMOGRAMS_BY_MASTER,SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,EMULATE_ONLY)
+
+! count the total number of sources in the CMTSOLUTION file
+    call count_number_of_sources(NSOURCES)
+
+
+  write(IMAIN,*)
+  if(ELLIPTICITY) then
+    write(IMAIN,*) 'incorporating ellipticity'
+  else
+    write(IMAIN,*) 'no ellipticity'
+  endif
+
+  write(IMAIN,*)
+  if(TOPOGRAPHY) then
+    write(IMAIN,*) 'incorporating surface topography'
+  else
+    write(IMAIN,*) 'no surface topography'
+  endif
+
+  write(IMAIN,*)
+  if(ISOTROPIC_3D_MANTLE) then
+    write(IMAIN,*) 'incorporating 3-D lateral variations'
+  else
+    write(IMAIN,*) 'no 3-D lateral variations'
+  endif
+
+  write(IMAIN,*)
+  if(CRUSTAL) then
+    write(IMAIN,*) 'incorporating crustal variations'
+  else
+    write(IMAIN,*) 'no crustal variations'
+  endif
+
+  write(IMAIN,*)
+  if(ONE_CRUST) then
+    write(IMAIN,*) 'using one layer only in PREM crust'
+  else
+    write(IMAIN,*) 'using unmodified 1D crustal model with two layers'
+  endif
+
+  write(IMAIN,*)
+  if(GRAVITY) then
+    write(IMAIN,*) 'incorporating self-gravitation (Cowling approximation)'
+  else
+    write(IMAIN,*) 'no self-gravitation'
+  endif
+
+  write(IMAIN,*)
+  if(ROTATION) then
+    write(IMAIN,*) 'incorporating rotation'
+  else
+    write(IMAIN,*) 'no rotation'
+  endif
+
+  write(IMAIN,*)
+  if(TRANSVERSE_ISOTROPY) then
+    write(IMAIN,*) 'incorporating anisotropy'
+  else
+    write(IMAIN,*) 'no anisotropy'
+  endif
+
+  write(IMAIN,*)
+  if(ATTENUATION) then
+    write(IMAIN,*) 'incorporating attenuation using ',N_SLS,' standard linear solids'
+    if(ATTENUATION_3D) write(IMAIN,*)'using 3D attenuation'
+  else
+    write(IMAIN,*) 'no attenuation'
+  endif
+
+  write(IMAIN,*)
+  if(OCEANS) then
+    write(IMAIN,*) 'incorporating the oceans using equivalent load'
+  else
+    write(IMAIN,*) 'no oceans'
+  endif
+
+  write(IMAIN,*)
+
+  if(ELLIPTICITY) call make_ellipticity(nspl,rspl,espl,espl2,ONE_CRUST)
+  write(IMAIN,*) 'ellipticity done'
+
+print *,'defining models'
+! define models 1066a and ak135 and ref
+  if(REFERENCE_1D_MODEL == REFERENCE_MODEL_1066A) then
+    call define_model_1066a(CRUSTAL, M1066a_V)
+  elseif(REFERENCE_1D_MODEL == REFERENCE_MODEL_AK135) then
+    call define_model_ak135(CRUSTAL, Mak135_V)
+  elseif(REFERENCE_1D_MODEL == REFERENCE_MODEL_REF) then
+    call define_model_ref(Mref_V)
+  elseif(REFERENCE_1D_MODEL == REFERENCE_MODEL_SEA1D) then
+    call define_model_sea1d(CRUSTAL, SEA1DM_V)
+  else
+    print *,'not using ref model 1066a, ak135, ref or sea1d'
+  endif
+! done defining
+
+  if(ISOTROPIC_3D_MANTLE) then
+    if(THREE_D_MODEL /= 0) call read_smooth_moho
+    if(THREE_D_MODEL == THREE_D_MODEL_S20RTS) then
+       call read_mantle_model(D3MM_V)
+    elseif(THREE_D_MODEL == THREE_D_MODEL_S362ANI .or. THREE_D_MODEL == THREE_D_MODEL_S362WMANI &
+           .or. THREE_D_MODEL == THREE_D_MODEL_S362ANI_PREM .or. THREE_D_MODEL == THREE_D_MODEL_S29EA) then
+       call read_model_s362ani(THREE_D_MODEL,THREE_D_MODEL_S362ANI,THREE_D_MODEL_S362WMANI, &
+                              THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA, &
+                              numker,numhpa,ihpa,lmxhpa,itypehpa,ihpakern,numcoe,ivarkern,itpspl, &
+                              xlaspl,xlospl,radspl,coe,hsplfl,dskker,kerstr,varstr,refmdl)
+   elseif(THREE_D_MODEL == THREE_D_MODEL_SEA99_JP3D) then
+       call read_sea99_s_model(SEA99M_V)
+       call read_iso3d_dpzhao_model(JP3DM_V)
+   elseif(THREE_D_MODEL == THREE_D_MODEL_SEA99) then
+       call read_sea99_s_model(SEA99M_V)
+   elseif(THREE_D_MODEL == THREE_D_MODEL_JP3D) then
+       call read_iso3d_dpzhao_model(JP3DM_V)
+   else
+      call exit_MPI(myrank,'3D model not defined')
+    endif
+  endif
+
+  if(ANISOTROPIC_3D_MANTLE) then
+! the variables read are declared and stored in structure AMM_V
+    call read_aniso_mantle_model(AMM_V)
+  endif
+
+  if(CRUSTAL) then
+! the variables read are declared and stored in structure CM_V
+    call read_crustal_model(CM_V)
+  endif
+  if(ANISOTROPIC_INNER_CORE) then
+    call read_aniso_inner_core_model
+!   one should add an MPI_BCAST here if one adds a read_aniso_inner_core_model subroutine
+  endif
+
+  if(ATTENUATION .and. ATTENUATION_3D) then
+    call read_attenuation_model(MIN_ATTENUATION_PERIOD, MAX_ATTENUATION_PERIOD, AM_V)
+    ! need something here to do the attenuation model setup!!
+    !call attenuation_model_setup(REFERENCE_1D_MODEL, RICB, RCMB, R670, R220, R80,AM_V,M1066a_V,Mak135_V,Mref_V,AM_S,AS_V)
+    call read_atten_model_3D_QRFSI12(QRFSI12_Q)
+    T_c_source = AM_V%QT_c_source
+    tau_s(:)   = AM_V%Qtau_s(:)
+  endif
+
+  if(ATTENUATION .and. .not. ATTENUATION_3D) then
+    call read_attenuation_model(MIN_ATTENUATION_PERIOD, MAX_ATTENUATION_PERIOD, AM_V)
+    call attenuation_model_setup(REFERENCE_1D_MODEL, RICB, RCMB, R670, R220, R80,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,AM_S,AS_V)
+  endif
+  
+! read topography and bathymetry file
+  if(TOPOGRAPHY .or. OCEANS) then
+    call read_topo_bathy_file(ibathy_topo)
+  endif
+
+    write(IMAIN,*) 'Reference radius of the Earth used is ',R_EARTH_KM,' km'
+    write(IMAIN,*)
+    write(IMAIN,*) 'Central cube is at a radius of ',R_CENTRAL_CUBE/1000.d0,' km'
+
+! compute rotation matrix from Euler angles
+  ANGULAR_WIDTH_XI_RAD = ANGULAR_WIDTH_XI_IN_DEGREES * PI / 180.d0
+  ANGULAR_WIDTH_ETA_RAD = ANGULAR_WIDTH_ETA_IN_DEGREES * PI / 180.d0
+  if(NCHUNKS /= 6) call euler_angles(rotation_matrix,CENTER_LONGITUDE_IN_DEGREES,CENTER_LATITUDE_IN_DEGREES,GAMMA_ROTATION_AZIMUTH)
+
+  if(ONE_CRUST) then
+     NUMBER_OF_MESH_LAYERS = MAX_NUMBER_OF_MESH_LAYERS-1
+  else
+     NUMBER_OF_MESH_LAYERS = MAX_NUMBER_OF_MESH_LAYERS
+  endif
+!!!!!!
+ do i=0,89
+!  do i=0,1
+  theta_deg = 1.0d0 + i*2.0d0
+!   do j=0,1
+  do j=0,179
+   phi_deg = 1.0d0 + j*2.0d0
+!  theta_deg = 90.0d0
+!  phi_deg   = 270.0d0
+!  theta_deg = 30.0d0
+!  phi_deg   = 90.0d0
+
+  write(*,'(a,i04.4,a,i04.4)') &
+     'OUTPUT_FILES/CARDS_th',int(theta_deg),'_ph',int(phi_deg)
+
+  write(outfile,'(a,i04.4,a,i04.4)') &
+     'OUTPUT_FILES/CARDS_th',int(theta_deg),'_ph',int(phi_deg)
+  open(unit=57,file=outfile,status='unknown')
+!!!!!!
+    rmax_last = 0.0d0
+    theta = theta_deg*TWO_PI/360.0d0
+    phi   = phi_deg  *TWO_PI/360.0d0
+!    write(57,*) 'PREM_MODEL' 
+!    write(57,*) '1 1. 1 1'
+!    write(57,*) '661  124  351  647  658'
+    iline = 0
+    if(CRUSTAL) then
+       call reduce(theta,phi)
+       lat=(PI/2.0d0-theta)*180.0d0/PI
+       lon=phi*180.0d0/PI
+       if(lon>180.0d0) lon=lon-360.0d0
+       call crustal_model(lat,lon,1.0d0,vpc,vsc,rhoc,moho,found_crust,CM_V)
+       print *, 'moho depth [km]:',moho*R_EARTH_KM!, 'moho radius:',1.0d0 - moho, 'in km: ',(1.0d0-moho)*R_EARTH_KM
+    endif
+    if(TOPOGRAPHY .or. OCEANS) then
+       call get_topo_bathy(lat,lon,elevation,ibathy_topo)
+       print *, 'elevation [km]:',elevation/1000.0d0!, 'surface radius:',1.0d0 + elevation /R_EARTH
+    endif
+    do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+       if(ilayer == 1) then
+         rmin = 0.0d0
+         rmax = rmins(NUMBER_OF_MESH_LAYERS-1)
+         idoubling = IFLAG_INNER_CORE_NORMAL 
+       else
+         rmin = rmins(NUMBER_OF_MESH_LAYERS-ilayer+1)
+         rmax = rmaxs(NUMBER_OF_MESH_LAYERS-ilayer+1)
+         idoubling = doubling_index(NUMBER_OF_MESH_LAYERS-ilayer+1)
+       endif
+      if(CRUSTAL) then
+        if(rmin == RMOHO_FICTITIOUS_IN_MESHER/R_EARTH) then
+          rmin = 1.0d0 - moho
+!          write(*,*) 'rmin == RMOHO',iline
+        endif
+        if(rmax == RMOHO_FICTITIOUS_IN_MESHER/R_EARTH) rmax = 1.0d0 - moho
+       endif
+
+
+      if(rmin == rmax_last) then
+       if(rmin>(R_EARTH_KM-100.0d0)/R_EARTH_KM) then
+         delta = 1.0d0/R_EARTH_KM
+       else
+         delta = 10.0d0/R_EARTH_KM
+       endif
+       if(TOPOGRAPHY .or. OCEANS) then
+        if(rmax == 1.0d0) rmax = 1.0d0 + elevation /R_EARTH
+       endif
+       rmax_last = rmax
+       nit = floor((rmax - rmin)/delta) + 1
+       do islice = 1,nit+1
+         r = rmin + (islice-1)*delta
+         if(rmin == RICB/R_EARTH .and. islice == 1) iline_icb = iline
+         if(rmin == RCMB/R_EARTH .and. islice == 1) iline_cmb = iline
+         if(CRUSTAL) then
+           if(rmin == (1.0d0 - moho) .and. islice == 1) then
+              iline_moho = iline
+           endif
+         else
+           if(rmin == RMOHO/R_EARTH .and. islice == 1) iline_moho = iline
+         endif
+
+!!start GET_MODEL
+!       print *,'starting get model'
+!      make sure we are within the right shell in PREM to honor discontinuities
+!      use small geometrical tolerance
+       r_prem = r
+       if(r <= rmin*1.000001d0) r_prem = rmin*1.000001d0
+       if(r >= rmax*0.999999d0) r_prem = rmax*0.999999d0
+
+!      get the anisotropic PREM parameters
+       if(TRANSVERSE_ISOTROPY) then
+         if(REFERENCE_1D_MODEL == REFERENCE_MODEL_PREM) then
+           call prem_aniso(myrank,r_prem,rho,vpv,vph,vsv,vsh,eta_aniso, &
+           Qkappa,Qmu,idoubling,CRUSTAL,ONE_CRUST,RICB,RCMB,RTOPDDOUBLEPRIME, &
+           R600,R670,R220,R771,R400,R80,RMOHO,RMIDDLE_CRUST,ROCEAN)
+
+         else if(REFERENCE_1D_MODEL == REFERENCE_MODEL_REF) then
+!           print *,'calling model ref'
+!           print *,r_prem,rho,vpv,vph,vsv,vsh,eta_aniso,Qkappa,Qmu,iregion_code,CRUSTAL
+!           print *,'Mref_V',Mref_V%Qkappa_ref(750),MREF_V%radius_ref(750),Mref_V%density_ref(750),Mref_V%vpv_ref(750),Mref_V%qMu_ref(750)
+           call model_ref(r_prem,rho,vpv,vph,vsv,vsh,eta_aniso,Qkappa,Qmu,iregion_code,CRUSTAL,Mref_V)
+!           print *,r_prem,rho,vpv,vph,vsv,vsh,eta_aniso,Qkappa,Qmu,iregion_code,CRUSTAL
+!           print *,'called model ref'
+         else
+           stop 'unknown 1D transversely isotropic reference Earth model in get_model'
+         endif
+
+       else
+         if(REFERENCE_1D_MODEL == REFERENCE_MODEL_IASP91) then
+           call model_iasp91(myrank,r_prem,rho,vp,vs,Qkappa,Qmu,idoubling, &
+             ONE_CRUST,.true.,RICB,RCMB,RTOPDDOUBLEPRIME,R771,R670,R400,R220,R120,RMOHO,RMIDDLE_CRUST)
+
+         else if(REFERENCE_1D_MODEL == REFERENCE_MODEL_PREM) then
+             call prem_iso(myrank,r_prem,rho,drhodr,vp,vs,Qkappa,Qmu,idoubling,CRUSTAL, &
+             ONE_CRUST,.true.,RICB,RCMB,RTOPDDOUBLEPRIME, &
+             R600,R670,R220,R771,R400,R80,RMOHO,RMIDDLE_CRUST,ROCEAN)
+
+         else if(REFERENCE_1D_MODEL == REFERENCE_MODEL_1066A) then
+           call model_1066a(r_prem,rho,vp,vs,Qkappa,Qmu,iregion_code,M1066a_V)
+
+         else if(REFERENCE_1D_MODEL == REFERENCE_MODEL_AK135) then
+           call model_ak135(r_prem,rho,vp,vs,Qkappa,Qmu,iregion_code,Mak135_V)
+
+         else if(REFERENCE_1D_MODEL == REFERENCE_MODEL_REF) then
+           call model_ref(r_prem,rho,vpv,vph,vsv,vsh,eta_aniso,Qkappa,Qmu,iregion_code,CRUSTAL,Mref_V)
+           if(.not. ISOTROPIC_3D_MANTLE) then
+             vp = sqrt(((8.d0+4.d0*eta_aniso)*vph*vph + 3.d0*vpv*vpv + (8.d0 - 8.d0*eta_aniso)*vsv*vsv)/15.d0)
+             vs = sqrt(((1.d0-2.d0*eta_aniso)*vph*vph + vpv*vpv + 5.d0*vsh*vsh + (6.d0+4.d0*eta_aniso)*vsv*vsv)/15.d0)
+           endif
+         else
+           stop 'unknown 1D reference Earth model in get_model'
+         endif
+
+         ! in the case of s362iso we want to save the anisotropic constants for the Voight average
+         if(.not. (REFERENCE_1D_MODEL == REFERENCE_MODEL_REF .and. ISOTROPIC_3D_MANTLE)) then
+          vpv = vp
+          vph = vp
+          vsv = vs
+          vsh = vs
+          eta_aniso = 1.d0
+         endif
+       endif
+!       print *, 'get 3D model'
+
+!      get the 3-D model parameters
+       if(ISOTROPIC_3D_MANTLE) then
+         if(r_prem > RCMB/R_EARTH .and. r_prem < RMOHO/R_EARTH) then
+
+           call reduce(theta,phi)
+           if(THREE_D_MODEL == THREE_D_MODEL_S20RTS) then
+! s20rts
+             dvs = ZERO
+             dvp = ZERO
+             drho = ZERO
+             call mantle_model(r,theta,phi,dvs,dvp,drho,D3MM_V)
+             vpv=vpv*(1.0d0+dvp)
+             vph=vph*(1.0d0+dvp)
+             vsv=vsv*(1.0d0+dvs)
+             vsh=vsh*(1.0d0+dvs)
+             rho=rho*(1.0d0+drho)
+           elseif(THREE_D_MODEL == THREE_D_MODEL_S362ANI .or. THREE_D_MODEL == THREE_D_MODEL_S362WMANI &
+                  .or. THREE_D_MODEL == THREE_D_MODEL_S362ANI_PREM .or. THREE_D_MODEL == THREE_D_MODEL_S29EA) then
+! 3D Harvard models s362ani, s362wmani, s362ani_prem and s2.9ea
+             dvpv = 0.
+             dvph = 0.
+             dvsv = 0.
+             dvsh = 0.
+             xcolat = sngl(theta*180.0d0/PI)
+             xlon = sngl(phi*180.0d0/PI)
+             xrad = sngl(r*R_EARTH_KM)
+             call subshsv(xcolat,xlon,xrad,dvsh,dvsv,dvph,dvpv, &
+                          numker,numhpa,numcof,ihpa,lmax,nylm, &
+                          lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
+                          nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
+                          coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr)
+             if(TRANSVERSE_ISOTROPY) then
+               vpv=vpv*(1.0d0+dble(dvpv))
+               vph=vph*(1.0d0+dble(dvph))
+               vsv=vsv*(1.0d0+dble(dvsv))
+               vsh=vsh*(1.0d0+dble(dvsh))
+             else
+               vpv=vpv+dvpv
+               vph=vph+dvph
+               vsv=vsv+dvsv
+               vsh=vsh+dvsh
+               vp = sqrt(((8.d0+4.d0*eta_aniso)*vph*vph + 3.d0*vpv*vpv + (8.d0 - 8.d0*eta_aniso)*vsv*vsv)/15.d0)
+               vs = sqrt(((1.d0-2.d0*eta_aniso)*vph*vph + vpv*vpv + 5.d0*vsh*vsh + (6.d0+4.d0*eta_aniso)*vsv*vsv)/15.d0)
+               vpv=vp
+               vph=vp
+               vsv=vs
+               vsh=vs
+               eta_aniso=1.0d0
+             endif
+           else
+             stop 'unknown 3D Earth model in get_model'
+           endif
+
+! extend 3-D mantle model above the Moho to the surface before adding the crust
+         else if(r_prem >= RMOHO/R_EARTH) then
+          ! write(*,*) 'rmoho:',RMOHO,(R_EARTH-RMOHO)/1000.0d0
+           call reduce(theta,phi)
+           r_moho = 0.999999d0*RMOHO/R_EARTH
+           if(THREE_D_MODEL == THREE_D_MODEL_S20RTS) then
+! s20rts
+             dvs = ZERO
+             dvp = ZERO
+             drho = ZERO
+             call mantle_model(r_moho,theta,phi,dvs,dvp,drho,D3MM_V)
+!          write(*,'(6F10.5)') r_moho,dvpv,vpv*R_EARTH*scaleval/1000.0d0
+             vpv=vpv*(1.0d0+dvp)
+             vph=vph*(1.0d0+dvp)
+             vsv=vsv*(1.0d0+dvs)
+             vsh=vsh*(1.0d0+dvs)
+             rho=rho*(1.0d0+drho)
+           elseif(THREE_D_MODEL == THREE_D_MODEL_S362ANI .or. THREE_D_MODEL == THREE_D_MODEL_S362WMANI &
+                  .or. THREE_D_MODEL == THREE_D_MODEL_S362ANI_PREM .or. THREE_D_MODEL == THREE_D_MODEL_S29EA) then
+! 3D Harvard models s362ani, s362wmani, s362ani_prem and s2.9ea
+             dvpv = 0.
+             dvph = 0.
+             dvsv = 0.
+             dvsh = 0.
+             xcolat = sngl(theta*180.0d0/PI)
+             xlon = sngl(phi*180.0d0/PI)
+             xrad = sngl(r_moho*R_EARTH_KM)
+             call subshsv(xcolat,xlon,xrad,dvsh,dvsv,dvph,dvpv, &
+                          numker,numhpa,numcof,ihpa,lmax,nylm, &
+                          lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
+                          nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
+                          coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr)
+!          write(*,'(15F10.5)') dvpv,vpv*R_EARTH*scaleval/1000.0d0
+             if(TRANSVERSE_ISOTROPY) then
+               vpv=vpv*(1.0d0+dble(dvpv))
+               vph=vph*(1.0d0+dble(dvph))
+               vsv=vsv*(1.0d0+dble(dvsv))
+               vsh=vsh*(1.0d0+dble(dvsh))
+             else
+               vpv=vpv+dvpv
+               vph=vph+dvph
+               vsv=vsv+dvsv
+               vsh=vsh+dvsh
+               vp = sqrt(((8.d0+4.d0*eta_aniso)*vph*vph + 3.d0*vpv*vpv + (8.d0 - 8.d0*eta_aniso)*vsv*vsv)/15.d0)
+               vs = sqrt(((1.d0-2.d0*eta_aniso)*vph*vph + vpv*vpv + 5.d0*vsh*vsh + (6.d0+4.d0*eta_aniso)*vsv*vsv)/15.d0)
+               vpv=vp
+               vph=vp
+               vsv=vs
+               vsh=vs
+               eta_aniso=1.0d0
+             endif
+             
+  else
+             stop 'unknown 3D Earth model in get_model'
+           endif
+         endif
+       endif
+!       print *,'get aniso inner core'
+       if(ANISOTROPIC_INNER_CORE .and. iregion_code == IREGION_INNER_CORE) &
+           call aniso_inner_core_model(r_prem,c11,c33,c12,c13,c44,REFERENCE_1D_MODEL)
+!       print *,'get aniso 3D mantle'
+       if(ANISOTROPIC_3D_MANTLE .and. iregion_code == IREGION_CRUST_MANTLE) then
+
+! anisotropic model between the Moho and 670 km (change to CMB if desired)
+         if(r_prem < RMOHO/R_EARTH .and. r_prem > R670/R_EARTH) then
+
+           call reduce(theta,phi)
+           call aniso_mantle_model(r_prem,theta,phi,rho,c11,c12,c13,c14,c15,c16, &
+              c22,c23,c24,c25,c26,c33,c34,c35,c36,c44,c45,c46,c55,c56,c66,AMM_V)
+! extend 3-D mantle model above the Moho to the surface before adding the crust
+         elseif(r_prem >= RMOHO/R_EARTH) then
+
+           call reduce(theta,phi)
+           r_moho = RMOHO/R_EARTH
+           call aniso_mantle_model(r_moho,theta,phi,rho,c11,c12,c13,c14,c15,c16, &
+              c22,c23,c24,c25,c26,c33,c34,c35,c36,c44,c45,c46,c55,c56,c66,AMM_V)
+! fill the rest of the mantle with the isotropic model
+         else
+           c11 = rho*vpv*vpv
+           c12 = rho*(vpv*vpv-2.*vsv*vsv)
+           c13 = c12
+           c14 = 0.
+           c15 = 0.
+           c16 = 0.
+           c22 = c11
+           c23 = c12
+           c24 = 0.
+           c25 = 0.
+           c26 = 0.
+           c33 = c11
+           c34 = 0.
+           c35 = 0.
+           c36 = 0.
+           c44 = rho*vsv*vsv
+           c45 = 0.
+           c46 = 0.
+           c55 = c44
+           c56 = 0.
+           c66 = c44
+         endif
+       endif
+
+! This is here to identify how and where to include 3D attenuation
+       if(ATTENUATION .and. ATTENUATION_3D) then
+!         print *,'calling attenuation model'
+         call reduce(theta,phi)
+         tau_e(:)   = 0.0d0
+         ! Get the value of Qmu (Attenuation) dependedent on
+         ! the radius (r_prem) and idoubling flag
+!         call attenuation_model_1D_PREM(r_prem, Qmu, idoubling)
+!         print *,r_prem*R_EARTH_KM,theta,phi,Qmu,idoubling
+         call attenuation_model_3D_QRFSI12(r_prem*R_EARTH_KM,theta,phi,Qmu,QRFSI12_Q,idoubling)
+!         print *,'atten:',theta*180.0d0/PI,phi*180.0d0/PI,r_prem*R_EARTH_KM,Qmu
+         ! Get tau_e from tau_s and Qmu
+!         print *,'calling attenuation conversion',Qmu,T_c_source,tau_s,tau_e
+        ! call attenuation_conversion(Qmu, T_c_source, tau_s, tau_e, AM_V, AM_S, AS_V)
+!         print *,'done with attenuation conversion'
+       endif
+
+!      get the 3-D crustal model
+       if(CRUSTAL) then
+         if(r > R_DEEPEST_CRUST) then
+
+           call reduce(theta,phi)
+
+           lat=(PI/2.0d0-theta)*180.0d0/PI
+           lon=phi*180.0d0/PI
+           if(lon>180.0d0) lon=lon-360.0d0
+           call crustal_model(lat,lon,r_prem,vpc,vsc,rhoc,moho,found_crust,CM_V)
+!           write(*,'(a,5F10.4)') 'crust:',(1.0d0-r)*R_EARTH_KM,vpc,vsc,rhoc,moho*R_EARTH_KM
+           if (found_crust) then
+             vpv=vpc
+             vph=vpc
+             vsv=vsc
+             vsh=vsc
+             rho=rhoc
+             eta_aniso=1.0d0
+             if(ANISOTROPIC_3D_MANTLE .and. iregion_code == IREGION_CRUST_MANTLE) then
+               c11 = rho*vpv*vpv
+               c12 = rho*(vpv*vpv-2.*vsv*vsv)
+               c13 = c12
+               c14 = 0.
+               c15 = 0.
+               c16 = 0.
+               c22 = c11
+               c23 = c12
+               c24 = 0.
+               c25 = 0.
+               c26 = 0.
+               c33 = c11
+               c34 = 0.
+               c35 = 0.
+               c36 = 0.
+               c44 = rho*vsv*vsv
+               c45 = 0.
+               c46 = 0.
+               c55 = c44
+               c56 = 0.
+               c66 = c44
+             endif
+           endif !found_crust
+         endif !r>R_DEEPEST_CRUST
+       endif !CRUSTAL
+ 
+
+
+!END GET_MODEL
+
+      if(islice == 1) then
+         r_prem = rmin
+      elseif(islice == nit+1) then
+         r_prem = rmax
+      endif
+      scaleval = dsqrt(PI*GRAV*RHOAV)
+      rho = rho*RHOAV/1000.0d0
+      vpv  = vpv*R_EARTH*scaleval/1000.0d0
+      vph  = vph*R_EARTH*scaleval/1000.0d0
+      vsv  = vsv*R_EARTH*scaleval/1000.0d0
+      vsh  = vsh*R_EARTH*scaleval/1000.0d0
+
+       iline = iline +1
+!       write(57,'(i3,11F10.4)') &
+!            iline,sngl(rmin*R_EARTH_KM),sngl(rmax*R_EARTH_KM),sngl(r_prem*R_EARTH_KM),sngl(r*R_EARTH_KM), &
+!            sngl(vpv),sngl(vph),sngl(vsv),sngl(vsh),sngl(rho),sngl(eta_aniso),sngl(Qmu)
+       write(57,'(F8.0,7F9.2,F9.5)') &
+            sngl(r_prem*R_EARTH),sngl(rho*1000.d0),sngl(vpv*1000.d0),sngl(vsv*1000.d0), &
+            sngl(Qkappa),sngl(Qmu),sngl(vph*1000.d0),sngl(vsh*1000.d0),sngl(eta_aniso)
+    enddo !islice
+   endif !rmin == rmax_last
+  enddo !ilayer
+  if(OCEANS .and. elevation < -500.0) then
+     iline_ocean = iline
+     nlayers_ocean = floor(-elevation/500.0d0)
+     do ilayers_ocean=0,nlayers_ocean
+        r_ocean = r_prem + ilayers_ocean*0.5d0/R_EARTH_KM
+        write(57,'(F8.0,7F9.2,F9.5)') &
+            sngl(r_ocean*R_EARTH),1.02,1450.,0.0,57822.5,0.0,1450.0,0.0,1.0
+        iline = iline +1
+     enddo
+     write(57,'(F8.0,7F9.2,F9.5)') &
+       sngl(1.0d0*R_EARTH),1.02,1450.,0.0,57822.5,0.0,1450.,0.0,1.0
+     iline = iline+1
+     write(57,*) iline,iline_icb,iline_cmb,iline_moho,iline_ocean
+  else
+     write(57,*) iline,iline_icb,iline_cmb,iline_moho
+  endif
+  enddo !sum over phi
+  enddo !sum over theta
+!!!!!!!!
+
+  if(CUSTOM_REAL == SIZE_REAL) then
+    write(IMAIN,*) 'using single precision for the calculations'
+  else
+    write(IMAIN,*) 'using double precision for the calculations'
+  endif
+  write(IMAIN,*)
+  write(IMAIN,*) 'smallest and largest possible floating-point numbers are: ',tiny(1._CUSTOM_REAL),huge(1._CUSTOM_REAL)
+  write(IMAIN,*)
+  close(IMAIN)
+  close(57)
+
+  call MPI_FINALIZE(ier)
+
+  end program write_profile
+

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/attenuation_model.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/attenuation_model.f90	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/attenuation_model.f90	2008-07-15 20:45:51 UTC (rev 12417)
@@ -461,7 +461,7 @@
 
 end subroutine attenuation_conversion
 
-subroutine read_attenuation_model(min, max, AM_V)
+subroutine read_attenuation_model(min_att_period, max_att_period, AM_V)
 
   implicit none
 
@@ -489,10 +489,10 @@
   type (attenuation_model_variables) AM_V
 ! attenuation_model_variables
 
-  integer min, max
+  integer min_att_period, max_att_period
 
-  AM_V%min_period = min * 1.0d0
-  AM_V%max_period = max * 1.0d0
+  AM_V%min_period = min_att_period * 1.0d0
+  AM_V%max_period = max_att_period * 1.0d0
 
   allocate(AM_V%Qtau_s(N_SLS))
 
@@ -576,7 +576,7 @@
   scale_factor = factor_scale_mu * factor_scale_mu0
 
 !--- check that the correction factor is close to one
-  if(scale_factor < 0.9 .or. scale_factor > 1.1) then
+  if(scale_factor < 0.8 .or. scale_factor > 1.2) then
      write(*,*)'scale factor: ', scale_factor
      call exit_MPI(myrank,'incorrect correction factor in attenuation model')
   endif
@@ -1454,7 +1454,7 @@
      fv(j+1) = funk(x,AS_V)
   enddo
 
-  call qsort(fv,n+1,place)
+  call qsort_local(fv,n+1,place)
 
   do i = 1,n+1
      vtmp(:,i) = v(:,place(i))
@@ -1560,7 +1560,7 @@
         endif
      endif
 
-     call qsort(fv,n+1,place)
+     call qsort_local(fv,n+1,place)
      do i = 1,n+1
         vtmp(:,i) = v(:,place(i))
      enddo
@@ -1674,7 +1674,7 @@
 !         X = [ 1 2 3 4 ] on Output
 !         I = [ 3 4 2 1 ] on Output
 !
-subroutine qsort(X,n,I)
+subroutine qsort_local(X,n,I)
 
   implicit none
 
@@ -1704,7 +1704,7 @@
      enddo
   enddo
 
-end subroutine qsort
+end subroutine qsort_local
 
 ! Piecewise Continuous Splines
 !   - Added Steps which describes the discontinuities

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/attenuation_model_QRFSI12.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/attenuation_model_QRFSI12.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/attenuation_model_QRFSI12.f90	2008-07-15 20:45:51 UTC (rev 12417)
@@ -0,0 +1,655 @@
+!=====================================================================
+!
+!   This file contains subroutines to read in and get values for 
+!   3-D attenuation model QRFSI12 (Dalton, Ekstrom, & Dziewonski, 2008)
+!
+!   Last edit: Colleen Dalton, March 25, 2008
+!
+! Q1: what are theta and phi?
+! Q2: units for radius?
+! Q3: what to do about core?
+!=====================================================================
+
+  subroutine read_atten_model_3D_QRFSI12(QRFSI12_Q)
+
+  implicit none
+
+  include "constants.h"
+
+! three_d_atten_model_QRFSI12_variables
+  type atten_model_QRFSI12_variables
+    sequence
+    double precision dqmu(NKQ,NSQ)
+    double precision spknt(NKQ)
+    double precision refdepth(NDEPTHS_REFQ)
+    double precision refqmu(NDEPTHS_REFQ)
+  end type atten_model_QRFSI12_variables
+
+  type (atten_model_QRFSI12_variables) QRFSI12_Q
+! three_d_atten_model_QRFSI12_variables
+
+  integer j,k,l,m
+  integer index,ll,mm
+  double precision v1,v2
+
+  character(len=150) QRFSI12,QRFSI12_ref
+
+! read in QRFSI12
+! hard-wire for now   
+  QRFSI12='DATA/QRFSI12/QRFSI12.dat'
+  QRFSI12_ref='DATA/QRFSI12/ref_QRFSI12'
+  
+! get the dq model coefficients
+  open(unit=10,file=QRFSI12,status='old',action='read')
+  do k=1,NKQ
+    read(10,*)index
+    j=0
+    do l=0,MAXL_Q
+      do m=0,l
+        if(m.eq.0)then
+          j=j+1
+          read(10,*)ll,mm,v1
+          QRFSI12_Q%dqmu(k,j)=v1
+        else
+          j=j+2
+          read(10,*)ll,mm,v1,v2
+  !        write(*,*) 'k,l,m,ll,mm:',k,l,m,ll,mm,v1
+          QRFSI12_Q%dqmu(k,j-1)=2.*v1
+          QRFSI12_Q%dqmu(k,j)=-2.*v2
+        endif
+      enddo
+    enddo
+  enddo
+  close(10)
+  
+! get the depths (km) of the spline knots  
+  QRFSI12_Q%spknt(1) = 24.4
+  QRFSI12_Q%spknt(2) = 75.0
+  QRFSI12_Q%spknt(3) = 150.0
+  QRFSI12_Q%spknt(4) = 225.0
+  QRFSI12_Q%spknt(5) = 300.0
+  QRFSI12_Q%spknt(6) = 410.0
+  QRFSI12_Q%spknt(7) = 530.0
+  QRFSI12_Q%spknt(8) = 650.0
+  
+! get the depths and 1/Q values of the reference model
+  open(11,file=QRFSI12_ref,status='old',action='read')
+  do j=1,NDEPTHS_REFQ
+    read(11,*)QRFSI12_Q%refdepth(j),QRFSI12_Q%refqmu(j)
+  enddo
+  close(11)
+  
+  
+  end subroutine read_atten_model_3D_QRFSI12
+
+!----------------------------------
+!----------------------------------
+  
+  subroutine attenuation_model_3D_QRFSI12(radius,theta,phi,Qmu,QRFSI12_Q,idoubling)
+
+  implicit none
+
+  include "constants.h"  
+
+! atten_model_QRFSI12_variables
+  type atten_model_QRFSI12_variables
+    sequence
+    double precision dqmu(NKQ,NSQ)
+    double precision spknt(NKQ)
+    double precision refdepth(NDEPTHS_REFQ)
+    double precision refqmu(NDEPTHS_REFQ)
+  end type atten_model_QRFSI12_variables
+
+  type (atten_model_QRFSI12_variables) QRFSI12_Q
+! atten_model_QRFSI12_variables
+
+  integer i,j,k,n,idoubling
+  integer ifnd
+  double precision radius,theta,phi,Qmu,smallq,dqmu,smallq_ref
+  real(kind=4) splpts(NKQ),splcon(NKQ),splcond(NKQ)
+  real(kind=4) depth,ylat,xlon
+  real(kind=4) shdep(NSQ)
+  real(kind=4) xlmvec(NSQ),wk1(NSQ),wk2(NSQ),wk3(NSQ)
+  double precision, parameter :: rmoho = 6371.0-24.4
+  double precision, parameter :: rcmb = 3480.0
+  
+ !in Colleen's original code theta refers to the latitude.  Here we have redefined theta to be colatitude 
+ !to agree with the rest of specfem 
+!  print *,'entering QRFSI12 subroutine'
+
+  ylat=90.0d0-theta
+  xlon=phi  
+
+  if(idoubling == IFLAG_CRUST .or. radius >= rmoho) then
+     Qmu = 600.0d0 
+  !   print *,'QRFSI12: we are in the crust'
+  else if(idoubling == IFLAG_INNER_CORE_NORMAL .or. idoubling == IFLAG_MIDDLE_CENTRAL_CUBE .or. &
+       idoubling == IFLAG_BOTTOM_CENTRAL_CUBE .or. idoubling == IFLAG_TOP_CENTRAL_CUBE .or. &
+       idoubling == IFLAG_IN_FICTITIOUS_CUBE) then
+  !   print *,'QRFSI12: we are in the inner core'
+     Qmu = 84.6d0
+  else if(idoubling == IFLAG_OUTER_CORE_NORMAL) then
+  !   print *,'QRFSI12: we are in the outer core'
+     Qmu = 0.0d0
+  else !we are in the mantle
+    depth = 6371.-radius
+!   print *,'QRFSI12: we are in the mantle at depth',depth
+    ifnd=0
+    do i=2,NDEPTHS_REFQ
+      if(depth >= QRFSI12_Q%refdepth(i-1) .and. depth < QRFSI12_Q%refdepth(i))then
+        ifnd=i
+      endif
+    enddo
+    if(ifnd == 0)then
+      write(6,"('problem finding reference Q value at depth: ',f8.3)") depth
+      stop
+    endif 
+    smallq_ref=QRFSI12_Q%refqmu(ifnd)
+    smallq = smallq_ref
+
+    if(depth < 650.d0) then !Colleen's model is only defined between depths of 24.4 and 650km
+      do j=1,NSQ
+        shdep(j)=0.
+      enddo
+      do n=1,NKQ
+        splpts(n)=QRFSI12_Q%spknt(n)
+      enddo
+      call vbspl(depth,NKQ,splpts,splcon,splcond)
+      do n=1,NKQ
+        do j=1,NSQ
+          shdep(j)=shdep(j)+(splcon(n)*QRFSI12_Q%dqmu(n,j))
+        enddo
+      enddo
+      call ylm(ylat,xlon,MAXL_Q,xlmvec,wk1,wk2,wk3)
+      dqmu=0.
+      do k=1,NSQ
+        dqmu=dqmu+xlmvec(k)*shdep(k)
+      enddo
+      smallq = smallq_ref + dqmu
+    endif
+    Qmu = 1/smallq
+  endif
+  
+  end subroutine attenuation_model_3D_QRFSI12
+
+!----------------------------------
+!----------------------------------
+  
+!!$  subroutine vbspl(x,np,xarr,splcon,splcond)
+!!$!
+!!$!---- this subroutine returns the spline contributions at a particular value of x
+!!$!
+!!$  implicit none
+!!$
+!!$  integer :: np
+!!$
+!!$  real(kind=4) :: xarr(np),x
+!!$  real(kind=4) :: splcon(np)
+!!$  real(kind=4) :: splcond(np)
+!!$
+!!$  real(kind=4) :: r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13
+!!$  real(kind=4) :: r1d,r2d,r3d,r4d,r5d,r6d,r7d,r8d,r9d,r10d,r11d,r12d,r13d,val,vald
+!!$
+!!$  real(kind=4) :: rr1,rr2,rr3,rr4,rr5,rr6,rr7,rr8,rr9,rr10,rr11,rr12
+!!$  real(kind=4) :: rr1d,rr2d,rr3d,rr4d,rr5d,rr6d,rr7d,rr8d,rr9d,rr10d,rr11d,rr12d
+!!$
+!!$  integer :: iflag,interval,ik,ib
+!!$
+!!$!
+!!$!---- iflag=1 ==>> second derivative is 0 at end points
+!!$!---- iflag=0 ==>> first derivative is 0 at end points
+!!$!
+!!$  iflag=1
+!!$!
+!!$!---- first, find out within which interval x falls
+!!$!
+!!$  interval=0
+!!$  ik=1
+!!$  do while(interval == 0.and.ik < np)
+!!$  ik=ik+1
+!!$  if(x >= xarr(ik-1).and.x <= xarr(ik)) interval=ik-1
+!!$  enddo
+!!$  if(x > xarr(np)) then
+!!$  interval=np
+!!$  endif
+!!$
+!!$  if(interval == 0) then
+!!$!        write(6,"('low value:',2f10.3)") x,xarr(1)
+!!$  else if(interval > 0.and.interval < np) then
+!!$!        write(6,"('bracket:',i5,3f10.3)") interval,xarr(interval),x,xarr(interval+1)
+!!$  else
+!!$!        write(6,"('high value:',2f10.3)") xarr(np),x
+!!$  endif
+!!$
+!!$  do ib=1,np
+!!$  val=0.
+!!$  vald=0.
+!!$  if(ib == 1) then
+!!$
+!!$    r1=(x-xarr(1))/(xarr(2)-xarr(1))
+!!$    r2=(xarr(3)-x)/(xarr(3)-xarr(1))
+!!$    r4=(xarr(2)-x)/(xarr(2)-xarr(1))
+!!$    r5=(x-xarr(1))/(xarr(2)-xarr(1))
+!!$    r6=(xarr(3)-x)/(xarr(3)-xarr(1))
+!!$   r10=(xarr(2)-x)/(xarr(2)-xarr(1))
+!!$   r11=(x-xarr(1))  /(xarr(2)-xarr(1))
+!!$   r12=(xarr(3)-x)/(xarr(3)-xarr(2))
+!!$   r13=(xarr(2)-x)/(xarr(2)-xarr(1))
+!!$
+!!$    r1d=1./(xarr(2)-xarr(1))
+!!$    r2d=-1./(xarr(3)-xarr(1))
+!!$    r4d=-1./(xarr(2)-xarr(1))
+!!$    r5d=1./(xarr(2)-xarr(1))
+!!$    r6d=-1./(xarr(3)-xarr(1))
+!!$   r10d=-1./(xarr(2)-xarr(1))
+!!$   r11d=1./(xarr(2)-xarr(1))
+!!$   r12d=-1./(xarr(3)-xarr(2))
+!!$   r13d=-1./(xarr(2)-xarr(1))
+!!$
+!!$    if(interval == ib.or.interval == 0) then
+!!$         if(iflag == 0) then
+!!$           val=r1*r4*r10 + r2*r5*r10 + r2*r6*r11 +r13**3
+!!$           vald=r1d*r4*r10+r1*r4d*r10+r1*r4*r10d
+!!$           vald=vald+r2d*r5*r10+r2*r5d*r10+r2*r5*r10d
+!!$           vald=vald+r2d*r6*r11+r2*r6d*r11+r2*r6*r11d
+!!$           vald=vald+3.*r13d*r13**2
+!!$         else if(iflag == 1) then
+!!$           val=0.6667*(r1*r4*r10 + r2*r5*r10 + r2*r6*r11 &
+!!$                    + 1.5*r13**3)
+!!$           vald=r1d*r4*r10+r1*r4d*r10+r1*r4*r10d
+!!$           vald=vald+r2d*r5*r10+r2*r5d*r10+r2*r5*r10d
+!!$           vald=vald+r2d*r6*r11+r2*r6d*r11+r2*r6*r11d
+!!$           vald=vald+4.5*r13d*r13**2
+!!$           vald=0.6667*vald
+!!$         endif
+!!$    else if(interval == ib+1) then
+!!$         if(iflag == 0) then
+!!$           val=r2*r6*r12
+!!$           vald=r2d*r6*r12+r2*r6d*r12+r2*r6*r12d
+!!$         else if(iflag == 1) then
+!!$           val=0.6667*r2*r6*r12
+!!$           vald=0.6667*(r2d*r6*r12+r2*r6d*r12+r2*r6*r12d)
+!!$         endif
+!!$    else
+!!$      val=0.
+!!$    endif
+!!$
+!!$  else if(ib == 2) then
+!!$
+!!$    rr1=(x-xarr(1))/(xarr(2)-xarr(1))
+!!$    rr2=(xarr(3)-x)/(xarr(3)-xarr(1))
+!!$    rr4=(xarr(2)-x)/(xarr(2)-xarr(1))
+!!$    rr5=(x-xarr(1))/(xarr(2)-xarr(1))
+!!$    rr6=(xarr(3)-x)/(xarr(3)-xarr(1))
+!!$   rr10=(xarr(2)-x)/(xarr(2)-xarr(1))
+!!$   rr11=(x-xarr(1))  /(xarr(2)-xarr(1))
+!!$   rr12=(xarr(3)-x)/(xarr(3)-xarr(2))
+!!$
+!!$    rr1d=1./(xarr(2)-xarr(1))
+!!$    rr2d=-1./(xarr(3)-xarr(1))
+!!$    rr4d=-1./(xarr(2)-xarr(1))
+!!$    rr5d=1./(xarr(2)-xarr(1))
+!!$    rr6d=-1./(xarr(3)-xarr(1))
+!!$   rr10d=-1./(xarr(2)-xarr(1))
+!!$   rr11d=1./(xarr(2)-xarr(1))
+!!$   rr12d=-1./(xarr(3)-xarr(2))
+!!$
+!!$    r1=(x-xarr(ib-1))/(xarr(ib+1)-xarr(ib-1))
+!!$    r2=(xarr(ib+2)-x)/(xarr(ib+2)-xarr(ib-1))
+!!$    r3=(x-xarr(ib-1))/(xarr(ib)-xarr(ib-1))
+!!$    r4=(xarr(ib+1)-x)/(xarr(ib+1)-xarr(ib-1))
+!!$    r5=(x-xarr(ib-1))/(xarr(ib+1)-xarr(ib-1))
+!!$    r6=(xarr(ib+2)-x)/(xarr(ib+2)-xarr(ib))
+!!$    r8=(xarr(ib)-x)/  (xarr(ib)-xarr(ib-1))
+!!$    r9=(x-xarr(ib-1))/(xarr(ib)-xarr(ib-1))
+!!$   r10=(xarr(ib+1)-x)/(xarr(ib+1)-xarr(ib))
+!!$   r11=(x-xarr(ib))  /(xarr(ib+1)-xarr(ib))
+!!$   r12=(xarr(ib+2)-x)/(xarr(ib+2)-xarr(ib+1))
+!!$
+!!$    r1d=1./(xarr(ib+1)-xarr(ib-1))
+!!$    r2d=-1./(xarr(ib+2)-xarr(ib-1))
+!!$    r3d=1./(xarr(ib)-xarr(ib-1))
+!!$    r4d=-1./(xarr(ib+1)-xarr(ib-1))
+!!$    r5d=1./(xarr(ib+1)-xarr(ib-1))
+!!$    r6d=-1./(xarr(ib+2)-xarr(ib))
+!!$    r8d=-1./  (xarr(ib)-xarr(ib-1))
+!!$    r9d=1./(xarr(ib)-xarr(ib-1))
+!!$   r10d=-1./(xarr(ib+1)-xarr(ib))
+!!$   r11d=1./(xarr(ib+1)-xarr(ib))
+!!$   r12d=-1./(xarr(ib+2)-xarr(ib+1))
+!!$
+!!$    if(interval == ib-1.or.interval == 0) then
+!!$         val=r1*r3*r8 + r1*r4*r9 + r2*r5*r9
+!!$         vald=r1d*r3*r8+r1*r3d*r8+r1*r3*r8d
+!!$         vald=vald+r1d*r4*r9+r1*r4d*r9+r1*r4*r9d
+!!$         vald=vald+r2d*r5*r9+r2*r5d*r9+r2*r5*r9d
+!!$         if(iflag == 1) then
+!!$           val=val+0.3333*(rr1*rr4*rr10 + rr2*rr5*rr10 + &
+!!$                     rr2*rr6*rr11)
+!!$           vald=vald+0.3333*(rr1d*rr4*rr10+rr1*rr4d*rr10+ &
+!!$                    rr1*rr4*rr10d)
+!!$           vald=vald+0.3333*(rr2d*rr5*rr10+rr2*rr5d*rr10+ &
+!!$                    rr2*rr5*rr10d)
+!!$           vald=vald+0.3333*(rr2d*rr6*rr11+rr2*rr6d*rr11+ &
+!!$                    rr2*rr6*rr11d)
+!!$         endif
+!!$    else if(interval == ib) then
+!!$         val=r1*r4*r10 + r2*r5*r10 + r2*r6*r11
+!!$         vald=r1d*r4*r10+r1*r4d*r10+r1*r4*r10d
+!!$         vald=vald+r2d*r5*r10+r2*r5d*r10+r2*r5*r10d
+!!$         vald=vald+r2d*r6*r11+r2*r6d*r11+r2*r6*r11d
+!!$         if(iflag == 1) then
+!!$           val=val+0.3333*rr2*rr6*rr12
+!!$           vald=vald+0.3333*(rr2d*rr6*rr12+rr2*rr6d*rr12+ &
+!!$                    rr2*rr6*rr12d)
+!!$         endif
+!!$    else if(interval == ib+1) then
+!!$         val=r2*r6*r12
+!!$         vald=r2d*r6*r12+r2*r6d*r12+r2*r6*r12d
+!!$    else
+!!$         val=0.
+!!$    endif
+!!$  else if(ib == np-1) then
+!!$
+!!$    rr1=(x-xarr(np-2))/(xarr(np)-xarr(np-2))
+!!$    rr2=(xarr(np)-x)/(xarr(np)-xarr(np-1))
+!!$    rr3=(x-xarr(np-2))/(xarr(np)-xarr(np-2))
+!!$    rr4=(xarr(np)-x)/(xarr(np)-xarr(np-1))
+!!$    rr5=(x-xarr(np-1))/(xarr(np)-xarr(np-1))
+!!$    rr7=(x-xarr(np-2))/(xarr(np-1)-xarr(np-2))
+!!$    rr8=(xarr(np)-x)/  (xarr(np)-xarr(np-1))
+!!$    rr9=(x-xarr(np-1))/(xarr(np)-xarr(np-1))
+!!$
+!!$    rr1d=1./(xarr(np)-xarr(np-2))
+!!$    rr2d=-1./(xarr(np)-xarr(np-1))
+!!$    rr3d=1./(xarr(np)-xarr(np-2))
+!!$    rr4d=-1./(xarr(np)-xarr(np-1))
+!!$    rr5d=1./(xarr(np)-xarr(np-1))
+!!$    rr7d=1./(xarr(np-1)-xarr(np-2))
+!!$    rr8d=-1./  (xarr(np)-xarr(np-1))
+!!$    rr9d=1./(xarr(np)-xarr(np-1))
+!!$
+!!$    r1=(x-xarr(ib-2))/(xarr(ib+1)-xarr(ib-2))
+!!$    r2=(xarr(ib+1)-x)/(xarr(ib+1)-xarr(ib-1))
+!!$    r3=(x-xarr(ib-2))/(xarr(ib)-xarr(ib-2))
+!!$    r4=(xarr(ib+1)-x)/(xarr(ib+1)-xarr(ib-1))
+!!$    r5=(x-xarr(ib-1))/(xarr(ib+1)-xarr(ib-1))
+!!$    r6=(xarr(ib+1)-x)/(xarr(ib+1)-xarr(ib))
+!!$    r7=(x-xarr(ib-2))/(xarr(ib-1)-xarr(ib-2))
+!!$    r8=(xarr(ib)-x)/  (xarr(ib)-xarr(ib-1))
+!!$    r9=(x-xarr(ib-1))/(xarr(ib)-xarr(ib-1))
+!!$   r10=(xarr(ib+1)-x)/(xarr(ib+1)-xarr(ib))
+!!$   r11=(x-xarr(ib))  /(xarr(ib+1)-xarr(ib))
+!!$
+!!$    r1d=1./(xarr(ib+1)-xarr(ib-2))
+!!$    r2d=-1./(xarr(ib+1)-xarr(ib-1))
+!!$    r3d=1./(xarr(ib)-xarr(ib-2))
+!!$    r4d=-1./(xarr(ib+1)-xarr(ib-1))
+!!$    r5d=1./(xarr(ib+1)-xarr(ib-1))
+!!$    r6d=-1./(xarr(ib+1)-xarr(ib))
+!!$    r7d=1./(xarr(ib-1)-xarr(ib-2))
+!!$    r8d=-1./(xarr(ib)-xarr(ib-1))
+!!$    r9d=1./(xarr(ib)-xarr(ib-1))
+!!$   r10d=-1./(xarr(ib+1)-xarr(ib))
+!!$   r11d=1./(xarr(ib+1)-xarr(ib))
+!!$
+!!$    if(interval == ib-2) then
+!!$         val=r1*r3*r7
+!!$         vald=r1d*r3*r7+r1*r3d*r7+r1*r3*r7d
+!!$    else if(interval == ib-1) then
+!!$         val=r1*r3*r8 + r1*r4*r9 + r2*r5*r9
+!!$         vald=r1d*r3*r8+r1*r3d*r8+r1*r3*r8d
+!!$         vald=vald+r1d*r4*r9+r1*r4d*r9+r1*r4*r9d
+!!$         vald=vald+r2d*r5*r9+r2*r5d*r9+r2*r5*r9d
+!!$         if(iflag == 1) then
+!!$           val=val+0.3333*rr1*rr3*rr7
+!!$           vald=vald+0.3333*(rr1d*rr3*rr7+rr1*rr3d*rr7+ &
+!!$                    rr1*rr3*rr7d)
+!!$         endif
+!!$    else if(interval == ib.or.interval == np) then
+!!$         val=r1*r4*r10 + r2*r5*r10 + r2*r6*r11
+!!$         vald=r1d*r4*r10+r1*r4d*r10+r1*r4*r10d
+!!$         vald=vald+r2d*r5*r10+r2*r5d*r10+r2*r5*r10d
+!!$         vald=vald+r2d*r6*r11+r2*r6d*r11+r2*r6*r11d
+!!$         if(iflag == 1) then
+!!$           val=val+0.3333*(rr1*rr3*rr8 + rr1*rr4*rr9 + &
+!!$                     rr2*rr5*rr9)
+!!$           vald=vald+0.3333*(rr1d*rr3*rr8+rr1*rr3d*rr8+ &
+!!$                    rr1*rr3*rr8d)
+!!$           vald=vald+0.3333*(rr1d*rr4*rr9+rr1*rr4d*rr9+ &
+!!$                    rr1*rr4*rr9d)
+!!$           vald=vald+0.3333*(rr2d*rr5*rr9+rr2*rr5d*rr9+ &
+!!$                    rr2*rr5*rr9d)
+!!$         endif
+!!$    else
+!!$      val=0.
+!!$    endif
+!!$  else if(ib == np) then
+!!$
+!!$    r1=(x-xarr(np-2))/(xarr(np)-xarr(np-2))
+!!$    r2=(xarr(np)-x)/(xarr(np)-xarr(np-1))
+!!$    r3=(x-xarr(np-2))/(xarr(np)-xarr(np-2))
+!!$    r4=(xarr(np)-x)/(xarr(np)-xarr(np-1))
+!!$    r5=(x-xarr(np-1))/(xarr(np)-xarr(np-1))
+!!$    r7=(x-xarr(np-2))/(xarr(np-1)-xarr(np-2))
+!!$    r8=(xarr(np)-x)/  (xarr(np)-xarr(np-1))
+!!$    r9=(x-xarr(np-1))/(xarr(np)-xarr(np-1))
+!!$    r13=(x-xarr(np-1))/(xarr(np)-xarr(np-1))
+!!$
+!!$    r1d=1./(xarr(np)-xarr(np-2))
+!!$    r2d=-1./(xarr(np)-xarr(np-1))
+!!$    r3d=1./(xarr(np)-xarr(np-2))
+!!$    r4d=-1./(xarr(np)-xarr(np-1))
+!!$    r5d=1./(xarr(np)-xarr(np-1))
+!!$    r7d=1./(xarr(np-1)-xarr(np-2))
+!!$    r8d=-1./  (xarr(np)-xarr(np-1))
+!!$    r9d=1./(xarr(np)-xarr(np-1))
+!!$    r13d=1./(xarr(np)-xarr(np-1))
+!!$
+!!$    if(interval == np-2) then
+!!$         if(iflag == 0) then
+!!$           val=r1*r3*r7
+!!$           vald=r1d*r3*r7+r1*r3d*r7+r1*r3*r7d
+!!$         else if(iflag == 1) then
+!!$           val=0.6667*r1*r3*r7
+!!$           vald=0.6667*(r1d*r3*r7+r1*r3d*r7+r1*r3*r7d)
+!!$         endif
+!!$    else if(interval == np-1.or.interval == np) then
+!!$         if(iflag == 0) then
+!!$           val=r1*r3*r8 + r1*r4*r9 + r2*r5*r9 + r13**3
+!!$           vald=r1d*r3*r8+r1*r3d*r8+r1*r3*r8d
+!!$           vald=vald+r1d*r4*r9+r1*r4d*r9+r1*r4*r9d
+!!$           vald=vald+r2d*r5*r9+r2*r5d*r9+r2*r5*r9d
+!!$           vald=vald+3.*r13d*r13**2
+!!$         else if(iflag == 1) then
+!!$           val=0.6667*(r1*r3*r8 + r1*r4*r9 + r2*r5*r9 + &
+!!$                     1.5*r13**3)
+!!$           vald=r1d*r3*r8+r1*r3d*r8+r1*r3*r8d
+!!$           vald=vald+r1d*r4*r9+r1*r4d*r9+r1*r4*r9d
+!!$           vald=vald+r2d*r5*r9+r2*r5d*r9+r2*r5*r9d
+!!$           vald=vald+4.5*r13d*r13**2
+!!$           vald=0.6667*vald
+!!$         endif
+!!$    else
+!!$      val=0.
+!!$    endif
+!!$  else
+!!$
+!!$    r1=(x-xarr(ib-2))/(xarr(ib+1)-xarr(ib-2))
+!!$    r2=(xarr(ib+2)-x)/(xarr(ib+2)-xarr(ib-1))
+!!$    r3=(x-xarr(ib-2))/(xarr(ib)-xarr(ib-2))
+!!$    r4=(xarr(ib+1)-x)/(xarr(ib+1)-xarr(ib-1))
+!!$    r5=(x-xarr(ib-1))/(xarr(ib+1)-xarr(ib-1))
+!!$    r6=(xarr(ib+2)-x)/(xarr(ib+2)-xarr(ib))
+!!$    r7=(x-xarr(ib-2))/(xarr(ib-1)-xarr(ib-2))
+!!$    r8=(xarr(ib)-x)/  (xarr(ib)-xarr(ib-1))
+!!$    r9=(x-xarr(ib-1))/(xarr(ib)-xarr(ib-1))
+!!$   r10=(xarr(ib+1)-x)/(xarr(ib+1)-xarr(ib))
+!!$   r11=(x-xarr(ib))  /(xarr(ib+1)-xarr(ib))
+!!$   r12=(xarr(ib+2)-x)/(xarr(ib+2)-xarr(ib+1))
+!!$
+!!$    r1d=1./(xarr(ib+1)-xarr(ib-2))
+!!$    r2d=-1./(xarr(ib+2)-xarr(ib-1))
+!!$    r3d=1./(xarr(ib)-xarr(ib-2))
+!!$    r4d=-1./(xarr(ib+1)-xarr(ib-1))
+!!$    r5d=1./(xarr(ib+1)-xarr(ib-1))
+!!$    r6d=-1./(xarr(ib+2)-xarr(ib))
+!!$    r7d=1./(xarr(ib-1)-xarr(ib-2))
+!!$    r8d=-1./  (xarr(ib)-xarr(ib-1))
+!!$    r9d=1./(xarr(ib)-xarr(ib-1))
+!!$   r10d=-1./(xarr(ib+1)-xarr(ib))
+!!$   r11d=1./(xarr(ib+1)-xarr(ib))
+!!$   r12d=-1./(xarr(ib+2)-xarr(ib+1))
+!!$
+!!$    if(interval == ib-2) then
+!!$         val=r1*r3*r7
+!!$         vald=r1d*r3*r7+r1*r3d*r7+r1*r3*r7d
+!!$    else if(interval == ib-1) then
+!!$         val=r1*r3*r8 + r1*r4*r9 + r2*r5*r9
+!!$         vald=r1d*r3*r8+r1*r3d*r8+r1*r3*r8d
+!!$         vald=vald+r1d*r4*r9+r1*r4d*r9+r1*r4*r9d
+!!$         vald=vald+r2d*r5*r9+r2*r5d*r9+r2*r5*r9d
+!!$    else if(interval == ib) then
+!!$         val=r1*r4*r10 + r2*r5*r10 + r2*r6*r11
+!!$         vald=r1d*r4*r10+r1*r4d*r10+r1*r4*r10d
+!!$         vald=vald+r2d*r5*r10+r2*r5d*r10+r2*r5*r10d
+!!$         vald=vald+r2d*r6*r11+r2*r6d*r11+r2*r6*r11d
+!!$    else if(interval == ib+1) then
+!!$         val=r2*r6*r12
+!!$         vald=r2d*r6*r12+r2*r6d*r12+r2*r6*r12d
+!!$    else
+!!$      val=0.
+!!$    endif
+!!$  endif
+!!$  splcon(ib)=val
+!!$  splcond(ib)=vald
+!!$  enddo
+!!$
+!!$  end subroutine vbspl
+
+!----------------------------------
+!----------------------------------
+
+!!$  subroutine ylm(XLAT,XLON,LMAX,Y,WK1,WK2,WK3)
+!!$
+!!$  implicit none
+!!$
+!!$  complex TEMP,FAC,DFAC
+!!$
+!!$  real(kind=4) WK1(1),WK2(1),WK3(1),Y(1),XLAT,XLON
+!!$
+!!$  integer :: LMAX
+!!$
+!!$!
+!!$!     WK1,WK2,WK3 SHOULD BE DIMENSIONED AT LEAST (LMAX+1)*4
+!!$!
+!!$  real(kind=4), parameter :: RADIAN = 57.2957795
+!!$
+!!$  integer :: IM,IL1,IND,LM1,L
+!!$
+!!$  real(kind=4) :: THETA,PHI
+!!$
+!!$  THETA=(90.-XLAT)/RADIAN
+!!$  PHI=XLON/RADIAN
+!!$
+!!$  IND=0
+!!$  LM1=LMAX+1
+!!$
+!!$  DO IL1=1,LM1
+!!$
+!!$  L=IL1-1
+!!$  CALL legndr(THETA,L,L,WK1,WK2,WK3)
+!!$
+!!$  FAC=(1.,0.)
+!!$  DFAC=CEXP(CMPLX(0.,PHI))
+!!$
+!!$  do IM=1,IL1
+!!$    TEMP=FAC*CMPLX(WK1(IM),0.)
+!!$    IND=IND+1
+!!$    Y(IND)=REAL(TEMP)
+!!$    IF(IM == 1) GOTO 20
+!!$    IND=IND+1
+!!$    Y(IND)=AIMAG(TEMP)
+!!$ 20 FAC=FAC*DFAC
+!!$  enddo
+!!$
+!!$  enddo
+!!$
+!!$  end subroutine ylm
+
+!!$      subroutine legndr(THETA,L,M,X,XP,XCOSEC)
+!!$      implicit none 
+!!$
+!!$      integer :: L,M,i,k,LP1,MP1
+!!$      real(kind=4) :: THETA,X,XP,XCOSEC,SFL3
+!!$
+!!$      DIMENSION X(2),XP(2),XCOSEC(2)
+!!$      DOUBLE PRECISION SMALL,SUM,COMPAR,CT,ST,FCT,COT,FPI,X1,X2,X3,F1,F2,XM,TH,DSFL3,COSEC
+!!$      DATA FPI/12.56637062D0/
+!!$!      DFLOAT(I)=FLOAT(I)
+!!$      SUM=0.D0
+!!$      LP1=L+1
+!!$      TH=THETA
+!!$      CT=DCOS(TH)
+!!$      ST=DSIN(TH)
+!!$      MP1=M+1
+!!$      FCT=DSQRT(dble(FLOAT(2*L+1))/FPI)
+!!$      SFL3=SQRT(FLOAT(L*(L+1)))
+!!$      COMPAR=dble(FLOAT(2*L+1))/FPI
+!!$      DSFL3=SFL3
+!!$      SMALL=1.D-16*COMPAR
+!!$      do I=1,MP1
+!!$       X(I)=0.
+!!$       XCOSEC(I)=0.
+!!$       XP(I)=0.
+!!$      enddo
+!!$      IF(L.GT.1.AND.ABS(THETA).GT.1.E-5) GO TO 3
+!!$      X(1)=FCT
+!!$      IF(L.EQ.0) RETURN
+!!$      X(1)=CT*FCT
+!!$      X(2)=-ST*FCT/DSFL3
+!!$      XP(1)=-ST*FCT
+!!$      XP(2)=-.5D0*CT*FCT*DSFL3
+!!$      IF(ABS(THETA).LT.1.E-5) XCOSEC(2)=XP(2)
+!!$      IF(ABS(THETA).GE.1.E-5) XCOSEC(2)=X(2)/ST
+!!$      RETURN
+!!$    3 X1=1.D0
+!!$      X2=CT
+!!$      DO  I=2,L
+!!$       X3=(dble(FLOAT(2*I-1))*CT*X2-dble(FLOAT(I-1))*X1)/dble(FLOAT(I))
+!!$       X1=X2
+!!$       X2=X3
+!!$      enddo
+!!$      COT=CT/ST
+!!$      COSEC=1./ST
+!!$      X3=X2*FCT
+!!$      X2=dble(FLOAT(L))*(X1-CT*X2)*FCT/ST
+!!$      X(1)=X3
+!!$      X(2)=X2
+!!$      SUM=X3*X3
+!!$      XP(1)=-X2
+!!$      XP(2)=dble(FLOAT(L*(L+1)))*X3-COT*X2
+!!$      X(2)=-X(2)/SFL3
+!!$      XCOSEC(2)=X(2)*COSEC
+!!$      XP(2)=-XP(2)/SFL3
+!!$      SUM=SUM+2.D0*X(2)*X(2)
+!!$      IF(SUM-COMPAR.GT.SMALL) RETURN
+!!$      X1=X3
+!!$      X2=-X2/DSQRT(dble(FLOAT(L*(L+1))))
+!!$      DO  I=3,MP1
+!!$       K=I-1
+!!$       F1=DSQRT(dble(FLOAT((L+I-1)*(L-I+2))))
+!!$       F2=DSQRT(dble(FLOAT((L+I-2)*(L-I+3))))
+!!$       XM=K
+!!$       X3=-(2.D0*COT*(XM-1.D0)*X2+F2*X1)/F1
+!!$       SUM=SUM+2.D0*X3*X3
+!!$       IF(SUM-COMPAR.GT.SMALL.AND.I.NE.LP1) RETURN
+!!$       X(I)=X3
+!!$       XCOSEC(I)=X(I)*COSEC
+!!$       X1=X2
+!!$       XP(I)=-(F1*X2+XM*COT*X3)
+!!$       X2=X3
+!!$      enddo
+!!$      RETURN
+!!$      end subroutine legndr
+ 

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/compute_element_properties.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/compute_element_properties.f90	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/compute_element_properties.f90	2008-07-15 20:45:51 UTC (rev 12417)
@@ -41,7 +41,7 @@
            c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
            c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
            nspec_ani,nspec_stacey,Qmu_store,tau_e_store,tau_s,T_c_source,rho_vp,rho_vs,&
-           AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
+           AMM_V,AM_V,QRFSI12_Q,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
            numker,numhpa,numcof,ihpa,lmax,nylm, &
            lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
            nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
@@ -84,6 +84,18 @@
   type (attenuation_model_variables) AM_V
 ! attenuation_model_variables
 
+! atten_model_QRFSI12_variables
+  type atten_model_QRFSI12_variables
+    sequence
+    double precision dqmu(NKQ,NSQ)
+    double precision spknt(NKQ)
+    double precision refdepth(NDEPTHS_REFQ)
+    double precision refqmu(NDEPTHS_REFQ)
+  end type atten_model_QRFSI12_variables
+
+  type (atten_model_QRFSI12_variables) QRFSI12_Q
+! atten_model_QRFSI12_variables
+
 ! model_1066a_variables
   type model_1066a_variables
     sequence
@@ -417,7 +429,7 @@
           size(tau_e_store,2), size(tau_e_store,3), size(tau_e_store,4), size(tau_e_store,5), &
           ABSORBING_CONDITIONS,REFERENCE_1D_MODEL,THREE_D_MODEL, &
           RCMB,RICB,R670,RMOHO,RTOPDDOUBLEPRIME,R600,R220,R771,R400,R120,R80,RMIDDLE_CRUST,ROCEAN,&
-          AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
+          AMM_V,AM_V,QRFSI12_Q,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
           numker,numhpa,numcof,ihpa,lmax,nylm, &
           lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
           nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/constants.h.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/constants.h.in	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/constants.h.in	2008-07-15 20:45:51 UTC (rev 12417)
@@ -436,6 +436,10 @@
   integer, parameter :: MPA=42,MRA=48,MHA=21,MPB=42,MRB=48,MHB=18
   integer, parameter :: MKA=2101,MKB=2101
 
+!QRFSI12 constants
+  integer,parameter :: NKQ=8,MAXL_Q=12
+  integer,parameter :: NSQ=(MAXL_Q+1)**2,NDEPTHS_REFQ=913
+
 ! The meaningful range of Zhao et al.'s model (1994) is as follows:
 !        latitude : 32 - 45 N
 !        longitude: 130-145 E

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/create_regions_mesh.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/create_regions_mesh.f90	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/create_regions_mesh.f90	2008-07-15 20:45:51 UTC (rev 12417)
@@ -43,7 +43,7 @@
            NCHUNKS,INCLUDE_CENTRAL_CUBE,ABSORBING_CONDITIONS,REFERENCE_1D_MODEL,THREE_D_MODEL, &
            R_CENTRAL_CUBE,RICB,RHO_OCEANS,RCMB,R670,RMOHO,RTOPDDOUBLEPRIME,R600,R220,R771,R400,R120,R80,RMIDDLE_CRUST,ROCEAN, &
            ner,ratio_sampling_array,doubling_index,r_bottom,r_top,this_region_has_a_doubling,CASE_3D, &
-           AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V, AM_S, AS_V, &
+           AMM_V,AM_V,QRFSI12_Q,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V, AM_S, AS_V, &
            numker,numhpa,numcof,ihpa,lmax,nylm, &
            lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
            nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
@@ -109,6 +109,18 @@
   type (attenuation_model_variables) AM_V
 ! attenuation_model_variables
 
+! atten_model_QRFSI12_variables
+  type atten_model_QRFSI12_variables
+    sequence
+    double precision dqmu(NKQ,NSQ)
+    double precision spknt(NKQ)
+    double precision refdepth(NDEPTHS_REFQ)
+    double precision refqmu(NDEPTHS_REFQ)
+  end type atten_model_QRFSI12_variables
+
+  type (atten_model_QRFSI12_variables) QRFSI12_Q
+! atten_model_QRFSI12_variables
+
 ! model_1066a_variables
   type model_1066a_variables
     sequence
@@ -985,7 +997,7 @@
            c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
            c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
            nspec_ani,nspec_stacey,Qmu_store,tau_e_store,tau_s,T_c_source,rho_vp,rho_vs,&
-           AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
+           AMM_V,AM_V,QRFSI12_Q,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
            numker,numhpa,numcof,ihpa,lmax,nylm, &
            lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
            nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
@@ -1187,7 +1199,7 @@
            c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
            c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
            nspec_ani,nspec_stacey,Qmu_store,tau_e_store,tau_s,T_c_source,rho_vp,rho_vs,&
-           AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
+           AMM_V,AM_V,QRFSI12_Q,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
            numker,numhpa,numcof,ihpa,lmax,nylm, &
            lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
            nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
@@ -1356,7 +1368,7 @@
            c23store,c24store,c25store,c26store,c33store,c34store,c35store, &
            c36store,c44store,c45store,c46store,c55store,c56store,c66store, &
            nspec_ani,nspec_stacey,Qmu_store,tau_e_store,tau_s,T_c_source,rho_vp,rho_vs,&
-           AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
+           AMM_V,AM_V,QRFSI12_Q,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
            numker,numhpa,numcof,ihpa,lmax,nylm, &
            lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
            nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/get_model.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/get_model.f90	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/get_model.f90	2008-07-15 20:45:51 UTC (rev 12417)
@@ -38,7 +38,7 @@
     CRUSTAL,ONE_CRUST,ATTENUATION,ATTENUATION_3D,tau_s,tau_e_store,Qmu_store,T_c_source,vx,vy,vz,vnspec, &
     ABSORBING_CONDITIONS,REFERENCE_1D_MODEL,THREE_D_MODEL, &
     RCMB,RICB,R670,RMOHO,RTOPDDOUBLEPRIME,R600,R220,R771,R400,R120,R80,RMIDDLE_CRUST,ROCEAN,&
-    AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
+    AMM_V,AM_V,QRFSI12_Q,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
     numker,numhpa,numcof,ihpa,lmax,nylm, &
     lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
     nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
@@ -81,6 +81,18 @@
   type (attenuation_model_variables) AM_V
 ! attenuation_model_variables
 
+! atten_model_QRFSI12_variables
+  type atten_model_QRFSI12_variables
+    sequence
+    double precision dqmu(NKQ,NSQ)
+    double precision spknt(NKQ)
+    double precision refdepth(NDEPTHS_REFQ)
+    double precision refqmu(NDEPTHS_REFQ)
+  end type atten_model_QRFSI12_variables
+
+  type (atten_model_QRFSI12_variables) QRFSI12_Q
+! atten_model_QRFSI12_variables
+
 ! model_1066a_variables
   type model_1066a_variables
     sequence
@@ -341,7 +353,7 @@
   double precision xstore(NGLLX,NGLLY,NGLLZ)
   double precision ystore(NGLLX,NGLLY,NGLLZ)
   double precision zstore(NGLLX,NGLLY,NGLLZ)
-  double precision r,r_prem,r_moho,r_dummy,theta,phi
+  double precision r,r_prem,r_moho,r_dummy,theta,phi,theta_degrees,phi_degrees
   double precision lat,lon
   double precision vpc,vsc,rhoc,moho
 
@@ -740,11 +752,16 @@
 
 ! This is here to identify how and where to include 3D attenuation
        if(ATTENUATION .and. ATTENUATION_3D) then
+         call xyz_2_rthetaphi_dble(xmesh,ymesh,zmesh,r_dummy,theta,phi)
+         call reduce(theta,phi)
+         theta_degrees = theta / DEGREES_TO_RADIANS
+         phi_degrees = phi / DEGREES_TO_RADIANS
          tau_e(:)   = 0.0d0
          ! Get the value of Qmu (Attenuation) dependedent on
          ! the radius (r_prem) and idoubling flag
-         call attenuation_model_1D_PREM(r_prem, Qmu, idoubling)
-         ! Get tau_e from tau_s and Qmu
+         !call attenuation_model_1D_PREM(r_prem, Qmu, idoubling)
+          call attenuation_model_3D_QRFSI12(r_prem*R_EARTH_KM,theta_degrees,phi_degrees,Qmu,QRFSI12_Q,idoubling)
+          ! Get tau_e from tau_s and Qmu
          call attenuation_conversion(Qmu, T_c_source, tau_s, tau_e, AM_V, AM_S, AS_V)
        endif
 

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/meshfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/meshfem3D.f90	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/meshfem3D.f90	2008-07-15 20:45:51 UTC (rev 12417)
@@ -182,6 +182,18 @@
   type (attenuation_model_variables) AM_V
 ! attenuation_model_variables
 
+! atten_model_QRFSI12_variables
+  type atten_model_QRFSI12_variables
+    sequence
+    double precision dqmu(NKQ,NSQ)
+    double precision spknt(NKQ)
+    double precision refdepth(NDEPTHS_REFQ)
+    double precision refqmu(NDEPTHS_REFQ)
+  end type atten_model_QRFSI12_variables
+
+  type (atten_model_QRFSI12_variables) QRFSI12_Q
+! atten_model_QRFSI12_variables
+
 ! model_1066a_variables
   type model_1066a_variables
     sequence
@@ -1305,6 +1317,12 @@
     call MPI_BCAST(AM_V%Qtau_s(1),   1, MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ier)
     call MPI_BCAST(AM_V%Qtau_s(2),   1, MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ier)
     call MPI_BCAST(AM_V%Qtau_s(3),   1, MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ier)
+    if(myrank == 0) call read_atten_model_3D_QRFSI12(QRFSI12_Q) 
+    call MPI_BCAST(QRFSI12_Q%dqmu,          NKQ*NSQ,MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ier)
+    call MPI_BCAST(QRFSI12_Q%spknt,             NKQ,MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ier)
+    call MPI_BCAST(QRFSI12_Q%refdepth, NDEPTHS_REFQ,MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ier)
+    call MPI_BCAST(QRFSI12_Q%refqmu,   NDEPTHS_REFQ,MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ier)
+    if(myrank == 0) write(IMAIN,*) 'read 3D attenuation model'
   endif
 
   if(ATTENUATION .and. .not. ATTENUATION_3D) then
@@ -1408,7 +1426,7 @@
          NCHUNKS,INCLUDE_CENTRAL_CUBE,ABSORBING_CONDITIONS,REFERENCE_1D_MODEL,THREE_D_MODEL, &
          R_CENTRAL_CUBE,RICB,RHO_OCEANS,RCMB,R670,RMOHO,RTOPDDOUBLEPRIME,R600,R220,R771,R400,R120,R80,RMIDDLE_CRUST,ROCEAN, &
          ner,ratio_sampling_array,doubling_index,r_bottom, r_top,this_region_has_a_doubling,CASE_3D, &
-         AMM_V,AM_V,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
+         AMM_V,AM_V,QRFSI12_Q,M1066a_V,Mak135_V,Mref_V,SEA1DM_V,D3MM_V,HMM,JP3DM_V,SEA99M_V,CM_V,AM_S,AS_V, &
          numker,numhpa,numcof,ihpa,lmax,nylm, &
          lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
          nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/read_compute_parameters.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/read_compute_parameters.f90	2008-07-15 15:54:31 UTC (rev 12416)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/read_compute_parameters.f90	2008-07-15 20:45:51 UTC (rev 12417)
@@ -448,6 +448,30 @@
     REFERENCE_1D_MODEL = REFERENCE_MODEL_PREM
     THREE_D_MODEL = THREE_D_MODEL_S362ANI_PREM
 
+  else if(MODEL == 's362ani_3DQ') then
+    TRANSVERSE_ISOTROPY = .true.
+    ISOTROPIC_3D_MANTLE = .true.
+    ANISOTROPIC_3D_MANTLE = .false.
+    ANISOTROPIC_INNER_CORE = .false.
+    CRUSTAL = .true.
+    ATTENUATION_3D = .true.
+    ONE_CRUST = .true.
+    CASE_3D = .true.
+    REFERENCE_1D_MODEL = REFERENCE_MODEL_REF
+    THREE_D_MODEL = THREE_D_MODEL_S362ANI
+
+ else if(MODEL == 's362iso_3DQ') then
+    TRANSVERSE_ISOTROPY = .false.
+    ISOTROPIC_3D_MANTLE = .true.
+    ANISOTROPIC_3D_MANTLE = .false.
+    ANISOTROPIC_INNER_CORE = .false.
+    CRUSTAL = .true.
+    ATTENUATION_3D = .true.
+    ONE_CRUST = .true.
+    CASE_3D = .true.
+    REFERENCE_1D_MODEL = REFERENCE_MODEL_REF
+    THREE_D_MODEL = THREE_D_MODEL_S362ANI
+
   else if(MODEL == 's29ea') then
     TRANSVERSE_ISOTROPY = .true.
     ISOTROPIC_3D_MANTLE = .true.



More information about the cig-commits mailing list