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

Ebisuzaki.cpp File Reference

#include <Ebisuzaki.h>
#include <iostream>
#include <cmath>
#include <cstdarg>
#include <cstdlib>

Go to the source code of this file.

Defines

#define START   -1
#define FEB29   (31+29)
#define MINUTE   0
#define HOUR   1
#define DAY   2
#define MONTH   3
#define YEAR   4
#define DECADE   5
#define NORMAL   6
#define CENTURY   7
#define HOURS3   10
#define HOURS6   11
#define HOURS12   12
#define SECOND   254
#define NMC   7
#define ECMWF   98
#define DWD   78
#define CMC   54
#define CPTEC   46

Enumerations

enum  Def_NCEP_Table { rean, opn, rean_nowarn, opn_nowarn }
enum  {
  filled, not_found, not_checked, no_file,
  init
}

Functions

int setup_user_table (int center, int subcenter, int ptable)
unsigned char * mk_PDS (unsigned char *pds,...)
 Packing routine used.

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

double ibm2flt (unsigned char *ibm)
 Utility routine.

int flt2ibm (float x, unsigned char *ibm)
double int_power (double x, int y)
 Utility routine.

void flist2bitstream (float *list, unsigned char *bs, int ndata, int nbits)
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.

int add_time (int *year, int *month, int *day, int *hour, int dtime, int unit)
unsigned char * mk_void_BMS (unsigned char *pds)
void set_BDSMaxBits (int n)
void set_BDSMinBits (int n)
void set_def_power2 (int n)
int get_BDSMaxBits ()
int get_BDSMinBits ()
int get_def_power2 ()
void set_int3 (unsigned char *string, int n)
void set_int2 (unsigned char *string, int n)
void set_signed_int3 (unsigned char *string, int n)
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.

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


Variables

enum Def_NCEP_Table def_ncep_table = opn_nowarn
ParmTable parm_table_user [256]


Define Documentation

#define CENTURY   7
 

Definition at line 5888 of file Ebisuzaki.cpp.

Referenced by add_time().

#define CMC   54
 

Definition at line 6283 of file Ebisuzaki.cpp.

#define CPTEC   46
 

Definition at line 6284 of file Ebisuzaki.cpp.

Referenced by Parm_Table().

#define DAY   2
 

Definition at line 5883 of file Ebisuzaki.cpp.

Referenced by add_time().

#define DECADE   5
 

Definition at line 5886 of file Ebisuzaki.cpp.

Referenced by add_time().

#define DWD   78
 

Definition at line 6282 of file Ebisuzaki.cpp.

Referenced by Parm_Table().

#define ECMWF   98
 

Definition at line 6281 of file Ebisuzaki.cpp.

Referenced by Parm_Table().

#define FEB29   (31+29)
 

Definition at line 5880 of file Ebisuzaki.cpp.

Referenced by add_time().

#define HOUR   1
 

Definition at line 5882 of file Ebisuzaki.cpp.

Referenced by add_time().

#define HOURS12   12
 

Definition at line 5891 of file Ebisuzaki.cpp.

Referenced by add_time().

#define HOURS3   10
 

Definition at line 5889 of file Ebisuzaki.cpp.

Referenced by add_time().

#define HOURS6   11
 

Definition at line 5890 of file Ebisuzaki.cpp.

Referenced by add_time().

#define MINUTE   0
 

Definition at line 5881 of file Ebisuzaki.cpp.

Referenced by add_time().

#define MONTH   3
 

Definition at line 5884 of file Ebisuzaki.cpp.

Referenced by add_time().

#define NMC   7
 

Definition at line 6280 of file Ebisuzaki.cpp.

Referenced by Parm_Table().

#define NORMAL   6
 

Definition at line 5887 of file Ebisuzaki.cpp.

Referenced by add_time().

#define SECOND   254
 

Definition at line 5892 of file Ebisuzaki.cpp.

Referenced by add_time().

#define START   -1
 

Definition at line 5214 of file Ebisuzaki.cpp.

Referenced by setup_user_table().

#define YEAR   4
 

Definition at line 5885 of file Ebisuzaki.cpp.

Referenced by add_time().


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
filled 
not_found 
not_checked 
no_file 
init 

Definition at line 5217 of file Ebisuzaki.cpp.

enum Def_NCEP_Table
 

Enumeration values:
rean 
opn 
rean_nowarn 
opn_nowarn 

Definition at line 31 of file Ebisuzaki.cpp.


Function Documentation

int add_time int *    year,
int *    month,
int *    day,
int *    hour,
int    dtime,
int    unit
 

Definition at line 5903 of file Ebisuzaki.cpp.

References CENTURY, DAY, DECADE, FEB29, HOUR, HOURS12, HOURS3, HOURS6, MINUTE, MONTH, NORMAL, SECOND, and YEAR.

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().

void flist2bitstream float *    list,
unsigned char *    bs,
int    ndata,
int    nbits
 

Definition at line 5690 of file Ebisuzaki.cpp.

Referenced by mk_BDS().

int flt2ibm float    x,
unsigned char *    ibm
 

Definition at line 5606 of file Ebisuzaki.cpp.

Referenced by mk_BDS().

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().

int get_BDSMaxBits  
 

Definition at line 6047 of file Ebisuzaki.cpp.

int get_BDSMinBits  
 

Definition at line 6052 of file Ebisuzaki.cpp.

int get_def_power2  
 

Definition at line 6057 of file Ebisuzaki.cpp.

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().

unsigned char* mk_void_BMS unsigned char *    pds
 

Definition at line 6013 of file Ebisuzaki.cpp.

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().

void set_BDSMaxBits int    n
 

Definition at line 6030 of file Ebisuzaki.cpp.

void set_BDSMinBits int    n
 

Definition at line 6036 of file Ebisuzaki.cpp.

void set_def_power2 int    n
 

Definition at line 6042 of file Ebisuzaki.cpp.

void set_int2 unsigned char *    string,
int    n
 

Definition at line 6070 of file Ebisuzaki.cpp.

void set_int3 unsigned char *    string,
int    n
 

Definition at line 6062 of file Ebisuzaki.cpp.

Referenced by mk_BDS(), and mk_BMS().

void set_signed_int3 unsigned char *    string,
int    n
 

Definition at line 6077 of file Ebisuzaki.cpp.

int setup_user_table int    center,
int    subcenter,
int    ptable
 

Definition at line 5222 of file Ebisuzaki.cpp.

References ParmTable::comment, filled, init, ParmTable::name, no_file, not_checked, not_found, and START.

Referenced by Parm_Table().


Variable Documentation

enum Def_NCEP_Table def_ncep_table = opn_nowarn
 

Definition at line 32 of file Ebisuzaki.cpp.

Referenced by Parm_Table().

struct ParmTable parm_table_user[256]
 

Definition at line 5219 of file Ebisuzaki.cpp.


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