54#define KELEM (8192 * 1)
60#define KVALS (32768 * 512)
66#define KSUBS (KVALS / KELEM)
74#define SUBSET_MASK_LATITUDE_SOUTH (1)
80#define SUBSET_MASK_LONGITUDE_WEST (2)
86#define SUBSET_MASK_HAVE_TYPE_STATION (4)
92#define SUBSET_MASK_HAVE_NO_SIGNIFICANT_WW (8)
98#define SUBSET_MASK_HAVE_NO_SIGNIFICANT_W1 (16)
104#define SUBSET_MASK_HAVE_NO_SIGNIFICANT_W2 (32)
110#define SUBSET_MASK_HAVE_LATITUDE (64)
116#define SUBSET_MASK_HAVE_LONGITUDE (128)
122#define SUBSET_MASK_HAVE_ALTITUDE (256)
128#define SUBSET_MASK_HAVE_NAME (512)
134#define SUBSET_MASK_HAVE_COUNTRY (1024)
140#define SUBSET_MASK_HAVE_YEAR (2048)
146#define SUBSET_MASK_HAVE_MONTH (4096)
152#define SUBSET_MASK_HAVE_DAY (8192)
158#define SUBSET_MASK_HAVE_HOUR (16384)
164#define SUBSET_MASK_HAVE_MINUTE (32768)
170#define SUBSET_MASK_HAVE_SECOND (65536)
176#define SUBSET_MASK_HAVE_GUST (131072)
182#define SUBSET_MASK_HAVE_GUST10 ( 2 * 131072)
188#define SUBSET_MASK_HAVE_WIGOS_ID ( 4 * 131072)
194#define BUFR2TAC_ERROR_STACK_DIM 16
199#define BUFR2TAC_ERROR_DESCRIPTION_LENGTH 1024
202#define REPORT_LENGTH (16384)
208#define PRINT_BITMASK_WIGOS (1)
214#define PRINT_BITMASK_GEO (2)
220# define bufr_subset_sequence_data bufrdeco_subset_sequence_data
331char *
bufr2tac_get_version(
char *version,
size_t dversion,
char *build,
size_t dbuild,
char *builder,
size_t dbuilder,
332 int *version_major,
int *version_minor,
int *version_patch);
357char *
get_ecmwf_tablename (
char *target,
char type,
char *bufrtables_dir,
int ksec1[40] );
372char *
guess_WMO_region (
char *A1,
char *Reg,
const char *II,
const char *iii );
377 int *kdtlst,
size_t nlst,
int *ksec1,
char *err );
382int read_bufr (
unsigned char *bufr,
char *filename,
int *length );
386char *
latlon_to_MMM (
char *target,
double lat,
double lon );
393char *
m_to_h (
char *target,
double h );
394char *
m_to_hh (
char *target,
double h );
395char *
m_to_9h (
char *target,
double h );
396char *
m_to_RR (
char *target,
double m );
408char *
grad_to_D (
char *D,
double grad );
409char *
grad_to_ec (
char *target,
double grad );
545int bus012_ (
int *,
unsigned int *,
int *,
int *,
int *,
int *,
int * );
548int buprs3_ (
int *,
int *,
int *,
int *,
int *,
int *,
char ** );
549int bufrex_ (
int *,
int *,
int *,
int *,
int *,
int *,
int *,
int *,
int *,
char **,
char **,
int *,
double *,
char **,
int * );
550int busel_ (
int *,
int *,
int *,
int *,
int * );
551int busel2_ (
int *,
int *,
int *,
char **,
int *,
char **,
char **,
char **,
int * );
552int buukey_ (
int *,
int *,
int *,
int *,
int * );
553int buprt_ (
int *,
int *,
int *,
int *,
char **,
char **,
char **,
int *,
double *,
int *,
int *,
int * );
size_t print_climat_sec3(char **sec3, size_t lmax, struct climat_chunks *cl)
Prints the climat section 3.
void bufr2tac_clean_synop_chunks(struct synop_chunks *s)
char * m_to_9h(char *target, double h)
converts the altitude of cloud layer into 9h string code
int buprt_(int *, int *, int *, int *, char **, char **, char **, int *, double *, int *, int *, int *)
int buoy_parse_x33(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 33.
size_t print_temp_b_sec5(char **sec5, size_t lmax, struct temp_chunks *t)
Prints the section 5 of part B of a TEMP report.
int climat_parse_x33(struct climat_chunks *c, struct bufr2tac_subset_state *s)
size_t print_temp_c_sec2(char **sec2, size_t lmax, struct temp_chunks *t)
Prints the section 2 of part C of a TEMP report.
size_t print_temp_d_sec5(char **sec5, size_t lmax, struct temp_chunks *t)
Prints the section 5 of part D of a TEMP report.
int buoy_parse_x07(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 07.
char * met_datetime_to_YYGG(char *target, struct met_datetime *t)
Get YYGG from a struct met_datetime.
size_t print_synop_sec0(char **sec0, size_t lmax, struct synop_chunks *syn)
Prints the synop section 0 (header)
int temp_parse_x33(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 33.
int check_date_from_future(struct metreport *m)
Check a estructure metreport not from future.
size_t print_temp_c_sec4(char **sec4, size_t lmax, struct temp_chunks *t)
Prints the section 4 of part C of a TEMP report.
char * pascal_to_ppp(char *target, double P)
Converts pascal values (variation) into a ppp string.
int guess_gts_header(struct gts_header *h, const char *f)
Guess the WMO GTS header from filename.
int busel2_(int *, int *, int *, char **, int *, char **, char **, char **, int *)
char * dewpoint_depression_to_DnDn(char *target, double T, double Td)
Set DnDn (dewpoint depression)
void bufr2tac_clean_temp_chunks(struct temp_chunks *t)
cleans a buoy_chunks struct
int syn_parse_x04(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 04.
int print_json(FILE *f, struct metreport *m)
prints a struct metreport in json format
int buoy_YYYYMMDDHHmm_to_JMMYYGGgg(struct buoy_chunks *b)
Sets YYGG from YYYYMMDDHHmm extended group.
int syn_parse_x31(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 31.
size_t print_buoy_sec1(char **sec1, size_t lmax, struct buoy_chunks *b)
Prints the buoy section 1.
int temp_parse_x11(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 11.
size_t print_buoy_sec0(char **sec0, size_t lmax, struct buoy_chunks *b)
Prints the buoy section 1.
size_t print_temp_c_sec7(char **sec7, size_t lmax, struct temp_chunks *t)
Prints the section 7 of part C of a TEMP report.
size_t print_temp_b_sec6(char **sec6, size_t lmax, struct temp_chunks *t)
Prints the section 6 of part B of a TEMP report.
size_t print_temp_d_sec8(char **sec8, size_t lmax, struct temp_chunks *t)
int temp_parse_x05(struct temp_chunks *t, struct bufr2tac_subset_state *s)
char * bufr2tac_get_version(char *version, size_t dversion, char *build, size_t dbuild, char *builder, size_t dbuilder, int *version_major, int *version_minor, int *version_patch)
#define BUFR2TAC_ERROR_STACK_DIM
set de dimension of a struct bufr2tac_error_stack
int bufr2tac_set_error(struct bufr2tac_subset_state *s, int severity, char *origin, char *explanation)
size_t print_wigos_id(char **wid, size_t lmax, struct metreport *m)
int syn_parse_x11(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 11.
int syn_parse_x13(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 13.
char * kelvin_to_TTTT(char *target, double T)
converts a kelvin temperature value into a TTTT string
char * guess_WMO_region(char *A1, char *Reg, const char *II, const char *iii)
get WMO region A1 and Reg items from II and iii (WMO index)
int busel_(int *, int *, int *, int *, int *)
size_t print_temp_b_sec8(char **sec8, size_t lmax, struct temp_chunks *t)
Prints the section 8 of part B of a TEMP report.
int buoy_parse_x05(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 05.
char * grad_to_D(char *D, double grad)
Converts true direction in grads to D (code table 0700)
int buprs3_(int *, int *, int *, int *, int *, int *, char **)
char * kelvin_to_TTTa(char *target, double T)
Set temperature TTTa.
int print_temp_d(struct metreport *m)
Prints the part D of a TEMP report into a string.
char * get_ecmwf_tablename(char *target, char type, char *bufrtables_dir, int ksec1[40])
Get the complete pathname of a table file needed by a bufr message.
int parse_subset_as_synop(struct metreport *m, struct bufr2tac_subset_state *s, struct bufr_subset_sequence_data *sq, char *err)
parses a subset sequence as an Land fixed SYNOP FM-12, SHIP FM-13 or SYNOP-mobil FM-14 report
char * prec_to_RRRR24(char *target, double r)
converts a precipitation in Kg/m2 into a RRRR24 string
int set_environment(char *default_bufrtables, char *bufrtables_dir)
size_t print_climat_sec1(char **sec1, size_t lmax, struct climat_chunks *cl)
Prints the climat section 1.
size_t print_temp_a_sec2(char **sec2, size_t lmax, struct temp_chunks *t)
Prints the section 2 of part A of a TEMP report.
char * secs_to_tt(char *tt, int secs)
get tt code from seconds
int integer_to_descriptor(struct bufr_descriptor *d, int id)
parse an integer with a descriptor fom bufr ECWMF libary
int buoy_parse_x14(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 14.
#define bufr_subset_sequence_data
To use bufrdeco library with legacy old code using ECMWF library which is not used currently.
int check_kj_m2(double val)
Check if a radiation value can be wrote in Kj/m2 using up to 4 chars.
int bufrex_(int *, int *, int *, int *, int *, int *, int *, int *, int *, char **, char **, int *, double *, char **, int *)
int climat_parse_x12(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 12.
int print_temp_raw_wind_shear_data(struct temp_raw_wind_shear_data *w)
Prints for debug a struct temp_raw_data.
int syn_parse_x06(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 06.
char * grad_to_ec(char *target, double grad)
Converts elevation in grads to ec (code table 1004)
size_t print_temp_d_sec7(char **sec7, size_t lmax, struct temp_chunks *t)
Prints the section 7 of part D of a TEMP report.
size_t print_buoy_sec2(char **sec2, size_t lmax, struct buoy_chunks *b)
Prints the buoy section 1.
int parse_temp_raw_data(struct temp_chunks *t, struct temp_raw_data *r)
parse a struct temp_raw_data to fill chunks in a struct temp_chunks
int find_descriptor(int *haystack, size_t nlst, int needle)
Try to find a descriptor in an array.
int print_buoy_report(struct metreport *m)
prints a buoy into a string
size_t print_buoy_wigos_id(char **wid, size_t lmax, struct buoy_chunks *b)
int buoy_parse_x01(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 01.
char * charray_to_string(char *s, unsigned char *buf, size_t size)
get a null termitated c-string from an array of unsigned chars
size_t print_temp_c_sec1(char **sec1, size_t lmax, struct temp_chunks *t)
Prints the section 1 of part C of a TEMP report.
size_t print_climat_sec4(char **sec4, size_t lmax, struct climat_chunks *cl)
Prints the climat section 4.
int print_csv(FILE *f, struct metreport *m)
prints a struct metreport in labeled csv format
int parse_subset_as_temp(struct metreport *m, struct bufr2tac_subset_state *s, struct bufr_subset_sequence_data *sq, char *err)
int buoy_parse_x13(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 13.
size_t print_synop_sec2(char **sec2, size_t lmax, struct synop_chunks *syn)
Prints the synop section 2.
int time_period_duration(struct bufr2tac_subset_state *s)
Get time period duration in seconds.
char * guess_WMO_region_temp(struct temp_chunks *temp)
size_t print_temp_d_sec6(char **sec6, size_t lmax, struct temp_chunks *t)
Prints the section 6 of part D of a TEMP report.
int buoy_parse_x11(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 11.
int syn_parse_x02(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 02.
size_t print_climat_sec2(char **sec2, size_t lmax, struct climat_chunks *cl)
Prints the climat section 2.
int syn_parse_x20(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 20.
size_t print_climat_wigos_id(char **wid, size_t lmax, struct climat_chunks *cl)
char * get_explained_flag_val(char *expl, size_t dim, char tablec[MAXLINES_TABLEC][92], size_t nlines_tablec, struct bufr_descriptor *d, unsigned long ival)
char * wind_to_dndnfnfnfn(char *target, double dd, double ff)
char * percent_to_okta(char *target, double perc)
Converts percent cloud cover into okta.
int read_table_c(char tablec[MAXLINES_TABLEC][92], size_t *nlines_tablec, char *bufrtables_dir, int ksec1[40])
char * pascal_to_pnpnpn(char *target, double P)
int climat_parse_x22(struct climat_chunks *c, struct bufr2tac_subset_state *s)
size_t print_temp_b_sec7(char **sec7, size_t lmax, struct temp_chunks *t)
Prints the section 7 of part B of a TEMP report.
int bufr2tac_push_error(struct bufr2tac_error_stack *e, int severity, char *description)
size_t print_temp_b_sec1(char **sec1, size_t lmax, struct temp_chunks *t)
Prints the section 1 of part B of a TEMP report.
int print_climat_report(struct metreport *m)
prints a climat into a string
char * vism_to_VV(char *target, double V)
Convert horizontal visibilty in meters to a VV string.
int climat_parse_x10(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 10.
int read_bufr(unsigned char *bufr, char *filename, int *length)
read a bufr file as an array of unsigned chars
int buoy_parse_x22(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 22.
size_t print_temp_a_sec4(char **sec4, size_t lmax, struct temp_chunks *t)
Prints the section 4 of part A of a TEMP report.
int bus012_(int *, unsigned int *, int *, int *, int *, int *, int *)
int parse_subset_sequence(struct metreport *m, struct bufr_subset_sequence_data *sq, struct bufr2tac_subset_state *st, int *kdtlst, size_t nlst, int *ksec1, char *err)
Parse a sequence of expanded descriptors for a subset.
int climat_parse_x20(struct climat_chunks *c, struct bufr2tac_subset_state *s)
int parse_temp_raw_wind_shear_data(struct temp_chunks *t, struct temp_raw_wind_shear_data *w)
int syn_parse_x01(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 01.
void bufr2tac_clean_metreport(struct metreport *m)
int temp_parse_x07(struct temp_chunks *t, struct bufr2tac_subset_state *s)
size_t print_temp_a_sec1(char **sec1, size_t lmax, struct temp_chunks *t)
Prints the section 1 of part A of a TEMP report.
int syn_parse_x12(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 12.
int buoy_parse_x10(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 10.
int temp_parse_x04(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 04.
size_t print_temp_c_sec3(char **sec3, size_t lmax, struct temp_chunks *t)
Prints the section 3 of part C of a TEMP report.
char * pascal_to_PPPP(char *target, double P)
Converts pascal values into a PPPP string.
int syn_parse_x10(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 10.
char * guess_WMO_region_synop(struct synop_chunks *syn)
Try to find WMO region if it is not already set and WMO Block and number index are known.
int buoy_parse_x06(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 06.
int print_xml(FILE *f, struct metreport *m)
prints a struct metreport in xml format
int syn_parse_x08(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 08.
int climat_parse_x02(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 02.
size_t print_temp_d_sec1(char **sec1, size_t lmax, struct temp_chunks *t)
Prints the section 1 of part D of a TEMP report.
int climat_parse_x05(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 05.
int climat_parse_x06(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 06.
int hour_rounded(struct synop_chunks *syn)
Get the rounded hour of a given date.
int bufr_set_environment(char *default_bufrtables, char *bufrtables_dir)
set the environment vars needed to work properly with ECMWF bufrdc library
int temp_parse_x20(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 20.
int parse_subset_as_climat(struct metreport *m, struct bufr2tac_subset_state *s, struct bufr_subset_sequence_data *sq, char *err)
int print_temp_c(struct metreport *m)
Prints the part C of a TEMP report into a string.
int syn_parse_x14(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 14.
int temp_parse_x12(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 12.
int climat_parse_x31(struct climat_chunks *c, struct bufr2tac_subset_state *s)
size_t print_synop_sec1(char **sec1, size_t lmax, struct synop_chunks *syn)
Prints the synop section 1.
size_t print_climat_sec0(char **sec0, size_t lmax, struct climat_chunks *cl)
Prints the climat section 0 (header)
int climat_parse_x13(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 13.
int syn_parse_x22(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 01.
int buoy_parse_x02(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 02.
int print_synop_report(struct metreport *m)
prints a synop into a string
int find_descriptor_interval(int *haystack, size_t nlst, int needlemin, int needlemax)
size_t print_geo(char **geo, size_t lmax, struct metreport *m)
char * get_explained_table_val(char *expl, size_t dim, char tablec[MAXLINES_TABLEC][92], size_t nlines_tablec, struct bufr_descriptor *d, int ival)
size_t print_temp_a_sec3(char **sec3, size_t lmax, struct temp_chunks *t)
Prints the section 3 of part A of a TEMP report.
int YYYYMMDDHHmm_to_met_datetime(struct met_datetime *t, const char *source)
Parse the string YYYYMMDDHHmm[ss] and set a struct met_datetime.
#define BUFR2TAC_ERROR_DESCRIPTION_LENGTH
set de dimension of member description of a struct bufr2tac_error
char * recent_snow_to_ss(char *target, double r)
converts recent snow in m to ss (code table 3870)
int temp_parse_x31(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 31.
int print_plain(FILE *f, struct metreport *m)
Print in a file the report decoded to Traditional Alphanumeric Code in plain text format....
int round_met_datetime_to_hour(struct met_datetime *target, struct met_datetime *source)
int temp_parse_x01(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 01.
void bufr2tac_clean_climat_chunks(struct climat_chunks *c)
cleans a climat_chunks struct
int buoy_parse_x31(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 31.
int temp_parse_x22(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 22.
int buoy_parse_x04(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 04.
int climat_parse_x11(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 11.
size_t print_buoy_sec3(char **sec3, size_t lmax, struct buoy_chunks *b)
Prints the buoy section 3.
char * m_to_hh(char *target, double h)
converts the altitude of cloud layer into hh string code
size_t print_temp_wigos_id(char **wid, size_t lmax, struct temp_chunks *t)
int temp_parse_x02(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 02.
int buoy_parse_x12(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 12.
int print_temp_raw_data(struct temp_raw_data *r)
Prints for debug a struct temp_raw_data.
int buoy_parse_x08(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 08.
int climat_parse_x08(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 08.
int bufr2tac_print_error(struct bufr2tac_error_stack *e)
int print_temp_a(struct metreport *m)
Prints the part A of a TEMP report into a string.
int print_html(FILE *f, struct metreport *m)
Print in a file the report decoded to Traditional Alphanumeric Code in plain html format....
int temp_parse_x06(struct temp_chunks *t, struct bufr2tac_subset_state *s)
int bufr2tac_set_debug_level(int level)
char * m_to_RR(char *target, double m)
Convert distance (m) in RR code (3570)
int synop_YYYYMMDDHHmm_to_YYGG(struct synop_chunks *syn)
Sets YYGG from YYYYMMDDHHmm extended group.
int climat_parse_x01(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 01.
int syn_parse_x05(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 05.
char * prec_to_RRR(char *target, double r)
converts a precipitation in Kg/m2 into a RRR string
size_t print_synop_sec3(char **sec3, size_t lmax, struct synop_chunks *syn)
Prints the synop section 3.
void bufr2tac_clean_buoy_chunks(struct buoy_chunks *b)
cleans a buoy_chunks struct
int parse_subset_as_buoy(struct metreport *m, struct bufr2tac_subset_state *s, struct bufr_subset_sequence_data *sq, char *err)
size_t print_synop_wigos_id(char **wid, size_t lmax, struct synop_chunks *syn)
char * kelvin_to_snTTT(char *target, double T)
converts a kelvin temperature value into a snTTT string
unsigned int three_bytes_to_uint(const unsigned char *source)
returns the integer value from an array of three bytes, most significant first
char * m_to_h(char *target, double h)
converts the altitude of cloud layer into h string code
char * kelvin_to_TT(char *target, double T)
converts a kelvin temperature value into a TT string
int print_temp_report(struct metreport *m)
print the four parts of a decoded TEMP report from a BUFR file into strings
int descriptor_to_integer(int *id, struct bufr_descriptor *d)
parse a descriptor and sets an integer in the decimal formas fxxyyy
int temp_parse_x08(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 08.
int temp_parse_x10(struct temp_chunks *t, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 10.
int print_temp_b(struct metreport *m)
Prints the part B of a TEMP report into a string.
size_t print_temp_a_sec7(char **sec7, size_t lmax, struct temp_chunks *t)
Prints the section 7 of part A of a TEMP report.
int buoy_parse_x20(struct buoy_chunks *b, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 20.
char * kelvin_to_snTT(char *target, double T)
converts a kelvin temperature value into a snTT string
int climat_parse_x04(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 04.
int buukey_(int *, int *, int *, int *, int *)
char * total_snow_depth_to_sss(char *target, double r)
converts tatal snow depth in m to sss (code table 3889)
char * adjust_string(char *s)
Supress trailing blanks of a string.
int syn_parse_x07(struct synop_chunks *syn, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 07.
int bufr2tac_clean_error_stack(struct bufr2tac_error_stack *e)
char * latlon_to_MMM(char *target, double lat, double lon)
convert latitude and longitude to a MMM string
int check_j_cm2(double val)
Check if a radiation value can be wrote in J/cm2 using up to 4 chars.
int climat_parse_x07(struct climat_chunks *c, struct bufr2tac_subset_state *s)
int climat_parse_x14(struct climat_chunks *c, struct bufr2tac_subset_state *s)
Parse a expanded descriptor with X = 14.
Include header file for bufrdeco library.
#define MAXLINES_TABLEC
The maximum expected lines in a Table C file, legacy def used from ECMWF.
Main header file for buoy related tasks.
Main header file for synop related tasks.
Main header file for temp report related tasks.
A stack of structs bufr2tac_error.
struct bufr2tac_error err[BUFR2TAC_ERROR_STACK_DIM]
Store an error/warning/info and its severity.
char description[BUFR2TAC_ERROR_DESCRIPTION_LENGTH]
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 * a1
struct bufr_atom_data * a
struct bufr2tac_error_stack e
Contains all the information for a single data related with a descriptor in a expanded squence.
contains all possible substrings from a synop report is parsed with success
contains all possible substrings from a synop report is parsed with success
stores date and time reference of a report, commonly the observation time
Geographic meta information.
all the information for a meteorological report in WMO text format from a BUFR file
char alphanum[REPORT_LENGTH]
struct synop_chunks synop
struct climat_chunks climat
char alphanum3[REPORT_LENGTH]
char alphanum2[REPORT_LENGTH]
char alphanum4[REPORT_LENGTH]
contains all possible substrings from a synop report is parsed with success
Store the whole TEMP report.
Stores the array of all data profile points as it in bufr sequence.
array of Wind shear data points at a pressure level
WIGOS station identifier.