Former-commit-id:7fa9dbd5fb
[formerly4bfbdad17d
] [formerly9f8cb727a5
] [formerly7fa9dbd5fb
[formerly4bfbdad17d
] [formerly9f8cb727a5
] [formerly8485b90ff8
[formerly9f8cb727a5
[formerly bf53d06834caa780226121334ac1bcf0534c3f16]]]] Former-commit-id:8485b90ff8
Former-commit-id:40aa780b3d
[formerly33a67cdd82
] [formerly 73930fb29d0c1e91204e76e6ebfdbe757414f319 [formerlya28d70b5c5
]] Former-commit-id: a16a1b4dd44fc344ee709abbe262aeed58a8339b [formerlye5543a0e86
] Former-commit-id:0c25458510
145 lines
2.7 KiB
C
145 lines
2.7 KiB
C
/************************************************************************
|
|
* ensdiag.h *
|
|
* *
|
|
* This header file is used in the ensemble grid diagnostics package. *
|
|
* *
|
|
** Log: *
|
|
* R. Tian/SAIC 12/05 From decmn.cmn *
|
|
* R. Tian/SAIC 9/06 Removed grc.h, fortran_wrapppers.h *
|
|
* M. Li/SAIC 10/06 MXMBRS->MXMBRS+2 for emvalu *
|
|
* m.gamazaychikov/SAIC 01/08 Added ewtval and iwlist *
|
|
************************************************************************/
|
|
|
|
#ifndef ENSDIAG_H_
|
|
#define ENSDIAG_H_
|
|
|
|
#include "geminc.h"
|
|
#include "gemprm.h"
|
|
#include "de.h"
|
|
|
|
/*
|
|
* Maximum number of ensemble file entry.
|
|
*/
|
|
#define MAXENT 12
|
|
|
|
/*
|
|
* Maximum number of ensemble members.
|
|
*/
|
|
#define MXMBRS 128
|
|
|
|
/*
|
|
* Maximum number of function arguments.
|
|
*/
|
|
#define MXARGS 16
|
|
|
|
/*
|
|
* Maximum number of grid files.
|
|
*/
|
|
#define NGDFLS MMFILE
|
|
|
|
struct ensdiag {
|
|
/*
|
|
* List of templates for members.
|
|
*/
|
|
char etmplt[MXMBRS][MXFLSZ+1];
|
|
|
|
/*
|
|
* List of paths for members.
|
|
*/
|
|
char enspth[MXMBRS][MXFLSZ+1];
|
|
|
|
/*
|
|
* List of full file names of members.
|
|
*/
|
|
char ensfnm[MXMBRS][MXFLSZ+1];
|
|
|
|
/*
|
|
* List of grid time stamps for members.
|
|
*/
|
|
char etimes[MXMBRS][41];
|
|
|
|
/*
|
|
* List of starting indices of grids holding member results.
|
|
*/
|
|
int iglist[MXMBRS];
|
|
int iwlist[MXMBRS];
|
|
|
|
/*
|
|
* Sorting array of pointers to member weights.
|
|
*/
|
|
int igpntr[MXMBRS];
|
|
|
|
/*
|
|
* Sorting array for values at a grid point.
|
|
*/
|
|
float emvalu[MXMBRS+2];
|
|
float ewtval[MXMBRS+2];
|
|
|
|
/*
|
|
* List of weights assigned to ensemble members.
|
|
*/
|
|
float enswts[MXMBRS];
|
|
|
|
/*
|
|
* Ensemble specifications for GDFILE.
|
|
* ( blank if entry is not ensemble list )
|
|
*/
|
|
char ensspc[NGDFLS][LLMXLN+1];
|
|
|
|
/*
|
|
* Save string for DGCMN ntmplt contents.
|
|
*/
|
|
char tmplsv[MXFLSZ+1];
|
|
|
|
/*
|
|
* Save string for DGCMN gflpth contents.
|
|
*/
|
|
char gpthsv[MXFLSZ+1];
|
|
|
|
/*
|
|
* Save string for DGCMN crtfnm contents.
|
|
*/
|
|
char flnmsv[MXFLSZ+1];
|
|
|
|
/*
|
|
* Save string for DGCMN crtgdt time stamp.
|
|
*/
|
|
char gdtmsv1[21];
|
|
char gdtmsv2[21];
|
|
|
|
/*
|
|
* Save string for DGCMN ingdtm contents.
|
|
*/
|
|
char igtmsv[41];
|
|
|
|
/*
|
|
* Array of all arguments.
|
|
*/
|
|
char allarg[MXARGS][LLMXLN+1];
|
|
|
|
/*
|
|
* Index pointing to current ensemble, specified by ensspc(ndxens).
|
|
*/
|
|
int ndxens;
|
|
|
|
/*
|
|
* Number of ensemble member file names.
|
|
*/
|
|
int nummbr;
|
|
|
|
/*
|
|
* ID # to name ENS_ output.
|
|
*/
|
|
int idgens;
|
|
};
|
|
|
|
/*
|
|
* DE globals.
|
|
*/
|
|
#ifdef DE_GLOBAL
|
|
struct ensdiag _ensdiag;
|
|
#else
|
|
extern struct ensdiag _ensdiag;
|
|
#endif
|
|
|
|
#endif
|