/* * Copyright 2005-2019 ECMWF. * * This software is licensed under the terms of the Apache Licence Version 2.0 * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * * In applying this licence, ECMWF does not waive the privileges and immunities granted to it by * virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. */ /* * C Implementation: nearest * * Description: how to get nearest point(s) */ #include #include #include #include "eccodes.h" static void usage(const char* prog) { printf("Usage: %s grib_file grib_file ...\n",prog); exit(1); } int main(int argc, char** argv) { int err = 0; long step=0; size_t nfiles; int i=0; codes_fieldset* set=NULL; codes_handle* h=NULL; char param[20]={0,}; size_t len=20; double lats[4]={0,}; double lons[4]={0,}; double values[4]={0,}; double distances[4]={0,}; int indexes[4]={0,}; char* order_by="param,step"; size_t size=4; double lat=-40,lon=15; int mode=0; int count; char** filenames; codes_nearest* nearest=NULL; if (argc < 2) usage(argv[0]); nfiles=argc-1; filenames=(char**)malloc(sizeof(char*)*nfiles); for (i=0;i