latest update: 2020
1. create adjoint source (specfem3D)#!/usr/bin/bashBXX="HXX.semd"BXY="HXY.semd"BXZ="HXZ.semd"comp="3"#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.I04D.${BXX} ./OUTPUT_FILES/XS.I04D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ} # need to changed the station name#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.I12D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.I14D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.I28D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.I34D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.L13D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.L16D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.L18D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.L21D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.L30D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.L33D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.L37D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.L39D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S03D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S06D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S10D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S11D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S17D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S22D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ} ./bin/xcreate_adjsrc_traveltime 55 80 ${comp} ./OUTPUT_FILES/XS.S26D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S29D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S31D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}#./bin/xcreate_adjsrc_traveltime 0 1 ${comp} ./OUTPUT_FILES/XS.S38D.${BXX} ./OUTPUT_FILES/XS.S26D.${BXY} ./OUTPUT_FILES/XS.S26D.${BXZ}# remove semdmv ./OUTPUT_FILES/XS.S26D.${BXZ}.adj ./OUTPUT_FILES/XS.S26D.HXZ.adj # note HXZ or BXZmv ./OUTPUT_FILES/XS.S26D.${BXX}.adj ./OUTPUT_FILES/XS.S26D.HXX.adjmv ./OUTPUT_FILES/XS.S26D.${BXY}.adj ./OUTPUT_FILES/XS.S26D.HXY.adjrm ./OUTPUT_FILES/SEM/*adjscp ./OUTPUT_FILES/*adj ./OUTPUT_FILES/SEM/rm ./OUTPUT_FILES/*adjTest for the Cray env../configure FC=ftn CC=cc MPIFC=ftn --with-mpi --with-scotch-dir=/work/n03/n03/lucasxie/specfem3d_lucas/external_libs/metis-4.0.3 MPI_INC=${CRAY_MPICH2_DIR}/include FCLIBS=" "Test Seisflows on Archer (06.2020)
-------------------- to check ------------the relationship between 'step length' and the 'm1=m0+steplength*p' ? in case of set ''z'' in the parameters.py file, how the misfit is computed, only based on z component or both the z and x components? Done!-----HPC submit job---pbs by qsubslurm by sbatchlsf by bsub
----- copy from get_cmt.F90 Specfem3D ---- ! scales the moment tensor to Newton.m ! ! CMTSOLUTION file values are in dyne.cm ! (from Global CMT project, Dziewonski 1981, Ekstrom et al. 2012, moment-tensor elements are given in dyne-cm) ! ! 1 dyne is 1 gram * 1 cm / (1 second)^2 ! 1 Newton is 1 kg * 1 m / (1 second)^2 ! thus 1 Newton = 100,000 dynes ! therefore 1 dyne.cm = 1e-7 Newton.m ! moment_tensor(:,:) = moment_tensor(:,:) * 1.d-7
---------------- coordinates ----------------------------- or see meshfem3D.f90 in Specfem3Dspecfem3D codes Harvard CMT x y (Harvard) y -x (Harvard) z z (Harvard)
--------- half duration in CMTSOLUTION ----
- in case of using external source time function, the half duration in CMTSOLUTION is not used even we provide it in the CMTSOLUTION file, recommend in practical application!
- in case of using the ricker wavelet, we have: function comp_source_time_function_rickr(t,f0) !lucas, in CMT, here f0 = hdur input from DATA/CMTSOLUTION
- in case of using Heaviside, we have: function comp_source_time_function(t,hdur) !lucas, in CMT, here hdur=hdur_Gaussian, and hdur_Gaussian=hdur(input from DATA/CMTSOLUTION)/SOURCE_DECAY_MIMIC_TRIANGLE ! where SOURCE_DECAY_MIMIC_TRIANGLE=1.628.
- we may set the half duration to zero and convolve the resulting synthetic seismograms in post-processing after the run, because this way it is easy to use a variety of source-time functions (see Specfem3D package)
semd to sac and plot filtered waveforms for obs vs 1D
- copy the needed event, e.g., CMTSOLUTION_20160820 and the STATIONS to ./Download/seismo-util/data
- in specfem3d_lucas_soton/utils/seis_process/ : 1) change the file name (e.g., CMTSOLUTION_20160820) in process_syn.pl and the event name (e.g., 000006) in specfem2sac.sh, and then use ./specfem2sac.sh to transform 'semd' (from Specfem3D) to the 'SAC' data for this event.