Web Obs Manual

User Manual:

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

DownloadWeb Obs Manual
Open PDF In BrowserView PDF
WebObs : An integrated web-based
system for networks management and
data monitoring in observatories
User and Administration Manual

François Beauducel and Didier Lafon
Institut de Physique du Globe de Paris Observatories
Release v2.1.2, April 2019

ii

Contents
Introduction
1 Installation
1.1 Overview . . . . . . . . . . .
1.2 System requirements . . . .
1.2.1 System and package .
1.2.2 Software requirements
1.3 Initial installation . . . . . .
1.4 Upgrades . . . . . . . . . . .
1.5 qsys - query configuration . .
1.6 Configuration files syntax . .
1.7 WebObs tree . . . . . . . .
1.8 License . . . . . . . . . . . .

vii

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

1
1
1
1
2
2
3
3
4
5
6

2 Reference
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . .
2.2 Nodes: Elementary WebObs Objects . . . . . . . .
2.2.1 Create, edit or delete a NODE . . . . . . .
2.2.2 Names and codes . . . . . . . . . . . . . .
2.2.3 Lifetime and validity . . . . . . . . . . . . .
2.2.4 Grids memberships . . . . . . . . . . . . .
2.2.5 Geographic location . . . . . . . . . . . . .
2.2.6 Transmission . . . . . . . . . . . . . . . . .
2.2.7 Proc’s parameters and data status . . . . .
2.2.8 Features . . . . . . . . . . . . . . . . . . .
2.2.9 Installation, information and access . . . . .
2.2.10 Photos, diagrams and associated documents
2.2.11 Project . . . . . . . . . . . . . . . . . . . .
2.2.12 Events . . . . . . . . . . . . . . . . . . . .
2.3 Grids: networks of nodes . . . . . . . . . . . . . .
2.3.1 Views . . . . . . . . . . . . . . . . . . . .
2.3.2 Procs . . . . . . . . . . . . . . . . . . . .
2.3.3 Forms . . . . . . . . . . . . . . . . . . . .
2.3.4 Project . . . . . . . . . . . . . . . . . . . .
2.3.5 Events . . . . . . . . . . . . . . . . . . . .
2.3.6 TMap: GRIDS diagram . . . . . . . . . . .
2.4 Events Logging . . . . . . . . . . . . . . . . . . .
2.5 Web pages . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Main menu . . . . . . . . . . . . . . . . .
2.5.2 Home page . . . . . . . . . . . . . . . . .
2.5.3 Wiki pages . . . . . . . . . . . . . . . . . .
2.5.4 Tools pages . . . . . . . . . . . . . . . . .
2.5.5 Application pages . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7
7
7
9
9
9
9
10
11
11
13
13
13
13
13
14
15
16
16
16
16
17
17
18
18
18
18
18
18

3 Built-in applications
3.1 The Gazette . . . . . . . . .
3.1.1 Overview . . . . . . .
3.1.2 Configuration . . . .
3.1.3 Display/Edit Gazette

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

19
19
19
19
20

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

iii

.
.
.
.

iv

CONTENTS
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

GRIDMAPS and LOCASTAT: maps of georeferenced nodes . . .
3.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 GRIDMAPS . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 LOCASTAT . . . . . . . . . . . . . . . . . . . . . . . .
SEFRAN3/MC3: seismic chart and bulletin . . . . . . . . . . .
3.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 SEFRAN3 installation . . . . . . . . . . . . . . . . . . .
3.3.3 MC3 configuration . . . . . . . . . . . . . . . . . . . .
3.3.4 Links with earthquake event catalogs . . . . . . . . . . .
GENPLOT: generic time series . . . . . . . . . . . . . . . . . .
3.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
HYPOMAP: Earthquake hypocenter maps from seismic catalog
3.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
HELICORDER: Seismic helicorder . . . . . . . . . . . . . . . .
3.6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
RSAM: Realtime Seismic Amplitude Measurement . . . . . . . .
3.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
GNSS: GPS time series, vectors and modelling . . . . . . . . . .
3.8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
EXTENSO: Extensometry time series and vectors . . . . . . . .
3.9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
TILT: Tiltmetry time series, vectors and modelling . . . . . . .
3.10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
METEO: meteorological time series . . . . . . . . . . . . . . . .
3.11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
WATERS: chemical analysis . . . . . . . . . . . . . . . . . . . .
3.12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12.2 Configuration . . . . . . . . . . . . . . . . . . . . . . .
PROCS graph and data request . . . . . . . . . . . . . . . . . .
3.13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13.2 Description . . . . . . . . . . . . . . . . . . . . . . . .
3.13.3 Configuration . . . . . . . . . . . . . . . . . . . . . . .
Data formats available for PROCS . . . . . . . . . . . . . . . .
3.14.1 Waveforms formats . . . . . . . . . . . . . . . . . . . .
3.14.2 Generic time series . . . . . . . . . . . . . . . . . . . .
3.14.3 Quakes catalogs . . . . . . . . . . . . . . . . . . . . . .
3.14.4 GNSS solutions . . . . . . . . . . . . . . . . . . . . . .
3.14.5 Other specific formats . . . . . . . . . . . . . . . . . . .

4 Administration
4.1 Users, Groups and Authorizations . . . . . . . . . . . . .
4.1.1 Overview . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Users table and Groups table . . . . . . . . . . .
4.1.3 Resource tables . . . . . . . . . . . . . . . . . .
4.1.4 Managing Users and Authorizations . . . . . . .
4.1.5 Developing with Users and Authorizations system
4.1.6 Adding a new user . . . . . . . . . . . . . . . . .
4.2 PostBoard . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Overview . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Event names . . . . . . . . . . . . . . . . . . . .
4.2.3 Managing PostBoard Subscriptions . . . . . . . .
4.2.4 Developing with Notifications . . . . . . . . . . .
4.3 Scheduler . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21
21
21
22
23
23
24
27
29
29
29
30
31
31
31
33
33
33
34
34
34
36
36
36
38
38
38
39
39
39
40
40
40
42
42
42
43
43
43
44
44
44
45
46
47
47

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

49
49
49
49
50
50
50
50
50
50
51
51
52
52

CONTENTS

4.4

4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.3.7
WOC
4.4.1

v
Overview . . . . . . . . . . .
Configuration and Tables . .
Jobs selection and execution
Scheduler manager . . . . .
Scheduler runs . . . . . . . .
Scheduler status . . . . . . .
Scheduler command line . .
. . . . . . . . . . . . . . . . .
Overview . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

5 Developments
5.1 Use PROC’s output graphics facilities . .
5.1.1 Graphs per time scale . . . . . . .
5.1.2 Graphs per event . . . . . . . . .
5.2 SUPERPROCS: Templates for applications
5.2.1 Superprocs . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

52
53
54
54
55
55
56
57
58

. . . . . . . .
. . . . . . . .
. . . . . . . .
development
. . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

59
59
59
60
60
60

Appendix

61

Acknowledgments

65

vi

CONTENTS

Introduction
Seismological and Volcanological observatories have common needs and often common practical problems for multi
disciplinary data monitoring applications. In fact, access to integrated data in real-time and estimation of measurements uncertainties are keys for an efficient interpretation and decision making. But instruments variety, data
sampling, heterogeneity of acquisition systems lead to difficulties that may hinder crisis management. Since early
2001, we faced this problem in the Guadeloupe volcanological observatory and we developed an operational system
that attempts to answer these questions in the context of a pluri-instrumental observatory. Based on a single computer server, open source scripts (Perl, Bash, Matlab with compiled binaries, Octave, Python) and a Web interface
(Apache), the system named WebObs proposes:
• an extended database for networks management, stations and sensors (maps, station file with log history,
technical characteristics, meta-data, photos and associated documents);
• web-form interfaces for manual data input/editing and export (like geochemical analysis, repetition deformation
measurements, ...);
• routine data processing with dedicated automatic scripts for each technique, production of validated data
outputs, static graphs on preset moving time intervals, possible e-mail alarms;
• acquisition processes, stations and individual sensors status automatic check for technical control.
In the special case of seismology, WebObs includes a digital stripchart multichannel continuous seismogram compatible with international standards (SEED) associated with EarthWorm 1 and SeisComP3 2 event database, event
classification database, automatic shakemaps and regional catalog with associated hypocenter maps accessed through
a user request form.
This system leads to a real-time Internet access for integrated monitoring and becomes a strong support for scientists
and technicians exchange, and is widely open to interdisciplinary real-time modeling. At the time of this document, it
has been set up in different observatories where it is used as one of the main operational tool: Guadeloupe, Martinique
(Lesser Antilles), La Réunion (Indian Ocean), Java (Indonesia), and Paris (France).

1 see
2 see

http://www.isti.com/products/earthworm/
http://www.seiscomp3.org/

vii

viii

INTRODUCTION

Chapter 1

Installation
1.1

Overview

External Sources
RawData

In/Out

Data
$>

Clients : Consoles, Browsers, Mails
Apache HTTP Server
Configurations + Logs

NODEs
Objects
PROCs

Procedures

FORMs

Requests

PostBoard

Daemons

Perl

Environments

Matlab
binaries

Figure 1.1: WebObs big picture

1.2
1.2.1

System requirements
System and package

WebObs server can run on Linux and Mac OS X.
It has been successfully installed/tested on:
1

VIEWs

Jobs

Scheduler
Bash

2

CHAPTER 1. INSTALLATION
• Linux 3.13.0 , x86 64 , Ubuntu 14.04 LTS
• Linux 4.13.0 , x86 64 , Ubuntu 16.04 LTS
• Linux 2.6.32, i386 , Debian 2.6.32-48squeeze4
• Linux version 3.2.0-4-amd64, Debian 3.2.51-1
• Linux version 3.2.0-4-amd64, Debian 4.6.3-14
• Linux version 4.9.0-5-amd64, Debian 4.9.65-3
• Mac OS X 10.11.5, Darwin 15.5.0

WebObs (browser) clients have been successfully tested with:
• FireFox (up to FireFox 47)
• Safari
Download the WebObs latest Release and MatLab Runtime Compiler from:
http://www.ipgp.fr/˜beaudu/webobs.html

1.2.2

Software requirements

Required installations
The following softwares will be tested for existence by the setup installation procedure:
• Perl 5.14+ (setup will also check for additional Perl modules)
• Apache 2.2+
• Sqlite 3.7.9
• ImageMagick 6.6.9 (convert+identify)
• Mutt 1.5+
• MatLab MCR R2011b
Bundled software
The following lists softwares included in WebObs package:
• SeisComP3 (slinktool + arclink fetch)
• JavaScript extensions:
– JQuery
– flot
– markItUp
– MultiMarkDown
– overlib

1.3

Initial installation

You must have root privileges to execute WebObs installation.
Installation procedure:
• Choose/create your target WebObs directory, and cd to it. For demonstration purposes in this document we
will use /opt/webobs/ as the target WebObs directory.
• Download WebObs package and MatLab RunTime Compiler. For demonstration purposes in this document
we will use WebObs-2.1.2.tgz as the WebObs package.

1.4. UPGRADES

3

• Choose/create the system’s WebObs user+group (aka WebObs Owner) if you don’t want setup procedure
to create one itself.
The WebObs user, and its corresponding group, is the required WebObs administration account. It must have
a home directory. It will be the owner of the WebObs CONF,LOGS,DATA,WWW,OUTx directories. The Apache
http server user will be made a member of WebObs user’s group. The WebObs user can be used to launch the
WebObs Scheduler and Postboard daemons.
• Untar WebObs package. This will create/populate the WebObs version subdirectory: /opt/webobs/WebObs2.1.2.
• Run the setup procedure (again, with root privileges):
– must be called as /opt/webobs/WebObs-2.1.2/SETUP/setup
– setup will gather information/location from your system/environment, check for some dependencies (see
Requirements section above), build the WebObs structure, optionaly customize Apache’s WebObs Virtual Host, set required system’s ownerships and access-rights, and populate your brand new WebObs
with ready to use demonstration data and templates.
– once completed, setup will display WebObs configuration (see qsys command below).
– WebObs now ready, you need to activate the scheduler, postboard and (re)start Apache http server.

1.4

Upgrades

You must have root privileges to execute WebObs upgrades.
The setup procedure used for Initial Installation, is also used to upgrade WebObs to a new release. It will automatically detect that an upgrade is intended rather than a first time installation.
Upgrade procedure:
• Download WebObs package corresponding to the version you want to upgrade to.
• Untar WebObs package.
• Run the setup procedure (/opt/webobs/WebObs-2.1.2/SETUP/setup).
• setup reports Version changes and important information in the SETUP.CONF.README file. Please read
it carefully.
• setup will also, if you choose to do so, walk through executions of vimdiffs between your configuration files
and corresponding non-customized WebObs version configurations that were changed / added.

1.5

qsys - query configuration

qsys script, also automatically executed when setup ends, will display your base WebObs configuration.
qsys example
... oooooWoooooo ..
W
. oo .. ............ o .. o .. W
. oo .
........ ...... .. oW
. oo .
. . .. .. . .. .. .. . .
W
. W ..
. ............. o .... W
. W ............. o ......... oWWWoo . W
.W
.
. . ............ o ..... W
W.
..
. WWWWo .... .
W
.W
. Wo . . Wxxxxx ....
W
.W
. WWW . WxxxxxxW ...
... W
.W
. WWWWWxxxx xxxxW .......... W
Wo .. o o W x x x x x x W x x x x x x x x x x o ........ W
. x x x x x x x x x x x x x x W x x x x x x x x x W ....... W
. x x x x x x x x x x x x x W W W W W x x x x x x W ..... oW
. W x x x x x x x x x W x x W W W W W W W x x x x x W W o .. W
. oxxxxxxxxxxxxxWWWWWWWxxxxxxxWW
. oWxxxxxxxxxxxxxWWWWWWWWxxxWW
. o W x x x x x x x x x x x x W W W W W x W .. W
... oWWWxxxWWWWo ..
W

__ __ __
\ V V /
\ _ /\ _ /
___
/ -_ )
\ ___ |
_
| | __
| ’_ \
| _ . __ /
___
/ _ \
\ ___ /
_
| | __
| ’_ \
| _ . __ /
___
(_ - <
/ __ /

Id: ipgp
Version: WebObs -2.0.0
Owner:
Root:
Config:
Logs:

webobs [ webobs ]
/ opt / webobs
/ opt / webobs / CONF / WEBOBS . rc
/ opt / webobs / LOGS

MCR: / usr / local / MATLAB / M A T L A B _ C o m p i l e r _ R u n t i m e / v7 ...
Rawdata: / opt / rawdata
Sefran: / opt / sefran
HTTP: http: // webobs . ipgp
/ etc / apache2 / sites - available / webobs
running on Apache /2.2.22 ( Ubuntu )
Scheduler: not running
PostBoard: not running
qsys run 2014 -08 -08 12 :05:06

4

CHAPTER 1. INSTALLATION

/etc/webobs.d
apache virtualhost Document Root
CONF/
DATA/
LOGS/
OUTG/
OUTR/
WWW/
CODE
DOC
WebObs-Version/
DOC/
CODE/
SETUP/
WebObs-Version.tgz
WebObs-Version.tgz.md5
MCR_R2011b_glnx*_installer.zip

MATLAB_Compiler_Runtime/
SEFRAN/
RAWDATA/

Figure 1.2: Overview of WebObs installed disk structure

1.6

Configuration files syntax

WebObs configuration files (*.rc, *.conf, or *.cnf) used to customize your installation and described in this document,
typically define one functionnal parameter (key) per line, made up of one or more associated values (fields). They

1.7. WEBOBS TREE

5

can share the same set set of syntactic rules for parsing/interpretation:
1) In order to be parsed/interpreted according to the following rules, the files must contain a so-called ’definition
line’ (identified with = in column 1) as the first interpreted line. This definition line is also used to further define
parsing, that comes in two (2) flavors:
=key|value
=key|name1|...|nameN

one value per key (Perl’s equiv. $X{key} =>value)
multiple named values per key (Perl’s equiv. $X{key}{name1} =>value)

2) Any text following a # is considered a comment and discarded.
3) Blank lines are discarded, leading and trailing blanks too.
4) Fields separator character, within interpreted lines, is |(pipe).
5) | and # characters that must belong to a field value may be ’escaped’ (ie. not interpreted as separator or comment
respectively) by prefixing them with a \.
6) Field value substitution (interpolation) is allowed in =key|value format:
${key} in value
$WEBOBS{key} in value

1.7

will be replaced with the value of the key |value pair of the current file.
will be replaced with the value of the WebObs main configuration key value.

WebObs tree
CONF/
WEBOBS.rc
*.{rc,conf,cnf}
FORMS/
formname/
PROCS/
procname/
VIEWS/
viewname/
GRIDS2FORMS/
PROC.pname.formname
GRIDS2NODES/
PROC.pname.nodename
VIEW.vname.nodename

configurations
main WebObs configuration file
other configuration files
FORMS definitions
definitions for FORM formname
PROCS definitions
definitions for PROC procname
VIEWS definitions
definitions for VIEW viewname
links from PROCs to FORMS
->../formname
links from GRIDs to NODES
->../../DATA/NODES/nodename
->../../DATA/NODES/nodename

CODE/
bin/
cgi-bin/
css/
html/
icons/
js/
matlab/
shells/
tplates/

WebObs code
executables
Perl CGIs
HTML Style Sheets
static HTML pages
HTML icons, static images
javascript
matlab (+ compiled)
bash commands
configurations templates

DATA/
DB/
*.DAT
DEM/
NODES/
nodename/
*.txt
*.cnf
*.clb
DOCUMENTS/
FEATURES/

data
built-in tools data
Digital Elevation Model files
NODES configurations and data
nodename
system features descriptions
configuration
calibration file
documents
features

6

CHAPTER 1. INSTALLATION
INTERVENTIONS/
PHOTOS/

1.8

events log
pictures

DOC/

documentations

LOGS/

tools, appl, daemons logs

OUTG/
PROC.procname/
exports/
graphs/
maps/
events/

batch Procs Outputs
PROC procname outputs

OUTR/
20140720 084340 85.199.99.199 userX/
REQUEST.rc
PROC.procname/
graphs/

Procs Requests Outputs
Dated Request
Request parameters
Requested Proc outputs

License

Chapter 2

Reference
2.1

Overview

Description
Location Map

Description
VIEW

PROC

Location Map

FORM

Raw Data
Raw Format
Superproc
NODE 1

NODE 2

NODE 3

NODE n

Feature A

Feature D

Feature B

Feature E

Graphs

Table Display
Data Editor
CSV Export

Exports

Feature C
Location Map

Location Map

Documents

Documents

Project

Project

Events

Events

Gazette
Events

Calibration
Proc param.

2.2

Nodes: Elementary WebObs Objects

A NODE is the central WebObs element associated with following attributes:
• a long name (NAME) and short name (ALIAS);
• an optional short description (TYPE);
• a lifetime period with start and end dates (both optional);
• an optional location (latitude, longitude, elevation) associated with a location map (graph), Google Maps and
Google Earth links;
7

8

CHAPTER 2. REFERENCE
• optional text contents for ”informations”, ”installation” and ”access”;
• an optional sensor description associated with a calibration table of channels parameters;
• a list of user-defined features (also free text contents);
• attached documents, photos and diagrams;
• a project;
• events log associated with date and operator list;
• a list of associated grids (VIEWS and/or PROCS, see 2.3);
• a validity flag (for admin users);
• optional functional parameters when the NODE is associated to a PROC: data code (FID), network code
(FDSN), data format (RAWFORMAT) and source (RAWDATA), time zone (TZ), acquisition period and delay,
and a calibration file that describes each channel characteristics and history:
– date and time of validity;
– channel number, name, unit, code, S/N, offset, factor, gain, min/max values, azimuth, latitude, longitude,
elevation, depth, sampling frequency, dynamic, location code.

Examples of what a NODE can be:
• an instrumental station or a part of it,
• a site or place for data sampling or measurement,
• a place of any interest,
• a mobile equipment, an instrument, a building, a vehicle, ...
• a journal board, an event description (e.g. an historical earthquake), ...
NODES.rc
= key | value
PATH_NODES | $WEBOBS { ROOT_DATA }/ NODES
S P A T H _I N T E R V E N T IO N S | EVENTS
SPATH_PHOTOS | PHOTOS
S PATH_DOCUMENTS | DOCUMENTS
SPATH_SCHEMES | SCHEMES
SPATH_FEATURES | FEATURES
S PATH_THUMBNAILS | THUMBNAILS
P A T H _ E V E N T N O D E _ T R A S H | $WEBOBS { ROOT_DATA }/ trash / EVENTNODE
P ATH_NODE_TRASH | $WEBOBS { ROOT_DATA }/ trash / NODES
E VE NT N OD E _N O TE BO O K | NO
E V E N T N O D E _ N O T I F Y _ D E F A U L T | NO
# list of c a t e g o r i e s ( valid keys are : grid , alias , feature , author , remote , startdate , enddate , title , comment , notebook , outcome )
E V E N T _ S E A R C H _ C A T E G O R Y _ L I S T | grid , alias , feature , author , remote , startdate , title , comment , notebook , outcome
E V E N T _ S E A R C H _ M A X D I S P L A Y _ L I S T | 15 ,50 ,75 ,100
E V E N T _ S E A R C H _ D E F A U L T | alias
E V E N T _ S E A R C H _ D E F A U L T 2 | comment

CGI_SHOW | showNODE . pl
CGI_SRCH | srchNODES . pl
CGI_FORM | formNODE . pl
THUMBNAILS_ON | ALL
T HUMBNAILS_PIXH | 100
T HUMBNAILS_PIXV | 100
THUMBNAILS_EXT | jpg
FILE_NETWORKS | $WEBOBS { ROOT_CONF }/ networkcodes . csv
F ILE_NODES2NODES | $WEBOBS { ROOT_CONF }/ nodes2nodes . rc
FILE_TELE | $WEBOBS { ROOT_CONF }/ TRANStypes . conf
FILE_POS | $WEBOBS { ROOT_CONF }/ POSITIONtypes . conf
F I LE_ FIL TER_ NOT ES | $WEBOBS { PATH_DATA_WEB }/ N o t e s _ F i l t r e _ S t a t i o n s . txt
# node ’ s status ( t h r e s h o l d in %)
SQL_DB_STATUS | $WEBOBS { PATH_DATA_DB }/ NODESSTATUS . db
S T A T U S _ T H R E S H O L D _ W A R N I N G | 90
S T A T U S _ T H R E S H O L D _ C R I T I C A L | 10
S T A T U S _ S T A N D B Y _ V A L U E | -1

2.2. NODES: ELEMENTARY WEBOBS OBJECTS

2.2.1

9

Create, edit or delete a NODE

Modifying NODE is possible only through a GRID (see next section 2.3). Creation of new NODE or edition of
an existing NODE deserves to USERS with edit level for the associated GRID. Deletion of a NODE is reserved to
administrator level USERS.

2.2.2

Names and codes

Main code (ID)
Each NODE has a unique ID code in WebObs . The code can be any string of characters, but it is recommended
to use a comprehensive and rational code (see appendix 5.8) when creating a new NODE. Attribution of this unique
code deserves to USERS with administrator level when creating a new NODE. It cannot be modified after.

Name
The long NAME of a NODE is used for display purposes in tables and graphs. It cannot be empty. The NAME is
displayed in the main GRID’s table in front of the corresponding NODE.

Alias (short name)
The ALIAS is the short name of a NODE, used for display purposes in table and graphs. It cannot be empty. The
ALIAS is displayed in the main GRID’s table in front of the corresponding NODE.

Type
The TYPE of a NODE is an optional free string that will be used for any short description of the NODE. The TYPE
is displayed in the main GRID’s table in front of the corresponding NODE.

2.2.3

Lifetime and validity

Start/end dates
Start and end dates of a NODE define the period of activity of this NODE. Both or any of these two dates can
be undefined or incompletely defined, while respecting the ISO 8601 standard: Date values are ordered from the
most to the least significant: year, month and day; any number of values may be dropped from any of the date
representations, but in the order from the least to the most significant. For example, 1976 and 2005-04 are both
reduced precision valid dates.
The lifetime of a NODE has potential impact on processes that use this NODE or associated data.

Valid NODE
Independently of the lifetime period, a NODE can be valid or invalid. When invalid, a NODE is simply ignored by
most of the WebObs processes and invisible for standard USERS. Nevertheless, if a USER has an administrator level
, he will be able to see an invalid NODE in the lists and tables.

2.2.4

Grids memberships

A NODE can be associated with one or more GRIDS. See section 2.3.

10

2.2.5

CHAPTER 2. REFERENCE

Geographic location

A NODE can be georeferenced using latitude, longitude and elevation coordinates on Earth. When a NODE has valid
coordinates defined, a location map will be automatically built (see below and section 3.2.3), and it will appear on
associated GRID’s maps (see section 2.3).
WGS84 coordinates
Latitude and longitude must be in the WGS84 geodetic reference system, and expressed in decimal form, using
negative value for southern latitude and western longitude. Use the dot as decimal point (not coma).
In the NODE’s display page, coordinates are presented in different formats: DDD.ddddd (decimal degrees), DDD◦ MM.mmm’
(degrees and decimal minutes) and DDD◦ MM’SS.s” (degrees, minutes and decimal secondes).
The coordinates are displayed in the main GRID’s table in front of the corresponding NODE. Also, the Universal
Transverse Mercator (UTM) projection is computed and displayed in the NODE’s page.
Timestamp and type of coordinates
This optional information provides the timestamp (date) of coordinates, and a type of positioning from a list.
POSITIONtypes.conf
= key | value
# D e f i n i t i o n s of P o s i t i o n n i n g types
#
# Cle : type used in scripts , forms , database , ...
# Nom : c o r r e s p o n d i n g text string to be d i s p l a y e d
#
# Cle | Nom
0 | unknown
1 | map
2 | GPS meas .

Google Maps API link
Link to Google Maps API is available if the NODE has coordinates. The link will open a pop-up window. This
functionality is associated with some variables in the main configuration file WEBOBS.rc:
WEBOBS.rc (excerpt)
C GI_GOOGLE_MAPS | googleMAPS . pl
G OOGLE_MAPS_LINK | 1
G OOGLE_MAPS_API | http :// maps . google . com / maps ? file = api
G O O G L E_ M A P S _ A P I _K E Y
G O O G L E _ M A P S _ L I N K _ I N F O | See with Google Maps ( ATTENTION : error ~20 m )
G OOGLE_MAPS_ICON | / icons / gdot . png
G OOGLE_MAPS_TYPE | G_HYBRID_MAP
G O O G L E _ M A P S _ W I D T H _ V A L U E | 500
G O O G L E _ M A P S _ H E I G H T _ V A L U E | 500
G O O G L E _ M A P S _ Z O O M _ V A L U E | 17

Google Earth KML link
Link to Google Earth KML file is available if the NODE has coordinates. The link will download a local KML file, which may
be open with local application Google Earth (if installed). This functionality is associated with some variables in the main
configuration file WEBOBS.rc:
WEBOBS.rc (excerpt)
G O OGL E_E ARTH _LI NK | 1
G O O G L E _ E A R T H _ L I N K _ I N F O | KML file for Google Earth ( ATTENTION : error ~20 m )
I M A G E _ L O G O _ G O O G L E _ E A R T H | / icons / google / google_earth . gif

2.2. NODES: ELEMENTARY WEBOBS OBJECTS

11

Location map
A location map with 4 different scales is automatically made and updated by LOCASTAT application (see section 3.2.3 for
associated parameters), using the coordinates of the NODE.

2.2.6

Transmission

When a NODE represents, for instance, an instrumental station with data transmission, the type of transmission can defined
using a reference list (below) and other NODEs can be defined as intermediate repeaters or final acquisition point.
The transmission chain is displayed with dynamic links to associated NODEs. It appears also on the location map (see section
3.2.3) and the GRID maps (see section 3.2.2).

Type
Type of transmission is defined in a list of transmission type associated with plot line style, width and color.
TRANStypes.conf
# WEBOBS
#
# T r a n s m i s s i o n types d e f i n i t i o n s
#
#
key : used in { show , form } NODE . pl and r e a d n o d e . m
#
name : name
#
style : line style ( Matlab style : - , - - , -. ,:)
#
width : line width
#
rgb : line color red , green , blue ( values between 0 and 1)
#
= key | name | style | width | rgb
#
0 | -| none |0|0 ,0 ,0
1 | Analog Radio | -|1|0 ,0 ,0
2 | Hard - wired | -.|1|0 ,0 ,0
3 | Phone / GSM |:|1|0 ,0 ,0
4 | Laser | - -|1|1 ,0 ,0
5 | Wireless | -|.75|0 ,0 ,0
6 | Satellite |:|2|0 ,0 ,0

Acquisition and repeaters
The transmission chain is described by defining a list of NODE’s ID, from station to acquisition.

2.2.7

Proc’s parameters and data status

When associated with a PROC (see section 2.3.2), data from a NODE is used to produce outputs. Several additional parameters
must be defined for this.

Network code
A NODE can be associated with a standard network code, from the International Federation of Digital Seismograph Networks
(FDSN) 1 . This is mostly the case for permanent seismological stations. This code is mandatory when using Arclink or Seedlink
data requests (see sections 3.14.1 and 3.14.1).
The list of network codes is also described at IRIS 2 .
The official FDSN codes list can be overwritten using a local configuration file CONF/networkcodes.csv.

Raw format
A list of possible data format that overwrites, if selected, the RAWFORMAT parameter in the PROC/*.conf. This allows to
associate different data format/source to the NODEs associated to a single PROC.
1 see
2 see

http://www.fdsn.org/
http://www.iris.edu/ds/nodes/dmc/services/network-codes/

12

CHAPTER 2. REFERENCE

Raw data source
A free text string that overwrites, if not blank, the RAWDATA parameter in the PROC/*.conf. This allows to associate different
data format/source to the NODEs associated to a single PROC.

FID
A FID code is a short string which may contain a functional code (or a coma-separated list of codes) that will be used by
associated PROCs. For example, it can be the official station code for a seismic station or a GNSS receiver, while the data
files will contain this code. It is generally set to the same string as the ALIAS.
Some PROCS are able to deal with a coma-separated list, as gnss: this allows to define multiple codes pointing to different
data, and associate them to a single station.

FID *
Some raw formats may need additional codes or parameters to process data from the NODE. It is possible to define specific
parameters with the prefix FID : they will be listed and editable below the main FID. Creation/edit of a FID SUBNAME is
reserved to USERS with administrator level.

Time zone
Time zone is the offset delay from UTC, expressed in hours. Examples: +0 is UTC, −4 is Lesser Antilles time.

Acquisition period
Acquisition period defines the normal time interval between two data sample, expressed in days. Examples: 1/24 corresponds
to 1 sample per hour, 1/86400 is 1 Hz sampling. This value might be used to compute average acquisition performance rating
(see below).

Acquisition delay
This value defines the maximum delay allowed between the last available data and the present time, expressed in days. This
delay is used to determine the NODE’s status (see below).

Status and link to data
If the associated PROC is set to compute the NODE status, the following information is displayed:
• last status check timestamp;
• sampling rate performance (in %): number of valid samples over the last time period, compared to theoretical acquisition
period (see above);
• status (in %): existence of valid samples in the last time delay for all channels.
The status informations are displayed in the main GRID’s table in front of the corresponding NODE.
If the associated PROC produces output graphs, direct links to each outputs are available.

Channels parameters (calibration file)

For most of PROCS, it is mandatory to define a list of data channels. This can be done through a “calibration file” that
contains description and detailed parameters of the NODE’s data channels: date and time of validity, name, unit, S/N,

2.2. NODES: ELEMENTARY WEBOBS OBJECTS

13

functional code, gain and multiplier factors, offset, min/max values, sensor azimuth, location and depth, sampling frequency,
digital dynamic and “location code” (SEED standard). Each channel must have one or more series of parameters.
The date and time of validity applies until real-time or next line of parameters for this channel number.
Each PROC might be associated to a selection of channels. Active channels appear in bold font, while inactive appear in
gray.

2.2.8

Features

Each NODE can have user-defined features which are free text contents (HTML and Wiki syntax allowed) that appear in the
main table as a series of table cells.

List of user-defined features
Feature name is limited to short names and must avoid special characters. Edit the list of features to be displayed using the
NODE configuration form. Features with void content won’t be displayed for USERS without edit or admin rights.

Node-features-nodes association list
It is possible to associate a NODE’s feature to an other NODE as its feature’s children. An automatic link will be displayed in
the feature’s table cell before the text content of the feature. In the children NODE page, the parent feature will appear with
automatic name ”feature of” and a link to the parent NODE.
Configuring the node2node association list is made by editing a configuration file containing a 3-field definition (pipe delimited):
nodes2nodes.rc (excerpt)
PARENT_NODEID | featurename | CH IL D RE N_ NO D EI D

2.2.9

Installation, information and access

These 3 fields are free-length text content. Wiki syntax allowed.

2.2.10

Photos, diagrams and associated documents

Three different types of documents can be uploaded and associated to a NODE:
• Photos: any JPEG file that will be displayed as thumbnail with a link to full screen mode;
• Diagrams: any image or picture file (JPEG, GIF, PNG, PDF, ...) that will be displayed as thumbnail with a link to the
full resolution image;
• Documents: any file (PDF, DOC, TXT, ...) that will be downloadable and sometimes displayed through the navigator.

2.2.11

Project

A NODE may have one (and only one) PROJECT description: a free-length text file, accepting MultiMarkDown syntax, a list
of users and possible associated photos. Project is a special EVENT without date.

2.2.12

Events

A NODE can be associated to dated events. A NODE event has following characteristics:
• start date and time;
• end date & time;
• a title;
• a content of free-length text,
• author(s) from the list of WebObs users;

14

CHAPTER 2. REFERENCE
• selected feature (from the node’s feature list);
• sensor/data outcome flag;
• notebook number (optional);
• notebook forward flag (optional);
• associated photos (image files).

An event can include one or more sub-events (children). Event files accept the MultiMarkDown syntax. See EVENTS
LOGGING section (2.4) for a description of Nodes and Grids events coding.

2.3

Grids: networks of nodes

A GRID is a group of NODES. Each NODE can be associated to one or multiple GRIDS. There is two kind of GRIDS:
• A VIEW is a list of NODES we simply want to group to be seen or accessed together,
• A PROC is a list of NODES associated to a common data processing that produces outputs (graphs and/or elaborated
data), and/or optional editable data FORMS.
GRIDS are presented through a sorted table allowing access to dedicated page for each GRID with:
• purpose (text content);
• specifications: operator owner, number of NODES, type, optional external link;
• list of NODES: a complete table with alias, names, location, start/end dates, type, project, status (for active PROC);
...
• an interactive location map (if NODES have location coordinates);
• informations (text content);
• references (text content);
• a graphical representation of NODES links with associated GRIDS.
Text content sections are editable with Wiki syntax possibilities.
GRIDS.rc
= key | value
# title for default " all grids " display ( l i s t G R I D S . pl )
S HOW_GRIDS_TITLE | Grids
# grids table options
SHOW_TYPE | Y
SHOW_OWNER | Y
# nodes table options
D E F A U LT _ C O O R D I N AT E S | latlon
D E F A U L T _ N O D E S _ F I L T E R | all
D E F A U L T _ P R O J E C T _ F I L T E R | on

# ===== do not edit below this line =====
# ( p a r a m e t e r s only for b a c k w a r d c o m p a t i b i l y purpose )
CGI_SHOW_GRID | showGRID . pl
CGI_SHOW_GRIDS | listGRIDS . pl
PATH_GRIDS | $WEBOBS { ROOT_DATA }/ GRIDS
S P A T H _I N T E R V E N T IO N S | EVENTS
SPATH_PHOTOS | PHOTOS
S PATH_DOCUMENTS | DOCUMENTS
SPATH_SCHEMES | SCHEMAS
SPATH_FEATURES | FEATURES
S PATH_THUMBNAILS | THUMBNAILS
P A T H _ E V E N T G R I D _ T R A S H | $WEBOBS { ROOT_DATA }/ trash / EVNTRASH
D ES CR I PT I ON _ SU FF I X | _description . txt
P ROTOCOLE_SUFFIX | _protocole . txt
BIBLIO_SUFFIX | _bibliography . txt

2.3. GRIDS: NETWORKS OF NODES

2.3.1

15

Views

A VIEW is a simple group of NODES. To create a new VIEW, go to any GRID table page (menu GRIDS, VIEWS or PROCS)
and click on the edit icon in the Name header of table, enter an unique short name and click Edit. This will open the
GRID configuration editor. The form allows to freely edit the parameters file (key/value pairs), to select the Domain and to
associate/disassociate NODES.
VIEW.DEFAULT template
= key | value
# Generic VIEW te m p l a t e for use with cgi - bin / f o r m G R I D . pl
NAME | Generic View
OWNCODE | ?
TYPE |
URL | http :// myview . org
COPYRIGHT | MyView
# node p a r a m e t e r s ( display and maps )
NODE_NAME | node
NODE_MARKER | ^
NODE_SIZE | 15
NODE_RGB | red
NODE_FONTSIZE | 12
# --- optional user - defined DEM , in ArcInfo format ( o v e r w r i t e s SRTM / ETOPO default )
DEM_FILE | $WEBOBS { PATH_DATA_DEM }/ exampledem . asc
# DEM c o o r d i n a t e system : UTM or LATLON
DEM_TYPE | LATLON
DEM_COPYRIGHT |
DEM_SRTM1 | NO

All the following parameters are valid for GRIDS, that is any VIEW or PROC (see the next section).

GRID name and attributes
• NAME: Character string for the GRID long name. This name will appear in the GRID page and maps of NODES.
• OWNCODE: Character string for the GRID’s owner name. This name will be displayed in the GRIDS tables and GRID
summary, if SHOW OWNER key is true in GRIDS.rc. For backward compatibility, the key might contains a short code with
corresponding long names in CONF/OWNERS.conf.
• TYPE: Character string giving a short attribute to the GRID, if SHOW TYPE key is true in GRIDS.rc.
• URL: Optional URL related to the GRID. Any valid URL is allowed, e.g. an external web link.
• COPYRIGHT: Optional character string for the copyright of the GRID.

NODES attributes
• NODE NAME: Short name of a generic NODE. This name will be used instead of “node” in tables and maps.
• NODE MARKER: Type of marker used to plot NODES on maps. See valid markers in table 5.3.
• NODE SIZE: Size of the NODE marker for maps (in points).
• NODE RGB: Color of the NODE marker for maps: it can be a color name string (see CODE/matlab/htm2rgb.m for a
list of standard colors), or a vector of 3 scalars (red,green,blue), each value between 0 and 1.
• NODE FONTSIZE: If not empty, font size to display NODE’s alias names on maps besides the marker.

Digital Elevation Model (DEM)
By default, WebObs will use SRTM/ETOPO global topographic database to plot maps of NODES. It is possible for each
GRID to define a specific DEM which might be more accurate or more appropriate to make maps.
• DEM FILE: is not empty, must be an absolute path filename. The file must be in Arcinfo format using latitude/longitude
coordinates and elevations in meters, by default.
• DEM TYPE: when set to UTM, considers the file in UTM projection (eastern/northern coordinates). The conversion might
take some time for large DEM, so latitude/longitude DEM is still preferred.
• DEM FORCED: by default, if the area to be plotted is larger than the user DEM limits, the DEM will be ignored. When
set to YES, this option forces the use of user DEM. This might lead to NaN gray areas on the map.
• DEM COPYRIGHT: optional character string for DEM copyright.
• DEM SRTM1: if no user defined DEM is set nor valid, set to YES to use SRTM1 (30m resolution) DEM instead of default
SRTM3 (90m).

16

CHAPTER 2. REFERENCE

The standard behavior of WebObs for DEM loading is, by order of priority:

1. use of user defined DEM if set and valid;
2. if DEM SRTM1 is true and number or tiles does not exceed SRTM1 MAX TILES value in WEBOBS.rc (default is 4 tiles),
then loading SRTM1 30m resolution DEM;
3. if number or tiles does not exceed SRTM MAX TILES value in WEBOBS.rc (default is 25 tiles), then loading SRTM3
90m resolution DEM;
4. if ETOPO1 database has been properly installed and configured (see PATH DATA DEM ETOPO in WEBOBS.rc), then use
of ETOPO1 1.8km resolution global DEM;
5. last, use of ETOPO5 9km resolution DEM (included in the WebObs distribution).

2.3.2

Procs

A PROC is a list of NODES that are associated to a specific and common data processing called SUPERPROC. It has the
same basic parameters as VIEWS (see previous section 2.3.1) plus additional settings that depend on the process you want
to achieve. WebObs proposes some built-in SUPERPROCS (see chapter 3), each of them are specific. There is on default
SUPERPROC called ’genplot’ which is a simple plot of time series data (see section 3.4).
To create a new PROC, go to any GRID table page (menu GRIDS, VIEWS or PROCS) and click on the edit icon in the Name
header of table, select “PROC: Generic time series” in the Grid type list, enter an unique short name and click Edit. This
will open the PROC configuration editor. The form allows to freely edit the parameters file (key/value pairs), to select the
Domain, optional FORM and to associate/disassociate NODES.

2.3.3

Forms

A FORM is a web interface for manual data input, edit, display and export. A FORM is an optional tool of a PROC that
defines a specific database format that contains data from associated NODES. Some SUPERPROCS are working specifically
with FORM databases.

2.3.4

Project

A GRID may have one (and only one) PROJECT description: a free-length text file, accepting Wiki syntax. Project is a special
EVENT, see EVENTS LOGGING for a description of Project.

2.3.5

Events

A GRID can have events: free-length text files with timestamp. An event can include one or more sub-events (children). Event
files accept the Wiki syntax. See EVENTS LOGGING section for a description of Nodes and Grids events.

2.4. EVENTS LOGGING

2.3.6

2.4

17

TMap: GRIDS diagram

Events Logging

Nodes and Grids can have EVENT. These events are free timestamped text files (Wifi syntax being supported), editable
by users having at least Write authorization on the corresponding Node or Grid. Events live in specific repositories (known
as INTERVENTIONS), and are managed thru functions of the CODE/cgi-bin/WebObs/Events.pm module and CODE/cgibin/vedit.pl . Their filenames reflect both their Node or Grid membership and their timestamp.
An event may also have attached images (PHOTOS) and/or sub-events: both are collectively referred to as EVENT EXTENSIONS. Subevents are themselves events, thus building up a tree structure for each event.

Events base directories (interventions)
$GRIDS { PATH_GRIDS }/ gridtype / gridname / $GRIDS { S P A T H _ I N T E R V E N T I O N S }/
$NODES { PATH_NODES }/ nodename / $NODES { S P A T H _ I N T E R V E N T I O N S }/

Events ’trash’ directories (for deleted events)
$NODES { P A T H _ E V E N T N O D E _ T R A S H }
$GRIDS { P A T H _ E V E N T G R I D _ T R A S H }

Events files and extensions naming conventions
event_file
e vent_extensions
event
name
v
NA

:=
:=
:=
:=
:=
:=

event . txt
event /
name_YYYY - MM - DD_HH - MM { _v } | name_YYYY - MM - DD_NA { _v }
{ gridname | nodename }
so - called version number ( automatically generated to make event name unique )
" NA " for unknown / undefined HH - MM

Special event file: the Project
only one allowed per Node or Grid :
project_file

:=

name_Projet . txt

Unfolded example for node NODEA INTERVENTIONS
$NODES { PATH_NODES }/ NODEA / $NODES { S P A T H _ I N T E R V E N T I O N S }/
NODEA_Projet . txt
NODEA_2001 -01 -01 _20 -00. txt
Event 2001 -01 -01 _20 -00 file
NODEA_2001 -01 -01 _20 -00/
Event 2001 -01 -01 _20 -00 extensions
PHOTOS /
Event 2001 -01 -01 _20 -00 photos

18

CHAPTER 2. REFERENCE
*.[ jpg , pdf ]
THUMBNAILS /
NODEA_2002 -02 -02 _02 -02. txt
subEvent 2002 -02 -02 _02 -02
NODEA_2002 -02 -02 _02 -02/
subEvent 2002 -02 -02 _02 -02 extensions
PHOTOS /
subEvent 2002 -02 -02 _02 -02 photos
*.[ jpg , pdf ]
THUMBNAILS
NODEA_2003 -03 -03 _03 -03. txt
subsubEvent 2003 -03 -03 _03 -03
NODEA_2010 -02 -02 _22 -30. txt
Event 2010 -02 -02 _22 -30

2.5

Web pages

2.5.1

Main menu

2.5.2

Home page

2.5.3

Wiki pages

2.5.4

Tools pages

2.5.5

Application pages

Chapter 3

Built-in applications
3.1
3.1.1

The Gazette
Overview

The GAZETTE is the observatory’s logbook and calendar. It is a collection of articles in a relational DB table. An article is
defined by:
• a Start and an End timestamp,
• a Category (from a predefined/editable list),
• a list of Users (WebObs-registered and additional),
• a Place,
• a Subject.
The GAZETTE has its own html interfaces for visualization and edition, implemented in CODE/cgi-bin/WebObs/Gazette.pm
and CODE/cgi-bin/Gazette.pl modules.

3.1.2

Configuration

The GAZETTE is defined by a configuration file, whose location is pointed to by the main WebObs configuration variable
GAZETTE CONF.
Among other parameters, GAZETTE CONF file points to the Gazette DataBase (DB NAME) and the Gazette categories
definitions (CATEGORIES FILE).
The GAZETTE also uses the WebObs authorization mechanism with one resource associated to each category, plus one
generic resource representing all categories. These resources belong to the authorization ’misc’ type (authmisc table), and are
identified as ”GAZETTEcategoryKey ” (eg. GAZETTEMissions, GAZETTEField).
WEBOBS.rc (excerpt)
GAZETTE_CONF | $ { ROOT_CONF }/ Gazette . rc

Gazette.rc
= key | value
DB_NAME | $WEBOBS { PATH_DATA_DB }/ Gazette . db
C ATEGORIES_FILE | $WEBOBS { ROOT_CONF }/ G a z e t t e _ c a t e g o r i e s . conf
BANG | 2001
TITLE | Gazette
FUTURE_YEARS | 2
ACTIVE_GID | DUTY
E M P T Y _S E L E C T I O N _M S G | No match found
C A L E N DA R _ W E E K N U MB E R | VERTICAL
S H O W _ BY D A T E _ O N G OI N G | TEXT
C A L E N D A R _ T R U N C L E N G T H | 25
DEFAULT_VIEW | calendar
DEFAULT_DATE | thisweek
D EFAULT_CATEGORY |

19

20

CHAPTER 3. BUILT-IN APPLICATIONS
Gazette categories.conf

# Gazette articl e s c a t e g o r i e s
#
# - Key
: value used by scripts , forms fields , database , ...
#
ATT : a single word with NO special c h a r a c t e r nor space
#
ATT : r e s e r v e d keys = " ALL "
#
Key is also used as prefix for a u t h o r i z a t i o n r e s o u r c e names ( G A Z E T T E _ k e y )
# - Name : long name for user i n t e r f a c e
# - RGB :
color of text display ( HTML / CSS format )
# - RGBlight : c o r r e s p o n d i n g color used as b a c k g r o u n d
# - Auto : categor y is a u t o m a t i c ( not s e l e c t a b l e in form )
# - Format : any string from : ndol , ndlo , ldon , dlon , andol , or adon
#
encod i n g fields order of appearance , where :
#
n = name ( o p e r a t o r ) , d = date , o = comment , l = place , a = others
#
# Allowed m o d i f i c a t i o n s :
#
- modify Name , RGB or Level values
#
- add new keys
#
# Forbidden :
#
- modify / delete e x i s t i n g Keys ( or c o r r e s p o n d i n g Keys must be updated in
#
the da t a b a s e file )
#
- d u p l i c a t e r e s e r v e d Keys , or delete them
#
= Key | Name | RGB | RGBlight | Auto | Format
ALL | All |\#000000|\#7 F7F7F |1
Duty | Duty Scientist |\# EFC700 |\# F6E27F |0| ndol
Missions | Staff Missions |\# DD5555 |\# FFD4D4 |0| ndlo
Holiday | Off / Holiday |\# DD5555 |\# EDA9A9 |0| ndol
Field | Field work |\#00 BB00 |\#7 FDC7F |0| ldon
Meeting | Meeting / Officials |\#007 F7F |\#7 FBEBE |0| dlon
Media | Medias |\#5555 FF |\# D4D4FF |0| dlon
Outreach | Outreach |\#5555 FF |\# D4D4FF |0| dlon
Teaching | Teaching |\#5555 FF |\# A9A9FE |0| dlon
Visitor | Visitors |\# B200FF |\# D87FFE |0| andol
Training | Students Training |\# B200FF |\# FF7FFF |0| adon
Building | Buildings |\#777777|\# CCFF66 |0| ldon
Misc | Misc |\#777777|\# BABABA |0| dlon
Event | Events |\# ED7C3F |\# DE8F65 |1| ldon

The GAZETTE also includes holidays definitions that can be adapted to any country using a specifications file pointed to by
FILE DAYSOFF in the main WebObs configuration WEBOBS.rc .
WEBOBS.rc (excerpt)
FILE_DAYSOFF | $ { ROOT_CONF }/ Holidays . conf

Holidays.conf (example)
# List of some i n t e r n a t i o n a l public h o l i d a y s
#
# C o n f i g u r a t i o n file read by s u b f u n c t i o n " r e a d F e r i e s " in WebObs :: Dates
# File defined by the WEBOBS . rc key F I L E _ D A Y S O F F
#
# - EXP : e x p r e s s i o n used by the Linux f u n c t i o n ’ date -d " EXP " ’ to d e t e r m i n e the date
#
with p o s s i b l e p a r a m e t e r s :
#
$Y = current year
#
$PQ = Easter Sunday
#
$PQ n = n days from Easter Sunday
# - Name : name of the day
#
#
# EXP | Name
$Y -01 -01 | New Year
$PQ 1 | Easter Monday
$PQ 39 | Ascension
$PQ 50 | Pentecost Monday
$Y -08 -15 | Assomption
$Y -11 -01 | All Saints ’ Day
$Y -12 -25 | Christmas

3.1.3

Display/Edit Gazette

CODE/cgi-bin/Gazette.pl is the html interface used to request and display the Gazette. The greyed banner of the page is a
selection form used to specify what and how Gazette articles should be displayed:
• What : Date or Date-range selection
– via a monthly calendar
– using predefined periods
• What : Category and Filter

3.2. GRIDMAPS AND LOCASTAT: MAPS OF GEOREFERENCED NODES

21

Figure 3.1: Examples of GRID’s maps created by GRIDMAPS.
• How
–
–
–
–
–

: Presentation
Calendar: a calendar-type weekly table,
List by categories: a list sorted by categories,
List by date: a list sorted by chronological start-date,
iCalendar: iCal format text,
dump: reserved for administrators, raw DB-table display

The banner also displays a ’Create Article’ button to trigger the edition of a new article.
Note: ’Event’ category is not editable through html interface.
Developer’s note: A Gazette display html code can also be imported into other pages using the WebObs/Gazette.pm Show
function. See description in Gazette.pm perldoc and Welcome.pl page as an example.

3.2
3.2.1

GRIDMAPS and LOCASTAT: maps of georeferenced nodes
Overview

Any NODE may be associated with a location with geographic coordinates. A PROC might use these coordinates for a specific
processing, e.g. for tilt or gnss deformation modelling, or to produce dedicated maps. There is also two built-in applications
that will use these coordinates: GRIDMAPS and LOCASTAT.

3.2.2

GRIDMAPS

When a NODE is associated to a GRID, WebObs will automatically produce maps indicating these NODES.

Configuration
Each GRID map is depending on two configuration files: one is common for all grids to define the basemap parameters:
GRIDMAPS.rc
= key | value

22

CHAPTER 3. BUILT-IN APPLICATIONS

NAME | Networks
# --- basemap options
# paper size ( maximum width / height )
P APERSIZE_INCHES | 10
# density ( in pixels per inch ) for P o s t S c r i p t to PNG c o n v e r t i o n
DPI | 100
# basemap DEM r e n d e r i n g options ( see CODE / matlab / dem . m d o c u m e n t a t i o n )
LINEWIDTH | 1.5
LANDCOLORMAP | landcolor
SEACOLORMAP | seacolor
C OLOR_LIGHTENING | 2
LIGHT_AZIMUTH | -45
LIGHT_CONTRAST | 1
# o v e r s a m p l i n g in case of too small image
OVERSAMPLING | 500
# minimum size of map around NODES
MIN_SIZE_KM | 1
# maximum X / Y ratio in case of a u t o m a t i c sizing around NODES
MAX_XYRATIO | 1.5
BORDER_ADD | 0.1
DEM_SRTM1 | N
# --- contour lines
CONTOURLINES | Y
C ONTOURLINES_RGB | .5 ,.5 ,.5
C O N T O U R L I N E S _ M I N O R _ L I N E W I D T H | .1
CONTOURLINES_MAJOR_LINEWIDTH |1
C ON TO U RL I NE S _L AB E L | Y
# adds t r a n s m i s s i o n lines between NODES ( if defined )
P L OT_ TRA NSMI SSI ON | Y
# list of GRID keys a v a i l a b l e for edit in request
R E Q U E S T _ G R I D _ K E Y L I S T | NODE_SIZE , NODE_RGB , NODE_FONTSIZE , NODE_MARKER
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } gridmaps S UBMIT_RESOURCE | gridmaps

and the other is the configuration file of the GRID itself to define the parameters associated to NODES (see for example the
VIEW example in section 2.3.1).

Activation
GRIDMAPS is set by default when installing WebObs . It should be active at the first scheduler start. Parameters are as
follows:
jid:
res:
xeq1:
interval:
logpath:
valid:

gridmaps
gridmaps
$WEBOBS{JOB MCC} gridmaps
86400
gridmaps
Y

You may check if it runs correctly in the Scheduler Runs page (see Section 4.3).

3.2.3

LOCASTAT

The location map appears in each NODE page if coordinates are defined. The map is automatically made and updated by
LOCASTAT application. Maps are updated when the map timestamp is older than NODE’s configuration file. So to force
the update of a location map, you may modify any parameter in the NODE configuration, typically the coordinates values or
positioning date.
The map contains 4 maps at different scales, all centered on the NODE position, from left to right with a progressive zoom
effect. Basemaps are built from the free worldwide topography data SRTM 1 and specific colormap and rendering methods. It
is possible to specify a user-defined DEM (Digital Elevation Model) for the highest resolution scale map (right frame).
LOCASTAT.rc
= key | value
# --- wide - scale left frame
F RAME0_WIDTH_KM | 100
# intermediate - scale middle - top frame
1 see

http://www2.jpl.nasa.gov/srtm/

3.3. SEFRAN3/MC3: SEISMIC CHART AND BULLETIN

23

Figure 3.2: Example of NODE’s map created by LOCASTAT.

F RAME1_WIDTH_KM | 30
F RAME1_SCALE_KM | 10
# --- intermediate - scale middle - bottom frame
F RAME2_WIDTH_KM | 5
F RAME2_SCALE_KM | 2
F R AME 2_R ESAM PLI NG | 200
# --- high - r e s o l u t i o n right frame ( in UTM )
F RAME3_WIDTH_KM | 1.5
F RAME3_SCALE_KM | .5
F R AME 3_R ESAM PLI NG | 400
FRAME3_SRTM1 | NO
# --- optional user - defined DEM frame ( right ) = > applies to all nodes
# DEM grid filena m e ( ArcInfo format )
F RAME3_DEM_FILE | $WEBOBS { PATH_DATA_DEM }/ exampledem . asc
# DEM c o o r d i n a t e system : UTM or LATLON
F RAME3_DEM_TYPE | UTM
COPYRIGHT2 | MyDEM
DPI | 80
LINEWIDTH | 1.5
COLORMAP | landcolor
C OLOR_LIGHTENING | 1.2
LIGHT_AZIMUTH | -45
LIGHT_CONTRAST | 1
SEACOLOR | [0.7 ,0.9 ,1]
P L OT_ TRA NSMI SSI ON | Y

3.3
3.3.1

SEFRAN3/MC3: seismic chart and bulletin
Overview

The SEFRAN3 is a graphical interface to operate seismic data flux, manual and semi-automatic detection of events, and
earthquake catalog bulletin management.
The name “SefraN” is a contraction of Sefram Numérique; it comes from a 70’s paper strip-chart recording instrument from
the French factory SEFRAM R , used during decades in French observatories. Starting 2001, the system has been replaced by
a numerical simulation using local data files archives in SUDS format. SEFRAN3 is the third version of SefraN which now
uses data flow from SeedLink protocol.
A second tool called “Main Courante” hereafter named MC3, is a database of seismic events that is linked to SEFRAN3
interface and possibly to external earthquake catalogs like a local SeisComP3 or any FDSN-webservice compatible database
like EMSC or USGS.

24

CHAPTER 3. BUILT-IN APPLICATIONS
UPDATE_HOURS

DATASOURCE (delay)

LATENCY_SECONDS

archive update

realtime update

DATASOURCE (protocole2)

DATASOURCE (protocole1)

BROOMWAGON_UPDATE_HOURS

BROOMWAGON_UPDATE_HOURS

Real-time

frozen
archive

BROOMWAGON_DELAY_HOURS (1)

BROOMWAGON_DELAY_HOURS (2)

Figure 3.3: Schematic diagram of SEFRAN3 main parameters.
The SEFRAN3 works with a fixed selection of channels (up to 15) coming from a single server source, that will be displayed
together as time series using 2 different time scales (normal and high) that simulate the paper speed. SEFRAN3 has 4 different
GUI:
1. Main page showing hourly thumbnail images of seismic signals for a given period of time. Identified events are shown
as overlaying colored tags. Bottom part of the page is showing realtime state of each channel with some statistics on
the data quality. There is two display modes:
• real-time automatic refreshing page, for the last X hours/days of data;
• any date selection for one or more days.
2. One hour display of full-resolution image in a wide window that can be spanned and scrolled through time.
3. A form showing a single event at high-speed time resolution of seismic signals, with possibility of editing data and
submitting to the database.
4. A detailed table of events list with date selection, filters, and dynamic graphs.
Notice: SEFRAN3 is using extensively the network connection (for data flux) and external programs like arclink fetch (from
SeisComP3 ), slinktool (from IRIS) and convert (from ImageMagick). If you experience any trouble, check first the network,
the data availability on servers, and the third-party programs. You might add the variable DEBUG|Y in the configuration file to
make the logs more verbose.

3.3.2

SEFRAN3 installation

SEFRAN3 is based on 1-minute images of seismic traces. It works within a loop that will end after a minimum duration run.
Each loop will scan the existing images on disk, and make new images (real-time first, then look at older periods for gaps) or
update them using broom wagons that check the data completeness after some time delay. There is also a short delay of few
seconds to take into account the data flux lateness from real-time, and a longer delay to switch from SeedLink data request
(convenient for real-time data flux) to ArcLink data request (convenient for archived data). Figure 3.3 is a summary of main
parameters.

Configuration files
To configure a new SEFRAN3, copy the template files SEFRAN3.conf and SEFRAN3 Channels.conf to, for example,
MYSEFRAN.conf and MYSEFRAN Channels.conf.
MYSEFRAN Channels.conf file sets the channel list. Each channel is defined by its alias (a short code used for display), the
stream string (used for the data request), the sensitivity factor (to convert counts to m/s), the filter (median, trend or spline
removal), the peak-to-peak signal amplitude, and the color. A good conduct is to order the channels from North to South,
and give different colors for specific regions. There is no limit to the number of channels, but a maximum of 15 channels is
recommended for a normal screen resolution.
MYSEFRAN.conf file is the main configuration file. It defines a lot of things like output paths, server address and all
parameters of graphical outputs and SEFRAN3 behavior.
SEFRAN3 Channels.conf
# SEFRAN3 templa t e c h a n n n e l file
#

3.3. SEFRAN3/MC3: SEISMIC CHART AND BULLETIN

25

# D e f i n i t i o n of the SEFRAN3 c h a n n e l s :
#
- Alias : channel alias code ( for display )
#
- Stream : channel stream full name ( Network . Station . LocId . Channel )
#
- S e n s i t i v i t y : s e n s i t i v i t y factor ( in counts per m / s )
#
- Filter : applyes a filter to the signal :
#
[ X ]: c o n s t a n t offset value [ X ] ( in count )
#
median : median value c o r r e c t i o n ( f o r m e r l y ’ auto ’)
#
trend : linear detrend c o r r e c t i o n
#
sp [ X ]: spline filter using [ X ] seconds i n t e r v a l points
#
([ X ] is a p o s i t i v e integer )
#
[ ft ][ fn ][ N ] ,[ F ] ,[ S ]: digital filters
#
ft = ’lp ’ ( lowpass ) , ’hp ’ ( h i g h p a s s ) ,
#
’bp ’ ( b a n d p a s s ) or ’bs ’ ( b a n d s t o p );
#
fn = ’bu ’ ( B u t t e r w o r t h ) , ’be ’ ( Bessel ) ,
#
’c1 ’ or ’c2 ’ ( C h e b y s h e v type I or II );
#
N = p o s i t i v e integer ;
#
F = f r e q u e n c y ( in Hz ) , use [ FL , FH ] for ’bp ’
#
and ’bs ’ type ;
#
S = s t o p b a n d a t t e n u a t i o n / ripple ( in dB ) for
#
C h e b y s h e v only .
#
- PP : define the signal a m p l i t u d e ( peak - to - peak , in m / s )
#
- RGB : define the signal color ( HTML format : hexa or s t a n d a r d name )
#
A T T E N T I O N : for hexa format use double - quote "# FF0000 " to avoid comment !
#
#
# Alias Stream
Sensitivity
Filter
PP
RGB
COYC
G . COYC .00. LHZ
5.944420 E +09
hpbu3 ,0.2
5e -5
" # 008800"
FDF
G . FDF .00. LHZ
2.516580 E +09
median
5e -5
" # 008800"
SSB
G . SSB .00. LHZ
5.977820 E +09
median
5e -5
" # FF0000 "
MBO
G . MBO .00. LHZ
4.998380 E +09
median
5e -5
" # FF0000 "
NOUC
G . NOUC .00. LHZ
5.931530 E +09
median
5e -5
" # FF0000 "
# NOUC
G . NOUC .00. LHZ
5 . 9 3 1 5 3 0 E +09
hpbu3 ,0.2
5e -5
"# FF0000 "
PPTF
G . PPTF .00. LHZ
5.680760 E +09
median
5e -5
" # FFA500 "
# PPTF
G . PPTF .00. LHZ
5 . 6 8 0 7 6 0 E +09
hpbu3 ,0.3
5e -5
"# FFA500 "
RER
G . RER .00. LHZ
5.643860 E +09
median
5e -5
" # FFA500 "
TAM
G . TAM .00. LHZ
3.885600 E +09
median
5e -5
" # 000088"
UNM
G . UNM .00. LHZ
5.615490 E +09
median
5e -5
" # 000088"

SEFRAN3.conf
= key | value
# ###########################################################
# SEFRAN3 c o n f i g u r a t i o n file
# ###########################################################
TITRE | SEFRAN3 : GEOSCOPE World Seismicity
BANG | 2014
ROOT | $WEBOBS { SEFRAN_ROOT }/ sefran3
CHANNEL_CONF | $WEBOBS { ROOT_CONF }/ S E F R A N 3 _ C h a n n e ls . conf
CSS | SEFRAN3 . css
BIGARROWS | YES
PATH_WEB | $WEBOBS { S E F R A N _ R O O T _ A L I A S }/ sefran3
PATH_TMP | / tmp / sefran3
# sub - d i r e c t o r i e s : not m o d i f i a b l e after a first run !
P AT H_ I MA G ES _ MI NU T E | minute
P ATH_IMAGES_HOUR | hour
P AT H_ I MA G ES _ HE AD E R | header
# --- Data source and format
# combined format : D A T A S O U R C E | p r o t o c o l e 1 ; p r o t o c o l 2 ; delay
DATASOURCE | slink :// $ { SE ED LI N K_ SE R VE R }; arclink :// $ { A RCLINK_ SERVER }? user = $ { ARCLINK_USER }; $ { A R C L I N K _ D E L A Y _ HO U R S }
# notes :
#
p r o t o c o l e 1 is real - time data
#
p r o t o c o l e 2 is a r c h i v e d data
#
delay is time limit ( in hour ) to switch from p r o t o c o l e 1 to p r o t o c o l e 2
# p r o t o c o l e s can be slink , arclink , fdsnws or file ( m i n i s e e d )
# examples :
# D A T A S O U R C E | slink :// r t s e r v e r . ipgp . fr :18000; arclink :// eida . ipgp . fr :18001? user = sefran3 ;12
# D A T A S O U R C E | slink :// r t s e r v e r . ipgp . fr :18000; fdsnws :// http :// rtpriv - cdd . ipgp . fr / fdsnws / d a t a s e l e c t /1/ query ?;2
# latency delay for r e a l t i m e data
L ATENCY_SECONDS | $ { S E E D L I N K _ D E L A Y _ S E C O N D S }
# seedLink server : source of real - time data ( needed to display the status table )
S EEDLINK_SERVER | rtserver . ipgp . fr :18000
S E E D L I N K _ S E R V E R _ T I M E O U T _ S E C O N D S | 30
# for backward c o m p a t i b i l i t y only ( to be used for default D A T A S O U R C E if needed )!
S E E D L I N K _ D E L A Y _ S E C O N D S | 300
ARCLINK_SERVER | eida . ipgp . fr :18001
ARCLINK_USER | sefran3
A R C L I NK _ D E L A Y _ H OU R S | 12
# cleans ove rlaps in data streams
CLEAN_OVERLAPS | 1
# --- Run - time p a r a m e t e r s
# moving time window which is p r o c e s s e d
UPDATE_HOURS | 6

26

CHAPTER 3. BUILT-IN APPLICATIONS

# minimum beat of the main loop ( in seconds )
BEAT | 2
# minimum loop runtime before exit
M I N _ R UN T I M E _ S E C ON D S | 600
# maximum number of p r o c e s s e d images in a single run
M A X_I MAG ES_I N_R UN | 10
# --- B r o o m w a g o n : r e p r o c e s s images if needed , after a while
B R OOM WAG ON_A CTI VE | 0
# minimum age ( s ) of an image to be c o n s i d e r e d ( in hour )
# multiple b r o o m w a g o n allowed in a coma - s e p a r a t e d list
B R O O M W A G O N _ D E L A Y _ H O U R S | 2 ,12
# time window which will be p r o c e s s e d
BROOMWAGON_UPDATE_HOURS |1
# threshold parameters
BROOMWAGON_MAX_DEAD_CHANNELS |1
B R O O M W A G O N _ M A X _ G A P _ F A C T O R | 0.2
# extra seconds of signal needed for filters
FILTER_EXTRA_SECONDS |0
# --- A s s o c i a t e d " Main C o u r a n t e " ( seismic b u l l e t i n )
MC3_NAME | MC3
M C 3_E VEN T_OP ACI TY | 0.4
D ISPLAY_LAST_MC | 2
DISPLAY_LAST_MC_HOURS |1
# main page refrech ( in real - time mode )
D I S P L A Y _ R E F R E S H _ S E C O N D S | 60
REF_NORTC | 1
# max number of days ( in a page )
DISPLAY_DAYS | 7
# --- Main g r a p h i c a l p a r a m e t e r s
# pixel - per - inch for all PNG images output
VALUE_PPI | 100
# image height ( in inches ): 7.8 means 780 pixels at 100 ppi
HEIGHT_INCH | 7.8
# e q u i v a l e n t paper speed in inches per minute
VALUE_SPEED | 1.2
# paper high - speed ( in / mn )
V ALUE_SPEED_HIGH | 4.8
# i n t e r t r a c e : 1 means no overlap , 0.8 means 20% overlap
INTERTRACE | 0.8
T RACE_LINEWIDTH | 1
# to obtain better PNG , images are o v e r s a m p l e d
PRINT_OVERSAMPLING_FACTOR |2
# labels for minute - image ( in pixels )
L ABEL_TOP_HEIGHT | 23
L A B E L _B O T T O M _ H E IG H T | 55
XTICK_INTERVAL_SECONDS |1
X T I C K _ L A B E L _ I N T E R V A L _ S E C O N D S | 10
# --- Hourly t h u m b n a i l s ( sizes in pixels )
HOURLY_WIDTH | 900
HOURLY_HEIGHT | 90
H O U R L Y _ C O N V E R T _ G A M M A | 0.4
LASTHOUR_WIDTH | 320
NOTES | $WEBOBS { PAT H _U SE RS _ HT ML }/ Sefran3_Notes . htm
MENU_FILE | $WEBOBS { PA T H_ US E RS _H TM L }/ Sefran3_Menu . htm
T I M E _ IN T E R V A L S _ CO N F | $WEBOBS { ROOT_CONF }/ S E F R A N 3 _ T i m e I n t e r v a l s . conf
TIME_INTERVALS_DEFAULT_VALUE |6
# channel status t h r e s h o l d
STATUS_OFFSET_WARNING |2
STATUS_OFFSET_CRITICAL |5
S T A T U S _ N O I S E _ W A R N I N G | 1e -6
S T A T U S _ N O I S E _ C R I T I C A L | 5e -6
S T A T U S _ D E L A Y _ W A R N I N G | 300
S T A T U S _ D E L A Y _ C R I T I C A L | 86400

Activation
To activate the SEFRAN3, add a new job in the scheduler, for example with following parameters:
jid:
res:
xeq1:
xeq2:
interval:
logpath:
valid:

mysefran
mysefran
$WEBOBS{JOB MCC} sefran3
MYSEFRAN
600
mysefran
Y

3.3. SEFRAN3/MC3: SEISMIC CHART AND BULLETIN

27

After activation, check that it runs correctly in the Scheduler Runs page (see Section 4.3).
To access the main SEFRAN3 page, use the following URL (can be set for instance in the menu bar):
/cgi-bin/sefran3.pl?header=1&s3=MYSEFRAN
Further options are available to access all display possibilities. See perldoc CODE/cgi-bin/sefran3.pl.

3.3.3

MC3 configuration
MC3.conf

= key | value
# ##############################################################################
# MC3 Main Couran t e c o n f i g u r a t i o n p a r a m e t e r s
# ##############################################################################
TITLE | Main Courante Seismicity
BANG | 2014
ROOT | $WEBOBS { SEFRAN_ROOT }/ mc3
PATH_WEB | $WEBOBS { S E F R A N _ R O O T _ A L I A S }/ mc3
E VENT_CODES_CONF | $WEBOBS { ROOT_CONF }/ MC3_Codes . conf
DURATIONS_CONF | $WEBOBS { ROOT_CONF }/ MC3_Durations . conf
A MPLITUDES_CONF | $WEBOBS { ROOT_CONF }/ MC3 _Amplit udes . conf
T AB LE _ HE A DE R S_ CO N F | $WEBOBS { ROOT_CONF }/ MC3_Headers . conf
PATH_SC3_QML |
PATH_TMP | $WEBOBS { SEFRAN_ROOT }/ tmp
PATH_TMP_WEB | $WEBOBS { S E F R A N _ R O O T _ A L I A S }/ tmp
PATH_FILES | files
PATH_IMAGES | images
FILE_PREFIX | MC_
FRAME_WIDTH | 600
WINDOW_LENGTH_MINUTE |5
IMAGES_MAX_CAT | 60
# default table i n t e r v a l display ( in days )
D EF AU L T_ T AB L E_ DA Y S | 30
# local time zone : used only for date / hour s e l e c t i o n ( display and s t a t i s t i c s ) - data always remain in UTC !
S ELECT_LOCAL_TZ | 0
DEFAULT_SELECT_LOCAL |N
NOTES | $WEBOBS { PAT H _U SE RS _ HT ML }/ MC3_Notes . htm
FILTER_POPUP | $WEBOBS { P AT H_ U SE RS _H T ML }/ M C 3 _ F i l t e r _ P o p U p . htm
# external catalog visit link ( formely U S G S _ U R L )
VISIT_LINK |   EMSC  
# V I S I T _ L I N K | < A href =" https :// e a r t h q u a k e . usgs . gov / e a r t h q u a k e s / map " target =" _blank " >  USGS  
# USGS_URL | https :// e a r t h q u a k e . usgs . gov / e a r t h q u a k e s / map
AUTOPRINT | 0
PRINTER |
CSS | MC3 . css
P _WAVE_VELOCITY | 6
VP_VS_RATIO | 1.75
# set to 0 to keep the S - P value when c h a n g i n g P - phase
NEW_P_CLEAR_S | 1
# default a m p l i t u d e value for new event : see M C 3 _ A m p l i t u d e . conf for valid keys
D E FAU LT_ AMPL ITU DE | AVERAGE
# default type value for new event : see M C 3 _ C o d e s . conf for valid keys
DEFAULT_TYPE | UNKNOWN
# small ruler p a r a m e t e r s ( o b s o l e t e )
RULER_DISPLAY | 0
RULER_LENGTH | 60
RULER_TICKS | 5
R U LER _TI CKS_ LAB EL | 10
RULER_POS_DX | 0
RULER_POS_DY | -50
# shakemaps
SHAKEMAPS | 0
SHAKEMAPS_PATH | $WEBOBS { SEFRAN_ROOT }/ B3
SHAKEMAPS_URN | $WEBOBS { URN_SEFRAN }/ B3
T REMBLEMAPS_PROC | B3
# Cities for event l o c a t i o n
# -------------------------------------------CITIES | $WEBOBS { ROOT_CONF }/ Cities . conf
CITIES_PLACE | Guadeloupe
# for MC2 c o m p a t i b i l t y
P A T H _ D E S T I N A T I O N _ S I G N A U X | $WEBOBS { SEFRAN_ROOT }/ A_Depouiller
W E B _ D E S T I N A T I O N _ S I G N A U X | $WEBOBS { S E F R A N _ R O O T _ A L I A S }/ A_Depouiller
HYPO_USE_FMT0 |
HYPO_USE_FMT1 | $WEBOBS { OVPFHYP_PATH }
DISPLAY_LOCATION_DEFAULT |1

28

CHAPTER 3. BUILT-IN APPLICATIONS

L O C A T IO N _ M I N _ P H AS E S | 4
# ===== S e i s C o m P 3 d a t a b a s e p a r a m e t e r s =====
S C3_EVENTS_ROOT | $WEBOBS { SEFRAN_ROOT }/ sc3_events
# 4 - letter prefix of events ID
S C 3 _ E V E N T S _ I D _ P R E F I X | abcd
# time window to scan new events ( in days )
S C3_UPDATE_DAYS | 15
SC3_USER | SC3
# comma s e p a r a t e d list of u n w a n t e d event types ( not i m p o r t e d in MC3 )
S C 3 _ E V E N T _ T Y P E S _ B L A C K L I S T | not existing
# comma s e p a r a t e d list of u n w a n t e d event types for d i s p l a y i n g l o c a t i o n in MC3
S C 3 _ E V E N T _ T Y P E S _ N O L O C A T I O N | outside of network interest , not locatable
# wo2sc3 module p a r a m e t e r s
W O2SC3_HOSTNAME | localhost
WO2SC3_PORT | 30003
WO2SC3_MOD_ID | 1
W O2SC3_MOD_TYPE | 1
# ===== FDSN W e b S e r v i c e event p a r a m e t e r s =====
# Uses S C 3 _ E V E N T _ T Y P E S _ B L A C K L I S T , S C 3 _ E V E N T _ T Y P E S _ N O L O C A T I O N and S C 3 _ U P D A T E _ D A Y S
# Default server ( when only one )
F D SNW S_E VENT S_U RL | https :// earthquake . usgs . gov / fdsnws / event /1/ query ?
# W e b S e r v i c e options for catalog search : area of interest , m a g n i t u d e of i n t e r e s t
F D S N W S _ E V E N T S _ S E A R C H | minmagnitude =6
# W e b S e r v i c e options for event details r e t r i e v a l : include a r r i v a l s
F D S N W S _ E V E N T S _ D E T A I L | i n c l u d e a l l m a g n i t u d e s = false & i n c l u d e a l l o r i g i n s = false
# Extra EMSC FDSN events server ( may have more than one )
F D S N W S _ E V E N T S _ U R L _ E M S C | https :// earthquake . usgs . gov / fdsnws / event /1/ query ?
# W e b S e r v i c e options for catalog search : area of interest , m a g n i t u d e of i n t e r e s t
F D S N W S _ E V E N T S _ S E A R C H _ E M S C | minmagnitude =5& maxmagnitude =6& minlatitude =11& maxlatitude =19& minlongitude = -64& maxlongitude = -59
# W e b S e r v i c e options for event details r e t r i e v a l : include a r r i v a l s
F D S N W S _ E V E N T S _ D E T A I L _ E M S C | i n c l u d e a l l m a g n i t u d e s = false & i n c l u d e a l l o r i g i n s = false & i n cl ud ea r ri va ls = true

MC3 Codes.conf
# WEBOBS
# C o n f i g u r a t i o n file for seismic b u l l e t i n " Main C o u r a n t e "
#
# Input to mc3 . pl and sefran3 . pl , to define events .
#
#
key = Event - type code as r e c o r d e d in files
#
[ Note : UNKNOWN and AUTO are R E S E R V E D k e y w o r d s ]
#
#
Name = Full text of event - type as p r e s e n t e d to user
#
#
Color = A s s o c i a t e d color in display / graphs ... html hexa format # RRGGBB
#
#
Md = how to compute d u r a t i o n m a g n i t u d e :
#
1 = r e q u i r e s d u r a t i o n and S - P
#
0 = r e q u i r e s d u r a t i o n only ( assumes S - P = 0 if not defined )
#
-1 = never compute
#
#
asVT = wether event is counted as VT in seismic b u l l e t i n
#
1 = yes
#
0 = no
#
#
asRF = wether event is counted as r o c k f a l l in seismic b u l l e t i n
#
1 = yes
#
0 = no
#
#
Location = wether l o c a t i o n info will be d i s p l a y e d
#
1 = yes ( except if SC3 type in the S C 3 _ E V E N T _ T Y P E S _ N O L O C A T I O N list )
#
0 = no
#
#
WO2SC3 = wether S e i s C o m P 3 eventID c r e a t i o n is checked
#
1 = yes
#
0 = no
#
= key | Name | Color | BgColor | Md | asVT | asRF | Location | WO2SC3
#
UNKNOWN | Unknown event |\#535353|\# FFFFFF | -1|0|0|1|1
VOLCTECT | Volcano - Tectonic |\# FA8072 |\# FFFFFF |0|1|0|1|1
VOLCLP | Volcanic Long - Periode |\# DC143C |\# FFFFFF |0|0|0|1|1
VOLCTREMOR | Volcanic Tremor |\# FF4500 |\# FFFFFF | -1|0|0|1|1
ROCKFALL | Rockfall / Landslide |\#8 B4513 |\# FFFFFF | -1|0|1|0|1
TECT | Tectonic |\#228 B22 |\# FFFFFF |1|0|1|1|1
TELE | Teleseism |\# ADFF2F |\# FFFFFF |1|0|0|0|0
TPHASE |T - Phase |\#4682 B4 |\# FFFFFF | -1|0|0|0|0
SOUND | Sound |\#7 FFFD4 |\# FFFFFF | -1|0|0|0|0
ANTHROP | Anthropogenic |\# FFD700 |\# FFFFFF |1|0|0|1|0
AUTO | AUTOMATIC |\#808080|\# F6CECE | -1|0|0|1|0
COMMENT | Comment |\# FFFF22 |\#666666| -1|0|0|0|0

MC3 Amplitudes.conf
# WEBOBS
# C o n f i g u r a t i o n file for MC3 a m p l i t u d e signals d e f i n i t i o n

3.4. GENPLOT: GENERIC TIME SERIES

29

#
#
- Key = key for d a t a b a s e ( do not modify or erase )
#
- Name = name for display
#
- Value = n u m e r i c a l value ( in signal units , i . e . , m / s or counts ) , will be
#
used for a m p l i t u d e event s e l e c t i o n ( with o p e r a t o r s <= - >=)
#
# Key | Name | Value
WEAK | Weak |0
AVERAGE | Average |500
STRONG | Strong |1000
OVERSCALE | Overscale |2000

MC3 Durations.conf
# WEBOBS
# C o n f i g u r a t i o n file for MC3 signal d u r a t i o n s d e f i n i t i o n
#
#
- Key = key for d a t a b a s e ( do not modify or erase )
#
- Name = name for display
#
- Sec = number of seconds
#
# Key | Name | Sec
s | seconds |1
mn | minutes |60
h | hours |3600
d | days |86400

3.3.4

Links with earthquake event catalogs

SeisComP3
EarthWorm

3.4
3.4.1

GENPLOT: generic time series
Overview

GENPLOT is the default superproc to plot time series from any source of data, particularly the time series formats (see section
3.14.2). GENPLOT is able to produce graphics and text outputs from data channels of associated NODES. All the outputs
will be processed for a list of preset time scales, which can be any of the following:
• a fixed duration (expressed in hour, day, week, month or year) until the present time (moving window);
• a window from a reference date until present time (extending window);
• all available data.
GENPLOT will produce, for each time scale:
• one graph per NODE showing separated subplot for each selected channel;
• one summary graph combining all NODES on each channel subplot using different colors.
The plotted channels for the per-node and summary graphs are both configurable using respectively NODE CHANNELS and
SUMMARY CHANNELS. Titles and line and marker style can also be configured:
• set PERNODE TITLE and/or SUMMARY TITLE to customize the title;
• set PERNODE LINESTYLE and/or SUMMARY LINESTYLE to a line specification string, a combination of two components:
– a line type (see possible values in table 5.4),
– a marker symbol type (see possible values in table 5.3),
to choose between drawing markers and/or line and define their style; note you might specify a marker only with no
line, then only the markers are plotted;
• the line width and marker size can be different for each time scale using respectively LINEWIDTHLIST and MARKERSIZELIST, that should both define a size to use (in pt) for each of the timescales defined in TIMESCALELIST, coma
separated values;
• colors are chosen automatically by the proc: for the summary graph it will be one color per node, for the per-node graph
it will be one color per channel.

30

3.4.2

CHAPTER 3. BUILT-IN APPLICATIONS

Configuration

Some parameter keys of GENPLOT are common for all PROCS and GRIDS so are identical with the VIEW configuration (see
section 2.3.1).
GENPLOT template
= key | value
# Generic PROC te m p l a t e
# It can be used for i n s t a n c e with s u p e r p r o c genplot ( generic time series ).
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / genplot . m for further i n f o r m a t i o n .
# long name of the PROC
NAME | Generic time series
# proc TYPE and OWNER
TYPE |
OWNCODE | ?
# default raw data format ( might be o v e r w r i t t e n in each node )
RAWFORMAT |
# raw data path ( might be o v e r w r i t t e n in each node )
RAWDATA | $WEBOBS { ROOT_RAWD }/ myproc
# URN link to data
URNDATA | / rawdata / myproc
DEM_SRTM1 | N
# optional user - defined DEM ( Arcinfo format , lat / lon )
# DEM_FILE | $WEBOBS { P A T H _ D A T A _ D E M }/ h i g h r e s d e m _ l a t l o n . asc
# DEM_TYPE | LATLON
# D E M _ C O P Y R I G H T | DEM : myDEM
# time zone for outputs
TZ | 0
# a d d i t i o n n a l ext e r n a l link ( s ): TEXT1 , URL1 ; TEXT2 , URL2 ;...
URL |
# lists of p a r a m e t e r s ( number of comma - s e p a r a t e d rows must be c o n s i s t e n t )
# T I M E S C A L E L I S T valid suffix : h ( hour ) , d ( day ) , w ( week ) , m ( month ) , y ( year )
# T I M E S C A L E L I S T r e s e r v e d words are : all ( all a v a i l a b l e data ) , ref ( r e f e r e n c e date until now )
TIMESCALELIST | 24 h ,01 y
DECIMATELIST | 1 ,1
CUMULATELIST | 1 ,1
DATESTRLIST | -1 , -1
MARKERSIZELIST | 6 ,2
LINEWIDTHLIST | 2 ,1
STATUSLIST | 1 ,0
# defines a r e f e r e n c e date to use with ’ ref ’ t i m e s c a l e in T I M E S C A L E L I S T
REF_DATE |
# e x e c u t i o n command ( for runproc shell )
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } genplot $SELFREF S UBMIT_RESOURCE | myproc
# list of keys ed i t a b l e in r e q u e s t s
R EQUEST_KEYLIST | NAME
# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600
# --- node p a r a m e t e r s
NODE_NAME | node
NODE_SIZE | 10
NODE_RGB | Red
NODE_FONTSIZE | 10
NODE_MARKER | s
# --- optional user - defined DEM , in ArcInfo format ( o v e r w r i t e s SRTM / ETOPO default )
DEM_FILE | $WEBOBS { PATH_DATA_DEM }/ exampledem . asc
# DEM c o o r d i n a t e system : UTM or LATLON
DEM_TYPE | LATLON
DEM_COPYRIGHT |
# file for b a c k g r o u n d time r e f e r e n c e d events
EVENTS_FILE | $WEBOBS { ROOT_CONF }/ events_World . conf
# --- page format and outputs
# optional paper size width , height in inches
PAPER_SIZE |
# g r a p h i c a l density for PNG outputs ( in pixel per inches )
PPI | 100
# l a n d s c a p e format for all outputs
LANDSCAPE | NO
# maximum number of s u b p l o t s in a s t a n d a r d page height
P AGE_MAX_SUBPLOT | 8
# makes a PDF file for each graph ( in a d d i t i o n to PNG , EPS and JPG t h u m b n a i l )
PDFOUTPUT | NO
# main logo file
LOGO_FILE | $WEBOBS { LOGO_DEFAULT }
LOGO_HEIGHT | $WEBOBS { LOGO_HEIGHT }
# main c o p y r i g h t

3.5. HYPOMAP: EARTHQUAKE HYPOCENTER MAPS FROM SEISMIC CATALOG

31

COPYRIGHT | MyProc
# optional s e c o n d a r y logo file
LOGO2_FILE |
LOGO2_HEIGHT | $WEBOBS { LOGO_HEIGHT }
# optional s e c o n d a r y c o p y r i g h t
COPYRIGHT2 |
# exports text data files
EXPORTS | YES
# --- data p r o c e s s i n g and plot
# removes data picks using median filter (% of min / max values )
P I C K S _C L E A N _ P E R CE N T | 0
# replaces flat signal ( two c o n s e c u t i v e i d e n t i c a l values ) by NaN
FLAT_IS_NAN | NO
# applies a median filter to the data
MEDIAN_FILTER_SAMPLES |0
# s u p e r i m p o s e a moving average on N samples
MOVING_AVERAGE_SAMPLES |0
# set to YES to plot c o n t i n u o u s line i g n o r i n g gaps
C ONTINUOUS_PLOT | NO
# set Y - axis with a log scale
YLOGSCALE | NO
# --- per node graphs
# coma s e p a r a t e d list of c h a n n e l s to plot ( default is all c h a n n e l s )
NODE_CHANNELS |
# graph title
PERNODE_TITLE | {\ fontsize {14}{\ bf$node_alias : $node_name } ( $timescale )}
# line style : c o m b i n a t i o n of a marker and / or a line type ( see user ’ s manual )
P E RNO DE_ LINE STY LE | # set to YES to s u b s t r a c t the first data value in all plots
P ERNODE_RELATIVE | NO
# --- summary graph ( all nodes t o g e t h e r )
# comment this key to not plot the summary graph
SUMMARYLIST |
# coma s e p a r a t e d list of c h a n n e l s to plot ( default is all c h a n n e l s )
S UMMARY_CHANNELS |
# graph title
SUMMARY_TITLE | {\ fontsize {14}{\ bf$ { NAME }} ( $timescale )}
# line style : c o m b i n a t i o n of a marker and / or a line type ( see user ’ s manual )
S U MMA RY_ LINE STY LE | # set to YES to s u b s t r a c t the first data value in all plots
S UMMARY_RELATIVE | NO

Time scales

3.5

HYPOMAP: Earthquake hypocenter maps from seismic catalog

3.5.1

Overview

3.5.2

Configuration

Some parameter keys of HYPOMAP are common for all PROCS and GRIDS so are identical with the VIEW configuration (see
section 2.3.1).
HYPOMAP template
= key | value
# Generic PROC te m p l a t e for s u p e r p r o c hypomap
# S u p e r f o r m a t is ’ quakes ’: see r e a d f m t d a t a _ q u a k e s . m for c o m p a t i b l e R A W F O R M A T defined
# in a s s o c i a t e d NODE ’ s R A W F O R M A T field
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / hypomap . m for further i n f o r m a t i o n .
# long name of the PROC
NAME | Earthquake hypocenter maps from seismic catalog
# proc TYPE and OWNER code ( see OWNERS . conf for O W N C O D E s )
RAWFORMAT | quakes
TYPE |
OWNCODE | ?
# raw data path
RAWDATA |
# URN link to data
URNDATA |
# time zone for outputs
TZ | 0
# a d d i t i o n n a l URL
URL |
# lists of p a r a m e t e r s ( number of comma - s e p a r a t e d rows must be c o n s i s t e n t )
# T I M E S C A L E L I S T valid suffix : h ( hour ) , d ( day ) , w ( week ) , m ( month ) , y ( year )
TIMESCALELIST | 01 y ,10 y , all

32

CHAPTER 3. BUILT-IN APPLICATIONS

DATESTRLIST | -1 , -1 , -1
MARKERSIZELIST | 5 ,3 ,2
# defines a r e f e r e n c e date to use with ’ ref ’ t i m e s c a l e in T I M E S C A L E L I S T
REF_DATE |
# a d d i t i o n a l summary graphs k e y w o r d s ( comma s e p a r a t e d )
SUMMARYLIST | Antilles , Guadeloupe , Martinique
# SUMMARYLIST | Soufriere
S UMMARY_CHANNELS |
# e x e c u t i o n command ( for runproc shell )
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } hypomap $SELFREF S UBMIT_RESOURCE | hypomap
# list of keys ed i t a b l e in r e q u e s t s
R EQUEST_KEYLIST | NAME , SUMMARYLIST , LATLIM , LONLIM , MAGLIM , DEPLIM , PLOT_BG_ALL , BUBBLE_PLOT
# node p a r a m e t e r s
NODE_NAME | node
NODE_SIZE | 10
NODE_RGB | 1 ,0 ,0
NODE_FONTSIZE | 10
NODE_MARKER | o
# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600
# --- optional user - defined DEM , in ArcInfo format ( o v e r w r i t e s SRTM / ETOPO default )
DEM_FILE | $WEBOBS { PATH_DATA_DEM }/ exampledem . asc
# DEM c o o r d i n a t e system : UTM or LATLON
DEM_TYPE | LATLON
DEM_COPYRIGHT |
# g r a p h i c a l density for PNG outputs ( in pixel per inches )
PPI | 100
# value = 1 to produce EPS graphs
POSTSCRIPT | 1
# value = 1 to export text data files
EXPORTS | 1
# main logo file
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
# s e c o n d a r y logo file
LOGO2_FILE |
# main c o p y r i g h t
COPYRIGHT | IPGP
# secondary copyright
COPYRIGHT2 |
# --- proc specif i c p a r a m e t e r s
# for catalog data request
E V E N T T Y P E _ E X C L U D E D _ L I S T | not existing , not locatable , outside of network interest , sonic boom , duplicate , other event
E V E N T S T A T U S _ E X C L U D E D _ L I S T | automatic
E V E N T C O M M E N T _ E X C L U D E D _ R E G E X P | AUTOMATIC
SC3_LISTEVT |
LATLIM | 13 ,19
LONLIM | -64 , -58
MAGLIM | 3 ,10
DEPLIM | -10 ,300
MSKLIM | 1 ,12
GAPLIM | 0 ,360
RMSLIM | 0 ,1
ERHLIM | 0 ,100
ERZLIM | 0 ,100
NPHLIM | 3 , Inf
CLALIM | 0 ,4
QUALITY_FILTER | 0.7
# for graph
M ARKER_LINEWIDTH | 1
PLOT_BG_ALL | .3
DEM_OPT | ’ WaterMark ’ ,2 , ’ FontSize ’ ,7
SHAPE_FILE | $WEBOBS { P AT H_ D AT A_ SH A PE }/ an t il le s_ f au lt s . bln
# S T A T I O N S _ G R I D | VIEW .
# H y p o c e n t e r s without i n d i v i d u a l circle line (1 yes , 0 no )
BUBBLE_PLOT | 1
# -- Maps of areas : d u p l i c a t e M A P _ a r e a n a m e _ * keys to make s p e c i f i c maps
M AP_Area1_TITLE | Area1 - Lesser Antilles
# map limits : lon0 , lat0 , width ( in degree ) or former lon1 , lon2 , lat1 , lat2 ( in degree )
M AP_Area1_XYLIM | -61 ,16 ,6
# m a g n i t u d e limits ( for size scale only , not a filter )
M AP_Area1_MAGLIM | 3 ,7
# depth limits ( for color scale only , not a filter )
M AP_Area1_DEPLIM | -2 ,200
# 1 or 2 op tional profile ( s )
# Profile 1 ( bottom ): center latitude , center longitude , azimuth ( degree North ) , lateral d i s t a n c e ( km ) , depth ( km )
M AP _A r ea 1 _P R OF IL E 1 | -61.4651 ,16.5138 ,55 ,100 ,200
# Profile 2 ( right ): same p a r a m e t e r s as profile1 , but drawn on the right side of the map
# Colormap used : must specify the number of colors
M AP _A r ea 1 _C O LO RM A P | jet (256)
# Color r e f e r e n c e for markers : ’ depth ’ ( default ) or ’ time ’
M AP _A r ea 1 _C O LO RR E F | time

3.6. HELICORDER: SEISMIC HELICORDER

33

# Optional time plot : give a list of p a r a m e t e r s ( versus time ) == > alpha version not fully f u n c t i o n a l
# M A P _ A r e a 1 _ T I M E P L O T | latitude , longitude , depth , magnitude , profile1 , p r o f i l e 2

3.6

HELICORDER: Seismic helicorder

3.6.1

Overview

3.6.2

Configuration

Some parameter keys of HELICORDER are common for all PROCS and GRIDS so are identical with the VIEW configuration
(see section 2.3.1).
HELICORDER template
= key | value
# H e l i c o r d e r PROC t e m p l a t e
# Makes h e l i c o r d e r s from node channels , using " events " output type .
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / h e l i c o r d e r . m for further i n f o r m a t i o n .
# long name of the PROC
NAME | Helicorder
# proc TYPE and OWNER code ( see OWNERS . conf for O W N C O D E s )
TYPE |
OWNCODE | ?
RAWFORMAT |
# raw data path
RAWDATA |
# URN link to data
URNDATA | / rawdata / myproc
# time zone for outputs
TZ | 0
# a d d i t i o n n a l URL
URL |
# lists of p a r a m e t e r s ( number of comma - s e p a r a t e d rows must be c o n s i s t e n t )
# T I M E S C A L E L I S T valid suffix : h ( hour ) , d ( day ) , w ( week ) , m ( month ) , y ( year )
TIMESCALELIST | 02 d
DECIMATELIST | 1
CUMULATELIST | 1
DATESTRLIST | -1
LINEWIDTHLIST | 1
MARKERSIZELIST | 4
STATUSLIST | 1
# defines a r e f e r e n c e date to use with ’ ref ’ t i m e s c a l e in T I M E S C A L E L I S T
REF_DATE |
# e x e c u t i o n command ( for runproc shell )
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } helicorder $SELFREF S UBMIT_RESOURCE | helicorder

# list of keys ed i t a b l e in r e q u e s t s
R EQUEST_KEYLIST | NAME , HELICORDER_DURATION_DAYS , HELICORDER_TURNS , HELICORDER_SCALE , HELICORDER_PAPER_COLOR , HELICORDER_PAPER_CO
# node p a r a m e t e r s
NODE_NAME | node
NODE_SIZE | 10
NODE_RGB | 1 ,0 ,0
NODE_FONTSIZE | 10
NODE_MARKER | o
# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600
# --- optional user - defined DEM , in ArcInfo format ( o v e r w r i t e s SRTM / ETOPO default )
DEM_FILE | $WEBOBS { PATH_DATA_DEM }/ exampledem . asc
# DEM c o o r d i n a t e system : UTM or LATLON
DEM_TYPE | LATLON
DEM_COPYRIGHT |
DEM_SRTM1 | N
# file for b a c k g r o u n d time r e f e r e n c e d events
EVENTS_FILE | $WEBOBS { ROOT_CONF }/ events_World . conf
# g r a p h i c a l density for PNG outputs ( in pixel per inches )
PPI | 100
# l a n d s c a p e format for all outputs
LANDSCAPE | Y
# value = 1 to produce EPS graphs
POSTSCRIPT | 1
# value = 1 to export text data files
EXPORTS | 1
# main logo file

34

CHAPTER 3. BUILT-IN APPLICATIONS

LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
# s e c o n d a r y logo file
LOGO2_FILE |
# main c o p y r i g h t
COPYRIGHT | MyProc
# secondary copyright
COPYRIGHT2 |
# S T R E A M _ C H A N N E L _ S E L E C T O R | HHZ
# D A T A L I N K _ D E L A Y _ S E C O N D S |600
# --- proc ’ s spe c i f i c p a r a m e t e r s
# main durat ion for a single graph
HELICORDER_DURATION_DAYS |1
# number of turns per d u r a t i o n
H ELICORDER_TURNS | 24*2
# vertical scale ( r e l a t i v e to the signal s t a n d a r d d e v i a t i o n )
H ELICORDER_SCALE | 100
# b a c k g r o u n d paper color ( accepts html names , see CODE / matlab / htm2rgb . m )
H E L I C O R D E R _ P A P E R _ C O L O R | #0 F0F0F
# trace color or color list
# H E L I C O R D E R _ T R A C E _ C O L O R | black , red , mediumblue , green
H E L I C O R D E R _ T R A C E _ C O L O R | whitesmoke
# ytick labels
HELICORDER_YTICK_HOURS |2
# g a l v a n o m e t e r ro t a t i o n effect ( use 0 to unset )
H E LIC ORD ER_R ADI US | 1
# traces trend effect
H ELICORDER_TREND | N
# vertical time d i r e c t i o n
H EL IC O RD E R_ T OP DO W N | N
# --- data p r o c e s s i n g
# removes data picks using median filter (% of min / max values )
P I C K S _C L E A N _ P E R CE N T | 0
# replaces flat signal ( two c o n s e c u t i v e i d e n t i c a l values ) by NaN
FLAT_IS_NAN | NO
# applies a median filter to the data
MEDIAN_FILTER_SAMPLES |0

3.7

RSAM: Realtime Seismic Amplitude Measurement

3.7.1

Overview

3.7.2

Configuration

Some parameter keys of RSAM are common for all PROCS and GRIDS so are identical with the VIEW configuration (see
section 2.3.1).
RSAM template
= key | value
# RSAM PROC templ a t e
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / rsam . m for further i n f o r m a t i o n .
# long name of the PROC
NAME | Realtime Seismic Amplitude Measurement
# proc TYPE and OWNER
TYPE |
OWNCODE | ?
# default raw data format ( might be o v e r w r i t t e n in each node )
RAWFORMAT |
# raw data path ( might be o v e r w r i t t e n in each node )
RAWDATA |
# URN link to data
URNDATA | / rawdata / myproc
# a d d i t i o n n a l URL
URL |
# time zone for outputs
TZ | 0
# lists of p a r a m e t e r s ( number of comma - s e p a r a t e d rows must be c o n s i s t e n t )
# T I M E S C A L E L I S T valid suffix : h ( hour ) , d ( day ) , w ( week ) , m ( month ) , y ( year )
TIMESCALELIST | 04 h ,24 h
DECIMATELIST | 1 ,1
CUMULATELIST | 1 ,1
DATESTRLIST | -1 , -1
MARKERSIZELIST | 2 ,1
LINEWIDTHLIST | .2 ,.1
STATUSLIST | 1 ,0
REF_DATE | 2017 -07 -13 12:00:00

3.7. RSAM: REALTIME SEISMIC AMPLITUDE MEASUREMENT

# e x e c u t i o n command ( for runproc shell )
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } rsam $SELFREF S UBMIT_RESOURCE | rsam
# list of keys ed i t a b l e in r e q u e s t s
R EQUEST_KEYLIST | NAME , REF_DATE
# --- node p a r a m e t e r s
NODE_NAME | node
NODE_SIZE | 10
NODE_RGB | Red
NODE_FONTSIZE | 10
NODE_MARKER | s
# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600
# --- optional user - defined DEM , in ArcInfo format ( o v e r w r i t e s SRTM / ETOPO default )
# DEM_FILE | $WEBOBS { P A T H _ D A T A _ D E M }/ e x a m p l e d e m . asc
# DEM c o o r d i n a t e system : UTM or LATLON
DEM_TYPE | LATLON
DEM_COPYRIGHT |
DEM_SRTM1 | Y
# file for b a c k g r o u n d time r e f e r e n c e d events
EVENTS_FILE | $WEBOBS { ROOT_CONF }/ events_World . conf
# --- page format and outputs
# optional paper size width , height in inches
PAPER_SIZE |
# g r a p h i c a l density for PNG outputs ( in pixel per inches )
PPI | 100
# l a n d s c a p e format for all outputs
LANDSCAPE | NO
# maximum number of s u b p l o t s in a s t a n d a r d page height
P AGE_MAX_SUBPLOT | 8
# makes a PDF file for each graph ( in a d d i t i o n to PNG , EPS and JPG t h u m b n a i l )
PDFOUTPUT | NO
# main logo file
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
# main c o p y r i g h t
COPYRIGHT | Processing by Taisne et al ./ IPGP / EOS
# optional s e c o n d a r y logo file
LOGO2_FILE |
# optional s e c o n d a r y c o p y r i g h t
COPYRIGHT2 |
# events file to plot in the b a c k g r o u n d of each graph
# E V E N T S _ F I L E | $WEBOBS { R O O T _ C O N F }/ e v e n t s _ W o r l d . conf
# exports text data files
# EXPORTS | YES
# --- data p r o c e s s i n g and plot
# removes data picks using median filter (% of min / max values )
P I C K S _C L E A N _ P E R CE N T | 0
# replaces flat signal ( two c o n s e c u t i v e i d e n t i c a l values ) by NaN
FLAT_IS_NAN | NO
# applies a median filter to the data
MEDIAN_FILTER_SAMPLES |0
# s u p e r i m p o s e a moving average on N samples
M O V I N G _ A V E R A G E _ S A M P L E S | 12*60
# set to YES to plot c o n t i n u o u s line i g n o r i n g gaps
C ONTINUOUS_PLOT | NO
# set Y - axis with a log scale
YLOGSCALE | YES
# --- per node graphs
# graph title
PERNODE_TITLE | {\ fontsize {14}{\ bf$node_alias : $node_name } ( $timescale )}
# line style
P E RNO DE_ LINE STY LE | # --- summary graph ( all nodes t o g e t h e r )
# comment this key to not plot the summary graph
SUMMARYLIST | SOURCEMAP
# coma s e p a r a t e d list of c h a n n e l s to plot ( default is all c h a n n e l s )
S UMMARY_CHANNELS | 1
# graph title
SUMMARY_TITLE | {\ fontsize {14}{\ bf$ { NAME }} ( $timescale )}
# line style
S U MMA RY_ LINE STY LE | # --- source mapping
# number of maps will be N * N ( allowed values are 1 ,2 ,3 or 4)
SOURCEMAP_N | 3
S OU RC E MA P _C O LO RM A P | jet
S O U R C E M A P _ C O L O R M A P _ A L P H A | 0 ,1
S OURCEMAP_CAXIS | 0 ,2e -5
S OU RC E MA P _P L OT _M A X | Y

35

36

3.8

CHAPTER 3. BUILT-IN APPLICATIONS

GNSS: GPS time series, vectors and modelling

3.8.1

Overview

3.8.2

Configuration

Some parameter keys of GNSS are common for all PROCS and GRIDS so are identical with the VIEW configuration (see
section 2.3.1).
GNSS template
= key | value
# Generic PROC te m p l a t e for s u p e r p r o c gnss
# S u p e r f o r m a t is ’ gnss ’: see r e a d f m t d a t a _ g n s s . m for c o m p a t i b l e R A W F O R M A T defined
# in a s s o c i a t e d NODE ’ s R A W F O R M A T field
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / gnss . m for further i n f o r m a t i o n .

# long name of the PROC
NAME | GNSS time series , vectors and modelling
RAWFORMAT | gipsy
RAWDATA | $WEBOBS { ROOT_RAWD }/ gipsy
URNDATA | $WEBOBS { URN_RAWD }/ gipsy
# time zone for outputs
TZ | 0
# a d d i t i o n n a l ext e r n a l link ( s ): TEXT1 , URL1 ; TEXT2 , URL2 ;...
URL |
# lists of p a r a m e t e r s ( number of comma - s e p a r a t e d rows must be c o n s i s t e n t )
TIMESCALELIST | 01 y , all
DECIMATELIST |
CUMULATELIST |
DATESTRLIST | -1 , -1
MARKERSIZELIST | 3 ,1
LINEWIDTHLIST | 1 ,.1
STATUSLIST | 1 ,0
# defines a r e f e r e n c e date to use with ’ ref ’ t i m e s c a l e in T I M E S C A L E L I S T
REF_DATE |
# summary graphs
SUMMARYLIST | VECTORS , BASELINES , MODELLING , MODELTIME
# for s c h e d u l e r r e q u e s t s
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } gnss $SELFREF S UBMIT_RESOURCE | gipsy
# list of keys ed i t a b l e in r e q u e s t s
R EQUEST_KEYLIST | NAME , SUMMARYLIST , V E CT O R S _ R E L A T I V E
DEM_SRTM1 | N
# optional user - defined DEM ( Arcinfo format , lat / lon )
# DEM_FILE | $WEBOBS { P A T H _ D A T A _ D E M }/ h i g h r e s d e m _ l a t l o n . asc
# DEM_TYPE | LATLON
# D E M _ C O P Y R I G H T | DEM : myDEM
# file for b a c k g r o u n d time r e f e r e n c e d events
EVENTS_FILE | $WEBOBS { ROOT_CONF }/ events_World . conf
PAPER_SIZE | 8 ,11
PPI | 100
LANDSCAPE | N
PLOT_GRID | N
FONTSIZE | 8
POSTSCRIPT | 1
EXPORTS | 1
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
LOGO2_FILE |
COPYRIGHT | Processing by Beauducel et al ./ IPGP
COPYRIGHT2 |
NODE_NAME | station
NODE_MARKER | o
NODE_SIZE | 6
NODE_RGB | 1 ,0 ,0
NODE_FONTSIZE | 8
# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600

# -------------------------------------------------------------------# specific proc ’ s p a r a m e t e r s

3.8. GNSS: GPS TIME SERIES, VECTORS AND MODELLING

37

# maximum error on p o s i t i o n ( in m ) before e x c l u d i n g the data from graphs and c a l c u l a t i o n s
F IL TE R _M A X_ E RR OR _ M | 1
P I C K S _C L E A N _ P E R CE N T | 0
T REND_ERROR_MODE | 1
# minimum time window ( in days ) needed to compute a trend
TREND_MIN_DAYS | 1
# ITRF r e f e r e n c e ( this is a string d i s p l a y e d on graph title , not f u n c t i o n a l )
ITRF_REF | ITRF08
# Relative veloc i t y r e f e r e n c e E ,N , U ( mm / yr ) from ITRF = c o n s t a n t trend
# s u b s t r a c t e d to all data before any other p r o c e s s i n g
VELOCITY_REF | 0 ,0 ,0
V E L O C I T Y _ R E F _ O R I G I N _ D A T E | 2000 -01 -01
# PERNODE graphs
P E RNO DE_ LINE STY LE | o
PERNODE_TITLE | {\ fontsize {14}{\ bf$node_alias : $node_name - $ { ITRF_REF }} ( $timescale )}
# SUMMARY graphs
S U MMA RY_ LINE STY LE | o
SUMMARY_TITLE | {\ fontsize {14}{\ bf$ { NAME } - $ { ITRF_REF }} ( $timescale )}
# B A S E L I N E S graphs
# - default beha v i o r : all pairs of nodes , with p o s s i b l e node e x c l u s i o n and / or node r e f e r e n c e list
BASELINES_EXCLUDED_NODELIST |
BASELINES_REF_NODELIST |
# - fixed pairs : REF1 , STA1 ; REF2 , STA1 , STA2 , STA5
B A S E L IN E S _ N O D E P AI R S |
B ASELINES_TITLE | {\ fontsize {14}{\ bf$ { NAME } - Baselines } ( $timescale )}
BASELINES_UNIT | mm
B ASELINES_YLABEL | $ r ef _n od e _a li a s ( $ { B ASELINE S_UNIT })
B A S E L IN E S _ L I N E S TY L E | . # VECTORS : e x c l u d i n g NODES from graphs and c a l c u l a t i o n s
VECTORS_EXCLUDED_NODELIST |
V ECTORS_RELATIVE | N
# VECTORS : if V E C T O R S _ R E L A T I V E is Y , s u b s t r a c t s a r e f e r e n c e vector in V E C T O R S _ V E L O C I T Y _ R E F :
# - void ( default ): a u t o m a t i c mean v e l o c i t y ( average vector of all NODES )
# - NODE ’ s FID name or list of NODES : use the v e l o c i t y vector ( or mean v e l o c i t y vector )
# - E ,N , U : sets fixed offset values ( in mm / yr )
VECTORS_VELOCITY_REF |
VECTORS_RELATIVE_HORIZONTAL_ONLY |Y
VECTORS_TITLE | {\ fontsize {14}{\ bf$ { NAME } - Velocity vectors } ( $timescale )}
V E C T O RS _ M I N _ S I Z E_ K M | 10
V E C T O RS _ M A X _ X Y R AT I O | 1.5
V EC TO R S_ A RR O WS HA P E | .15 ,.15 ,.12 ,.03
# defines a main target ( latitude , l o n g i t u d e c o o r d i n a t e s )
G NS S_ T AR G ET _ LA TL O N |
# M O D E L L I N G graph
# e x c l u d i n g NODES from graphs and c a l c u l a t i o n s
MODELLING_EXCLUDED_NODELIST |
# ignores vertic a l c o m p o n e n t
MODELLING_HORIZONTAL_ONLY |Y
# r e c o m p u t e s rel a t i v e v e l o c i t i e s before m o d e l l i n g ( instead of vectors results )
MODELLING_FORCE_RELATIVE |N
# m o d e l l i n g source : ’ isotropic ’ ( f o r m e r l y ’ mogi ’) or ’ pcdm ’ ( point C o m p o u n d D i s l o c a t i o n Model )
M O D E L L I N G _ S O U R C E _ T Y P E | isotropic
# misfit norm c a l c u l a t i o n : ’L1 ’ ( default ) or ’L2 ’
M O D E L L I N G _ M I S F I T N O R M | L1
# a priori h o r i z o n t a l error around the target or grid center ( in STD , km ) , 0 = no a priori
MODELLING_APRIORI_HSTD_KM |0
# set a minimum error on displacements , a b s o l u t e ( mm ) and r e l a t i v e (%) to avoid NaN PDF when misfit is too high
MODELLING_MINERROR_MM |5
MODELLING_MINERROR_PERCENT |1
# i n d i c a t e s the best source s o l u t i o n on graph
M O D E L LI N G _ P L O T _ BE S T | Y
# adds resid ual arrows ( data - model )
MODELLING_PLOT_RESIDUAL |Y
# number of sigma ( STD ) to compute u n c e r t a i n t y i n t e r v a l s for best model
M ODELLING_SIGMAS | 1
# color r e f e r e n c e for model space : ’ pdf ’ or ’ volpdf ’ ( source volume sign x pdf , new default )
M OD EL L IN G _C O LO RR E F | volpdf
M OD EL L IN G _C O LO RM A P | jet (256)
M O D E L L I N G _ C O L O R _ S H A D I N G | 0.8
M O D E L LI N G _ M A X _ D EP T H | 8000
M O DEL LIN G_BO RDE RS | 5000
M O D E L LI N G _ G R I D _ SI Z E | 51
M ODELLING_TITLE | {\ fontsize {14}{\ bf$ { NAME } - Source modelling } ( $timescale )}
# specific pCDM p a r a m e t e r s for M O D E L L I N G
MODELLING_PCDM_ITERATIONS |5
M O D E L L I N G _ P C D M _ R A N D O M _ S A M P L I N G | 100000
M O DEL LIN G_PC DM_ NU | 0.25
M O D E L LI N G _ P C D M _ AL I M | 0 ,1
M O D E L LI N G _ P C D M _ BL I M | 0 ,1
M O D E L L I N G _ P C D M _ O X L I M | -45 ,45
M O D E L L I N G _ P C D M _ O Y L I M | -45 ,45

38

CHAPTER 3. BUILT-IN APPLICATIONS

M O D E L L I N G _ P C D M _ O Z L I M | -45 ,45
M O D E L L I N G _ P C D M _ H E A T M A P _ G R I D | 50
M O D E L L I N G _ P C D M _ H E A T M A P _ S A T U R A T I O N | 0.4
MODELLING_PCDM_HEATMAP_SMOOTH_SPAN |5
MODELLING_PCDM_HEATMAP_SMOOTH_DEGREE |1
MODELLING_PCDM_NEW_THRESHOLD |2
M O D E L L I N G _ P C D M _ N E W _ L I M I T _ E D G E _ R A T I O | 20
MODELLING_PCDM_NEW_LIMIT_EXTEND |1
MODELLING_PCDM_SUPPLEMENTARY_GRAPHS |N
# M O D E L T I M E : defines the moving periods , minimum sampling , maximum models
# [ NOTE ] M O D E L T I M E always uses an i s o t r o p i c source
M O D E L T I M E _ P E R I O D _ D A Y | 30 ,15
MODELTIME_SAMPLING_DAY |2
M O D E L T I M E _ M A X _ M O D E L S | 50
M ODELTIME_TITLE | {\ fontsize {14}{\ bf$name - Source best model timeline } ( $timescale )}

3.9

EXTENSO: Extensometry time series and vectors

3.9.1

Overview

3.9.2

Configuration

Some parameter keys of EXTENSO are common for all PROCS and GRIDS so are identical with the VIEW configuration (see
section 2.3.1).
EXTENSO template
= key | value
# Generic PROC te m p l a t e for s u p e r p r o c extenso
# This PROC must be a s s o c i a t e d with the FORM " EXTENSO " which c o n t a i n s
# c o m p a t i b l e data and needed c o m p l e m e n t a r y c o n f i g u r a t i o n files .
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / extenso . m for further i n f o r m a t i o n .
NAME | Extensometry time series and vectors
RAWDATA |
URNDATA |
TZ | -4
URL |
# lists of p a r a m e t e r s ( number of coma - s e p a r a t e d rows must be c o n s i s t e n t )
TIMESCALELIST | 10 y , all
DECIMATELIST |
CUMULATELIST |
DATESTRLIST | -1 , -1
MARKERSIZELIST | 16 ,12
LINEWIDTHLIST | 2 ,1
STATUSLIST | 1 ,0
# defines a r e f e r e n c e date to use with ’ ref ’ t i m e s c a l e in T I M E S C A L E L I S T
REF_DATE |
# a d d i t i o n a l summary graphs k e y w o r d s ( comma s e p a r a t e d )
SUMMARYLIST | VECTORS
# e x e c u t i o n command ( for runproc shell )
SUBMIT_COMMAND |
S UBMIT_RESOURCE | myproc
NODE_NAME | site
NODE_MARKER | ^
NODE_RGB | 1 ,0 ,0
NODE_SIZE | 10
# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600
MAP1_XYLIM | -61.66805 , -61.65972 ,16.03889 ,16.04722
DEM_SRTM1 | N
# optional user - defined DEM ( Arcinfo format , lat / lon )
# DEM_FILE | $WEBOBS { P A T H _ D A T A _ D E M }/ h i g h r e s d e m _ l a t l o n . asc
# DEM_TYPE | LATLON
# D E M _ C O P Y R I G H T | DEM : myDEM
# time zone for outputs
TZ | 0
# a d d i t i o n n a l ext e r n a l link ( s ): TEXT1 , URL1 ; TEXT2 , URL2 ;...
URL |
# file for b a c k g r o u n d time r e f e r e n c e d events
EVENTS_FILE | $WEBOBS { ROOT_CONF }/ events_World . conf

3.10. TILT: TILTMETRY TIME SERIES, VECTORS AND MODELLING

39

PPI | 100
POSTSCRIPT | 1
EXPORTS | 1
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
LOGO2_FILE |
COPYRIGHT | Processing by Beauducel et al ./ IPGP
COPYRIGHT2 |
# specific PROC ’ s p a r a m e t e r s
F I L T E R_ M A X _ E R R O R_ M M | 10
ZONE1_NAME | Zone Nord
ZONE1_NODELIST | FNW1 , DUP1 , DUP2 , DUP3 , FNO1
ZONE2_NAME | Zone Sud - Est
ZONE2_NODELIST | NAP1 , F8J1 , BLK1 , LCX1 , CSD1
ZONE3_NAME | Zone Sud
ZONE3_NODELIST | DOL1 , DOL2 , PEY1 , F302 , F303
V E C T O R S _ E X C L U D E D _ N O D E L I S T | BAT0 , HOU1
V EC TO R S_ A RR O WS HA P E | .15 ,.1 ,.1 ,.04
VECTORS_VELOCITY_SCALE |0
V E C T O RS _ M I N _ S I Z E_ K M | .5
V E C T O RS _ M A X _ X Y R AT I O | 2

3.10

TILT: Tiltmetry time series, vectors and modelling

3.10.1

Overview

3.10.2

Configuration

Some parameter keys of TILT are common for all PROCS and GRIDS so are identical with the VIEW configuration (see section
2.3.1).
TILT template
= key | value
# Generic PROC te m p l a t e for s u p e r p r o c tilt
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / tilt . m for further i n f o r m a t i o n .
# long name of the PROC
NAME | Tiltmetry time series , vectors and modelling
# proc TYPE and OWNER code ( see OWNERS . conf for O W N C O D E s )
TYPE |
OWNCODE | ?
RAWFORMAT |
# raw data path
RAWDATA |
# URN link to data
# URNDATA |/ rawdata / myproc
# time zone for outputs
TZ | +0
# a d d i t i o n n a l URL
URL |
# lists of p a r a m e t e r s ( number of comma - s e p a r a t e d rows must be c o n s i s t e n t )
# T I M E S C A L E L I S T valid suffix : h ( hour ) , d ( day ) , w ( week ) , m ( month ) , y ( year )
TIMESCALELIST | 24 h ,01 w
DECIMATELIST | 1 ,1
CUMULATELIST | 1 ,1
DATESTRLIST | -1 , -1
MARKERSIZELIST | 6 ,3
LINEWIDTHLIST | 1 ,1
STATUSLIST | 1 ,0
# defines a r e f e r e n c e date to use with ’ ref ’ t i m e s c a l e in T I M E S C A L E L I S T
REF_DATE |
# a d d i t i o n a l summary graphs k e y w o r d s ( comma s e p a r a t e d )
SUMMARYLIST | VECTORS , MODELLING
S UMMARY_CHANNELS | 1 ,2 ,3
# e x e c u t i o n command ( for runproc shell )
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } tilt $SELFREF S UBMIT_RESOURCE | myproc
# list of keys ed i t a b l e in r e q u e s t s
R EQUEST_KEYLIST | NAME , VECTORS_EXCLUDED_NODELIST , M O D E L L I N G _ E X C L U D E D _ N O D E L I S T
# node p a r a m e t e r s
NODE_NAME | station
NODE_SIZE | 10
NODE_RGB | 1 ,0 ,0
NODE_FONTSIZE | 10
NODE_MARKER | o

40

CHAPTER 3. BUILT-IN APPLICATIONS

# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600
# --- optional user - defined DEM , in ArcInfo format ( o v e r w r i t e s SRTM / ETOPO default )
DEM_FILE | $WEBOBS { PATH_DATA_DEM }/ exampledem . asc
# DEM c o o r d i n a t e system : UTM or LATLON
DEM_TYPE | LATLON
DEM_COPYRIGHT |
# file for b a c k g r o u n d time r e f e r e n c e d events
EVENTS_FILE | $WEBOBS { ROOT_CONF }/ events_World . conf
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
COPYRIGHT | Processing by Beauducel et al ./ IPGP
LOGO2_FILE |
COPYRIGHT2 |
# g r a p h i c a l density for PNG outputs ( in pixel per inches )
PPI | 100
# value = 1 to produce EPS graphs
POSTSCRIPT | 1
# value = 1 to export text data files
EXPORTS | 1

P I C K S _C L E A N _ P E R CE N T | 0
FLAT_IS_NAN | NO
# applies a median filter to the data
MEDIAN_FILTER_SAMPLES |0
T REND_ERROR_MODE | 1
# defines the cha n n e l s
TILTX_CHANNEL | 1
TILTY_CHANNEL | 2
T E M P E RA T U R E _ C H A NN E L | 3
T IL T_ T AR G ET _ LA TL O N |
PERNODE_TEMPERATURE_BACKGROUND |N
P E R N O D E _ T E M P E R A T U R E _ C O L O R | 1 ,.7 ,.7
MOTION_EXCLUDED_NODELIST |
M OT IO N _M I N_ S IZ E_ K M | 10
M OT IO N _M A X_ X YR AT I O | 1.5
M O T I O N _ T I M E _ C O L O R M A P | jet (256)
MOTION_DEM_OPT | ’ colormap ’ ,.5* ones (64 ,3) , ’ watermark ’ ,2 , ’ interp ’ , ’ legend ’
MOTION_TITLE | {\ fontsize {14}{\ bf$name } ( $timescale )}
VECTORS_TITLE | {\ fontsize {14}{\ bf$name } ( $timescale )}
VECTORS_EXCLUDED_NODELIST |
V ECTORS_DEM_OPT | ’ watermark ’ ,2 , ’ interp ’ , ’ legend ’
VECTORS_VELOCITY_SCALE |
V E C T O RS _ M I N _ S I Z E_ K M | 10
V E C T O RS _ M A X _ X Y R AT I O | 1.5
V EC TO R S_ A RR O WS HA P E | .1 ,.1 ,.08 ,.02
M ODELLING_TITLE | {\ fontsize {14}{\ bf$name } ( $timescale )}
MODELLING_EXCLUDED_NODELIST |
M O D E L LI N G _ M A X _ D EP T H | 5000
M O DEL LIN G_BO RDE RS | 2500
M O D E L LI N G _ G R I D _ SI Z E | 100
M ODELLING_SIGMAS | 1

3.11

METEO: meteorological time series

3.11.1

Overview

3.11.2

Configuration

Some parameter keys of METEO are common for all PROCS and GRIDS so are identical with the VIEW configuration (see
section 2.3.1).
METEO template
= key | value
# Generic PROC te m p l a t e for s u p e r p r o c meteo
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / meteo . m for data format and further i n f o r m a t i o n .

# long name of the PROC
NAME | Meteorological time series
RAWDATA | $WEBOBS { ROOT_RAWD }/ campbell
RAWFORMAT | cr10xasc

3.11. METEO: METEOROLOGICAL TIME SERIES
# proc TYPE and OWNER code ( see OWNERS . conf for O W N C O D E s )
TYPE |
OWNCODE | ?
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
TZ | 0
# lists of p a r a m e t e r s ( number of comma - s e p a r a t e d rows must be c o n s i s t e n t )
TIMESCALELIST | 24 h ,30 d ,01 y ,10 y , all
DECIMATELIST | 1 ,1 ,6 ,6 ,6
CUMULATELIST | 1/24 ,1 ,1 ,30 ,30
DATESTRLIST | -1 , -1 , -1 , -1 , -1
MARKERSIZELIST | 6 ,4 ,2 ,1 ,1
LINEWIDTHLIST | 1 ,1 ,1 ,1 ,1
STATUSLIST | 1 ,0 ,0 ,0 ,0
# defines a r e f e r e n c e date to use with ’ ref ’ t i m e s c a l e in T I M E S C A L E L I S T
REF_DATE |
# SUMMARYLIST |
# e x e c u t i o n command ( for runproc shell )
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } meteo $SELFREF S UBMIT_RESOURCE | mymeteo
# list of keys ed i t a b l e in r e q u e s t s
R EQUEST_KEYLIST | NAME
# node p a r a m e t e r s
NODE_NAME | station
NODE_SIZE | 15
NODE_RGB | 1 ,0 ,0
NODE_FONTSIZE | 10
NODE_MARKER | o
# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600
# --- optional user - defined DEM , in ArcInfo format ( o v e r w r i t e s SRTM / ETOPO default )
DEM_FILE | $WEBOBS { PATH_DATA_DEM }/ exampledem . asc
# DEM c o o r d i n a t e system : UTM or LATLON
DEM_TYPE | LATLON
DEM_COPYRIGHT |
# file for b a c k g r o u n d time r e f e r e n c e d events
EVENTS_FILE | $WEBOBS { ROOT_CONF }/ events_World . conf
# g r a p h i c a l density for PNG outputs ( in pixel per inches )
PPI | 100
# l a n d s c a p e format for all outputs
LANDSCAPE | N
# value = 1 to produce EPS graphs
POSTSCRIPT | 1
# value = 1 to export text data files
EXPORTS | 1
# main logo file
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
# s e c o n d a r y logo file
LOGO2_FILE |
# main c o p y r i g h t
COPYRIGHT | MyProc
# secondary copyright
COPYRIGHT2 |
# -------------------------------------------------------------------# specific proc ’ s p a r a m e t e r s
RAIN_CHANNEL | 6
R AIN_CUMSUM_DATA | NO
W IN D_ S PE E D_ C HA NN E L | 5
WIND_AZIMUTH_CHANNEL |4
WIND_ROSE_STEP | 10
XY_CHANNELS | 3 ,8
NODE_CHANNELS | 1 ,2 ,7 ,4 ,5 ,3 ,8
R A I N _ A L E R T _ T H R E S H O L D | 50
R A I N _ AL E R T _ I N T E RV A L | 1
R AIN_ALERT_DELAY | 3
RAIN_ALERT_RGB | 1 ,.3 ,.3
R A I N _ A L E R T _ D E L A Y _ R G B | 1 ,.6 ,.6

41

42

CHAPTER 3. BUILT-IN APPLICATIONS

3.12

WATERS: chemical analysis

3.12.1

Overview

3.12.2

Configuration

Some parameter keys of WATERS are common for all PROCS and GRIDS so are identical with the VIEW configuration (see
section 2.3.1).
WATERS template
= key | value
# Generic PROC te m p l a t e for s u p e r p r o c waters
# This PROC must be a s s o c i a t e d with the FORM " EAUX " which c o n t a i n s c o m p a t i b l e
# data and needed c o m p l e m e n t a r y c o n f i g u r a t i o n files .
# See $WEBOBS { R O O T _ C O D E }/ matlab / s u p e r p r o c s / waters . m for further i n f o r m a t i o n .

# long name of the PROC
NAME | Waters chemical analysis
# proc TYPE and OWNER code ( see OWNERS . conf for O W N C O D E s )
TYPE |
OWNCODE | ?
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
TZ | 0
# auto refresh of graphic display
D I S P L A Y _ A U T O R E F R E S H _ S E C O N D S | 3600
# lists of p a r a m e t e r s ( number of comma - s e p a r a t e d rows must be c o n s i s t e n t )
TIMESCALELIST | 10 y ,50 y , all
DECIMATELIST |
CUMULATELIST |
DATESTRLIST | 10 ,10 ,10
MARKERSIZELIST | 4 ,2 ,2
LINEWIDTHLIST | 1 ,.5 ,.1
STATUSLIST | 1 ,0 ,0
# defines a r e f e r e n c e date to use with ’ ref ’ t i m e s c a l e in T I M E S C A L E L I S T
REF_DATE |
SUMMARYLIST |
# e x e c u t i o n command ( for runproc shell )
SUBMIT_COMMAND | $WEBOBS { JOB_MCC } waters $SELFREF S UBMIT_RESOURCE | waters
# list of keys ed i t a b l e in r e q u e s t s
R EQUEST_KEYLIST | NAME
# node p a r a m e t e r s
NODE_NAME | spring
NODE_SIZE | 15
NODE_RGB | 0 ,1 ,1
NODE_FONTSIZE | 10
NODE_MARKER | s
# file for b a c k g r o u n d time r e f e r e n c e d events
EVENTS_FILE | $WEBOBS { ROOT_CONF }/ events_World . conf
# --- optional user - defined DEM , in ArcInfo format ( o v e r w r i t e s SRTM / ETOPO default )
DEM_FILE | $WEBOBS { PATH_DATA_DEM }/ exampledem . asc
# DEM c o o r d i n a t e system : UTM or LATLON
DEM_TYPE | LATLON
DEM_COPYRIGHT |
# g r a p h i c a l density for PNG outputs ( in pixel per inches )
PPI | 100
# l a n d s c a p e format for all outputs
LANDSCAPE | N
# value = 1 to produce EPS graphs
POSTSCRIPT | 1
# value = 1 to export text data files
EXPORTS | 1
# main logo file
LOGO_FILE | $WEBOBS { ROOT_CODE }/ icons / ipgp / logo_WOVS . png
# s e c o n d a r y logo file
LOGO2_FILE |
# main c o p y r i g h t
COPYRIGHT | MyProc
# secondary copyright
COPYRIGHT2 |

3.13. PROCS GRAPH AND DATA REQUEST

3.13

PROCS graph and data request

3.13.1

Overview

43

A dedicated form /cgi-bin/formREQ.pl allows to make user request to get any outputs (graphs and data) from PROCS
sharing the same set of time span and parameters, mostly independent from the SCHEDULER’s jobs. The identified USER
has to be authorized for reading on the PROC to perform a request on it.

3.13.2

Description

The form presents a list of available PROCS with empty check boxes. One or more PROCS can be selected, in that case a
parameter list might appear for each of selected PROC, allowing the user to change the values. Please note there is no validity
check of the values so a request may fail in case of invalid fields.
The main parameter to define is the date and time span: Start date and End date with time. Default is the last full month.
A list of preset dates is also available. The date and time must be in UT.
Also some output parameters can be defined:
• TZ: the output time zone, in hours. Will affect graphs and data exports.
• Date format: the format of dates for time series plots axis ticks label.
• Cumulate: time for cumulating data (when cumulative allowed in the PROC), in day. Use fraction or any arithmetic
formula if needed.
• Decimate: number of sample for decimation of the raw data (time series).
• Marker size: maker size in points (if the PROC uses markers).
• Line width: line width in points (if the PROC uses lines).
• PPI: resolution for PNG output images, in pixel per inch.
• Postscript: outputs the EPS vector graphic images (default is cheched).
• PDF: outputs a PDF version of images.
• Exports: outputs data (text files or others depending on the PROC).
After submit the request, each of the PROC will be submitted to SCHEDULER as specific jobs. The name of the job is made
from date and time of the request, hostname and user login name.
The run of each PROC can be followed on the scheduler runs page. If a job ends with success, a notification email is sent to
the user through the POSTBOARD. The email provides two links: a first to access the request results (graphs and exports)
through a web interface similar to the routine PROC graphs. The second link allows to download a .tgz archive containing all
images and files of the request.

44

CHAPTER 3. BUILT-IN APPLICATIONS

A dedicated page is also available to access request results: /cgi-bin/showREQ.pl. The page will show the user’s requests
and results (if the request job has ended successfully), or all the existing requests for ADMIN users.

3.13.3

Configuration
PROC.conf (excerpt)

SUBMIT_COMMAND | $WEBOBS { JOB_MCC } genplot $SELFREF S UBMIT_RESOURCE | myproc
R EQUEST_KEYLIST | NAME , SUMMARY_RELATIVE , P E R N O D E _ L I N E S T Y L E

The request form displays any PROC containing a not-empty SUBMIT COMMAND parameter in its configuration. This parameter
is the routine execution command line, ie. equivalent to the value of a XEQ1 in the SCHEDULER (see scheduler.pl doc) and,
as such, supporting $WEBOBS parameters substitution.
The SUBMIT RESOURCE is the optional routine execution mutex name (process lock) of as defined in SCHEDULER if the PROC
is one of the routine jobs. This is to avoid possible conflicts of simultaneous runs.
Optionally, the REQUEST KEYLIST parameter is used to specify a list of comma-separated keys of existing parameters, that will
be presented to the user so that (s)he will have a chance to overwrite corresponding values for request execution.
The user defined output parameters Date format, Cumulate, Decimate, Marker size and Line width correspond to table
values DATESTRLIST, CUMULATELIST, DECIMATELIST, MARKERSIZELIST and LINEWIDTHLIST, respectively.
The list of available preset values for PPI resolution, marker size and line width can be defined in WEBOBS.rc :
WEBOBS.rc (excerpt)
REQ_PPI_LIST | 75 ,100 ,150 ,300 ,600
R E Q _ M AR K E R S I Z E _ LI S T | 1 ,2 ,4 ,6 ,10 ,15 ,20
R EQ _L I NE W ID T H_ LI S T | 0.1 ,0.25 ,0.5 ,1 ,1.5 ,2 ,3

To use the notification email facility, POSTBOARD must be running, and the special event formreq. must be defined and
valid (see WebObs Users Manager page).

3.14

Data formats available for PROCS

Formats are defined for a whole PROC in the RAWFORMAT PROC’s variable, or for individual NODE in the RAWFORMAT NODE’s
parameter which overwrites the PROC value. The RAWDATA PROC’s variable can be defined for all associated NODES, and
any individual NODE’s RAWDATA may overwrite it. A special variable $FID might be used and will be replaced by each NODE’s
value. For most of the formats, the Calibration File of each associated NODE will define the list of available channels and
associated parameters.
See the source codes CODE/matlab/readfmtdata.m help for more details.

3.14.1

Waveforms formats

These formats are standards in seismology for waveforms data, but they are also used for other types of geophysical sensors.
The standards use local files in specific format or dedicated protocol request from distant servers. Particularly, the full channel
stream must be defined for each NODE, i.e.:
NET
STA
CHA
LOC

network code
station code
channel code
location code

FDSN NETWORK CODE NODE’s parameter
FID NODE’s parameter
calibration file “Chan. Code” channel parameter
calibration file “LC” channel parameter

{miniseed}: miniSEED files
Single of multiple local files in miniSEED format. RAWDATA defines the filename(s) using standard bash syntax (accepts
wildcards). Some limitations may apply due to bash line size limit.

{seedlink}: SeedLink request
SeedLink protocol request from a distant or local server. RAWDATA defines the server with host:port. The format uses external
program slinktool defined by the WEBOBS.rc SLINKTOOL PRGM parameter. DATALINK DELAY SECONDS defines the delay in
seconds from real-time for the last data.

3.14. DATA FORMATS AVAILABLE FOR PROCS

45

{arclink}: SeisComP3 ArcLink request
ArcLink protocol request from a distant or local server. RAWDATA defines the server with host:port. Optional parameter
ARCLINK USER can be defined (default user is ’wo’). The format uses external program arclink fetch defined by the WEBOBS.rc ARCLINKFETCH PRGM parameter.

{combined}: SeisComP3 combined SeedLink/ArcLink request
The combined format will use SeedLink protocol for recent data and ArcLink protocol for data older than a delay. RAWDATA
must contain the string seedlinkhost:seedlinkport;arclinkhost:arclinkport;delayhours. It will use both external programs
defined in WEBOBS.rc SLINKTOOL PRGM and ARCLINKFETCH PRGM parameters.

{fdsnws-dataselect}: FDSN web-service dataselect request
Distant waveform request using the FDSN web-service protocol available at most of seismological data centers. RAWDATA must
contain the base URL, for example: http://service.iris.edu/fdsnws/dataselect/1/query? for IRIS.

{winston}: EarthWorm Winston wave server request
EarthWorm Winston wave server (WWS) protocol request from a distant or local server. RAWDATA defines the server with
host:port.

3.14.2

Generic time series

These formats will return time series of data channels, like the waveform formats do but usually the data sampling frequency
is lower than for seismic waveforms, so it can be managed using data files stored in local directories. Number of channels
depends on the data and can be selected and calibrated using the NODE’s calibration file.

{ascii}: Generic ASCII text files
Attempt to read generic text files with regular data columns. RAWDATA contains the full path and filename(s) using bash
wildcard facilities. The data files must be organized as regular columns of numbers (strings will produce a column of NaN),
any separator character, and the date and time must be defined as 3 (year, month, day) or 6 columns (year, month, day, hour,
minute, second) at some place (default is the 6 first columns). If there is no calibration file for a NODE, the header line will
be used to get the channel names.
For this format you may define optional additional FID * keys for each NODE to specify the format:
FID FS
FID TIMECOLS
FID NF
FID HEADERLINES

field separator character (default is semicolumn),
index vector of columns defining date&time in order: year month day hour minute second,
number of data columns in the file, considering all non-numeric as separator (default is automatic),
number of header lines (default is 1).

Generic ASCII format example 1: time + data channels 1 to 3.
Date ;
06/06/2017 18:00:00;
06/06/2017 18:00:09;

P_0 ;
752.579529;
724.445852;

SO2_0 ;
-0.061299;
-0.071515;

H2S_0 ;
-0.031172;
-0.024938;

FID * parameters to read example 1 file.
FID_FS | ;
FID_TIMECOLS | 3 ,2 ,1 ,4 ,5 ,6
FID_NF | 9
F ID_HEADERLINES | 1

Generic ASCII format example 2: data channel 1 (all NaN) + time + data channels 2 to 4.
VMAB
VMAB
VMAB

01/01/12
01/01/12
01/01/12

06:20:11
06:40:11
07:00:11

132
135
133

338
337
336

40.6
40.7
40.6

FID * parameters to read example 2 file.
FID_FS | \ t
FID_TIMECOLS | 4 ,3 ,2 ,5 ,6 ,7
FID_NF | 10
F ID_HEADERLINES | 0

46

CHAPTER 3. BUILT-IN APPLICATIONS

{sql-table}: SQL-table request
Request to a SQL database using external program mysql. RAWDATA must contain the full command that will return the data
in the text format yyyy-mm-dd HH:MM:SS data1 data2 data3 .... The command must include two variables $date1 and
$date2 that will be replaced by the timespan request. Example:
mysql -h host -u user -ppasswd -Ddatabase -N -B -e ’SELECT time,data1,data2,data3 from $FID WHERE time
between ”$date1” and ”$date2”;’
will make a request from the database at server host on the table $FID and return timestamp and data columns. The
calibration file must define these 3 channels in that order.

{cr10xasc}: Campbell Scientific CR10X ASCII files
Daily data files from data loggers CR10X archived in a specific directory structure. RAWDATA contains the main directory path,
in which files are stored in the following subpath and name: FID/YYYY/YYYYMMDD.DAT. Each file has the data format:
PRGM,yyyy,doy,HM,data1,data2, ... ,dataN, where PRGM is the program number, yyyy the 4-digit year, doy the day of
the year (ordinal day), HM the hour and minute with leading blanks, and the data.

Campbell CR10X format example
121 ,2013 ,365 ,2340 ,8.6971 , -20.168 ,0 ,91.3 ,22.48 ,0 ,826.42 ,12.514 ,99999 ,0 ,0
121 ,2013 ,365 ,2350 ,8.7294 , -20.016 ,0 ,88.4 ,20.02 ,0 ,826.43 ,12.521 ,99999 ,0 ,0

{t0a5}: Campbell Scientific T0A5 ASCII files
Daily data files from Campbell Scientific data loggers in the T0A5 output format, archived in a specific directory structure.
RAWDATA contains the main directory path, in which files are stored in the following subpath and name: FID/YYYY/FIDYYYYDDD.DAT. Each file has the data format: ”yyyy-mm-dd HH:MM:SS”,data1,data2, ... ,dataN.

Campbell T0A5 format example
"2014 -01 -11 00:00:00" ,68148 ,12.1 ,16.07 ,15.29 ,100 ,938 ,0.02 ,0.02 ,0 ,7.875425 ,98.67353 ,10.86884 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0
"2014 -01 -11 00:10:00" ,68149 ,12.1 ,15.96 ,14.76 ,100 ,938 ,0.021 ,0.021 ,0 ,7.200668 ,101.9742 ,11.35311 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0

{porkyasc}: USGS Porky ASCII files
Daily data files from USGS Porky data systems, archived in a specific directory structure. RAWDATA contains the main directory
path, in which files are stored in the following subpath and name: FID/YYYY/YYYYMMDD.DAT. Each file has the data
format: DD-MMM-YYYY HH:MM data1 data2 ... dataN.

USGS Porky format example
01 - JAN -2014 00:00
01 - JAN -2014 00:05

3.14.3

00000
00001

00029
00040

00013
00010

03181
03182

00001 -00998 -00998 -00998
00001 -00998 -00998 -00998

Quakes catalogs

These are specific formats for PROCS dedicated to earthquake catalogs. These formats returns a list of event with preset
channels, like Latitude, Longitude, Depth, Magnitude, etc... There is no calibration file (if it exists it will be ignored). It is
possible to link this format with a Main Courante (MC3) database using the NODE’s FID MC3 with the MC3 name. In that
case some information from MC3 might be associated to identified events.
An other specificity of these formats is that all catalogs from different associated NODES will be concatenated in a single data
matrix. This allows to merge for instance, a distance worldwide catalog like USGS (for large earthquakes), a local catalog
from a local network, and an historical catalog in an old-fashion file format.

{hyp71sum2k}: Quake Hypo71 summary lines year 2000 compatible
Single file in the HYPO71 ASCII format identified by RAWDATA with full filename and path. The standard format is completed by two last columns: SCode for a 5-letter identification code, and File for the waveform filename. Note the file is
column formatted, without any delimiter, there is no leading zeros but blanks, and the longitude value is positive towards the
West.

3.14. DATA FORMATS AVAILABLE FOR PROCS

47

HYPO71 format example
#
DATE ORIGIN
LAT_N
18430208 1440 00.00 16 -44.00
20141005 1819 07.34 14 -48.70

LON_W
DEPTH
MAG NO GAP DMIN RMS ERH ERZ Q
61 -10.00 000.00
8.00 00 000 00.0 0.00 00.0 00.0 0
61 -10.33
-0.24 D 1.52 8 166 0.3 0.26 0.6 0.8 C

SCode File
TE9GM
EB1
20141005 _181900 . mq0

{fdsnws-event}: Quake FDSN WebServices event request
Distant event data request using the FDSN web-service protocol available at most of seismological data centers. It accepts the
QuakeML 1.2 format only. RAWDATA must contain the base URL, for example: http://service.iris.edu/fdsnws/event/1/query?
for IRIS.

{scevtlog-xml}: Quake SeisComP3-xml files
Reads a files architecture created by the SeisComP3 scevtlog module. RAWDATA defines the path root where events are stored
in a subdirectory structure as YYYY/MM/DD/eventID/eventID.last.xml in the SC3ML format.

3.14.4

GNSS solutions

These are specific formats for PROCS dedicated to positioning data from GNSS (Global Network Satellite Systems) like GPS
or GLONASS. These formats returns preset channels: Eastern, Northern, Vertical and Orbit type.

{gipsy-tdp}: JPL GIPSY-OASIS TDP files
TDP (Time Dependant Parameter) files results of the JPL GIPSY-OASIS processing in IRTF. The format uses only the position
part of the data: Time Dinit Dfinal error STA c ssss where Time is GPS date in seconds past J2000, c is the component in
geocentric referential, ssss the station name. P.RAWDATA contains the path root directory where daily solutions files are stores
in a subdirectory structure as FID/YYYY/FID/YYYY-MM-DD.FID.tdp*.

GIPSY-OASIS TDP format example
476712000.0000
476712000.0000
476712000.0000

17 9 7 . 1 1 4 6 0 4 0 0 0 0 0
-5375.91966100000
29 2 0 . 3 4 9 7 1 8 0 0 0 0 0

1 7 9 7 . 11 4 6 3 3 8 4 4 2 1
-5375.91974126823
2 9 2 0 . 34 9 7 5 9 7 7 4 7 2

9.751 E -07
2.297 E -06
1.377 E -06

STA Z
STA Y
STA X

ABD0
ABD0
ABD0

{globkval}: MIT GAMIT-GLOBK VAL files
Single file output of Gamit-GlobK processing in ITRF referencing. P.RAWDATA defines the full path filename of the .VAL result
file which contains solution timeseries for each component and each station.

GAMIT-GLOBK VAL format example
Combination of ALL networks
ILAM_GPS to E Solution 1 + 32197594.810 m
2012 12 19 11 59
2012 12 20 11 59
...
2013 12 17 11 59
Wmean
Slope

32197 594.8099 0
32197 594.8108 7

0.00626
0.00433

-0.00183
-0.00090

0.00626
0.00433

32197 594.8186 6

0.00519

-0.00799

0.00519

32197594.8184 m + - 0.0003 from
15.01 + 0.84 mm / yr , WRMS

Combination of ALL networks
ILAM_GPS to U Solution 1 +
2012 12 19 11 59
2012 12 20 11 59
...
2013 12 17 11 59
Wmean
Slope

3.14.5

340 data . WRMS
5.2 mm , NRMS 1.19
3.1 mm , NRMS 0.70 , dur 0.99 <> 2013.41 yr

-0.750 m

-0.74977
-0.74919

0.01910
0.01048

0.01410
0.01471

0.01910
0.01048

-0.80060

0.01370

-0.02614

0.01370

-0.7686 m + - 0.0006 from
-10.66 + 2.20 mm / yr , WRMS

340 data . WRMS
9.3 mm , NRMS 0.82
8.8 mm , NRMS 0.78 , dur 0.99 <> 2013.41 yr

Other specific formats

These formats are basically time series but the channels are predefined.

48

CHAPTER 3. BUILT-IN APPLICATIONS

{teqc-qc}: TEQC Rinex quality check
{naqs-soh}: NAQS State of Health
{wodbform}: WebObs database forms
This format is not selectable. It becomes active automatically when a PROC is associated to a FORM and its specific database.
In that case the data columns are determined by the FORM type.

Chapter 4

Administration
4.1
4.1.1

Users, Groups and Authorizations
Overview

WebObs uses its own AUTHORIZATION system, in addition to the Apache Authentication system, to identify its HTTP
USERS and control their individual ACCESS-RIGHTS to WebObs RESOURCES (ie. logical entities refering to files, processes,
html-pages, whatever).
AUTHORIZATION system elements:
• a USERS TABLE that further identifies the USERS defined in the Apache Authentication files (eg. .htpasswd),
• a GROUPS TABLE that merely defines groups of USERS, to simplify (reduce number of) access-rights definitions,
• RESOURCES are fully identified as resourceType.resourceName,
• RESOURCES TABLES are the resourceType tables containing their own resourceName descriptions,
• a resourceName description defines the relationship uid-or-gid has access-rights,
• Supported access-rights are:
– R = 1 Read
– E = 2 Edit = Read + Write
– A = 4 Admin = Edit + Create/Delete

4.1.2

Users table and Groups table

A WebObs USER is identified by its LOGIN (string) as also defined in the HTTP Authentication system. A row in the USERS
TABLE further defines a USER with the following information:
• LOGIN
• FULLNAME, the user’s name
• UID, a short identification string, usually the user’s name initials, to be used for access-rights and other functionnal
needs
• EMAIL, the email address (somebody@somewhere) used by the WebObs POSTBOARD system,
Two special UIDs are reserved for system use:
• ? to identify a GUEST user (granted to undefined users for temporary/limited access to WebObs ),
• ! to identify the WEBOBS OWNER.
Records of the GROUPS TABLE associate UIDs to GROUP names (aka GID). A GID must starts with a ’+’ sign. A USER
may be a member of more than one GROUP. A USER inherits all access-rights defined for the GROUP(s) it belongs to.
Four (4) special GROUPs are pre-defined in WebObs : +ADMIN, +DUTY, +OBSERVER and +VISITOR. They are
initially used to define access-rights to WebObs built-in tools and/or applications.

49

50

CHAPTER 4. ADMINISTRATION

4.1.3

Resource tables

The fully qualified name of a WebObs RESOURCE is resourceType.resourceName.
There are five (5) resourceType tables: authviews, authprocs, authforms, authwikis corresponding to the base WebObs objects and authmisc for any additional, unclassified, resourceNames definitions. They are already populated with resourceNames
related to WebObs built-in tools and applications.
The special resourceName ”*” stands for ”all resourceNames of this resourceType”.
resourceNames are strings, defined and documented by the developers of the WebObs tools or applications.

4.1.4

Managing Users and Authorizations

The USERS ADMIN page /cgi-bin/usersMgr.pl (built-in tool), initially restricted to the +ADMIN group, is used to create/modify/delete user and resources definitions.
USERS and RESOURCE TABLES have customization variables in the main configuration file WEBOBS.rc:
WEBOBS.rc (excerpt)
SQL_DB_USERS | $ { ROOT_CONF }/ WEBOBSUSERS . db
S QL_TABLE_USERS | users
S Q L _ T AB L E _ A U T H P RO C S | authprocs
S Q L _ T AB L E _ A U T H V IE W S | authviews
S Q L _ T AB L E _ A U T H F OR M S | authforms
S Q L _ T AB L E _ A U T H W IK I S | authwikis
S QL _T A BL E _A U TH MI S C | authmisc
S QL_TABLE_GROUPS | groups

4.1.5

Developing with Users and Authorizations system

The WebObs::Users perl module is the built-in interface to the USERS/AUTHORIZATIONS objects and functions system.
Detailed programming information can be found in its ’perldoc’ documentation, such as:
• global variables USERS, USERIDS and CLIENT
• the special ’path-like’ specification for resourceNames
• functions: allUsers, clientHasRead, clientHasEdit, clientHasAdm, listRNames
Developers may add/define/use their own resourceName(s) for their specific needs.

4.1.6

Adding a new user

Registration of a new user is done in 3 steps:
1. new user must fill the form (see screenshot 4.1) by connecting to WebObs interface and click ’Cancel’ when asked to
login. The data (with encrypted password) will be stored as a new pipe-separated line in the file DATA/DB/reglog
and an e-mail will be sent to user and WebObs owner;
2. using Users Admin interface, administrator adds the user (see section 4.1.2);
3. add manually the encrypted password as a new line to the file CONF/htpasswd; this activates the Apache user.

4.2
4.2.1

PostBoard
Overview

WebObs tools and applications may wish to send (email) alerting/warning/information messages to WebObs USERs when
detecting special processing conditions or other events. Deciding who needs/wishes to receive such messages, and actually
sending them, should be as easy as possible from the developers point of view; furthermore, WebObs administrators should be
able to easily filter/choose which users should receive what, based on operationnal needs, authorizations concerns, and even
user’s choice of being (or not being) alerted.
The WebObs POSTBOARD system (notifications/subscriptions) addresses these needs. Elements of POSTBOARD architecture:

4.2. POSTBOARD

51

Figure 4.1: Registration form for new users.

• Tools and applications simply and unconditionnaly send identified messages (NOTIFICATIONS) to POSTBOARD
• NOTIFICATIONS basically look like ”eventname|senderId|message”
• POSTBOARD is a daemon that tries to match the eventname of the NOTIFICATIONS it receives against active
SUBSCRIPTIONS that tell it what to do: either send a mail to a UID (or GID), or trigger a command, or both
• a SUBSCRIPTION is a row in the WebObs NOTIFICATIONS TABLE with the following fields:
eventname
validity
uid
subject
attachment
action

4.2.2

identifying the SUBSCRIPTION to match NOTIFICATIONS sent to POSTBOARD
indicating active/inactive
UID or GID to whom mail the NOTIFICATION
subject of the mail being sent
optional, path of a file to attach to mail
optional, a command to be executed

Event names

Event names identify and associate NOTIFICATIONS to SUBSCRIPTIONS:
• eventname = string[.[string]]
• string.string is known as the majorname.minorname form of an event-name
• majorname.minorname identifies a single subscription named majorname.minorname AND
• a majorname. subscription, if defined as such (don’t forget the ending dot!), will also match all majorname.minorname
notifications This is the way to define common mail/action to a set of notifications.
• some eventnames are already defined for internal WebObs usage. These reserved eventnames are : eventnode ,
formreq. , scheduler.alert , scheduler.warning , submitrc.
Example: a WebObs application may issue (notify) NOTIFICATIONs identified with myevent eventname; The SUBSCRIPTION myevent,Y,UID,mysubject,-,- is registered in the NOTIFICATION TABLE; the following mail will eventually be sent
by POSTBOARD when the application notifies ”myevent||the application message” :

mail for myevent notification
From : we bob s@we bo b s a d d r
To : UID ’ s mailaddr
Subject : [ WEBOBS_ID ] mysubject
User - Agent : Mutt /1. x . xx (2000 -01 -01)
the application message

4.2.3

Managing PostBoard Subscriptions

The USERS ADMIN page /cgi-bin/usersMgr.pl (built-in tool), initially restricted to the +ADMIN group, is used to create/modify/delete the POSTBOARD SUBSCRIPTIONs in the NOTIFICATIONS TABLE.

52

CHAPTER 4. ADMINISTRATION

CODE/cgi-bin/postboard.pl is the Perl daemon.
CODE/shells/postboard is the command line interface to start/stop, query status and even send NOTIFICATIONs to POSTBOARD. Usage: postboard [start|stop|status|kill|notify]
POSTBOARD also has customization variables in the main configuration file WEBOBS.rc:
WEBOBS.rc (excerpt)
S QL_DB_POSTBOARD | $ { SQL_DB_USERS }
S Q L _ T A B L E _ N O T I F I C A T I O N S | notifications
P OSTBOARD_NPIPE | / tmp / WEBOBSNP
P OSTBOARD_MAILER | mutt
P O S T B O A R D _ M A I L E R _ O P T S | - nx
P O S T B O A R D _ M A I L E R _ D E F S U B J E C T | WebObs notification

4.2.4

Developing with Notifications

The WebObs::Config perl module exports the notify function to be used to send NOTIFICATIONS to POSTBOARD. The
notify.m module plays the same role from MatLab code.
Detailed programming information can be found in CODE/cgi-bin/postboard.pl perldoc documentation, such as:
• the WebObs::Config::notify function syntax,
• eventnames naming conventions,
• notification string syntax: event-name|sender-id|message and automatic timestamp ,
• message component interpretation and special keywords,
• the special submitrc. eventname,
• POSTBOARD MAILER considerations,
• subscription’s ACTIONs considerations

4.3

Scheduler

4.3.1

Overview

The SCHEDULER is the daemon that controls the execution of WebObs batch JOBS. It has been developed to meet the
following needs that, for some of them, would have been more difficult to tackle, or simply have required as much development,
with a regular crontab architecture:
• schedule execution of a jobs based on the elapsed time since their previous execution,
• manage parallel executions of jobs,
• implement a mutually exclusive locking mechanism between jobs execution,
• implement a simple checking of CPU load to accept or delay jobs execution,
• centralize and normalize the jobs definitions, also with run-time parameters substitutions,
• standard output and error archiving and consultation,
• centralize reporting/history with housekeeping and HTML interface,
• accept dynamic jobs submission in addition to regular jobs,
• use WebObs POSTBOARD for errors/warnings and end-of-jobs notifications,
• provide both command line and HTML interfaces to JOBS and EXECUTIONS management
The SCHEDULER daemon is CODE/cgi-bin/scheduler.pl whose execution is controlled with the command line interface
CODE/shells/scheduler.

4.3. SCHEDULER

4.3.2

53

Configuration and Tables

The main configuration file WEBOBS.rc holds the CONF SCHEDULER variable that points to the SCHEDULER’s configuration file used to customize its execution environment. Default configuration file is scheduler.rc :
scheduler.rc
BEAT | 2
MAX_CHILDREN | 10
PORT | 7761
SOCKET_MAXLEN | 1500;
SQL_DB_JOBS | $WEBOBS { ROOT_CONF }/ WEBOBSJOBS . db
DAYS_IN_RUN | 30
DITTO_LOG_MAX | 500
DITTO_NTF_MAX | 1000
CANCEL_SUBMIT | 600
CLEANUP_RUNS | 999 , zombie
L OA DA V G1 _ TH R ES HO L D | 0.7
L OA DA V G5 _ TH R ES HO L D | 0.7
L O A D A VG 1 5 _ T H R E S HO L D | 0.7
LMISS_BIAS | 10
EMISS_BIAS | 4
PATH_STD | $WEBOBS { ROOT_LOGS }/ jobslogs
PATH_RES | $WEBOBS { ROOT_LOGS }/ res

#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#

internal processing loop frequency in seconds
maximum number of simu ltaneous ly started jobs
commands ’ interpreter udp port number
commands ’ interpreter max command size
sqlite database for JOBS and RUNS tables
number of days JOBS are kept in RUNS table
controls repeating messages in log
controls repeating messages notified
max seconds submitted JOBS wait in Queue
how to tag zombie RUNS ( unknown end of job )
max 1 - sec cpu load threshold to start JOBS
max 5 - sec cpu load "
max 15 - sec cpu load "
seconds to delay candidates on load - threshold
seconds to delay candidates on enq busy
root path for all STDOUT and STDERR of JOBS
directory to hold JOBS resources ( locks )

JOBS TABLE
JOBS to be scheduled are uniquely identified with a JID and defined into the JOBS TABLE by the following fields:
JID
VALIDITY flag
RESOURCE name
XEQ1, XEQ2 and XEQ3
INTERVAL
LOAD THRESHOLD
LOGS PATH
LAST START TIMESTAMP

JOB’s ID unique string
indicates wether JID is eligible for execution
a string identifying a mutually exclusive jobs lock
3 components of the actual command that is started for JOB’s execution
required elapsed time (seconds) between two executions of the JOB
max CPU LOAD value to allow execution of the JOB
path of the JOB’s STDOUT and STDERR files
(not editable)

RESOURCE syntax
A RESOURCE is simply identified by its freely choosen name (a string not containing double-dash, ie –). It may also be a set
of individual resources (a ’+’ separated list of names): all of these individual resources must be simultaneously free for the job
to be executed.

XEQ1, XEQ2, XEQ3 syntax
XEQ1, XEQ2 and XEQ3 will be concatenated, in this order, to build the actual JOB command to be executed. Those fields
have no special meanings for execution, except XEQ2 for LOGPATH (see below), and only one is obviously required to build
a valid command; but they may ease maintenance and lisibility.
They all accept variables interpolation: ie. they may specify any number of variable names from the main configuration file
WEBOBS.rc, coded as $WEBOBS{variableName}.

JOBS LOGS PATHS syntax
JOBs can redirect/build their own STDOUT and STDERR, however the following rules are implemented as a default behavior
in the SCHEDULER:
• All JOBS outputs as a whole will be placed into the common $SCHED{PATH STD} directory,
• JOBs’ specific LOGPATH definitions are relative to this common directory
The following table shows LOGPATH syntax (left) and its full interpretation (right), where any subdirectories will be dynamically created if needed, and pid is the JOB’s PID (ie. KID) :
name
name/
name/name/out
(null)

$SCHED{PATH
$SCHED{PATH
$SCHED{PATH
$SCHED{PATH

STD}/name.std{out,err}
STD}/name/pid.std{out,err}
STD}/name/name/name/out.std{out,err}
STD}/pid.std{out,err}

54

CHAPTER 4. ADMINISTRATION

The following two redirection rules apply to any one of the above syntaxes:
>name
>>name

(the default) overwrites previous file with same name
appends to previous file with same name

The following TAGS are also available in the name(s) you supply for easier specification of unique log files:
{TS}
{RTNE}

4.3.3

replaced with job’s start-timestamp
replaced with job’s XEQ2 string, with any blanks (spaces) chars changed to

underscores.

Jobs selection and execution

The SCHEDULER continously scan the JOBS TABLE to find CANDIDATES for execution: ie those VALID JOBS whose
LAST RUN TIMESTAMP is now older than their INTERVAL.
JOBS may also be submitted for immediate execution from the command line, or from another application, regardless of their
INTERVAL normal delay and of their VALIDITY flag. Submitted JOBS are automatically CANDIDATES and placed in a JOB
REQUEST QUEUE (JOBRQ) where they can stay no more than $SCHED{CANCEL SUBMIT} seconds.
The SCHEDULER then scans all CANDIDATES, starting with the JOBRQ, to actually start (execute) JOBS that fullfill their
CPU LOAD THRESHOLD and RESOURCE (lock) conditions. JOB execution’s command is the concatenation of the JID’s
XEQ1, XEQ2 and XEQ3 strings, in this order, and with ${WEBOBS} variables interpolation. Started JOBS are placed into
a RUNQ for monitoring and future end-of-job processing, and in the RUNS TABLE for reporting/history.
CANDIDATES that are not moved to the RUNQ because they don’t fullfill their CPU LOAD THRESHOLD and RESOURCE
(lock) conditions, will automatically be candidates again on the next scheduler’s beat; to avoid unnecessary overload and
reporting, the scheduler may delay these jobs from being candidates again by a small amount of seconds. Delay to be used
are defined by $SCHED{LMISS BIAS} for CPU LOAD THRESHOLD condition and $SCHED{LMISS BIAS} for RESOURCE
busy condition. Set these to 0 to disable delay.
JOBS are started as independent, parallel processes, children of the SCHEDULER, in their own process group; from there
on they are known as KIDS. The SCHEDULER doesn’t forget its KIDS once it forked them ! It waits for their termination
(non-blocking wait) to perform housekeeping and reporting about execution (mainly unlocking RESOURCEs, saving return
code and elapsed time to update the RUNS TABLE).
The precision at which JOBS are scheduled/executed is $SCHED{BEAT} seconds.
Scheduler’s job RESOURCEs, used as a locking mechanism between scheduled jobs, may be shared with external processes:
thus it is possible to also synchronize execution of scheduler’s jobs with non-scheduler machine’s activities and/or conditions.
The Scheduler’s commands ENQ and DEQ are the unique scheduler’s entry points to the locking mechanism.

Command line submit syntax
• JOBS may be submitted, for immediate execution, to the SCHEDULER using CODE/shells/scheduler and its submit
command
• specifying the JOB comes in two flavors:
– JID=; Example: scheduler submit JID=myjob
– as a string defining the JOB, with the following comma-separated keywords:
∗ XEQ1: , XEQ2: and XEQ3: to specify the JOB’s command
∗ LOGPATH: optional, to specify the directory, relative to $SCHED{PATH STD}, for JOB’s STDOUT and
STDERR
∗ RES: optional, JOB’s RESOURCE (lock)
∗ MAXSYSLOAD: optional, CPU LOAD THRESHOLD
∗ UID: optional, UID to be used for end-of-job notification
– Example: scheduler submit ’XEQ1:perl,XEQ2:/path/to/jobtst.pl,RES:mylock,UID:DL’
Note: submitted JOBs are given a unique, negative, JID.

4.3.4

Scheduler manager

The SCHEDULER MANAGER CODE/cgi-bin/schedulerMgr.pl built-in page, initially restricted to the +ADMIN group, is
used to create/modify/delete JOBS of the JOBS TABLE.

4.3. SCHEDULER

4.3.5

55

Scheduler runs

The SCHEDULER RUNS CODE/cgi-bin/schedulerRuns.pl built-in page, initially restricted to the +ADMIN group, is used
to display the RUNS TABLE (one day at a time) along with its corresponding, zoomable TIMELINE chart, to better visualize
JOBs executions elapsed times and parallelism.

4.3.6

Scheduler status

Both the SCHEDULER MANAGER and SCHEDULER RUNS built-in pages show the STATUS of the SCHEDULER:

56

CHAPTER 4. ADMINISTRATION

where:
STARTED, PID, USER
uTICK, BEAT
PAUSED
#JOBSTART, #JOBSEND
KIDS
ENQs
Paths of main SCHEDULER’s files

4.3.7

when, under which PID and who started the SCHEDULER
internal frequency in microseconds and main SCHEDULER loop frequency
wether SCHEDULER is in PAUSE mode (not scanning JOBs, = 1)
number of started and ended JOBs since ’STARTED’
number of currently started JOBs (KIDS)
number of currently held JOBs’ RESOURCEs

Scheduler command line

The SCHEDULER command line interface is CODE/shells/scheduler.

shells/scheduler
me@here: / opt / webobs / CODE / shells$ ./ scheduler
Usage: ./ scheduler { enq | deq | flog | jobq | kill | pause | ps | qs | quiet | resume | runq | start | status | stop | submit | verbose }

CODE/shells/scheduler sub-commands :
start
stop
pause
resume
enq
deq
kill
verbose
quiet
status
jobq
runq
ps
flog
submit

start, if not already active
stop, waiting for any active kids to end
hold execution (suspend jobs processing)
resume execution
enq a resource
deq a resource
forced stop, not recommended
log verbosity on
log verbosity off
display status/indicators/settings
display JOBRQ
display RUNQ
display executing KIDS trees
force log backup and cleanup
place a job on the JOBRQ, requiring additional arguments, either:
1) jid=n where n is the JOB’s ID from the JOBS TABLE
2) keyword:value[,keyword:value,...] where
keyword in [XEQ1,XEQ2,XEQ3,MAXSYSLOAD,LOGPATH,RES,UID]

example scheduler status
me@here: / opt / webobs / CODE / shells$ ./ scheduler status
Pls wait ...
STATTIME =2014 -02 -05 06 :04:58
STARTED =2014 -02 -05 06 :04:02
PID =6725
USER = root
uTICK =1000000
BEAT =2
LOG =/ opt / webobs / LOGS / scheduler . log
JOBSDB =/ opt / webobs / CONF / WEBOBSJOBS . db
JOBS STDio =/ opt / webobs / LOGS / jobslogs
JOBS RESource =/ opt / webobs / LOGS / res
PAUSED =0
# JOBSTART =2
# JOBSEND =2
KIDS =0
ENQs =0

example runq and ps
me@here: / opt / webobs / CODE / shells$ ./ scheduler runq

4.4. WOC

57

Pls wait ...
RUNQ (1 40 7 21 2 13 4. 2 1 6 6 3 )
kid =7567
ORG = R
uid =
kidcmd =/ opt / webobs / CODE / cgi - bin / jobtester . pl 40
res =
jid = -2
logfd =./
started =140721 2 1 3 5 . 2 1 9 4
logfn = undef
RUNQ (1 40 7 21 1 89 0. 2 4 5 1 2 )
kid =7060
ORG = S
uid =
kidcmd =/ opt / webobs / CODE / matlab / bin / linux -64/ run_mcc sefran3
res = sefran3
jid = sefran
logfd =./
started =1 407 21 1 8 9 0 . 4 6 8 6 4
logfn = sefran3
me@here: / opt / webobs / CODE / shells$
PID PGRP
ELAPSED % CPU % MEM
2769 2769
02 :41:40 0.0 0.1
7050 7034
04 :21 0.1 0.2
7060 7060
04 :19 0.0 0.0
7068 7060
04 :18 6.7 3.3
7567 7567
00 :14 0.0 0.0

4.4

./ scheduler ps
CMD
/ bin / bash
perl scheduler . pl -v
/ bin / sh / opt / webobs / CODE / matlab / bin / linux -64/ run_mcc sefran3
/ opt / webobs / CODE / matlab / bin / linux -64/ sefran3
/ usr / bin / perl / opt / webobs / CODE / cgi - bin / jobtester . pl 40

WOC

WOC, the WebObs Console, is a command-line tool to query and update internal WebObs structures. Initially built as a
developer’s set of debugging tools and coding examples, WOC also contains some WebObs administrator’s tools.
WOC can be run in interactive mode, interpreting and executing woc-commands at the console’s WOC prompt, or batch
mode, executing a single woc-command passed as argument. WOC is also available from a WebObs html page thru the use
of woc.html + woc.js .
List of woc-commands :
%WEBOBS [key]
-%WEBOBS value
%OWNERS
%DISCP [discp]
%USERS [login]
authres
user login
newuser
newgroup
deluser
delgroup
grant auth
auth login
%NODES [key]
proc [proc]
form [form]
view [view]
node [node]
newnode node as other
delnode node
nodegrids [node]
nodedev [node]
statnodes
readcfg file
dbjobs
newjob
dbruns
sys
! cmd
= expr
dd

dump %WEBOBS key or all keys
query which %WEBOBS key(s) holds value
dump all %OWNRS
dump %DISCP discp discipline or all
dump %USERS login or all
list all auth resources
query DB USERS for login
add a user
add a users group
delete a user
delete a users group
grant access in auth table
dump login authorizations
dump %NODES key or all
dump PROC proc or all
dump FORM form or all
dump VIEW view or all
dump NODE node or list node names
define a new node as othernode
delete a node
list grids that reference node
list features+devices for node (or all dev)
statistics on node+grids
readCfg file
list all jobs definitions
add a job definition
list all jobs last run info
print system information
exec shell cmd (WebObs vars single-quoted for interpolation)
exec perl expr (interactive mode only)
keys of main hashes and their occurence

58

CHAPTER 4. ADMINISTRATION
ddxref
help
quit

keys of main hashes + their occurence + cross-reference
this help text
make a guess

WOC session example
WOC version 1.6 , Apr2013
At WOC prompt: command , ’ help ’ , or ’ quit ’
 statnodes
14 node directories
2 nodes have no grid
GCSCC21 GCSREV1
0 node has no proc
1 node has no view
ISBFDF0
 sys

Linux 3.2.0 -67 - generic # 101 - Ubuntu SMP Tue Jul 15 17 :46:11 UTC 2014 GNU / Linux
Perl $ ^ V = v5 .14.2
$ENV { PATH } = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games:
@INC : / opt / webobs / WebObs - beta -1.6.5/ CODE / cgi - bin: / etc / perl: / usr / local / lib / perl /5.14.2 : / usr / local / share / perl /5.14.2 : / usr / l
$ POSIX::VERSION = 1.24
POSIX::tzname = CET CEST
$ENV { TZ } =
/ etc / localtime -> CET -1 CEST , M3 .5.0 , M10 .5.0/3
local now: 2014 -08 -05 08 :46:33 CEST (+0200) 1407221193 (1407221193)
UTC
now: 2014 -08 -05 06 :46:33 1407217593
$ENV { LANG } = en_US . UTF -8
Locale ( s ) Supported / Installed: en_US = S / I ; fr_FR = S / I ;
UMASK 002
PID 12492 started 1407221193 by someone (1000/1000) in / opt / webobs / CONF

" WebObs - Paris " WebObs - beta -1.6.5 [/ etc / webobs . d -> / opt / webobs / CONF ]
 quit
Bye .

4.4.1

Overview

Chapter 5

Developments
5.1

Use PROC’s output graphics facilities

To display PROC’s output graphics and data, WebObs uses a script named /cgi-bin/showOUTG.pl that can be used with
external data. Products must be images in PNG format, with a thumbnail in JPG format and optional EPS and TXT files.
The script proposes two different display formats:
1. per time scales: each image corresponds to a preset moving time window;
2. per dated events: each image is associated to a timestamp (date and time).
First, you must create a new PROC using the web interface with name MYPROC for example, and from any template (choose
Generic time series for instance). Then you will have to name and store image files by respecting some rules explained below.
Note that all files must be readable by the apache user (in WebObs automatic processes, the files are owned by the WebObs
owner and group-readable).

5.1.1

Graphs per time scale

To display graphs per time scale, the PROC must define the minimum following keys:

MYPROC.conf
= key | value
NAME | My PROC title
TIMESCALELIST | ts1 , ts2 , ts3
SUMMARYLIST | SUMMARYA , SUMMARYB

ts1, ts2, ts3 are 2-letter minimum length time scale keys (at least one key is needed, see Table 5.2 for valid keys and syntax).
SUMMARYA and SUMMARYB are optional short names for additional summary graphs (all nodes). You may also associate
NODES to this PROC if you want to show some per-node graphs. The outputs must be named and placed as:
/opt/webobs/OUTG/PROC.MYPROC/graphs/SUMMARY{A,B} {ts1,ts2,ts3}.{png,jpg,eps}
where .png are the full resolution images, and .jpg files (same name as .png) are the thumbnails. These two files are mandatory.
Optional .eps extension containing a vectorial image will give access to it through a link.
If you want to show individual associated node graphs, for instance from NODEID1, you name the files as:
/opt/webobs/OUTG/PROC.MYPROC/graphs/nodeid1 {ts1,ts2,ts3}.{png,jpg,eps}
Note the NODE’s ID must be written in lower case in the filename. .eps extension file is optional.
You can have one data export file for each summary and node output. The files must be placed as:
/opt/webobs/OUTG/PROC.MYPROC/exports/{SUMMARY*,nodeid1} {ts1,ts2,ts3}.txt
If the WebObs has been installed and configured by changing the default root path and subdirectories, you might look into
/etc/webobs.d/WEBOBS.rc for the following variables to define the paths:
$WEBOBS{ROOT OUTG}/PROC.MYPROC/$WEBOBS{PATH OUTG GRAPHS}
$WEBOBS{ROOT OUTG}/PROC.MYPROC/$WEBOBS{PATH OUTG EXPORTS}

59

60

CHAPTER 5. DEVELOPMENTS

5.1.2

Graphs per event

To display graphs per event, the PROC must define only one key:

MYPROC.conf
= key | value
NAME | My PROC title

for the page title.
Events must be referenced to a date (year, month, day) and will be presented sorted by month in one page per year, showing
the image thumbnails. One event can contain multiple images that will be shown together as thumbnails when clicking on
it. The last display level is the full scale image itself. There is no rule for eventID and images filenames (excepted the file
extensions):
/opt/webobs/OUTG/PROC.MYPROC/events/YYYY/MM/DD/eventID1/*.{png,jpg,eps,pdf,txt}
But it is better to use self-explanatory filenames since it will be displayed as popup windows on mouse over the thumbnails.
Optional extensions .eps, .pdf and .txt will give access to supplementary files through links. You must also define at least one
preferred image to be display as thumbnail on the main page, by creating a symbolic link to the .jpg file. The link basename
has no importance but the extension.
/opt/webobs/OUTG/PROC.MYPROC/events/YYYY/MM/DD/eventID1/link.jpg → maineventimage.jpg

5.2
5.2.1

SUPERPROCS: Templates for applications development
Superprocs

Appendix
Table 5.1: Data raw formats for PROCS
# WEBOBS Raw formats d e f i n i t i o n for PROCS and NODES
#
#
key : used in r e a d f m t d a t a .m , r e a d n o d e . m and { show , form } NODE . pl
#
supfmt : s u p e r f o r m a t ( for display g r o u p i n g )
#
name : name for display in { show , form } NODE . pl
#
FID : a d d i t i o n n a l FID_x keys
#
# Updated : 2018 -09 -29
#
= key | supfmt | name | FID
#
| | -|
dsv | ASCII | delimiter - separated values file | PREPROCESSOR , FS , TIMECOLS , NF , HEADERLINES
sql - table | DB | SQL database with simple table |
miniseed | MSEED | miniSEED file |
seedlink | MSEED | SEEDLink data stream |
arclink | MSEED | SeisComP3 ArcLink data request |
combined | MSEED | SeisComP3 SeedLink / ArcLink data request |
fdsnws - dataselect | MSEED | FDSN WebServices data select |
winston | EARTHWORM | EarthWorm Winston Wave Server data request |
gipsy | GNSS | JPL GIPSY - OASIS . tdp file |
gipsyx | GNSS | JPL GipsyX . tdp file |
globkval | GNSS | MIT GAMIT / GLOBK VAL file |
usgs - rneu | GNSS | USGS RNEU file |
cr10xasc | CAMPBELL | Campbell Scientific CR10X data file |
toa5 | CAMPBELL | Campbell Scientific TOA5 data file |
tob1 | CAMPBELL | Campbell Scientific TOB1 data file |
porkyasc | ASCII | USGS Porky data file | AFMALARM
hyp71sum2k | QUAKE | Quake Hypo71 summary lines | MC3 , MAGTYPE_DEFAULT , M AGERR_D EFAULT
fdsnws - event | QUAKE | Quake FDSN WebServices event request | MC3 , MAGTYPE_DEFAULT , MA GERR_DE FAULT
scevtlog - xml | QUAKE | Quake SeisComP3 - xml files | MC3 , MAGTYPE_DEFAULT , MAGE RR_DEFAU LT
mc3 | MC3 | MainCourante database |
naqs - soh | ASCII | NAQS State of Health | NANOSTATYPE
teqc - qc | ASCII | TEQC Rinex Quality Check |
meteofrance | ASCII | Meteo - France raingauge |
mat - file | WO | Matlab MAT - file |

Table 5.2:
Key
xs
xn
xh
xd
xw
xm
xy
xl
rx
all

Time scale keys (x is an integer).
Time scale
x seconds
x minutes
x hours
x days
x weeks
x months
x years
last x data
reference to date REFx DATE
all data

61

62

APPENDIX

Table 5.3: Marker type list
Symbol Marker
.
Point
+
Plus sign
*
Asterisk
x
Cross
o
Circle
s
Square
d
Diamond (vertical rhombus)
^
Upward-pointing triangle
v
Downward-pointing triangle
>
Right-pointing triangle
<
Left-pointing triangle
p
Five-pointed star (pentagram)
h
Six-pointed star (hexagram)

Table 5.4:
Symbol
-:
-.

Table 5.5: Some
R,G,B
0,0,0
1,1,1
1,0,0
0,1,0
0,0,1
1,1,0
1,0,1
0,1,1

Line Style list
Line style
Solid line
Dashed line
Dotted line
Dash-dot line

basic R,G,B colors
Color
Black
White
Red
Green
Blue
Yellow
Magenta
Cyan

Table 5.6: Some built-in colormaps
Name
Description
jet
hsv
landcolor
seacolor
white
gray
hot
cool
bone
pink
copper
spring
summer
autumn
winter

63

Table 5.7: Date string format list.
value
Number Datenum
-1
0
OK
1
OK
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
OK
24
25
26
27
28
29
OK
30
OK
31
OK

“Datenum” column indicates if the format is valid for date/time string as key
String
automatic
’dd-mmm-yyyy HH:MM:SS’
’dd-mmm-yyyy’
’mm/dd/yy’
’mmm’
’m’
’mm’
’mm/dd’
’dd’
’ddd’
’d’
’yyyy’
’yy’
’mmmyy’
’HH:MM:SS’
’HH:MM:SS PM’
’HH:MM’
’HH:MM PM’
’QQ-YY’
’QQ’
’dd/mm’
’dd/mm/yy’
’mmm.dd,yyyy HH:MM:SS’
’mmm.dd,yyyy’
’mm/dd/yyyy’
’dd/mm/yyyy’
’yy/mm/dd’
’yyyy/mm/dd’
’QQ-YYYY’
’mmmyyyy’
’yyyy-mm-dd’
’yyyymmddTHHMMSS’
’yyyy-mm-dd HH:MM:SS’

Example
01-Mar-2000 15:45:17
01-Mar-2000
03/01/00
Mar
M
03
03/01
01
Wed
W
2000
00
Mar00
15:45:17
3:45:17 PM
15:45
3:45 PM
Q1-96
Q1
01/03
01/03/00
Mar.01,2000 15:45:17
Mar.01,2000
03/01/2000
01/03/2000
00/03/01
2000/03/01
Q1-1996
Mar2000
2000-03-01
20000301T154517
2000-03-01 15:45:17

Comment
default value

ISO 8601
ISO 8601

64

APPENDIX

Table 5.8: Suggestion for NODE ID code: N D T S S S S
Letter
Code Comment
N = Network
I
IPGP
G
OVSG
M
OVMP
R
OVPF
P
PVMBG
D = Domain
S
Seismology
D
Deformations
G
Geophysics
C
Chemistry
I
Imagery
M
Meteorology
P
Phenomenology
A
Acquisition
DT = Technique
SB
Broad-band
SZ
Short-period
DC
Continuous GPS
DT
Tilmetry
DD
Distancemetry
DE
Extensometry
GM
Magnetometry
GE
Electric
CS
Hot Springs Analysis
CG
Gas Analysis
CD
DOAS
MW
Weather station
PJ
Journal Phenomenology
PE
Eruption
AT
Transmission
AB
Buildings

Acknowledgments
A 15-year history summary.
Episode I. The WebObs project was born in September 2000 when François Beauducel has been assigned to the Guadeloupe
volcanological observatory in Lesser Antilles. First ideas of an integrated monitoring and management system have risen
thanks to fruitful discussions with Christian Anténor-Habazac, Jean-Christophe Komorowski and Stéphane Acounis. Quickly
(and dirtily) developed in about a year of sparse hours, a first version of WebObs was presented in Paris on January 2002
[2], containing most of the present content: station files, networks, automatic graphs for seismic, deformation, geochimia and
weather stations, shared calendar... During the first two years of the project, there was a single developer, moreover, a scientist
during its overtime work and not a dedicated computer specialist!
Episode II. From August 2002 to December 2005, Didier Mallarino was the first computer engineer who invested a part of its
time to improve the codes and configuration files, especially by developing more robust and flexible Perl GCI scripts [3, 4, 1].
In 2004, a version of WebObs has been partially duplicated and adapted for a public website (CDSA).
Episode III. From 2006 to 2010, some code improvements where made by a second computer engineer Alexis Bosson:
particularly, the system was internationalized and a first effort was made to integrate WebObs with observatory acquisition
chain seismology standards [5]. During these years, the system worked in a relatively stable production state, and it was
adapted and partly installed in different observatories: Paris (thanks to François Truong [6]), Addis-Abeba (thanks to Alexandre
Nercessian), Martinique (thanks to Jean-Marie Saurel and Benoı̂t Costes), Montserrat (thanks to Alexis Bosson and Roderick
Stewart) and later in 2012 at La Réunion (thanks to Patrice Boissier and Philippe Kowalski).
Episode IV (A New Hope). In 2012, WebObs obtained its first dedicated funding support from the French Ministry of
Ecology, thanks to Steve Tait, Arnaud Lemarchand and Pierre Agrinier. A very significant contribution has been made by
Didier Lafon, the first computer engineer working 100% on the project. Taking advantage of 10 years of production feedback,
he reassessed the whole coding concept, improved and standardized the codes, made library modules and administration tools,
wrote technical documentation, put all this under a versioning control system and built the first Linux installation package.
This allowed to install a first alpha and beta version at Merapi observatory (thanks to Ali A. Fahmi), then the same codes
in Guadeloupe, Martinique and La Réunion observatories, and start a real collaborative development. During this last period,
we welcomed additional contributors, as developers or end-users: Xavier Béguin, Jean-Marie Saurel, Stephen Roselia, Patrice
Boissier, Laura Henriette, and of course all the observatory teams under the direction of Jean-Bernard de Chabalier, Valérie
Clouard, Andrea Di Muro, Nicolas Villeneuve, Céline Dessert, Aline Peltier, Roberto Moretti.
Episode V. In October 2018, WebObs code has been released on https://github.com/IPGP/webobs.

65

66

ACKNOWLEDGMENTS

Bibliography
[1] F. Beauducel. Surveillance opérationnelle des volcans français : développements récents à la Guadeloupe. Géosciences
BRGM, 4:64–68, 2006.
[2] F. Beauducel and C. Anténor-Habazac. Quelques éléments d’une surveillance opérationnelle... In Observatoires Volcanologiques. Institut de Physique du Globe de Paris, 2002.
[3] F. Beauducel, C. Anténor-Habazac, and D. Mallarino. WEBOVS : Integrated monitoring system interface for volcano
observatories. In IAVCEI General Assembly, Chile, 2004.
[4] F. Beauducel, C. Anténor-Habazac, and D. Mallarino. WEBOVS: Integrated monitoring system interface for volcano
observatories. In European Seismological Commission Annual Workshop, Saint-Claude Guadeloupe. IAVCEI / IPGP, 2005.
[5] F. Beauducel, A. Bosson, F. Randriamora, C. Anténor-Habazac, A. Lemarchand, J.-M. Saurel, A. Nercessian, M.-P. Bouin,
J.-B. de Chabalier, and V. Clouard. Recent advances in the Lesser Antilles observatories Part 2 : WebObs - an integrated
web-based system for monitoring and networks management. In European Geophysical Union General Assembly, Vienna,
April 2010.
[6] F. Truong, X. Lalanne, and A. Chulliat. MAGIS: The information system of IPGP magnetic observatories. In Proceedings
of the XIIIth IAGA Workshop on Geomagnetic Observatory Instruments, Data Acquisition and Processing, June 9-18 2008,
Golden, USA, 2009.

67



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 75
Page Mode                       : UseOutlines
Author                          : 
Title                           : 
Subject                         : 
Creator                         : LaTeX with hyperref package
Producer                        : pdfTeX-1.40.19
Create Date                     : 2019:04:10 12:55:19+07:00
Modify Date                     : 2019:04:10 12:55:19+07:00
Trapped                         : False
PTEX Fullbanner                 : This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0
EXIF Metadata provided by EXIF.tools

Navigation menu