[cig-commits] [commit] devel, master: Modified code to use less memory for large adjoint runs (large meaning many adjoint sources and receivers and many processors). Changes involve: *reading adjoint sources in in chunks *writing seismograms out in chunks for adjoint runs (not storing the entire trace *locating sources in chunks (03a4c2a)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Thu Nov 6 08:01:34 PST 2014


Repository : https://github.com/geodynamics/specfem3d_globe

On branches: devel,master
Link       : https://github.com/geodynamics/specfem3d_globe/compare/bc58e579b3b0838a0968725a076f5904845437ca...be63f20cbb6f462104e949894dbe205d2398cd7f

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

commit 03a4c2a3fd69aaf9a201362d7432c10b3a313aac
Author: Vala Hjörleifsdóttir <vala at gps.caltech.edu>
Date:   Wed Jul 19 03:05:48 2006 +0000

    Modified code to use less memory for large adjoint runs (large
    meaning many adjoint sources and receivers and many processors).
    Changes involve:
    *reading adjoint sources in in chunks
    *writing seismograms out in chunks for adjoint runs (not storing the
     entire trace
    *locating sources in chunks
    
    Added parameter NTSTEP_BETWEEN_READ_ADJSRC to Par_file and NSOURCES_SUB
    to constants file.  The first controls the "chunk" size for adjoint
    sources (in number of timesteps) and the latter controls how many sources
    to locate at the same time.  I set it to 1000, it should be a reasonable
    number.  The "chunk" size for adjoint seismograms is controlled by the
    parameter NTSTEP_BETWEEN_OUTPUT_SEISMOS that was already in Par_file.


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

03a4c2a3fd69aaf9a201362d7432c10b3a313aac
 Par_file | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/Par_file b/Par_file
index eba5812..a415f81 100644
--- a/Par_file
+++ b/Par_file
@@ -1,6 +1,6 @@
 
 # forward or adjoint simulation
-SIMULATION_TYPE                 = 1   # 1 = forward, 2 = adjoint, 3 = both simultaneously
+SIMULATION_TYPE                 = 2
 SAVE_FORWARD                    = .false.  # save last frame of forward simulation or not
 
 # number of chunks (1,2,3 or 6)
@@ -24,21 +24,21 @@ NPROC_ETA                       = 5
 
 # model (isotropic_prem, transversely_isotropic_prem,
 # iasp91, 1066a, ak135, s20rts, Brian_Savage, Min_Chen)
-MODEL                           = isotropic_prem
+MODEL                           = s20rts 
 
 # parameters describing the Earth model
-OCEANS                          = .false.
-ELLIPTICITY                     = .false.
-TOPOGRAPHY                      = .false.
-GRAVITY                         = .false.
-ROTATION                        = .false.
-ATTENUATION                     = .false.
+OCEANS                          = .true.
+ELLIPTICITY                     = .true.
+TOPOGRAPHY                      = .true.
+GRAVITY                         = .true.
+ROTATION                        = .true.
+ATTENUATION                     = .true.
 
 # absorbing boundary conditions for a regional simulation
 ABSORBING_CONDITIONS            = .false.
 
 # record length in minutes
-RECORD_LENGTH_IN_MINUTES        = 40.d0
+RECORD_LENGTH_IN_MINUTES        = 100.0d0
 
 # save AVS or OpenDX movies
 MOVIE_SURFACE                   = .false.
@@ -60,7 +60,8 @@ LOCAL_PATH                      = /scratch/komatits/DATABASES_MPI
 NTSTEP_BETWEEN_OUTPUT_INFO      = 100
 
 # interval in time steps for temporary writing of seismograms
-NTSTEP_BETWEEN_OUTPUT_SEISMOS   = 5000000
+NTSTEP_BETWEEN_OUTPUT_SEISMOS   = 1000
+NTSTEP_BETWEEN_READ_ADJSRC      = 1000
 
 # flag to impose receivers at the surface or allow them to be buried
 RECEIVERS_CAN_BE_BURIED         = .false.



More information about the CIG-COMMITS mailing list