08.06.2013 Views

Bernese GPS Software Version 5.0 - Bernese GNSS Software

Bernese GPS Software Version 5.0 - Bernese GNSS Software

Bernese GPS Software Version 5.0 - Bernese GNSS Software

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

19. <strong>Bernese</strong> Processing Engine (BPE)<br />

On UNIX platforms the environment for <strong>Bernese</strong> <strong>GPS</strong> <strong>Software</strong> is prepared by reading the<br />

file ${X}/EXE/LOAD<strong>GPS</strong>.setvar which has to be available on each host on which clients are<br />

started. There are two possible problems with this concept:<br />

(1) The BPE server and the BPE client may generally source different files having thus<br />

different environments.<br />

(2) Typically, ${X}/EXE/LOAD<strong>GPS</strong>.setvar is sourced during the startup of the login shell.<br />

It is, e.g., executed with the file .bashrc (in case of Bourne-again shell) or with<br />

.tcshrc (in case of tcsh). A BPE client started using the rsh or ssh command may,<br />

however, not execute the startup files at all.<br />

The user is fully responsible for solving the first problem. Possibly differentLOAD<strong>GPS</strong>.setvar<br />

files on different hosts must be compatible, i.e., they must create the same variables pointing<br />

to the same directories. 1<br />

The second problem is solved in the client script ${BPE}/RUNBPE.pm. The client receives the<br />

name of the environment file from the server (from option “Client’s environment file” in ”Menu<br />

>BPE>Start BPE process”, see Figure 19.12) and the file (usually ${X}/EXE/LOAD<strong>GPS</strong>.setvar) is<br />

read and interpreted by the client itself on each client host, see Section 19.6.2.<br />

One remark concerning the temporary area ${T} and the re-definition of the variable ${U}<br />

should be added. <strong>Bernese</strong> programs (the menu program and the Fortran programs) expect<br />

to have their input files in the directory ${U}/PAN, some auxiliary files go into the directory<br />

${U}/WORK, etc. The BPE must ensure that each user script has its corresponding input files<br />

in directory ${U}/PAN and that there are no interferences between the files belonging to two<br />

different scripts. Therefore the BPE client ${BPE}/RUNBPE.pm performs the following steps:<br />

(1) A new subdirectory is created in the ${T} directory. It has the name<br />

BPE pcfname port year session PID SUB PID that is sufficiently unique. Subsequently<br />

three subdirectories are created in this new directory: PAN, INP, and WORK<br />

(2) The input files are copied from the${U}/OPT/xxx directory (xxx is the option directory<br />

specified in the PCF for each script) into the new PAN subdirectory.<br />

(3) The ${U} variable is redefined in such a way that<br />

${U} = ${T}/BPE pcfname port year session PID SUB PID<br />

(4) The user script is started.<br />

(5) Before the client terminates it deletes the (previously created) temporary directory<br />

tree ${U} unless the “no clean” option is specified in ”Menu>BPE>Start BPE process”.<br />

19.4 CPU Control File<br />

The CPU control file defines which CPUs are available and how the clients are started on<br />

different hosts. CPU files are located in the ${U}/PAN directory (with default extension<br />

CPU). They may be edited through ”Menu>BPE>Edit CPU file”.<br />

1 Actually using the same directories is not mandatory. However, using different directories for the server<br />

and for the client would probably be very rare.<br />

Page 386 AIUB

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!