Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

Ebisuzaki.h File Reference

Go to the source code of this file.

Compounds

struct  ParmTable
 Parameter tables. More...


Defines

#define UNDEFINED   9.999e20
#define UINT2(a, b)   ((int) ((a << 8) + (b)))
#define UINT4(a, b, c, d)   ((int) ((a << 24) + (b << 16) + (c << 8) + (d)))
#define UINT3(a, b, c)   ((int) ((a << 16) + (b << 8) + (c)))
#define INT2(a, b)   ((1-(int) ((unsigned) (a & 0x80) >> 6)) * (int) (((a & 0x7f) << 8) + b))
#define INT3(a, b, c)   ((1-(int) ((unsigned) (a & 0x80) >> 6)) * (int) (((a & 127) << 16)+(b<<8)+c))
#define PDS_Len1(pds)   (pds[0])
#define PDS_Len2(pds)   (pds[1])
#define PDS_Len3(pds)   (pds[2])
#define PDS_LEN(pds)   ((int) ((pds[0]<<16)+(pds[1]<<8)+pds[2]))
#define PDS_Vsn(pds)   (pds[3])
#define PDS_Center(pds)   (pds[4])
#define PDS_Model(pds)   (pds[5])
#define PDS_Grid(pds)   (pds[6])
#define PDS_HAS_GDS(pds)   ((pds[7] & 128) != 0)
#define PDS_HAS_BMS(pds)   ((pds[7] & 64) != 0)
#define PDS_PARAM(pds)   (pds[8])
#define PDS_L_TYPE(pds)   (pds[9])
#define PDS_LEVEL1(pds)   (pds[10])
#define PDS_LEVEL2(pds)   (pds[11])
#define PDS_KPDS5(pds)   (pds[8])
#define PDS_KPDS6(pds)   (pds[9])
#define PDS_KPDS7(pds)   ((int) ((pds[10]<<8) + pds[11]))
#define PDS_Field(pds)   ((pds[8]<<24)+(pds[9]<<16) + (pds[10]<<8)+pds[11])
#define PDS_Year(pds)   (pds[12])
#define PDS_Month(pds)   (pds[13])
#define PDS_Day(pds)   (pds[14])
#define PDS_Hour(pds)   (pds[15])
#define PDS_Minute(pds)   (pds[16])
#define PDS_ForecastTimeUnit(pds)   (pds[17])
#define PDS_P1(pds)   (pds[18])
#define PDS_P2(pds)   (pds[19])
#define PDS_P1P2(pds)   UINT2((pds[18]),(pds[19]))
#define PDS_TimeRange(pds)   (pds[20])
#define PDS_NumAve(pds)   ((int) ((pds[21]<<8)+pds[22]))
#define PDS_NumMissing(pds)   (pds[23])
#define PDS_Century(pds)   (pds[24])
#define PDS_Subcenter(pds)   (pds[25])
#define PDS_DecimalScale(pds)   INT2(pds[26],pds[27])
#define PDS_Year4(pds)   (pds[12] + 100*(pds[24] - 1))
#define PDS_EcLocalId(pds)   (PDS_LEN(pds) >= 41 ? (pds[40]) : 0)
#define PDS_EcClass(pds)   (PDS_LEN(pds) >= 42 ? (pds[41]) : 0)
#define PDS_EcType(pds)   (PDS_LEN(pds) >= 43 ? (pds[42]) : 0)
#define PDS_EcStream(pds)   (PDS_LEN(pds) >= 45 ? (INT2(pds[43], pds[44])) : 0)
#define PDS_EcENS(pds)   (PDS_LEN(pds) >= 52 && pds[40] == 1 && pds[43] * 256 + pds[44] == 1035 && pds[50] != 0)
#define PDS_EcFcstNo(pds)   (pds[50])
#define PDS_EcNoFcst(pds)   (pds[51])
#define PDS_NcepENS(pds)   (PDS_LEN(pds) >= 44 && pds[25] == 2 && pds[40] == 1)
#define PDS_NcepFcstType(pds)   (pds[41])
#define PDS_NcepFcstNo(pds)   (pds[42])
#define PDS_NcepFcstProd(pds)   (pds[43])
#define GDS_Len1(gds)   (gds[0])
#define GDS_Len2(gds)   (gds[1])
#define GDS_Len3(gds)   (gds[2])
#define GDS_LEN(gds)   ((int) ((gds[0]<<16)+(gds[1]<<8)+gds[2]))
#define GDS_NV(gds)   (gds[3])
#define GDS_DataType(gds)   (gds[5])
#define GDS_LatLon(gds)   (gds[5] == 0)
#define GDS_Mercator(gds)   (gds[5] == 1)
#define GDS_Gnomonic(gds)   (gds[5] == 2)
#define GDS_Lambert(gds)   (gds[5] == 3)
#define GDS_Gaussian(gds)   (gds[5] == 4)
#define GDS_Polar(gds)   (gds[5] == 5)
#define GDS_RotLL(gds)   (gds[5] == 10)
#define GDS_Harmonic(gds)   (gds[5] == 50)
#define GDS_Triangular(gds)   (gds[5] == 192)
#define GDS_ssEgrid(gds)   (gds[5] == 201)
#define GDS_fEgrid(gds)   (gds[5] == 202)
#define GDS_ss2dEgrid(gds)   (gds[5] == 203)
#define GDS_has_dy(mode)   ((mode) & 128)
#define GDS_LatLon_nx(gds)   ((int) ((gds[6] << 8) + gds[7]))
#define GDS_LatLon_ny(gds)   ((int) ((gds[8] << 8) + gds[9]))
#define GDS_LatLon_La1(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_LatLon_Lo1(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_LatLon_mode(gds)   (gds[16])
#define GDS_LatLon_La2(gds)   INT3(gds[17],gds[18],gds[19])
#define GDS_LatLon_Lo2(gds)   INT3(gds[20],gds[21],gds[22])
#define GDS_LatLon_dx(gds)   (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
#define GDS_LatLon_dy(gds)   (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
#define GDS_Gaussian_nlat(gds)   ((gds[25]<<8)+gds[26])
#define GDS_LatLon_scan(gds)   (gds[27])
#define GDS_Polar_nx(gds)   ((gds[6] << 8) + gds[7])
#define GDS_Polar_ny(gds)   ((gds[8] << 8) + gds[9])
#define GDS_Polar_La1(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_Polar_Lo1(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_Polar_mode(gds)   (gds[16])
#define GDS_Polar_Lov(gds)   INT3(gds[17],gds[18],gds[19])
#define GDS_Polar_scan(gds)   (gds[27])
#define GDS_Polar_Dx(gds)   INT3(gds[20], gds[21], gds[22])
#define GDS_Polar_Dy(gds)   INT3(gds[23], gds[24], gds[25])
#define GDS_Polar_pole(gds)   ((gds[26] & 128) == 128)
#define GDS_Lambert_nx(gds)   ((gds[6] << 8) + gds[7])
#define GDS_Lambert_ny(gds)   ((gds[8] << 8) + gds[9])
#define GDS_Lambert_La1(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_Lambert_Lo1(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_Lambert_mode(gds)   (gds[16])
#define GDS_Lambert_Lov(gds)   INT3(gds[17],gds[18],gds[19])
#define GDS_Lambert_dx(gds)   INT3(gds[20],gds[21],gds[22])
#define GDS_Lambert_dy(gds)   INT3(gds[23],gds[24],gds[25])
#define GDS_Lambert_NP(gds)   ((gds[26] & 128) == 0)
#define GDS_Lambert_scan(gds)   (gds[27])
#define GDS_Lambert_Latin1(gds)   INT3(gds[28],gds[29],gds[30])
#define GDS_Lambert_Latin2(gds)   INT3(gds[31],gds[32],gds[33])
#define GDS_Lambert_LatSP(gds)   INT3(gds[34],gds[35],gds[36])
#define GDS_Lambert_LonSP(gds)   INT3(gds[37],gds[37],gds[37])
#define GDS_ssEgrid_n(gds)   UINT2(gds[6],gds[7])
#define GDS_ssEgrid_n_dum(gds)   UINT2(gds[8],gds[9])
#define GDS_ssEgrid_La1(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_ssEgrid_Lo1(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_ssEgrid_mode(gds)   (gds[16])
#define GDS_ssEgrid_La2(gds)   UINT3(gds[17],gds[18],gds[19])
#define GDS_ssEgrid_Lo2(gds)   UINT3(gds[20],gds[21],gds[22])
#define GDS_ssEgrid_di(gds)   (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
#define GDS_ssEgrid_dj(gds)   (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
#define GDS_ssEgrid_scan(gds)   (gds[27])
#define GDS_fEgrid_n(gds)   UINT2(gds[6],gds[7])
#define GDS_fEgrid_n_dum(gds)   UINT2(gds[8],gds[9])
#define GDS_fEgrid_La1(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_fEgrid_Lo1(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_fEgrid_mode(gds)   (gds[16])
#define GDS_fEgrid_La2(gds)   UINT3(gds[17],gds[18],gds[19])
#define GDS_fEgrid_Lo2(gds)   UINT3(gds[20],gds[21],gds[22])
#define GDS_fEgrid_di(gds)   (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
#define GDS_fEgrid_dj(gds)   (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
#define GDS_fEgrid_scan(gds)   (gds[27])
#define GDS_ss2dEgrid_nx(gds)   UINT2(gds[6],gds[7])
#define GDS_ss2dEgrid_ny(gds)   UINT2(gds[8],gds[9])
#define GDS_ss2dEgrid_La1(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_ss2dEgrid_Lo1(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_ss2dEgrid_mode(gds)   (gds[16])
#define GDS_ss2dEgrid_La2(gds)   INT3(gds[17],gds[18],gds[19])
#define GDS_ss2dEgrid_Lo2(gds)   INT3(gds[20],gds[21],gds[22])
#define GDS_ss2dEgrid_di(gds)   (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
#define GDS_ss2dEgrid_dj(gds)   (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
#define GDS_ss2dEgrid_scan(gds)   (gds[27])
#define GDS_Merc_nx(gds)   UINT2(gds[6],gds[7])
#define GDS_Merc_ny(gds)   UINT2(gds[8],gds[9])
#define GDS_Merc_La1(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_Merc_Lo1(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_Merc_mode(gds)   (gds[16])
#define GDS_Merc_La2(gds)   INT3(gds[17],gds[18],gds[19])
#define GDS_Merc_Lo2(gds)   INT3(gds[20],gds[21],gds[22])
#define GDS_Merc_Latin(gds)   INT3(gds[23],gds[24],gds[25])
#define GDS_Merc_scan(gds)   (gds[27])
#define GDS_Merc_dx(gds)   (gds[16]&128 ? INT3(gds[28],gds[29],gds[30]):0)
#define GDS_Merc_dy(gds)   (gds[16]&128 ? INT3(gds[31],gds[32],gds[33]):0)
#define GDS_RotLL_nx(gds)   UINT2(gds[6],gds[7])
#define GDS_RotLL_ny(gds)   UINT2(gds[8],gds[9])
#define GDS_RotLL_La1(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_RotLL_Lo1(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_RotLL_mode(gds)   (gds[16])
#define GDS_RotLL_La2(gds)   INT3(gds[17],gds[18],gds[19])
#define GDS_RotLL_Lo2(gds)   INT3(gds[20],gds[21],gds[22])
#define GDS_RotLL_dx(gds)   (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
#define GDS_RotLL_dy(gds)   (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
#define GDS_RotLL_scan(gds)   (gds[27])
#define GDS_RotLL_LaSP(gds)   INT3(gds[32],gds[33],gds[34])
#define GDS_RotLL_LoSP(gds)   INT3(gds[35],gds[36],gds[37])
#define GDS_RotLL_RotAng(gds)   ibm2flt(&(gds[38]))
#define GDS_Triangular_ni2(gds)   INT2(gds[6],gds[7])
#define GDS_Triangular_ni3(gds)   INT2(gds[8],gds[9])
#define GDS_Triangular_ni(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_Triangular_nd(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_Harmonic_nj(gds)   ((int) ((gds[6] << 8) + gds[7]))
#define GDS_Harmonic_nk(gds)   ((int) ((gds[8] << 8) + gds[9]))
#define GDS_Harmonic_nm(gds)   ((int) ((gds[10] << 8) + gds[11]))
#define GDS_Harmonic_type(gds)   (gds[12])
#define GDS_Harmonic_mode(gds)   (gds[13])
#define GDS_Spaceview_lap(gds)   INT3(gds[10],gds[11],gds[12])
#define GDS_Spaceview_lop(gds)   INT3(gds[13],gds[14],gds[15])
#define GDS_Spaceview_dx(gds)   INT3(gds[17],gds[18],gds[19])
#define GDS_Spaceview_dy(gds)   INT3(gds[20],gds[21],gds[22])
#define GDS_Spaceview_Xp(gds)   INT2(gds[23],gds[24])
#define GDS_Spaceview_Yp(gds)   INT2(gds[25],gds[26])
#define GDS_Spaceview_or(gds)   INT3(gds[25],gds[29],gds[30])
#define GDS_Spaceview_nr(gds)   INT3(gds[31],gds[32],gds[33])
#define GDS_PV(gds)   ((gds[3] == 0) ? -1 : (int) gds[4] - 1)
#define GDS_PL(gds)   ((gds[4] == 255) ? -1 : (int) gds[3] * 4 + (int) gds[4] - 1)
#define BDS_LEN(bds)   ((int) ((bds[0]<<16)+(bds[1]<<8)+bds[2]))
#define BDS_Flag(bds)   (bds[3])
#define BDS_Grid(bds)   ((bds[3] & 128) == 0)
#define BDS_Harmonic(bds)   (bds[3] & 128)
#define BDS_Packing(bds)   ((bds[3] & 64) != 0)
#define BDS_SimplePacking(bds)   ((bds[3] & 64) == 0)
#define BDS_ComplexPacking(bds)   ((bds[3] & 64) != 0)
#define BDS_OriginalType(bds)   ((bds[3] & 32) != 0)
#define BDS_OriginalFloat(bds)   ((bds[3] & 32) == 0)
#define BDS_OriginalInt(bds)   ((bds[3] & 32) != 0)
#define BDS_MoreFlags(bds)   ((bds[3] & 16) != 0)
#define BDS_UnusedBits(bds)   ((int) (bds[3] & 15))
#define BDS_BinScale(bds)   INT2(bds[4],bds[5])
#define BDS_RefValue(bds)   (ibm2flt(bds+6))
#define BDS_NumBits(bds)   ((int) bds[10])
#define BDS_Harmonic_RefValue(bds)   (ibm2flt(bds+11))
#define BDS_DataStart(bds)   ((int) (11 + BDS_MoreFlags(bds)*3))
#define BDS_NValues(bds)   (((BDS_LEN(bds) - BDS_DataStart(bds))*8 - BDS_UnusedBits(bds)) / BDS_NumBits(bds))
#define BMS_LEN(bms)   ((bms) == NULL ? 0 : (bms[0]<<16)+(bms[1]<<8)+bms[2])
#define BMS_UnusedBits(bms)   ((bms) == NULL ? 0 : bms[3])
#define BMS_StdMap(bms)   ((bms) == NULL ? 0 : ((bms[4]<<8) + bms[5]))
#define BMS_bitmap(bms)   ((bms) == NULL ? NULL : (bms)+6)
#define BMS_nxny(bms)   ((((bms) == NULL) || BMS_StdMap(bms)) ? 0 : (BMS_LEN(bms)*8 - 48 - BMS_UnusedBits(bms)))

Enumerations

enum  WGRIB_ENCODE_OPERATION {
  WGRIB_ENCODE_END, WGRIB_ENCODE_INIT, WGRIB_ENCODE_BYTE, WGRIB_ENCODE_2BYTES,
  WGRIB_ENCODE_S2BYTES, WGRIB_ENCODE_3BYTES, WGRIB_ENCODE_S3BYTES, WGRIB_ENCODE_BIT,
  WGRIB_ENCODE_AND, WGRIB_ENCODE_OR
}
 packing operations for mk_PDS and mk_GDS More...


Functions

unsigned char * mk_PDS (unsigned char *pds,...)
 Packing routine used.

unsigned char * mk_GDS (unsigned char *gds,...)
 Packing routine used.

unsigned char * mk_BMS (unsigned char *pds, float *bindata, int *n, float undef_low, float undef_hi)
 Packing routine used.

unsigned char * mk_BDS (unsigned char *pds, float *bindata, int n)
 Packing routine used.

int GDS_grid (unsigned char *gds, unsigned char *bds, int *nx, int *ny, long int *nxny)
 Unpacking routine used.

void BDS_unpack (float *flt, unsigned char *bds, unsigned char *bitmap, int n_bits, int n, double ref, double scale)
 Unpacking routine used.

ParmTableParm_Table (int center, int subcenter, int ptable, int process)
 Extract name and comment.

double int_power (double x, int y)
 Utility routine.

double ibm2flt (unsigned char *ibm)
 Utility routine.


Define Documentation

#define BDS_BinScale bds       INT2(bds[4],bds[5])
 

Definition at line 218 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode().

#define BDS_ComplexPacking bds       ((bds[3] & 64) != 0)
 

Definition at line 212 of file Ebisuzaki.h.

#define BDS_DataStart bds       ((int) (11 + BDS_MoreFlags(bds)*3))
 

Definition at line 222 of file Ebisuzaki.h.

#define BDS_Flag bds       (bds[3])
 

Definition at line 207 of file Ebisuzaki.h.

#define BDS_Grid bds       ((bds[3] & 128) == 0)
 

Definition at line 208 of file Ebisuzaki.h.

#define BDS_Harmonic bds       (bds[3] & 128)
 

Definition at line 209 of file Ebisuzaki.h.

Referenced by BDS_unpack().

#define BDS_Harmonic_RefValue bds       (ibm2flt(bds+11))
 

Definition at line 221 of file Ebisuzaki.h.

Referenced by BDS_unpack().

#define BDS_LEN bds       ((int) ((bds[0]<<16)+(bds[1]<<8)+bds[2]))
 

Definition at line 206 of file Ebisuzaki.h.

Referenced by GRIB_MESSAGE::Decode(), GRIB_MESSAGE::Encode(), and GDS_grid().

#define BDS_MoreFlags bds       ((bds[3] & 16) != 0)
 

Definition at line 216 of file Ebisuzaki.h.

#define BDS_NumBits bds       ((int) bds[10])
 

Definition at line 220 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode(), GRIB_GRID::Decode(), and GDS_grid().

#define BDS_NValues bds       (((BDS_LEN(bds) - BDS_DataStart(bds))*8 - BDS_UnusedBits(bds)) / BDS_NumBits(bds))
 

Definition at line 223 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define BDS_OriginalFloat bds       ((bds[3] & 32) == 0)
 

Definition at line 214 of file Ebisuzaki.h.

#define BDS_OriginalInt bds       ((bds[3] & 32) != 0)
 

Definition at line 215 of file Ebisuzaki.h.

#define BDS_OriginalType bds       ((bds[3] & 32) != 0)
 

Definition at line 213 of file Ebisuzaki.h.

#define BDS_Packing bds       ((bds[3] & 64) != 0)
 

Definition at line 210 of file Ebisuzaki.h.

#define BDS_RefValue bds       (ibm2flt(bds+6))
 

Definition at line 219 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode().

#define BDS_SimplePacking bds       ((bds[3] & 64) == 0)
 

Definition at line 211 of file Ebisuzaki.h.

#define BDS_UnusedBits bds       ((int) (bds[3] & 15))
 

Definition at line 217 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define BMS_bitmap bms       ((bms) == NULL ? NULL : (bms)+6)
 

Definition at line 228 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode().

#define BMS_LEN bms       ((bms) == NULL ? 0 : (bms[0]<<16)+(bms[1]<<8)+bms[2])
 

Definition at line 225 of file Ebisuzaki.h.

Referenced by GRIB_MESSAGE::Decode(), and GRIB_MESSAGE::Encode().

#define BMS_nxny bms       ((((bms) == NULL) || BMS_StdMap(bms)) ? 0 : (BMS_LEN(bms)*8 - 48 - BMS_UnusedBits(bms)))
 

Definition at line 229 of file Ebisuzaki.h.

#define BMS_StdMap bms       ((bms) == NULL ? 0 : ((bms[4]<<8) + bms[5]))
 

Definition at line 227 of file Ebisuzaki.h.

#define BMS_UnusedBits bms       ((bms) == NULL ? 0 : bms[3])
 

Definition at line 226 of file Ebisuzaki.h.

#define GDS_DataType gds       (gds[5])
 

Definition at line 83 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_fEgrid gds       (gds[5] == 202)
 

Definition at line 94 of file Ebisuzaki.h.

#define GDS_fEgrid_di gds       (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
 

Definition at line 149 of file Ebisuzaki.h.

#define GDS_fEgrid_dj gds       (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
 

Definition at line 150 of file Ebisuzaki.h.

#define GDS_fEgrid_La1 gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 144 of file Ebisuzaki.h.

#define GDS_fEgrid_La2 gds       UINT3(gds[17],gds[18],gds[19])
 

Definition at line 147 of file Ebisuzaki.h.

#define GDS_fEgrid_Lo1 gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 145 of file Ebisuzaki.h.

#define GDS_fEgrid_Lo2 gds       UINT3(gds[20],gds[21],gds[22])
 

Definition at line 148 of file Ebisuzaki.h.

#define GDS_fEgrid_mode gds       (gds[16])
 

Definition at line 146 of file Ebisuzaki.h.

#define GDS_fEgrid_n gds       UINT2(gds[6],gds[7])
 

Definition at line 142 of file Ebisuzaki.h.

#define GDS_fEgrid_n_dum gds       UINT2(gds[8],gds[9])
 

Definition at line 143 of file Ebisuzaki.h.

#define GDS_fEgrid_scan gds       (gds[27])
 

Definition at line 151 of file Ebisuzaki.h.

#define GDS_Gaussian gds       (gds[5] == 4)
 

Definition at line 88 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_Gaussian_nlat gds       ((gds[25]<<8)+gds[26])
 

Definition at line 106 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Gnomonic gds       (gds[5] == 2)
 

Definition at line 86 of file Ebisuzaki.h.

#define GDS_Harmonic gds       (gds[5] == 50)
 

Definition at line 91 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_Harmonic_mode gds       (gds[13])
 

Definition at line 194 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Harmonic_nj gds       ((int) ((gds[6] << 8) + gds[7]))
 

Definition at line 190 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Harmonic_nk gds       ((int) ((gds[8] << 8) + gds[9]))
 

Definition at line 191 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Harmonic_nm gds       ((int) ((gds[10] << 8) + gds[11]))
 

Definition at line 192 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Harmonic_type gds       (gds[12])
 

Definition at line 193 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_has_dy mode       ((mode) & 128)
 

Definition at line 96 of file Ebisuzaki.h.

#define GDS_Lambert gds       (gds[5] == 3)
 

Definition at line 87 of file Ebisuzaki.h.

#define GDS_Lambert_dx gds       INT3(gds[20],gds[21],gds[22])
 

Definition at line 124 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_dy gds       INT3(gds[23],gds[24],gds[25])
 

Definition at line 125 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_La1 gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 120 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_Latin1 gds       INT3(gds[28],gds[29],gds[30])
 

Definition at line 128 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_Latin2 gds       INT3(gds[31],gds[32],gds[33])
 

Definition at line 129 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_LatSP gds       INT3(gds[34],gds[35],gds[36])
 

Definition at line 130 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_Lo1 gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 121 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_LonSP gds       INT3(gds[37],gds[37],gds[37])
 

Definition at line 131 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_Lov gds       INT3(gds[17],gds[18],gds[19])
 

Definition at line 123 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_mode gds       (gds[16])
 

Definition at line 122 of file Ebisuzaki.h.

#define GDS_Lambert_NP gds       ((gds[26] & 128) == 0)
 

Definition at line 126 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Lambert_nx gds       ((gds[6] << 8) + gds[7])
 

Definition at line 118 of file Ebisuzaki.h.

#define GDS_Lambert_ny gds       ((gds[8] << 8) + gds[9])
 

Definition at line 119 of file Ebisuzaki.h.

#define GDS_Lambert_scan gds       (gds[27])
 

Definition at line 127 of file Ebisuzaki.h.

#define GDS_LatLon gds       (gds[5] == 0)
 

Definition at line 84 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_LatLon_dx gds       (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
 

Definition at line 104 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_LatLon_dy gds       (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
 

Definition at line 105 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_LatLon_La1 gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 99 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_LatLon_La2 gds       INT3(gds[17],gds[18],gds[19])
 

Definition at line 102 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_LatLon_Lo1 gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 100 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_LatLon_Lo2 gds       INT3(gds[20],gds[21],gds[22])
 

Definition at line 103 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_LatLon_mode gds       (gds[16])
 

Definition at line 101 of file Ebisuzaki.h.

#define GDS_LatLon_nx gds       ((int) ((gds[6] << 8) + gds[7]))
 

Definition at line 97 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_LatLon_ny gds       ((int) ((gds[8] << 8) + gds[9]))
 

Definition at line 98 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_LatLon_scan gds       (gds[27])
 

Definition at line 107 of file Ebisuzaki.h.

#define GDS_LEN gds       ((int) ((gds[0]<<16)+(gds[1]<<8)+gds[2]))
 

Definition at line 81 of file Ebisuzaki.h.

Referenced by GRIB_MESSAGE::Decode(), GRIB_GRID::Decode(), and GRIB_MESSAGE::Encode().

#define GDS_Len1 gds       (gds[0])
 

Definition at line 78 of file Ebisuzaki.h.

#define GDS_Len2 gds       (gds[1])
 

Definition at line 79 of file Ebisuzaki.h.

#define GDS_Len3 gds       (gds[2])
 

Definition at line 80 of file Ebisuzaki.h.

#define GDS_Merc_dx gds       (gds[16]&128 ? INT3(gds[28],gds[29],gds[30]):0)
 

Definition at line 171 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Merc_dy gds       (gds[16]&128 ? INT3(gds[31],gds[32],gds[33]):0)
 

Definition at line 172 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Merc_La1 gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 164 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Merc_La2 gds       INT3(gds[17],gds[18],gds[19])
 

Definition at line 167 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Merc_Latin gds       INT3(gds[23],gds[24],gds[25])
 

Definition at line 169 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Merc_Lo1 gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 165 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Merc_Lo2 gds       INT3(gds[20],gds[21],gds[22])
 

Definition at line 168 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Merc_mode gds       (gds[16])
 

Definition at line 166 of file Ebisuzaki.h.

#define GDS_Merc_nx gds       UINT2(gds[6],gds[7])
 

Definition at line 162 of file Ebisuzaki.h.

#define GDS_Merc_ny gds       UINT2(gds[8],gds[9])
 

Definition at line 163 of file Ebisuzaki.h.

#define GDS_Merc_scan gds       (gds[27])
 

Definition at line 170 of file Ebisuzaki.h.

#define GDS_Mercator gds       (gds[5] == 1)
 

Definition at line 85 of file Ebisuzaki.h.

#define GDS_NV gds       (gds[3])
 

Definition at line 82 of file Ebisuzaki.h.

#define GDS_PL gds       ((gds[4] == 255) ? -1 : (int) gds[3] * 4 + (int) gds[4] - 1)
 

Definition at line 204 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_Polar gds       (gds[5] == 5)
 

Definition at line 89 of file Ebisuzaki.h.

#define GDS_Polar_Dx gds       INT3(gds[20], gds[21], gds[22])
 

Definition at line 115 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Polar_Dy gds       INT3(gds[23], gds[24], gds[25])
 

Definition at line 116 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Polar_La1 gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 110 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Polar_Lo1 gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 111 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Polar_Lov gds       INT3(gds[17],gds[18],gds[19])
 

Definition at line 113 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Polar_mode gds       (gds[16])
 

Definition at line 112 of file Ebisuzaki.h.

#define GDS_Polar_nx gds       ((gds[6] << 8) + gds[7])
 

Definition at line 108 of file Ebisuzaki.h.

#define GDS_Polar_ny gds       ((gds[8] << 8) + gds[9])
 

Definition at line 109 of file Ebisuzaki.h.

#define GDS_Polar_pole gds       ((gds[26] & 128) == 128)
 

Definition at line 117 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Polar_scan gds       (gds[27])
 

Definition at line 114 of file Ebisuzaki.h.

#define GDS_PV gds       ((gds[3] == 0) ? -1 : (int) gds[4] - 1)
 

Definition at line 203 of file Ebisuzaki.h.

#define GDS_RotLL gds       (gds[5] == 10)
 

Definition at line 90 of file Ebisuzaki.h.

#define GDS_RotLL_dx gds       (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
 

Definition at line 180 of file Ebisuzaki.h.

#define GDS_RotLL_dy gds       (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
 

Definition at line 181 of file Ebisuzaki.h.

#define GDS_RotLL_La1 gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 175 of file Ebisuzaki.h.

#define GDS_RotLL_La2 gds       INT3(gds[17],gds[18],gds[19])
 

Definition at line 178 of file Ebisuzaki.h.

#define GDS_RotLL_LaSP gds       INT3(gds[32],gds[33],gds[34])
 

Definition at line 183 of file Ebisuzaki.h.

#define GDS_RotLL_Lo1 gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 176 of file Ebisuzaki.h.

#define GDS_RotLL_Lo2 gds       INT3(gds[20],gds[21],gds[22])
 

Definition at line 179 of file Ebisuzaki.h.

#define GDS_RotLL_LoSP gds       INT3(gds[35],gds[36],gds[37])
 

Definition at line 184 of file Ebisuzaki.h.

#define GDS_RotLL_mode gds       (gds[16])
 

Definition at line 177 of file Ebisuzaki.h.

#define GDS_RotLL_nx gds       UINT2(gds[6],gds[7])
 

Definition at line 173 of file Ebisuzaki.h.

#define GDS_RotLL_ny gds       UINT2(gds[8],gds[9])
 

Definition at line 174 of file Ebisuzaki.h.

#define GDS_RotLL_RotAng gds       ibm2flt(&(gds[38]))
 

Definition at line 185 of file Ebisuzaki.h.

#define GDS_RotLL_scan gds       (gds[27])
 

Definition at line 182 of file Ebisuzaki.h.

#define GDS_Spaceview_dx gds       INT3(gds[17],gds[18],gds[19])
 

Definition at line 197 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Spaceview_dy gds       INT3(gds[20],gds[21],gds[22])
 

Definition at line 198 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Spaceview_lap gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 195 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Spaceview_lop gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 196 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Spaceview_nr gds       INT3(gds[31],gds[32],gds[33])
 

Definition at line 202 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Spaceview_or gds       INT3(gds[25],gds[29],gds[30])
 

Definition at line 201 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Spaceview_Xp gds       INT2(gds[23],gds[24])
 

Definition at line 199 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_Spaceview_Yp gds       INT2(gds[25],gds[26])
 

Definition at line 200 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define GDS_ss2dEgrid gds       (gds[5] == 203)
 

Definition at line 95 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_di gds       (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
 

Definition at line 159 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_dj gds       (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
 

Definition at line 160 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_La1 gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 154 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_La2 gds       INT3(gds[17],gds[18],gds[19])
 

Definition at line 157 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_Lo1 gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 155 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_Lo2 gds       INT3(gds[20],gds[21],gds[22])
 

Definition at line 158 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_mode gds       (gds[16])
 

Definition at line 156 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_nx gds       UINT2(gds[6],gds[7])
 

Definition at line 152 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_ny gds       UINT2(gds[8],gds[9])
 

Definition at line 153 of file Ebisuzaki.h.

#define GDS_ss2dEgrid_scan gds       (gds[27])
 

Definition at line 161 of file Ebisuzaki.h.

#define GDS_ssEgrid gds       (gds[5] == 201)
 

Definition at line 93 of file Ebisuzaki.h.

#define GDS_ssEgrid_di gds       (gds[16] & 128 ? INT2(gds[23],gds[24]) : 0)
 

Definition at line 139 of file Ebisuzaki.h.

#define GDS_ssEgrid_dj gds       (gds[16] & 128 ? INT2(gds[25],gds[26]) : 0)
 

Definition at line 140 of file Ebisuzaki.h.

#define GDS_ssEgrid_La1 gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 134 of file Ebisuzaki.h.

#define GDS_ssEgrid_La2 gds       UINT3(gds[17],gds[18],gds[19])
 

Definition at line 137 of file Ebisuzaki.h.

#define GDS_ssEgrid_Lo1 gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 135 of file Ebisuzaki.h.

#define GDS_ssEgrid_Lo2 gds       UINT3(gds[20],gds[21],gds[22])
 

Definition at line 138 of file Ebisuzaki.h.

#define GDS_ssEgrid_mode gds       (gds[16])
 

Definition at line 136 of file Ebisuzaki.h.

#define GDS_ssEgrid_n gds       UINT2(gds[6],gds[7])
 

Definition at line 132 of file Ebisuzaki.h.

#define GDS_ssEgrid_n_dum gds       UINT2(gds[8],gds[9])
 

Definition at line 133 of file Ebisuzaki.h.

#define GDS_ssEgrid_scan gds       (gds[27])
 

Definition at line 141 of file Ebisuzaki.h.

#define GDS_Triangular gds       (gds[5] == 192)
 

Definition at line 92 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_Triangular_nd gds       INT3(gds[10],gds[11],gds[12])
 

Definition at line 189 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_Triangular_ni gds       INT3(gds[13],gds[14],gds[15])
 

Definition at line 188 of file Ebisuzaki.h.

Referenced by GDS_grid().

#define GDS_Triangular_ni2 gds       INT2(gds[6],gds[7])
 

Definition at line 186 of file Ebisuzaki.h.

#define GDS_Triangular_ni3 gds       INT2(gds[8],gds[9])
 

Definition at line 187 of file Ebisuzaki.h.

#define INT2 a,
     ((1-(int) ((unsigned) (a & 0x80) >> 6)) * (int) (((a & 0x7f) << 8) + b))
 

Definition at line 23 of file Ebisuzaki.h.

#define INT3 a,
b,
     ((1-(int) ((unsigned) (a & 0x80) >> 6)) * (int) (((a & 127) << 16)+(b<<8)+c))
 

Definition at line 24 of file Ebisuzaki.h.

#define PDS_Center pds       (pds[4])
 

Definition at line 31 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode().

#define PDS_Century pds       (pds[24])
 

Definition at line 56 of file Ebisuzaki.h.

#define PDS_Day pds       (pds[14])
 

Definition at line 46 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_DecimalScale pds       INT2(pds[26],pds[27])
 

Definition at line 58 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode(), and mk_BDS().

#define PDS_EcClass pds       (PDS_LEN(pds) >= 42 ? (pds[41]) : 0)
 

Definition at line 64 of file Ebisuzaki.h.

#define PDS_EcENS pds       (PDS_LEN(pds) >= 52 && pds[40] == 1 && pds[43] * 256 + pds[44] == 1035 && pds[50] != 0)
 

Definition at line 67 of file Ebisuzaki.h.

#define PDS_EcFcstNo pds       (pds[50])
 

Definition at line 68 of file Ebisuzaki.h.

#define PDS_EcLocalId pds       (PDS_LEN(pds) >= 41 ? (pds[40]) : 0)
 

Definition at line 63 of file Ebisuzaki.h.

#define PDS_EcNoFcst pds       (pds[51])
 

Definition at line 69 of file Ebisuzaki.h.

#define PDS_EcStream pds       (PDS_LEN(pds) >= 45 ? (INT2(pds[43], pds[44])) : 0)
 

Definition at line 66 of file Ebisuzaki.h.

#define PDS_EcType pds       (PDS_LEN(pds) >= 43 ? (pds[42]) : 0)
 

Definition at line 65 of file Ebisuzaki.h.

#define PDS_Field pds       ((pds[8]<<24)+(pds[9]<<16) + (pds[10]<<8)+pds[11])
 

Definition at line 43 of file Ebisuzaki.h.

#define PDS_ForecastTimeUnit pds       (pds[17])
 

Definition at line 49 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_Grid pds       (pds[6])
 

Definition at line 33 of file Ebisuzaki.h.

Referenced by GRIB_GRID::Decode().

#define PDS_HAS_BMS pds       ((pds[7] & 64) != 0)
 

Definition at line 35 of file Ebisuzaki.h.

Referenced by GRIB_MESSAGE::Decode().

#define PDS_HAS_GDS pds       ((pds[7] & 128) != 0)
 

Definition at line 34 of file Ebisuzaki.h.

Referenced by GRIB_MESSAGE::Decode().

#define PDS_Hour pds       (pds[15])
 

Definition at line 47 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_KPDS5 pds       (pds[8])
 

Definition at line 40 of file Ebisuzaki.h.

#define PDS_KPDS6 pds       (pds[9])
 

Definition at line 41 of file Ebisuzaki.h.

Referenced by GRIB_LEVEL::Decode().

#define PDS_KPDS7 pds       ((int) ((pds[10]<<8) + pds[11]))
 

Definition at line 42 of file Ebisuzaki.h.

Referenced by GRIB_LEVEL::Decode().

#define PDS_L_TYPE pds       (pds[9])
 

Definition at line 37 of file Ebisuzaki.h.

#define PDS_LEN pds       ((int) ((pds[0]<<16)+(pds[1]<<8)+pds[2]))
 

Definition at line 29 of file Ebisuzaki.h.

Referenced by GRIB_MESSAGE::Decode(), and GRIB_MESSAGE::Encode().

#define PDS_Len1 pds       (pds[0])
 

Definition at line 26 of file Ebisuzaki.h.

#define PDS_Len2 pds       (pds[1])
 

Definition at line 27 of file Ebisuzaki.h.

#define PDS_Len3 pds       (pds[2])
 

Definition at line 28 of file Ebisuzaki.h.

#define PDS_LEVEL1 pds       (pds[10])
 

Definition at line 38 of file Ebisuzaki.h.

#define PDS_LEVEL2 pds       (pds[11])
 

Definition at line 39 of file Ebisuzaki.h.

#define PDS_Minute pds       (pds[16])
 

Definition at line 48 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_Model pds       (pds[5])
 

Definition at line 32 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode().

#define PDS_Month pds       (pds[13])
 

Definition at line 45 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_NcepENS pds       (PDS_LEN(pds) >= 44 && pds[25] == 2 && pds[40] == 1)
 

Definition at line 73 of file Ebisuzaki.h.

#define PDS_NcepFcstNo pds       (pds[42])
 

Definition at line 75 of file Ebisuzaki.h.

#define PDS_NcepFcstProd pds       (pds[43])
 

Definition at line 76 of file Ebisuzaki.h.

#define PDS_NcepFcstType pds       (pds[41])
 

Definition at line 74 of file Ebisuzaki.h.

#define PDS_NumAve pds       ((int) ((pds[21]<<8)+pds[22]))
 

Definition at line 54 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_NumMissing pds       (pds[23])
 

Definition at line 55 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_P1 pds       (pds[18])
 

Definition at line 50 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_P1P2 pds       UINT2((pds[18]),(pds[19]))
 

Definition at line 52 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_P2 pds       (pds[19])
 

Definition at line 51 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_PARAM pds       (pds[8])
 

Definition at line 36 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode().

#define PDS_Subcenter pds       (pds[25])
 

Definition at line 57 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode().

#define PDS_TimeRange pds       (pds[20])
 

Definition at line 53 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define PDS_Vsn pds       (pds[3])
 

Definition at line 30 of file Ebisuzaki.h.

Referenced by GRIB_FIELD::Decode().

#define PDS_Year pds       (pds[12])
 

Definition at line 44 of file Ebisuzaki.h.

#define PDS_Year4 pds       (pds[12] + 100*(pds[24] - 1))
 

Definition at line 59 of file Ebisuzaki.h.

Referenced by GRIB_TIME::Decode().

#define UINT2 a,
     ((int) ((a << 8) + (b)))
 

Definition at line 20 of file Ebisuzaki.h.

#define UINT3 a,
b,
     ((int) ((a << 16) + (b << 8) + (c)))
 

Definition at line 22 of file Ebisuzaki.h.

#define UINT4 a,
b,
c,
     ((int) ((a << 24) + (b << 16) + (c << 8) + (d)))
 

Definition at line 21 of file Ebisuzaki.h.

#define UNDEFINED   9.999e20
 

Definition at line 18 of file Ebisuzaki.h.

Referenced by BDS_unpack().


Enumeration Type Documentation

enum WGRIB_ENCODE_OPERATION
 

packing operations for mk_PDS and mk_GDS

Enumeration values:
WGRIB_ENCODE_END 
WGRIB_ENCODE_INIT 
WGRIB_ENCODE_BYTE 
WGRIB_ENCODE_2BYTES 
WGRIB_ENCODE_S2BYTES 
WGRIB_ENCODE_3BYTES 
WGRIB_ENCODE_S3BYTES 
WGRIB_ENCODE_BIT 
WGRIB_ENCODE_AND 
WGRIB_ENCODE_OR 

Definition at line 232 of file Ebisuzaki.h.

Referenced by mk_GDS(), and mk_PDS().


Function Documentation

void BDS_unpack float *    flt,
unsigned char *    bds,
unsigned char *    bitmap,
int    n_bits,
int    n,
double    ref,
double    scale
 

Unpacking routine used.

Definition at line 5780 of file Ebisuzaki.cpp.

References BDS_Harmonic, BDS_Harmonic_RefValue, and UNDEFINED.

Referenced by GRIB_FIELD::Decode().

int GDS_grid unsigned char *    gds,
unsigned char *    bds,
int *    nx,
int *    ny,
long int *    nxny
 

Unpacking routine used.

Definition at line 5732 of file Ebisuzaki.cpp.

References BDS_LEN, BDS_NumBits, BDS_UnusedBits, GDS_Gaussian, GDS_Harmonic, GDS_LatLon, GDS_LatLon_nx, GDS_LatLon_ny, GDS_PL, GDS_Triangular, GDS_Triangular_nd, and GDS_Triangular_ni.

Referenced by GRIB_GRID::Decode().

double ibm2flt unsigned char *    ibm
 

Utility routine.

Definition at line 5575 of file Ebisuzaki.cpp.

double int_power double    x,
int    y
 

Utility routine.

Definition at line 5670 of file Ebisuzaki.cpp.

Referenced by GRIB_FIELD::Decode(), and mk_BDS().

unsigned char* mk_BDS unsigned char *    pds,
float *    bindata,
int    n
 

Packing routine used.

Definition at line 6143 of file Ebisuzaki.cpp.

References flist2bitstream(), flt2ibm(), int_power(), PDS_DecimalScale, and set_int3().

Referenced by GRIB_MESSAGE::Encode().

unsigned char* mk_BMS unsigned char *    pds,
float *    bindata,
int *    n,
float    undef_low,
float    undef_hi
 

Packing routine used.

Definition at line 6091 of file Ebisuzaki.cpp.

References set_int3().

Referenced by GRIB_MESSAGE::Encode().

unsigned char* mk_GDS unsigned char *    gds,
...   
 

Packing routine used.

Definition at line 5457 of file Ebisuzaki.cpp.

References WGRIB_ENCODE_2BYTES, WGRIB_ENCODE_3BYTES, WGRIB_ENCODE_AND, WGRIB_ENCODE_BIT, WGRIB_ENCODE_BYTE, WGRIB_ENCODE_END, WGRIB_ENCODE_INIT, WGRIB_ENCODE_OPERATION, WGRIB_ENCODE_OR, WGRIB_ENCODE_S2BYTES, and WGRIB_ENCODE_S3BYTES.

Referenced by GRIB_GRID::Encode().

unsigned char* mk_PDS unsigned char *    pds,
...   
 

Packing routine used.

Definition at line 5336 of file Ebisuzaki.cpp.

References WGRIB_ENCODE_2BYTES, WGRIB_ENCODE_3BYTES, WGRIB_ENCODE_AND, WGRIB_ENCODE_BIT, WGRIB_ENCODE_BYTE, WGRIB_ENCODE_END, WGRIB_ENCODE_INIT, WGRIB_ENCODE_OPERATION, WGRIB_ENCODE_OR, WGRIB_ENCODE_S2BYTES, and WGRIB_ENCODE_S3BYTES.

Referenced by GRIB_MESSAGE::Encode().

struct ParmTable* Parm_Table int    center,
int    subcenter,
int    ptable,
int    process
 

Extract name and comment.

Definition at line 6286 of file Ebisuzaki.cpp.

References CPTEC, def_ncep_table, DWD, ECMWF, NMC, opn, opn_nowarn, rean_nowarn, and setup_user_table().

Referenced by GRIB_FIELD::Decode(), and GRIB_FIELD::set_field().


Generated on Fri Sep 10 09:52:08 2004 for GRIBLIB by doxygen1.2.18