Comments (7)
#32 is solved and #33 is hacked around so this issue is ready to attack.
from mt_metadata.
This is done except for the effect of the FIR filters.
We need to be careful here, because the FIR filters operate on data at differing sampling rates.
Likely we will want to compute the response for each of these filters but do so as if the filter was applied to data of the "input_sampling rate" of that stage. Which means that we need to propage the input sampling rate attribute from the obspy stage to the FIR filter.
from mt_metadata.
Adding a property to the FIR filter called
decimation_input_sample_rate
This property is in the obspy.core.inventory.response.FIRResponseStage that is read in from the inventory
To make this property appear in the mt_metadata filter instance we need to do the following things:
- We add the property to the relevant standards.json. In this case fir_filter.json
- We add a reference in the obspy_mapping which associates the obspy property name with the mt_metadata property name
- We add the property to the FIRFilter() class
Technically, you only need to do (2) above. (1) is best practice and (3) may add clarity to someone reading the code.
Also, when you are working on this,
- review the decimation_inactive property and confirm that it is being appropriately assigned for the various FIR filters. Also, note it is probably clearer to use decimation_active as the property.
- Review the symmetry required field from station_xml, deduce the meaning of this; is it in how the filter is applied (zero-phase) or are the filter taps themselves symmetric. Add to obspy_mapping["_symmetry"] = "_symmetry" if appropriate
from mt_metadata.
@kujaku11 When using the json standards model for populating the filters, I couldn't find an example of how to instantiate a property to a default value. I am thinking about adding a property "decimation_active" to filters_base.py. I suppose I would make it required, and basically the behaviour I would like is that it is false unless when reading from obspy stage I observe something like stage.decimation_factor is not None, in which case I would set it to True... Something to discuss Thursday most likely
hmm, I guess the way to do it is to put "decimation_factor" into the obspy mapping and then make the @Property return bool(self.decimation_factor). I'll code it on a branch and see how it goes
from mt_metadata.
Filters seem to come with symmetry "None" or "EVEN" This issue relates to #35
from mt_metadata.
The next step here is to get clarity on symmetry. Most likely we just hstack(x, fliplr(x)) to get the whole filter.
There is ambiguity if these filters are applied from the left or the right as well. For symmetric filters it probably doesn;t matter but for the non-symmetric compare the time series and spectra of data filtered with lfilter and rfilter
Pausing to work on TFs
from mt_metadata.
symmetery handled with the help of the fdsn online manual and the pdf of the seed manual.
All calibrations now work.
from mt_metadata.
Related Issues (20)
- zmm files are empty when writing.
- List of next level objects should become an OrderedDict HOT 1
- Should Auxiliary channels require component field? HOT 1
- Make validation more efficient
- MTime does not support nanoseconds
- pandas Timestamp does not support years greater than 2600 or so
- remove aurora dependencies from processing config HOT 2
- Aurora not passing since merge HOT 1
- No attribute period error HOT 2
- Replace ListDict with Box
- TF instance has different values for self.transfer_function and self.dataset.transfer_function HOT 1
- TF XML Ingest HOT 13
- Z-file headers HOT 3
- write/read tf broken by "comments" HOT 1
- Add mt_metadata version in summary of metadata standards.
- TF should use SurveyMetadata as sole metadata object
- time and frequency axes are permuted in FC HOT 2
- Use Loguru for logging
- dataless mth5 from fdsn HOT 16
- python 3.7 install failing on fcs branch HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mt_metadata.