Former-commit-id:4bfbdad17d
[formerly9f8cb727a5
] [formerly4bfbdad17d
[formerly9f8cb727a5
] [formerly8485b90ff8
[formerly bf53d06834caa780226121334ac1bcf0534c3f16]]] Former-commit-id:8485b90ff8
Former-commit-id:33a67cdd82
[formerlya28d70b5c5
] Former-commit-id:e5543a0e86
138 lines
5.6 KiB
C
138 lines
5.6 KiB
C
|
|
/************************************************************************
|
|
* cascmn.h *
|
|
* *
|
|
* Contains the structure for elements found on a SigWx chart. *
|
|
* *
|
|
** *
|
|
*Log: *
|
|
* A. Hardy/SAIC 11/01 Created *
|
|
* A. Hardy/SAIC 02/01 Added MAXCH *
|
|
* A. Hardy/NCEP 04/02 Increased MAXOFF 300 -> 5000 *
|
|
* M. Li/SAIC 04/04 Added levabv, and levblw *
|
|
* M. Li/SAIC 08/04 Added mcloud_t *
|
|
* M. Li/SAIC 09/04 Added HI_BASE, HI_TOP, MID_BASE, MID_TOP*
|
|
* H. Zeng/SAIC 03/06 removed pr_hgfm & pr_knms *
|
|
***********************************************************************/
|
|
|
|
#define MAXCH 128
|
|
#define MAXMCLD 15
|
|
#define MAXOFF 5000
|
|
#define SIGIMSS -9999999
|
|
#define SIGRLMS (-9999999.0F)
|
|
|
|
#define HI_BASE 7620.0 /* high level base in meters (25,000 ft) */
|
|
#define HI_TOP 19200.0 /* high level top in meters (62,992 ft) */
|
|
#define MID_BASE 3050.0 /* mid level base in meters (10,007 ft) */
|
|
#define MID_TOP 13720.0 /* mid level top in meters (45,013 ft) */
|
|
|
|
typedef struct VolRad_T {
|
|
char name[40]; /* volcano name or location of radiation*/
|
|
float lat; /* latitude value */
|
|
float lon; /* longitude value */
|
|
int year; /* eruption time - year */
|
|
int month; /* eruption time - month */
|
|
int day; /* eruption time - day */
|
|
int hour; /* eruption time - hour */
|
|
int minute; /* eruption time - minute */
|
|
struct VolRad_T *next; /* link to next volrad LABEL group */
|
|
} volrad_t;
|
|
|
|
typedef struct Storm_T {
|
|
char name[40]; /* name of storm */
|
|
float lat; /* latitude value */
|
|
float lon; /* longitude value */
|
|
int stmtyp; /* storm type */
|
|
struct Storm_T *next; /* link to next storm LABEL group */
|
|
} storm_t;
|
|
|
|
typedef struct TropHi_T {
|
|
float lat; /* latitude value */
|
|
float lon; /* longitude value */
|
|
float level; /* height of tropopause (meters) */
|
|
struct TropHi_T *next; /* link to next HIGH trop value */
|
|
} trophi_t;
|
|
|
|
typedef struct TropLo_T {
|
|
float lat; /* latitude value */
|
|
float lon; /* longitude value */
|
|
float level; /* height of tropopause (meters) */
|
|
struct TropLo_T *next; /* link to next LOW trop value */
|
|
} troplo_t;
|
|
|
|
typedef struct Trop_T {
|
|
float lat; /* latitude value */
|
|
float lon; /* longitude value */
|
|
float level; /* height of tropopause (meters) */
|
|
struct Trop_T *next; /* link to next SPOT trop value */
|
|
} trop_t;
|
|
|
|
typedef struct Front_T {
|
|
int ftype; /* type of front */
|
|
int npt; /* number of points in FRONT line */
|
|
float lat[MAXPTS]; /* latitude values */
|
|
float lon[MAXPTS]; /* longitude values */
|
|
float fntspd[MAXPTS]; /* speed of the front (meters/second) */
|
|
float fntdir[MAXPTS]; /* movement direction of front (deg) */
|
|
struct Front_T *next; /* link to next turbulence group */
|
|
} front_t;
|
|
|
|
typedef struct Jets_T {
|
|
int npt; /* number of points in JETS line */
|
|
float lat[MAXPTS]; /* latitude values */
|
|
float lon[MAXPTS]; /* longitude values */
|
|
float level[MAXPTS]; /* jet height (meters) */
|
|
float speed[MAXPTS]; /* speed of the jet (meters/second) */
|
|
float levabv[MAXPTS]; /* height above jet (meters) */
|
|
float levblw[MAXPTS]; /* height below jet (neters) */
|
|
struct Jets_T *next; /* link to next turbulence group */
|
|
} jets_t;
|
|
|
|
typedef struct Turb_T {
|
|
float level1; /* base of CAT area (meters) */
|
|
float level2; /* top of CAT area (meters) */
|
|
int npt; /* number of points in CAT area */
|
|
float lat[MAXPTS]; /* latitude values */
|
|
float lon[MAXPTS]; /* longitude values */
|
|
int tdeg; /* degree of turbulence */
|
|
struct Turb_T *next; /* link to next turbulence group */
|
|
} turb_t;
|
|
|
|
typedef struct Cloud_T {
|
|
float level1; /* base of cloud area (meters) */
|
|
float level2; /* top of cloud area (meters) */
|
|
int npt; /* number of points in CLOUD area */
|
|
float lat[MAXPTS]; /* latitude values */
|
|
float lon[MAXPTS]; /* longitude values */
|
|
int clddist; /* cloud distribution */
|
|
int cldtyp; /* cloud type */
|
|
struct Cloud_T *next; /* link to next cloud group */
|
|
} cloud_t;
|
|
|
|
typedef struct Mcloud_T {
|
|
int npt; /* number of points in MCLOUD area */
|
|
float lat[MAXPTS]; /* latitide values */
|
|
float lon[MAXPTS]; /* longitude values */
|
|
int ncld; /* number of non-Cb cloud distributions */
|
|
int ncdis[MAXMCLD]; /* non-Cb cloud distribution values */
|
|
int ntyp; /* number of non-Cb cloud types */
|
|
int nctyp[MAXMCLD]; /* non-Cb cloud type values */
|
|
int turb; /* turbulence flag */
|
|
float tbase; /* base of turbulence (meters) */
|
|
float ttop; /* top of turbulence (meters) */
|
|
int tdeg; /* degree of turbulence */
|
|
int icing; /* icing flag */
|
|
float icbase; /* base of icing (meters) */
|
|
float ictop; /* top of icing (meters) */
|
|
int dic; /* degree of icing */
|
|
int fcb; /* Cb flag */
|
|
float cbbase; /* base of Cb (meters) */
|
|
float cbtop; /* top of Cb (meters) */
|
|
int cbdis; /* Cb cloud distribution */
|
|
int cbtyp; /* Cb cloud type */
|
|
struct Mcloud_T *next; /* link to next mcloud group */
|
|
} mcloud_t;
|
|
|
|
/*---------------------------------------------------------------------*/
|
|
|
|
#include "proto_cas.h"
|