49 sprintf ( tt,
"%02d", i );
99 strcpy ( target,
"/////" );
103 ix = ( int ) ( ( dd + 2.5 ) / 5 ) * 5 * 100 + (
int ) ( ff + 0.5 );
104 sprintf ( target,
"%05d", ix );
128 sprintf ( syn->
s1.
dd,
"%02d", abs((s->
ival + 5 ) / 10) % 100 );
134 if ( syn->
s0.
iw[0] ==
'4' )
136 s->
val *= 1.94384449;
138 if ( s->
val < 100.0 )
140 sprintf ( syn->
s1.
ff,
"%02d", (
int ) ( s->
val + 0.5 ) );
144 sprintf ( syn->
s1.
ff,
"99" );
145 sprintf ( syn->
s1.
fff,
"%03d", (
int ) ( s->
val + 0.5 ) );
156 if ( s->
itval == -600 )
164 if ( syn->
s0.
iw[0] ==
'4' )
166 s->
val *= 1.94384449;
168 if ( s->
val < 100.0 )
193 if ( syn->
s0.
iw[0] ==
'4' )
195 s->
val *= 1.94384449;
197 if ( s->
val < 100.0 )
218 if ( syn->
s0.
iw[0] ==
'4' )
220 s->
val *= 1.94384449;
222 if ( s->
val < 100.0 )
250 if ( syn->
s0.
iw[0] ==
'4' )
252 s->
val *= 1.94384449;
254 if ( s->
val < 100.0 )
275 if ( syn->
s0.
iw[0] ==
'1' )
277 s->
val /= 1.94384449;
279 if ( s->
val < 100.0 )
281 sprintf ( syn->
s1.
ff,
"%02d", (
int ) ( s->
val + 0.5 ) );
285 sprintf ( syn->
s1.
ff,
"99" );
286 sprintf ( syn->
s1.
fff,
"%03d", (
int ) ( s->
val + 0.5 ) );
296 if ( s->
itval == -600 )
299 if ( syn->
s0.
iw[0] ==
'1' )
301 s->
val /= 1.94384449;
303 if ( s->
val < 100.0 )
325 if ( syn->
s0.
iw[0] ==
'1' )
327 s->
val /= 1.94384449;
329 if ( s->
val < 100.0 )
349 if ( syn->
s0.
iw[0] ==
'1' )
351 s->
val /= 1.94384449;
353 if ( s->
val < 100.0 )
399 sprintf ( b->
s1.
dd,
"%02d", abs((s->
ival + 5 ) / 10) % 100 );
405 if ( b->
s0.
iw[0] ==
'4' )
407 s->
val *= 1.94384449;
409 if ( s->
val < 100.0 )
411 sprintf ( b->
s1.
ff,
"%02d", (
int ) ( s->
val + 0.5 ) );
415 sprintf ( b->
s1.
ff,
"99" );
416 sprintf ( b->
s1.
fff,
"%03d", (
int ) ( s->
val + 0.5 ) );
422 if ( b->
s0.
iw[0] ==
'1' )
424 s->
val /= 1.94384449;
426 if ( s->
val < 100.0 )
428 sprintf ( b->
s1.
ff,
"%02d", (
int ) ( s->
val + 0.5 ) );
432 sprintf ( b->
s1.
ff,
"99" );
433 sprintf ( b->
s1.
fff,
"%03d", (
int ) ( s->
val + 0.5 ) );
465 if ( c->
s4.
iw[0] ==
'4' )
467 sprintf ( c->
s4.
fxfxfx,
"%03d", (
int ) ( s->
val * 10.0 * 1.94384449 + 0.5 ) );
471 sprintf ( c->
s4.
fxfxfx,
"%03d", (
int ) ( s->
val * 10.0 + 0.5 ) );
475 sprintf ( c->
s4.
yfx,
"%02d", s->
day );
479 sprintf ( c->
s4.
yfx,
"%02d", (s->
day + 50) % 100 );
511 if ( s->
rep > 0 && s->
r->
n > 0 )
525 if ( s->
rep > 0 && s->
r->
n > 0 )
Include header file for binary bufr2tac.
#define SUBSET_MASK_HAVE_GUST
Bit mask to mark a struct bufr_subset_sequence_data having wind gust observation other than 10 minute...
int bufr2tac_set_error(struct bufr2tac_subset_state *s, int severity, char *origin, char *explanation)
#define SUBSET_MASK_HAVE_GUST10
Bit mask to mark a struct bufr_subset_sequence_data having wind gust observation other than 10 minute...
int temp_parse_x11(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 11.
int syn_parse_x11(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 11.
char * secs_to_tt(char *tt, int secs)
get tt code from seconds
int buoy_parse_x11(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 11.
char * wind_to_dndnfnfnfn(char *target, double dd, double ff)
int climat_parse_x11(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 11.
#define MISSING_REAL
The missing default value for real values.
#define DESCRIPTOR_VALUE_MISSING
Bit mask for a missing value in a struct bufr_atom_data.
#define BUOY_SEC1
mask bit meaning section 1 of buoy is solicited to or parsed with success
#define CLIMAT_SEC4
mask bit meaning section 4 of climat is solicited to or parsed with success
#define SYNOP_NMISC
number of misc3 struct to store the parsed results of 9SpSpspsp groups
#define SYNOP_SEC1
mask bit meaning section 1 or synop is solicited to or parsed with success
#define SYNOP_SEC3
mask bit meaning section 3 or synop is solicited to or parsed with success
#define SYNOP_SEC5
mask bit meaning section 5 or synop is solicited to or parsed with success
stores information needed to parse a sequential list of expanded descriptors for a subset
struct temp_raw_wind_shear_data * w
struct bufr_atom_data * a
struct bufr_descriptor desc
contains all possible substrings from a synop report is parsed with success
contains all possible substrings from a synop report is parsed with success
struct misc3 misc[SYNOP_NMISC]
contains all possible substrings from a synop report is parsed with success
Store the whole TEMP report.
struct temp_raw_point_data raw[TEMP_NMAX_POINTS *4]
struct temp_raw_wind_shear_point raw[TEMP_NMAX_POINTS]