1 #ifndef DEGRIB1_H 2 #define DEGRIB1_H 3 4 #include <stdio.h> 5 #include "type.h" 6 #include "meta.h" 7 #include "degrib2.h" 8 #include "inventory.h" 9 10 typedef struct { 11 const char *name, *comment, *unit; 12 unit_convert convert; 13 } GRIB1ParmTable; 14 15 typedef struct { 16 const char *name, *comment, *unit; 17 char f_twoPart; 18 } GRIB1SurfTable; 19 20 extern const GRIB1ParmTable parm_table_ncep_opn[256]; 21 extern const GRIB1ParmTable parm_table_ncep_reanal[256]; 22 extern const GRIB1ParmTable parm_table_ncep_tdl[256]; 23 extern const GRIB1ParmTable parm_table_ncep_mdl[256]; 24 extern const GRIB1ParmTable parm_table_omb[256]; 25 extern const GRIB1ParmTable parm_table_nceptab_129[256]; 26 extern const GRIB1ParmTable parm_table_nceptab_130[256]; 27 extern const GRIB1ParmTable parm_table_nceptab_131[256]; 28 extern const GRIB1ParmTable parm_table_nceptab_133[256]; 29 extern const GRIB1ParmTable parm_table_nceptab_140[256]; 30 extern const GRIB1ParmTable parm_table_nceptab_141[256]; 31 32 extern const GRIB1ParmTable parm_table_nohrsc[256]; 33 34 extern const GRIB1ParmTable parm_table_cptec_254[256]; 35 36 extern const GRIB1ParmTable parm_table_afwa_000[256]; 37 extern const GRIB1ParmTable parm_table_afwa_001[256]; 38 extern const GRIB1ParmTable parm_table_afwa_002[256]; 39 extern const GRIB1ParmTable parm_table_afwa_003[256]; 40 extern const GRIB1ParmTable parm_table_afwa_010[256]; 41 extern const GRIB1ParmTable parm_table_afwa_011[256]; 42 43 extern const GRIB1ParmTable parm_table_dwd_002[256]; 44 extern const GRIB1ParmTable parm_table_dwd_201[256]; 45 extern const GRIB1ParmTable parm_table_dwd_202[256]; 46 extern const GRIB1ParmTable parm_table_dwd_203[256]; 47 48 extern const GRIB1ParmTable parm_table_ecmwf_128[256]; 49 extern const GRIB1ParmTable parm_table_ecmwf_129[256]; 50 extern const GRIB1ParmTable parm_table_ecmwf_130[256]; 51 extern const GRIB1ParmTable parm_table_ecmwf_131[256]; 52 extern const GRIB1ParmTable parm_table_ecmwf_140[256]; 53 extern const GRIB1ParmTable parm_table_ecmwf_150[256]; 54 extern const GRIB1ParmTable parm_table_ecmwf_160[256]; 55 extern const GRIB1ParmTable parm_table_ecmwf_170[256]; 56 extern const GRIB1ParmTable parm_table_ecmwf_180[256]; 57 extern const GRIB1ParmTable parm_table_ecmwf_228[256]; 58 59 extern const GRIB1ParmTable parm_table_athens[256]; 60 61 extern const GRIB1ParmTable parm_table_norway128[256]; 62 63 extern const GRIB1ParmTable parm_table_cmc[256]; 64 65 extern const GRIB1ParmTable parm_table_undefined[256]; 66 67 extern const GRIB1SurfTable GRIB1Surface[256]; 68 69 int GRIB1_Inventory (VSILFILE *fp, uInt4 gribLen, inventoryType * inv); 70 71 int GRIB1_RefTime (VSILFILE *fp, uInt4 gribLen, double *refTime); 72 73 int ReadGrib1Record (VSILFILE *fp, sChar f_unit, double **Grib_Data, 74 uInt4 *grib_DataLen, grib_MetaData * meta, 75 IS_dataType * IS, sInt4 sect0[SECT0LEN_WORD], 76 uInt4 gribLen, double majEarth, double minEarth); 77 #endif 78