/*
* Vis5D system for visualizing five dimensional gridded data sets.
* Copyright (C) 1990 - 2000 Bill Hibbard, Johan Kellum, Brian Paul,
* Dave Santek, and Andre Battaiola.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* As a special exception to the terms of the GNU General Public
* License, you are permitted to link Vis5D with (and distribute the
* resulting source and executables) the LUI library (copyright by
* Stellar Computer Inc. and licensed for distribution with Vis5D),
* the McIDAS library, and/or the NetCDF library, where those
* libraries are governed by the terms of their own licenses.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef IRREGULARV5D_H
#define IRREGULARV5D_H
#include <X11/Xlib.h>
#include "v5d.h"
#include "api.h"
#define MAXFILES 100
#define MAXFILENAMELENGTH 500
#define MAX_VAR_LENGTH 20
/* general types */
#define SURFACE 1
#define SOUNDING 2
/* general File types */
#define NETCDF_SURFACE 1
#define NETCDF_SOUNDING 2
/* specific File types */
#define fsl_netcdf_metar 1
#define fsl_netcdf_bouy 2
#define fsl_netcdf_profile 3
#define unidata_netcdf_metar 4
#define unidata_netcdf_upperair 5
/* variable types, two for now */
#define CHARACTER_VAR 1
#define NUMERICAL_VAR_1D 2
#define NUMERICAL_VAR_2D 3
typedef struct{
int FileType;
int Type;
char FileName[2000];
int NumRecs[MAXTIMES];
int NumVars;
int CharPointer[MAXVARS];
int SoundingPointer[MAXVARS];
int NumTimes;
char VarName[MAXVARS][MAX_VAR_LENGTH];
int VarType[MAXVARS];
int CharVarLength[MAXVARS];
int TimeStamp[MAXTIMES];
int DateStamp[MAXTIMES];
int TimeSeconds[MAXTIMES];
float TopBound, BottomBound;
float WestBound, EastBound;
float SouthBound, NorthBound;
int Levels;
double VarMin[MAXVARS];
double VarMax[MAXVARS];
} irregular_v5dstruct;
extern int irregular_v5dReadRecordGeoData( irregular_v5dstruct *iv, int time, int id,
float *lat, float *lon, float *alt);
extern int irregular_v5dReadRecord( irregular_v5dstruct *iv, int time, int id,
double *fdata,
double *sdata, char *cdata, float *ldata);
extern void irregular_v5dInitStruct( irregular_v5dstruct *v );
extern irregular_v5dstruct *irregular_v5dNewStruct( void );
extern irregular_v5dstruct *irregular_v5dFreeStruct( irregular_v5dstruct *v );
extern irregular_v5dstruct *irregular_v5dOpenFile( char *filename,
irregular_v5dstruct *iv );
#endif
syntax highlighted by Code2HTML, v. 0.9.1