mirror of https://github.com/ecmwf/eccodes.git
Tools: Dead code removal
This commit is contained in:
parent
94b428d997
commit
774dbab5ec
|
@ -42,9 +42,7 @@ const char* tool_description =
|
|||
|
||||
const char* tool_name = "gts_compare";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage =
|
||||
"[options] "
|
||||
"file file";
|
||||
const char* tool_usage = "[options] file file";
|
||||
|
||||
|
||||
GRIB_INLINE static int grib_inline_strcmp(const char* a, const char* b)
|
||||
|
@ -157,9 +155,6 @@ int grib_tool_before_getopt(grib_runtime_options* options)
|
|||
|
||||
int grib_tool_init(grib_runtime_options* options)
|
||||
{
|
||||
int ret = 0;
|
||||
int nfiles = 1;
|
||||
char orderby[] = "md5Headers";
|
||||
grib_context* context = grib_context_get_default();
|
||||
|
||||
options->strict = 1;
|
||||
|
@ -218,27 +213,12 @@ int grib_tool_init(grib_runtime_options* options)
|
|||
context->blocklist = blocklist;
|
||||
}
|
||||
|
||||
if (grib_options_on("r")) {
|
||||
const char* filename[1];
|
||||
filename[0] = options->infile_extra->name;
|
||||
options->random = 1;
|
||||
options->orderby = strdup(orderby);
|
||||
options->idx = grib_fieldset_new_from_files(context, filename,
|
||||
nfiles, 0, 0, 0, orderby, &ret);
|
||||
if (ret) {
|
||||
printf("unable to create index for input file %s (%s)",
|
||||
options->infile_extra->name, grib_get_error_message(ret));
|
||||
exit(ret);
|
||||
}
|
||||
}
|
||||
else {
|
||||
options->random = 0;
|
||||
options->infile_extra->file = fopen(options->infile_extra->name, "r");
|
||||
options->random = 0;
|
||||
options->infile_extra->file = fopen(options->infile_extra->name, "r");
|
||||
|
||||
if (!options->infile_extra->file) {
|
||||
perror(options->infile_extra->name);
|
||||
exit(1);
|
||||
}
|
||||
if (!options->infile_extra->file) {
|
||||
perror(options->infile_extra->name);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (grib_options_on("t:"))
|
||||
|
@ -279,19 +259,6 @@ static void printInfo(grib_handle* h)
|
|||
lastPrint = count;
|
||||
}
|
||||
|
||||
static void print_index_key_values(grib_index* index, int cnt, const char* error_message)
|
||||
{
|
||||
grib_index_key* keys = index->keys;
|
||||
printf("== %d == ", cnt);
|
||||
if (error_message)
|
||||
printf("%s == ", error_message);
|
||||
while (keys) {
|
||||
printf("%s=%s ", keys->name, keys->value);
|
||||
keys = keys->next;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
static grib_handle* gts_handle_new_from_file_x(
|
||||
grib_context* c, FILE* f, int mode, int headers_only, int* err)
|
||||
{
|
||||
|
@ -303,51 +270,7 @@ int grib_tool_new_handle_action(grib_runtime_options* options, grib_handle* h)
|
|||
int err = 0;
|
||||
count++;
|
||||
|
||||
if (options->through_index) {
|
||||
grib_index* idx1 = options->index1;
|
||||
verbose = 0;
|
||||
counter++;
|
||||
|
||||
if (start > 0 && counter < start)
|
||||
return 0;
|
||||
if (end > 0 && counter > end) {
|
||||
options->stop = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
grib_index_search_same(idx1, h);
|
||||
global_handle = codes_new_from_index(idx1, CODES_GTS, &err);
|
||||
if (options->verbose) {
|
||||
off_t offset = 0;
|
||||
char* filename = grib_get_field_file(options->index2, &offset);
|
||||
printf("file1=\"%s\" ", filename);
|
||||
filename = grib_get_field_file(options->index1, &offset);
|
||||
printf("file2=\"%s\" \n", filename);
|
||||
print_index_key_values(options->index1, counter, NULL);
|
||||
}
|
||||
|
||||
if (!global_handle) {
|
||||
if (!options->verbose)
|
||||
print_index_key_values(idx1, counter, "NOT FOUND ");
|
||||
}
|
||||
|
||||
if (!global_handle || err != GRIB_SUCCESS) {
|
||||
morein1++;
|
||||
grib_handle_delete(global_handle);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (compare_handles(h, global_handle, options)) {
|
||||
error++;
|
||||
if (!force)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
grib_handle_delete(global_handle);
|
||||
|
||||
return 0;
|
||||
}
|
||||
else if (options->random)
|
||||
if (options->random)
|
||||
global_handle = grib_fieldset_next_handle(options->idx, &err);
|
||||
else
|
||||
global_handle = gts_handle_new_from_file_x(h->context, options->infile_extra->file, options->mode, 0, &err);
|
||||
|
@ -430,10 +353,6 @@ int grib_tool_finalise_action(grib_runtime_options* options)
|
|||
|
||||
printf("##\n## %d different messages out of %d\n\n", error, count);
|
||||
}
|
||||
if (options->through_index) {
|
||||
grib_index_delete(options->index1);
|
||||
grib_index_delete(options->index2);
|
||||
}
|
||||
|
||||
if (error != 0)
|
||||
exit(1);
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
grib_option grib_options[] = {
|
||||
/* {id, args, help}, on, command_line, value*/
|
||||
{ "r", 0, "Compare files in which the messages are not in the same order. This option is time expensive.\n", 0, 1, 0 },
|
||||
{ "b:", 0, 0, 0, 1, 0 },
|
||||
{ "d", 0, "Write different messages on files\n", 0, 1, 0 },
|
||||
{ "T:", 0, 0, 1, 0, "M" }, /* METAR */
|
||||
|
@ -44,9 +43,7 @@ const char* tool_description =
|
|||
|
||||
const char* tool_name = "metar_compare";
|
||||
const char* tool_online_doc = NULL;
|
||||
const char* tool_usage =
|
||||
"[options] "
|
||||
"file file";
|
||||
const char* tool_usage = "[options] file file";
|
||||
|
||||
|
||||
GRIB_INLINE static int grib_inline_strcmp(const char* a, const char* b)
|
||||
|
@ -91,7 +88,6 @@ static int verbose = 0;
|
|||
static double tolerance_factor = 1;
|
||||
static int write_error = 0;
|
||||
static grib_handle* global_handle = NULL;
|
||||
static int global_counter = 0;
|
||||
static int start = -1;
|
||||
static int end = -1;
|
||||
static int write_count = 0;
|
||||
|
@ -196,9 +192,6 @@ int grib_tool_before_getopt(grib_runtime_options* options)
|
|||
|
||||
int grib_tool_init(grib_runtime_options* options)
|
||||
{
|
||||
int ret = 0, i;
|
||||
int nfiles = 1;
|
||||
char orderby[] = "md5Headers";
|
||||
grib_context* context = grib_context_get_default();
|
||||
|
||||
options->strict = 1;
|
||||
|
@ -243,7 +236,7 @@ int grib_tool_init(grib_runtime_options* options)
|
|||
blocklist = (grib_string_list*)grib_context_malloc_clear(context, sizeof(grib_string_list));
|
||||
blocklist->value = grib_context_strdup(context, options->set_values[0].name);
|
||||
next = blocklist;
|
||||
for (i = 1; i < options->set_values_count; i++) {
|
||||
for (int i = 1; i < options->set_values_count; i++) {
|
||||
next->next = (grib_string_list*)grib_context_malloc_clear(context, sizeof(grib_string_list));
|
||||
next->next->value = grib_context_strdup(context, options->set_values[i].name);
|
||||
next = next->next;
|
||||
|
@ -251,34 +244,19 @@ int grib_tool_init(grib_runtime_options* options)
|
|||
context->blocklist = blocklist;
|
||||
}
|
||||
|
||||
if (grib_options_on("r")) {
|
||||
const char* filename[1];
|
||||
filename[0] = options->infile_extra->name;
|
||||
options->random = 1;
|
||||
options->orderby = strdup(orderby);
|
||||
options->idx = grib_fieldset_new_from_files(context, filename,
|
||||
nfiles, 0, 0, 0, orderby, &ret);
|
||||
if (ret) {
|
||||
printf("unable to create index for input file %s (%s)",
|
||||
options->infile_extra->name, grib_get_error_message(ret));
|
||||
exit(ret);
|
||||
}
|
||||
}
|
||||
else {
|
||||
options->random = 0;
|
||||
options->infile_extra->file = fopen(options->infile_extra->name, "r");
|
||||
options->random = 0;
|
||||
options->infile_extra->file = fopen(options->infile_extra->name, "r");
|
||||
|
||||
if (!options->infile_extra->file) {
|
||||
perror(options->infile_extra->name);
|
||||
exit(1);
|
||||
}
|
||||
if (!options->infile_extra->file) {
|
||||
perror(options->infile_extra->name);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
global_tolerance = 0;
|
||||
compare_double = &compare_double_absolute;
|
||||
if (grib_options_on("R:")) {
|
||||
global_tolerance = 0;
|
||||
for (i = 0; i < options->tolerance_count; i++) {
|
||||
for (int i = 0; i < options->tolerance_count; i++) {
|
||||
if (!strcmp((options->tolerance[i]).name, "all")) {
|
||||
global_tolerance = (options->tolerance[i]).double_value;
|
||||
break;
|
||||
|
@ -344,21 +322,7 @@ static void printInfo(grib_handle* h)
|
|||
lastPrint = count;
|
||||
}
|
||||
|
||||
static void print_index_key_values(grib_index* index, int counter, const char* error_message)
|
||||
{
|
||||
grib_index_key* keys = index->keys;
|
||||
printf("== %d == ", counter);
|
||||
if (error_message)
|
||||
printf("%s == ", error_message);
|
||||
while (keys) {
|
||||
printf("%s=%s ", keys->name, keys->value);
|
||||
keys = keys->next;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
static grib_handle* metar_handle_new_from_file_x(
|
||||
grib_context* c, FILE* f, int mode, int headers_only, int* err)
|
||||
static grib_handle* metar_handle_new_from_file_x(grib_context* c, FILE* f, int mode, int headers_only, int* err)
|
||||
{
|
||||
return codes_handle_new_from_file(c, f, PRODUCT_METAR, err);
|
||||
}
|
||||
|
@ -368,52 +332,7 @@ int grib_tool_new_handle_action(grib_runtime_options* options, grib_handle* h)
|
|||
int err = 0;
|
||||
count++;
|
||||
|
||||
if (options->through_index) {
|
||||
grib_index* idx1 = options->index1;
|
||||
verbose = 0;
|
||||
global_counter++;
|
||||
|
||||
if (start > 0 && global_counter < start)
|
||||
return 0;
|
||||
if (end > 0 && global_counter > end) {
|
||||
options->stop = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
grib_index_search_same(idx1, h);
|
||||
global_handle = codes_new_from_index(idx1, CODES_METAR, &err);
|
||||
if (options->verbose) {
|
||||
off_t offset = 0;
|
||||
char* filename = grib_get_field_file(options->index2, &offset);
|
||||
printf("file1=\"%s\" ", filename);
|
||||
filename = grib_get_field_file(options->index1, &offset);
|
||||
printf("file2=\"%s\" \n", filename);
|
||||
print_index_key_values(options->index1, global_counter, NULL);
|
||||
}
|
||||
|
||||
if (!global_handle) {
|
||||
if (!options->verbose)
|
||||
print_index_key_values(idx1, global_counter, "NOT FOUND ");
|
||||
}
|
||||
|
||||
if (!global_handle || err != GRIB_SUCCESS) {
|
||||
morein1++;
|
||||
if (global_handle)
|
||||
grib_handle_delete(global_handle);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (compare_handles(h, global_handle, options)) {
|
||||
error++;
|
||||
if (!force)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
grib_handle_delete(global_handle);
|
||||
|
||||
return 0;
|
||||
}
|
||||
else if (options->random)
|
||||
if (options->random)
|
||||
global_handle = grib_fieldset_next_handle(options->idx, &err);
|
||||
else
|
||||
global_handle = metar_handle_new_from_file_x(h->context, options->infile_extra->file, options->mode, 0, &err);
|
||||
|
@ -496,10 +415,6 @@ int grib_tool_finalise_action(grib_runtime_options* options)
|
|||
|
||||
printf("##\n## %d different messages out of %d\n\n", error, count);
|
||||
}
|
||||
if (options->through_index) {
|
||||
grib_index_delete(options->index1);
|
||||
grib_index_delete(options->index2);
|
||||
}
|
||||
|
||||
if (error != 0)
|
||||
exit(1);
|
||||
|
@ -548,7 +463,6 @@ static int compare_values(grib_runtime_options* options, grib_handle* h1, grib_h
|
|||
int err2;
|
||||
int type1, type2;
|
||||
int countdiff;
|
||||
int isangle = 0;
|
||||
int isMissing1 = 0, isMissing2 = 0;
|
||||
|
||||
char *sval1 = NULL, *sval2 = NULL;
|
||||
|
@ -585,16 +499,6 @@ static int compare_values(grib_runtime_options* options, grib_handle* h1, grib_h
|
|||
return err;
|
||||
}
|
||||
|
||||
/*
|
||||
if(type1 != type2)
|
||||
{
|
||||
printInfo(h1);
|
||||
printf("Warning, [%s] has different types: 1st field: [%s], 2nd field: [%s]\n",
|
||||
name,grib_get_type_name(type1),grib_get_type_name(type2));
|
||||
return GRIB_TYPE_MISMATCH;
|
||||
}
|
||||
*/
|
||||
|
||||
if (type1 == GRIB_TYPE_LABEL)
|
||||
return err;
|
||||
|
||||
|
@ -623,16 +527,6 @@ static int compare_values(grib_runtime_options* options, grib_handle* h1, grib_h
|
|||
return err;
|
||||
}
|
||||
|
||||
/*
|
||||
if(len1 != len2 && type1 != GRIB_TYPE_STRING)
|
||||
{
|
||||
printInfo(h1);
|
||||
printf("[%s] has different size: 1st field: %ld, 2nd field: %ld\n",name,(long)len1,(long)len2);
|
||||
save_error(c,name);
|
||||
return GRIB_COUNT_MISMATCH;
|
||||
}
|
||||
*/
|
||||
|
||||
if (options->mode != MODE_METAR) {
|
||||
/* TODO: Ignore missing values for keys in METAR. Not yet implemented */
|
||||
isMissing1 = ((grib_is_missing(h1, name, &err1) == 1) && (err1 == 0)) ? 1 : 0;
|
||||
|
@ -770,7 +664,6 @@ static int compare_values(grib_runtime_options* options, grib_handle* h1, grib_h
|
|||
dval1 = (double*)grib_context_malloc(h1->context, len1 * sizeof(double));
|
||||
dval2 = (double*)grib_context_malloc(h2->context, len2 * sizeof(double));
|
||||
|
||||
isangle = 0;
|
||||
value_tolerance = global_tolerance;
|
||||
if (!grib_inline_strcmp(name, "packedValues") || !grib_inline_strcmp(name, "values") || !grib_inline_strcmp(name, "codedValues")) {
|
||||
packingError1 = 0;
|
||||
|
@ -835,26 +728,12 @@ static int compare_values(grib_runtime_options* options, grib_handle* h1, grib_h
|
|||
if (err1 == GRIB_SUCCESS && err2 == GRIB_SUCCESS && len1 == len2) {
|
||||
int imaxdiff;
|
||||
double diff;
|
||||
double *pv1, *pv2, dnew1, dnew2;
|
||||
double *pv1, *pv2;
|
||||
maxdiff = 0;
|
||||
imaxdiff = 0;
|
||||
countdiff = 0;
|
||||
pv1 = dval1;
|
||||
pv2 = dval2;
|
||||
if (isangle) {
|
||||
dnew1 = *dval1;
|
||||
dnew2 = *dval2;
|
||||
pv1 = &dnew1;
|
||||
pv2 = &dnew2;
|
||||
if (*dval1 < 0)
|
||||
dnew1 += 360.0;
|
||||
if (*dval2 < 0)
|
||||
dnew2 += 360.0;
|
||||
if (*dval1 > 360)
|
||||
dnew1 -= 360.0;
|
||||
if (*dval2 > 360)
|
||||
dnew2 -= 360.0;
|
||||
}
|
||||
value_tolerance *= tolerance_factor;
|
||||
if (verbose)
|
||||
printf(" (%d values) tolerance=%g\n", (int)len1, value_tolerance);
|
||||
|
|
Loading…
Reference in New Issue