# obstools_ipgp
Tools for evalauating and manipulating obs data.
Data must be in SDS format and metadata in StationXML format for all of these tools
## Command-line programs
Type ``{command} -h`` to get a list of parameters and options
### Existing
| Program | description |
| ----------- | ------------------------------------------------------- |
| plotPSDs | plot power spectral densities of all stations |
| obstest | plot different representations of tests (noise, taps... |
| obstest_examples | put obstest example files in the current directory |
### Future
| Program | description |
| ------------ | ------------------------------------------------------------- |
| data_extent | plot/list the extent of data for all channels???? |
| drift_correl | Use inter-station cross-correlations to calculate clock drift |
| to_SEGY | Transform data + shotfiles into SEGY |
## obstest control files
obstest uses YAML-format control files to indicate what kind of plots to
output. The datetime ranges in the `plots` sections must be within those given
in the `input` section, as data is only read using the `input` time bounds.
for details on the control file format, type:
```
python
> import obstools_ipgp
> help(obstools_ipgp.obstest)
```
to put example lctest control files in the current directory, type:
```
lctest --examples
```
### Example plots
### Examples
#### 1: Analysing one station
``` yaml
---
input:
SDS_dir: "SDS"
inv_file: "SDS.station.xml"
description: "Tests on BBOBS"
output:
show: True
filebase: 'BB02-V1_3-tests'
plot_globals:
spectra:
window_length.s: 1024
plots:
time_series:
- description: "Entire time series"
select: {station: "*"}
start_time: "2022-02-22T10:00:01"
end_time: "2022-02-25T15:25:25"
- description: "Quiet time"
select: {station: "*"}
start_time: "2022-02-23T21:00:00"
end_time: "2022-02-24T03:00:00"
- description: "Stack time"
select: {station: "*"}
start_time: "2022-02-25T13:54:00"
end_time: "2022-02-25T14:03:00"
spectra:
- description: "Quiet time"
select: {station: "*"}
start_time: "2022-02-23T21:00:00"
end_time: "2022-02-24T03:00:00"
stack:
- description: "Stack, Jump South"
orientation_codes: ["Z"]
offset_before.s: 0.3
offset_after.s: 1
times:
- "2022-02-25T13:57:00.66"
- "2022-02-25T13:58:00.53"
- "2022-02-25T13:59:00.2"
- description: "Stack, Jump Est"
orientation_codes: ["Z"]
offset_before.s: 0.3
offset_after.s: 1
times:
- "2022-02-25T14:00:00.4"
- "2022-02-25T14:01:00.15"
- "2022-02-25T14:02:00.18"
particle_motion:
- description: "Stack, Jump South"
orientation_code_x: "2"
orientation_code_y: "1"
offset_before.s: 0.00
offset_after.s: 0.03
offset_before_ts.s: 0.2
offset_after_ts.s: 1
times:
- "2022-02-25T13:57:00.66"
- "2022-02-25T13:58:00.53"
- "2022-02-25T13:59:00.2"
- description: "Stack, Jump Est"
orientation_code_x: "2"
orientation_code_y: "1"
offset_before.s: 0.1
offset_after.s: 0.2
offset_before_ts.s: 0.3
offset_after_ts.s: 1
times:
- "2022-02-25T14:00:00.4"
- "2022-02-25T14:01:00.15"
- "2022-02-25T14:02:00.18"
```
##### Output plots
###### time_series
![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Entire_time_series_ts.png)
![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Quiet_time_ts.png)
###### spectra
![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Quiet_time_spect.png)
###### stack
![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Stack_Jump_South_stack.png)
###### particle_motion
![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Stack_Jump_South_pm.png)
#### 2: Comparing several stations
```yaml
---
input:
SDS_dir: "SDS"
inv_file: "SDS.station.xml"
description: "Tests on BBOBS"
description: "Simulation of multi-instrument test"
output:
show: True
filebase: "MAYOBS6"
plot_globals:
stack:
offset_before.s: 0.5
offset_after.s: 1.5
plot_span: False
particle_motion:
offset_before.s: 0.1
offset_after.s: 0.2
particle_offset_before.s: 0.00
particle_offset_after.s: 0.03
spectra:
window_length.s: 100
plots:
time_series:
-
description: "Entire time series"
select: {station: "*"}
start_time: "2019-11-07T00:00"
end_time: "2019-11-08T00:00"
-
description: "Quiet period"
select: {channel: "*3"}
start_time: "2019-11-07T11:00"
end_time: "2019-11-07T13:57"
-
description: "Rubber hammer taps"
select: {station: "*"}
start_time: "2019-11-07T14:08"
end_time: "2019-11-07T14:11:10"
spectra:
-
description: "Entire time series"
select: {component: "3"}
start_time: "2019-11-07T00:00"
end_time: "2019-11-08T00:00"
-
description: "Quiet period"
select: {channel: "*3"}
start_time: "2019-11-07T11:00"
end_time: "2019-11-07T13:57"
```
Raw data
{
"_id": null,
"home_page": "https://github.com/WayneCrawford/obstools_ipgp",
"name": "obstools-ipgp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "oceanography, marine, OBS",
"author": "Wayne Crawford",
"author_email": "crawford@ipgp.fr",
"download_url": "https://files.pythonhosted.org/packages/e0/27/845edf22057a1ebf47d11d85458247aad6e52cc1b187b10c143c268fe433/obstools_ipgp-1.0.10.post1.tar.gz",
"platform": null,
"description": "# obstools_ipgp\n\nTools for evalauating and manipulating obs data.\n\nData must be in SDS format and metadata in StationXML format for all of these tools\n\n\n## Command-line programs\n\nType ``{command} -h`` to get a list of parameters and options\n\n### Existing\n\n| Program | description |\n| ----------- | ------------------------------------------------------- |\n| plotPSDs | plot power spectral densities of all stations | \n| obstest | plot different representations of tests (noise, taps... |\n| obstest_examples | put obstest example files in the current directory |\n\n### Future\n\n| Program | description |\n| ------------ | ------------------------------------------------------------- |\n| data_extent | plot/list the extent of data for all channels???? |\n| drift_correl | Use inter-station cross-correlations to calculate clock drift |\n| to_SEGY | Transform data + shotfiles into SEGY |\n\n\n## obstest control files\n\nobstest uses YAML-format control files to indicate what kind of plots to\noutput. The datetime ranges in the `plots` sections must be within those given\nin the `input` section, as data is only read using the `input` time bounds.\n\nfor details on the control file format, type:\n```\n python\n > import obstools_ipgp\n > help(obstools_ipgp.obstest)\n```\n\nto put example lctest control files in the current directory, type:\n```\n lctest --examples\n```\n\n### Example plots\n\n### Examples\n\n#### 1: Analysing one station\n\n``` yaml\n---\ninput: \n SDS_dir: \"SDS\"\n inv_file: \"SDS.station.xml\"\n description: \"Tests on BBOBS\"\noutput:\n show: True\n filebase: 'BB02-V1_3-tests'\nplot_globals:\n spectra:\n window_length.s: 1024\nplots:\n time_series:\n - description: \"Entire time series\"\n select: {station: \"*\"}\n start_time: \"2022-02-22T10:00:01\"\n end_time: \"2022-02-25T15:25:25\"\n - description: \"Quiet time\"\n select: {station: \"*\"}\n start_time: \"2022-02-23T21:00:00\"\n end_time: \"2022-02-24T03:00:00\"\n - description: \"Stack time\"\n select: {station: \"*\"}\n start_time: \"2022-02-25T13:54:00\"\n end_time: \"2022-02-25T14:03:00\"\n spectra:\n - description: \"Quiet time\"\n select: {station: \"*\"}\n start_time: \"2022-02-23T21:00:00\"\n end_time: \"2022-02-24T03:00:00\"\n stack:\n - description: \"Stack, Jump South\"\n orientation_codes: [\"Z\"]\n offset_before.s: 0.3\n offset_after.s: 1\n times:\n - \"2022-02-25T13:57:00.66\"\n - \"2022-02-25T13:58:00.53\"\n - \"2022-02-25T13:59:00.2\"\n - description: \"Stack, Jump Est\"\n orientation_codes: [\"Z\"]\n offset_before.s: 0.3\n offset_after.s: 1\n times:\n - \"2022-02-25T14:00:00.4\"\n - \"2022-02-25T14:01:00.15\"\n - \"2022-02-25T14:02:00.18\"\n particle_motion:\n - description: \"Stack, Jump South\"\n orientation_code_x: \"2\"\n orientation_code_y: \"1\"\n offset_before.s: 0.00\n offset_after.s: 0.03\n offset_before_ts.s: 0.2\n offset_after_ts.s: 1\n times:\n - \"2022-02-25T13:57:00.66\"\n - \"2022-02-25T13:58:00.53\"\n - \"2022-02-25T13:59:00.2\"\n - description: \"Stack, Jump Est\"\n orientation_code_x: \"2\"\n orientation_code_y: \"1\"\n offset_before.s: 0.1\n offset_after.s: 0.2\n offset_before_ts.s: 0.3\n offset_after_ts.s: 1\n times:\n - \"2022-02-25T14:00:00.4\"\n - \"2022-02-25T14:01:00.15\"\n - \"2022-02-25T14:02:00.18\"\n```\n##### Output plots\n###### time_series\n![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Entire_time_series_ts.png)\n![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Quiet_time_ts.png)\n\n###### spectra\n![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Quiet_time_spect.png)\n\n###### stack\n![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Stack_Jump_South_stack.png)\n\n###### particle_motion\n![](https://github.com/WayneCrawford/obstools_ipgp/raw/main/README_images/BB02-V1_3-tests_Stack_Jump_South_pm.png)\n\n\n#### 2: Comparing several stations\n\n```yaml\n---\ninput:\n SDS_dir: \"SDS\"\n inv_file: \"SDS.station.xml\"\n description: \"Tests on BBOBS\"\n description: \"Simulation of multi-instrument test\"\noutput:\n show: True\n filebase: \"MAYOBS6\"\nplot_globals:\n stack:\n offset_before.s: 0.5\n offset_after.s: 1.5\n plot_span: False\n particle_motion:\n offset_before.s: 0.1\n offset_after.s: 0.2\n particle_offset_before.s: 0.00\n particle_offset_after.s: 0.03\n spectra:\n window_length.s: 100\nplots:\n time_series:\n -\n description: \"Entire time series\"\n select: {station: \"*\"}\n start_time: \"2019-11-07T00:00\"\n end_time: \"2019-11-08T00:00\"\n -\n description: \"Quiet period\"\n select: {channel: \"*3\"}\n start_time: \"2019-11-07T11:00\"\n end_time: \"2019-11-07T13:57\"\n -\n description: \"Rubber hammer taps\"\n select: {station: \"*\"}\n start_time: \"2019-11-07T14:08\"\n end_time: \"2019-11-07T14:11:10\"\n spectra:\n -\n description: \"Entire time series\"\n select: {component: \"3\"}\n start_time: \"2019-11-07T00:00\"\n end_time: \"2019-11-08T00:00\"\n -\n description: \"Quiet period\"\n select: {channel: \"*3\"}\n start_time: \"2019-11-07T11:00\"\n end_time: \"2019-11-07T13:57\"\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Ocean bottom seismometer evaluation/processing routines",
"version": "1.0.10.post1",
"project_urls": {
"Homepage": "https://github.com/WayneCrawford/obstools_ipgp"
},
"split_keywords": [
"oceanography",
" marine",
" obs"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "77e87cbabc0e27676645fc6bfe1f17fea43c6ad515560590dc056ffd3a5054af",
"md5": "59d0ef96b061b8f1d214b807d86c3d7d",
"sha256": "9980a3ee749f52a0cb5ecf164954d9a3cdfafc51e054c2916efc227d1cfff6ce"
},
"downloads": -1,
"filename": "obstools_ipgp-1.0.10.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "59d0ef96b061b8f1d214b807d86c3d7d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 32246,
"upload_time": "2024-09-12T10:24:49",
"upload_time_iso_8601": "2024-09-12T10:24:49.225668Z",
"url": "https://files.pythonhosted.org/packages/77/e8/7cbabc0e27676645fc6bfe1f17fea43c6ad515560590dc056ffd3a5054af/obstools_ipgp-1.0.10.post1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e027845edf22057a1ebf47d11d85458247aad6e52cc1b187b10c143c268fe433",
"md5": "b8a80391e46547da0589ed88bc7ee76b",
"sha256": "580330510f5773e2cba75f35c9da8a58ae4e8edc63f6279996ba20f5343e13d8"
},
"downloads": -1,
"filename": "obstools_ipgp-1.0.10.post1.tar.gz",
"has_sig": false,
"md5_digest": "b8a80391e46547da0589ed88bc7ee76b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 400214,
"upload_time": "2024-09-12T10:24:55",
"upload_time_iso_8601": "2024-09-12T10:24:55.294326Z",
"url": "https://files.pythonhosted.org/packages/e0/27/845edf22057a1ebf47d11d85458247aad6e52cc1b187b10c143c268fe433/obstools_ipgp-1.0.10.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-12 10:24:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "WayneCrawford",
"github_project": "obstools_ipgp",
"github_not_found": true,
"lcname": "obstools-ipgp"
}