Get Started

For new users of Hi-net data, I highly recommand you to request and download waveform data from Hi-net website and try to process the data using win32tools. Do all the things manually at least one time, make sure that you understand the whole procedures and the unfriendness and limitations of Hi-net website.

Now let’s get started.

Start python

Run python (or ipython if you have it), and make sure you’re using Python 3.8 or above:

$ python
Python 3.11.6 | packaged by conda-forge | (main, Oct  3 2023, 10:40:35) [GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Create a Client

HinetPy provide a Client class, which provide several methods to help you get waveform data.

>>> from HinetPy import Client
>>> client = Client("username", "password")  # use your own account.

Note

You need a Hi-net account to access Hi-net waveform data.

Do checks

Let our doctor() checks if everything goes right:

>>> client.doctor()
[2019-06-14 16:11:47] INFO: You're using the latest release (v0.6.3).
[2019-06-14 16:11:46] INFO: Hi-net web service is NOT updated.
[2019-06-14 16:11:47] INFO: catwin32: /home/user/bin/catwin32.
[2019-06-14 16:11:47] INFO: win2sac_32: /home/user/bin/win2sac_32.

Congratulations! You’re using the latest version of HinetPy, and the Hi-net web service is NOT updated since the release of HinetPy, which means HinetPy is still working. And you have catwin32 and win2sac_32 in your PATH. Everything seems OK.

Network Codes

Hi-net website provide seismic waveform data from several organizations and networks, e.g. Hi-net, F-net and V-net. Each network has a unique network code. In order to request waveform data from specified network, you need to know the network code. See info() for details.

>>> client.info()
0101   : NIED Hi-net
0103   : NIED F-net (broadband)
0103A  : NIED F-net (strong motion)
010501 : NIED V-net (Tokachidake)
010502 : NIED V-net (Tarumaesan)
...
0701   : Tokyo Metropolitan Government
0702   : Hot Spring Research Institute of Kanagawa Prefecture
0703   : Aomori Prefectural Government
0705   : Shizuoka Prefectural Government
0801   : ADEP
>>> client.info("0101")  # get more information about NIED Hi-net (0101)
== Information of Network 0101 ==
Name: NIED Hi-net
Homepage: http://www.hinet.bosai.go.jp/
Starttime: 20040401
No. of channels: 2336

Now we know Hi-net starts from 2004-04-01 and has a total number of 2336 channels (about 780 stations).

Note

Users are highly recommended to use FnetPy if they need F-net data, since HinetPy cannot deal with F-net instrumental responses correctly.

Stations

If you want, you can have a quick view of stations of Hi-net and F-net (Only these two networks are supported). See get_station_list() for details.

>>> stations = client.get_station_list("0101")
>>> for station in stations:
...     print(station)
...
0101 N.WNNH 45.4883 141.885 -159.06
0101 N.SFNH 45.3346 142.1185 -81.6
0101 N.WNWH 45.2531 141.6334 -130.6
0101 N.WNEH 45.2303 141.8806 -174.6
0101 N.SFSH 45.2163 142.2254 -96.6
...

Hi-net/F-net has a lot of stations. If you only need a few of them, you can select the stations you want. Hi-net website also provide a web interface to do that, which is prefered for most cases. If you want to dynamically select stations in your script, you can try select_stations().

>>> # select only two stations of Hi-net if you know the station names
>>> client.select_stations("0101", ["N.AAKH", "N.ABNH"])
>>>
>>> # select Hi-net stations in a box region
>>> client.select_stations(
...     "0101", minlatitude=36, maxlatitude=50, minlongitude=140, maxlongitude=150
... )
>>>
>>> # select Hi-net stations in a circular region
>>> client.select_stations("0101", latitude=36, longitude=139, minradius=0, maxradius=3)
>>> # select all Hi-net stations
>>> client.select_stations("0101")