0% found this document useful (0 votes)
50 views60 pages

77 136.it - en

Uploaded by

andenet
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views60 pages

77 136.it - en

Uploaded by

andenet
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Translated from Italian to English - www.onlinedoctranslator.

com

Chapter 8

Insertion Procedure

A Rinex le, when downloaded from the internet, is in a doubly compressed format.
Compression is necessary for exchanging GNSS observation data via the internet.
Taking as a reference the Rinex 2.11 le from the Padua station dated 02/04/2020
(already analyzed in chapter 3 and visible in figure 6.1), the first compression is the
one that corresponds to a .Z final extension. The consequent decompression can be
performed using a winzip program or similar. The second compression is in a
proprietary format: this type of format identi es data that is ordered and stored
according to a particular encoding scheme. The decoding and interpretation of this
data store can only be achieved with particular software or hardware that the
company itself has developed. Some of the most well-known proprietary formats and
their relative extensions are: Microsoft Excel .xls,MP3 .mp3and Windows Media
Video .wmv. As for Rinex files, the proprietary format is encountered when you need
to compress or decompress files according to the procedureHatanaka (which takes
its name from its creator and developer Yuichi Hatanaka): it allows to convert the
format of GNSS observation les from the RINEX format (version 2.xx or 3.xx) to a
compressed format (the CompactRINEX format) and vice versa. Specifically, the
second compression is the ..dfor the observational les and the .nfor those browsing.
The decompression is done automatically via the bash script

crz2rnx.sh

which returns in the format ".OR"the observational ones and ".N"navigation ones. As for
the practical development of the following steps, the procedure was carried out for new
stations having observation Rinex dated February 4, 2020.

8.1 Setting the Epoch


To correctly initialize the station insertion procedure, the epoch set in theBernese
(located below, as shown in figure 7.1) and the date of les Rinex coincide. The
current era is calculated from theBernese via scripttoday.pl,which can be
launched directly from the prompt and allows you to define the year, the week
(also GPS) and the day of the week and the year. If you want to determine the
various parameters for any day you have to type the following syntax:

77
78 CHAPTER 8. INPUT PROCEDURE

today.pl - ymd <YEAR> <MONTH> <DAY>

For example, to know all the parameters of February 4th (at the moment only the
day of the year reported in Rinex is known), as you can see in figure 8.1, you have to
type in the prompt:

today.pl -ymd 2020 02 04

Figure 8.1: Scripttoday.pl.By providing the date with the given syntax, the
program returns: day of the week and year, GPS day and week

The working structure of the script can be seen in Appendix A.1. Once you have
entered the software interface, select the toolWith guresand from the drop-down
menu that appears (visible in figure 8.2) press the itemSet session/compute date:

Figure 8.2: Tool window menuWith gures

Once the window in figure 8.3 appears, you need to set the date which is assumed
to be the same as theBernesecoincides with that of the Rinex. The new Rinex are
dated February 4th, therefore the year and day are set as shown in figure 8.3. In this
way, at the bottom of the software screen, the year and day become the desired
ones.
8.2. POSITIONING CHECK 79

Figure 8.3: Window for setting the day you are supposed to work on (must coincide with
the day indicated in the Rinex les of the new stations)

8.2 Verify positioning


To locate new stations and verify that they are within the desired Network (for the
Veneto GPS Network it is sufficient that they are within Italy), there are two ways.
The first is to connect to the site

https://www.oc.nps.edu/oc2902w/coord/llhxyz.htm

and manually enter the coordinates of each station. The second, if there are
multiple stations, is to implement the Matlab functionecef2llaavailable in Navigation
Toolboxwhich, knowing the coordinates in the ECEF system, converts them into the
navigation system (Latitude, Longitude, Altitude). With this second mode,
proceeding in order, you need to open the terminal in the folder containing the Rinex
and, through the commandgrep,face to face with the data filter, type:

grep "APPROX"name_ the

If there are multiple les, the character "?" can be inserted instead of their
name and extension. In this way, as can be seen in figure 8.4, the terminal filters,
for each Rinex, the name of the le with the keyword in purple, the line of les
containing the keyword in white and the keyword itself in red.

With the commandgrep,all the irrelevant lines are le. To remove parts of le
printed, if you printed the screen on a (whose name can for example
to be "grep_ le",you can use, for example, the perl command:

substr(name_le,start_character,characters_from_beginning)

which following the syntax allows you to filter, for the file, from the number of the
character you want to keep (the characters start from zero), for a certain number of
characters. Ai In this discussion this command is executed twice so that
remain in the the output only the names of the stations and the coordinates which are then
united in one them via the "Input_matlab.pl" script reported in Appendix A.2
80 CHAPTER 8. INPUT PROCEDURE

Figure 8.4: The commandgrep:typing "grep APPROX file_name" in the folder where the Rinex
files are located, in addition to the keyword, the entire line of the files is read

SITE NAME (4) X [m] (12) Y [m] (12) Z [m] (12)

Table 8.1: Input file structure for MatLab; the number of characters is indicated in
brackets

If you are not familiar with the Linux environment, this procedure can also be
performed in a spreadsheet and then transferred to a text sheet with the order,
structure and number of characters described in table 8.1:
8.2. POSITIONING CHECK 81

With the file just generated, via the MatLab functionecef2llapresent in the
navigation_toolbox,it is possible to calculate latitude, longitude and altitude of all
receivers; also, through the scriptXYZ2LLA (reported in Appendix B.1) you get the output
in KML format (readable byGoogle Earth).Opening the KML file withGoogle Earth it is
possible to locate the geographical position of the stations (identified by the Matlab logo
and visible in figure 8.5).

Figure 8.5: Placing the new receivers onGoogle Earth


82 CHAPTER 8. INPUT PROCEDURE

8.3 STA the


Thethe.STA (withthe(meaning an arbitrary name) is generated by theBerneseand
it consists of information extracted from the Rinex header, that is: the type of
receiver and the type of antenna (for further details compare table 6.2 and figure
6.1 for version 2 and table 6.4 and figure 6.3 for version 3).
In practice, to generate the le.STA, you need to:

ˆcreate RAW and STA folders in∼GPSDATA/CAMPAIGN52/COORD: in the


First the Rinex of the new receivers are inserted; in the second the outputs will be
generated.

ˆreturn to the screenBerneseand, as highlighted in figure 8.6, press the


toolsService/Station information le/Extract information from Rinex and follow
the default instructions; arbitrarily choose the file name and press Run at the
bottom.

Figure 8.6: Tools to select to generate the .STA file

If no errors have been made, the STA file is generated inside the STA folder,
divided into 5 sections (TYPE) with a similar structure (the first one is shown in figure
8.7):

ˆRENAMING OF STATION where, following the name of the site, after a space,
the Marker Number is reported; if it has not yet been assigned by the IGS,
manually enter 00000M000 as shown in figure 8.7. The FLAG (generally 001),
the operating period of the site (it is left blank or a very large period is
reported), the original name of the station (if the station name is changed if
the station already exists) and the name of the Rinex le from which the data
are extracted are then reported;

ˆSTATION INFORMATION For each station, you can specify the name
of the receiver, the receiver serial number, the antenna name, the antenna
serial number, the antenna eccentricity, and a description of the station;
8.4. CRD FILE 83

ˆHANDLING OF STATION PROBLEMS Station names and time intervals


which must be excluded from processing at various levels;

ˆSTATION COORDINATES AND VELOCITIES (ADDNEQ) This part con-


feels like constraining the coordinate and/or velocity estimates of two
stations that are relatively close to each other. To get identical velocities for
two stations, the a priori velocities must be identical. The northing, easting,
and up components can be constrained independently;
ˆHANDLING STATION TYPES In this section you can specify the Marker
Type of an antenna. This is mandatory for space receivers. Programs check the
type of marker to distinguish between terrestrial and space receivers.

Figure 8.7: Example of the first part of the le.STA: pay attention to how the
receivers have been named

8.4 CRD the


The le.CRD, whose structure is shown in table 8.2, is created by hand taking as a
reference the EUREF14.CRD model available in BERNEZ/STAITA. It contains:

ˆThe station number in the current list;


ˆThe domes number (which is remembered to be made up of the first four letters of the
marker name and marker number);

ˆthe coordinates in the ECEF system of the stations (taken from Rinex) at the current time;

ˆThe station ag: A if any station is considered or I if referring to


to an international reference station.
As for the heading the geoid that theBernesetakes as a reference the IGS14 and
not the WGS84 (the one currently considered and with which the conversions are
made in the functionecef2lla);However, it still presents a good approximation of the
results since the di erences between the two models are less than a millimeter.

For this purpose, the file shown in figure 8.8 was created containing the
coordinates extrapolated from the Rinex of day 035.
84 CHAPTER 8. INPUT PROCEDURE

Header with creation date (it does not need to coincide with the current era)
Reference geoid (IGS14'(WGS84) Era of the Rinex (date of the same)
Number Domes Number X [m] Y [m] Z [m] FLAG

Table 8.2: Structure of the le.CRD

Figure 8.8: le.CRD. Analyzing, from the left, we find: the list of new stations, the domes
number, the approximate coordinates and the FLAG

8.5 PLD the


The le.PLD, schematized in table 8.3, de nes the tectonic plate in which the receivers are
located. The reference model for the creation of this le is theEUREF14.PLD located in
BERNEZ/STAITA and contains:

ˆThe station number in the current list;

ˆThe domes number (which is remembered to be made up of the first four letters of the
marker name and marker number);

ˆthe velocities along the three directions (X, Y, Z) in meters per year;

ˆthe possible ag;

ˆthe receiver tectonic plate. The acronyms of the tectonic plates are reported
in figure 8.9 following the distinction in figure 8.10.

Header with document type and creation date


(does not need to coincide with current era)
Reference geoid (IGS14'(WGS84)
Number Domes Number VX VY VZ FLAG PLATE

Table 8.3: Structure of the le.PLD

Similar to the le.CRD, also for the le.PLD, the date in the header does not
necessarily have to coincide with the current era or that of the Rinex.
8.6. FILE SPEED 85

For the present discussion, the file shown in figure 8.9 was created containing the
coordinates extrapolated from the Rinex of day 035.

Figure 8.9: le.PLD. Analyzing, from the left, you find: the list of new stations, the
domes number, the station voltage (if known), any signals and plaque

Figure 8.10: The main boundaries of plate tectonics today

8.6 SPEED the


TheBerneseIt has an internal program capable of calculating the movement of the stations based
on the movement of the tectonic plate (the boundaries of the plates are shown in the figure).
86 CHAPTER 8. INPUT PROCEDURE

8.10). If a site is not available in the ITRF coordinate or velocity list, this program is
a good approximation for calculating coordinate propagation because it
calculates model velocities based on a plate definition file. If a station name is not
listed in the plate definition file, a zero velocity is set by default. If the new station
is close to one whose velocity is already known, the two stations can be merged
into a single a priori velocity file.

The le.VEL is generated by theBernesefollowing the pathService/Coordinate


tool/Compute NUVEL velocities,as illustrated in figure 8.11

Figure 8.11: Tools to select to generate the NEW.VEL file

Inside the window, check that the inputs selected by default by the software
match those just generated in the STA folder (with the exception of the speed which,
not having precise information, is not known). By pressingRUNand scrolling down on
OUTPUTit is possible to have a first check on the operation: if the procedure is carried
out correctly, as reported in figure 8.12, the stations for which the speeds have been
calculated correspond to the stations in the list.
Some of the most common possible errors may be:
ˆthe correct amount of space was not left between names (for example, for spaces not
you have to use the TAB key because it is read as a single space and therefore the columns get
out of alignment)

ˆSome stations were not transcribed or one of the previous ones was left
(used as a reference model for spaces).

ˆsyntax errors were made


If the procedure has been performed correctly, the le.VEL is obtained, the structure of
which is represented in table 8.4
The ag V indicates the stations for which a speed was not available a priori and
therefore the calculation was performed by theBernese.
The file generated for this treatment is visible in figure 8.13.
8.7. UPA_2014.CRD FILE 87

Figure 8.12: First check for calculating receiver speeds

Header with document type and creation date


(does not need to coincide with current era)
Reference geoid (IGS14'(WGS84)
Number Domes Number VX VY VZ FLAG PLATE

Table 8.4: Structure of le.VEL

Figure 8.13: le.VEL. Analysing, from the left, you can find: the list of new stations, the
domes number, the velocities of the stations along the three directions, any signals and
the plate they belong to.

8.7 UPA_2014.CRD the


The UPA_2014.CRD file contains the approximation of the coordinates as of January 1,
2010.
It is generated by theBernesefollowing the path:Service/Coordinate tool/
Extrapolate Coordinate (figure 8.14):
The structure of the UPA_2014 file is similar to that of the .CRD file reported in the table
8.2; only the reference period changes: in the first it is 01/01/2010, in the second it is
88 CHAPTER 8. INPUT PROCEDURE

Figure 8.14: Tools to select to generate the UPA_2014.CRD file

the current era (of the Rinex, to be exact).


The coordinates calculated at the time 01/01/2010 of the stations considered for this
treatment are visible in figure 8.15

Figure 8.15: the UPA_2014.CRD. Analyzing, from the left, we find: the list of new stations,
the domes number, the coordinates approximated to 2010 and the FLAG
8.8. ATL FILE 89

8.8 ATL the


Thele.ATL contains the atmospheric loading coefficients for all stations.
To generate the le you need to follow the path:Service/coordinate tool/extract
atmospheric tidal loading coe cientsas visible in figure 8.16

Figure 8.16: Tools to select to generate the .ATL file

The generated ATL le is structured as follows: first of all there is a header in which
the corrections and the displacements of the centers of mass (CMC) are described.
After the header, for each station, the coefficients are reported (in figure 8.17 those
for the BLGN station are reported; the others have the same structure)

Figure 8.17: le.ATL: after the header the values for the BLGN station are reported
90 CHAPTER 8. INPUT PROCEDURE

8.9 BLQ the


The BLQ file contains the station-specific amplitude and phase coefficients, both
in the horizontal and vertical direction, in the eleven tidal components. The
coefficients are calculated and tabulated, for each station, using the web service
at
http://holt.oso.chalmers.se/loading/

The page appears as shown in figure 8.18.

Figure 8.18: Web pageholt.oso.chalmers.seaimed at the generation of the le.BLQ

After selectingYESto the voice:Do you want to correct your loading values for the motion?
and having left out the other fields, in the windowWhere are your stations? you must enter
the name of the stations and the calculated coordinates in the UPS_2014.CRD file following
the required syntax. For the stations of day 035, the structure is that of figure 8.19.

Figure 8.19: Structure and syntax to enter to generate the .BLQ file

After completing this step, you need to enter your email address to which the
BLQ file will be sent.
8.9.BLQ FILE 91

The header of the ocean tide loading table (figure 8.20 shows the one for the
stations in this paper) provides the center of mass corrections (CMC).

Figure 8.20: Top, header of the BLQ le. Bottom, example of the 11 tidal coefficients
for the BLGN station
92 CHAPTER 8. INPUT PROCEDURE

8.10 CLU the


The last le present in the GPSUSER52/BERNEZ/STA folder to be updated so that a new
daily campaign can be launched containing both the receivers already present in the
network and the new ones, is the le.CLU.
When estimating scale factors for geophysical deformation models, stations
can be grouped to estimate only one scale factor per group (e.g. several stations
in one location); in other words, le.CLU groups stations by macro-regions,
considering the administrative boundaries of the Italian regions as limits (this is
to make it easier to insert new stations) in the following way:

1. Aosta Valley-Piedmont-Liguria;

2. Lombardy;

3. Trentino Alto Adige-Veneto;

4. Friuli Venezia Giulia -Austria;

5. Emilia-Romagna;

6. Marche-Umbria;

7. Abruzzo;

8. Lazio;

9. Molise-Campania;

10. Puglia-Basilicata-Greece;

11. Calabria-Sicily;

12. Sardinia.

Through geolocation performed withGoogle Earth (figure 8.5) and with the help of
figure 8.21 it is possible to define the cluster of each station as displayed in figure
8.22
Created all input les for theBerneseit is necessary to insert the new receivers
inside the pre-existing les with the same format in the BERNEZ/STAITA folder; this
operation must be performed manually, for each station, of each les.
8.10. CLUB FILE 93

Figure 8.21: On the left, subdivision of the Italian territory into Clusters; on the right,
geolocation of the stations

Figure 8.22: the.CLU of the new receivers


Chapter 9

Main scripts for GNSS data


processing

9.1 Perl Scripts


The perl scripts with which the user will interact most are:

ˆdownloadu52.pl

ˆprcdu52.pl

Both of them call additional scripts inside them, such as today.pl.

9.1.1 Downloadu52.pl
The download process includes updating the le of the stations and receivers,
calibrating the antennas, acquiring the les Rinex, atmospheric parameters and
satellite orbits. To launch the script with the prompt you need to be inside the
folder GPSUSER/BERNEZ/perlscripts and type the following instruction:

perl downloadu52.pl WEEK SUNstartDOWNend

where:

ˆWEEK indicates the GPS week number

ˆDOW (Day Of Week) indicates the days of the week in the range [0-6] where 0
corresponds to Sunday and 6 to Saturday.

If you want to download data for February 4, 2020 (the today.pl script shown
in figure 8.1 provides the number and day of the week), since it is a Tuesday (day
2 of the GPS week), you need to type:

perl downloadu52.pl 2091 2 2

95
96CHAPTER 9. MAIN SCRIPTS FOR GNSS DATA PROCESSING

A non-complete and modi ed version of the script is reported in Appendix A.2. In


the first part of the script the daily and weekly campaign folders are created with the
relative subfolders listed in paragraph 7.1. In a second moment all the information
related to: update of the permanent stations (EPN) and calibration of the antennas
and places in the STA folder, atmospheric and tropospheric parameters inserted
respectively in the ATM and GRD folders, epoch, orbits, health of the satellites and
faulty receivers placed in the GEN folder are downloaded.
The script is then called, via the commandmakecampus

Bernutilu52.pm

in which are collected, host, user and password of the various ftp addresses in which
there are the daily Rinex of the GNSS stations provided by the various public and private
bodies such as the National Institute of Geophysics and Volcanology (INGV), NETGEO,
Italian Regions, etc. In other words, theBernutilu52.pmis aimed at downloading the
Rinex; action that is specified via the commandwgetwhich allows you to download the to

regardless of the protocol (httpor(ftp)of the site. In case of error, a log is produced wherethe
the type of problem is possibly specified. The rinex, once downloaded, are: placed inside
the ORX folder, automatically unzipped from the zip and converted into RINEX format via
the script

crz2rnx.sh

and a link is created inside the RAW folder.

9.1.2 Prcdu52.pl
The main parts of the data processing script are partly reported and described in
appendix A.3. To launch the script with the prompt you need to be inside the
GPSUSER/BERNEZ/perlscripts folder and type the following instruction:

perl prcdu52.pl WEEK TYPE(R) DOWstartDOWNend

where:

ˆWEEK indicates the GPS week number;

ˆTYPER indicates that the campaign is daily (rx2sxmr) or weekly (combr)


was performed using rapid orbits;

ˆTYPE indicates whether the daily (rx2sxm) or weekly (comb) campaign was
performed using precise orbits;

ˆDOW (Day Of Week) indicates the days of the week in the range [0-6] where 0
corresponds to Sunday and 6 to Saturday.

To run the daily GNSS data processing procedure for February 4, 2020 with
fast orbits, you need to type:

perl prcdu52.pl 2091 rx2rxmr 2 2


9.2. BASH SCRIPTS 97

Instead, if you want to perform the weekly combination of daily solutions with precise
orbits, you need to type:
perl prcdu52.pl 2091 comb 0 6
The processing procedure consists in the implementation in succession or in
parallel of the scripts contained in the GPSUSER/SCRIPT folder, a detailed list of which
is given in Appendix C. When a script is called during processing, by default, it is
transcribed into the le:
R2S_BPE.OUT
This is automatically generated inside the BPE folder of the campaign being
processed. This allows, in the event of an error during the procedure, to
determine which was the last script launched before the program crashed.
The time of the data processing procedure depends on the performance of the
machine and, above all, on the size of the network: the denser the network, the longer
the time taken but also the accuracy of the solutions.

9.2 Bash scripts


The bash scripts itarapid.sh and ita nal.sh, for which the execution time can be preset
automatically, are the two scripts that process the Italian GNSS network; therefore,
inside them, they call the two previously described perls. Given the di erence
between rapid and precise orbits, the processing of GNSS data, for the same day, is
performed twice: the first is performed the following day and bases the calculations
on the rapid orbits; the second, instead, is performed when the precise orbits are
available. The solution, despite di ering on the order of a millimeter, is more accurate
in the second case.

9.2.1 Itarapid.sh
The script, a schematic outline of which is given in Appendix A.4, is launched by the
user from the GPSUSER/BERNEZ/perlscripts folder by typing:
. /itarapid.sh WEEK DOWstartDOWNend
If no arguments are provided (GPS week, WEEK and start and end day, DOW),
the previous day will be calculated: that is, downloadu52.pl, chdrnx.pl (to check
the les rinex, prcdu52.pl and reportemaildrapid.pl (to report any errors) are
launched sequentially. Once Saturday, which coincides with day 6 of the GPS
week, has been processed, the weekly combination of solutions is performed
which estimates the position of the stations for the GPS week just passed, based
on the combination of the daily solutions obtained with the rapid orbits. To
launch the script manually, you need to type:
perl prcdu52.pl WEEK combrDOWNstartDOWNend
At the end of the weekly procedure, the Bernese Bulletin is issued, a detailed
description of which will be presented in the next chapter. In addition to the updated
coordinates, it also reports the graphs indicating the millimetric displacement of the
stations and their direction.
98CHAPTER 9. MAIN SCRIPTS FOR GNSS DATA PROCESSING

9.2.2 Ita nal.sh


Two weeks later, the processing is automatically launched, which is based on the
combination of the solutions using the precise orbits. The call to this function can be
performed by the user by typing from the prompt:

. /ita nal.sh WEEK DOWstartDOWNend

If no arguments are provided (GPS week, WEEK and start and end day, DOW),
the day corresponding to two weeks before will be calculated. For all days the
download is performed again in order to obtain the precise orbits. As for the
processing procedure, the

perl prcdu52.pl WEEK rx2sxm DOWstartDOWNend

and, once processed on Saturday, the following is also carried out:

perl prcdu52.pl WEEK comb DOWstartDOWNend

Even at the end of this process, if no error reports have been sent via the perl
script reportemail.pl, registered users will be sent the weekly Bernese Bulletin
with the solution obtained by means of precise orbits.
Chapter 10

Conclusions

Once the processing procedure has been successfully completed, the folders in which the
combinations of both daily and weekly solutions are collected in the respective macros
are SOL and OUT. The output les are over 2000 and in different formats: for example, in
the SOL folder the solution in binary format is placed, while in the OUT folder, the
solution in the navigation reference system. The reason why there are over 2000 types of
output is linked to the fact that the solution is calculated for each hour. Furthermore, for
each hourly interval, a combination of the solutions is also performed assuming the
absence of certain atmospheric parameters, some of which, through processing, are
determined numerically and used in other geophysical fields.

10.1 The daily solution


Both can be found in the OUT folder once processing is complete, the the

UPAYYDDD0R.OUT and UPAYYDDD0.OUT

where

ˆYY indicates the year;

ˆDDD indicates the day of the year in the range [0 - 366];

ˆR indicates the solution calculated using rapid orbits;

constitute the actual solution of the processing. For the case in question the
les are:

UPA200350R.OUT and UPA200350.OUT

The first part of the le, regardless of the type of orbits used, reports, as reported in
table 10.1, the a priori coordinates of the stations. In this table, and also in the following
ones, only the "BLGN" station is considered since the structure is the same for all of them.

99
100 CHAPTER 10. CONCLUSIONS

name X (m) Y (m) Z (m) Lat (°) Long (°) Height (m)

BLGN 4466810.635 896658.013 4448825.464 44.51 11.35 93.736

Table 10.1: Structure of the first section of the daily solutions file in which the a
priori coordinates of the stations are reported

In the second section of the le, for each station, the coordinates are reported with
the relative corrections, as reported in table 10.2. The corrections, despite the
stations having just been added, are rather small. This implies that the approximate
coordinates extracted from the Rinex les were precise; however, this is not always
true: for example, it may happen that incorrect coordinates are provided and, if it
was not detected in the previous steps, it may emerge in this step since there would
be a rather high correction and mean square deviation.

name coordinate correction (m) estimated value (m) rms a priori coordinates (m)

rapid orbits
BLGN X - 0.00573 4466810.62906 0.00156 4466810.63479

BLGN Y - 0.00031 896658.01286 0.00063 896658.01317

BLGN Z - 0.00241 4448825.46114 0.00151 4448825.46355

precise orbits

BLGN X - 0.00605 4466810.62874 0.00159 4466810.63479

BLGN Y - 0.00048 896658.01269 0.00064 896658.01317

BLGN Z - 0.00284 4448825.46071 0.00154 4448825.46355

Table 10.2: Structure of the second section of the daily solutions file where the
estimated coordinates and the relative corrections are reported

The third section of the le describes the corrections made at various times of the
day taking into account the specific and different atmospheric parameters for each
station. For example, for the BLGN station:
10.1. THE DAILY SOLUTION 101

name coordinate value (m) estimated value (m) rms ∆ (m) era
rapid orbits
BLGN N 0.00004 0.00004 0.00017 0.00000 2020-02-04 00:00:00

BLGN AND - 0.00020 - 0.00020 0.00016 0.00000 2020-02-04 00:00:00

BLGN U 0.07975 2.38101 0.00298 2.30126 2020-02-04 00:00:00

BLGN N - 0.00033 - 0.00033 0.00019 0.00000 2020-02-05 00:00:00

BLGN AND - 0.00024 - 0.00024 0.00016 0.00000 2020-02-05 00:00:00

BLGN U 0.03191 2.32135 0.00313 2.28944 2020-02-05 00:00:00

precise orbits

BLGN N 0.00001 0.00001 0.00018 0.00000 2020-02-04 00:00:00

BLGN AND - 0.00021 - 0.00021 0.00017 0.00000 2020-02-04 00:00:00

BLGN U 0.08211 2.38337 0.00303 2.30126 2020-02-04 00:00:00

BLGN N - 0.00037 - 0.00037 0.00020 0.00000 2020-02-05 00:00:00

BLGN AND - 0.00027 - 0.00027 0.00016 0.00000 2020-02-05 00:00:00

BLGN U 0.02845 2.32219 0.00319 2.29374 2020-02-05 00:00:00

Table 10.3: Structure of the third section of the daily solutions file in which the
corrections due to the atmospheric parameters are reported

The fourth section of the le (Table 10.4) contains the a priori coordinates, the coordinates
estimated by processing and the relative corrections both in the ECEF reference system and in
the navigation system. In addition to the corrections, in the navigation reference system, the
eccentricity of the error ellipsoid is also determined in both 3-D and 2-D. The ellipse (in 2-D)
and the error ellipsoid (in 3-D), from a statistical point of view, represent the area or volume
within which, given the center, there is a good probability of finding an individual randomly
selected from the population. The greater the eccentricity and the radius of the ellipse, the
more homogeneous the distribution of the stations and the more accurate the final result. A
representation of the ellipse in 2D is shown in
figure below in whichσxAndσyare the squared deviations along the respective directions.


x+σ2y)+ (σ2x−σ2y)2+4σ2xy
to2=(σ2 2


x+σ2y)− (σ2x−σ2y)2+4σ2xy
b2=(σ2 2

( )
2σxy
ϕ=1 2arctan σx2−σ2y
102 CHAPTER 10. CONCLUSIONS

name coordinate a priori value (m) estimated value (m) correction (m) RMS
rapid orbits
BLGN X 4466810.63479 4466810.62906 - 0.00573 0.00156

BLGN Y 896658.01317 896658.01286 - 0.00031 0.00063

BLGN Z 4448825.46355 4448825.46114 - 0.00241 0.00151

BLGN U 93.73560 93.72987 - 0.00574 0.00210

BLGN N 44.5109976 44.5109976 0.00226 0.00064

BLGN AND 11.3505770 11.3505770 0.00082 0.00054

precise orbits

BLGN X 4466810.63479 4466810.62874 - 0.00605 0.00159

BLGN Y 896658.01317 896658.01269 - 0.00048 0.00064

BLGN Z 4448825.46355 4448825.46071 - 0.00284 0.00154

BLGN U 93.73560 93.72932 - 0.00629 0.00214

BLGN N 44.5109976 44.5109976 0.00220 0.00065

BLGN AND 11.3505770 11.3505770 0.00072 0.00055

Table 10.4: Structure of the fourth section of the daily solutions file in which, for all
coordinates, the a priori value, the estimated value, their di erence and the standard
deviation are found.

Finally, in the fifth and last section, as shown in table 10.6, the corrections due
to tropospheric interferences are reported throughout the hours of the day.
Taking the BLGN station as a reference, the results found (taken from a file inside
the ATM folder and not generated by theBernese) I am:
10.1. THE DAILY SOLUTION 103

rapid orbits
name corrections (m) rms (m) ellipsoid error (m)
name North East Zenith North East Zenith Max RMS Min RMS Azi
BLGN 0.00004 - 0.00020 0.07975 0.00017 0.00016 0.00298 0.00017 0.00016 -2
BLGN 0.00003 - 0.00020 0.08626 0.00016 0.00015 0.00238 0.00016 0.00015 -2
BLGN 0.00001 - 0.00020 0.08517 0.00016 0.00015 0.00226 0.00016 0.00015 -2
BLGN - 0.00000 - 0.00020 0.08492 0.00015 0.00014 0.00209 0.00015 0.00014 -2
BLGN - 0.00002 - 0.00021 0.07438 0.00014 0.00013 0.00229 0.00014 0.00013 -1
BLGN - 0.00004 - 0.00021 0.08661 0.00013 0.00012 0.00228 0.00013 0.00012 -1
BLGN - 0.00005 - 0.00021 0.08316 0.00013 0.00012 0.00196 0.00013 0.00012 -1
BLGN - 0.00007 - 0.00021 0.09620 0.00012 0.00011 0.00221 0.00012 0.00011 -1
BLGN - 0.00008 - 0.00021 0.09238 0.00012 0.00011 0.00248 0.00012 0.00011 0
BLGN - 0.00010 - 0.00021 0.08725 0.00011 0.00010 0.00221 0.00011 0.00010 0
BLGN - 0.00011 - 0.00022 0.04719 0.00011 0.00010 0.00275 0.00011 0.00010 0
BLGN - 0.00013 - 0.00022 0.03834 0.00011 0.00010 0.00249 0.00011 0.00010 1
BLGN - 0.00014 - 0.00022 0.03017 0.00011 0.00009 0.00264 0.00011 0.00009 1
BLGN - 0.00016 - 0.00022 0.03269 0.00011 0.00009 0.00235 0.00011 0.00009 1
BLGN - 0.00017 - 0.00022 0.01281 0.00012 0.00010 0.00200 0.00012 0.00010 1
BLGN - 0.00019 - 0.00022 0.02835 0.00012 0.00010 0.00191 0.00012 0.00010 1
BLGN - 0.00020 - 0.00023 0.02628 0.00013 0.00010 0.00242 0.00013 0.00010 1
BLGN - 0.00022 - 0.00023 0.02765 0.00013 0.00011 0.00270 0.00013 0.00011 1
BLGN - 0.00024 - 0.00023 0.03494 0.00014 0.00011 0.00221 0.00014 0.00011 1
BLGN - 0.00025 - 0.00023 0.03153 0.00015 0.00012 0.00227 0.00015 0.00012 1
BLGN - 0.00027 - 0.00023 0.03613 0.00015 0.00013 0.00218 0.00015 0.00013 1
BLGN - 0.00028 - 0.00023 0.04015 0.00016 0.00013 0.00236 0.00016 0.00013 1
BLGN - 0.00030 - 0.00024 0.04055 0.00017 0.00014 0.00310 0.00017 0.00014 1
BLGN - 0.00031 - 0.00024 0.04138 0.00018 0.00015 0.00238 0.00018 0.00015 1
BLGN - 0.00033 - 0.00024 0.03191 0.00019 0.00016 0.00313 0.00019 0.00016 1

Table 10.5: Structure of the fifth part of the le of daily solutions with rapid orbits

The file just presented, with its five sections, constitutes the daily solution. From a
practical point of view it is useful to verify that there are no errors during the daily
procedure; however, for reasons mainly related to the computer memory,
104 CHAPTER 10. CONCLUSIONS

precise orbits

name corrections (m) rms (m) ellipsoid error (m)


name North East Zenith North East Zenith Max RMS Min RMS Azi
BLGN 0.00001 - 0.00021 0.08211 0.00018 0.00017 0.00303 0.00018 0.00017 -3
BLGN - 0.00000 - 0.00021 0.08739 0.00017 0.00016 0.00243 0.00017 0.00016 -3
BLGN - 0.00002 - 0.00022 0.08526 0.00016 0.00015 0.00231 0.00016 0.00015 -2
BLGN - 0.00004 - 0.00022 0.08471 0.00015 0.00014 0.00214 0.00015 0.00014 -2
BLGN - 0.00005 - 0.00022 0.07538 0.00014 0.00013 0.00233 0.00014 0.00013 -2
BLGN - 0.00007 - 0.00022 0.08890 0.00014 0.00013 0.00232 0.00014 0.00013 -2
BLGN - 0.00008 - 0.00023 0.08351 0.00013 0.00012 0.00199 0.00013 0.00012 -1
BLGN - 0.00010 - 0.00023 0.09345 0.00012 0.00011 0.00225 0.00012 0.00011 -1
BLGN - 0.00012 - 0.00023 0.09383 0.00012 0.00011 0.00251 0.00012 0.00011 0
BLGN - 0.00013 - 0.00023 0.08833 0.00012 0.00010 0.00225 0.00012 0.00010 0
BLGN - 0.00015 - 0.00024 0.04623 0.00011 0.00010 0.00280 0.00011 0.00010 0
BLGN - 0.00016 - 0.00024 0.03694 0.00011 0.00010 0.00254 0.00011 0.00010 1
BLGN - 0.00018 - 0.00024 0.02934 0.00011 0.00010 0.00271 0.00011 0.00010 1
BLGN - 0.00020 - 0.00025 0.03291 0.00012 0.00010 0.00240 0.00012 0.00010 1
BLGN - 0.00021 - 0.00025 0.01328 0.00012 0.00010 0.00206 0.00012 0.00010 1
BLGN - 0.00023 - 0.00025 0.02895 0.00012 0.00010 0.00196 0.00012 0.00010 1
BLGN - 0.00024 - 0.00025 0.02417 0.00013 0.00010 0.00247 0.00013 0.00010 1
BLGN - 0.00026 - 0.00026 0.02590 0.00013 0.00011 0.00275 0.00013 0.00011 1
BLGN - 0.00028 - 0.00026 0.03335 0.00014 0.00012 0.00225 0.00014 0.00012 1
BLGN - 0.00029 - 0.00026 0.03050 0.00015 0.00012 0.00231 0.00015 0.00012 1
BLGN - 0.00031 - 0.00026 0.03355 0.00016 0.00013 0.00223 0.00016 0.00013 1
BLGN - 0.00032 - 0.00027 0.03764 0.00017 0.00014 0.00240 0.00017 0.00014 1
BLGN - 0.00034 - 0.00027 0.03706 0.00018 0.00014 0.00316 0.00018 0.00014 1
BLGN - 0.00036 - 0.00027 0.03836 0.00019 0.00015 0.00244 0.00019 0.00015 1
BLGN - 0.00037 - 0.00027 0.02845 0.00020 0.00016 0.00319 0.00020 0.00016 1

Table 10.6: Structure of the fifth section of the daily solutions file with precise
orbits

the daily campaign, three months after processing, is cancelled.


10.2. THE WEEKLY SOLUTION 105

10.2 The weekly solution


Inside the OUT folder of a weekly campaign, if the processing has been successful, in
a completely analogous way to the daily one, it is possible to identify the
les obtained by combining the daily solutions of the week in question. The
syntax of the les is:

UPAWWWW7R.OUT and UPAWWWW7.OUT

where:

ˆWWWWW indicates the name of the week;

ˆ7 is the number of days that make up the campaign (it is put because it can
it may happen that one day it is not processed due to some error).

The week containing day 35 of 2020, as shown in Figure 8.1, is 2091; therefore,
the les to be analyzed with rapid and precise orbits are:

UPA20917R.OUT and UPA20917.OUT

Similarly to the daily campaign, also in the weekly one, in the first section of
the le, as highlighted in table 10.7, the a priori coordinates of the station network
are reported. Taking as a reference, also for the weekly solution, the BLGN
station:

name X (m) Y(m) Z(m) Lat (°) Long (°) Height (m)

BLGN 4466810.771 896657.827 4448825.365 44.51 11.35 93.735

Table 10.7: Structure of the first section of the weekly solution le

The second section contains the following statistical parameters:


106 CHAPTER 10. CONCLUSIONS

Statistical data rapid orbits precise orbits

Number of observations 13885110 14846269

Number of pseudo-observations 3 3
Number of explicit parameters 1260 1314
Number of implicit parameters 181821 195240

Total number of observations 13885113 14846272

Total number of parameters 183081 196554

Degrees of freedom 13702032 14649718

RMS a posteriori [m] 0.00138 0.00145

χ2/GDL 1.91 2.11


total number of observation les 2676 2881
Number of stations 420 438

Table 10.8: Statistical parameters provided in the second section of the weekly
solution

The third section (table 10.9) contains the average variation of displacements
during the whole week in the ECEF reference system:

name coordinate correction (m) estimated value (m) rms a priori coordinates (m)

rapid orbits
BLGN X 0.00028 4466810.63502 0.00044 4466810.63474

BLGN Y 0.00090 896658.01414 0.00017 896658.01325

BLGN Z 0.00108 4448825.46467 0.00042 4448825.46359

precise orbits

BLGN X 0.00042 4466810.63515 0.00046 4466810.63474

BLGN Y 0.00086 896658.01410 0.00018 896658.01325

BLGN Z 0.00123 4448825.46482 0.00044 4448825.46359

Table 10.9: Structure of the third part of the weekly solution le


10.2. THE WEEKLY SOLUTION 107

The fourth section of the le, reported for the BLGN station in Table 10.10, contains the a
priori coordinates, the calculated coordinates and the corresponding corrections in both the
ECEF reference system and the navigation system. For the corrections in the navigation
reference system, the eccentricity of the error ellipse is also determined.

name coordinate a priori value estimated value correction Average RMS

rapid orbits
BLGN X 4466810.63474 4466810.63502 0.00028 0.00044

BLGN Y 896658.01325 896658.01414 0.00090 0.00017

BLGN Z 4448825.46359 4448825.46467 0.00108 0.00042

BLGN U 93.73561 93.73669 0.00108 0.00059

BLGN N 44.5109976 44.5109976 0.00045 0.00018

BLGN AND 11.3505770 11.3505770 0.00082 0.00015

precise orbits

BLGN X 4466810.63474 4466810.63515 0.00042 0.00046

BLGN Y 896658.01325 896658.01410 0.00086 0.00018

BLGN Z 4448825.46359 4448825.46482 0.00123 0.00044

BLGN U 93.73561 93.73688 0.00127 0.00062

BLGN N 44.5109976 44.5109976 0.00047 0.00019

BLGN AND 11.3505770 11.3505770 0.00075 0.00015

Table 10.10: Structure of the fourth section of the weekly solution le

The last section of the le (table 10.11) reports, for each station, the weekly
mean square deviation and that of each day, from Sunday (0) to Saturday (6).

rapid orbits
name coordinate rmsweek rms0 RMS1 RMS2 RMS3 RMS4 RMS5 RMS6
BLGN N 0.68 - 0.51 - 0.31 1.23 - 0.18 0.70 - 0.53 0.34
BLGN AND 0.76 - 0.70 0.54 0.78 - 0.87 - 0.75 - 0.66 - 0.52

BLGN U 2.57 - 0.10 - 0.87 - 5.22 - 1.80 - 1.01 - 0.13 - 2.69

precise orbits

BLGN N 0.76 - 0.43 - 0.02 1.38 - 0.19 0.95 - 0.60 - 0.32

BLGN AND 1.15 - 1.09 1.38 0.60 - 1.49 - 0.93 - 0.75 - 0.92

BLGN U 2.76 - 0.37 - 1.65 - 6.08 - 1.00 - 0.53 0.47 - 2.06

Table 10.11: Structure of the fifth section of the weekly solution le


108 CHAPTER 10. CONCLUSIONS

10.3 The Bernese Bulletin


The Bernese Bulletin is issued weekly, containing the coordinates updated to the
current era in the ETRS89/ETRF2000 reference system, resulting from the
compensation of the seven daily solutions, using both rapid and precise orbits. The
Bulletins are sent by e-mail to all operators of the various regional networks and to
anyone who requests them.
The issuing of the Bulletin establishes an infrastructure for spatial information in
the European Community (INSPIRE) whose standard provides for alignment with
ETRS89, currently in its implementation ETRF2000.
The reference stations are the EPN class A stations present in Italy. The
coordinates and speeds of the reference stations in the ITRS/IGS14 and ETRS89/
ETRF2000 reference systems are available at the following link:

http://www.epncb.oma.be/_productsservices/coordinates/

The Bernese Bulletin for the week 2091 calculated with the precise orbits is available on
the Veneto GPS network website:

http://147.162.229.63/Dati/Bernese/2020/bolwk2091.txt

In Appendix D, for reasons of length of the file, in addition to the structure of the bulletin, the
data of the BLGN station only are reported. The structure of the bulletin is as follows:

ˆHeader, containing links to speed maps and historical series, in-


information on the les used for the solutions (orbits, normal equations etc.) and the
starting epochs taken into account in the analyses;

ˆComparison in millimetres of the station coordinates with respect to the com- solution
unweighted binata mean square value of the residuals for each coordinate;

ˆList of coordinates updated in the ETRS89/ETRF2000 reference system;


the stations marked with W are the EPN class A reference stations for which
the minimum constraints are applied as boundary conditions.

ˆList of stations not processed during the week because the data is not available
present or because they were discarded.

Furthermore, the Bernese Bulletin also provides maps with graphic indicators of
presence (red) or absence (blue) of each station in the weekly solution.
The weekly bulletin is accompanied by the file utmegg%YWEEK%.sum, containing the
geographic coordinates of the sites (latitude, longitude and geodetic elevation), the plane
coordinates (UTM) in meters and the time zone they belong to.
Appendix A

Perl and Bash Scripts

A.1 Today.pl
The scriptToday.plis used to determine, given a date, the day of the year and the GPS day and
week, or vice versa. It is launched from the prompt by typing:

perl today.pl -var -o var2

Where:

ˆvar are the days before today that I have to define the data

ˆ '-o' specifies the output type; otherwise it provides all the various combinations

ˆvar2 corresponds to the desired output and can be indicated with:

W provides the GPS week (from 0 corresponding to January 1, 1968 to today)


w provides the day of the week (from 0 coinciding with Sunday to 6 corresponding to
Saturday)
j provides the day of the year starting from January 1st y
provides to define the current year
v provides the date in Anglo-Saxon format z

provides the date in European format b

provides the name of the current month

109
110 APPENDIX A. PERL AND BASH SCRIPTS

The features of the script are:

Usage: gps_date <[ -ymd | -yd | -wd | -mjd | -doy DATSTR ] [ -t[today] ]>
[ -hms | -hid TIMSTR ]
[ -h | -d | -w + /-INT ]
[ -o OUTSTR ]
[ -v ]

Supported DAT: -ymd .. yy|yyyy mm|mon dd with delimiters [-_\s]+ with


- yd .. yy|yyyy doy|sess|doyid delimiters [-_\s]+
- mjd .. ddddd[.ddddd]
- wd .. wwww d with delimiters [-_\s]+ may
- doy .. doy be negative
TIMSTR: -hms .. hh|id mm ss with delimiters [-:\s]+ work
- hid .. hh|id for hours only
OUTSTR: -o .. any text + spec.chars

Spec. chars: year = %y %Y = [00-99] [1999]


month = %m %b %B %C = [01-12] [jan-dec] [JAN-DEC] [Jan-Dec] = %d
day = [01-31]
doy = %j = [001-365]
dow = %w %e %E %F = [0-6] [su-sa] [SU-SA] [Su-Sa]
gpsweek = %W = [0-????]
gps-secure = %G = [0-??????]
wow = %A = [01-53]
yow = %a = [00-99]
modjul = %J = [?????.??????]
modjul = %IJ = [?????]
modjul = %FJ = [0.?????]
hour,id = %H %I %i = [00-23] [AX] [ax] (A=00,..,X=23)
min = %M = [00-59]
sec = %S = [00-59]

date = %V %v = [YYYY-MM-DD HH:MM:SS] [YYYY-MON-DD HH:MM:SS] =


date = %X %x [YYYY-MM-DD] [YYYY-MON-DD]
Tim = %Z = [HH:MM:SS]
timestamp = %z = [DD-MON-YYYY HH:MM:SS]
seconds = %U = seconds from 1.1.1970

spec = %t %n %% = "\tab" "\newline" "%"


pads = %: %_ = "any_pad","blank_pad", (default="0_pad")
A.2. DOWNLOADDU52.PL 111

A.2 Downloadu52.pl
# !/usr/bin/perl
# list of some of the scripts called use Gps_Date;

use Bernutilu52;

# as described in chapter 9, the variables to provide are:


# WEEK - Day_beginning - Day_ending
# Entering the week is mandatory, otherwise it gives an error.
# if the final day is omitted it is assumed to coincide with
# the initial and performs daily download
# if both groups are omitted download the whole week

my $gpsweek = $ARGV[0]; # set GPS week


my $first = '0'; # First Day of Week
my $last = '6'; #Last Day of the Week
if ( scalar(@ARGV) == 3) {
$gpsweek = $ARGV[0]; # set GPS week
$first = $ARGV[1]; # First Day of Week
$last = $ARGV[2];} #Last Day of the Week

# create or update daily/weekly campaigns my $gpsdata


= 'GPSDATA/CAMPAIGN52/
my @gpsday U'; = (0..6);

# fetching information from the script Gps_Date for (my


$i=$first; $i<=$last; ) {
$year2 = &gps_date("-wd $gpsweek $i -o %y"); =
$year4 &gps_date("-wd $gpsweek $i -o %Y");
&makecampu ($doy[$i],$gpsday[$i],$year2,$year4,$datadir,$campdir[$i],$gpsweek); $i++;}

# copy STAITA folder to daily/weekly STA &maketree($datadir.'/


wk'.$gpsweek);
my $from = $ENV{U}."/BERNEZ/STAITA"; my $to
= $datadir.'/wk'.$gpsweek.'/STA';
©fromtoI14($from,$to);

# download fast/precise orbits of satellites


$hostname = "igscb.jpl.nasa.gov"; =
$username "***";
$password = "***";

$remotedir = "/pub/product/$gpsweek";
$localdir = $datadir.'/wk'.$gpsweek.'/ORB'; =
$remotefile "igs".$gpsweek."7.erp.Z";
112 APPENDIX A. PERL AND BASH SCRIPTS

$mode = 'binary';

# link to Bernutil52.pm &downloadfromWGET($hostname,$username,


$password,$remotedir,$remotefile, $localdir,$localfile,$mode);

# decompress crinex files using crz2rnx for (my $i=$first;


$i<=$last; ) {
$year2 = &gps_date("-wd $gpsweek $i -o %y");
&crztornx ($datadir,$fielddir[$i],$year2); $i++;}

# download and update of files in the BERNEZ/STAITA folder


# EPN station update from
# ftp://ftp.epncb.oma.be/pub/station/general/EUREF52.STA if ($gpsweek>=1934)
{$remotefile = "EUREF52.STA";} &downloadfromWGET($hostname,$username,$
password,$remotedir,$remotefile, $localdir,$localfile,$mode);

# antenna calibration update from


# ftp://ftp.epncb.oma.be/pub/station/general/EPNC_14.ATX if ($gpsweek>=1934)
{$remotefile = "epnc_14.atx"; $localfile &downloadfromWGET($hostname,
= "EPNC_14.ATX";}
$username,$password,$remotedir,$remotefile, $localdir,$localfile,$mode);

# satellite orbit information $url


= 'ftp://ftp.aiub.unibe.ch/BSWUSER52/GEN/SATELLIT.I14'; =
$lf 'SATELLIT.I14';
&downloadfromberne($url,$ld,$lf);

# # epoch information to put in GEN $url folder


= 'ftp://ftp.aiub.unibe.ch/BSWUSER52/GEN/GPSUTC.'; =
$ld $GENdir;
$lf = 'GPSUTC.';
&downloadfromberne($url,$ld,$lf);

# information about any faulty receivers in the GEN $url folder


= 'ftp://ftp.aiub.unibe.ch/BSWUSER52/GEN/RECEIVER.'; =
$lf 'RECEIVER.';
&downloadfromberne($url,$ld,$lf);

# List of receivers not present in the list provided by AIUB and their addition
system("echo \"CHC P5E 2 P1 L1: 1 GR\"> $ld/AddToREC_File");
system("echo \" P2 L2: 1 \">>$ld/AddToREC_File");
system("echo \" \">>$ld/AddToREC_File");

# process repeated for all receivers and their subsequent addition into the analysis
A.2. DOWNLOADU52.PL 113

system("sed 1,6d $ld/$lf>>$ld/AddToREC_File"); system("cat $ld/


REC_HEADER $ld/AddToREC_File > $ld/$lf"); system("rm -f $ld/
REC_HEADER $ld/AddToREC_File");

# $file with information about the health of the satellites


$url = "ftp://ftp.aiub.unibe.ch/BSWUSER52/GEN/SAT_$year4.CRX"; $lf =
'SAT_'.$year4.'.CRX';
&downloadfromberne($url,$ld,$lf);

# Renaming stations because they already exist example: BORR -> BOR0 for (my
$i=$first; $i<=$last; ) {
$year2 = &gps_date("-wd $gpsweek $i -o %y");
my $English = $datadir."/".$campdir[$i].'/ORX/BOR0'.$doy[$i].'0.'.$year2.'O'; my $Euref =
$datadir."/".$campdir[$i].'/ORX/BORR'.$doy[$i].'0.'.$year2.'O';

# change the name also in the ORX and RAW folders


system("mv -f $Euref $Italian");
system("rm -f $datadir/$campdir[$i]/ORX/BORR*.*");
system("rm -f $datadir/$campdir[$i]/RAW/BORR*.*");

# statements for which the receiver name is incorrect. Example: VELO system("sed -i
's/TPS E_GGD /TPS EGGDT /g' VELO*.??O");

# statements for which there is an incorrect marker name. Example BREU


system("sed -i 's/BRES MARKER NAME/BREU MARKER NAME/g' BRES*.??O");

# execute and remove link of files in ORX folder in RAW for (my $i=$first;
$i<=$last; ) {
$year2 = &gps_date("-wd $gpsweek $i -o %y");
chdir $datadir.'/'.$campdir[$i].'/ORX'; foreach my
$rnxfile (glob("*.${year2}O"))
114 APPENDIX A. PERL AND BASH SCRIPTS

A.3 prcd52u.pl
# !/usr/bin/perl
# list of some of the scripts called use Gps_Date;

# as described in chapter 9, the variables to provide are:


# WEEK - daily/weekly solution - orbits - Day_beginning - Day_ending
# Entering the week is mandatory, otherwise it gives an error.
# if the final day is omitted it is assumed to coincide with the initial day
# if both days are omitted, perform all day processing

# definition first of GPS week then of Day of Week my $gpsweek = $ARGV[0];


#GPS week
my $flag = $ARGV[1]; #daily procedure rx2sxm(r)
or weekly comb(r) and orbit type
my $first = $ARGV[2]; #start day =
my $last $ARGV[3]; #end day
my $doy[0-6] = &gps_date("-wd $gpsweek 0 -o %j");

# definition of the campaign where the data is processed my


@campnam = ();
$year2 = &gps_date("-wd $gpsweek 0 -o %y");
$campnam[0-6] = "U/".$year2."_".$doy[0];

# flag types:
# 1 PPP: with the Bernese this type of calculation can be tackled.
# the part of the script related to this point is not analyzed because it is not used

# 2 RNX2SNX: Daily Procedure with Precise Orbits


# setting and opening files and variables such as BPE and R2S_BPE if ($flag
eq "rx2sxm" || $flag eq "all") {
%newVar = ("V_PCV" => "I14", "V_R" => ""); $BPE1
= new startBPE(%newVar);

my $index = "0";
for ($index=$first; $index<=$last; ) {

$year2 = &gps_date("-wd $gpsweek $index -o %y");


my $year = &gps_date("-wd $gpsweek $index -o %Y");
# removing *.SMT files
system("rm -f $ENV{P}/$campnam[$index]/RAW/*.SMT");
system("rm -f $ENV{P}/$campnam[$index]/OBS/*.*");

$$BPE1{BPE_CAMPAIGN} = '${P}'."/$campnam[$index]";
$$BPE1{PCF_FILE} = 'RNX2SNXM';
$$BPE1{SESSION} = $doy[$index]."0";
A.3. PRCD52U.PL 115

$$BPE1{YEAR} = $year;
$$BPE1{TASKID} = "R2";
$$BPE1{SYSOUT} = "R2S_BPE";
$$BPE1{STATUS} = "R2S_BPE";

#3 RNX2SNX: Daily Procedure with Rapid Orbits


# similar to the previous one; varies the types of orbits analyzed if ($flag eq
"rx2sxmr" || $flag eq "all") {
%newVar = ("V_R" => "R")};

# 4 COMBINE: weekly combination with precise orbits if ($flag


eq "comb" || $flag eq "all") {

%newVar = ("V_R" => "", "V_OTYPE" => "FINAL");

printf "\nCombining daily solutions through COMBINE\n\n";


$BPE1 = new startBPE(%newVar);
my $index = "0";
for ($index=$first; $index<=$last; ) {
$year2 = &gps_date("-wd $gpsweek $index -o %y"); =
$year4 &gps_date("-wd $gpsweek $index -o %Y");
my $filetobecopied = "$ENV{P}/$campnam[$index]/SOL/R2P$year2$doy[$index]0.NQ0"; my
$newfile = "$ENV{P}/U/wk$gpsweek/SOL/R1_${year2}$doy[$index]0.NQ0";

(-e $filetobecopied) or die"\nERROR: file $filetobecopied does not exist";

copy($filetobecopied, $newfile) or die "File cannot be copied.";

$index++;}

$$BPE1{BPE_CAMPAIGN} = '${P}'."/U/wk".$gpsweek; $
$BPE1{PCF_FILE} = 'COMB';
$$BPE1{SESSION} = $doy[6]."0";
$$BPE1{YEAR} = $year4;
$$BPE1{TASKID} = "aw";
$$BPE1{SYSOUT} = "AWK_BPE";
$$BPE1{STATUS} = "AWK_BPE";

# RUN ETRF2000 script:


system("perl IGS14toETRF2000.pl UPA${gpsweek}7.CRD");}

#5 COMBINE: Weekly combination with rapid orbits

# similar to the previous one; varies the types of orbits analyzed if ($flag eq
"combr") {
%newVar = ("V_R" => "R", "V_OTYPE" => "RAPID");
116 APPENDIX A. PERL AND BASH SCRIPTS

# estimate atmospheric parameters (calculate final solution) with precise orbits if ($flag eq
"tropo" || $flag eq "all") {
printf "estimating troposheric parameters (fixed mean coordinates, FINAL orbits)";

%newVar = ("V_R" => "", "V_OTYPE" => "FINAL");


$BPE1 = new startBPE(%newVar);
my $index = "0";
for ($index=$first; $index<=$last; ) { my
$newfile = $ENV{P}."/$campnam[$index]"."/STA/UPA".$gpsweek."7.CRD";
my $filetobecopied = $ENV{P}."/U/wk".$gpsweek."/STA/UPA".$gpsweek."7.CRD";

(-e $filetobecopied);
copy($filetobecopied, $newfile);

$year2 = &gps_date("-wd $gpsweek $index -o %y"); =


$year4 &gps_date("-wd $gpsweek $index -o %Y");
$$BPE1{BPE_CAMPAIGN} = '${P}'."/$campnam[$index]"; $
$BPE1{PCF_FILE} = 'TROPO_P';
$$BPE1{SESSION} = $doy[$index]."0";
$$BPE1{YEAR} = $year4;
$$BPE1{TASKID} = "TR";
$$BPE1{SYSOUT} = "TRO_BPE";
$$BPE1{STATUS} = "TRO_BPE";

# estimation of atmospheric parameters (calculation of the final solution) with rapid orbits
# similar to the previous one; varies the types of orbits analyzed if ($flag eq
"tropor" || $flag eq "all") {
printf "estimating troposheric parameters (fixed mean coordinates, RAPID orbits)";
%newVar = ("V_R" => "R", "V_OTYPE" => "RAPID");
A.4. ITARAPID.SH 117

A.4 itarapid.sh
# !/bin/bash

# count the number of arguments after calling the script


# - if #args == 0 it is assumed to be midnight yesterday
# - if #args == 2 the start and end day of the procedure are given as input

# call LOADGPS.Setvar script to call


# of folders or libraries from terminal. if [ -d
"$HOME/BERN52/GPS/EXE" ]; then
echo "Found: $HOME/BERN52/GPS/EXE. Will load LOADGPS.setvar from there." .
$HOME/BERN52/GPS/EXE/LOADGPS.setvar
yes

# input analysis. if absent process previous week

ARGC=$#
YWEEK=$(today.pl -1 -o %W)
YDOW=$(today.pl -1 -o %w)

if [[ "$ARGC" -eq 2 ]]; then


ii=1
while [ $ii -le $ARGC ]; do
if [[ "$ii" -eq 1 ]]; then YWEEK=${!ii}; fi if [[ "$ii" -eq # ex: 2091
2 ]]; then YDOW=${!ii}; fi ii=$((ii+1)) # [0 - 6]

done

elif [[ "$ARGC" -ne 0 ]]; then


echo "The number of arguments must be zero or two"
exit 1;
yes

# ONLY FOR TEST - REMOVE


YY=$(today.pl -2 -o %y)
YDoY=$(today.pl -2 -o %j)

# daily campaign download cd $U/


BERNEZ/perlscripts
perl downloadu52.pl $YWEEK $YDOW $YDOW

echo Analyzing week $YWEEK, day of week $YDOW cd


$U/BERNEZ/perlscripts

YY=$(today.pl -2 -o %y)
YDOY=$(today.pl -2 -o %j)
118 APPENDIX A. PERL AND BASH SCRIPTS

# If the campaign has already been initialized, do a reset for filename in $


{P}/U/${YY}_${YDOY}/ORX/*
do
echo $filename
if [ ! -s $filename ]; then
rm $filename
yes
done;

# Controlling rinex via some perl scripts cd $U/


BERNEZ/perlscripts

perl chdrnx_v2.pl $YWEEK $YDOW


perl chdrnx.pl $YWEEK $YDOW 1

# initialize daily data processing procedure with fast orbits perl prcd52u.pl $YWEEK
rx2sxmr $YDOW $YDOW

# script to report any errors perl


reportemaildrapid.pl $YWEEK $YDOW

# Editor of the weekly Bernese Bulletin with rapid orbits scp $P/U/${YY}
_${YDOY}/OUT/UPA${YY}${YDOY}0R.OUT
[email protected] :/var/www/daily_output/UPA${YY}${YDOY}0R.OUT;

if [ $YDOW -eq 6 ]; then


cd $U/BERNEZ/perlscripts
echo Week $YWEEK complete, proceeding with combine and bulletin generation perl
prcd52u.pl $YWEEK combr 0 6
perl reportemailrapid.pl $YWEEK 0 6

if [ -e "$P/U/wk${YWEEK}/OUT/HLM${YWEEK}7R.LST" ]; then
echo "High residuals found: $P/U/wk${YWEEK}/OUT/HLM${YWEEK}
7R.LST. Re-run MANUALLY." exit 0

yes

perl xtract.pl $YWEEK rapid cp


bolwk$YWEEK bolwk_current . /
teoriche.sh
cd $U/BERNEZ/fortranprog . /
et2utmegg.sh $YWEEK
cd $U/BERNEZ/GMT
. /bullettinmap.sh $YWEEK
. /bullet3VENEmap.sh $YWEEK
. /bulletNWmap.sh $YWEEK
A.4. ITARAPID.SH 119

. /bulletCEmap.sh $YWEEK
. /bulletSSmap.sh $YWEEK
. /bulletSARDmap.sh $YWEEK
cd $U/BERNEZ/perlscripts
/usr/bin/dos2unix -n bolwk$YWEEK /tmp/bolwk$YWEEK.dos2unix /
usr/bin/iconv --from-code=ISO-8859-1 --to-code=UTF-8 -o
bolwk$YWEEK /tmp/bolwk$YWEEK.dos2unix

# Complete list of email addresses to start the bulletin


. /send.sh $YWEEK tmpaddr

# Publication of the weekly bulletin on the Veneto GPS network website YYYY=$
(today.pl -wd $YWEEK 0 -o %Y)
scp bolwk$YWEEK
[email protected] :/var/www/Dati/Bernese/$YYYY/bolwk${YWEEK}_rapid.txt cp
$P/U/wk$YWEEK/SOL/UPA${YWEEK}7R.NQ0 $P/EUP /G/UPA${YWEEK}7.NQ0 fi
120 APPENDIX A. PERL AND BASH SCRIPTS

A.5 ita nal.sh


The first part is identical to itarapid.sh except that, instead of downloading the orbits for the previous
day, since the calculation is performed with the precise orbits, it performs it for the day of the week
corresponding to yesterday, but two weeks earlier.

# !/bin/bash

# the procedure, this time, is executed with the precise orbits. perl
prcd52u.pl $YWEEK rx2sxm $YDOW $YDOW
perl reportemaild.pl $YWEEK $YDOW

Editing of the weekly Bernese Bulletin with precise orbits if [ $YDOW -eq
6 ]; then
cd $U/BERNEZ/perlscripts
echo Week $YWEEK complete, proceeding with combine and bulletin generation sleep
5
rm -f $P/U/wk$YWEEK/BPE/AWK_BPE.*
perl prcd52u.pl $YWEEK comb 0 6 perl
reportemail.pl $YWEEK 0 6

if [ -e "$P/U/wk${YWEEK}/OUT/HLM${YWEEK}7.LST" ]; then
echo "High residuals found: $P/U/wk${YWEEK}/OUT/HLM${YWEEK}7.LST. Re-
run MANUALLY."
exit 0
yes
perl xtract.pl $YWEEK
cp bolwk$YWEEK
bolwk_current . /teoriche.sh
cd $U/BERNEZ/fortranprog . /
et2utmegg.sh $YWEEK
cd $U/BERNEZ/GMT
/bulletinmap.sh $YWEEK . /
bullet3VENEmap.sh $YWEEK
. /bulletNWmap.sh $YWEEK
. /bulletCEmap.sh $YWEEK
. /bulletSSmap.sh $YWEEK
. /bulletSARDmap.sh $YWEEK
cd $U/BERNEZ/perlscripts
/usr/bin/dos2unix -n bolwk$YWEEK /tmp/bolwk$YWEEK.dos2unix /
usr/bin/iconv --from-code=ISO-8859-1 --to-code=UTF-8 -o
bolwk$YWEEK /tmp/bolwk$YWEEK.dos2unix

# Complete list of email addresses"


. /send.sh $YWEEK tmpaddr

# Publication of the weekly bulletin on the Veneto GPS network website


A.5. ITAFINAL.SH 121

YYYY=$(today.pl -wd $YWEEK 0 -o %Y) scp


bolwk$YWEEK
[email protected] :/var/www/Dati/Bernese/$YYYY/bolwk$YWEEK.txt
scp $U/BERNEZ/GMT/bullettin_wk$YWEEK.pdf
[email protected] :/var/www/Web/Docs/bullettin_current.pdf scp
$U/BERNEZ/GMT/bullet3VENE_wk$YWEEK.pdf
[email protected] :/var/www/Web/Docs/bullet3VENE_current.pdf scp
$U/BERNEZ/GMT/bulletNW_wk$YWEEK.pdf
[email protected] :/var/www/Web/Docs/bulletNW_current.pdf scp
$U/BERNEZ/GMT/bulletCE_wk$YWEEK.pdf
[email protected] :/var/www/Web/Docs/bulletCE_current.pdf scp
$U/BERNEZ/GMT/bulletSS_wk$YWEEK.pdf
[email protected] :/var/www/Web/Docs/bulletSS_current.pdf scp
$U/BERNEZ/GMT/bulletSARD_wk$YWEEK.pdf
[email protected] :/var/www/Web/Docs/bulletSARD_current.pdf scp
$U/BERNEZ/scratch/utmegg$YWEEK.sum
[email protected] :/var/www/Web/Docs/utmegg_current.sum

cp $P/U/wk$YWEEK/G/UPA${YWEEK}7.NQ0 $P/EUP/G/UPA${YWEEK}7.NQ0

$U/BERNEZ/perlscripts/serie.pl cd
$P/EUP/OUT
. /extrneuv52 UPA1632.PLT

# update of coordinates in ETRF2000 sdr on the GPS Veneto network site perl /home/gps/
GPSDATA/CAMPAIGN52/EUP/SCRIPTS/IGS14toETRF2000Vels.pl
. /extrvel_up52 UPA1632.OUT $U/BERNEZ/
perlscripts/gencsv.pl $U/BERNEZ/perlscripts/
velocity.sh $U/BERNEZ/perlscripts/collectRes.pl $
{YWEEK}

cp -f $P/EUP/OUT/psvelo_${YWEEK}.txt $P/EUP/OUT/psvelo_current.txt

# Italian network update


scp $P/U/wk$YWEEK/SOL/UPA${YWEEK}7.NQ0 [email protected] :/var/www/
italian_network/NQ0/UPA${YWEEK}7.NQ0 scp $P/U/wk $YWEEK/SOL/UPA${YWEEK}
7.SNX
[email protected] :/var/www/italian_network/SNX/UPA${YWEEK}7.SNX scp
$P/EUP/SOL/UPA1632.SNX
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/SOL/UPA1632.SNX scp
$P/EUP/SOL/UPA1632.NQ0
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/SOL/UPA1632.NQ0 scp
$P/EUP/STA/IN_IGS14.CRD
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/STA/IN_IGS14.CRD
scp $P/EUP/STA/IN_IGS14.VEL
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/STA/IN_IGS14.VEL scp $P/
EUP/STA/UPA1632.CRD
122 APPENDIX A. PERL AND BASH SCRIPTS

[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/STA/UPA1632.CRD scp


$P/EUP/STA/UPA1632.VEL
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/STA/UPA1632.VEL scp
$P/EUP/STA/IN_IGS14.STA
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/STA/IN_IGS14.STA
scp $P/EUP/STA/IN_IGS14.FIX
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/STA/IN_IGS14.FIX
scp $P/EUP/STA/IN_IGS14.SIG
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/STA/IN_IGS14.SIG scp $P/
EUP/OUT/UPA1632.OUT
[email protected] :/var/www/italian_network/CUMULATIVE_SOLUTION/OUT/UPA1632.OUT

# updating and exchanging data with the AIUB website


rsync -va $P/EUP/OUT/*.dat* [email protected] : rsync
-va $P/EUP/OUT/problems [email protected] : rsync
-va $P/EUP/OUT/notes [email protected] : rsync -va
$P/EUP/OUT/psvelo* [email protected] :

scp $U/BERNEZ/ GMT/velocity_s.pdf [email protected] : scp $U/


BERNEZ/GMT/ velocity_nw.pdf [email protected] : scp $U/BERNEZ/
GMT/velocity_se.pdf [email protected] : scp $U/BERNEZ/GMT/
velocity_sard.pdf [email protected] : scp $U/BERNEZ/GMT/
velocity_c.pdf [email protected] : scp $U/BERNEZ/GMT/
velocity_ne.pdf [email protected]. 229.63 : scp $U/BERNEZ/GMT/
velocity_vert.pdf [email protected] : scp $U/BERNEZ/GMT/
velocity_vert_ne.pdf [email protected] : scp $U/BERNEZ/GMT/
velocity_vert_se.pdf [email protected] : scp $U/BERNEZ/ GMT/
velocity_vert_sard.pdf [email protected] : scp $U/BERNEZ/GMT/
velocity_vert_c.pdf [email protected] : scp $U/BERNEZ/GMT/
velocity_vert_nw.pdf [email protected] :
# Repository
OLDWEEK=$((YWEEK-6))
$U/BERNEZ/perlscripts/repository.sh $OLDWEEK DW

yes
A.6. INPUT_MATLAB.PL 123

A.6 Input_matlab.pl
Script created to generate the input to feed to matlab. The output is a le in which the first four
characters are the names of the stations and the others are the XY Z coordinates. To be
executed, this perl must be in the same folder where the le generated with the command is
located grep ((see section 5.2)

# section dedicated to the definition of variables


my $file='/home/bishnu/GPSDATA/CAMPAIGN52/COORD/STA_TESI/file_grep'; my
$station;
my $coordinates;
my $input;
my @staz_coord;

# opening file via "while" loop open(FILE1,$file)


|| die "ERROR1!\n\n"; while ( $input=<FILE1>) {

# implementation of the "substr" command for filtering


$stazione=substr($input,0,4);
$coordinates=substr($input,16,50);

# generation of an array consisting of the strings $station and $coordinates


@staz_coord=($station,$coordinates);

# print the complete array to terminal print


"@staz_coord\n";
}
close(FILE1);
Appendix B

MatLab Scripts and Output

B.1XYZ2NEU.m
%The Input_file file obtained via grep from UBUNTU is loaded %part in
which a table is created with only the XYZ coordinates
%e removing the contribution of the grep used to find the position %of the
receivers

fid = fopen('Input_file_tesi.txt', 'rt');


datacell = textscan(fid, '%*s%s%s%s%*s%*s%*s', 'CollectOutput', true);
fclose(fid);

fid2 = fopen('Input_file_tesi.txt', 'rt');


name_station=textscan(fid2, '%4s%*s%*s%*s%*s%*s%*s%*s', 'CollectOutput', true);
fclose(fid2);

%% txt file in ECEF(X,Y,Z) format of coordinates


%check that the output of this file is xyz coordinates and just data_to_print =
[datacell{1}] .';
%fmt = '%13s%13s%13s\n';
% fid3 = fopen('XYZ.txt', 'wt');
% fprintf(fid3, fmt,'X','Y','Z', data_to_print{:}); % fclose(fid3);

%% implementation of the ecef2lla.m function %the values


of the ECEF coordinates %printed by the previous function are
given as input
x=str2double(data_to_print(1,:));
y=str2double(data_to_print(2,:));
z=str2double(data_to_print(3,:));

[lat,lon,alt] = ecef2lla(x,y,z)
length=length(lat(1,:))'; %% kml icon
format

125
126 APPENDIX B. MATLAB SCRIPTS AND OUTPUTS

LineStringColor=string(repmat('cyan',[length 1]));
Icon=string(repmat('111',[length 1]));
IconColor=string(repmat('red',[length 1]));
IconHeading=string(repmat('line-180',[length 1]));
Name=string(name_station{1});
%% write an excel file
B = [Name 360/2/pi*lat(:) 360/2/pi*lon(:) alt' LineStringColor Icon... IconColor
IconHeading ];
C = {'Name','Latitude', 'Longitude','Altitude','LineStringColor','Icon',...
'IconColor','IconHeading'};

%filename = 'ECEF2LLA.xlsx';
%writecell(C,filename,'Sheet','1','Range','A1');
%writematrix(B,filename,'sheet','1','Range','A2');

%% Write a Kml file


%description = sprintf('%s<br>%s</br><br>%s</br>');

iconDir = fullfile(matlabroot,'toolbox','matlab','icons');
iconFilename = fullfile(iconDir,'matlabicon.gif');

filename = 'ECEF2LLA_tesi.kml'; kmlwritepoint(filename,360/2/pi*lat(:),360/2/


pi*lon(:),alt(:)','Name',Name,... 'Icon',iconFilename); %...

%'Description',description);
winopen ECEF2LLA.kml;
B.2. ECEF2LLA.KML 127

B.2 ECEF2LLA.kml
Description for a single icon of the language implemented in kml format.

<?xml version="1.0" encoding="utf-8"?> <kml


xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>ECEF2LLA</name>
<Placemark>
<Snippet maxLines="0"> </Snippet>
<description> </description>
<name>blgn</name>
<Style>
<IconStyle>
<Icon>
<href>D:\MATLAB\toolbox\matlab\icons\matlabicon.gif</href> </
Icon>
</IconStyle>
</Style>
<Point>
<altitudeMode>absolute</altitudeMode>
<coordinates>
11.3505729546518,44.5109997058224,91.7667755149305
</coordinates>
</Point>
</Placemark>
</Document>
</kml>
Appendix C

Scripts implemented during GNSS data


processing

When the user launches the data processing procedure, the scripts that are executed are the
following:

${U}/PCF/RNX2SNXM.PCF
------------------------------------------------------------------------------------
Mean time in seconds
PID Script OPT say CPU = PGM + Aux Max CPU Session PID_SUB Rerun Error
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 001
RNX2STA R2S_GEN 0 0 0 0 193340 001_000 0 0
002 STAMERGE R2S_GEN 0 0 0 0 193340 002_000 0 0
003 COOVEL R2S_GEN 0 0 0 0 193340 003_000 0 0
006 ATX2PCV R2S_GEN 22 21 0 22 193340 006_000 0 0
031 ION_MRG R2S_GEN 0 0 0 0 193340 031_000 0 0
101 POLUPDH R2S_GEN 0 0 0 0 193340 101_000 0 0
111 ORBMRGH R2S_GEN 0 0 0 0 193340 111_000 0 0
112 PRE-TAB R2S_GEN 0 0 0 0 193340 112_000 0 0
113 ORBGENH R2S_GEN 3 3 0 3 193340 113_000 0 0
199 DUMMY NO_OPT 0 0 0 0 193340 199_000 0 0
211 RNXSMTAP R2S_GEN 0 0 0 0 193340 211_000 0 0
212 RNXSMT_H R2S_GEN 7 6 0 11 193340 212_024 0 0
221 RXOBV3AP R2S_GEN 0 0 0 0 193340 221_000 0 0
222 RXOBV3_H R2S_GEN 158 157 0 158 193340 222_001 0 0
231 CODSPPA R2S_GEN 0 0 0 0 193340 231_000 0 0
232 CODSPP_P R2S_GEN 5 5 0 7 193340 232_042 0 0
233 CODXTR R2S_GEN 0 0 0 0 193340 233_000 0 0
299 DUMMY NO_OPT 0 0 0 0 193340 299_000 0 0
301 INIT_BSL R2S_GEN 0 0 0 0 193340 301_000 0 0
302 SNGDIF R2S_GEN 147 146 0 151 193340 302_000 0 0
303 SNGDIF R2S_GE2 151 150 0 157 193340 303_000 0 0
311 MAUPRPAP R2S_GEN 0 0 0 0 193340 311_000 0 0
312 MAUPRP_P R2S_GEN 8 7 0 115 193340 312_002 0 0
313 MPRXTR R2S_GEN 0 0 0 0 193340 313_000 0 0

129
130APPENDIX C. SCRIPTS IMPLEMENTED DURING GNSS DATA PROCESSING

321 GPSEDTAP R2S_EDT 0 0 0 0 193340 321_000 0 0


322 GPSEDT_P R2S_EDT 38 37 1 73 193340 322_034 0 0
323 GPSXTR R2S_EDT 0 0 0 0 193340 323_000 0 0
331 RES_SUM R2S_GEN 6 5 0 6 193340 331_000 0 0
341 ADDNEQ2 R2S_GEN 289 289 0 289 193340 341_000 0 0
342 GPSXTR R2S_GEN 0 0 0 0 193340 342_000 0 0
399 DUMMY NO_OPT 0 0 0 0 193340 399_000 0 0
401 SATMRK R2S_GEN 0 0 0 0 193340 401_000 0 0
411 GNSAMBAP R2S_AMB 0 0 0 0 193340 411_000 0 0
412 GNSAMB_P R2S_AMB 13 11 1 14 193340 412_009 0 0
421 GNSL53AP R2S_L53 0 0 0 0 193340 421_000 0 0
422 GNSL53_P R2S_L53 9 8 1 19 193340 422_232 0 0
431 GNSQIFAP R2S_QIF 0 0 0 0 193340 431_000 0 0
432 GNSQIF_P R2S_QIF 8 7 0 12 193340 432_149 0 0
441 GNSL12AP R2S_L12 0 0 0 0 193340 441_000 0 0
442 GNSL12_P R2S_L12 8 7 0 57 193340 442_126 0 0
443 AMBXTR R2S_AMB 2 1 0 2 193340 443_000 0 0
499 DUMMY NO_OPT 0 0 0 0 193340 499_000 0 0
501 GPSCLUBAP R2S_FIN 0 0 0 0 193340 501_000 0 0
502 GPSCLU_P R2S_FIN 68 67 0 192 193340 502_003 0 0
511 ADDNEQ2 R2S_FIN 1145 1144 0 1145 193340 511_000 0 0
512 GPSXTR R2S_FIN 0 0 0 0 193340 512_000 0 0
514 HELMCHK R2S_FIN 0 0 0 0 193340 514_000 0 0
521 ADDNEQ2 R2S_RED 1039 1039 0 1039 193340 521_000 0 0
522 GPSXTR R2S_RED 0 0 0 0 193340 522_000 0 0
599 DUMMY NO_OPT 0 0 0 0 193340 599_000 0 0
991 BPE_CLN R2S_GEN 0 0 0 0 193340 991_000 0 0
999 DUMMY NO_OPT 0 0 0 0 193340 999_000 0 0
------------------------------------------------------------------------------------
Appendix D

Bernese Bulletin

The structure of the Bernese Bulletin is shown below.

University of Padua Department of


Geosciences
*****
UPA GPS Network weekly FINAL report
*****

Velocity graph: http://147.162.229.63/scidata/velocity_s.pdf

http://147.162.229.63/scidata/velocity_vert.pdf

Velocity graph (north-east of Italy):


http://147.162.229.63/scidata/velocity_ne.pdf http://
147.162.229.63/scidata/velocity_vert_ne.pdf

Velocity graph (north-west of Italy):


http://147.162.229.63/scidata/velocity_nw.pdf http://
147.162.229.63/scidata/velocity_vert_nw.pdf

Velocity graph (center of Italy):


http://147.162.229.63/scidata/velocity_c.pdf http://
147.162.229.63/scidata/velocity_vert_c.pdf

Velocity graph (south of Italy and Sicily):


http://147.162.229.63/scidata/velocity_se.pdf http://
147.162.229.63/scidata/velocity_vert_se.pdf

Velocity graph (Sardinia and Corsica):


http://147.162.229.63/scidata/velocity_sard.pdf http://
147.162.229.63/scidata/velocity_vert_sard.pdf

Time series: http://147.162.229.63/scidata/

131
132 APPENDIX D. BERNESE BULLETIN

==================================
ORBIT FILES:
COD20910.SP3
COD20911.SP3
COD20912.SP3
COD20913.SP3
COD20914.SP3
COD20915.SP3
COD20916.SP3

-------------------------------------
Bernese GNSS Software, Version 5.2
Program : ADDNEQ2
Purpose : Combine normal equation systems :
Campaign ${P}/U/wk2091
Phase center variations Earth : ${X}/GEN/PCV.I14
rotation parameters Resulting : ---
normal equations SINEX : ${P}/U/wk2091/SOL/UPA20917.NQ0 :
${P}/U/wk2091/SOL/UPA20917.SNX
====================================
INPUT NORMAL EQUATION FILES: Binary files of the weekly solution taken to perform the
weekly combination
1 ${P}/U/wk2091/G/R1_200330.NQ0 $
2 {P}/U/wk2091/G/R1_200340.NQ0 $
3 {P}/U/wk2091/G/R1_200350.NQ0 $
4 {P}/U/wk2091 /G/R1_200360.NQ0 $
5 {P}/U/wk2091/G/R1_200370.NQ0 $
6 {P}/U/wk2091/G/R1_200380.NQ0 $
7 {P}/U/wk2091/G/R1_200390.NQ0

Main characteristics of normal equation files: observation period of previous files with total
number of observations, parameters and degrees of freedom
---------------------------------
File From You No. degree of
observations / parameters / freedom

1 2020-02-02 00:00:00 2020-02-02 23:59:30 2164061 28026 2136035


2 2020-02-03 00:00:00 2020-02-03 23:59:30 1653210 24104 1629106
3 2020-02-04 00:00:00 2020-02-04 23:59:30 2190305 32698 2157607
4 2020-02-05 00:00:00 2020-02-05 23:59:30 2310021 32219 2277802
5 2020-02-06 00:00:00 2020-02-06 23:59:30 2227984 30641 2197343
6 2020-02-07 00:00:00 2020-02-07 23:59:30 2100852 27825 2073027
7 2020-02-08 00:00:00 2020-02-08 23:59:30 2199836 28373 2171463
------------------------------------------------------------------------------------
- Total 2020-02-02 00:00:00 2020-02-08 23 :59:30 14846269

Helmert Transformation Parameters With Respect to Combined Solution:


133

--------------------------------------------------------------------------------
G Rms (m) X Y Z X Y Z-scale (ppm)
--------------------------------------------------------------------------------1
0.00236 0.0142 0.0087 -0.0108 - 0.0002 0.0006 0.0002 - 0.00068
2 0.00318 0.0213 -0.0205 -0.0116 0.0004 0.0007 -0.0006 - 0.00050
3 0.00402 0.0529 -0.0146 -0.0257 0.0001 0.0017 -0.0007 - 0.00265
4 0.00403 - 0.0662 0.0437 0.0813 - 0.0008 -0.0034 0.0012 - 0.00271
5 0.00283 - 0.0557 0.0518 0.0454 - 0.0008 -0.0023 0.0016 - 0.00002
6 0.00226 - 0.0402 0.0286 0.0290 - 0.0005 -0.0016 0.0009 0.00057
7 0.00317 - 0.0503 0.0145 0.0474 - 0.0002 -0.0022 0.0005 - 0.00006
--------------------------------------------------------------------------------

======================================================================== =============================
COMPARISON OF STATION COORDINATES WITH RESPECT TO THE COMBINED SOLUTION IN MM
- UNWEIGHTED RMS OF INDIVIDUAL COORDINATE RESIDUALS

--------------------------------------------------------------------------------
RMS 1234567
--------------------------------------------------------------------------------

BLGN 00000M000 N 0.76 - 0.43 - 0.02 1.38 - 0.19 0.95 - 0.60 - 0.32
BLGN 00000M000 AND
1.15 - 1.09 1.38 0.60 -1.49 -0.93 -0.75 -0.92
BLGN 00000M000 U . 76 -0.37 -1.65 -6.08 -1.00 -0.53 0.47 - 2.06

======================================================================== ==============================
COORDINATES (ETRS89): WK 2091 ; MINIMALLY CONSTRAINED STATIONS ARE MARKED WITH W
========================================================= =====================================
X (m) Y (m) Z (m)

BLGN 00000M000 4466811.12559 896657.47859 4448825.07167 TO

============================
MISSING STATIONS
== ...

=============================

======================================================================== ===============================

Prof. Alessandro Caporali


University of Padua
Department of Geosciences
Via Gradenigo 6
I-35131 Padova Italy
134 APPENDIX D. BERNESE BULLETIN
Bibliography

[1] A. Caporali, Positioning and orbital determination, Cleup, 2019

[2] Rolf Dach, Simon Lutz,Peter Walser, Pierre Fridez, Bernese GNSS SoftwareVersion 5.2, AIUB, 2015

[3] Matt King, Stuart Edwards, Peter Clarke, Precise Point Positioning: Breaking the Monopoly of
Relative GPS Processing, 2002

[4] A. Caporali, M. Bertocco, L. Nicolini, N. Praticelli, J. Zurutuza, Report on the state of the GPS
network of the Veneto Region, 2019

[5] A. Stoppini, Slides of the "Presentation at the SIFET National Conference", June 2009

[6] Notes from the course "Satellite Navigation" held by Prof. A. Caporali

[7] Notes from the course "Satellite Attitude Control" held by Prof. A. Francesconi

[8] Notes from the course "Aerospace Instrumentation" held by Prof. E. Lorenzioni

[9] Gaio Renè, Master's thesis: Integrated navigation with GPS and Galileo constellations,
University of Padua, 2016

[10] Carlotta Morini, PhD Thesis: Streaming of GNSS data via the Internet and related
applications, University of Padua, 2007

[11] Werner Gurtner, Lou Estey, RINEX The Receiver Independent Exchange FormatVersion
3.04, November 2018

[12] Werner Gurtner, RINEX: The Receiver Independent Exchange Format Version 2.11, AIUB
2007

[13] Cannarozzo, Cucchiarini, Meschieri - Measurements, survey, project, Zanichelli 2018

[14] Marco Liverani, Introduction to Perl, September 1996

[15] Stefan Schaer, Gerhard Beutler, Markus Rothach, MAPPING AND PREDICTING THE
IONOSPHERE, AIUB 1998

[16] Fausto Sacerdote, Introduction to GPS, 2005

[17]https://gnss-metadata.eu

[18]http://147.162.229.63/Web/index.php

135
136 BIBLIOGRAPHY

[19]http://www.ingv.it/it/

[20]http://en.beidou.gov.cn

[21]https://gssc.esa.int/navipedia

[22]http://www.netgeo.it/

[23]https://www.stonex.it/it/

[24]https://www.nasa.gov/

You might also like