There is a separate fork of PyAdjoint which contains a significant amount of development which is not present here. From what I can see these include double difference (DD) and exponentiated phase misfit functions. I think there are also a number of bug fixes in that branch that are not present here. Although I am not aware of specifics.
I was thinking we should try to merge these changes into this main repository so that they're accessible to all, and usable for a SeisFlows or Pyatoa workflow.
Hi,
Many recent seismic data are recorded by nodal arrays, and they are single component with channel code "DPZ". For the kernel simulation in SPECFEM3D, elastic simulation requires three component (X,Y,Z) adjoint source data to be read in by the code.
How can I prepare the adjoint sources for X and Y component, even if they don't exist? My thinking is that I manually create two zero traces (i.e., repeat zero by NSTEP times), input them to pyadjoint, and output them in specfem adjoint source file format. Now I have three component adjoint source data, but only Z-component is the real valid trace.
Just want to make sure I'm doing right and there's no shortcut to do this. Thanks.
Include sensitivity kernels as a valid adjoint source type, which is simply feeding a manipulated form of the synthetic seismograms back as the adjoint source. This has already been coded up here: