Skip to content

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

$EXE/configure.pm

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.

Expand to see the AutoBernese campaign-configuration file for the EXAMPLE campaign
`campaign.yaml`
metadata:
  version: &version 0.5.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:

- identifier: PPP
  description: Precise-Point Positioning
  run: RunBPE
  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: dates

- identifier: RNX2SNX
  description: RINEX to SINEX
  run: RunBPE
  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: dates

- identifier: BASTST
  description: |-
  run: RunBPE
    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: dates

- identifier: CLKDET
  description: |-
  run: RunBPE
    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: dates

- identifier: IONDET
  description: |-
  run: RunBPE
    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: dates

- identifier: LEOPOD
  description: |-
  run: RunBPE
    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}

- identifier: SLRVAL
  description: |-
  run: RunBPE
    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: dates

- identifier: ITRF
  description: |-
  run: RunBPE
    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: dates

sources:

- 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 three standard 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.

IMPORTANT

For the EXAMPLE campaign, the provided data cover several two-day intervals instead of having a single interval, that can be defined by the beginning and end dates in the metadatasection. AutoBernese only supports creating campaigns with a single date interval, but the campaign configuration can easily be amended to accommodate the case, where several arbitrary dates are used.

In this case, a custom section, arbitrarily named custom, has been added, in which a YAML anchor &dates is defined for the sequence of dates that all .PCF files, except LEOPOD.PCF, use in the EXAMPLE campaign.

This section is not 'seen' by AutoBernese, since it does not use this key, when loading the configuration. But the configuration settings that use the YAML alias *dates do have its values inserted, before being read by AutoBernese.

See a short description of each section below or an expanded description in the section on campaign-specific configuration files:

  • The metadata section contains data about the context 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 for the LEOPOD.PCF file in the EXAMPLE campaign.

  • The custom section, as explained above is not a part of AutoBernese, but a useful construct, that works as a container for manually-set-up data.

  • The tasks section contains short definitions of each BPE process to run, and in which the details depend on the input dates that the .PCF file should run for.

  • The sources section define external or otherwise remote data sources needed for the campaign. The EXAMPLE campaign does not come with all needed data by default, and the missing source is defined as a single entry here.

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.