Under the hood
autorino is based on a main parent class: StepGnss
.
It performs generic actions on input files, saving them in an output folder.
StepGnss
has three daughter classes:
DownloadGnss
: for downloading a RAW file to the local serverConvertGnss
: for RAW > RINEX conversionHandleGnss
: to perform decimation, spliting or splicing operations on a RINEX. It has two daughter classes:SplitGnss
: to split a RINEX fileSpliceGnss
: to splice (concatenate) RINEX files
The central attribute of a StepGnss
object is its table (step_gnss.table
).
This is a pandas’ DataFrame that lists, among other things, the input files, and, where applicable, the output files if the operation has been successful.
About epoch range and timing.
When defining an epoch range for a step, you give:
a first epoch (
epoch1
*)an last epoch (
epoch2
*)a period (
period
)
*: epoch1
and epoch2
are automatically sorted. You don’t have to worry about the order, which one is the oldest
and which one is the newest with respect to the present epoch.
To create an epoch range, autorino generates a set of (start bound, end bound) starting at the first epoch, increased incrementally by the period, and stoped at the ending epoch. The ending epoch is not included as a final start bound.
epoch1
and epoch2
can be relative epochs to the presente epoch in human-readable sentences.
(interpretation done with the dateparser package). For instance:
"10 days ago"
"today at 00:00"
"now"
"15 minutes ago"
epoch1
and epoch2
can also be absolute epochs in the date
format. For instance: "2024-05-01 00:00:00"
Internally, autorino uses UTC timescale. (which is a good proxy for the GPS time as the minute level).
Customizing the time zone is possible by modifying the tz
format in the configuration files.
It will change the way the input epoch1
and epoch2
are interpreted.
You can customize it using the tz database
names: e.g. Europe/Paris
, America/Guadeloupe
, America/Martinique
, Indian/Reunion
etc…
Using the round_method
option, you can round epoch1
and epoch2
to the closest epoch according to period
.
Accepted values are:
floor
(default): round to the closest epoch before theepoch1
/epoch2
.ceil
: round to the closest epoch after theepoch1
/epoch2
.round
: round to the closest epoch depending where you are in the period (not recommended).
A simple exemple
If you ask on 2025-01-20 for an epoch range with:
epoch1
:"10 days ago"
epoch2
:"today"
period
:"01D"
round_method
:"floor"
You will get the following results:
epoch_srt epoch_end
25-01-16 00:00:00 25-01-16 23:59:59
25-01-17 00:00:00 25-01-17 23:59:59
25-01-18 00:00:00 25-01-18 23:59:59
25-01-19 00:00:00 25-01-19 23:59:59
25-01-20 00:00:00 25-01-20 23:59:59