RNX2TDCP
This commandline tool computes Time Differenced Carrier Phase velocities from RINEX observation and navigation files.
- GPS L1+L2 only
- Ionosphere Free Combination
- RINEX 2&3 support
Example Usage
./rnx2tdcp -nav P42000USA_R_20220010000_01D_MN.rnx -obs p4200010.22o -meta P420.json -array test.tdb
% ./rnx2tdcp
-array string
path to array
-meta string
path to station metadata file
-nav string
path to nav file
-obs string
path to obs file
-ref string
path to reference array (default "s3://earthscope-tiledb-schema-dev-us-east-2-ebamji/TDCP_SCHEMA.tdb")
-version
show the version
{
"name":"P420",
"x":-2382952.46664,
"y":-3688233.81023,
"z":4610508.35410
}
TODO
- Identify and exclude unhealthy satellites
- Exclude known slips using loss-of-lock indicators (LLIs)
- Determine if some offsets are due to ephemeris updates (on the hour every 2 hours)
- Check residuals for slips, then run least-squares again while excluding satellites with identified slips
- Add support for other constellations
- Add support for narrow-lane combination
- Add support for ionosphere estimation
- Add support for RINEX 4
- Allow users to specify start and end times
- Verify that we are correctly estimating satellite position
TileDB schema
ArraySchema(
domain=Domain(*[
Dim(name='time', domain=(315964800000000, 4102444800000000), tile=21600000000, dtype='int64', filters=FilterList([ZstdFilter(level=7), ])),
Dim(name='station', domain=(None, None), tile=None, dtype='|S0', var=True, filters=FilterList([ZstdFilter(level=7), ])),
Dim(name='key', domain=(None, None), tile=None, dtype='|S0', var=True, filters=FilterList([ZstdFilter(level=7), ])),
]),
attrs=[
Attr(name='value', dtype='float64', var=False, nullable=False, filters=FilterList([ByteShuffleFilter(), ZstdFilter(level=7), ])),
],
cell_order='row-major',
tile_order='row-major',
capacity=100000,
sparse=True,
allows_duplicates=False,
)
Keys
Per Epoch
- dX - delta X ECEF (meters)
- dY - delta Y ECEF (meters)
- dZ - delta Z ECEF (meters)
- dC - delta Clock (meters)
- dN - delta North (meters)
- dE - delta East (meters)
- dU - delta Up (meters)
- dT - time difference between epochs
- nSat - number of satellites
Per Satellite
- prn+":IO" - Delta Iono Delay (meters)
- prn+":TR" - Delta Tropo Delay (meters)
- prn+":EL" - Elevation (degrees)
- prn+":AZ" - Azimuth (degrees)
- prn+":XS" - Satellite X ECEF (meters)
- prn+":YS" - Satellite Y ECEF (meters)
- prn+":ZS" - Satellite Z ECEF (meters)