Friday, August 08, 2014

Addressing some processing errors in the Bernese software

I use the Bernese Processing Engine (BPE) of the Brenese GNSS software for my GPS data processing. This makes me capable to process a huge data set of RINEX observation files automatically. However, sometimes I get problem specially when I have a high number of files per day, or when I add a new station.
This time when I was processing my GPS RINEX files using the RNX2SNX PCF, I faced some problems, and I decided to share the solutions with you.I should mention that most of these problems occur when a high number of observation files are processed, and therefore, processing parameters like number of tropospheric parameters exceeds from the default values that Bernese was compiled with them. So, a general remedy is to find these parameters either in the source code or in the menu settings, and increase it to a higher value. If the parameters are within the source code, then you need to recompile the Bernese software, e.g., by COMPLINK command.  Here is the list of problems:
  • Problem: BPE stops at process 312 (MAUPRP) with the following error message:
                     NUMBER OF SLIPS: >=20001
                     MAXIMUM NUMBER : 20000

    • Solution: You can increase the maximum number of cycle slips or the MAXSLP parameter in the <bernese_dir>/PGM/FOR/MAUPRP.f file from 20000 to a higher value.
  • Problem: BPE stops at process 222 (CODSPP_P) with the following error message:
                     RECEIVER TYPE: Trimble NetR9

    • Solution: The type of receiver as well as some other parameters are defined in the station information file with the STA suffix located in the STA directory of the campaign. This problem occurs when the defined receiver in the STA file does not have any match in the RECEIVER. file located in the <bernese_dir>/GPS/GEN folder. So, you have to check you STA file first to see if the receiver was defined correctly. Then get the most recent  RECEIVER. file from BSWUSER site (, and verify it to see if the receiver was defined there or not.
    • Hint:
      • The RECEIVER. file has a simple structure, and therefore, you can define your own receiver in this file when you know its specifications.
      • Both of the STA and RECEIVER. files are case sensitive. So, the receiver type might be defined in the RECEIVER. file (that is normally with capital letters), but not exactly matches the name of the receiver in the STA file.
  •  Problem: Session table is not accessible from “Campaign → Edit session table”.
    • Solution:
      1. Check the current campaign directory to see whether the file “SESSIONS.SES” exists in “STA” directory or not.
      2. Choose the session table from “Configure → Set session compute date”.
  • Problem: SNX2STA (Conversion → SINEX to station information) cannot make the station information file from the IGS.SNX.
    • Solution: The SNX2STA can read records of only 400 stations from IGS.SNX file, while there is information of more than 425 stations within this file. Consequently, the following error message is returned back: 
      *** SR RIGSSNX: Too many stations in SINEX file /root/MRNF/SOL/igs.SNX
    • This limitation can be fixed by changing the preassigned value of maxSta in the /usr/bern50/LIB/FOR/rigssnx.f from 400 to e.g., 600, and then recompile Bernese GPS Software using $X/EXE/COMPLINK . 
  • Problem: GETRCV stops with the following error message after adding a new receiver to /usr/bern50/GPS/GEN/RECEIVER., with the following error message:

    • Solution: Open /usr/bern50/LIB/FOR/GETRCV.f, and change MAXRCV value from 100 to (for example) 150. Then recompile Bernese GPS Software using $X/EXE/COMPLINK.
Remark: I try to update this page when ever I get a new processing problem, and of course with the solution. Meanwhile, I should note that the FAQ page of the Bernse GNSS software is a very good source for troubleshooting.

1 comment:

  1. can you explain how to recompile the bernese software using complink?