-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Coherence Sorting Method for Improved TF Estimates #119
Comments
Notes from a chat with Gary This is really a segment rejection method Standard Multiple Coherence: Could also use magnetic vs magnetic from remote station. This would just identify segments, it is done before we do the processing pipeline. You use a much wider band than your estimation band to do these estimations. The FORTRAN implementation is aimed at single station data where there is no remote. One way to implement this:
Note that in some implementations, a direct ExEx is multiplied into the "diminished estimate" and the sqrt of their product is taken. In either case, 0 < [<ExEx*>_1 / <ExEx*>_2] < 1.0 and ranking these and selecting a precentile cut from below will increase SNR in the dataset fed to RME. |
Wrote and tested a simple coherence sorting. Mostly tested on IAK34 dataset but did not implement -- i.e. commented it out in transfer_function_helpers.py for this commit. If this commit passes I will test moving mth5, mt_metadata to master branches [Issue: #119]
The task of extracting features (cross-powers and impedance estimates per time-window) should be treated as separate tasks from the coherence sorting. These are necessary, but not sufficient. The features may also find use for other weighting or data QC/viz schemes in future. Go forward plan:
Probably we can make STFT into a class, and then coherence_weights can be a method of that class.
Note that issue #316 or a similar solution will likely need to be addressed. |
- tidied up workflow in process_transfer_functions - created placeholders for segment weights - factored out some methods applied to X, Y, RR for readability
Add some placeholders for coherence sorting - frequency_band_helpers.py - add some placeholder methods - especially Spectrogram class -- a candidate to replace stft_obj in main flow - kernel_dataset.py: - Factor update_survey_metadata method into its own method for better readability - coherence_weights.py - experimental code for Jackkknife coherence weights - xarray_helpers.py - Deprecate unusued cast_3d_stft_to_2d_observations method from xarray_helpers - move notes from this method into stack_fcs()
- added a note on issue #119 about how jackknife may be better applied after simple and multiple coherences - misc notes/doc in coherence_weights and factoring - adjust_band_for_coherence_sorting added to frequency_band_helpers
- have been experimenting with a few approaches to coherence sorting - have decided on a method using Spectrogram() class _crosspower method - most of what is in coherence sorting now is just messy, half tested, experimental muck - but it has a form of what I would like later, and there may be a few nuggets - so, against my better judgement I am committing it and tagging associated with issue #119
A basic coherence sorting has been implemented. This improves the highest frequency estimates at for example IAK34, but there are still some issues with phase, and a few bad periods in aurora that are not showing as bad in EMTF. The existing method is a sort-of jackknife that iteratively removes a segment of data and recomputes the coherence of the remaining ensembles, either local of remote. The coherence is only between two channels though (not multiple coherence)
To do multiple coherence we should make:
get_band_for_tf_estimate
that extracts the coherence bandThere are several issues here:
References:
Egbert, Gary D. New approaches to estimation of magnetotelluric parameters. Final technical report, 1 August 1989--31 July 1991. No. DOE/ER/14057-2. Oregon State Univ., Corvallis, OR (United States). Coll. of Oceanography, 1991a.
Egbert, Gary D., and Dean W. Livelybrooks. "Single station magnetotelluric impedance estimation: Coherence weighting and the regression M-estimate." Geophysics 61.4 (1996): 964-970.
Jones, Alan G., and Hartmut Jödicke. "Magnetotelluric transfer function estimation improvement by a coherence-based rejection technique." SEG Technical Program Expanded Abstracts 1984. Society of Exploration Geophysicists, 1984. 51-55.
Smirnov, M. Yu. "Magnetotelluric data processing with a robust statistical procedure having a high breakdown point." Geophysical Journal International 152.1 (2003): 1-7.
The text was updated successfully, but these errors were encountered: