GPP User Manual Delft3D GPP_User_Manual

User Manual: Pdf Delft3D-GPP_User_Manual

Open the PDF directly: View PDF PDF.
Page Count: 202

DownloadGPP User Manual Delft3D-GPP_User_Manual Delft3D-GPP
Open PDF In BrowserView PDF
3D/2D modelling suite for integral water solutions

DR
AF

T

Delft3D

GPP

User Manual

DR
AF
T

T

DR
AF

GPP

Visualisation of Delft3D simulation results and measurement data

User Manual

Hydro-Morphodynamics & Water Quality

Version: 4.00
SVN Revision: 52614
April 18, 2018

DR
AF

T

GPP, User Manual

Published and printed by:
Deltares
Boussinesqweg 1
2629 HV Delft
P.O. 177
2600 MH Delft
The Netherlands

For sales contact:
telephone: +31 88 335 81 88
fax:
+31 88 335 81 11
e-mail:
software@deltares.nl
www:
https://www.deltares.nl/software

telephone:
fax:
e-mail:
www:

+31 88 335 82 73
+31 88 335 85 82
info@deltares.nl
https://www.deltares.nl

For support contact:
telephone: +31 88 335 81 00
fax:
+31 88 335 81 11
e-mail:
software.support@deltares.nl
www:
https://www.deltares.nl/software

Copyright © 2018 Deltares
All rights reserved. No part of this document may be reproduced in any form by print, photo
print, photo copy, microfilm or any other means, without written permission from the publisher:
Deltares.

Contents

Contents
List of Figures

vii

List of Tables

ix

1 Guide to this manual
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Changes with respect to previous versions . . . . . . . . . . . . . . . . . .
1.3 What’s new? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1
2
3

2 Getting started

5

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

T

.
.
.
.
.
.
.
.
.
.
.
.

DR
AF

3 Graphical User Interface
3.1 Starting the program . . . . . . . . .
3.2 Main window . . . . . . . . . . . . .
3.2.1 Menubar . . . . . . . . . . .
3.2.2 Data group Description . . . .
3.2.3 Data group Datasets . . . . .
3.2.4 Data group Plots . . . . . . .
3.3 Graphical windows . . . . . . . . . .
3.3.1 Usage of the menubar . . . .
3.3.2 Composing a plot . . . . . . .
3.3.3 Buttons in the graphical window
3.3.4 Using double-clicks . . . . . .
3.4 Error handling . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

17
17
17
20
22
22
25
26
27
27
29
29
35

4 Data sets and presentations
4.1 Data sets in general . . . . . .
4.2 Presentations and selections .
4.3 Importing the data set . . . . .
4.4 Available presentations . . . .
4.4.1 Types of presentations

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

37
37
39
40
40
41

5 Files and filetypes
5.1 Data files in the user-interface .
5.2 Representing date and time . .
5.3 Formatted data files . . . . . .
5.3.1 TEKAL files (general) .
5.3.2 Samples files . . . . .
5.3.3 TEKAL time-series files
5.4 Other properties of the filetypes

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

43
43
43
43
44
46
47
48

6 Layouts and plots
49
6.1 Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2 How presentation routines co-operate . . . . . . . . . . . . . . . . . . . . . 49
7 Customising GPP
7.1 Printing and plotting . . . . . . . . . . . . . . . . . . .
7.1.1 Defining printers and plotters . . . . . . . . . .
7.1.2 Configuring printers for GPP . . . . . . . . . .
7.1.3 Procedure for configuring a new printer or plotter
7.2 Anatomy of a layout . . . . . . . . . . . . . . . . . . .
7.3 Default options for plot routines . . . . . . . . . . . . .
7.4 Graphical settings . . . . . . . . . . . . . . . . . . . .
7.5 Working environment . . . . . . . . . . . . . . . . . .

Deltares

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

53
53
53
54
55
56
57
58
60

iii

GPP, User Manual

Directories and files for GPP . . . . . . . . . . . . . . . . . . . . . 60
File types and file names . . . . . . . . . . . . . . . . . . . . . . . 61
Description files . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

8 Advanced features
8.1 Standardising pictures . . . . . . . . . .
8.1.1 Batch processing . . . . . . . . .
8.1.2 Editing the session file . . . . . .
8.1.3 Using dedicated layouts . . . . .
8.2 Creating animations . . . . . . . . . . . .
8.3 Facilities for making animations . . . . . .
8.4 Automatically exporting data sets . . . . .
8.5 Automating tasks . . . . . . . . . . . . .
8.6 Defining your own plot and export routines
8.6.1 Script commands . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

T

7.5.1
7.5.2
7.5.3

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

63
63
63
63
66
67
68
69
70
70
73

DR
AF

9 Installation
75
9.1 Installing on the PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
9.2 Installing under Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10 Glossary

77

A Command-line arguments

81

B ODS error codes

83

C Description of files used by GPP
C.1 Description of the file  . . .
C.2 Description of the file  . . .
C.3 Description of the file  . . .
C.4 Description of the file  . .
C.5 Description of the file  . . .
C.6 Description of the file  . . .
C.7 Description of the GPP description file . .
C.8 Description of the X resources used in GPP
C.9 Description of the script library . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

85
85
87
88
91
92
100
107
108
109

D Creating animations

111

E Example of using AWK to edit the state/session file

113

F Printers, plotters and pictures
F.1 Storing pictures . . . . . . . . . . . . .
F.2 Support of printers and plotters . . . . .
F.2.1 Printing on MS Windows systems
F.2.2 Printing on Linux systems . . . .
F.2.3 Supported printers and plotters .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

115
115
115
115
116
116

G Frequently asked questions
G.1 Installation . . . . . .
G.2 Printing . . . . . . . .
G.3 Plotting . . . . . . . .
G.4 Customising . . . . .
G.5 Animations . . . . . .
G.6 Files and data . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

119
120
121
123
125
127
128

iv

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Deltares

Contents

H Trouble shooting
H.1 Checklist . . . . . . . . . . . . . . . . . . . . .
H.2 Errors that may occur . . . . . . . . . . . . . . .
H.3 Problems involving files and directories . . . . . .
H.3.1 NEFIS files . . . . . . . . . . . . . . . .
H.3.2 Map files from D-Water Quality (DELWAQ)
H.3.3 Binary and unformatted files . . . . . . .
H.3.4 Navigating over directories . . . . . . . .
I

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

131
. 131
. 132
. 141
. 141
. 142
. 142
. 142

Overview of data sets

145

J Models and filetypes

151

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

DR
AF

T

K Plot routines
K.1 Plot routines . . . . . . . . . . . . . . . . .
K.1.1 Plot Timeseries . . . . . . . . . . . .
K.1.2 Plot Limiting Factors . . . . . . . . .
K.1.3 Plot Error Margins . . . . . . . . . .
K.1.4 Plot curvilinear grid . . . . . . . . . .
K.1.5 Plot finite elements grid . . . . . . . .
K.1.6 Plot contour map . . . . . . . . . . .
K.1.7 Plot isolines . . . . . . . . . . . . .
K.1.8 Plot thin dams . . . . . . . . . . . .
K.1.9 Plot XY graph . . . . . . . . . . . . .
K.1.10 Plot vertical profile . . . . . . . . . .
K.1.11 Polar contourplot . . . . . . . . . . .
K.1.12 Polar isoline plot . . . . . . . . . . .
K.1.13 Plot isolines (FEM) . . . . . . . . . .
K.1.14 Plot finite element grid . . . . . . . .
K.1.15 Plot vector field . . . . . . . . . . . .
K.1.16 Plot balances . . . . . . . . . . . . .
K.1.17 Plot histogram . . . . . . . . . . . .
K.1.18 Plot pie chart . . . . . . . . . . . . .
K.1.19 Plot land boundaries . . . . . . . . .
K.1.20 Plot drogue tracks . . . . . . . . . .
K.1.21 Plot time bar . . . . . . . . . . . . .
K.1.22 Samples plot . . . . . . . . . . . . .
K.1.23 Add text to drawing . . . . . . . . . .
K.1.24 Add a simple annotation . . . . . . .
K.1.25 Plot text at position . . . . . . . . . .
K.1.26 Plot via a simple script . . . . . . . .
K.2 Selection routines . . . . . . . . . . . . . . .
K.2.1 Select a parameter . . . . . . . . . .
K.2.2 Select a time . . . . . . . . . . . . .
K.2.3 Select a location . . . . . . . . . . .
K.2.4 Select a layer . . . . . . . . . . . . .
K.2.5 Select a grid line (M) . . . . . . . . .
K.2.6 Select a grid line (N) . . . . . . . . .
K.2.7 Select a vertical profile . . . . . . . .
K.2.8 Select an arbitrary transect . . . . . .
K.3 Operation routines . . . . . . . . . . . . . .
K.3.1 Average over a fixed layer . . . . . .
K.3.2 Average squared vector (fixed layer) .
K.3.3 Root-mean-square vector (fixed layer)

Deltares

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

163
163
163
164
164
165
165
166
166
167
168
168
169
169
169
170
170
171
172
173
173
174
174
174
175
176
176
176
177
177
177
178
178
178
179
179
180
180
180
181
181

v

GPP, User Manual

K.4

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

DR
AF

T

K.5

K.3.4 Calculate length . . . . . . . . . . . . . . .
Binary operations . . . . . . . . . . . . . . . . . . .
K.4.1 A − B . . . . . . . . . . . . . . . . . . . .
K.4.2 A + B . . . . . . . . . . . . . . . . . . . .
K.4.3 A ∗ B . . . . . . . . . . . . . . . . . . . .
K.4.4 A/B . . . . . . . . . . . . . . . . . . . . .
K.4.5 min(A, B) . . . . . . . . . . . . . . . . . .
K.4.6 max(A, B) . . . . . . . . . . . . . . . . .
K.4.7 f (A, B) . . . . . . . . . . . . . . . . . . .
K.4.8 f (A) . . . . . . . . . . . . . . . . . . . . .
Export routines . . . . . . . . . . . . . . . . . . . .
K.5.1 Write Timeseries to Annotated File . . . . . .
K.5.2 Write Timeseries to TSV File . . . . . . . . .
K.5.3 Write Timeseries to Text File . . . . . . . . .
K.5.4 Write MAP2D to Text File . . . . . . . . . . .
K.5.5 Write XY data to Text File . . . . . . . . . . .
K.5.6 Write data sets (finite element grid) to Text File
K.5.7 Write grid to ArcView/Info import file . . . . .
K.5.8 Write results to ArcView/Info import file . . . .
K.5.9 Write via a simple script . . . . . . . . . . .

vi

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

182
182
182
183
183
183
183
184
184
185
185
185
185
186
186
186
187
187
187
187

Deltares

List of Figures

List of Figures
GPP main window . . . . . . . . . . . . . . . . . . . .
Data Group Datasets . . . . . . . . . . . . . . . . . . .
Add dataset window . . . . . . . . . . . . . . . . . . .
File Selection window . . . . . . . . . . . . . . . . . .
List of parameters and locations, after selecting a file and
that file . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Graphical window with a time series plot . . . . . . . . .
2.7 Data Group Plots . . . . . . . . . . . . . . . . . . . . .
2.8 Create Plot window . . . . . . . . . . . . . . . . . . . .
2.9 Assigning data sets to the plot areas . . . . . . . . . . .
2.10 Graphical window with empty plot . . . . . . . . . . . . .
2.11 Area Attributes dialogue window . . . . . . . . . . . . .

.
.
.
.
a
.
.
.
.
.
.
.

. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
parameter from
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .

T

2.1
2.2
2.3
2.4
2.5

6
6
7
8

.
.
.
.
.
.
.

9
10
11
12
13
14
14

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

18
19
19
20
21
21
21
22
23
23
24
24
25
26
28
28
30
30
31
31
31
32
32
32
33
34
34
35

Main window of GPP . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Group Datasets window . . . . . . . . . . . . . . . . . . . . . . .
Data Group Plots window . . . . . . . . . . . . . . . . . . . . . . . . .
Main window menu options . . . . . . . . . . . . . . . . . . . . . . . .
Sub-menu option Edit links to data files . . . . . . . . . . . . . . . . . .
Sub-menu option Replace text in frames . . . . . . . . . . . . . . . . .
Sub-menu option Replace text near axes . . . . . . . . . . . . . . . . .
Make Job dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Group Description . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Group Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combine datasets dialogue . . . . . . . . . . . . . . . . . . . . . . .
Export datasets dialogue . . . . . . . . . . . . . . . . . . . . . . . .
Data Group Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Layout of the graphical Plot window . . . . . . . . . . . . . . . . . . .
Assign data dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data sets currently assigned to a plot area . . . . . . . . . . . . . . . .
Quickscan facility allows for temporary selection of other locations or times
Point selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Axes Attributes dialogue . . . . . . . . . . . . . . . . . . . . . . . . .
Axis Labels dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . .
Axis options dialogue . . . . . . . . . . . . . . . . . . . . . . . . . .
Frame Texts dialogue . . . . . . . . . . . . . . . . . . . . . . . . . .
Text Attributes dialogue . . . . . . . . . . . . . . . . . . . . . . . . .
Frame attributes dialogue . . . . . . . . . . . . . . . . . . . . . . . .
Change Plot area attributes window . . . . . . . . . . . . . . . . . . .
Change Plot Options window . . . . . . . . . . . . . . . . . . . . . .
Interpolate contour classes dialogue . . . . . . . . . . . . . . . . . .
Change Area Text window . . . . . . . . . . . . . . . . . . . . . . . .

4.1
4.2

Example of particular data set. Missing values are represented by discontinuities in the line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Plot of water level (filled contours) and flow velocity (vectors) . . . . . . . . . 39

5.1

Specifying time column of a TEKAL file . . . . . . . . . . . . . . . . . . . . 48

6.1
6.2

Empty layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Filled-in layout: the plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

7.1

Print setup dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

DR
AF

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
3.23
3.24
3.25
3.26
3.27
3.28

Deltares

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

vii

DR
AF

T

GPP, User Manual

viii

Deltares

List of Tables

List of Tables
4.1
4.2

Measured data of BOD5 (mg/l) in two locations. (Note: these data are fictional) 37
Presentation forms for various types of data sets . . . . . . . . . . . . . . . 41

A.2

Environment variables used by GPP

C.1
C.2

Symbols in Toolmaster/agX . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Line types in Toolmaster/agX . . . . . . . . . . . . . . . . . . . . . . . . . 98

DR
AF

T

. . . . . . . . . . . . . . . . . . . . . 82

Deltares

ix

DR
AF

T

GPP, User Manual

x

Deltares

1 Guide to this manual
Introduction
The name GPP has been derived from "general postprocessing program". It is meant for
applications developed by Deltares. It can read most of the result files produced by the Delft3D
modules and handles various other types as well.
Key terms for GPP are:

file types

layouts

collections of data to be visualised, recognised by a unique name
ways of presenting the data, such as contour maps or xy-graphs
the source of the data files, this identifies what types of files can be
used
the structure of a data file is important when selecting the data set
and reading the actual data. The interface to the file is, however,
uniform.
before presenting the data, you specify the general set-up of the picture by selecting the appropriate layout: size of the graph or graphs
(called plot areas), their position, additional text etc.
a plot contains one or more plot areas; data sets are presented
within a plot area according to some plotting method. One or more
data sets may be added. Together with the axes and additional text,
they make up the plot.

T

data sets
presentations
models

DR
AF

1.1

plots

This manual describes the use of GPP. It is divided into two parts, the first will give you a
short introduction and moves on to a detailed description of the user-interface:
chapter 2: Getting started, describes how to get started with the program.
chapter 3: Graphical User Interface, explains most of the menus and dialogues contained
in GPP.
The second part explains the concepts and documents what external files are used, how you
can customise the program and so on. It is intended for the experienced users:
chapter 4: Data sets and presentations, describes the concepts of data sets and presentations in more detail.
chapter 5: Files and filetypes, presents some details on the currently supported file types.
chapter 6: Layouts and plots, describes the function of layouts and plots.
chapter 7: Customising GPP, discusses customising the program.
chapter 8: Advanced features, presents advanced options within GPP, such as animations.
chapter 9: Installation, describes how to install GPP.
chapter 10: Glossary, is a glossary of the most important terms in GPP.
More details can be found in the appendices:
Appendix A: Command-line arguments, lists the command-line options and the environ-

Deltares

1 of 190

GPP, User Manual

ment variables that may be used.
Appendix B: ODS error codes, lists the possible errors that can be unconnected and their
codes.
Appendix C: Description of files used by GPP, presents the contents of the configuration
files in detail.
Appendix D: Creating animations, describes how to use the auxiliary script gpp_anim for
creating and displaying animations.
Appendix E: Example of using AWK to edit the state/session file, gives an example of
batch editing facilities that can be added to GPP.

T

Appendix F: Printers, plotters and pictures, contains information about supported printers,
plotters and storing pictures under Linux and MS Windows.

DR
AF

Appendix G: Frequently asked questions, has the frequently asked questions and their
answers.
Appendix H: Trouble shooting, describes the known problems and their work arounds.
Should you experience problems.
Appendix I: Overview of data sets, provides an overview of the data set types supported
by GPP.
Appendix J: Models and filetypes, gives an overview of the file types that are supported by
GPP.
Appendix K: Plot routines, contains an overview of the plot routines and other routines.
1.2

Changes with respect to previous versions

2 of 190

Deltares

Guide to this manual

Description

2.14

section 8.4, in description Separator should be ‘Separator’.
section K.4, new operations f (A, B) and f (A) described.
In the Tutorial folder files  replaced by .
Headers in Appendices D, I and K corrected.

2.12

section 8.3, Facilities for making animations, inserted.
section 8.4, Automatically exporting data sets, inserted.
Old Section 8.3 is now section 8.5, old Section 8.4 is now section 8.6.
Section 1.3 What’s new added.

2.11

Updated terminology in some places
Added the new features concerning the scripting interface (Sections 8.3 and
8.4)
Appendix I added: an overview of data set types
Appendix K: updated the list of available plot routines and other action routines
Name changed to “GPP”

DR
AF

T

Version

2.10

1.3

Enhancements to the user-interface:
The Edit menu in the main window, which allows the user to replace data files
and text strings
The Quick Scan button in the plot window
The Showbutton in the Assign data window
The Interpolate button in the Plot options window
The changes to the printing facility under Windows documented
Several details updated and corrected

What’s new?

This chapter intends to give a concise overview of new features and changes in GPP and the
manual.
Enhancements dd. november 2005 (version 2.11.07):

 Replacement of the old reading routines for certain NEFIS files. The new ones have a
different approach, making it much easier to extend the supported parameters.

 Replacement of the underlying plot library. As a consequence you can send pictures
directly to PostScript files for further use.
 Introduced a scripting language, Tcl, enabling you to create your own plot routines and
export routines. Also useful to automate certain tasks.
 Documentation of the export functionality via the session file.
 Facilities for making animations.

Deltares

3 of 190

DR
AF

T

GPP, User Manual

4 of 190

Deltares

2 Getting started
If you are anxious to start working with GPP and loath reading fat manuals, like most of us,
then read at least this chapter: we describe a simple recipe for getting pictures from your data
files. As GPP is fully window-oriented with a graphical user-interface, it should not be difficult
to get around in the program. But, nevertheless, it is good to have some guideline.
We will concentrate on a few files from the tutorial directory, but please note that GPP can use
all kinds of data files. As long as you have files in one of the supported formats, you have no
need to convert your files (the supported formats are described in a separate appendix).

To start GPP on:
Linux

type gpp or delft3d-menu on the command line. If you use the Delft3D
menu program (via delft3d-menu) then select the Utilities → GPP option.
start the program Delft3D from its icon and select the Utilities → GPP option.

DR
AF

PC

T

GPP is normally installed as part of the Delft3D system (cf. WL | Delft Hydraulics, 1999), but
it can be used independently as well.

You will get the main window, which initially shows the description (Figure 2.1). It has a simple
menubar with the menus Session, Edit, Print job and Help, three push buttons (Description,
Datasets and Plots) and a status bar, showing the current version of GPP.
Description allows you to type or edit several lines of text that are meant to describe the set
of data sets and plots you will create. The combination of data sets and plots is called a
sessionand it can be saved in a so-called session file. You can save such files, open existing
ones and create new session files via the Sessionmenu.1
The other buttons in the main window bring up the subwindows for defining and manipulating
data sets and plots.
The basic steps toward pictures are:

 prepare a sub-set of all data sets you might have and from which you are going to make
graphs

 select or define the layout of the pictures you want to make
 combine layout and data.
First we need to select the data we want to present.

 Click Datasets (see Figure 2.2).

The list box will show the already defined data sets and will be empty if you start a new. The
buttons to handle data sets are shown on the right hand side.

 Click Add.
A dialogue appears, which shows from top to bottom (Figure 2.3):

 a button Select File
 two additional buttons which are greyed out
 an empty list box
1

The menu has not been called File, because this might give confusion with the data files you will use.

Deltares

5 of 190

DR
AF

T

GPP, User Manual

Figure 2.1: GPP main window

Figure 2.2: Data Group Datasets

6 of 190

Deltares

DR
AF

T

Getting started

Figure 2.3: Add dataset window

 a text entry field (greyed)
 three buttons, Create (greyed), Close and Help
We need to get the data from some file. So:

 Click Select File.

Again a dialogue appears (Figure 2.4). This time a list button, to select the type of data file,
two list boxes (left for files of the selected type, right for the sub-directories under the current),
an input field for setting the mask for matching filenames and three buttons (OK, Filter and
Cancel):

 The list boxes are filled with the subdirectories and files in the current directory that match
the first file type.

 You will need to select the correct type of file, say a history file from D-Water Quality. This
will bring up the appropriate filter, in this case "∗.his" and a list of files that match this filter.
 Select a different directory if necessary by double-clicking on the directories (".." is the
parent directory).
 Select the file you want: click once and press OK (or double-click).
In this tutorial we will use the file , a DELWAQ (binary) history to illustrate
the use of GPP. We have supplied several other files in the tutorial directory:

Deltares

7 of 190

T

GPP, User Manual

File

DR
AF

Figure 2.4: File Selection window

Type

Remarks



TEKAL time-series file

Used to generate the picture in
chapter 4 of the manual

 

Delft3D-FLOW map file

The calculation has to do with
current-wave interaction.




Delft3D-FLOW history file

The area of interest is a small
inlet in the Dutch Wadden sea.




D-Water Quality history file

No particular area, just some
eutrophication calculation.



TEKAL
(GIS)

Land contours of Manukau
harbour in New Zealand



TEKAL annotation file

File, showing how to include
geographic text



Samples observations file

Example of defining measurement data

landboundary

file

The file selection dialogue disappears and the list of parameters is shown (see Figure 2.5).
Then you can select a data set from this file. To do that:

 Select the parameter NH4 (ammonia).
 As a consequence the right-hand list box is filled with either locations or times (depending
on the type of data file)

 Select one of the possible locations or times, in this case: tersch 4/10.
 Click Create (otherwise it will not create the data set).
 Click Close to close the dialogue (or go to the first step to define other data sets).
These actions have created the data set containing one parameter, NH4, one location, ter-

8 of 190

Deltares

DR
AF

T

Getting started

Figure 2.5: List of parameters and locations, after selecting a file and a parameter from
that file

sch 4/10 and a series of times. The data set is therefore a time-series and we can make a
graph of the parameter versus time at that location.
The next step is to plot the data set. To do this,

 Select the data set and click Preview. This action has the following result.
A graphical window comes up (Figure 2.6). This displays the chosen data set, using:

 the first layout
 the first suitable presentation form for this type of data set

Remarks:
 Presentation forms and layouts are described in the chapter 4 and chapter 6.
 It may be that you selected a data set that has no (direct) presentation forms, such as
a three-dimensional data set. In that case the Assign data window is shown and you
first have to create a subset (for instance select a layer) which can be plotted.
 You may postpone the choice of a location or a time. That way the data set will contain
more information and when you try to display it, you can select the location or time you
want to see.
The plot window allows all kinds of manipulations, as described below.
Remark:
 The quick-and-dirty approach offered by the Preview button is not the only way to make
a picture, it is simply the quickest. If you change to the Plots Data Group, the procedure

Deltares

9 of 190

DR
AF

T

GPP, User Manual

Figure 2.6: Graphical window with a time series plot

10 of 190

Deltares

T

Getting started

DR
AF

Figure 2.7: Data Group Plots

will be somewhat more elaborate but it offers quite a bit of flexibility.

 To do this, click Plots on the left.2 (see Figure 2.7):

The main window is now filled in with a list box containing the names of any plots you may
have defined, including the ones creating via the Preview button. Again there is a series of
buttons on the right-hand side:
Add
View/Edit
Delete

Add a new plot
View or edit the first selected plot
Delete all selected plots

 Now click Add. This action has the following result, see Figure 2.8:
 A selection dialogue appears which allows you to select a layout for the new plot.
 Select the first layout (actually, any one will do).
Normally you will change the name of the plot to a meaningful name reflecting the contents of
the plot. In this tutorial we will use the default name “plot-1 plot portrait, no frame”.

 Click OK to enter the Assign data dialogue.

The dialogue Assign data sets lets you assign one or more data sets with their presentations
to the plot (Figure 2.9). Now:

 Select a plot area from the list box Plot areas.
 Select a data set from the Datasets list box. (The program will then fill in the right-hand
list box: names of possible presentation methods for the selected data set or selection
procedures to derive a sub-set. For this: see the next chapters.)
2
On Windows (in all its guises) you will need to click Plots twice if the focus is currently within the visible data
group. This is no design of ours, but apparently part of the window management system. It makes it necessary to
be a bit careful, when switching between data groups.

Deltares

11 of 190

T

GPP, User Manual

DR
AF

Figure 2.8: Create Plot window

   

If we use the previous data set, NH4 - tersch 4/10, the possibilities include:
Plot time series
Plot balances
Plot pie chart
Add text to drawing

 Select a presentation method, f.i. "Plot Timeseries", from the right-hand list.
 Click Add.
 Click OK (or go to the first step to add more data sets).
If you simply click OK without assigning a data set, the graphical window will be filled in with
the chosen layout (see Figure 2.10): possibly a frame with some text, one or more so-called
plot areas: rectangles in the picture to which data sets can be assigned.
The graphical window has a menu, like the main window, and a sub-window on the right-hand
side with buttons. You can use the menu item Edit → Assign data, to invoke the dialogue
Assign Data for an existing plot.
You can also double-click on different parts of the graphical window: legend frame, axes of
each graph, or graph itself. Then a dialogue appears that enables you to modify either the
presentation of legend, axes or graphs.
Perhaps this last action requires some explanation. The dialogue box concerning a graph,
named Area Attributes (see Figure 2.11) contains four parts:

 Line settings:
Select the line settings per data set in the plot area. If your graph contains a number of
time series, then each set of data is drawn in a different way: the first line may be solid
and black, the second a red dotted line, the third green crosses etc.
 Colour ramp:
Select the sequence of colours to be used in a contour map or a histogram or, in fact, any
graph consisting of filled areas.

12 of 190

Deltares

DR
AF

T

Getting started

Figure 2.9: Assigning data sets to the plot areas

 Symbols:

Adjust the size and mutual distance of the symbols (plusses, circles, crosses etc.) in xy
graphs.
 The following buttons:
OK, Cancel
Data sets
Plot options
Text

end the dialogue
invoke the Assign data sets dialogue for the selected plot area.
edit the options for the plot routines
features of text used in the graph (other than text near the axis)

You may want to print the graph.

 Select Plot → Print from the window’s menu.

On Linux, a dialogue will appear to select the printer. You can also specify whether you want
to save the print file. The default printer is the printer defined in the environment variable
PRINTER or LPDEST (unless this printer is not known to GPP).
Also on MS Windows, a dialogue will appear to select the printer, but there is one special
printer: the default printer. You can set that printer via the menu item Plot/Printer set-up. Only
this printer will actually print, all others create a print file with the picture. This is especially
useful if you want to save the pictures in, say, a PostScript file for incorporating them in a
document.

 Close the graphical window by selecting Plot → Close when you are done.
The definitions of the data sets and the plots you made will be saved in a so-called state file,
when you leave the program. This file is read the next time you start GPP, so that you can

Deltares

13 of 190

DR
AF

T

GPP, User Manual

Figure 2.10: Graphical window with empty plot

Figure 2.11: Area Attributes dialogue window

14 of 190

Deltares

Getting started

continue your previous session. The definitions can also be saved in a session file, this is
essentially the same type of file, but it allows more explicit manipulation (see chapter 6 for
more details).

DR
AF

T

Many settings of GPP are defined in external files (default layouts, properties of the plot routines, file types, graphical settings and printers). These files can be edited to suit your own
preferences. We refer to chapter 7 and the appendices for a detailed description.

Deltares

15 of 190

DR
AF

T

GPP, User Manual

16 of 190

Deltares

3 Graphical User Interface
3.1

Starting the program
We need to distinguish between a workstation running X Window and a PC running some
version of Microsoft Windows. Also, as GPP is part of the Delft3D system, you may prefer to
use it from within Delft3D:

 On a Linux workstation:
After installation (see chapter 9), the program can be started standalone by typing:

> gpp
or from the Delft3D user-interface:

> delft3d-menu

DR
AF

T

(and selecting a module or the Utilities option, and next GPP).
As the installation procedure has added the home directory for GPP to the PATH variable,
this command can be issued from any directory.
 On a PC:
Double-click on the GPP (or Delft3D) icon in the desktop or start the program via the Start
menu (this depends on how the installation was done and how you have organised your
PC).
To start GPP, go either to the Utilities or to one of the modules; next select GPP.
When starting, GPP will bring up the main window (see Figure 3.1). It will also read a number
of configuration files and the so-called state file (if it exists), which contains the definitions of
data sets and plots from a previous session (see Appendix C).
Read section 7.5, Working environment, for more information on which files from which directory are used.
GPP may be passed a sequence of command-line arguments as well. Such arguments are
used to:

 Determine a session file to read instead of the default state file, so that you can continue
previous work.

 Let GPP work in batch mode, which means that any pictures defined in the given session
file are printed without interaction from the user.

 Specify the so-called system directory (see chapter 7) which determines where the configuration files are coming from.

In Appendix A these command-line arguments are explained in detail.
3.2

Main window

The main window initially shows three buttons on the left-hand side, a simple menubar and
the description of the session file. When you click on any of these buttons, the main window
changes to present a list box of existing data sets or plots and push buttons that allow you to
create new data sets or to view the plots and other functions. The buttons on the left represent
data groups and clicking them brings up the corresponding dedicated subwindow.
The status bar is used to display various messages, but only those that do not require immediate attention from the user.
The buttons are:

Deltares

17 of 190

DR
AF

T

GPP, User Manual

Figure 3.1: Main window of GPP

 Description, see Figure 3.1

This allows you to document the session file with a few lines of text. Rather than simply
relying on file names or the actual data sets and plots in the session file, you can use this
facility to document its purpose and contents.
 Datasets, see Figure 3.2
When you select this data group, the main window displays a list of the data sets. The
buttons on the right-hand side allow manipulation of the data sets:
Add
Preview
Combine
Export
Delete

Add one or more new data sets
Create a simple plot to show the selected data set
Combine two data sets via an arithmetic calculation
Export the contents of data sets to an external file
Delete the selected data set or data sets

The button Preview is a function that allows you to view a selected data set. It will create a
plot containing that data set based on:

 the first layout in the list of layouts
 the first plot routine in the list of plot routines for that type of data sets.
Remark:
 If the data set is a 3D data set or some other type that has no direct plot routine, then
the Assign data dialogue appears and you have to do the necessary selections first.

 Plots, see Figure 3.3
Selecting the Plots Data Group brings up the list of existing plots and a set of three buttons:
Add
View/Edit
Delete

18 of 190

Add a new plot
View and/or edit the selected plot
Delete the selected plot or plots

Deltares

DR
AF

T

Graphical User Interface

Figure 3.2: Data Group Datasets window

Figure 3.3: Data Group Plots window

Deltares

19 of 190

GPP, User Manual

Figure 3.4: Main window menu options

The intention is that the next release will allow you to rename the plot. This facility is visible in
the user-interface but not fully implemented yet.
The main window has a simple menubar with the following menus:

 Session
Start from scratch
Open an existing session file
Leave the program

 Edit

T

  

This menu allows you to manipulate the current session, such as:

Edit links to data files
Replace text in a frame
Replace text near axes

DR
AF

  

This menu allows you to manipulate filenames and texts in a global way:

 Print job

This menu allows you to create a so-called print job and to set the characteristics of the
(default) printer.
 Help
This menu can be used to bring up the online help information. Pressing function key F1
has a similar effect.
The functions associated with the data groups and the menubar will be explained in more
detail below.
Menubar

The main window has a menubar with three menus, see Figure 3.4.

 The Session menu has the following items, which are equivalent in function to the more
usual File menu (the name however refers to session files, and was chosen to avoid
confusion with the data files that you will use):





New
Remove all data sets and plots from the current session and start a new
Open
Read an existing session file
Save
Save the data sets and plots in the current session file (if any)
Save as . . . Save the data sets and plots in a new session file
Exit
Exit the program (save the state file, while doing this)
 The Edit menu contains three items:



3.2.1

Links
A dialogue will appear that presents all selected data files (see Figure 3.5). By selecting a data file and next Change source, the data file can be replaced by another (but
similar) data file.
Frame texts
This option allows you to replace texts in the frames of a plot.
Axis texts

20 of 190

Deltares

T

Graphical User Interface

DR
AF

Figure 3.5: Sub-menu option Edit links to data files

Figure 3.6: Sub-menu option Replace text in frames

This option allows you to replace texts near axes in a plot.





 The Print Job menu contains two items:

Make job
A dialogue will appear that presents all existing plots (see Figure 3.8). By selecting
one or more plots you indicate that these plots should be sent to the printer without
showing them on the screen or any actions from you.
Printer setup
Select the printer and set its properties.

 The Help menu should require no specific explanation: it will bring up the online help
information. The text is an abbreviated version of this manual, so the manual is the most
comprehensive reference to GPP.

Figure 3.7: Sub-menu option Replace text near axes

Deltares

21 of 190

T

GPP, User Manual

Figure 3.8: Make Job dialogue

Data group Description

DR
AF

3.2.2

We can be short about this data group (see Figure 3.9):

 It shows the name of the session file that was imported (if any) and which will be written
again if you select the Save item from the Session menu.

 It also displays a short description of the session, which consists maximally of some ten
lines. You can edit this description and it will be stored in the session file. Whether you
want to use this facility or not, is entirely up to you, but it is quite convenient if you have a
lot of such files.

Data group Datasets

The data group Datasets presents a list of existing data sets and a set of push buttons to
manipulate the data sets (see Figure 3.10). Its functions as follows:

 When you select a data set, several properties will be shown below the list box.
 Click Add to bring up a dialogue to add new data sets (see the explanation in chapter 3).
 When you click Preview, the data set will be put in a new plot and this plot is then shown

 



in a new plot window (see section 3.3). This fails, if there is no presentation available for
that particular type of data set and you will have to use other means in stead (see the
description of the Data Group Plots).
 Click Combine to bring up a dialogue to combine two data sets via arithmetic operations
(addition, maximisation etc.) This should be fairly straightforward (see Figure 3.11):



3.2.3

The list box labelled Dataset A only contains data sets for which one or more operations (like addition) are available.
The list box labelled Dataset B is filled with the same list.
Selecting a data set from both list boxes brings up the list of possible operations (the
first operation is chosen by default).
By clicking Create you create the new data set. If you type a string in the Suffix field,
this string will be appended to the name of the new data set. This makes it easier to
distinguish it.

 Click Export to bring up yet another dialogue (see Figure 3.12). This one allows you to
export the data contained in the data set to an external file. (Not all data sets can be
exported, because currently only a limited number of methods is available).

22 of 190

Deltares

DR
AF

T

Graphical User Interface

Figure 3.9: Data Group Description

Figure 3.10: Data Group Datasets

Deltares

23 of 190

T

GPP, User Manual

DR
AF

Figure 3.11: Combine datasets dialogue

Figure 3.12: Export datasets dialogue

Most methods export to a text file of some kind as these are best suited for the purpose.

 When you have selected one or more data sets and click Delete, the selected data sets
will be removed from the session (which includes removing them from the plots as well).
In some cases, data sets are required by other data sets and because of this relationship,
such data sets will not be removed (but you get a message about that).
Remark:
 The x,y co-ordinates in exported 2D map data sets refer to the grid cell corners. The
x,y co-ordinates of the grid cell centre are also added.

24 of 190

Deltares

DR
AF

T

Graphical User Interface

Figure 3.13: Data Group Plots

Data group Plots

The data group Plots allows you to define new plots or to view and edit existing plots (see
Figure 3.13). The window contains a list of all existing plots and a set of three buttons:

 Select a plot and click View/edit, the plot is shown in a (new) graphical window.
 When you have selected one or more plots and click Delete, the selected plots will be
removed from the session. This has no effect on the data sets that were used in the plots.

 Click Add to bring up:
  

3.2.4

A new graphical window
A list of available layouts from which you should select one
A dialogue allowing you to assign data sets to the various plot areas within the new
plot

This procedure is explained in section 3.3.2.

Remark:
 In a next release, the data group will allow you to rename the plot, as it is often difficult
to think of a good name beforehand. In version 2.10 this has not been implemented yet.

Deltares

25 of 190

DR
AF

T

GPP, User Manual

Figure 3.14: Layout of the graphical Plot window

3.3

Graphical windows

When you use the Preview button in the Datasets data group or the Add or View/Edit buttons
in the Plots data group, you get a new window, called a graphical window. This window has a
separate menubar and a number of buttons and other functions that will be explained in this
section (see Figure 3.14).
Remark:
 If you select the Preview option, the data set will be displayed in the graphical window
directly only if the data set needs no further selections. If the data set needs further
user selections (layer, time point, etc.) the Assign data dialogue (Figure 3.15) comes
up.

26 of 190

Deltares

Graphical User Interface

3.3.1

Usage of the menubar
The menubar consists of the following menus:

 Plot
This menu takes care of several overall functions. It has five items:
Create

Create a new plot, by selecting a layout and setting a unique
name for the plot
Select a plot from the list of existing plots
Select the printer and set its properties
Print the plot that is shown
Close the graphical plot window

Select
Printer setup
Print
Close
 Edit
This menu may be used to change the contents of the plot or to copy it to the clipboard:

3.3.2

T

Open the dialogue to assign the data sets to the plot areas or to
clean up the plot.
Attributes
(not implemented)
Add text
Open the dialogue to add or modify text in the plot.
Copy to clipboard
Copy the plot as a bitmap to the clipboard.
Copying the picture to the clipboard is useful, if you want to include it in some document.
Be aware though that the resolution is that of the screen and this can be too coarse for a
printed document. A better alternative might be to print it in a PostScript file, as this will
preserve the resolution much better.
 Help
You can get the online information via this menu.

DR
AF

Assign data

Composing a plot

When you want to fill the plot with data sets, you can do so by selecting the item Assign data
from the Edit menu (see Figure 3.14 and Figure 3.15). The procedure is fairly simple:

 First select the plot area.
 Then select the data set you want to visualise. The third list, the possible presentations, is
then filled. Sometimes you can use a so-called selection procedure to make a subset out
of the data set, for instance to display a single layer from a three-dimensional data set.
 Select the appropriate presentation or selection procedure (if the latter, a new list appears,
allowing you to select a layer or a location and thus to create a subset. This new data set
will be automatically highlighted and a list of available presentations will appear).
 Then click Add to add the data set and its presentation to the list for that one plot area.
 You can repeat this procedure as often as you want. After clicking OK, the plot will be
drawn.
To delete 1 or more data sets from a plotarea:

 First select the plotarea then select Show in the Assign data window. Figure 3.16 will
appear and you can view and delete separate data sets.

Deltares

27 of 190

DR
AF

T

GPP, User Manual

Figure 3.15: Assign data dialogue

Figure 3.16: Data sets currently assigned to a plot area

28 of 190

Deltares

Graphical User Interface

3.3.3

Buttons in the graphical window
The buttons on the right in the graphical window have the following meaning:

 Redraw:
Redraws the graph. Use this if parts remain blank. (This might happen in some weird
circumstances when the screen is not properly refreshed.)
Quick scan:
If the plot contains but one data set, this button brings up a list of locations or times that are
contained in the same data file, so that you can have a quick look at these other locations
or times without having to define new data sets (see Figure 3.17). To keep the facility easy
to use, this works only if there is a single data set.
Start animation:
Start a simple animation. Its use is a bit complicated: you must create a data set with a
spatial distribution and one or more time steps (typically one parameter from a so-called
map file). Create a subset by selecting one time step and present it in the plot. If you then
click this button, GPP will draw all time steps in the original data set one by one. Then its
saves the picture in a bitmap file.1
Point selection: Select ON, Select OFF
You can choose a point in one of the plot areas. It will show the value at that point or other
relevant information (such as the grid cell indices; see Figure 3.18).
The co-ordinates are shown in the two text fields below the buttons.
Zoom: Zoom in, Zoom out
Zoom in on a smaller area:





  



DR
AF

T



First select Zoom in
Click the left mouse button at one of the corners of the area you want to select
Keep it pressed and move the mouse. If you release the button, the area will have
been selected and the graph will zoom in.

You can repeat this again and again. By clicking Zoom out you will return to the original
area (for all plot areas).
Note: Depending on the kind of axis type, the zoom size is adapted in that way the aspect
ratio is not changed.

3.3.4

Using double-clicks

You can use a double-click of the left mouse button:

 Double-click on or near an axis brings up a dialogue in which you can change the attributes
to the axis, colour text, font, number of tickmarks, scaling (see Figure 3.19, Figure 3.20
and Figure 3.21).

 Double-click in the frame (if a frame is visible); this allows you to fill in the text that appears
in the frame (see Figure 3.22, Figure 3.23 and Figure 3.24). The buttons Text Attributes
and Frame Attributes are used to change the detailed appearance of the text and the
frame.
Double-click in a plot area to give you the opportunity to change (see Figure 3.25, Figure 3.26
and Figure 3.28):
series settings
colour ramp

appearance of individual time-series in line graphs.
which sequence of colours to use for a contour map or pie-chart

1

On the UNIX workstation it will save each picture in an XWD file, on PC it will save each picture as a BMP file.
See also chapter 8 for more information.

Deltares

29 of 190

DR
AF

T

GPP, User Manual

Figure 3.17: Quickscan facility allows for temporary selection of other locations or times

Figure 3.18: Point selection

30 of 190

Deltares

T

Graphical User Interface

DR
AF

Figure 3.19: Axes Attributes dialogue

Figure 3.20: Axis Labels dialogue

Figure 3.21: Axis options dialogue

Deltares

31 of 190

T

GPP, User Manual

DR
AF

Figure 3.22: Frame Texts dialogue

Figure 3.23: Text Attributes dialogue

Figure 3.24: Frame attributes dialogue

32 of 190

Deltares

T

Graphical User Interface

DR
AF

Figure 3.25: Change Plot area attributes window

datasets
plot options

which data sets are shown in the area
the options used in drawing the data sets.

The dialogue for changing the plot options requires some further explanation. Each presentation form can have one or more specific options. These are for instance whether to use a
right vertical axis or a left axis or a list of concentration levels for making a contour map.
The idea is that each combination of a data set and a presentation form can have its own
values for these options. This way you are very flexible in making the plot. Defaults for these
options are read from the configuration files.
A second purpose of the dialogue is that you control whether the axes are visible or that the
axes have to be determined again. This may be necessary if the plot options involve a change
in axis type or if you have added new data sets for which the previous scaling is not effective.
For Contour classes you can either modify the classes or Use classes file. Via Interpolate you
get a dialogue that allows easy manipulation of the contour classes (see Figure 3.27):

 Enter a minimum and a maximum value for the class limits as well as the number of



 

intervals.
 Select the method of interpolation:

Linear spacing gives equal steps
Logarithmic spacing gives steps that are small near the maximum and large near the
minimum
Anti-logarithmic spacing gives steps that are small near the minimum and large near
the maximum (so the reverse)

Depending on the character of the quantity to be shown, any of these methods may be useful.
For instance, if you show the salinity in open sea, then you probably want to emphasize slight
deviations from the maximum (i.e. fine scales in the range 33–35 promilles), whereas below
33 promilles the steps can be larger. With logarithmic spacing you can achieve this effect.

Deltares

33 of 190

DR
AF

T

GPP, User Manual

Figure 3.26: Change Plot Options window

Figure 3.27: Interpolate contour classes dialogue

34 of 190

Deltares

Graphical User Interface

Figure 3.28: Change Area Text window

T

To import a user-defined classes file:

 Set the option Use classes file to true.
 Set the option Name classes file to the name of your classes file.

DR
AF

A classes file has a very simple format: any line may contain one single number, the numbers
must be in ascending order and for documentation purposes you can add comments by using
a hash (#) or an asterisk (∗) in the first column.
Example of a classes file:

*
* Water levels: fixed contour classes
*
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0

3.4

Error handling

If an error occurs while reading any of these files, you will see a message box with a description of this error. Three types of errors are possible:

 The program cannot find the file, which is a serious error for all but the session state file,
as things are not defined then.

 The program can not read the file because of some syntax error. The reading routines will
indicate the line on which the syntax error occurred and the offending word or character.

 The program complains about the version number in the configuration files. As these files
are extended and adjusted with new releases it is important to use the correct versions.
We try to keep them compatible, so that some things are simply not available, but occasionally major changes do happen.
The message is therefore: if an error occurs with any of the configuration files, please find out
what is the matter before continuing. If an error occurs with the state file, you may ignore it,
though some data sets or plots from the previous session are not available.

Deltares

35 of 190

DR
AF

T

GPP, User Manual

36 of 190

Deltares

4 Data sets and presentations
Data sets in general
Sets of data, the results of a numerical model or of a measurement campaign, are commonly
characterised by some quantity or quantities (a hydraulic parameter, an ecological parameter
or whatever), by locations (we are dealing with the real world and models of that world) and
by a range of times. This summarises the idea of the Open Data Structure (or ODS for
short): these three things are characteristic for all data sets we usually deal with. Within this
data model you can have many variations: time-series, scalar data on a 2D grid, a threedimensional flow field and so on.

T

To elaborate on this: a data set can be a time-series of water quality data - measurements of
the concentration of BOD at a fixed location in time. The most natural form of presentation of
such a data set is, of course, a plot of the concentration versus time. This is certainly one of
the presentation forms contained in GPP. But what if the data set contains the data for two or
more locations (see Table 4.1 and Figure 4.1)? Or for two or more parameters (temperature,
salinity and oxygen concentration, for instance, as measured by a probe)?
Although we try to abstract from the actual format of the data file via this general data model,
there remains a relationship between the data set and the file it comes from. In general, the
files you import in GPP can be considered to contain one or a limited number of such data
sets. In some cases, such as map files from D-Water Quality, all the information in the file can
be arranged into one single data set according to the ODS data model. In other cases more
than one data set can be distinguished: a history file from Delft3D-FLOW is an example. It
contains results for monitoring stations (single points) and for cross-sections. For the stations
different parameters are available than for cross-sections. So, we may say that the data in
such files constitute two disjoint data sets.

DR
AF

4.1

Some files actually require a second or even a third file to be read. If this is the case, the
primary file will be selected and the names of the others are derived from that, if possible.
It is not necessary to import the whole data set at once. In fact, GPP suggests that you select
at least a parameter from the list of available quantities.
So, GPP is a framework which allows you to import certain data sets (from external files) or to
create data sets from others, and to present them in any way possible and suitable.1 To keep
track of these data sets, they are given unique names. The user-interface constructs a default
1

etc.

We refer to the detailed documentation on GPP for the algorithms used, how to extend the set of presentations

Table 4.1: Measured data of BOD5 (mg/l) in two locations. (Note: these data are fictional)

Time of measurement

Station K4

Station QU2

21 July 1985, 8:00
22 July 1985, 10:35
23 July 1985, 8:10
25 July 1985, 13:43
1 August 1985, 12:20
2 August 1985, 11:55
5 August 1985, 7:22

5.0
6.5
2.0
3.4
4.0
(not measured)
11.2

3.5
21.5
2.0
1.0
< 1.0
3.0
4.5

Deltares

37 of 190

DR
AF

T

GPP, User Manual

Figure 4.1: Example of particular data set. Missing values are represented by discontinuities in the line

38 of 190

Deltares

DR
AF

T

Data sets and presentations

Figure 4.2: Plot of water level (filled contours) and flow velocity (vectors)

name, but you are free to select a different name.
4.2

Presentations and selections

Internally, the data sets have a type and a subtype. These two properties among others allow
GPP to construct a list of suitable presentation forms and selection methods. They are set
automatically from all available information. The type indicates the dimensions of the data
set: time-series, two-dimensional data sets, three-dimensional data sets etc. The subtype is
usually ’SINGLE’, indicating a single component. In some cases, the subtype is ’VECTOR’,
indicating two components (a vector quantity), others are used as well. Both the type and the
subtype determine which subroutines for plotting a data set are suitable (see Figure 3.15).
Sometimes, selecting the file from which the data set should come and selecting parameter,
location or time is enough. An example: selecting the water level at a single monitoring
station from a result file from Delft3D-FLOW. In other cases, we need the underlying grid as
well. This may mean that another file has to be selected which contains information about
the grid. As an example we may look at D-Water Quality map files. D-Water Quality does not

Deltares

39 of 190

GPP, User Manual

know anything about the grid (the underlying computational program, called DELWAQ, does
not use the co-ordinates of the grid points, but only derived quantities), hence its output files
do not possess any information about the geographical layout. You need to import an extra
file (two actually). At present, only curvilinear grids can be imported. The order in which you
do that is not important, but it is important to get the right files, as otherwise the data set can
not be plotted: its proper type is not recognised.
4.3

Importing the data set
The basic procedure to create a data set from a file has been described in chapter 2. But
there are in fact several possibilities after you have selected the parameter:

select a single location. The result is a time-series (or possibly a set of time-series, if
the location has more than one layer).
select several locations, in which case the data set is a combination of several timeseries.
postpone the choice. GPP automatically selects all locations into the data set.

T







 If the file contains named locations, it is known as a history file. You can:

DR
AF

 If the file does not contain named locations, it is considered a map file or a grid file. In the
 

first case, you can:

select a single time to get a data set that is defined on some grid.
postpone the choice. GPP automatically selects all times into the data set.
(It is not possible to select several times for technical reasons.)

In the second case, there is no time to select. The parameter has uniquely identified the
data that should be imported from the file.
The data set will be known by a unique name: it is up to you to accept the name constructed
by default or to type in one yourself. The name is important because whenever you need to
chose a data set, this name is presented.
4.4

Available presentations

Depending on the type of data several presentation forms will be available. Table 4.2 provides
some examples (a more elaborate overview is given in Appendix K):
During the creation of the data set you may want to postpone the choice of, say, a location.
When you select such a data set in the plot dialogue, one of the possible "presentations" will
be: Select a location.
Besides selections you can also do some operations on data sets. Examples of selections
and operations are:
Select a single parameter (if the data set contains more than one parameter).
Select a single time (used when creating animations, see chapter 7).
Select a single layer (if the data set is three-dimensional).
Select a fixed M or N grid line.
Select an arbitrary transect.
Select a vertical profile.
Instead of a picture, a dialogue appears which shows the possible choices for the selection
or details for the operation. By selecting an item you create a new data set, which is actually

40 of 190

Deltares

Data sets and presentations

Table 4.2: Presentation forms for various types of data sets

Presentation form

Time-series

Plot of values versus time
Cumulative histogram of values (so-called
balances)
Plot limiting factors

XY series

Plot of y-value versus x-value

Scalar data on a two-dimensional grid2

Plot contour map
Plot iso-lines
Plot thin dams
Plot time bar

Scalar data on a three-dimensional grid

No direct presentation possible, reduce to
some form of 2D data first

Vector data on a two-dimensional grid

Vector plot
Plot time bar

DR
AF

T

Data set

Grid itself

Plot of the grid layout

a subset of the original one. This new data set is automatically selected and the possible
presentation forms are presented.
Besides the above mentioned selections you can do also some operations on appropriate
data sets:
Calculate the magnitude of a vector parameter.
Average over a fixed layer (from the surface) (3D data sets only).
Averaged squared vector (m2 /s2 ) over a fixed layer (3D data sets only).
RMS vector (m/s) over a fixed layer (3D data sets only).
4.4.1

Types of presentations

Presentation forms may roughly be divided in three categories:
line graphs (like a time-series)
surface graphs (like a contour map)
all others (like a grid).

This is not to be taken too strict: drawing a grid as a collection of short lines outlining the grid
cells could be called a line graph and iso-lines belong to the category of contour maps. The
main reason for this distinction is that the resources used by the two categories are different.
In the first category we are dealing with one or more series of data points in a graph. Each
series needs to be distinguished from the others. This can be achieved with:

 different line styles and line thicknesses
 different colours
 different symbols
Symbols are especially useful if you want to show the individual data, whereas colours and
line styles are very handy to distinguish more or less continuous series. In order to make the

Deltares

41 of 190

GPP, User Manual

presentation routines work together, they take these settings from a common source.
Presentations which belong to the second category are different altogether: there different
colours will be used to indicate a continuous distribution. For example: the colours used in a
contour map will follow a rainbow-like sequence or perhaps a range of blue shades, not only
to please the eye, but also to better present this continuity. To aid the presentation routines in
achieving this aim GPP uses so-called colour ramps and contour classes:

 Colour ramps are sequences of colours which can be selected by selecting the name of
that colour ramp.

 Contour classes are sequences of numbers which can be edited in a dialogue box (see
chapter 3) and are used in the order they are given.

DR
AF

T

The third category consists of various unrelated presentation forms which do not use either
type of resources. They are independent from other presentations.

42 of 190

Deltares

5 Files and filetypes
This chapter focuses on some general features of the data files. For specific information on
the models and filetypes that are supported and what special considerations may apply, we
refer to the appendices.
5.1

Data files in the user-interface
To read the data from the data files GPP uses a simple concept, such that the details of the
file structure are irrelevant to you. To be able to read the files properly, it does have to know
the structure, or put in another way, the filetype. In the user-interface, this is characterised by
the model and by the filetype within such a model.

T

To facilitate the selection of files, GPP uses a file mask. This is a pattern like "∗.hda" that is
used to select only those file names that are likely to be of the right type. The asterisk (∗)
matches any sequence of characters. You may change this mask when selecting a file or you
may supply a different default mask for files of a certain type.

DR
AF

To summarise the properties of a data file that are important to the user-interface:
model
filetype
file mask

The numerical model or other source that created the file
Indication of the file’s structure
A pattern to be used to pre-select the file names, usually fixed by the
conventions used by the model.

These properties are defined in the file . Only filetypes listed in this file are
available in GPP (see Appendix C.2).
5.2

Representing date and time

Time in GPP is always a date and time of day. The routines that read the files are supposed
to retrieve such a date and time. Some models do not use an absolute time. Instead, the
routines may use the following convention (check the addendum on filetypes):

 A reference date and time may be given via comments. This will be used to reconstruct
the actual date and time for the model results. The layout of such a line is:
t0= 1993.12.31 12:59:59 (scu=
1 )
....+....1....+....2....+....3....+....4 (column numbers)

The first part is the date and time to which the relative time 0 in the calculation refers, the
second is the unit of the system clock in seconds.
Note:
It is important that the time units are given consistently, otherwise a distorted picture will
be drawn!
 If the files do not contain a reference date (or the date is not of the correct format), the
reference date is set to January 1, 1900.
5.3

Formatted data files
Measurement data are often stored in text files or databases of various kinds. GPP offers
several filetypes to import such data: the so-called TEKAL and Samples files.

Deltares

43 of 190

GPP, User Manual

TEKAL files (general)
Essentially, all TEKAL filetypes share that structure:

 The file may contain one or more tables of data, which are independent. They are some




times referred to as blocks.
A short string (the block name) identifies the "block" or table of data.
A line should follow to indicate the number of rows and columns. In the case of data on a
two-dimensional grid, a third number indicates the number of cells in the first direction.
Each line after that contains the data for one row.
Comments can be added before the block name, via an asterisk (∗) in the first column.

(Examples appear in the various subsections.)

T

Thus, the structure is (almost) always as described briefly above. It is a very flexible and easyto-handle format. This is partly because it lacks additional information, such as the quantities
that are given in these columns, the meaning of the table and so on. This information must be
added by the program or the user.

DR
AF

Within GPP, this lacking information is added in three different ways:

 By selecting the filetype from the list defined in the  file.
 By using the comments to supply names to the columns.
 For the one-dimensional variant, an extra dialogue will appear.
The files can be used for the following purposes:

 Time-series or data as function of an arbitrary co-ordinate

 

This is a one-dimensional TEKAL file (meaning that the line after the block name has only
two numbers, the number of rows and the number of columns. This type of file is handled
in a special way in the user-interface (see section 5.3.3).
 Co-ordinates for land boundaries:
This is also a one-dimensional TEKAL file, but it should have two columns, the first for the
x-co-ordinate, the second for the y-co-ordinate. All blocks are read at once, though they
define individual poly-lines or polygons. Furthermore:
The missing value 999.999 for a co-ordinate indicates a break in the line.
Polygons are recognised by the fact that the first pair of co-ordinates is identical to the
last pair.

 Scalar quantities on a curvilinear grid:



Files that are used for this purpose require at least three columns, the first two being the
x- and y-co-ordinates of the vertex of the grid cell, the others quantities that are given on
these vertices. Special features:



5.3.1

To make the subtype correspond to values defined on the vertex (VALUE_AT_VERTEX ),
the quantities are called "value 1", "value 2" etc. and they are read as extra parameters.
You can associate a particular date and time to a block of data by using a comment
line before the block:
* Use the keyword to set the time to
* 1 January 1990, 10:00:
*
* time : 19900101 100000
*
BLOCK (will be ignored)
...

44 of 190

Deltares



Files and filetypes

The time string must be given exactly as above, with a space before and after the
colon. If no such comment is present or recognised, then a default time is used (starting at 1 January 1900, to make clear that actual date time information are missing).
The grid information, that is, which cells are active, is defined implicitly, by the value
of the first quantity. If this value is equal to the missing value, then the grid cell is
considered inactive. Otherwise it is active. A consequence of this is: all quantities in
all tables (blocks) must be defined on this same grid. In general, this condition will be
satisfied, but it does mean that you can not combine such files arbitrarily.

 Vector quantities on a curvilinear grid:

T

The same format can be used to import vector quantities, such as the transport of matter
or flow velocity. The difference is only, that the columns appearing after the co-ordinates
are grouped in pairs and the vectors are called "vector 1", "vector 2" and so on. All other
remarks hold just as in the case of scalar quantities.
 Text at geographic locations:
It is also possible to apply the TEKAL file format, if you want to read in text strings that
should appear at a particular geographic location. The current implementation expects
three columns, the first two the geographic co-ordinates, the last a string:

DR
AF

*
* Just some text to appear in the plot
*
BLOCK (will be ignored)
3
5
1000.0
2000.0 "
Text 1"
999.999 999.999
" is continued"
2200.0
3000.0
Somewhere in the plot
700.0
1000.0
Text 3
3300.0
2020.0
/ Text 4
/



 

 

This type of data is called geographic text (by lack of a more suitable name) and it will
be drawn at the location indicated. The plot routine that does this has several options for
positioning the strings relative to the location and selecting the angle and text height.
We must make a number of remarks about this filetype:
Lines can be up to 80 characters long.
The strings are read without leading blanks, unless a delimiting character is used: any
character that is not a letter or a digit and is repeated within the string (in the example
above: the quotation marks (") and the slashes (/)).
Only the first block is read from the file.
The co-ordinates are grouped together and appear as one parameter, texts, whereas
the strings appear as location names.
Because of ODS conventions, the location names can be up to 19 characters long.
If the string is longer, then it will be split into two, three or more locations. The coordinates associated with these extra locations are so-called missing values (the value
999.999). You may use this internal convention to join text strings (it might come in
handy, in special cases).

Some caution must be observed: if the file contains empty lines or uncommented lines outside
the tables, the reading routines may recognise extra blocks and give somewhat strange lists.
So: whenever possible, follow the above format exactly.

Deltares

45 of 190

GPP, User Manual

Samples files
Yet two other filetypes are supported that share some of the characteristics of TEKAL files, in
that the structure is very simple and you can edit them manually: the so-called samples files.
Samples files are available in two types:

 Observation points in a geographical area
Lines can be up to 80 characters long
Comments can be added at the beginning of the file by starting a line with an asterisk
(∗) or a pound sign (#)
After the comments a line with the names of the columns may appear (they should
be enclosed in quotation marks ("). Names for the first two columns will be ignored
though, for technical reasons.
Unfortunately, no time information can be given yet.
Each line after these should have at least three numbers. The first two are the coordinates of the observation point, the rest are the values that were observed.
Values are separated by spaces, tabs or commas. Missing values can not be indicated
by two consecutive tabs or commas though, a dot (.) or a question mark (?) is called
for, to make the missing value visible.
A small example:

DR
AF

T

 



 

These file have the following format:



5.3.2

<------- up to 1000 columns ------->
* Lines with * in the first column are comments
* Observation points: X,Y, Salinity, Temperature
*
’’X’’
’’Y’’
’’Salinity’’
’’Temperature’’
1000.
1000.
30.0
14.3
1200.
1540.
31.2
14.5
5210.
522.
25.62
17.5
3111.
354.
22.62
18.9

Remarks:
 Lines that contain one single value, before the lines with actual data (always at least
two numbers) are treated specially: the number on the last line is regarded as a
scale value for the third column (this was introduced for the SHIPMA model).
 A line with the names of the columns may appear only once in the file.
 Data as function of some independent variable:
This filetype is very similar to the corresponding one-dimensional TEKAL file, except that
it has no header stating the number of columns and rows and the first column is by convention the independent variable. This makes it unnecessary to pose another question to
the user.
All remarks for the observations points hold for this filetype as well, except that now, only
the first column is special.
If you want to represent a missing value, use a period (.) or a question mark (?) to indicate
that an actual value is missing.
The following is an example of such a file:
<------- up to 1000 columns ------->
* Lines with * in the first column are comments
* Data as function of distance
* A question mark is a missing value
"Distance" "Oxygen" "pH"
"Ammonia (mg/l)"
21.
8.8
7.1
0.01
54.
8.0
7.8
0.21
77.
6.8
6.4
0.4
113.
?
6.4
0.4
202.
4.5
6.0
1.2

 Data as function of date/time:

46 of 190

Deltares

Files and filetypes

For this filetype the first two columns are interpreted as date and time, all others are
interpreted as the value of some parameter at that date/time. You can use two different
formats for the date and time columns, as shown in the example:
"DATE"
19990101
20010201
1991/03/02
1998/02/01

"TIME"
200000
210000
21:20:00
11:12:11

"salinity"
30.0
31.0
29.0
29.1

"temperature"
12.0
12.3
?
11.32

TEKAL time-series files

DR
AF

5.3.3

T

Remark:
 To enable a smooth transition between the “old” TEKAL format and the “new” observations files, you can include the two lines that distinguish old-style TEKAL formats
(without comments for identifying the columns), that is, the block name and the number
of rows and columns. These lines are simply ignored. There is one condition though:
in order to detect these extra lines, the program assumes that such a line starts with a
letter in the first column. As this is typically true for the majority of such files, this was a
simple criterion.

As stated above, TEKAL time-series files are treated somewhat special by the user-interface.
As this format does not include information about what these numbers are, the ODS routines
that read these files use the following conventions:

 The blocks are supposed to refer to one parameter. The various columns refer to different
locations.

 In case of a "time block" the first column contains the date in the so-called yyyymmdd
format and the second column in the hhmmss format (see example).

 The block name may be up to 19 characters. The block name serves as the name of the
parameter.

 Each block may be described by lines starting with an asterisk (∗). If they contain the
keyword "column" and a column number in the right position, the text on these lines is
used for the names of the locations. (Important: this information is read with a fixed
format, see next example.)
The user-interface of GPP will ask for the two columns that contain the date and time or it
asks for the start time and the increment, depending on the actual type that was chosen (see
Figure 5.1).
As an example, Table 4.1 has been converted to a TEKAL file:

....+....1....+....2....+....3....+....4 (column numbers)
*
1 : Date and time
* column
3 : Station\_K4
* column
4 : Station\_QU2
* column
*
b001 Measurements of bod
7
4\]
19850721
80000
5.0
3.5
19850722 103500
6.5
21.5
19850723
81000
2.0
2.0
19850725 134300
3.4
1.0
19850801 122000
4.0
999.999
19850802 115500
999.999
3.0

Deltares

47 of 190

DR
AF

T

GPP, User Manual

Figure 5.1: Specifying time column of a TEKAL file

19850805

72200

11.2

4.0

The table has seven rows and four columns. The date (given as yyyymmdd) and time
(hhmmss) are distributed over two consecutive columns. The third and fourth columns contain the BOD concentration at stations K4 and QU2 respectively. The two entries in Table 4.1
that do not contain valid data are replaced by the special value 999.999, the so-called missing
value. This value is skipped in all drawing routines. The graph is shown in Figure 4.1.
5.4

Other properties of the filetypes

As mentioned GPP uses the file  for defining the properties of the filetypes.
Each filetype is defined by three sets of properties:

 Presentation options

This set of properties has to do with the way data sets read from these files are plotted.
If a database contains measurement data only, it is likely that you want these data to be
drawn as symbols, rather than as connected lines, or, on the other hand you may prefer
model data always to be represented as lines without symbols. For this a separate section
may be included which sets these properties.
 Properties for the user-interface
This set has been explained in the first section. It is the most "visible" one.
 Special parameters
This set of properties has to do with the meaning of the parameters in the file. For instance,
vector quantities are defined in this way. The technical documentation contains more
details. In general, it is enough to know that this can be done arbitrarily.
If you want to change this configuration file, you are free to do so. We suggest that you
change things like the description of the filetype or the order in which the filetypes appear,
so that they suit your system better: if you never use a model like PHAROS, why have the
filetypes associated with that model appear in the list?

48 of 190

Deltares

6 Layouts and plots
6.1

Layouts
In GPP you must select a layout to create a plot. By selecting a layout the following items are
defined:






the size and position of a graph
the size and position of a legend to the graph
an optional frame around the whole plot
the orientation (portrait or landscape) of the plot

T

These items can not be changed from within the user-interface. They can be changed by
editing the session file, though.
All layouts are defined in the file  which can be adapted to include user-defined
layouts. Note that existing plots are not affected by such changes.

DR
AF

A layout is empty: it only defines where items will appear and what size they have (see
Figure 6.1).
To show a data set you need to define a plot. A plot, you might say, is a filled-in layout (see
Figure 6.2).
Because a layout may contain more than one area designated for graphical presentations,
so-called plot areas, a data set must be assigned to a plot area, together with the appropriate
presentation type. It is quite possible to combine more than one presentation type in a single
plot area, to show, for instance, a model grid, a contour map and a vector field. What is
important, however, is that the order in which the data sets are shown, is the order in which
they were assigned to the plot area. So, if you select a contour map after a model grid, you
will not see the grid, as the (filled) colour map is drawn on top.
There is currently no way to change the layout of a plot interactively and layouts that you
define may not always be suitable for all types of plots, for instance because the legend and
the text to a time axis overlap.
chapter 7, Customising GPP, describes what the layouts are made up of and how to make
new layouts yourself.
6.2

How presentation routines co-operate

As explained in the introduction, you have to assign data sets together with the appropriate
presentation forms to a plot area. You can combine all kinds of data sets in one single plot
area, but there are certain restrictions. The routines responsible for the actual plotting are
assumed to co-operate:

 The colours, symbols and so on they use for line graphs are chosen in a consistent way:
the user must be able to influence these settings.
 If two or more data sets are drawn, they are drawn using the same type of axes with the
same scaling.
 If a legend should be drawn, the legend area is used, as determined by the layout.
You might say, that the plot routines share the somewhat limited resources (see Figure 6.2):

Deltares

49 of 190

DR
AF

T

GPP, User Manual

Figure 6.1: Empty layout






four axes, one on each side of the plot area
a legend area (if there is one)
one single colour ramp
one single set of line-styles, line colours and so on

The implementation is as follows:

 First, each plot routine will specify the axes (which axes, what type and the scaling) on the

  

basis of the associated data set. This information is combined into a common specification
for all axes.
 Then each plot routine draws the data set:
it uses the set of line settings (as defined for that plot area!)
it uses the colour ramp (as chosen for that plotarea)
it specifies the legend entries

 When all this is completed, the general routines in GPP plot the axes and plot the legend
(if there is one).
The actual plotting may be influenced by specific options other than the ones mentioned
above. For instance: the routine to plot time-series has an option to use the right axis instead
the left. The options to each routine are described in the separate appendices.
Note that GPP distinguishes the following types of axes:

 Linear and logarithmic axis

50 of 190

Deltares

DR
AF

T

Layouts and plots

Figure 6.2: Filled-in layout: the plot

Deltares

51 of 190

GPP, User Manual






T



These types are used in xy-graphs and for the vertical axis in time-series plots.
Time axis
This type of axis is used in time-series plots (it can only be horizontal, at the bottom of the
plot area).
Geographic axes
If a plot routine uses this type of axis, then a vertical and a horizontal axis have the same
aspect ratio as the plot area. Specifying co-ordinates yourself (after double-clicking on an
axis) will lead to unexpected results. Instead use the zoom functionally to achieve this.
Polar axes
Some plot routines will use a polar co-ordinate system instead of a Cartesian (for instance
to draw a spectrum of directions and frequencies).
Special axes
For instance for plotting so-called limiting factors, a numerical axis is combined with an
axis with textual labels.

DR
AF

Which type of axis is used is determined by the first plot routine in the plot area. As the axes
are very characteristic of the plot, they should be properly taken care of. Some plot routines
provide an option to set the type of axis, others always use the same type.
A plot routine like the one for plotting time-series, defines the bottom and left axis or the bottom
and right axis, depending on an option. Therefore you can combine left and right vertical axes
with different scaling (but with the same bottom axis).
The final scaling is the result of a combination of all data sets in the plot that use this particular
axis.

52 of 190

Deltares

7 Customising GPP
This chapter describes the use of the GPP configuration files and some other points:







Defining printers and plotters

T

7.1.1

Printing and plotting

Under MS Windows the selection and definition of printers is handled directly by the operating
system. You can define new printers via MS Windows utilities.
Linux workstations on the other hand do not provide such utilities, at least not for ordinary
users. Such workstations have no way of knowing what the capabilities are of the printers
that are attached and therefore the programs that use the printers or plotters are to a certain
extent themselves responsible.

DR
AF

7.1

How to define printers and plotters (including some platform-dependent details).
How to define layouts.
How to set the default options for plot routines.
How to change colours, line styles and so on.
How to use GPP in an integrated environment and fine-tuning by command-line arguments.

For this reason the set-up dialogue for the printers and plotters differs on both platforms. For
MS Windows, you can set the standard or default printer via Windows’ standard dialogue. For
Linux workstations the default printer is identified via the environment variables LPDEST and
PRINTER (see Appendix A).
When actually printing, the following dialogue comes up (Figure 7.1):

The list of printers and plotters in this dialogue, is taken from the configuration file 
(see section C.1 for details). It contains a list of printers and plotters and their properties.
Important, but somewhat awkward properties are the paper size and the margins (see the example below). They differ for each printer type, unfortunately, and for the printer/plotter driver
as well. To get correct values for a printer type not included in the installed list, you will have
to experiment.

Figure 7.1: Print setup dialogue

Deltares

53 of 190

GPP, User Manual

DR
AF

T

#
# \DGPP: definition of printers and plotters (what are their
# properties)
#
# Note: the margins depend on the device driver used. The margins
# in this file have been set correctly for the following drivers:
# - HP LaserJet III (HP/GL):
GHPL300
# - PostScript (A paper size): HPOSTA
#
device ’print1 (HP LaserJet III (300dpi) )’
type black-white
# alternative: colour
uniras-driver ’GHPL300’
orientation portrait
# alternative: landscape
hardcopy-size 270.0 180.0
# long, short side (in mm)
left-margin
5.0
right-margin
2.0
top-margin
26.0
bottom-margin
1.0
print-command ’lp -dprint1 -oraw -onb’ # option: -onb = no banner
end-device
#
# PostScript printer
#
device ’ps2 (Postscript HP laserjet III)’
type black-white
# alternative: colour
uniras-driver ’HPOSTA’
orientation portrait
# alternative: landscape
hardcopy-size 297.0 210.0
# width, height in mm
left-margin
0.0
right-margin
0.0
top-margin
0.0
bottom-margin
0.0
print-command ’lp -dps2 -opostscript -onb’
end-device

For both workstations and PCs you can save the plot in an external file by using the right
“printer”. (Note that the “Delete” option for the print file is inoperative under Windows - if you
select another printer than the default one, the print file is always saved whereas for the default
printer there is ordinarily no print file.
Using this mechanism, you can create PostScript files containing the drawing and use them
in reports later on.
7.1.2

Configuring printers for GPP

GPP uses a configuration file, called , that describes the properties of the
printers and plotters that are available to GPP. This file is used under Windows, mainly to
define output to PostScript files.
The reason for using such a file is simple: Linux systems provide no way, or at least no simple
way, for an application to find out which printers and plotters are available and what their
properties are. Thus, the configuration file contains the following information per printer:

 a descriptive string for the user
 the type of printer or plotter, colour or black-white
 the UNIRAS driver, which is a string identifying the software driver to be used, e.g. HPOSTA4
for black-white printers using A4-sized paper with postscript.

 the orientation of the paper (portrait or landscape)
 the size of the paper
 the margins to be respected

54 of 190

Deltares

Customising GPP

 the actual print command
All this information is necessary:

 The descriptive string should contain the logical name of the printer, so that GPP can link
the printer to the default printer (LPDEST or PRINTER variable).

 The software driver creates the print file. If there is a mismatch between the printer’s
capability and the print file, this will result in a large stack of useless paper.

 The orientation of the paper is important as this is sometimes an option in the print com-

Procedure for configuring a new printer or plotter
To configure a new printer or plotter:

 Find the description of a printer or plotter that resembles this new device.
 Copy the set of lines describing it and change the descriptive string so that the logical

DR
AF

7.1.3

T

mand. This must match the orientation of the layout. Hence make two descriptions for the
printer: one for each orientation.
 The actual print command and its options differs from system to system. Sometimes, a
small correction to the print file is needed, because the offset is wrong.

name (the one used in the environment variable LPDEST or PRINTER is contained in it).

 Change the print command so that the correct device is used. You can use “%s” to substitute the name of the print file (otherwise it is simply appended to the command string).

 If the printer is of the same type, you are done. Otherwise it is necessary to experiment
with the margins (they correct for the bizarre and completely obscure relation between the
printer’s logical co-ordinate system and the actual position on paper).
If there is no matching description, try the most reliable printer command languages, PostScript
and HPGL (the print files are ordinary text files). If your printer or plotter do not support either
of these, then filters like GhostScript might be used.
Remark:
 The easiest way to get the margins right is to print an empty plot with a standard frame
via GPP: on an A4 paper the frame lines should be positioned 2 cm from the left and 1
cm from the other sides. Then measuring the actual position of the lines on paper and
calculating the diference should give you a fair indication of the correct margins.
Sometimes however, the useable area simply is not large enough. Then you will have set the
margins to whatever values will make the lines visible.
Some PostScript printers, especially those that use the HTPIIA4S driver, require a correction
of the origin. Check the script files “slpl” and others in the ./gpp directory on how this is done.

Deltares

55 of 190

GPP, User Manual

Anatomy of a layout
This section describes in some detail what a layout is made up of. Together with the description in Appendix C, you should be able to make new layouts yourself. (In future releases it
may be possible to interactively make layouts.)
In the frame below a simple example is given of one particular layout. The details are explained afterwards.
Layouts have four general attributes:

 The units in which all positions and sizes are given: centimetres, inches or "stretch".

T

The latter unit requires some explanation. Layouts with this attribute always fit the window
or the paper in which they appear. Layouts with centimetres or inches as the unit attribute
will keep the same form and thus are not always able to fill the region.
 Whether or not a frame is present:
If there is a standard frame it can be used to add descriptive text to the plot. The frame
has a fixed layout which can not be changed (see Figure 7.1). An alternative is the simple
frame that consists of a rectangle only.
 The size:
All layouts have a width and height, given in the appropriate units. These are used mainly
to determine the aspect ratio. The actual size depends on the medium. For stretch units
the width and height determine the scale of the co-ordinates and sizes (the relative measure).
 The orientation: portrait or landscape
The orientation on the screen, that is what is the long side and what is the short side is
determined by this parameter. Complications arise because this is unfortunately independent of the actual orientation when printing or plotting on paper (that is determined by the
printer or plotter driver). Be careful to choose a consistent combination.

DR
AF

7.2

#
# GPP configuration: layouts
#
layout ’portrait-legend’ ’One plot area with legend’
units stretch
size 18 27
orientation portrait
standard frame
frame
’company’ ’DELFT HYDRAULICS’ font ’simplex roman’ 3.5 medium
’Black’
’main text 1’ ’ ’ default-font
’main text 2’ ’ ’ default-font
’main text 3’ ’ ’ default-font
’upper left’ ’ ’ default-font
’upper right’ ’ ’ default-font
’middle’
’ ’ default-font
’lower left’ ’ ’ default-font
’lower right’ ’ ’ default-font
end-frame
plot-area ’single-area’ ’Single plot area’
position 3 7
size
12 19
legend
use datasetname
position 2 3
size
14 2
end-legend
end-plot area
end-layout

56 of 190

Deltares

Customising GPP

Within a layout you may define plot areas, text areas and groups, these being convenient
collections of other elements:

 Plot areas:
These determine rectangles in the layout that can be used for plotting. The definition
may contain a rectangle reserved for the legend as well. Note that legends are logically
associated with a plot area, but they may be positioned anywhere.
 Text areas:
Rectangles for putting extra text in the plot.
 Groups:
Collections of layout elements that have the purpose of defining a new origin. All elements
belonging to a group are positioned relative to the origin of the group. This allows you to
move elements in the layout by changing the position of the group only.

7.3

DR
AF

T

There is no limit to the number of layout elements or the layouts (except memory), but in
practice the available space becomes limiting quite fast. As a consequence, certain layouts
are more suited for xy-graphs than others. Some are more suited for printing and others are
more suited for display on the screen.
Default options for plot routines

All plot routines use one or more options that influence the appearance of the actual plot.
These options can be set for each instance independently. Moreover the defaults can be set
for your personal preferences as well. You can not define new options, but you can define
"new" plot routines.
Suppose you often need plots of time-series with a right vertical axis. You can copy the
definition of the plot routine in the file , edit the default value of the "new" plot
routine and give it a unique description (see frame below). The name of the plot routine must
remain the same, because this is the link to the actual subroutine that does the work.
You are quite free to do this, just as with the defaults. Note that you should not change the
types of data sets that can be handled, as GPP might crash because of this. The routines
expect certain types of data sets and are not always capable of determine whether a data set
of the correct type has been supplied.
#
# Original plot routine "Plot Time series" has been copied
# - use right axis by default
#
#
(name is the same) (description is unique)
plot-routine ’PlotTimeseries’
’Plot Time series (right)’
no-topography
accepts-data sets
’TIMESERIES’ ’SINGLE’
’TIMESERIES’ ’MULTIPLE’
end-data sets
options
\# Changed default
logical ’UseAxisRight’ ’Use right axis’
TRUE
.... (other options)
end-options
end-routine

Deltares

57 of 190

GPP , User Manual

Graphical settings
The file , which is explained in detail in Appendix C.5, contains the graphical
settings. As with all the other configuration files, you can adjust it according to your wishes. It
contains quite some information, but the following items may be of most interest:

 Colours:

T

a line type (one of the predefined types)
a thickness (in mm)
a colour (one of the colours defined in the colours section)
a symbol (one of the symbols defined in the symbols section)

DR
AF

   

The colours section contains the name and the definition (for instance in RGB values from
0 to 255) of the colours to be used. You should not define too many colours, say more
than 50, as the internal colour table has only 220 free entries and you need space for the
colour ramps as well.
 Colour ramps:
Colour ramps are sequences of colours used by any plot routine that needs such sequences. You can define any number of colour ramps, but the total number of colours in
the colour ramps plus the colours from the colours section must not exceed 220 say. If
there are too many, the list is truncated.
 Line-styles:
Line-styles are used when a time-series or a similar interconnected series of points is
drawn. Each line style can have:

 Global parameters:
  

There is a collection of “global” parameters that allow you to set values for such things as:

  

7.4

the colour-ramp to be used with contour maps and isolines
the unit for geographic axes (either meters or kilometers)
the orientation of polar axes (either clockwise or counter-clockwise, or a nautical versus mathematical orientation)
the language for month names
what “escape” characters to use for superscripts and subscripts in text
the relative sizes for a customised frame

 Some can be changed via the user-interface, some can not

You are free to define or change any of these, but you must be aware that changing the
settings may affect the existing plots in the state file.
An example of the above mentioned sections is shown below. Apart from these settings
themselves, you can control the occurrence of lines, colours and symbols in two other ways:

 for each type of device (screen, black-white printer or plotter, colour printer or plotter)
 for each set of filetypes (the presentation section in the definition of the models and their
filetypes)
The first is meant to help optimise the appearance of the picture on any output device. The
latter is meant to help distinguish, for instance, data sets from measurements (typically presented as symbols) and data sets from numerical models (typically presented as lines).
#
# Colours section - the names are used in the other sections!
#
colours
’Black’
0
0
0

58 of 190

Deltares

DR
AF

’Red’
255
0
0
’Darkred’
127
0
0
’Green’
0 255
0
’Lightgreen’
200 255 200
’Darkblue’
0
0 127
’Blue’
0
0 255
’Cyan’
0 255 255
’Magenta’
255
0 211
’White’
255 255 255
...
end-colours
... (sections for fonts, linetypes)
colour-ramps
colour-ramp ’Rainbow’
’Darkblue’
’Blue’
’Cyan’
’Green’
’Lightgreen’
’Yellow’
’Orange’
’Red’
’Magenta’
end-colour-ramp
...
end-colour-ramps
... (several sections left out)
default-settings
... (several options left out)
colour-ramp
’Rainbow’
#
# Unit for geographical axes:
# either meters or kilometers
#
geographic-axis-unit kilometers

T

Customising GPP

# Alternatives:
# kilometers or meters

#
# Orientation for polar axes:
# either clockwise or counter-clockwise
#
orientation-polar-axis
clockwise
# Alternatives: clock-wise or counter-clockwise
#
# Language for months on the time axis
# either dutch or english
#
language-for-months
english
# Alternatives: dutch or english
#
# Escape characters:
# When used in a text string, the next character
# will be subscripted or superscripted.
# Choose the characters with care - they can
# not be used in the text
#
subscript-escape
’‘’
superscript-escape ’\^{}’
#
# Custom frames (text boxes):
# Modelled after the standard frame,
# but with variable width and height
#
custom-frame-width
10.0 # 
custom-frame-height
3.0 # 
custom-frame-side
right # Alternatives: left, right
custom-frame-part1
70
# Percentage of total

Deltares

59 of 190

GPP, User Manual

custom-frame-part2
30
# Percentage of total
custom-frame-part3
0
# Percentage of total
#
# For MS Windows we offer a crude method to influence the
# margins used for printing plots with a frame
# (as "devices.gpp" is not used for the system printer)
#
mswindows-margin-left
0.0 # mm
mswindows-margin-right
0.0 # mm
mswindows-margin-top
0.0 # mm
mswindows-margin-bottom 0.0 # mm
end-default-settings

7.5.1

black’
red’
black’
black’
black’
green’

’Black’
’Red’
’Black’
’Black’
’Black’
’Green’

# line thickness
’no symbol’ ’solid’
’no symbol’ ’solid’
’cross’
’no line’
’plus’
’no line’
’no symbol’ ’dotted’
’no symbol’ ’dashed’

Working environment

(mm)
0.1
0.1
0.1
0.1
0.1
0.1

DR
AF

7.5

x
+
-

T

series
’solid
’solid
’noline
’noline
’dotted
’dashed
end-series

Directories and files for GPP

GPP uses a number of so-called configuration files and they have to be located in some known
directory. GPP reads data files and stores the session files. Quite often you can just rely on
the defaults. But if you want to use specific configuration files, then you can do so by starting
GPP with one or more command line arguments like -workdir  (see Appendix A).
The idea is:

 The configuration files are found in some fixed directory: the directory where you installed
the program. It is called the system directory.

 You start the program in some arbitrary directory and you want to use the files in that
directory.
 This directory may not be a directory where you can write files (because you are not the
owner). So GPP distinguishes a working directory as well.
Thus:

 At start-up the configuration files are read from the system directory.
 The state file is read from and written to the work directory.
 Files that you import are found in the current directory, which may change as you move
through the directory structure.

The current directory is not well-defined under MS Windows or else it is always the Windows
system directory, unless you explicitly specify a different location. So you need to specify it
yourself, for instance by setting it in the properties of an item in the Start menu.

60 of 190

Deltares

Customising GPP

7.5.2

File types and file names
The files that GPP can read come in roughly three categories:

 Ordinary “text” files, that is, files that you can read and write using an ordinary editor like
notepad on Windows or vi on Linux.
 Binary files with a platform-independent structure or
 a structure that in practice is platform-independent.
This means that in practice GPP on Linux can read all files produced on Windows and vice
versa.1
File names and their exact location are a different matter:
starts with /

T

 Linux uses case-sensitive names for both files and directories. The full directory name
 Windows uses case-preserving names and the full directory name starts with “c:\” (or
some other drive).

 To make sure that the proper files are read, GPP stores the full name (file name and the

7.5.3

DR
AF

directory that contains it) internally and in the session files. If you move the files to a
different location (a different computer for instance), you may have to edit the session file
– GPP does, however, accept relative names, like “..\..\data\myresult.dat”.
Description files

Apart from a stand-alone program, GPP offers the facility to work in a so-called integrated
environment. In such an environment, you are not confronted with the peculiarities of the underlying operating system, but is shown a user-interface from which you operate the programs
without having to know precisely which files to edit and which programs to run. In such an
environment, you do not know the names of the files or their location.
The assumption made by GPP is that the integrated environment organises the files in some
sort of hierarchy. For example: the environment supports a simple scenario or case management, keeping track of data files for different models and different cases. One possible
classification can be:

 Files from different models, but belonging to the same case, are recognised by a short
description of the case.

 Files should also be grouped for the different models as not everybody is interested in all
model output all of the time.

Hence, some hierarchy is used, which appears "natural" to the user of the system. This
hierarchy can be made clear to GPP by passing it the name of a so-called description file:

gpp -descfile exmpl.dsc
Instead of showing the raw file names, it will show you the files listed in the description file
only. A simple example is shown below.
#
# Example description file
#
1
Currently, the Solaris and SGI platforms ares not supported anymore. On these platforms it is possible to
produce files with an incompatible internal structure, due to the different byte ordering. The different line endings
in Linux and Windows do not matter however

Deltares

61 of 190

GPP, User Manual

DR
AF

T

begin ’Water quality results’
"del01.his" ’case 1: basic situation’
"del02.his" ’case 2: 10\% growth of waste loads’
"del03.his" ’case 3: realisation of all policies’
end
begin ’Waste loads’
"../waste/inp01.tek" ’case 1: basic situation’
"../waste/inp5a.tek" ’case 3: realisation of all policies’
"../data/meas\_r2.tek" ’measured waste loads (1993)’
end
...

62 of 190

Deltares

8 Advanced features
This chapter describes a number of features that are useful when you want to:

 standardise the pictures or use batch editing, in general, create large numbers of pictures
with as little actions as possible

 create animation files that are useful for presentations
8.1

Standardising pictures

8.1.1

Batch processing

T

In many cases, certainly when evaluating the results of several model calculations, or preparing a report with a large number of plots, you will want to minimise the effort to produce these
pictures. Another requirement is that they be uniform - use the same plot layout, graphical
settings etc. GPP has several features that can be employed. We will discuss them one by
one.

DR
AF

Within GPP, batch processing is loosely defined as printing without you having to select the
plots manually. This can be achieved by the command-line option -batch, followed by the
name of a session file. If this is specified, GPP will read the session file, print all pictures it
contains to the default printer and terminate when this is done. You need do nothing, except
wait for it finish.
We must make some remarks about the usage of this option:

 On Linux the printer or plotter can be specified by a second option: -printer, followed by
a printer name defined in the  file. Unfortunately, this can not be done on
PC: the printer that will be used is the default printer.

 Though you can not do anything, for technical reasons, the program will still come up with
the start-up screen and the main window.
 If, under Linux, the window manager asks you to place windows interactively, then the
appearance of the main window necessitates at least this action from you. The cause
is the policy of the window manager. If you want to use this facility, make sure the windows appear on screen without interaction. (Under the Motif window manager, this is the
InteractivePlacement property which should be false.)
8.1.2

Editing the session file

A second step in reducing the effort to produce pictures is editing a state/session file outside
the user-interface of GPP. To understand this, note the following:

 The state/session file is a text file which is divided in blocks. Each block contains other
blocks defining parts of a data set or a plot.
 By manipulating these blocks you can create a new session file that contains different data
sets from different files in different plots.
 Because the session file is made up of blocks, an edit program could manipulate individual
lines as well as blocks of lines. For example: replace the list of class values for contours
by a standard list or add the lines defining a land boundary data set to each plot area of
interest, so that each plot will contain the land boundary.
We will list a number of possible edit actions in detail:

 If you have prepared plots from one data file and you want to get the same sort of plots for
another file (of the same type), then you can replace the name of the file(s) in the definition

Deltares

63 of 190

GPP , User Manual

of the data sets.
For instance:
The original data set is defined as (results from calculation 1):
dataset-def ’NH4’
model
’DELWAQ’
filetype
’ODS_DELWAQ_HIS_BIN’
file
"scen1.his" "" "" end-files
parameter ’NH4’
all-times
location
’noordw 4/10’
end-dataset-def

You can simply change the file name and read the new session file:

DR
AF





Warnings:

T

dataset-def ’NH4’
model
’DELWAQ’
filetype
’ODS_DELWAQ_HIS_BIN’
file
"scen2.his" "" "" end-files
parameter ’NH4’
all-times
location
’noordw 4/10’
end-dataset-def

This can only be done with files of the same type. GPP will not verify this, nor in some
cases would be able to do so.
If a parameter is asked for that does not exist in the new file, then the data set can not
be defined. Similarly, locations have to match. Times are matched by looking for the
one equal or just later than the one asked for.

 If you have data from one location, parameter, layer or time and you want to see the data


for another location, parameter, layer or time. One way to proceed is:

Create a data set that contains all locations, parameters, layers or times that you might
be interested in:

◦ For locations and times, this is simple: do not select a single location or time, but
click Create directly.

◦ For parameters, this will depend on the file type: some file types can produce so-



called hierarchical parameters, such as the D-Water Quality balances file and the
PHAROS files.
◦ For layers you need not do anything special.
Insert a block for creating a resultant dataset.

For instance:

resultant-dataset ’NH4 (tersch 4/10)’
selection ’SelectLocation’
operand ’NH4’
options
logical ’Interactive’ false
string ’SelectedString1’ ’tersch 4/10’
end-options
end-resultant-dataset





Another way is:
Copy the definition of a data set and change the name of the parameter, the location
or the time value.
Adjust the name of the data set (as they must be unique)

For example:
dataset-def ’NO3’
model
’DELWAQ’

64 of 190

Deltares

Advanced features

filetype
’ODS_DELWAQ_HIS_BIN’
file
"scen1.his" "" "" end-files
parameter ’NO3’
all-times
location
’noordw 4/10’
end-dataset-def



Warning:
You need to give the new data set a unique name and use that whenever you use it in
a plot.

 If you want to use a different data set in a plot, but with the same plot routine and the same

The new data set must be of the same type and subtype as the previous one. GPP
will assume that is the case. Difficulties arise, from strange plots to program crashes,
should this not be the case.1

T



options, then you can simply replace the name of the old data set with the new one.
Warning:

 If you use a different data set, the axes may not have an appropriate scaling or the contour
By setting the axis type of any axis to unknown-axis, rather than to linear-axis and so
on, you force a re-scaling of the axis.
By replacing the list of values for contour classes by the single keyword automaticscaling, you force re-evaluation of the contour classes.

DR
AF





classes may not match the values:





If you require a uniform zoom area for contour plots and such, you can copy the axis
definitions for a plot area that is to your liking to any others using similar type axes.
Warnings:
The sizes of the plot area are important, as the limits for the horizontal and vertical
geographic axes are coupled. Use this only for plot areas with the same aspect ratio.
If the aspect ratio is slightly off, you may change the type of the axes into linear in
stead of geographic. By doing so you break the connection (the risk is that the picture
gets distorted a bit). It may be safer to try and resize the plot area itself.

 An alternative method is to create a dedicated layout. The layout will then contain the axes
definitions and they will be copied in directly by the user-interface (see the next section).

 If you want to add a set of standard data sets (like land boundaries) to each plot area,
you can do so by copying the lines dataset ... to end-dataset that put such a data set with
the associated plot routine into the plot. The order in which such blocks appear in the plot
definition is the order in which they will be drawn.
Warning:

 When you edit a session file yourself, you must make sure that the syntax is correct. GPP
will warn about syntax errors and stop reading the file. Something GPP will not do is
check whether data sets are indeed compatible:

 When a link to a topographical data set (better known as a grid data set) is encountered
in the definition of a data set, there is no check if this is indeed compatible with the data
set itself.
 When a binary operation, like addition, is specified, again there is no check whether the
two data sets are indeed compatible.
1
Actually, the condition is a bit more relaxed than this. The given condition is the simplest and the safest. To
check the type and subtype: see the definition of the data set in the state/session file. Unfortunately, this does not
work with the resultant data sets.

Deltares

65 of 190

GPP , User Manual

 There is, in general, no way to make sure that the data files are of the same type as stated
in the definition.
These checks should be built in to make the editing of session files safer. Right now, these
are the caveats you must deal with. Especially the last one is of importance!
Using dedicated layouts

T

A layout defines the position of plot areas, the (default) contents of the frame and so on. Internally, the data structure for a layout is also used for keeping information about the plots. As
the plots need to retain information about the extreme axis co-ordinates and other parameters
for the plot area, this information is actually part of the data structure for the layout. In other
words, layouts may now also define the default axis settings: colours, visibility, but also the
extreme co-ordinates, in fact anything there is to tell about plot areas and the associated axes
except for the data sets and plot routines.
Using this new feature, the layouts may be specialised in such a way that you can zoom in
on a fixed area, if you specify default axis settings via the layout. Simply copy the lines that
define the axis settings from a plot definition into a (new) layout and any data set that is drawn
in that particular plot area will be plotted using these very same co-ordinates. This works not
only with geographical axes, but in fact with any axes.

DR
AF

8.1.3

It does have one drawback: the layout becomes dedicated to a particular type of plot, and you
will be forced to be careful about the sort of presentations you use in it. (Currently, there is no
fully operational auxiliary program that helps you with the editing.2 )
Below is an example of a filled-in layout:

layout ’portrait-filledin’ ’Partly filled in, with legend’
units stretch
size 18 27
orientation portrait
no frame
plotarea ’single-area’ ’Single plot area’
position 3 7
size
12 19
legend
position 2 3
size
14 2
end-legend
#
# Define the default axes
#
default-area-settings
axis bottom
type
time-axis
visible yes
text
’’
start
1997/02/05 12:00:00
stop
1997/02/11 12:00:00
stepsize 1:00:00:00
default-axis-settings
end-axis
axis left
type
linear-axis

2
You can use scripting languages like AWK or Perl to achieve the automated editing via small dedicated programs. This is the most practical solution, but thus require some programming skill. An example is shown in
Appendix E.

66 of 190

Deltares

Advanced features

visible yes
text
’’
start
7100
stop
7350
stepsize 25
default-axis-settings
end-axis
end-plotarea
end-layout

Note that this is simply an example and has no particular meaning.

T

This makes a layout more specific. The reverse situation occurs with the definition of plots.
These specify precisely what numbers to use on the axes. It would be nice, to allow some
automatic scaling, when putting in a different data set than the one(s) used to define the plot.
This can now be done: by replacing the type of the axis in question by the keyword “unknownaxis”. This triggers the scaling algorithm to use the actual scaling information from the data
sets in the plot area, rather than rely on the values from the definition.

DR
AF

The last remark about layouts concerns the positioning of the legend. Normally, the position is
given with respect to the lower-left corner of the whole plot, as is the position of the plot area
to which it belongs. By using the keyword relative-position instead of position you can place it
with respect to the lower left corner of the plot area. Thus it is easier to vary the layout:
plotarea ’single-area’ ’Single plot area’
position 3 7
size
12 19
legend
relative-position -1 -4
size
14 2
end-legend

8.2

Creating animations

Creating animation files is relatively simple, but the procedure is a bit special and there are
some pitfalls some of which are platform dependent. This section will clarify both the procedure and the pitfalls.
The procedure can be divided in three steps:

 create data sets that contain several time steps so that the results can be drawn for these
times

 prepare individual pictures (or frames) for each time
 create the animation file from the individual frames

Suppose you have a file that contains the salinity over a whole model grid and several times.
Rather than selecting the parameter and a time in the dialogue to add new data sets (click
Add in the Data Group Datasets), you simply select the parameter and do not select a time.
This will result in a data set defined over the grid with more than one time. Such a data set
can not be drawn directly, instead you are asked to select a time when adding the data set to
a plot.
Select a time (this needs not be the first time), prepare the whole plot, by adding a land
boundary, changing the plot options etc. When you are satisfied (see the pitfalls), then click
Start animation (Step 2). The result of this action is that the data for the first time are drawn
and the picture is stored in a bitmap file, then the data for the next time are retrieved and

Deltares

67 of 190

GPP, User Manual

drawn. The new picture is stored in another file and so on. When the hourglass disappears,
all times will have been treated this way and a series of picture files results.
These files are called , , <. . . > (on Linux) and ,
, <. . . > (on MS Windows). They are found in the work directory. The files
are either in XWD-format or in the Windows bitmap format. Specialised programs, such as
ImageMagick’s convert can be used to create a very compact animation file (Step 3)3 Other
programs create AVI-files, a file format popular with Windows multimedia applications. The
drawback is that the file seems to be about as large as the sum of the original bitmaps.
It is beyond the intentions of this manual to discuss further the advantages and disadvantages
of the various programs. Many freeware and shareware programs exist, but the tools from
ImageMagick give very good results.

T

It is more important at the moment to know the pitfalls of the procedure within GPP:

 Once started, the animation can not be stopped in an elegant way. You can stop it, though,
by closing the window from the system menu.

 Data sets that are used in an animation do not, currently, retain the original time, but rather

DR
AF

refer to the last time. When preparing a different plot, you should keep this in mind.
Automatic scaling of, for instance, contour classes is based on the first time step shown,
not on the data in the whole time frame. So either choose a representative time or change
the contour levels manually.
Existing animation files will not be overwritten, rather the count is increased until a gap is
found. GPP does not give any warnings about it.
When making an animation of different data sets in the same plotarea, the various data
sets should have the same time information (i.e. start and stop time, and time interval).
When making an animation of a plot with more than one plotarea, all plotareas should be
filled-in.






8.3

Facilities for making animations

It has long been possible within GPP to create picture files for each timestep in a data set.
However, converting these picture files into a single animation file, such as an AVI file or an
MPEG file was not supported via GPP. The reason for this is that there are many programs
available that can do this conversion and every user was supposed to find an appropriate solution for themselves. For the Linux platform, a popular choice for such a conversion program
is ImageMagick’s convert (http://www.imagemagick.org). For MS Windows there are many
free and commercial products available. Unfortunately most come with a GUI that helps you
select and order the individual frames but they do not allow you to specify them via a batch
file.
The solution described below does make it possible to automate the conversion process on
MS Windows. It relies on a program called VideoMach. As this is a commercial product, you
will have to get a trial version yourself and decide if this is something you want to continue to
use (http://www.gromada.com/videomach.html). But it at least gives a smooth procedure to
turn the frames into an AVI file.
The procedure is simple:4

 Create a session file with the data sets you want to show
 Prepare the picture that is to be animated as the first plot
3
4

The procedure for creating an animation is described in more detail in Appendix D.
By courtey of S. Luger, CSIR South Africa.

68 of 190

Deltares

Advanced features

 Store the data sets and the plot in a session file
Then run the batch file "gpp_animate.bat" with the name of the session file as its argument
(you will find this batch file in the directory ...\delft3d\w32\gpp\bin\):

C:\> gpp-animate.bat filename.ssn
This will start GPP with a number of command-line options:

 -animate to start the animation for the first plot
 -plotsize to set the width and height of the plot window to convenient values

Automatically exporting data sets

It is possible to automate the export of data sets. This is especially useful if you need the
data from several data sets in a different format for further analysis. The method for doing this
consists of the following steps:

DR
AF

8.4

T

When the animation is completed, one or more frames remain on disk and the conversion
program is started. The end result is an AVI file.

 Define the data sets and store the definitions in a session file
 Insert blocks like the one below into the session file (by using an ordinary text editor),
these blocks should come after the data set they refer to:
export
dataset ’name of dataset’
to-file ’filename’
export-routine ’WriteTimeseries’
options
# If needed
end-options
end-export

 Load the session file into GPP. During the loading process, the export functions will be
executed as indicated by the export blocks. (You can of course do this via the batch option
too.)
The format of the export blocks is straightforward:

 A block starts with the keyword export and ends with the keyword end-export.
 Within the block you need to indicate what data set to export, what export routine to use
and to what file to write the data.
 Because several export routines have options that control their operation, you need to
specify a block of options too.
The names of the export routines (not the descriptions) and the corresponding options can be
found in the routines.gpp file. For completeness, here are a few examples:

 Exporting a timeseries to a file which uses spaces to separate the values:
export
dataset ’name of dataset’
to-file ’filename’
export-routine ’WriteTimeseries’
options
end-options
end-export

Deltares

69 of 190

GPP, User Manual

 Exporting a time-series to a file which uses tabs to separate the values (a format commonly used by such programs as MicroSoft Excel):
export
dataset ’name of dataset’
to-file ’filename’
export-routine ’WriteTimeseries’
options
list ‘SeparatorType’ ’tab’
end-options
end-export

(If you want a comma instead, use ‘comma’ as the value to the option ‘SeparatorType’.)
export
dataset ’name of dataset’
to-file ’filename’
export-routine ’WriteTSTekal’
options
end-options
end-export

T

 Exporting a time-series to a “TEKAL” file (one with a simple tabular structure):

(If you want a comma instead, use ‘comma’ as the value to the option ‘SeparatorType’.)

DR
AF

 Exporting a 2D data set to a “TEKAL” file:
export
dataset ’name of dataset’
to-file ’filename’
export-routine ’WriteMAP2DTekal’
options
end-options
end-export

(In most cases, there is no option required.)
Though the list above is not exhaustive, it does include the most common types of output.
8.5

Automating tasks

As of version 2.11 GPP provides several so-called scripting interfaces, which enable sophisticated automation and customisation of tasks. For this it uses the Tool Command Language
or Tcl, which is a very simple yet flexible and powerful language.
Scripts are interpreted rather than compiled programs or routines and this makes it possible
to extend the program without having to recompile and link. Instead the program reads the
source code at start-up and executes it when asked. Another advantage of scripting is that
it can hide many of the tedious details from the casual programmer, making the source code
more concise and easier to read and write.
You can distinguish two sets of scripting capabilities. The first set is more or less an alternative
to the user-interface: rather than interactively define data sets and plot, you can use the
scripting interface to programmatically define them and thereby automate the tasks. This has
not been implemented to its full potential yet and we mention it pro memorie.
The other set allows you to define your own routines for presenting and exporting the data
sets. This is the subject of the next section.
8.6

Defining your own plot and export routines
Via the scripting interface you can define a routine to plot a particular data set or to export the
contents to a file. For instance: GPP does not contain a plot routine that draws a truncated
Fourier series (that is: the time-series is fitted to a Fourier series with only a few terms and

70 of 190

Deltares

Advanced features

that series is then drawn). With the scripting interface, you can define such a routine yourself
and add it to GPP.
When you use the scripting interface to define new plotting or exporting routines, you need to
follow a simple protocol:

 

 For plotting routines, there are two steps:
Specify the co-ordinates for the axes and what kind of axes should be used
Draw the data set

T



The reason for these two steps is simple: the axes are a common resource, they are
shared by all the data sets that are plotted within the plot area – this way you can combine
two or more time series for instance in one graph. The first step allows GPP to make a
common scaling and the second step allows the individual routines to use this scaling.
 For exporting routines, there is only one step:
Write the data in the form you want to the external file

DR
AF

  

The file to which the data should be written is managed by GPP, so there is no need to
open or close it.
 The routines must be registered within GPP. For this, there is a simple mechanism:
Use the plot-routine command to register a new plotting routine
Use the export-routine command to register a new export routine
Both commands have the same interface (modelled after the blocks in 
– see section C.4):

◦
◦
◦
◦
◦
◦

A formal name (for recognition in the session file, this must be unique)
A title (for display in the user-interface)
A list of acceptable types for topographical data sets
A list of acceptable types for ordinary data sets
A list of options
The code for the routine

Here is an example:

plot-routine PlotTest "Plot Cumulative Distribution" {} \
{TIMESERIES SINGLE} {} {
PlotTest $mode
}

Let us examine a simple example: a routine to draw the (estimated) cumulative distribution for
a time-series:
First step (mode “specify”):

 We need to determine the range for the horizontal axis. So we get the values from the
data set via the command “dataset data” and examine them in the “foreach” loop.
 We take the range for the vertical axis to be 0 to number of values.
Second step (mode “draw”):

 We need to determine the rank of each value in the time-series – get the values and sort
them in ascending order (via the lsort command).

 We then loop over the sorted values and draw the line segments, where the vertical coordinate is the index in the list. This way we get a raw estimate of the cumulative distribution.

Deltares

71 of 190

GPP , User Manual

proc PlotCumulativeDistribution {mode} {
#
# Determine the extremes
#
if { mode == "specify" } {
set vmin 1.0e20
set vmax -1.0e20
set count 0
foreach value [dataset data] {
if { $vmin > $value } {
set $vmin $value
}
if { $vmax < $value } {
set $vmax $value
}
incr count
}

}

DR
AF

#
# Define the axes that we want to use
#
setaxis bottom linear vmin vmax
setaxis left
linear 0
count

T

Here is the code:

#
# The actual drawing part
#
if { \mode == "draw" } {
#
# Select the axes, so that we can use ’’natural’’ coordinates
#
useaxes bottom left;# in that order
set count 0
set sorted [lsort --real [dataset data]]
foreach value $sorted {
if { count == 0 } {
set xend
$value
set yend
$count
} else {
set xbgn
$xend
set ybgn
$yend
set xend
$value
set yend
$count
plotline $xbgn $ybgn $xend $yend
}
incr count
}
}
}

If we want to export this distribution to an external file, then we could do this via the following
routine (its one argument is the handle to the output file):
proc WriteCumulativeDistribution {outfile} {
set count 0
set sorted [lsort --real [dataset data]]
foreach value $sorted {
puts outfile ’’$count\t$value’’
incr count

72 of 190

Deltares

Advanced features

}
}

Note that we use a tab (\t) to separate the two values. The routine could be enhanced by also
writing information about the data set in question and so on.
Script commands
For plotting the following commands are available, besides the general commands of the
scripting language:

 plotline x1 y1 x2 y2
Plot a straight line segment from (x1,y1) to (x2,y2)
Plot the text string at position (x,y)

 setcolour colour








T

 plottext x y string
Set the colour for drawing or filling. The colour argument can be a name or an index as
returned for colour options.
setthickness thickn
Set the line thickness (in mm).
getarea
Returns a list of four numbers: the minimum x and y co-ordinates of the plot area and the
width and height (all in mm).
getworldcoords
Returns a list of four numbers: the minimum and maximum x co-ordinates and the minimum and maximum y co-ordinates of the current world co-ordinate system.
setaxis which type min max step
Let the axis at which side (bottom, left, right or top) from min to max (at least) with optionally a stepsize of step. The type of axis is type (linear, logarithmic, time, geographic or
polar).
useaxes horiz vert
Select which axes to use when drawing (where horiz is either “bottom” or “top” and vert is
either “left” or “right”)
dataset subcommand
Get information about the data set to be drawn. The subcommand determines what information is returned:

DR
AF

8.6.1

name:
return the name of the data set
parameters: return the names of the parameters it contains (as a list)
locations: return the names of the locations it contains (if any, as a list)
times:
return the times it contains (as a list)
data:
return the data it contains (as a list)
 getoption name
Return the value of the named option. If there is no such option, an error is raised.
For exporting only the dataset and the getoption commands are available (as they have nothing to do with plotting).

Deltares

73 of 190

DR
AF

T

GPP, User Manual

74 of 190

Deltares

9 Installation
Installing GPP is simple: most of it is taken care when you install the Delft3D package. A few
items remain and they are described separately for each platform.
9.1

Installing on the PC
The first step in the installation is taken care of by the Delft3D installation procedure. You will
find that the GPP executable is stored in a directory under Delft3D (the name is . . . \w32\gpp\bin)
and the configuration files can be found in . . . \w32\gpp\lib.
There remain these two issues:

 You may want to run GPP outside Delft3D.

DR
AF

T

In that case, making a short-cut in the standard MS Windows way will suffice. Note that
the start-up directory for the short-cut will be the system and working directory for GPP,
unless you give the proper command-line options.
 You may want to customise the configuration files.
As explained in chapter 7, the configuration files are read from the GPP system directory.
Simply create a separate directory and copy the files (*.gpp) in the lib directory to this new
one. You can then set the start-up directory for the short-cut to that same directory. Or
you can use the command-line options to make GPP read the customised versions.
Remark:
 When you use GPP via the Delft3D menu system, it will read the set of configuration
files found in the ..\w32\gpp\lib directory, as no special system directory will be specified.

9.2

Installing under Linux

The first step in the installation is taken care of by the Delft3D installation procedure. You will
find that the GPP executable is stored in a directory under Delft3D (the name is $D3D_HOME/$ARCH/gpp/bin)
and the configuration files can be found in $D3D_HOME/$ARCH/gpp/lib.1
There remain these two issues:

 You may want to run GPP outside Delft3D.
Simply start the program via:

> gpp

(with or without additional command-line arguments)

 You may want to customise the configuration files.

The script gpp_install will create a directory /̃gpp if it does not already exist and copy the
default configuration files to that directory. The script will make a backup of any existing
configuration files. Simply type:

> gpp_install
Of course, if you want to use specific configuration files, you can do so by copying these
configuration files to a separate directory and edit them. Then run GPP via:

> gpp -sysdir some directory
Remark:
 Under Linux GPP is started via a shell script, even in the Delft3D menu system. This
means that it will read the set of configuration files found in the directory $HOME/gpp,
1

The environment variables are set by the Delft3D login script or profile.

Deltares

75 of 190

GPP, User Manual

DR
AF

T

if you have such a directory (run gpp_install for this) or from the central directory if you
do not.

76 of 190

Deltares

10 Glossary
Below is a list of terms commonly used in the context of GPP:

colour ramp
command-line
argument
configuration
file
contour classes
data set
Delft3D
devices.gpp
dialogue

File that contains certain information important to the working of Delft3Dgpp
Sequence of numbers that are used to create contour maps and such
Collection of data, identified by a unique name
Comprehensive user-interface for multi-dimensional models
Configuration file, contains definition of printers and plotters
User-interface element, an area on the screen meant to enter data in
some way or other. It can be moved, but in most cases it can not be
resized
Subroutine to export the data in a data set to an external file. May have
options
Output file from a model, containing results, or a database
ods type of an output file
Configuration file, contains models and associated filetypes
File containing previous data set and plot definitions (the last state is
saved in it)
Representation of date and time in year, month, day of the month etc.
File containing time-series for quantities at separate locations
Internal representation of date and time, as the number of days since a
reference date and time.
Specification of the position and size of plot areas, legends additional
texts etc.
Operating system that resembles UNIX
User-interface element that allows selection from a list
User-interface element that allows selection from a list, but the list has
to be opened first
Configuration file, contains definitions of layouts
Location in the area that is studied, such as a monitoring station
File containing information on the value of a quantity in the whole model
area, such as the concentration distribution at several times.
User-interface element, represents one or more tasks that can be selected with the left mouse button
User-interface element, collections of pull-down menus. Selecting an
item shows the pull-down menu
Computer program which produces the output files (or any other source
of datafiles)
Special parameter, handles the grid used by models but can also contain
geographical data
Windowing system commonly used on PC’s. In this manual the term
covers Windows 95, 98, NT and XP
Open Data Structure, a set of concepts and subroutine definitions to
deal with a wide variety of filetypes

DR
AF

export routine

Time given in the form of calendar date and time
Routine in GPP designed to perform a certain task using data sets, such
as plotting or exporting the data to an external file
Sequence of colours that are used for instance in contour maps
Options that can be specified at start-up

T

absolute time
action routine

file
filetype
filetype.gpp
gppstate.0

gregorian date
history file
julian date
layout

Linux
list box
list button

layouts.gpp
location
map file
menu

menubar
model

model-grid
MS Windows
ODS

Deltares

77 of 190

GPP, User Manual

operation routine
options
parameter
plot
plot area
plotroutine
presentation
push button
relative time
routines.gpp

Options for action routines (defined in file routines.gpp)
Quantity for which data can be imported
Layout plus data sets and associated presentation forms
Area in a layout or plot designated for plotting data sets
Subroutine that plots the data set in some form. May have several options to customise the appearance of the plot.
Form of graphical presentation of a data set
User-interface element to make an action start (or finish)
Time given as the number of time units since a reference time
Configuration file, contains the definitions of action routines with their
options
Method of creating a subset of a particular data set
Subroutine that takes care of the selection (including the necessary dialogue)
File containing the definitions of data sets and plots
Configuration file, contains graphical settings
Name of a general plot package that defines one particular file format
User-interface element to enter a text string (in the case of GPP only
single-line texts can be entered)
Time (date and time) for which the imported value holds
User-interface element, area on the screen that acts as a unit. Can be
moved and resized.

DR
AF

selection
selection routine
session file
setting.gpp
TEKAL
text field

Operation on the data in one or more data sets, like adding two parameters or calculating the average over time. This will result in a new data
set
Subroutine that takes care of a particular operation

T

operation

time
window

78 of 190

Deltares

Glossary

DR
AF

T

Deltares, 2016. “BIBTEX key with no entry, needed if no citations are made in the document.”

Deltares

79 of 190

DR
AF

T

GPP, User Manual

80 of 190

Deltares

A Command-line arguments
GPP recognises the following command-line arguments (see below for some examples):

This indicates which X-terminal or console to use. It is a
standard X command line argument and hence has no
meaning under MS Windows. (Other X arguments are
recognised as well, but they are much less common.)1

-sysdir 

Specify the directory where the configuration files can
be found (different from the default directory).

-workdir 

Specify the directory where the state file (gppstate.0)
can be found and will be written to. Any other files produced by GPP will also be written to this directory, unless the name explicitly refers to a different location.

-descfile 

Specify a so-called description file. This allows GPP to
link to integrated model systems where you do not deal
with files directly but with scenario names and such.
The actual data files are hidden from you and therefore
they should not appear in GPP either (see chapter 7)

DR
AF

T

-display 

-session 

Specify the session file to read instead of the default
state file 

-batch 

Specify the session file to read and print all the plots it
contains. After that, the program will finish.

-animate 

Specify the session file for which to automatically start
the animation. Note only the first plot is animated in
this way. The program will automatically stop when the
animation is completed.

-convertto 

Convert the raw bitmap file to a file of the type
indicated by the extension (like: gif).
This option relies on ImageMagick and for valid extensions
we refer to the ImageMagick documentation (see
).

-printer 

Specify the name of the default printer. This makes
sense under Linux only, as on PC a different method
is used. This option overrides the values from the
LPDEST and PRINTER environment variables.

-plotsize 

Specify the initial size of plot windows as width and
height in pixels. For instance: -plotsize 600x400.
Useful for controlling the result of an animation.

-noprint

Do not send the print files to the printer. This is useful
in combination with the -batch and -savefile options. Printing will be suppressed and instead the print
files are saved. This is useful under Linux only.

1

Sometimes it is useful to specify a foreground and background colour, if the display can not allocate the
colours from the resource database. This would look like: gpp -fg black -bg white. Such arguments
are not taken care of by GPP explicitly and cause it to complain about unknown arguments. Simply ignore these
messages.

Deltares

81 of 190

GPP, User Manual

-savefile

When printing, save the print file (that is do not delete
it after the print command has finished). This is useful
under Linux only.

-scriptfile 

Instruct GPP to run a script file after initialisation. This
enables you to automate certain tasks, like opening a
plot window.

-verbose

Instruct GPP to print additional information on the
screen, such which command-line options are used and
where all the files come from. This should help you to
identify possible problems with the configuration.

Examples:

-sysdir $HOME/gpp

DR
AF

gpp -display foo:0.0 -workdir .

T

Note that the arguments are evaluated from left to right and that they take immediate effect. If
you rely on relative directory names, you must be aware of this.

This is used under Linux to make GPP use the X-terminal called "foo", get the statefile (if any)
from the current directory and use the configuration files from the directory $HOME/gpp.

gpp -printer laser1 -savefile -noprint -batch scen1.ssn
Select the "laser1" printer from the  file as the printer to prepare print files for,
leave the print files, do not send them to the printer. Use the session file  and
process this in batch mode, so that we get all the pictures in it in a bunch of print files.
GPP uses a small number of environment variables. They are listed in Table A.2. You do not
need to define them, as appropriate defaults are supplied.
Remark:
 On PC, GPP uses a number of dlls, notably the XVT dlls. When loading the program,
MS Windows will search for any such libraries and uses the PATH variable for this. It is
safest, however, to install these libraries in the same directory as the executable.

Table A.2: Environment variables used by GPP

Environment
able

vari-

DISPLAY
GPPHOME
LD_LIBRARY_PATH
LM_LICENSE_FILE
LPDEST
PATH
PRINTER
UIDPATH

82 of 190

Platform

Meaning

Linux
Linux
Linux
Both
Linux
MSWindows
Linux
Linux

Name of X-terminal to be used
Directory where GPP has been installed
Path for locating the shared objects
Full name of the license file
Name of the standard printer
Used for locating the DLLs
Also name of the standard printer
Path for Motif UID file

Deltares

B ODS error codes
The table below gives the meaning of the ODS error codes. Sometimes the code is displayed
instead of an explanatory text:
Description

Name

0
1
2
3
10
11
12
13
14
15
16
17
20
21
30
31
32
35
36
37
40
41
42
43
44
45
91
92
99

Okay
Unable to determine filetype
File type not implemented in this version
File is not of indicated type
File does not exist
No free handle (too many open files)
File already open
File locked by other program
Access denied/file is read-only
Record locked by other program
Cannot lock file/record/share not installed
File not new
File does not contain wanted information
Unexpected end of file
Too many parameters found for array space
Too many locations found for array space
Too many times found for array space
No. of parameters < 1
No. of locations < 1
No. of times < 1
Bad date/time format
RunId not equal
Par. not equal
Loc. not equal
Time not equal
Time-step too small (time can not be represented)
Buffer space too small (warn WL technical support)
No space left on device
Other error

IEOK
IEUNDE
IEUNKN
IETYPE
IENOFI
IENOHA
IEFIAO
IEFLCK
IEFIRO
IERLCK
IENLCK
IEFNNW
IEINFO
IEUEOF
IEPMNY
IELMNY
IETMNY
IEPLOW
IELLOW
IETLOW
IETIME
IERUNI
IEPARI
IELOCI
IETIMI
IESTEP
IEBUFF
IEDISK
IEOTHR

DR
AF

T

Error code

Deltares

83 of 190

DR
AF

T

GPP, User Manual

84 of 190

Deltares

C Description of files used by GPP
GPP uses the following configuration files:








Which printers and plotters are defined for the system (used only on
workstations)
Description of the filetypes and the models or information sources in
general they belong to
Layouts of the plots that can be used
Plot routines and such and their properties
Script library
Graphical settings for (new) plots

T

It also uses a so-called state file, , which contains the data sets and the plot
routines that were defined during the last session and session files which serve the same
purposes. They can be explicitly selected via the user-interface.

DR
AF

In this appendix the format of these configuration files is explained, as well as that of the state
or session file. All these files are simple text files (or ASCII files) so that if you want to, you
can edit them via a standard text editor.
This appendix also describes the X resources files for GPP that are used under Linux.
C.1

Description of the file 

GPP uses a device definition file to define the properties of the printers and plotters. This file
is used only under UNIX/X Window, as X Window or indeed the UNIX operating system itself
provides no way to identify the printers, plotters and their capabilities.
Under MS Windows the operating system itself is responsible for the printer and its capabilities.
Under Linux the method of printing and plotting is simply this:

 produce a file which can be printed or plotted (taken care of by agX/UNIRAS ROUTINES
and device drivers)

 issue a command to send the file to the printer or plotter.

As the workstation itself provides no method to check the capabilities of the device, you must
yourself take some care: a PostScript file on an ordinary printer simply produces a large stack
of paper with a lot of print commands. The above way of working allows you to save the
plot file, something which can only be achieved in MS Windows or Windows NT with screen
grabbers (we will work on it, it is not that hard).
The following is a description of the format of the file containing these definitions:

 Any text following and including a hash (#) is considered comment and is ignored up to the
end of the line. Any number of blanks can appear between keywords and values. They
are used as separators.
 The file starts with a version string in the following format:

version 2 minor 00

 Each printer or plotter is defined by a separate block. The order of the blocks is irrelevant,
though the order of the statements within the block is fixed.

 Each block starts with a descriptive string, which will be shown to the user. The string

Deltares

85 of 190

GPP, User Manual

includes the name of the printer or plotter as it is known by the system as the first word.
For instance, if the system has a fast printer called "prt1" and you would print to it via a
command like: lp -dprt1 file, then the description might look like:

device ’prt1 (fast printer)’

 Other useful information may include: the type of printer or its location. The printer’s name
is used to determine the default printer (LPDEST or PRINTER) in the list of devices.

  

 The following properties are important:
can it print or plot colours?
what paper size and orientation?
what print command?

# Description useful for user
# Either black/white or colour
# Consult uniras documentation!
#
#
#
#

in mm, note the order
the actual paper size may
require correction: seldom
the whole sheet is useable

DR
AF

device ’’
type black-whitetextbar colour
uniras-driver ’’
orientation portraittextbar landscape
hardcopy-size  
left-margin

right-margin 
top-margin

bottom-margin 
print-command ’’

T

In the file:

# how to put the print file
# on the printer/plotter

end-device

This block may be repeated as often as necessary.

The following is an example, defining a typical HP LaserJet printer, capable of PostScript:
device ’in2las4-P Portrait (HP Laserjet 4M; PS)’
type
black-white
# alternative: colour
uniras-driver ’HPOSTA4’
orientation
portrait
# alternative: landscape
hardcopy-size
0.0
0.0
# long, short side (in mm)
left-margin
9.0
right-margin
1.0
top-margin
3.0
bottom-margin
2.5
print-command ’lp -c -din2las4 -onb -opostscript’
end-device

Remarks:
 The margins are used to make sure that the size and origin of the plot correspond to
the definition. This depends, unfortunately, on the specific properties of the printer.
Also, they depend on the orientation. So create two entries, one for portrait and one for
landscape orientation.
 The option -c in the print command makes sure that the print file is copied rather than
linked to, so that when GPP removes the print file, the print command will not fail.
 The  file distributed with GPP contains several examples that you can
use as a template.

86 of 190

Deltares

Description of files used by GPP

Description of the file 
GPP uses a configuration file for the supported filetypes. This file provides the user-interface
with a means to use the ODS-routines and to select the files containing the data. Whether
such files can actually be read is determined by the ODS library.
The following is a description of this file:

 Any text following and including a hash (#) is considered comment and is ignored up to the
end of the line. Any number of blanks can appear between keywords and values. They
are used as separators.
 The file starts with a version string in the following format:

version 2 minor 10

 Each filetype is assigned to a model: a model is in general the source of information or

T

data (in many cases a numerical model, hence the name). A model may contain several
filetypes. It is a means of grouping the filetypes.
In the file:

model ’’ ’’
presentation
no | use colours
# Whether or not to use these
no | use linetypes
# features. Default: use all
no | use lines
# No required order or keyword
no | use symbols
end-presentation

DR
AF

C.2

filetype ...
...
end-filetype

# any number of file types allowed
# though zero is not useful

filetype ...
...
end-filetype
...
end-model

You can repeat this block for all the models you want to specify. The block with presentation
options may be empty or may be left out.
With these options you can make sure for instance that measurement data are presented by
symbols only.
The name of the model is used to identify the type of file, the description is shown to the user.

 Each file type is defined by a block of the following type:
filetype ’’ ’’
mask ’’
containstextbar no topography

Deltares

[default-subtype ’’]

# statement may be left out

implicit-components
parameter ’’
...
end-implicit-components
hidden-parameters
parameter ’’

# block may be left out

# block may be left out

87 of 190

GPP , User Manual

...
end-hidden-parameters
extra-parameter ’’ ’’
subtype ’’
component ’’
...
end-extra-parameter
...
# more than one extra parameter
# may be defined
end-filetype

This block requires some explanation:

 The name of the filetype is a description of the ods filetype (a string indicating the model







T



DR
AF



and the meaning of the filetype). The description is a more elaborate version of this, which
is presented to the user.
A file is recognised as being of the specified type by means of the file mask: a string like
∗.his that the filename should match. The string can contain several asterisks, both on
workstation and PC, so that a string like ∗admin∗ is also accepted.
A file may contain the definition of the model grid or other so-called topographical information. Topographical data sets are supposed to contain the parameter model-grid.
The meaning of the keyword contains topography is, that the files of this type contain not
only co-ordinate data, but also an administration array to describe the actual grid.
GPP normally defines a data set to be of subtype SINGLE, that is, the quantities are scalar.
To import vector quantities and discern them from other data sets, you can define an extra
parameter : this may contain more than one component (e.g. the x- and y -components of
the flow velocity) and it may have a distinct subtype. It is also possible to set the subtype
explicitly. This can be useful if all parameters require a subtype different from SINGLE.
Some data sets and plot routines require an extra component, an example is the attribute
for a grid cell in FLOW files that indicates the status of the cell. This attribute may be used
by the plot routine to indicate dry cells and such. To prevent you from having to select that
parameter yourself, the filetype may be defined to require an implicit parameter. GPP will
create an implicit component to the data set for the same time and location.
In a similar way, some parameters are meaningless for you. Hence they may be hidden.

Remark:
 You can define any number of models and any number of filetypes per model, as long
as within a model block the ODS-type is unique.
C.3

Description of the file 

GPP uses a configuration file for layouts: the organisation of plots into separate areas. The
following is a description of this file:

 Any text following and including a hash (#) is considered comment and is ignored up to the
end of the line. Any number of blanks can appear between keywords and values. They
are used as separators.
 The file starts with a version string in the following format:

version 2 minor 10

 Each layout is defined by a block of the following type:
layout ’’ ’’
units cm | inches | stretch
size  
orientation portrait | landscape
suppress | simple | standard | custom frame

88 of 190

# in units

Deltares

Description of files used by GPP

frame
# only if "contains frame"
’’ ’’ ’ ’
’’ ’’ ’ ’
’’ ’’ ’ ’
...
(nine such lines in total!)
end-frame

(alternatively a line like:
’’ ’’ default-font

can be specified. The default font is the text font in the settings file.)
After this, one or more of the following sub-blocks which all define a layout element, follow:

DR
AF

T

plotarea ’’ ’’
position  
size  
legend
position  
# relative to same point as
# plot area!
size  
font ’ ’
# size in mm!
end-legend
(or: "no legend" or leave it out.
Note: = normal, medium or bold)
end-plotarea

text ’’ ’’
position
 
size
 
font
’  
# size in mm!
justify
lefttextbar righttextbar centred
end-text
group ’’
position
 
size
 
...
(other blocks defining elements)
end-group

Close the layout definition with:
end-layout

Remarks:
 You can define any number of layouts.
 A layout has both a name and a description. The name uniquely identifies the layout,
whereas the description is shown to the user.
 The units keyword specifies how to interpret the sizes of the layout and the sizes and
positions of layout elements. The stretch option means that the plot will always fill up
the window or the paper and that the actual sizes will be relative to the given layout size.

   

 There are four options for plotting or not plotting a frame around the plot:
suppress: do not draw a frame at all
simple: draw a simple rectangle
standard: draw a standard frame containing nine texts
custom: draw a line around the plot and use the custom-frame settings from the settings file to position the part with the text

 The first option is especially useful if you want to draw your own frame, for instance via a
land boundary data set (this is the easiest way to get arbitrary lines in the plot).

Deltares

89 of 190

GPP, User Manual

  

If you use the custom frame, you can:






The custom frame text is oriented in the same way as the plot, instead of always along the
short side.
The description for a text element is the text to be shown.
Sizes are always given in the unit defined for the layout, except for font sizes which are
expressed in mm.
A plot area is a viewport within the rectangle on screen or paper, which is designated to
contain data sets. You can have any number of plot areas and you may group them in
every way you want, the main restriction is readability.
Axes are drawn on the four sides of the plot area, the axis labels and text are usually
drawn outside the area. This restricts the useful width of the plot area.
A legend is logically connected to a plot area, even though the physical position may
suggest otherwise. In other words, this particular legend area is used by any plot routines
in that plot area.
The position of the legend can also be given via:

DR
AF

relative-position  

T




Set the total width and height of the part with the text.
Set the relative width of the three sections.
Position it either to the left- or to the right-hand side.

in which case the x- and y -co-ordinates are relative to the plot area, not to the same whole
plot (or the group in which it is contained).
Below is an example, taken from the standard  file:

layout ’portrait-legend’ ’1 plot portrait’
units stretch
size 18 27
orientation portrait
standard frame
frame
’company’ ’WL | Delft Hydraulics’ font ’simplex roman’ 3.5
normal ’Black’
’main text 1’ ’ ’ default-font
’main text 2’ ’ ’ default-font
’main text 3’ ’ ’ default-font
’upper left’ ’ ’ default-font
’upper right’ ’ ’ default-font
’middle’
’ ’ default-font
’lower left’ ’ ’ default-font
’lower right’ ’ ’ default-font
end-frame
plotarea ’single-area’ ’Single plot area’
position 3 7
size
12 18
legend
position 3 3
size
14 2
font ’simplex roman’ 1.3 normal ’Black’
end-legend
end-plotarea
end-layout

It defines a single plot area (with a size of 12 cm wide and 18 cm high). This plot area has a
legend just below it. The frame is a standard frame, with one text, the company name, filled
in. A font is specified to make it appear in a convenient way. For all other texts, a blank is
given and the default font is used.

90 of 190

Deltares

Description of files used by GPP

Description of the file 
GPP uses a definition file for the supported action routines. This file provides the userinterface with a means to select the relevant plot, selection and transformation routines for
a given data set.
The following is a description of this file:

 Any text following and including a hash (#) is considered comment and is ignored up to the
end of the line. Any number of blanks can appear between keywords and values. They
are used as separators.
 The file starts with a version string in the following format:
version 2 minor 10

 Each routine is defined by a block of the following type:

DR
AF

T

’ ’’
accepts-topography # or: no-topography
’’ ’’
...
end-topography
accepts-data sets
’’ ’’
...
end-data sets
options
# or: no-options
’ ’
...
end-options
end-routine

 The type of routine is one of:

Routine to actually plot a data set
Routine to write the data to an external file
Routine to create a new data set by selecting a subset (selecting
a single layer for instance)
operation-routine
Routine to create a new data set by manipulating a data set
(such as calculating the magnitude of a vector)
binary-operation
Routine to combine two data sets into a new one (such as calculating the sum of two data sets)
 The blocks "accepts-topography" and "accept-data sets" contain lists of data set types that
are accepted by the routine.
 The block "options" contains one or more options of the following types:

      

plot-routine
export-routine
selection-routine

integer : an integer number
real: a real number
logical: a logical option, with the value TRUE or FALSE
string: a text string
colour : a colour from the list of colours defined in 
symbol: similarly a symbol from the list of symbols
line style: a line style from the list of line styles



 Two further option types are available, but they are more complicated:
list: specify a user-defined list
Definition:
list ’’ ’’ ’’
from ’’ ... end-values



C.4

classes-list: specify a list of reals
Definition:

Deltares

91 of 190

GPP, User Manual

classes-list ’’ ’’
values ’’ ... end-values

or:
classes-list ’’ ’’ automatic-scaling

 Each routine is known internally by the routine name. The description is shown to you.
You may copy the block to define a "new" routine with different default settings.
 Each option is known internally by the option name. The description is shown to you. You
may change the default value or delete the option. You can also add new options if you
like, but they will not have any effect, unless you change the implementation of the routine.
Below is an example from the standard  file:

C.5

DR
AF

T

plot-routine ’PlotContours’ ’Plot contour map’
no-topography
accepts-data sets
’MAP2D’ ’SINGLE’
’MAP2D’ ’VALUE_AT_VERTEX’
end-data sets
options
logical
’PlotAreaBord’
’Border around plotarea’
FALSE
classes-list ’ContourClasses’ ’Contour classes’ automatic-scaling
logical
’UseClassesFile’ ’Use classes file’
FALSE
string
’ClassesFile’
’Name classes file’
’default.cls’
real
’ExtraMissVal’
’Extra missing value’
-999.0
list
’TypeAxes’
’Axis type’
’Geographic axes’
from
’Geographic axes’
’Linear axes’
’Polar axes’
end-values
end-options
end-routine

Description of the file 

GPP uses a settings file to define the graphical settings by default. It should be noted that
the actual usage of these settings is taken care of by the agX/UNIRAS graphics library, so
that it may be necessary to consult the agX/UNIRAS manuals. The standard 
file which is distributed with GPP can be edited to better fit your purposes. For examples, we
refer to that file.
Note that not all keywords are described in detail, but their purpose should be clear from their
names.
The following is a description of the format of this file:

 Any text following and including a hash (#) is considered comment and is ignored up to the
end of the line. Any number of blanks can appear between keywords and values. They
are used as separators.
 The file starts with a version string in the following format:
version 2 minor 10

 The file is divided in a number of parts which should come in the given order (some blocks
need information that is defined in another block):
1 A block defining the colours that can be used
2 A block defining the fonts that can be used
3 A block defining line types

92 of 190

Deltares

Description of files used by GPP

4
5
6
7
8
9
10
11

A block defining colour ramps
A block defining symbols
A block defining the names of the months (∗)
A block defining the names of the various types of axis (∗)
A block defining the names of the various types of label formats (∗)
A block defining preferences for printer/plotter and screen
A block defining certain defaults
A block defining the combinations of colour, line type and symbol for individual data
sets

(∗) These blocks are meant for internationalisation.

T

Each block starts with a line like series, which identifies the block and ends with a line to close
the block, end-series. It should be noted that each of the above blocks can be defined only
once and in this order.

DR
AF

The philosophy behind the file is, that it is much easier to use meaningful names than encoding. So, all items that can appear in lists are represented by names that you may give
yourself. If the item (a colour or a line type for instance) needs to be referred to it is always by
this name.
Note that this does not mean that you should never consult the agX/UNIRAS manuals for
certain things. We refer to the listing at the end of this document for some information about
fonts, line types and symbols that are standard available from agX/UNIRAS.
Detailed description

1. Block for colours:
This block contains lines that define the colour by name and by RGB, CMY or HLS components. The default is RGB with values ranging from 0 to 255, the three numbers after the
colour name then represent the amount of red, green and blue in the colour. Alternatively, you
may specify all colours via the CMY method, that is the amounts of cyan, magenta and yellow
are given (also ranging from 0 to 255). The last method utilises the hue (from 0 to 360◦ ),
lightness (0 to 100 %) and saturation (from 0 to 100 %) of the colours on a colour cone.
In the file:

colours [RGB | CMY | HLS]
’name’


’name’


...
end-colours




2. Block for fonts:
This block contains lines that define the font in the graphs by name. Each font has a userdefined name, a UNIRAS code and the code 1 or 0 (meaning whether to use a software or
hardware font; this can best be set to 1).
In the file:
fonts
’font-name’
’font-name’
...
end-fonts

Deltares

’UNIRAS-code’
’UNIRAS-code’

1
1

93 of 190

GPP, User Manual

3. Block for line types
This block contains lines that define the line type by name and its UNIRAS code. We have
chosen to support only the predefined line types in the graphics library, as some hardware
seems to have trouble with other line types (see the agX/UNIRAS manuals). So you have 20
line types at your disposal.
A special line type (not defined by agX/UNIRAS) is the type no line, the code for this is -1. You
may want to use it for plotting measurement data.

linetypes
’name’ 
’name’ 
...
end-linetypes

T

In the file:

Note:

DR
AF

4. Block for colour ramps
This block contains zero or more sub-blocks which each define sets of colours to be used
(in the given order) in contour plots, histograms and such: in some cases you might prefer
continuous ramps, rainbow-like or grey-scales. In others you may want to see different colours.
That is why you can define more than one colour ramp.

In principle there is no limit to the number of colour ramps you can define nor to the number
of colours that they can contain. However, we had to make some compromises with the
implementation of these settings in GPP and decided that it is unlikely that you want more
than 20 classes or data sets in a drawing. So, in practice:

 Legends will contain no more than 20 items, which means that you should not define more
than 20 colours per colour ramp.

 The sum of the number of colour names (from the first section) and the total number of
colours referred in the colour ramps must not exceed 220.
In the file:

colour-ramps
colour-ramp ’name’
’colourname’
’colourname’
...
end-colour-ramp
colour-ramp ’name’
’colourname’
’colourname’
...
end-colour-ramp
...
end-colour-ramps

5. Block for symbols
This block contains lines that define the symbols or markers by name and UNIRAS code. We
have chosen to support only the predefined symbols in the graphics library, as defining new
symbols is troublesome. So you have 22 symbols at your disposal.

94 of 190

Deltares

Description of files used by GPP

A special symbol (not defined by agX/UNIRAS) is the symbol no symbol, the code for this
is -1. You may want to use it for plotting lines only.
In the file:
symbols
’name’ 
’name’ 
...
end-symbols

T

6. Block for names of months
This block contains lines that define the months of the year: both the full name and the threecharacters abbreviation that is used as a shorthand notation with axes and dates. It is not
currently used, but it is expected to be present in the file.
As there are twelve months in the Gregorian calendar, you are assumed to specify twelve
months in this block.

DR
AF

In the file:

months
’’
’’
...
end-months

’’
’’

\# Example: ’janvier’ ’jan’
\# Example: ’fevrier’ ’fev’

7. Block with the names of axis types
The plot routines in GPP use different sorts of axes for different purposes. In some case
you can interactively change the axis type, so that it is convenient to have a list of names for
these types. This list is read from the settings file, as this allows later translation to other user
languages.
In the file:

axis-types
’Unknown axis’
’No axis’
’Special axis’
’Linear axis’
’Logarithmic axis’
’Time axis’
’Geographical axis’
end-axis-types

# To be given in this order!

8. Block with the names of label formats
The axes may be plotted using different label formats, so it is convenient to have a list of
names for these formats. This list is read from the settings file, as this allows later translation
to other user languages.
In the file:
label-formats
’Exponential’
’Floating’

Deltares

# To be given in this order!

95 of 190

GPP , User Manual

’Size-dependent’
end-label-formats

9. Block for preferences for plotter/printer and screen
This block contains lines in a fixed order that indicate which abilities lack in the graphics
device:

 Black-and-white printers will use dithering or grey-scales to represent colours. In many a
case the quality is not satisfactory.

 Screens have limited resolution, so that text should not appear too small and line types
(certainly intricate ones, with lots of dashes and dots) are not easily recognised.

In the file:

T

To overcome these problems to some extent, you may specify whether a colour printer/plotter,
a black-and-white printer/plotter or a screen should use such features at all.

DR
AF

general-settings
bw-printer: no colours
# or: use colours
bw-printer: no linetypes # or: use linetypes
bw-printer: no symbols
# or: use symbols
bw-printer: minimum-text-size 
colour-printer: no colours
# or: use colours
colour-printer: no linetypes # or: use linetypes
colour-printer: no symbols
# or: use symbols
colour-printer: minimum-text-size 
screen no colours
# or: use colours
screen no linetypes # or: use linetypes
screen no symbols
# or: use symbols
screen minimum-text-size 
end-general-settings

10. Block for defaults for plot areas
This block contains lines in a fixed order that indicate which defaults to use with plot areas.
Most of these names are quite descriptive, so that it is not necessary to describe them in
detail.
In the file:

default-settings
symbol-size 
symbol-distance 
text-size 
text-font ’’
text-colour ’’
axis-text-size 
axis-text-font ’’
axis-text-colour ’’
# Note: label size can not be set independently from
# axis text size (limitation of agx/uniras)
#
axis-label-font ’’
axis-label-colour ’’

axis-numeric-format floating\textbar exponential\textbar size-dependent
axis-decimals 
major-tick-size 
major-tick-orientation in\textbar out

96 of 190

Deltares

Description of files used by GPP

major-tick-lines yes\textbar no
minor-tick-number 
minor-tick-size 
minor-tick-orientation in\textbar out
minor-tick-lines yes\textbar no
axis-line-thickness 
axis-line-colour ’’
colour-ramp ’’
geographic-axis-unit
orientation-polar-axis
language-for-months

Escape characters:
When used in a text string, the next character will
be subscripted or superscripted.
Choose the characters with care - they can not be
used in the text

DR
AF

subscript-escape
’‘’
superscript-escape ’\^{}’

T

#
#
#
#
#
#
#

kilometers\textbar meters
clockwise\textbar counter-clockwise
english\textbar dutch

#
# Custom frames (text boxes):
# Modelled after the standard frame, but with variable
# width and height
#
custom-frame-width
10.0 # 
custom-frame-height
3.0 # 
#custom-frame-side
right # Alternatives: left, right
custom-frame-side
left # Alternatives: left, right
custom-frame-part1
70
# Percentage of total
custom-frame-part2
20
# Percentage of total
custom-frame-part3
10
# Percentage of total
#
# For MS Windows we offer a crude method to influence the
# margins used for printing plots with a frame
# (as "devices.gpp" is not used on these platforms)
#
mswindows-margin-left
0.0 # mm
mswindows-margin-right
0.0 # mm
mswindows-margin-top
0.0 # mm
mswindows-margin-bottom 0.0 # mm
end-default-settings

The last three options can not be changed via the user-interface, so they act as global settings.
11. Block for the combinations of colour, line type and symbol
This block contains lines that define for each series to be shown in a line graph (or a presentation form much like that) what colour, line type and symbol to use, even what the width of the
line must be. You can specify up to 20 of these combinations. The order in which you specify
them is the default order of usage. Later you can specify the order in which they should be
used in detail, for each plot area individually.
In the file:
series
’’ ’’

Deltares

’’ ’

97 of 190

GPP, User Manual

’’ ’’
...
end-series

’’ ’

Additional: Symbols, line types and fonts in Toolmaster/agX
Symbols are defined in Toolmaster/agX by numbers. This is a listing of the symbols and the
corresponding numbers:
Table C.1: Symbols in Toolmaster/agX

Code

Hollow square
Hollow octagon
Hollow triangle (up)
Plus sign
Cross
Hollow square (point up)
Wide arrow (up)
"Picknick table"
Hollow hexagon
Capital-Y
Four-pointed star
Star
Double triangle
Vertical line
David’s star
Dot
Small circle
Medium circle
Large circle
Filled circle
Filled square
Filled triangle (down)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

DR
AF

T

Symbol

If you do not want a symbol to be plotted, use the code -1.

Line styles are also defined by numbers. 21 line styles are predefined in agX/UNIRAS and
more could be defined. Because defining new line styles may give problems with some hardware devices, GPP uses only those predefined line styles. The following list indicates these
line styles:
Table C.2: Line types in Toolmaster/agX

Line style

Code

Example

Solid
Dot
Dot, medium-spaced

0
1
2

_________________
.................
.........
continued on next page

98 of 190

Deltares

Description of files used by GPP

Table C.2 – continued from previous page
Code

Example

Dot, wide-spaced
Short dash
Medium dash
Longer dash
Very long dash
Longer-medium dash
Very long-medium dash
Very long dash - dot
Dot, medium-spaced
Dot, widest-spaced
Medium dash,
mediumspaced
Longer dash, wide-spaced
Medium dash, two spaces
Longest dash,
mediumspaced
Longest dash, dot
Longest dash, two dots
Longest dash, three dots
Longest dash, four dots

3
4
5
6
7
8
9
10
11
12
13

......
—————–
—————–
—————–
—————–
—————–
—————–
—.—.—.—.. . . . . . . . . (seems identical to 2)
.....
---------

14
15
16

––––------—- —- —- –

DR
AF

T

Line style

17
18
19
20

—-.—-.—-.–
—-..—-..—-.
—-...—-...—
—-....—-....-

If you do not want a line to be plotted, use the code -1.

Fonts are defined in agX/UNIRAS by a code of four characters. Below is a list of font codes
and a description of the fonts. We refer to the agX/UNIRAS manuals for examples of the fonts:
the agX User’s Guide (volume 2) provides tables of the fonts.
SIMP
COMP
ITAL
DUPL
TRIP
CART
SMAL
SCRI
SIMS
TRII
SMAI
GREE
SIMG
CARG
SMAG
CYRI
GOTG
GOTE
GOTI
VSIM
PSIM
FUTU

Deltares

Simplex Roman
Complex Roman
Italic Complex
Duplex Roman
Triplex Roman
Cartographic
Small Complex
Script Complex
Script Simplex
Italic Triplex
Small Italic Complex
Greek Complex
Greek Simplex
Greek Cartographic
Greek Small Complex
Cyrillic Complex
Gothic German
Gothic English
Gothic Italian
Vector Simplex
Polygon Simplex
Futura

99 of 190

GPP , User Manual

CENB
SWIL
SWIM
SWIB

Century Bold
Swiss Light
Swiss Medium
Swiss Bold

Remarks:
 The symbol size and distance have as yet no effect, nor have the names of the months.
 There is no way to define what to do with contour maps on a black/white device. Even
though it is easier to represent coloured patches than coloured lines in grey tones, it is
not possible to guarantee that the contours will indeed look different on paper. Currently,
the most effective way to solve this is to use a colour ramp consisting of greys.
Description of the file 

T

GPP uses a so-called state file to store and retrieve the latest information on data sets and
plots. It contains all the information needed to restore the last session, except any commandline arguments that were given:

 A list of the data sets that were defined when the session was finished.
 A list of so-called resultant data sets (the results of operations, but also of selections, if

DR
AF

C.6

appropriate).

 A list of the defined plots.

The state file has the name  and is always written to the directory that was
current at start-up or the work directory specified by the command-line argument -workdir.
Session files are essentially the same as the state file, except that a more concise format is
used. The reason for this is that this allows you to change the session files and define new
data sets based on the same things you would select via the user-interface. For some file
types, this concise format is not suitable for technical reasons. This will be indicated in the
discussion.
Remark:
 Though, normally, the definitions of the data sets appear separately from the definitions
of the plots, this is not necessary: the only condition is that a data set be defined before
it is referenced (in the definition of a resultant data set or in a plot).
The following is a description of the format of the state files:

 Any text following and including a hash (#) is considered comment and is ignored up to the
end of the line. Any number of blanks can appear between keywords and values. They
are used as separators.
 The file starts with a version string in the following format:
version 2 minor 10

 Each data set is defined by the following block (the text after the hash indicates the meaning of the item):
dataset-def ’’
defining
’’
# normally ’NONE’ - no parent dataset
type
’’
# type of dataset - note: from list!
subtype
’’ # subtype of dataset - note: normally
# ’SINGLE’
topography ’’ # name of topographical dataset or
# ’NONE’
model
’’
# name of the model/data source
filetype
’’ # ODS type of file containing the data
files
# names of the files: at most three

100 of 190

Deltares

Description of files used by GPP

DR
AF

T

""
# NOTE: double quotes distinguish file
""
# names from ordinary strings
""
end-files
parameters
# names of the parameters, code is
’ # the ID given to the parameter by
’ # the ODS routines
...
end-parameters
times
number

# number of time steps
start-time 

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 202
Page Mode                       : UseOutlines
Author                          : Deltares
Title                           : GPP User Manual
Subject                         : 
Creator                         : LaTeX hyperref
Producer                        : ps2pdf
Keywords                        : Deltares, User, Manual, General, Post, Processing
Create Date                     : 2018:04:18 06:06:55+02:00
Modify Date                     : 2018:04:18 06:06:55+02:00
Trapped                         : False
PTEX Fullbanner                 : This is MiKTeX-pdfTeX 2.9.6588 (1.40.18)
EXIF Metadata provided by EXIF.tools

Navigation menu