source: trunk/WRF.COMMON/WRFV2/tools/data.h

Last change on this file was 11, checked in by aslmd, 14 years ago

spiga@svn-planeto:ajoute le modele meso-echelle martien

File size: 3.8 KB
Line 
1#ifndef DATA_H
2#include "registry.h"
3
4typedef struct node_struct {
5
6  int     node_kind ;
7  int     type_type ;
8  char          name[NAMELEN] ;
9  struct node_struct  * fields ;
10  struct node_struct  * type ;
11  int           ndims ;
12  struct node_struct  * dims[MAXDIMS] ;
13  int     proc_orient ;    /* ALL_[ZXY]_ON_PROC which dimension is all on processor */
14  int           ntl ;
15  int           stag_x ;
16  int           stag_y ;
17  int           stag_z ;
18  int           subject_to_communication ;
19  int           boundary_array ;
20  int           boundary_array_4d ;
21  char    use[NAMELEN] ;
22  char    dname[NAMELEN] ;
23  char    descrip[NAMELEN] ;
24  char    units[NAMELEN] ;
25
26/* Fields for 4D scalar arrays */
27  int           scalar_array_member ;
28  int           has_scalar_array_tendencies ;
29  struct node_struct * members ;
30
31/* I/O flags */
32  int     io_mask ;
33  int           history ;
34  int             auxhist1 ;
35  int             auxhist2 ;
36  int             auxhist3 ;
37  int             auxhist4 ;
38  int             auxhist5 ;
39  int             auxhist6 ;
40  int             auxhist7 ;
41  int             auxhist8 ;
42  int             auxhist9 ;
43  int             auxhist10 ;
44  int             auxhist11 ;
45  int           restart ;
46  int           input   ;
47  int             auxinput1   ;
48  int             auxinput2   ;
49  int             auxinput3   ;
50  int             auxinput4   ;
51  int             auxinput5   ;
52  int             auxinput6   ;
53  int             auxinput7   ;
54  int             auxinput8   ;
55  int             auxinput9   ;
56  int             auxinput10   ;
57  int             auxinput11   ;
58  int           boundary   ;
59  int           namelist   ;
60  char    namelistsection[NAMELEN] ;
61  struct node_struct * next ;
62  struct node_struct * next4d ;
63
64  char force_aux_fields[2048] ;
65  char force_fcn_name[2048] ;
66  char interpd_aux_fields[2048] ;
67  char interpd_fcn_name[2048] ;
68  char interpu_aux_fields[2048] ;
69  char interpu_fcn_name[2048] ;
70  char smoothu_fcn_name[2048] ;
71  char smoothu_aux_fields[2048] ;
72
73/* fields used by rconfig nodes */
74  char nentries[NAMELEN] ;
75  char howset[NAMELEN] ;
76  char dflt[NAMELEN] ;
77
78/* fields used by Dim nodes */
79
80  char dim_name ;
81  char dim_data_name[NAMELEN] ;
82  int  coord_axis ;   /* X, Y, Z, C */
83                                 /* DOMAIN_STANDARD, NAMELIST, CONSTANT */
84  int  len_defined_how ; 
85  char assoc_nl_var_s[NAMELEN] ;  /* for NAMELIST */
86  char assoc_nl_var_e[NAMELEN] ;  /* for NAMELIST */
87  int  coord_start ;               /* for CONSTANT */
88  int  coord_end ;                 /* for CONSTANT */
89  int  dim_order ;                 /* order that dimensions are specified
90                                      in framework */
91
92/* fields used by Package nodes */
93  char pkg_assoc[NAMELEN] ;
94  char pkg_statevars[NAMELEN] ;
95  char pkg_4dscalars[NAMELEN] ;
96
97/* fields used by Comm (halo, period, xpose)  nodes */
98  char comm_define[2*8192] ;
99
100/* marker */
101  int mark ;
102
103} node_t ;
104
105#ifndef DEFINE_GLOBALS
106#  define EXTERN extern
107#else
108#  define EXTERN
109#endif
110
111EXTERN int sw_deref_kludge ;
112EXTERN int sw_io_deref_kludge ;
113EXTERN int sw_3dvar_iry_kludge ;
114EXTERN int sw_distrib_io_layer ;
115EXTERN int sw_limit_args ;
116EXTERN int sw_dm_parallel  ;
117EXTERN int sw_move  ;
118EXTERN int sw_all_x_staggered ;
119EXTERN int sw_all_y_staggered ;
120EXTERN int sw_dm_serial_in_only ;
121EXTERN int sw_ifort_kludge ;
122EXTERN char sw_commpath[NAMELEN] ;
123
124EXTERN node_t * Type ;
125EXTERN node_t * Dim ;
126EXTERN node_t * Packages ;
127EXTERN node_t * Halos ;
128EXTERN node_t * Periods ;
129EXTERN node_t * Xposes ;
130EXTERN node_t * FourD ;
131EXTERN node_t * Swaps ;
132EXTERN node_t * Cycles ;
133
134EXTERN node_t Domain ;
135
136EXTERN char t1[NAMELEN], t2[NAMELEN], t3[NAMELEN], t4[NAMELEN], t5[NAMELEN], t6[NAMELEN] ;
137EXTERN char thiscom[4*NAMELEN] ;
138EXTERN int  model_order[3] ;
139
140EXTERN int max_time_level  ;  /* Maximum number of time levels of any state variable */
141
142
143#define DATA_H
144#endif
Note: See TracBrowser for help on using the repository browser.