terra15
Module for reading and writing data recorded by Terra15 DAS interrogators.
Terra15’s website can be found here
There are a few implementation details to note. The tricky part of the implementation is how time is handled. The Terra15 files contain two arrays corresponding to GPS_time and posix_time. We elected to simply use GPS time.
However, there are a few issues. First, there can be significant jitter in the GPS time vector, and occasionally, sample n+1 has a smaller timestamp than n. This reeks havoc on the pandas indexes used by xarray. Second, the spacing is often different from the dT attributes. Our implementation does the following:
dt = (max(gps_time) - min(gps_time)) / (len(gps_time) - 1). This ensures min(gps_time) + len(gps_time) * dt ≈ max(gps_time).
The time array returned by the parser is calculated by min(gps_time) + dt * np.arange(len(gps_time)) which insures it is monotonically increasing. The time is then cast to datetime64 with to_datetime64.
The start/end time returned by the scan function are gps_time[0] and gps_time[-1], cast to datetime64 objects.
It is very important that the scan method returns exactly the same time_min and time_max as contained in the patch when loaded into memory.
Classes
Name | Description |
---|---|
Terra15FormatterV4 | Support for Terra15 data format, version 4. |
Terra15FormatterV5 | Support for Terra15 data format, version 5. |
Terra15FormatterV6 | Support for Terra15 data format, version 5. |
Modules
Name | Description |
---|---|
core | IO module for reading Terra15 DAS data. |
utils | Utilities for terra15. |