mirror of https://github.com/ecmwf/eccodes.git
ECC-1500: Tools: Print the online help page URL
This commit is contained in:
parent
0116ae19fe
commit
350d8e6747
|
@ -45,8 +45,9 @@ const char* tool_description =
|
|||
"\n\tFloating-point values are compared exactly by default, different tolerances can be defined (see -A -R)."
|
||||
"\n\tDefault behaviour: absolute error=0, bit-by-bit compare, same order in files.";
|
||||
|
||||
const char* tool_name = "bufr_compare";
|
||||
const char* tool_usage = "[options] bufr_file1 bufr_file2";
|
||||
const char* tool_name = "bufr_compare";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/bufr_compare";
|
||||
const char* tool_usage = "[options] bufr_file1 bufr_file2";
|
||||
|
||||
GRIB_INLINE static int grib_inline_strcmp(const char* a, const char* b)
|
||||
{
|
||||
|
|
|
@ -19,8 +19,9 @@ const char* tool_description =
|
|||
"Copies the content of BUFR files printing"
|
||||
" values of some keys."
|
||||
"\n\tIf the name of the output_bufr_file contains a key enclosed in square brackets, its value will be used.";
|
||||
const char* tool_name = "bufr_copy";
|
||||
const char* tool_usage = "[options] bufr_file bufr_file ... output_bufr_file";
|
||||
const char* tool_name = "bufr_copy";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/bufr_copy";
|
||||
const char* tool_usage = "[options] bufr_file bufr_file ... output_bufr_file";
|
||||
|
||||
grib_option grib_options[] = {
|
||||
/* {id, args, help}, on, command_line, value */
|
||||
|
|
|
@ -64,6 +64,7 @@ grib_option grib_options[] = {
|
|||
|
||||
const char* tool_description = "Dump the content of a BUFR file in different formats.";
|
||||
const char* tool_name = "bufr_dump";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/bufr_dump";
|
||||
const char* tool_usage = "[options] bufr_file bufr_file ...";
|
||||
static int json = 0;
|
||||
static int dump_descriptors = 0;
|
||||
|
|
|
@ -34,10 +34,10 @@ const char* tool_description =
|
|||
"Apply the rules defined in rules_file to each BUFR "
|
||||
"message\n\tin the BUFR files provided as arguments.\n\t"
|
||||
"If you specify '-' (a single dash) for the rules_file, the rules will be read from standard input.";
|
||||
const char* tool_name = "bufr_filter";
|
||||
const char* tool_usage =
|
||||
"[options] rules_file "
|
||||
"bufr_file bufr_file ...";
|
||||
const char* tool_name = "bufr_filter";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/bufr_filter";
|
||||
const char* tool_usage = "[options] rules_file "
|
||||
"bufr_file bufr_file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
||||
|
|
|
@ -39,8 +39,9 @@ const char* tool_description =
|
|||
"Get values of some header keys from a BUFR file."
|
||||
"\n\tIt is similar to bufr_ls, but fails returning an error code "
|
||||
"\n\twhen an error occurs (e.g. key not found).";
|
||||
const char* tool_name = "bufr_get";
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
const char* tool_name = "bufr_get";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/bufr_get";
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
||||
|
|
|
@ -18,8 +18,9 @@
|
|||
const char* tool_description =
|
||||
"Build an index file for a set of input BUFR files.\n"
|
||||
"\tWarning: THIS TOOL IS STILL EXPERIMENTAL";
|
||||
const char* tool_name = "bufr_index_build";
|
||||
const char* tool_usage = "[options] file file ... ";
|
||||
const char* tool_name = "bufr_index_build";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ... ";
|
||||
grib_index* idx = NULL;
|
||||
char* keys;
|
||||
char* default_keys = "mars";
|
||||
|
|
|
@ -42,6 +42,7 @@ const char* tool_description =
|
|||
"some header keys.\n\tOnly scalar keys can be printed."
|
||||
"\n\tIt does not fail when a key is not found.";
|
||||
const char* tool_name = "bufr_ls";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/bufr_ls";
|
||||
const char* tool_usage = "[options] bufr_file bufr_file ...";
|
||||
static int first_handle = 1;
|
||||
|
||||
|
|
|
@ -45,8 +45,9 @@ const char* tool_description =
|
|||
"Sets key/value pairs in the input BUFR file and writes"
|
||||
"\n\teach message to the output_file."
|
||||
"\n\tIt fails when an error occurs (e.g. key not found).";
|
||||
const char* tool_name = "bufr_set";
|
||||
const char* tool_usage = "[options] file file ... output_file";
|
||||
const char* tool_name = "bufr_set";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/bufr_set";
|
||||
const char* tool_usage = "[options] file file ... output_file";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ const char* tool_description =
|
|||
"\n\tDefault behaviour: absolute error=0, bit-by-bit compare, same order in files.";
|
||||
|
||||
const char* tool_name = "grib_compare";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_compare";
|
||||
const char* tool_usage = "[options] grib_file1 grib_file2";
|
||||
|
||||
typedef double (*compare_double_proc)(const double*, const double*, double);
|
||||
|
|
|
@ -20,6 +20,7 @@ const char* tool_description =
|
|||
" values of some keys."
|
||||
"\n\tIf the name of the output_grib_file contains a key enclosed in square brackets, its value will be used.";
|
||||
const char* tool_name = "grib_copy";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_copy";
|
||||
const char* tool_usage = "[options] grib_file grib_file ... output_grib_file";
|
||||
|
||||
grib_option grib_options[] = {
|
||||
|
|
|
@ -41,6 +41,7 @@ grib_option grib_options[] = {
|
|||
|
||||
const char* tool_description = "Dump the content of a GRIB file in different formats.";
|
||||
const char* tool_name = "grib_dump";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_dump";
|
||||
const char* tool_usage = "[options] grib_file grib_file ...";
|
||||
static int json = 0;
|
||||
static int first_handle = 1;
|
||||
|
|
|
@ -31,9 +31,9 @@ const char* tool_description =
|
|||
"message\n\tin the GRIB files provided as arguments.\n\t"
|
||||
"If you specify '-' (a single dash) for the rules_file, the rules will be read from standard input.";
|
||||
const char* tool_name = "grib_filter";
|
||||
const char* tool_usage =
|
||||
"[options] rules_file "
|
||||
"grib_file grib_file ...";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_filter";
|
||||
const char* tool_usage = "[options] rules_file "
|
||||
"grib_file grib_file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ const char* tool_description =
|
|||
"\n\tIt is similar to grib_ls, but fails returning an error code "
|
||||
"\n\twhen an error occurs (e.g. key not found).";
|
||||
const char* tool_name = "grib_get";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_get";
|
||||
const char* tool_usage = "[options] grib_file grib_file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -39,6 +39,7 @@ const char* tool_description =
|
|||
"Print a latitude, longitude, data values list.\n"
|
||||
"\tNote: Rotated grids are first unrotated";
|
||||
const char* tool_name = "grib_get_data";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_get_data";
|
||||
const char* tool_usage = "[options] grib_file grib_file ...";
|
||||
|
||||
extern FILE* dump_file;
|
||||
|
|
|
@ -21,6 +21,7 @@ int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
|||
|
||||
const char* tool_description = "Histogram of GRIB files";
|
||||
const char* tool_name = "grib_histogram";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] grib_file grib_file ...";
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
const char* tool_description = "Build an index file for a set of input GRIB files.";
|
||||
const char* tool_name = "grib_index_build";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_index_build";
|
||||
const char* tool_usage = "[options] grib_file grib_file ... ";
|
||||
static grib_index* idx = NULL;
|
||||
static const char* keys;
|
||||
|
|
|
@ -45,8 +45,9 @@ grib_option grib_options[] = {
|
|||
const char* tool_description =
|
||||
"List content of GRIB files printing values of "
|
||||
"some keys.\n\tIt does not fail when a key is not found.";
|
||||
const char* tool_name = "grib_ls";
|
||||
const char* tool_usage = "[options] grib_file grib_file ...";
|
||||
const char* tool_name = "grib_ls";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_ls";
|
||||
const char* tool_usage = "[options] grib_file grib_file ...";
|
||||
static const char* new_handle = "";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -36,6 +36,7 @@ static const char* md5Key = "md5Product";
|
|||
|
||||
const char* tool_description = "Merge two fields with identical parameters and different geographical area";
|
||||
const char* tool_name = "grib_merge";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ... output_file";
|
||||
|
||||
grib_option grib_options[] = {
|
||||
|
|
|
@ -131,7 +131,10 @@ void usage(void)
|
|||
grib_options_get_help(grib_options[i].id));
|
||||
}
|
||||
}
|
||||
printf("\n\n");
|
||||
printf("\n");
|
||||
if (tool_online_doc)
|
||||
printf("SEE ALSO\n\t%s\n\n", tool_online_doc);
|
||||
printf("\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
|
@ -50,8 +50,9 @@ const char* tool_description =
|
|||
"Sets key/value pairs in the input GRIB file and writes"
|
||||
"\n\teach message to the output_grib_file."
|
||||
"\n\tIt fails when an error occurs (e.g. key not found).";
|
||||
const char* tool_name = "grib_set";
|
||||
const char* tool_usage = "[options] grib_file grib_file ... output_grib_file";
|
||||
const char* tool_name = "grib_set";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_set";
|
||||
const char* tool_usage = "[options] grib_file grib_file ... output_grib_file";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ const char* tool_description =
|
|||
"\n\tNote: The GRIB geometry should be a regular lat/lon grid or a regular Gaussian grid"
|
||||
"\n\t(the key \"typeOfGrid\" should be \"regular_ll\" or \"regular_gg\")";
|
||||
const char* tool_name = "grib_to_netcdf";
|
||||
const char* tool_online_doc = "https://confluence.ecmwf.int/display/ECC/grib_to_netcdf";
|
||||
const char* tool_usage = "[options] -o output_file grib_file grib_file ... ";
|
||||
static char argvString[2048] = {0,};
|
||||
|
||||
|
|
|
@ -181,6 +181,7 @@ extern int grib_options_count;
|
|||
extern const char* tool_name;
|
||||
extern const char* tool_description;
|
||||
extern const char* tool_usage;
|
||||
extern const char* tool_online_doc; /* Can be NULL */
|
||||
|
||||
extern FILE* dump_file;
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ const char* tool_description =
|
|||
"\n\tDefault behaviour: bit-by-bit compare, same order in files.";
|
||||
|
||||
const char* tool_name = "gts_compare";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage =
|
||||
"[options] "
|
||||
"file file";
|
||||
|
|
|
@ -14,6 +14,7 @@ const char* tool_description =
|
|||
"Copies the content of GTS files printing"
|
||||
" values of some keys.";
|
||||
const char* tool_name = "gts_copy";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ... output_file";
|
||||
|
||||
grib_option grib_options[] = {
|
||||
|
|
|
@ -35,6 +35,7 @@ grib_option grib_options[] = {
|
|||
|
||||
const char* tool_description = "Dump the content of a GTS file in different formats.";
|
||||
const char* tool_name = "gts_dump";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -31,6 +31,7 @@ const char* tool_description =
|
|||
"message\n\tin the GTS files provided as arguments.\n\t"
|
||||
"If you specify '-' (a single dash) for the rules_file, the rules will be read from standard input.";
|
||||
const char* tool_name = "gts_filter";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage =
|
||||
"[options] rules_file "
|
||||
"file file ...";
|
||||
|
|
|
@ -33,6 +33,7 @@ const char* tool_description =
|
|||
"\n\tIt is similar to gts_ls, but fails returning an error code "
|
||||
"\n\twhen an error occurs (e.g. key not found).";
|
||||
const char* tool_name = "gts_get";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -36,6 +36,7 @@ const char* tool_description =
|
|||
"List content of GTS files printing values of "
|
||||
"some keys.\n\tIt does not fail when a key is not found.";
|
||||
const char* tool_name = "gts_ls";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -44,6 +44,7 @@ const char* tool_description =
|
|||
"\n\tDefault behaviour: absolute error=0, bit-by-bit compare, same order in files.";
|
||||
|
||||
const char* tool_name = "metar_compare";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage =
|
||||
"[options] "
|
||||
"file file";
|
||||
|
|
|
@ -14,6 +14,7 @@ const char* tool_description =
|
|||
"Copies the content of METAR files printing"
|
||||
" values of some keys.";
|
||||
const char* tool_name = "metar_copy";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ... output_file";
|
||||
|
||||
grib_option grib_options[] = {
|
||||
|
|
|
@ -38,6 +38,7 @@ grib_option grib_options[] = {
|
|||
|
||||
const char* tool_description = "Dump the content of a METAR file in different formats.";
|
||||
const char* tool_name = "metar_dump";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -28,6 +28,7 @@ const char* tool_description =
|
|||
"Apply the rules defined in rules_file to each METAR "
|
||||
"message\n\tin the files provided as arguments.";
|
||||
const char* tool_name = "metar_filter";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage =
|
||||
"[options] rules_file "
|
||||
"file file ...";
|
||||
|
|
|
@ -34,6 +34,7 @@ const char* tool_description =
|
|||
"\n\tIt is similar to metar_ls, but fails returning an error code "
|
||||
"\n\twhen an error occurs (e.g. key not found).";
|
||||
const char* tool_name = "metar_get";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -48,6 +48,7 @@ const char* tool_description =
|
|||
"List content of METAR files printing values of "
|
||||
"some keys.\n\tIt does not fail when a key is not found.";
|
||||
const char* tool_name = "metar_ls";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -31,6 +31,7 @@ grib_option grib_options[] = {
|
|||
|
||||
const char* tool_description = "Dump the content of a TAF file in different formats.";
|
||||
const char* tool_name = "taf_dump";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -30,6 +30,7 @@ const char* tool_description =
|
|||
"Apply the rules defined in rules_file to each TAF "
|
||||
"message\n\tin the files provided as arguments.";
|
||||
const char* tool_name = "taf_filter";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage =
|
||||
"[options] rules_file "
|
||||
"file file ...";
|
||||
|
|
|
@ -38,6 +38,7 @@ const char* tool_description =
|
|||
"\n\tIt is similar to taf_ls, but fails returning an error code "
|
||||
"\n\twhen an error occurs (e.g. key not found).";
|
||||
const char* tool_name = "taf_get";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
|
@ -41,6 +41,7 @@ const char* tool_description =
|
|||
"List content of TAF files printing values of "
|
||||
"some keys.\n\tIt does not fail when a key is not found.";
|
||||
const char* tool_name = "taf_ls";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage = "[options] file file ...";
|
||||
|
||||
int grib_options_count = sizeof(grib_options) / sizeof(grib_option);
|
||||
|
|
Loading…
Reference in New Issue