[cig-commits] [commit] pluggable: Created SPECFEM3D GLOBE v4.0.1 tag by diffing with the tarball. The release appears to be a backport of r11780 (which can't simply be merged because of conflicts). (308022d)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Apr 9 08:54:08 PDT 2014


Repository : ssh://geoshell/specfem3d_globe

On branch  : pluggable
Link       : https://github.com/geodynamics/specfem3d_globe/compare/64e1b38f0c5ebb4056cce0b15d41c0b9f94ab6e5...099a4d330d5b173b21e51ad441f9f429e5d37842

>---------------------------------------------------------------

commit 308022dc0b45d275b9b488e2c28c344c6329f2db
Author: Leif Strand <leif at geodynamics.org>
Date:   Tue Jul 1 22:46:03 2008 +0000

    Created SPECFEM3D GLOBE v4.0.1 tag by diffing with the tarball.  The
    release appears to be a backport of r11780 (which can't simply be
    merged because of conflicts).


>---------------------------------------------------------------

308022dc0b45d275b9b488e2c28c344c6329f2db
 attenuation_model.f90               |  2 +-
 create_regions_mesh.f90             |  2 +-
 get_model.f90                       |  7 +++++--
 model_ref.f90                       | 24 ++++--------------------
 write_AVS_DX_global_chunks_data.f90 |  2 +-
 5 files changed, 12 insertions(+), 25 deletions(-)

diff --git a/attenuation_model.f90 b/attenuation_model.f90
index d96aa25..108d01f 100644
--- a/attenuation_model.f90
+++ b/attenuation_model.f90
@@ -195,7 +195,7 @@ subroutine attenuation_model_setup(REFERENCE_1D_MODEL,RICB,RCMB,R670,R220,R80,AM
      call define_model_1066a(.FALSE., M1066a_V)
      AM_V%Qn = NR_1066A
   else if(REFERENCE_1D_MODEL == REFERENCE_MODEL_REF) then
-     call define_model_ref(.FALSE., Mref_V)
+     call define_model_ref(Mref_V)
      AM_V%Qn = NR_REF
   else
      call exit_MPI(myrank, 'Reference 1D Model Not recognized')
diff --git a/create_regions_mesh.f90 b/create_regions_mesh.f90
index bde9cd1..aedeb94 100644
--- a/create_regions_mesh.f90
+++ b/create_regions_mesh.f90
@@ -587,7 +587,7 @@
   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(CRUSTAL, Mref_V)
+    call define_model_ref(Mref_V)
   endif
 
 !------------------------------------------------------------------------
diff --git a/get_model.f90 b/get_model.f90
index 3b31b0c..4ad196c 100644
--- a/get_model.f90
+++ b/get_model.f90
@@ -308,7 +308,7 @@
            R600,R670,R220,R771,R400,R80,RMOHO,RMIDDLE_CRUST,ROCEAN)
 
          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,Mref_V)
+           call model_ref(r_prem,rho,vpv,vph,vsv,vsh,eta_aniso,Qkappa,Qmu,iregion_code,CRUSTAL,Mref_V)
 
          else
            stop 'unknown 1D transversely isotropic reference Earth model in get_model'
@@ -332,7 +332,7 @@
            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,Mref_V)
+           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)
@@ -398,6 +398,7 @@
                vph=vp
                vsv=vs
                vsh=vs
+               eta_aniso=1.0d0
              endif
            else
              stop 'unknown 3D Earth model in get_model'
@@ -450,6 +451,7 @@
                vph=vp
                vsv=vs
                vsh=vs
+               eta_aniso=1.0d0
              endif
   else
              stop 'unknown 3D Earth model in get_model'
@@ -528,6 +530,7 @@
              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)
diff --git a/model_ref.f90 b/model_ref.f90
index 073c643..b17a4c3 100644
--- a/model_ref.f90
+++ b/model_ref.f90
@@ -26,7 +26,7 @@
 !=====================================================================
 
 
-  subroutine model_ref(x,rho,vpv,vph,vsv,vsh,eta,Qkappa,Qmu,iregion_code,Mref_V)
+  subroutine model_ref(x,rho,vpv,vph,vsv,vsh,eta,Qkappa,Qmu,iregion_code,CRUSTAL,Mref_V)
 
   implicit none
 
@@ -69,6 +69,7 @@
   integer i
 
   double precision r,frac,scaleval
+  logical CRUSTAL
 
 ! compute real physical radius in meters
   r = x * R_EARTH
@@ -85,6 +86,7 @@
   if(iregion_code == IREGION_OUTER_CORE .and. i > 358) i = 358
 
   if(iregion_code == IREGION_CRUST_MANTLE .and. i < 360) i = 360
+  if(CRUSTAL .and. i > 717) i = 717
 
   if(i == 1) then
     rho = Mref_V%density_ref(i)
@@ -133,7 +135,7 @@
 
 !-------------------
 
-  subroutine define_model_ref(USE_EXTERNAL_CRUSTAL_MODEL,Mref_V)
+  subroutine define_model_ref(Mref_V)
 
   implicit none
   include "constants.h"
@@ -155,10 +157,6 @@
   type (model_ref_variables) Mref_V
 ! model_ref_variables
 
-  logical USE_EXTERNAL_CRUSTAL_MODEL
-
-  integer i
-
 ! define the 1D REF model of Kustowski et al. (2007)
 
  Mref_V%radius_ref( 1 : 30 ) = (/ &
@@ -7369,19 +7367,5 @@
     Mref_V%vsh_ref(718:750) = Mref_V%vsh_ref(717)
   endif
 
-! strip the crust and replace it by mantle if we use an external crustal model
-  if(USE_EXTERNAL_CRUSTAL_MODEL) then
-    do i=NR_REF-10,NR_REF
-      Mref_V%density_ref(i) = Mref_V%density_ref(NR_REF-11)
-      Mref_V%vpv_ref(i) = Mref_V%vpv_ref(NR_REF-11)
-      Mref_V%vph_ref(i) = Mref_V%vph_ref(NR_REF-11)
-      Mref_V%vsv_ref(i) = Mref_V%vsv_ref(NR_REF-11)
-      Mref_V%vsh_ref(i) = Mref_V%vsh_ref(NR_REF-11)
-      Mref_V%eta_ref(i) = Mref_V%eta_ref(NR_REF-11)
-      Mref_V%Qkappa_ref(i) = Mref_V%Qkappa_ref(NR_REF-11)
-      Mref_V%Qmu_ref(i) = Mref_V%Qmu_ref(NR_REF-11)
-    enddo
-  endif
-
   end subroutine define_model_ref
 
diff --git a/write_AVS_DX_global_chunks_data.f90 b/write_AVS_DX_global_chunks_data.f90
index 14a070a..4444e01 100644
--- a/write_AVS_DX_global_chunks_data.f90
+++ b/write_AVS_DX_global_chunks_data.f90
@@ -615,7 +615,7 @@
               call model_ak135(r,rho,vp,vs,Qkappa,Qmu,idoubling(ispec),Mak135_V)
 
             else if(REFERENCE_1D_MODEL == REFERENCE_MODEL_REF) then
-              call model_ref(r,rho,vpv,vph,vsv,vsh,eta_aniso,Qkappa,Qmu,idoubling(ispec),Mref_V)
+              call model_ref(r,rho,vpv,vph,vsv,vsh,eta_aniso,Qkappa,Qmu,idoubling(ispec),CRUSTAL,Mref_V)
               vp = vpv
               vs = vsv
             else



More information about the CIG-COMMITS mailing list