[cig-commits] [commit] devel, master: I have tested the new 1D model REF, which is working fine. The 3D Harvard models S362ANI, S362WMANI, S362ANI_PREM and S2.9EA have also been incorporated. I will continue to test these, including the topographic variations on the 410 km and 650 km discontinuities. I needed to add the new REF models to the write_AVS_DX_global_chunks_data.f90 routine. (d80bf3d)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Jun 18 16:13:03 PDT 2014
Repository : https://github.com/geodynamics/specfem3d_globe
On branches: devel,master
Link : https://github.com/geodynamics/specfem3d_globe/compare/85a8aa3a48b2cf0d9164893edb252f3fe0f28585...1bc4138645fec5dc69d2dcc94a048c7330439566
>---------------------------------------------------------------
commit d80bf3df59c7a89a9cbf842936627bf7b145f1c7
Author: Jeroen Tromp <jtromp at princeton.edu>
Date: Mon Jul 23 14:42:23 2007 +0000
I have tested the new 1D model REF, which is working fine. The 3D Harvard models S362ANI, S362WMANI,
S362ANI_PREM and S2.9EA have also been incorporated. I will continue to test these, including the
topographic variations on the 410 km and 650 km discontinuities. I needed to add the new REF models to the
write_AVS_DX_global_chunks_data.f90 routine.
>---------------------------------------------------------------
d80bf3df59c7a89a9cbf842936627bf7b145f1c7
Par_file | 18 ++++++-------
s362ani/src/subshsv.f | 74 +++++----------------------------------------------
s362ani/src/subtopo.f | 67 +++++-----------------------------------------
3 files changed, 22 insertions(+), 137 deletions(-)
diff --git a/Par_file b/Par_file
index 3283acc..7227b34 100644
--- a/Par_file
+++ b/Par_file
@@ -15,12 +15,12 @@ GAMMA_ROTATION_AZIMUTH = 20.d0
# number of elements at the surface along the two sides of the first chunk
# (must be 16 * multiple of NPROC below)
-NEX_XI = 256
-NEX_ETA = 256
+NEX_XI = 160
+NEX_ETA = 160
# number of MPI processors along the two sides of the first chunk
-NPROC_XI = 8
-NPROC_ETA = 8
+NPROC_XI = 5
+NPROC_ETA = 5
# 1D models with real structure:
# 1D_isotropic_prem, 1D_transversely_isotropic_prem, 1D_iasp91, 1D_1066a, 1D_ak135, 1D_ref
@@ -31,14 +31,14 @@ NPROC_ETA = 8
# fully 3D models:
# transversely_isotropic_prem_plus_3D_crust_2.0, 3D_anisotropic, 3D_attenuation,
# s20rts, s362ani, s362wmani, s362ani_prem, s29EA
-MODEL = 1D_ref
+MODEL = s362ani
# parameters describing the Earth model
OCEANS = .true.
-ELLIPTICITY = .false.
-TOPOGRAPHY = .false.
+ELLIPTICITY = .true.
+TOPOGRAPHY = .true.
GRAVITY = .true.
-ROTATION = .false.
+ROTATION = .true.
ATTENUATION = .true.
# absorbing boundary conditions for a regional simulation
@@ -54,7 +54,7 @@ NTSTEP_BETWEEN_FRAMES = 100
HDUR_MOVIE = 0.d0
# save mesh files to check the mesh
-SAVE_MESH_FILES = .false.
+SAVE_MESH_FILES = .true.
# restart files (number of runs can be 1, 2 or 3, choose 1 for no restart files)
NUMBER_OF_RUNS = 1
diff --git a/s362ani/src/subshsv.f b/s362ani/src/subshsv.f
index c4fe86c..e8df293 100644
--- a/s362ani/src/subshsv.f
+++ b/s362ani/src/subshsv.f
@@ -1,19 +1,11 @@
c --- evaluate perturbations in per cent
- subroutine subshsv(xcolat,xlon,xrad,
- # vshout,vsvout,vphout,vpvout,etaout,rhoout,ifknowmodel,
- # THREE_D_MODEL,THREE_D_MODEL_S362ANI,
- # THREE_D_MODEL_S362WMANI,
- # THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA)
+ subroutine subshsv(xcolat,xlon,xrad,dvsh,dvsv,dvph,dvpv)
implicit none
real*4 xcolat,xlon,xrad
- real*4 vshout,vsvout,vphout,vpvout,etaout,rhoout
- integer ifknowmodel
- integer THREE_D_MODEL,THREE_D_MODEL_S362ANI
- integer THREE_D_MODEL_S362WMANI
- integer THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA
+ real*4 dvsh,dvsv,dvph,dvpv
c --- model evaluation
@@ -29,65 +21,15 @@ c --- model evaluation
c ---
- character*128 modeldef
integer iker,i
character*40 vstr
- logical exists
- integer lu,numvar,lstr
+ integer lstr
integer lnblnk,ierror
include 'mod.h'
c -------------------------------------
- lu=1 ! --- log unit: input 3-D model
-
-c --- read the model if necessary
-
- if(ifknowmodel.ne.0) then
- else
- if(THREE_D_MODEL .eq. THREE_D_MODEL_S362ANI) then
- modeldef='DATA/s362ani/S362ANI'
- elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S362WMANI) then
- modeldef='DATA/s362ani/S362WMANI'
- elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S362ANI_PREM) then
- modeldef='DATA/s362ani/S362ANI_PREM'
- elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S29EA) then
- modeldef='DATA/s362ani/S2.9EA'
- else
- stop 'unknown 3D model in subshsv'
- endif
- inquire(file=modeldef,exist=exists)
- if(exists) then
- call gt3dmodl(lu,modeldef,
- # maxhpa,maxker,maxcoe,
- # numhpa,numker,numcoe,lmxhpa,
- # ihpakern,itypehpa,coe,
- # itpspl,xlaspl,xlospl,radspl,
- # numvar,ivarkern,varstr,
- # refmdl,kerstr,hsplfl,dskker,ierror)
- else
- write(6,"('the model ',a,' does not exits')")
- # modeldef(1:lnblnk(modeldef))
- endif
- ifknowmodel=1
-
-c --- check arrays
-
- if(numker.gt.maxker) stop 'numker.gt.maxker'
- do ihpa=1,numhpa
- if(itypehpa(ihpa).eq.1) then
- if(lmxhpa(ihpa).gt.maxl) stop 'lmxhpa(ihpa).gt.maxl'
- else if(itypehpa(ihpa).eq.2) then
- if(numcoe(ihpa).gt.maxcoe) stop 'numcoe(ihpa).gt.maxcoe'
- else
- stop 'problem with itypehpa'
- endif
- enddo
- endif
-
-c --- evaluate radial basis functions
-
depth=6371.0-xrad
call evradker (depth,kerstr,numker,vercof,vercofd,ierror)
if(ierror.ne.0) stop 'ierror evradker'
@@ -180,12 +122,10 @@ c --- evaluate perturbations in vsh and vsv
c --- evaluate perturbations in per cent
- vshout=100.0*vsh3drel
- vsvout=100.0*vsv3drel
- vphout=0.55*vshout ! --- scaling used in the inversion
- vpvout=0.55*vsvout ! --- scaling used in the inversion
- etaout=0.0 ! --- not inverted for
- rhoout=0.0 ! --- not inverted for
+ dvsh=vsh3drel
+ dvsv=vsv3drel
+ dvph=0.55*dvsh ! --- scaling used in the inversion
+ dvpv=0.55*dvsv ! --- scaling used in the inversion
end
diff --git a/s362ani/src/subtopo.f b/s362ani/src/subtopo.f
index 54aa6c7..3a91e17 100644
--- a/s362ani/src/subtopo.f
+++ b/s362ani/src/subtopo.f
@@ -1,18 +1,11 @@
c --- evaluate depressions of the 410- and 650-km discontinuities in km
- subroutine subtopo(xcolat,xlon,topo410out,topo650out,ifknowmodel,
- # THREE_D_MODEL,THREE_D_MODEL_S362ANI,
- # THREE_D_MODEL_S362WMANI,
- # THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA)
+ subroutine subtopo(xcolat,xlon,topo410,topo650)
implicit none
real*4 xcolat,xlon
- real*4 topo410out,topo650out
- integer ifknowmodel
- integer THREE_D_MODEL,THREE_D_MODEL_S362ANI
- integer THREE_D_MODEL_S362WMANI
- integer THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA
+ real*4 topo410,topo650
c --- model evaluation
@@ -23,63 +16,15 @@ c --- model evaluation
real*4 x,y ! --- lat lon
c ---
- character*128 modeldef
integer iker,i
character*40 vstr
- logical exists
- integer lu,numvar,lstr
- integer lnblnk,ierror
+ integer lstr
+ integer lnblnk
include 'mod.h'
c -------------------------------------
- lu=1 ! --- log unit: input 3-D model
-
-c --- read the model if necessary
-
- if(ifknowmodel.ne.0) then
- else
- if(THREE_D_MODEL .eq. THREE_D_MODEL_S362ANI) then
- modeldef='DATA/s362ani/S362ANI'
- elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S362WMANI) then
- modeldef='DATA/s362ani/S362WMANI'
- elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S362ANI_PREM) then
- modeldef='DATA/s362ani/S362ANI_PREM'
- elseif(THREE_D_MODEL .eq. THREE_D_MODEL_S29EA) then
- modeldef='DATA/s362ani/S2.9EA'
- else
- stop 'unknown 3D model in subshsv'
- endif
- inquire(file=modeldef,exist=exists)
- if(exists) then
- call gt3dmodl(lu,modeldef,
- # maxhpa,maxker,maxcoe,
- # numhpa,numker,numcoe,lmxhpa,
- # ihpakern,itypehpa,coe,
- # itpspl,xlaspl,xlospl,radspl,
- # numvar,ivarkern,varstr,
- # refmdl,kerstr,hsplfl,dskker,ierror)
- else
- write(6,"('the model ',a,' does not exits')")
- # modeldef(1:lnblnk(modeldef))
- endif
- ifknowmodel=1
-
-c --- check arrays
-
- if(numker.gt.maxker) stop 'numker.gt.maxker'
- do ihpa=1,numhpa
- if(itypehpa(ihpa).eq.1) then
- if(lmxhpa(ihpa).gt.maxl) stop 'lmxhpa(ihpa).gt.maxl'
- else if(itypehpa(ihpa).eq.2) then
- if(numcoe(ihpa).gt.maxcoe) stop 'numcoe(ihpa).gt.maxcoe'
- else
- stop 'problem with itypehpa'
- endif
- enddo
- endif
-
c --- contributing horizontal basis functions at xlat,xlon
y=90.0-xcolat
@@ -142,8 +87,8 @@ c --- evaluate topography (depression) in km
valu(ieval)=value
enddo ! --- ieval
- topo410out=valu(1)
- topo650out=valu(2)
+ topo410=valu(1)
+ topo650=valu(2)
end
More information about the CIG-COMMITS
mailing list