Quick start
The purpose of this section is to give a quick demonstration of how to use
AutoBernese to run PCF-files with the Bernese Processing Engine for a campaign.
To get a feel for how AutoBernese works, when everything is set up, this section
goes through running the PPP-script with the Bernese Processing Engine for the
EXAMPLE campaign that comes bundled with the Bernese GNSS Software.
Preparation
Before proceeding, make sure that you have performed the following steps:
What you have now is a configuration file that lets you run the default PPP.PCF
file for the first two days available in the EXAMPLE campaign's interval.
Initialise environments
First, initialise the environments:
Load your Bernese environment as defined in LOADGPS.setvar
.
Activate the AutoBernese conda
/mamba
environment [ab
]
Bernese user environment
Make sure that you have configured a Bernese user environment
for the active user. Run
and select option 3.
AutoBernese will fail without a functional Bernese user environment.
Run the campaign
To run the PCF file for each specified day, type the following in the terminal
with the activated environments:
( ab) $ ab campaign run EXAMPLE
# (output) from BPE
Recorded example
Below is a demonstration of the process above:
The configuration for the EXAMPLE campaign
The file that you downloaded to the EXAMPLE-campaign directory above is an
example of a campaign-configuration file that AutoBernese uses to download
campaign-specific data and configure and run the Bernese Processing Engine.
The three sections in this file are metadata
, which contain data about the
campaign, tasks
which contain a list of tasks to run for the campaign, and
sources
, which contain a list of data sources.
See a short description of each section in the tabs below:
AutoBernese campaign-configuration file for the EXAMPLE campaign
Raw metadata
tasks
sources
`campaign.yaml` 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158 metadata:
version: &version 0.3.0
username: &username USERNAME
created: &created 2024-04-08
template: &template example
campaign: &campaign EXAMPLE
beg: &beg 2019-02-13
end: &end 2019-02-14
custom:
dates: &dates
- 2019-02-13
- 2019-02-14
- 2020-06-27
- 2020-06-28
- 2021-04-05
- 2021-04-06
tasks:
- !BPETask
identifier: PPP
description: Precise-Point Positioning
arguments:
pcf_file: PPP
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'PPP_{date.doy:0>3d}0'
status: 'PPP_{date.doy:0>3d}0.RUN'
taskid: PPP_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: RNX2SNX
description: RINEX to SINEX
arguments:
pcf_file: RNX2SNX
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'RNX2SNX_{date.doy:0>3d}0'
status: 'RNX2SNX_{date.doy:0>3d}0.RUN'
taskid: R2S_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: BASTST
description: |-
Baseline by baseline processing for trouble shooting
arguments:
pcf_file: BASTST
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'BASTST_{date.doy:0>3d}0'
status: 'BASTST_{date.doy:0>3d}0.RUN'
taskid: BASTST_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: CLKDET
description: |-
Zero-difference network solution providing clock corrections
arguments:
pcf_file: CLKDET
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'CLKDET_{date.doy:0>3d}0'
status: 'CLKDET_{date.doy:0>3d}0.RUN'
taskid: CLKDET_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: IONDET
description: |-
Zero-difference network solution providing station-wise, regional, or global
ionosphere maps and the related biases
arguments:
pcf_file: IONDET
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'IONDET_{date.doy:0>3d}0'
status: 'IONDET_{date.doy:0>3d}0.RUN'
taskid: IONDET_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: LEOPOD
description: |-
Precise Orbit Determination for a Low Earth Orbiting Satellites based on
on-board GPS-measurements with phase ambiguity resolution
arguments:
pcf_file: LEOPOD
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'LEOPOD_{date.doy:0>3d}0'
status: 'LEOPOD_{date.doy:0>3d}0.RUN'
taskid: LEOPOD_{date.doy:0>3d}0
parameters:
date: !DateRange {beg: *beg, end: *end}
- !BPETask
identifier: SLRVAL
description: |-
Validation of an existing GNSS or LEO orbit using SLR measurements
arguments:
pcf_file: SLRVAL
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'SLRVAL_{date.doy:0>3d}0'
status: 'SLRVAL_{date.doy:0>3d}0.RUN'
taskid: SLRVAL_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: ITRF
description: |-
Derives a coordinate and linear velocity approximation from the ITRF
solution containing non-linear PSD corrections
arguments:
pcf_file: ITRF
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'ITRF_{date.doy:0>3d}0'
status: 'ITRF_{date.doy:0>3d}0.RUN'
taskid: ITRF_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
sources:
- !Source
identifier: ITRF14
description: IERS data needed for the EXAMPLE campaign
url: https://datacenter.iers.org/products/reference-systems/terrestrial/itrf/itrf2014/
filenames:
- ITRF2014-IGS-TRF.SNX.gz # 1.4 GB
- ITRF2014-psd-gnss.dat # 38 KB
destination: !Path [*D, ITRF14]
The campaign-specific configuration is an additional file that AutoBernese uses
to manage data and run tasks related to a specific Bernese campaign.
`campaign.yaml` 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158 metadata:
version: &version 0.3.0
username: &username USERNAME
created: &created 2024-04-08
template: &template example
campaign: &campaign EXAMPLE
beg: &beg 2019-02-13
end: &end 2019-02-14
custom:
dates: &dates
- 2019-02-13
- 2019-02-14
- 2020-06-27
- 2020-06-28
- 2021-04-05
- 2021-04-06
tasks:
- !BPETask
identifier: PPP
description: Precise-Point Positioning
arguments:
pcf_file: PPP
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'PPP_{date.doy:0>3d}0'
status: 'PPP_{date.doy:0>3d}0.RUN'
taskid: PPP_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: RNX2SNX
description: RINEX to SINEX
arguments:
pcf_file: RNX2SNX
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'RNX2SNX_{date.doy:0>3d}0'
status: 'RNX2SNX_{date.doy:0>3d}0.RUN'
taskid: R2S_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: BASTST
description: |-
Baseline by baseline processing for trouble shooting
arguments:
pcf_file: BASTST
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'BASTST_{date.doy:0>3d}0'
status: 'BASTST_{date.doy:0>3d}0.RUN'
taskid: BASTST_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: CLKDET
description: |-
Zero-difference network solution providing clock corrections
arguments:
pcf_file: CLKDET
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'CLKDET_{date.doy:0>3d}0'
status: 'CLKDET_{date.doy:0>3d}0.RUN'
taskid: CLKDET_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: IONDET
description: |-
Zero-difference network solution providing station-wise, regional, or global
ionosphere maps and the related biases
arguments:
pcf_file: IONDET
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'IONDET_{date.doy:0>3d}0'
status: 'IONDET_{date.doy:0>3d}0.RUN'
taskid: IONDET_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: LEOPOD
description: |-
Precise Orbit Determination for a Low Earth Orbiting Satellites based on
on-board GPS-measurements with phase ambiguity resolution
arguments:
pcf_file: LEOPOD
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'LEOPOD_{date.doy:0>3d}0'
status: 'LEOPOD_{date.doy:0>3d}0.RUN'
taskid: LEOPOD_{date.doy:0>3d}0
parameters:
date: !DateRange {beg: *beg, end: *end}
- !BPETask
identifier: SLRVAL
description: |-
Validation of an existing GNSS or LEO orbit using SLR measurements
arguments:
pcf_file: SLRVAL
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'SLRVAL_{date.doy:0>3d}0'
status: 'SLRVAL_{date.doy:0>3d}0.RUN'
taskid: SLRVAL_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: ITRF
description: |-
Derives a coordinate and linear velocity approximation from the ITRF
solution containing non-linear PSD corrections
arguments:
pcf_file: ITRF
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'ITRF_{date.doy:0>3d}0'
status: 'ITRF_{date.doy:0>3d}0.RUN'
taskid: ITRF_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
sources:
- !Source
identifier: ITRF14
description: IERS data needed for the EXAMPLE campaign
url: https://datacenter.iers.org/products/reference-systems/terrestrial/itrf/itrf2014/
filenames:
- ITRF2014-IGS-TRF.SNX.gz # 1.4 GB
- ITRF2014-psd-gnss.dat # 38 KB
destination: !Path [*D, ITRF14]
The metadata
section contains data about the contet in which the campaign was
created, if it was created by AutoBernese. With YAML anchors [&<anchor>
],
information such as the campaign directory [here, EXAMPLE
] and the date
interval [beg
and end
] covered by the campaign can be re-used later in the
document
Here, the beginning and end dates define an interval in which there are data in
the EXAMPLE campaign.
`campaign.yaml` 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158 metadata:
version: &version 0.3.0
username: &username USERNAME
created: &created 2024-04-08
template: &template example
campaign: &campaign EXAMPLE
beg: &beg 2019-02-13
end: &end 2019-02-14
custom:
dates: &dates
- 2019-02-13
- 2019-02-14
- 2020-06-27
- 2020-06-28
- 2021-04-05
- 2021-04-06
tasks:
- !BPETask
identifier: PPP
description: Precise-Point Positioning
arguments:
pcf_file: PPP
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'PPP_{date.doy:0>3d}0'
status: 'PPP_{date.doy:0>3d}0.RUN'
taskid: PPP_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: RNX2SNX
description: RINEX to SINEX
arguments:
pcf_file: RNX2SNX
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'RNX2SNX_{date.doy:0>3d}0'
status: 'RNX2SNX_{date.doy:0>3d}0.RUN'
taskid: R2S_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: BASTST
description: |-
Baseline by baseline processing for trouble shooting
arguments:
pcf_file: BASTST
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'BASTST_{date.doy:0>3d}0'
status: 'BASTST_{date.doy:0>3d}0.RUN'
taskid: BASTST_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: CLKDET
description: |-
Zero-difference network solution providing clock corrections
arguments:
pcf_file: CLKDET
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'CLKDET_{date.doy:0>3d}0'
status: 'CLKDET_{date.doy:0>3d}0.RUN'
taskid: CLKDET_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: IONDET
description: |-
Zero-difference network solution providing station-wise, regional, or global
ionosphere maps and the related biases
arguments:
pcf_file: IONDET
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'IONDET_{date.doy:0>3d}0'
status: 'IONDET_{date.doy:0>3d}0.RUN'
taskid: IONDET_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: LEOPOD
description: |-
Precise Orbit Determination for a Low Earth Orbiting Satellites based on
on-board GPS-measurements with phase ambiguity resolution
arguments:
pcf_file: LEOPOD
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'LEOPOD_{date.doy:0>3d}0'
status: 'LEOPOD_{date.doy:0>3d}0.RUN'
taskid: LEOPOD_{date.doy:0>3d}0
parameters:
date: !DateRange {beg: *beg, end: *end}
- !BPETask
identifier: SLRVAL
description: |-
Validation of an existing GNSS or LEO orbit using SLR measurements
arguments:
pcf_file: SLRVAL
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'SLRVAL_{date.doy:0>3d}0'
status: 'SLRVAL_{date.doy:0>3d}0.RUN'
taskid: SLRVAL_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: ITRF
description: |-
Derives a coordinate and linear velocity approximation from the ITRF
solution containing non-linear PSD corrections
arguments:
pcf_file: ITRF
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'ITRF_{date.doy:0>3d}0'
status: 'ITRF_{date.doy:0>3d}0.RUN'
taskid: ITRF_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
sources:
- !Source
identifier: ITRF14
description: IERS data needed for the EXAMPLE campaign
url: https://datacenter.iers.org/products/reference-systems/terrestrial/itrf/itrf2014/
filenames:
- ITRF2014-IGS-TRF.SNX.gz # 1.4 GB
- ITRF2014-psd-gnss.dat # 38 KB
destination: !Path [*D, ITRF14]
A single task is specified to use the PPP.PCF
file included in the BSW user
scripts. As specified here, the task has a name [name
] used to display what is
going on, some arguments [arguments
] which are sent to the Bernese Processing
Engine. arguments
contain a dictionary with items having a string to be used
with the BSW BPE program.
`campaign.yaml` 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158 metadata:
version: &version 0.3.0
username: &username USERNAME
created: &created 2024-04-08
template: &template example
campaign: &campaign EXAMPLE
beg: &beg 2019-02-13
end: &end 2019-02-14
custom:
dates: &dates
- 2019-02-13
- 2019-02-14
- 2020-06-27
- 2020-06-28
- 2021-04-05
- 2021-04-06
tasks:
- !BPETask
identifier: PPP
description: Precise-Point Positioning
arguments:
pcf_file: PPP
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'PPP_{date.doy:0>3d}0'
status: 'PPP_{date.doy:0>3d}0.RUN'
taskid: PPP_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: RNX2SNX
description: RINEX to SINEX
arguments:
pcf_file: RNX2SNX
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'RNX2SNX_{date.doy:0>3d}0'
status: 'RNX2SNX_{date.doy:0>3d}0.RUN'
taskid: R2S_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: BASTST
description: |-
Baseline by baseline processing for trouble shooting
arguments:
pcf_file: BASTST
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'BASTST_{date.doy:0>3d}0'
status: 'BASTST_{date.doy:0>3d}0.RUN'
taskid: BASTST_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: CLKDET
description: |-
Zero-difference network solution providing clock corrections
arguments:
pcf_file: CLKDET
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'CLKDET_{date.doy:0>3d}0'
status: 'CLKDET_{date.doy:0>3d}0.RUN'
taskid: CLKDET_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: IONDET
description: |-
Zero-difference network solution providing station-wise, regional, or global
ionosphere maps and the related biases
arguments:
pcf_file: IONDET
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'IONDET_{date.doy:0>3d}0'
status: 'IONDET_{date.doy:0>3d}0.RUN'
taskid: IONDET_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: LEOPOD
description: |-
Precise Orbit Determination for a Low Earth Orbiting Satellites based on
on-board GPS-measurements with phase ambiguity resolution
arguments:
pcf_file: LEOPOD
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'LEOPOD_{date.doy:0>3d}0'
status: 'LEOPOD_{date.doy:0>3d}0.RUN'
taskid: LEOPOD_{date.doy:0>3d}0
parameters:
date: !DateRange {beg: *beg, end: *end}
- !BPETask
identifier: SLRVAL
description: |-
Validation of an existing GNSS or LEO orbit using SLR measurements
arguments:
pcf_file: SLRVAL
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'SLRVAL_{date.doy:0>3d}0'
status: 'SLRVAL_{date.doy:0>3d}0.RUN'
taskid: SLRVAL_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
- !BPETask
identifier: ITRF
description: |-
Derives a coordinate and linear velocity approximation from the ITRF
solution containing non-linear PSD corrections
arguments:
pcf_file: ITRF
campaign: *campaign
year: '{date.year}'
session: '{date.doy:0>3d}0'
sysout: 'ITRF_{date.doy:0>3d}0'
status: 'ITRF_{date.doy:0>3d}0.RUN'
taskid: ITRF_{date.doy:0>3d}0
parameters:
date: !AsGPSDate [*dates]
# date: *dates
sources:
- !Source
identifier: ITRF14
description: IERS data needed for the EXAMPLE campaign
url: https://datacenter.iers.org/products/reference-systems/terrestrial/itrf/itrf2014/
filenames:
- ITRF2014-IGS-TRF.SNX.gz # 1.4 GB
- ITRF2014-psd-gnss.dat # 38 KB
destination: !Path [*D, ITRF14]
External or otherwise remote data sources needed for the campaign can be
specified here, but as the EXAMPLE campaign comes with the data included, the
list is empty.
To learn more about how to configure campaigns, go to Configuration files . To
learn how to use AutoBernese to create Bernese campaigns based on templates, go
Command-line reference .