A Python package to request and process seismic waveform data from Hi-net.

Overview

HinetPy is a Python package to simplify tedious data request, download and format conversion tasks related to NIED Hi-net.

NIED Hi-net | Source Code | Documentation | 中文文档

Features

  • Request continuous and event waveform data from Hi-net
  • Select Hi-net/F-net stations inside a box or circular region
  • Convert waveform data from win32 format to SAC format
  • Extract instrumental response as SAC polezero file
  • Multithreads downloading and conversion to speedup

A simple example

Here is an example showing how to use HinetPy to request continuous waveform data from Hi-net, convert the data into SAC format, and extract instrumental responses as SAC polezero files.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from HinetPy import Client, win32

# You need a Hi-net account to access the data
client = Client("username", "password")

# Let's try to request 20-minute data starting at 2010-01-01T00:00(GMT+0900)
# of the Hi-net network (with an internal network code of '0101')
data, ctable = client.get_continuous_waveform("0101", "201001010000", 20)

# The request and download process usually takes a few minutes
# waiting for data request ...
# waiting for data download ...

# Now you can see the data and corresponding channel table in your working directory
# waveform data (in win32 format) : 0101_201001010000_20.cnt
# channel table (plaintext file)  : 0101_20100101.ch

# Let's convert data from win32 format to SAC format
win32.extract_sac(data, ctable)

# Let's extract instrument response as PZ files from the channel table file
win32.extract_sacpz(ctable)

# Now you can see several SAC and SAC_PZ files in your working directory

# N.NGUH.E.SAC  N.NGUH.U.SAC  N.NNMH.N.SAC
# N.NGUH.N.SAC  N.NNMH.E.SAC  N.NNMH.U.SAC
# ...
# N.NGUH.E.SAC_PZ  N.NGUH.U.SAC_PZ  N.NNMH.N.SAC_PZ
# N.NGUH.N.SAC_PZ  N.NNMH.E.SAC_PZ  N.NNMH.U.SAC_PZ
# ...

Citation

If you find this package useful, please consider citing via:

License

This project is licensed under the terms of the MIT license.

Comments
  • Connecting Hinet time out over a period of time

    Connecting Hinet time out over a period of time

    Hi Dongdong, Great work for HinetPy. Some error occurred when I request data continuously over a period of time, the source codes are attached. Look forwarding to you help.

    Traceback (most recent call last):
      File "/usr/local/pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 138, in _new_conn
        (self.host, self.port), self.timeout, **extra_kw)
      File "/usr/local/pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/requests/packages/urllib3/util/connection.py", line 98, in create_connection
        raise err
      File "/usr/local/pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/requests/packages/urllib3/util/connection.py", line 88, in create_connection
        sock.connect(sa)
    socket.timeout: timed out
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 594, in urlopen
        chunked=chunked)
      File "/usr/local/pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 350, in _make_request
        self._validate_conn(conn)
      File "/usr/local/pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 835, in _validate_conn
        conn.connect()
      File "/usr/local/pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 281, in connect
        conn = self._new_conn()
      File "/usr/local/pyenv/versions/anaconda3-4.3.1/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 143, in _new_conn
        (self.host, self.timeout))
    requests.packages.urllib3.exceptions.ConnectTimeoutError: (<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f0318697be0>, 'Connection to hinetwww11.bosai.go.jp timed out. (connect timeout=60)')
    
    #!/bin/env python
    import datetime
    import os
    import glob
    from HinetPy import Client
    from HinetPy import win32
    
    timeb = datetime.datetime(2016,11,8,23,30,0)
    timee = datetime.datetime(2017,1,1,0,0,0)
    span = 30
    nowtime = timeb
    clnt = Client('xxxxxx', 'xxxxxxx')
    
    while nowtime < timee:
        dirname = nowtime.strftime("%Y%m%d%H%M")
        print(dirname)
        if os.path.isdir(dirname) and glob.glob(os.path.join(dirname, "*.SAC")):
            pass
        else:
            data, ctable = clnt.get_waveform('0101', dirname, span, outdir=dirname)
            win32.extract_sac(data, ctable, outdir=dirname)
            win32.extract_pz(ctable, outdir=dirname)
        nowtime += datetime.timedelta(minutes=span)
    
    opened by xumi1993 7
  • Download data size limit for F-net updated

    Download data size limit for F-net updated

    The limitation of download data size for F-net data is not the same with Hi-net, that is:

    • max size of download data is 50 MB (< 55MB actually).

    Thus I updated this criteria for F-net (0103,0103A).

    Please merge it if it would be useful for HinetPy.

    opened by mnagaso 4
  • List Selected Stations with Longitude / Latitude

    List Selected Stations with Longitude / Latitude

    Background

    • A function to return stations with Lon/Lat is helpful to plot them in a map.
    • Client.get_seleced_stations() only returns the number of selected stations, not the station info.
    • Here, add Client.list_selected_stations() to show selected stations with Lon/Lat data!

    Feature

    • Client.list_selected_stations() returns a dict containing stations as keys.
    • For each value, a dict with 'longitude' and 'latitude' as keys.
    • len() returns the number of selected stations, the same feature to Client.get_seleced_stations().

    Example

    >>> client = Client("username", "password")
    >>> stations = client.list_selected_stations(code='0101', parser='lxml')
    >>> stations
    {'N.TRGH': {'longitude': 136.0303, 'latitude': 35.639},
     'N.MIKH': {'longitude': 135.8694, 'latitude': 35.5587},
     ...,
     'N.NAKH': {'longitude': 132.9524, 'latitude': 33.0754}}
    
    >>> len(stations)
    23
    >>> [*stations.keys()]
    ['N.TRGH',
     'N.MIKH',
      ...,
     'N.NAKH']
    
    >>> print(*stations['N.MIKH'].values())
    135.8694 35.5587
    

    Note

    • Need to install beautifulsoup4 to run this function (I did not touch setup.py and requirements.txt)
    • Can run faster if the parser lxml is installed, as the default parser. If not, html.parser is used in BeautifulSoup.
    • This func can be renamed to get_seleced_stations()?
    opened by yasuit21 4
  • Download fail client.py

    Download fail client.py

    Hi!

    I tried to download continuous waveform data, but I got "ERROR: Data request fails after 3 retries.", and I got no data (.cnt) and channel table (.ch) in the working directory. Below is what I got:

    >>> from HinetPy import Client, win32
    >>> client = Client('MYUSENAME', 'MYPASSWORD')
    >>> data, ctable = client.get_continuous_waveform('0101', '201604160100', 5)
    [2019-07-31 11:12:29] INFO: 2016-04-16 01:00 ~5
    [2019-07-31 11:12:29] INFO: [1/1] => 2016-04-16 01:00 ~5
    [2019-07-31 11:13:03] ERROR: Data request fails after 3 retries.
    [2019-07-31 11:13:03] ERROR: Fail to request some data. Skipped.
    

    It seems that the request has successfully been sent to Hi-net, and I could manually (click and save) download the data via Status / Download page at Hi-net website https://hinetwww11.bosai.go.jp/auth/download/cont/cont_status.php?LANG=en, but it should be not convenient for me when downloading hours and days of long data...

    It would be a great help if I could get any hints to solve this problem... Thanks!

    • OS: macOS
    • Python version: Python 3.6.1
    • HinetPy version: 0.6.3

    HinetPy_error_report_190731113842

    opened by rokuwaki 3
  • Bump codecov/codecov-action from 1 to 2.0.1

    Bump codecov/codecov-action from 1 to 2.0.1

    Bumps codecov/codecov-action from 1 to 2.0.1.

    Release notes

    Sourced from codecov/codecov-action's releases.

    v2.0.1

    Fixes

    • #424 fix: Issue in building all deep dependencies

    v2.0.0

    On February 1, 2022, the v1 uploader will be full sunset and no longer function. This is due to the deprecation of the underlying bash uploader. This version uses the new uploader.

    The v2 Action downloads, verifies, and runs the Codecov binary.

    Breaking Changes

    • Multiple fields have not been transferred from the bash uploader or have been deprecated. Notably many of the functionalities and gcov_ arguments have been removed. Please check the documentation for the full list.

    Features

    • dry-run argument allows Codecov flow without uploading reports to Codecov
    • (Enterprise only) slug allows specifying the repository slug manually
    • (Enterprise only) url allows changing the upload host

    v1.5.2

    1.5.2

    Fixes

    • fix: Import version properly as string not object

    v1.5.1

    1.5.1

    Fixes

    • #320 doc: add github actions badge
    • #336 Update bash uploader to 1.0.3
    • #339 fix: Add action version

    Dependencies

    • #302 Bump @​typescript-eslint/eslint-plugin from 4.22.0 to 4.22.1
    • #303 Bump @​typescript-eslint/parser from 4.22.0 to 4.22.1
    • #304 Bump ts-jest from 26.5.5 to 26.5.6
    • #309 Bump lodash from 4.17.19 to 4.17.21
    • #310 Bump hosted-git-info from 2.8.8 to 2.8.9
    • #311 Bump @​actions/github from 4.0.0 to 5.0.0
    • #314 Bump eslint from 7.25.0 to 7.27.0
    • #315 Bump @​actions/core from 1.2.7 to 1.3.0
    • #316 Bump @​typescript-eslint/parser from 4.22.1 to 4.25.0
    • #317 Bump @​typescript-eslint/eslint-plugin from 4.22.1 to 4.25.0
    • #319 Bump jest-junit from 12.0.0 to 12.1.0
    • #321 Bump typescript from 4.2.4 to 4.3.2
    • #323 Bump ws from 7.3.1 to 7.4.6
    • #331 Bump eslint from 7.27.0 to 7.28.0
    • #332 Bump @​actions/exec from 1.0.4 to 1.1.0
    • #333 Bump @​typescript-eslint/parser from 4.25.0 to 4.26.1

    ... (truncated)

    Changelog

    Sourced from codecov/codecov-action's changelog.

    2.0.1

    Fixes

    • #424 fix: Issue in building all deep dependencies

    2.0.0

    On February 1, 2022, the v1 uploader will be full sunset and no longer function. This is due to the deprecation of the underlying bash uploader. This version uses the new uploader.

    The v2 Action downloads, verifies, and runs the Codecov binary.

    Breaking Changes

    • Multiple fields have not been transferred from the bash uploader or have been deprecated. Notably many of the functionalities and gcov_ arguments have been removed. Please check the documentation for the full list.

    Features

    • dry-run argument allows Codecov flow without uploading reports to Codecov
    • (Enterprise only) slug allows specifying the repository slug manually
    • (Enterprise only) url allows changing the upload host

    1.5.2

    Fixes

    • fix: Import version properly as string not object

    1.5.1

    Fixes

    • #320 doc: add github actions badge
    • #336 Update bash uploader to 1.0.3
    • #339 fix: Add action version

    Dependencies

    • #302 Bump @​typescript-eslint/eslint-plugin from 4.22.0 to 4.22.1
    • #303 Bump @​typescript-eslint/parser from 4.22.0 to 4.22.1
    • #304 Bump ts-jest from 26.5.5 to 26.5.6
    • #309 Bump lodash from 4.17.19 to 4.17.21
    • #310 Bump hosted-git-info from 2.8.8 to 2.8.9
    • #311 Bump @​actions/github from 4.0.0 to 5.0.0
    • #314 Bump eslint from 7.25.0 to 7.27.0
    • #315 Bump @​actions/core from 1.2.7 to 1.3.0
    • #316 Bump @​typescript-eslint/parser from 4.22.1 to 4.25.0
    • #317 Bump @​typescript-eslint/eslint-plugin from 4.22.1 to 4.25.0
    • #319 Bump jest-junit from 12.0.0 to 12.1.0
    • #321 Bump typescript from 4.2.4 to 4.3.2
    • #323 Bump ws from 7.3.1 to 7.4.6
    • #331 Bump eslint from 7.27.0 to 7.28.0
    • #332 Bump @​actions/exec from 1.0.4 to 1.1.0
    • #333 Bump @​typescript-eslint/parser from 4.25.0 to 4.26.1
    • #334 Bump @​typescript-eslint/eslint-plugin from 4.25.0 to 4.26.1
    • #335 Bump @​actions/core from 1.3.0 to 1.4.0
    • #337 Bump glob-parent from 5.1.1 to 5.1.2

    ... (truncated)

    Commits
    • c585afe Merge pull request #424 from codecov/2.0.1-fix-deps
    • 852cffb Remove dist/coverage
    • d910efb Update CHANGELOG
    • 439c1e5 Remove coverage folder
    • fc5d663 fix: Hack to force asn1.js
    • 5c832ae Force the dep
    • 71fa76a fix: Add job to test no deps
    • 672fbdc Merge pull request #421 from codecov/dependabot/npm_and_yarn/types/node-16.3.3
    • 1691a31 Merge pull request #422 from codecov/dependabot/npm_and_yarn/vercel/ncc-0.29.0
    • ad2b003 fix: Add deep deps
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Select stations

    Select stations

    Hi,

    The circular region selection of stations appears to be broken. The example here:

    >>> client.select_stations('0101', latitude=30, longitude139,
    ...                        minradius=0, maxradius=2)
    

    produces the following error stack:

    Traceback (most recent call last):
      File "download.py", line 285, in <module>
        hinet.download_event_data(events, args.maxradius)
      File "download.py", line 247, in download_event_data
        fn = self.event_to_stations(event, maxradius)
      File "download.py", line 225, in event_to_stations
        minradius=0, maxradius=2)
      File "/home/marius/.local/lib/python3.5/site-packages/HinetPy/client.py", line 1049, in select_stations
        stations_at_server = self.get_station_list(code)
      File "/home/marius/.local/lib/python3.5/site-packages/HinetPy/client.py", line 903, in get_station_list
        latitude, longitude, elevation = items[7], items[8], items[12]
    IndexError: list index out of range
    

    Also, there is a typo in the example (longitude139)

    bug 
    opened by HerrMuellerluedenscheid 1
  • Unable to download focal mechanism catalog

    Unable to download focal mechanism catalog

    >>> from HinetPy imprt Client
    >>> from datetime import datetime
    >>> client = Client("username", "password")
    >>> startdate = datetime(2010, 1, 1)
    >>> client.get_focalmechanism(startdate, 5)
    'focal_20100101_5.txt'
    

    "Argument error" in the downloaded file.

    opened by seisman 1
  • directory name can not contain underscore?

    directory name can not contain underscore?

    When using rdhinet.py to extract SAC files from cnt files, if the directory name contain underscore, it may be in a infinite loop and the computer seems to be dead.

    This issue is reported by Jiayuan Yao.

    The script seems to have a huge bug, I will check it ASAP.

    bug 
    opened by seisman 1
  • Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4

    Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4

    Bumps pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4.

    Release notes

    Sourced from pypa/gh-action-pypi-publish's releases.

    v1.6.4

    oh, boi! again?

    This is the last one tonight, promise! It fixes this embarrassing bug that was actually caught by the CI but got overlooked due to the lack of sleep. TL;DR GH passed $HOME from the external env into the container and that tricked the Python's site module to think that the home directory is elsewhere, adding non-existent paths to the env vars. See #115.

    Full Diff: https://github.com/pypa/gh-action-pypi-publish/compare/v1.6.3...v1.6.4

    v1.6.3

    Another Release!? Why?

    In pypa/gh-action-pypi-publish#112, it was discovered that passing a $PATH variable even breaks the shebang. So this version adds more safeguards to make sure it keeps working with a fully broken $PATH.

    Full Diff: https://github.com/pypa/gh-action-pypi-publish/compare/v1.6.2...v1.6.3

    v1.6.2

    What's Fixed

    • Made the $PATH and $PYTHONPATH environment variables resilient to broken values passed from the host runner environment, which previously allowed the users to accidentally break the container's internal runtime as reported in pypa/gh-action-pypi-publish#112

    Internal Maintenance Improvements

    New Contributors

    Full Diff: https://github.com/pypa/gh-action-pypi-publish/compare/v1.6.1...v1.6.2

    Commits
    • c7f29f7 🐛 Override $HOME in the container with /root
    • 644926c 🧪 Always run smoke testing in debug mode
    • e71a4a4 Add support for verbose bash execusion w/ $DEBUG
    • e56e821 🐛 Make id always available in twine-upload
    • c879b84 🐛 Use full path to bash in shebang
    • 57e7d53 🐛Ensure the default $PATH value is pre-loaded
    • ce291dc 🎨🐛Fix the branch @ pre-commit.ci badge links
    • 102d8ab 🐛 Rehardcode devpi port for GHA srv container
    • 3a9eaef 🐛Use different ports in/out of GHA containers
    • a01fa74 🐛 Use localhost @ GHA outside the containers
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.6.1

    Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.6.1

    Bumps pypa/gh-action-pypi-publish from 1.5.1 to 1.6.1.

    Release notes

    Sourced from pypa/gh-action-pypi-publish's releases.

    v1.6.1

    What's happened?!

    There was a sneaky bug in v1.6.0 which caused Twine to be outside the import path in the Python runtime. It is fixed in v1.6.1 by updating $PYTHONPATH to point to a correct location of the user-global site-packages/ directory.

    Full Diff: https://github.com/pypa/gh-action-pypi-publish/compare/v1.6.0...v1.6.1

    v1.6.0

    Anything's changed?

    The only update is that the Python runtime has been upgraded from 3.9 to 3.11. There are no functional changes in this release.

    Full Changelog: https://github.com/pypa/gh-action-pypi-publish/compare/v1.5.2...v1.6.0

    v1.5.2

    What's Improved

    Full Diff: https://github.com/pypa/gh-action-pypi-publish/compare/v1.5.1...v1.5.2

    Commits
    • 5d1679f Use py3.11 user-global site-packages in PYTHONPATH
    • d2a2496 Switch the runtime from Python 3.9 to Python 3.11
    • d7edd4c Add user-global site-packages to $PYTHONPATH
    • 8d5f27c Install Twine in the user-global site-packages
    • b0dc178 Disable pip cache dir with an env var
    • bbf6e0b Copy requirements to corresponding dir @ container
    • 0b69a8c Document broken pkginfo==1.9.0 transitive dep
    • c54db9c Integrate pip-tools-generated constraint files
    • 480ec4e Inherit yamllint config from the default preset
    • 5fb2f04 Drop __token__ from README code usage snippets
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump peaceiris/actions-gh-pages from 3.8.0 to 3.9.0

    Bump peaceiris/actions-gh-pages from 3.8.0 to 3.9.0

    Bumps peaceiris/actions-gh-pages from 3.8.0 to 3.9.0.

    Release notes

    Sourced from peaceiris/actions-gh-pages's releases.

    actions-github-pages v3.9.0

    • deps: bump node12 to node16
    • deps: bump @​actions/core from 1.6.0 to 1.10.0

    See CHANGELOG.md for more details.

    Changelog

    Sourced from peaceiris/actions-gh-pages's changelog.

    3.9.0 (2022-10-23)

    chore

    ci

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Hi-net continuous waveform data header and PZ Response files

    Hi-net continuous waveform data header and PZ Response files

    I have downloaded continuous waveform data of two Hi-net stations using HinetPy. But the problem is when I open the header of any sac file in SAC, there is no network name in it and this in turn is creating problem in station pair making in MSNoise. Furthermore, as I am a newbie in this field, I am also struggling with the response files of the stations. I have PZ response files but I want the response files to be in Station XML. I am unable to understand how to convert these PZ files to Station XML. I am hoping to get some help from here.

    opened by Faisal-Umer 4
Releases(0.7.1)
Owner
Dongdong Tian
Associate Professor in Geophysics at China University of Geosciences. Core developer of @GenericMappingTools.
Dongdong Tian
Clock in automatically in SCU.

auto_clock_in Clock in automatically in SCU. Features send logs to Telegram bot How to use? pip install -r requirements.txt () edit user_list, token_A

2 Dec 13, 2021
Batch Python Program Verify

Batch Python Program Verify About As a TA(teaching assistant) of Programming Class, it is very annoying to test students' homework assignments one by

Han-Wei Li 7 Dec 20, 2022
FindUncommonShares.py is a Python equivalent of PowerView's Invoke-ShareFinder.ps1 allowing to quickly find uncommon shares in vast Windows Domains.

FindUncommonShares The script FindUncommonShares.py is a Python equivalent of PowerView's Invoke-ShareFinder.ps1 allowing to quickly find uncommon sha

Podalirius 184 Jan 03, 2023
Игра реализована с помощью языке python3.9, библиотеки pygame

Игра в танки Игра реализована с помощью языке python3.9, библиотеки pygame. Игра имеет несколько уровней. Правила: есть танки, которые стреляют, есть

1 Jan 01, 2022
Alerts for Western Australian Covid-19 exposure locations via email and Slack

WA Covid Mailer Sends alerts from Healthy WA's Covid19 Exposure Locations via email and slack. Setup Edit the configuration items in wacovidmailer.py

13 Mar 29, 2022
A Blender addon for VSE that auto-adjusts video strip's length, if speed effect is applied.

Blender VSE Speed Adjust Addon When using Video Sequence Editor in Blender, the speed effect strip doesn't auto-adjusts clip length when changing its

Arpit Srivastava 2 Jan 18, 2022
A simple python project that can find Tangkeke in a given image.

A simple python project that can find Tangkeke in a given image. Make the real Tangkeke image as a kernel to convolute the target image. The area wher

张志衡 1 Dec 08, 2021
BridgeWalk is a partially-observed reinforcement learning environment with dynamics of varying stochasticity.

BridgeWalk is a partially-observed reinforcement learning environment with dynamics of varying stochasticity. The player needs to walk along a bridge to reach a goal location. When the player walks o

Danijar Hafner 6 Jun 13, 2022
calculadora financiera hecha en python

Calculadora financiera Calculadora de factores financieros basicos, puede calcular tanto factores como expresiones algebraicas en funcion de dichos fa

crudo 5 Nov 10, 2021
JSEngine is a simple wrapper of Javascript engines.

JSEngine This is a simple wrapper of Javascript engines, it wraps the Javascript interpreter for Python use. There are two ways to call interpreters,

11 Dec 18, 2022
A basic tool to generate Hydrogen drum machine kits.

Generate Hydrogen Kit A basic tool to generate drumkit.xml files for Hydrogen drum machine. Saves a bit of time when making kits. Supply it with a nam

Luna Langton 2 Nov 28, 2021
Pseudometa's dotfiles

pseudometa's dotfiles Table of Contents Why this repository? How this Repository works Special Explanations Got an idea for an improvement? Contact Wh

pseudometa 23 Dec 27, 2022
tool to automate exploitation of android degubg bridge vulnerability

DISCLAIMER DISCLAIMER: ANY MALICIOUS USE OF THE CONTENTS FROM THIS ARTICLE WILL NOT HOLD THE AUTHOR RESPONSIBLE HE CONTENTS ARE SOLELY FOR EDUCATIONAL

6 Feb 12, 2022
Declarative and extensible library for configuration & code separation

ClassyConf ClassyConf is the configuration architecture solution for perfectionists with deadlines. It provides a declarative way to define settings f

83 Dec 07, 2022
A simple script that shows important photography times. written in python.

A simple script that shows important photography times. written in python.

John Evans 13 Oct 16, 2022
Synthetik Python Mod - A save editor tool for the game Synthetik written in python

Synthetik_Python_Mod A save editor tool for the game Synthetik written in python

2 Sep 10, 2022
An electron application to check battery of bluetooth devices connected to linux devices.

bluetooth-battery-electron An electron application to check battery of bluetooth devices connected to linux devices. This project provides an electron

Vasu Sharma 15 Dec 03, 2022
An AddOn storing wireguard configuration

Wireguard Database Connector Overview Development Status: 0.1.7 (alpha) First of all, I'd like to thank Jared McKnight for wireguard who inspired me t

Markus Neubauer 3 Dec 30, 2021
Probably the best way to simulate block scopes in Python

This is a package, as it says on the tin, to emulate block scoping in Python, the lack of which being a clever design choice yet sometimes a trouble.

88 Oct 26, 2022
A python program, imitating functionalities of a banking system

A python program, imitating functionalities of a banking system, in order for users to perform certain operations in a bank.

Moyosore Weke 1 Nov 26, 2021