libdballe
8.3
dballe
msg
wr_exporters
common.h
1
#ifndef DBALLE_MSG_WREXPORTER_BASE_H
2
#define DBALLE_MSG_WREXPORTER_BASE_H
3
4
#include <dballe/msg/msg.h>
5
6
namespace
wreport
{
7
struct
Subset;
8
struct
Bulletin;
9
struct
Var;
10
}
11
12
namespace
dballe
{
13
namespace
impl {
14
namespace
msg {
15
namespace
wr {
16
17
class
ExporterModule
18
{
19
protected
:
20
// Subset being written
21
wreport::Subset
* subset;
22
const
Message
* msg = 0;
23
const
msg::Context
* c_ana = 0;
24
const
msg::Context
* c_surface_instant = 0;
25
26
void
add(
wreport::Varcode
code,
const
msg::Context
* ctx,
const
Shortcut
& shortcut)
const
;
27
void
add(
wreport::Varcode
code,
const
msg::Context
* ctx,
wreport::Varcode
srccode)
const
;
28
void
add(
wreport::Varcode
code,
const
msg::Context
* ctx)
const
;
29
void
add(
wreport::Varcode
code,
const
wreport::Var
* var)
const
;
30
31
public
:
32
void
init(
const
Message
& msg,
wreport::Subset
& subset);
33
void
scan_context(
const
msg::Context
& c);
34
35
void
add_ecmwf_synop_head();
36
};
37
38
class
CommonSynopExporter
:
public
ExporterModule
39
{
40
protected
:
41
const
msg::Context
* c_geopotential;
42
const
msg::Context
* c_thermo;
43
const
msg::Context
* c_tmax;
44
const
msg::Context
* c_tmin;
45
const
msg::Context
* c_prec1;
46
const
msg::Context
* c_prec2;
47
const
msg::Context
* c_prec24;
48
const
msg::Context
* c_cloud_cover;
49
const
msg::Context
* c_cloud_data[4];
50
const
msg::Context
* c_cloud_group[4];
51
const
msg::Context
* c_wind;
52
const
msg::Context
* c_gust1;
53
const
msg::Context
* c_gust2;
54
const
msg::Context
* c_visib;
55
const
msg::Context
* c_past_wtr;
56
const
msg::Context
* c_depth;
57
const
msg::Context
* c_swell_waves[2];
58
59
public
:
60
const
wreport::Var
* v_press;
61
const
wreport::Var
* v_pressmsl;
62
const
wreport::Var
* v_pchange3;
63
const
wreport::Var
* v_pchange24;
64
const
wreport::Var
* v_ptend;
65
const
wreport::Var
* v_geopotential;
66
67
void
init(
const
Message
& msg,
wreport::Subset
& subset);
68
void
scan_context(
const
msg::Context
& c);
69
70
// Pressure data
71
void
add_D02001();
72
// synop: pressure data
73
void
add_D02031();
74
// synop: temperature and humidity
75
void
add_D02032();
76
// ship: temperature and humidity
77
void
add_D02052();
78
// synop: extreme temperature data
79
void
add_D02041();
80
// ship: extreme temperature data
81
void
add_D02058();
82
void
add_pressure();
83
void
add_geopotential(
wreport::Varcode
code);
84
// Precipitation past 24 hours
85
void
add_D02034();
86
// Precipitation measurement
87
void
add_D02040();
88
// synop: wind data
89
void
add_D02042();
90
// ship: wind data
91
void
add_D02059();
92
// Present and past weather
93
void
add_D02038();
94
void
add_ecmwf_synop_weather();
95
// Basic synoptic "instantaneous" data
96
void
add_D02035();
97
// Icing and ice
98
void
add_D02055();
99
void
add_ecmwf_ice();
100
// ship: visibility data
101
void
add_D02053();
102
// Ship marine data
103
void
add_D02056();
104
// Sea waves
105
void
add_plain_waves();
106
// Ship waves (wind and swell)
107
void
add_D02024();
108
113
void
add_sensor_height(
const
msg::Context
& c,
const
wreport::Var
* sample_var=NULL);
114
119
void
add_marine_sensor_height(
const
msg::Context
& c,
const
wreport::Var
* sample_var=NULL);
120
125
void
add_xtemp_group(
wreport::Varcode
code,
const
msg::Context
* c);
126
130
void
add_prec_group(
const
msg::Context
* c);
131
135
void
add_cloud_data();
136
138
void
add_wind_gust(
const
msg::Context
* c);
139
144
void
add_time_period(
wreport::Varcode
code,
const
msg::Context
& c,
const
wreport::Var
* sample_var,
const
Trange
& tr_std);
145
};
146
147
}
148
}
149
}
150
}
151
152
#endif
wreport::Var
dballe::Trange
Information on how a value has been sampled or computed with regards to time.
Definition:
types.h:683
dballe
Definition:
cmdline.h:18
dballe::impl::msg::Context
Store an array of physical data all on the same level.
Definition:
context.h:23
wreport::Varcode
uint16_t Varcode
dballe::impl::msg::wr::ExporterModule
Definition:
common.h:17
wreport
dballe::impl::Shortcut
Definition:
shortcuts.h:11
wreport::Subset
dballe::impl::msg::wr::CommonSynopExporter
Definition:
common.h:38
dballe::impl::Message
Storage for related physical data.
Definition:
msg.h:130
Generated by
1.8.13