source: trunk/WRF.COMMON/WRFV3/tools/data.h @ 2883

Last change on this file since 2883 was 2759, checked in by aslmd, 2 years ago

adding unmodified code from WRFV3.0.1.1, expurged from useless data +1M size

File size: 4.2 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  int  subgrid ;                  /* 1=subgrid dimension */
92
93/* fields used by Package nodes */
94  char pkg_assoc[NAMELEN] ;
95  char pkg_statevars[NAMELEN] ;
96  char pkg_4dscalars[NAMELEN_LONG] ;
97
98/* fields used by Comm (halo, period, xpose)  nodes */
99  char comm_define[2*8192] ;
100
101/* marker */
102  int mark ;
103
104} node_t ;
105
106#ifndef DEFINE_GLOBALS
107#  define EXTERN extern
108#else
109#  define EXTERN
110#endif
111
112EXTERN int sw_deref_kludge ;
113EXTERN int sw_io_deref_kludge ;
114EXTERN int sw_3dvar_iry_kludge ;
115EXTERN int sw_distrib_io_layer ;
116EXTERN int sw_limit_args ;
117EXTERN int sw_dm_parallel  ;
118EXTERN int sw_move  ;
119EXTERN int sw_all_x_staggered ;
120EXTERN int sw_all_y_staggered ;
121EXTERN int sw_dm_serial_in_only ;
122EXTERN int sw_fort_kludge ;
123EXTERN char sw_commpath[NAMELEN] ;
124EXTERN int sw_new_bdys ;  /* 20070207 JM support decomposed boundary arrays */
125EXTERN int sw_new_with_old_bdys ;  /* 20070207 JM for debugging interim phase, new comms w/ old data structs */
126
127EXTERN node_t * Type ;
128EXTERN node_t * Dim ;
129EXTERN node_t * Packages ;
130EXTERN node_t * Halos ;
131EXTERN node_t * Periods ;
132EXTERN node_t * Xposes ;
133EXTERN node_t * FourD ;
134EXTERN node_t * Swaps ;
135EXTERN node_t * Cycles ;
136
137EXTERN node_t Domain ;
138
139EXTERN char t1[NAMELEN], t2[NAMELEN], t3[NAMELEN], t4[NAMELEN], t5[NAMELEN], t6[NAMELEN] ;
140EXTERN char thiscom[4*NAMELEN] ;
141EXTERN int  model_order[3] ;
142
143EXTERN int max_time_level  ;  /* Maximum number of time levels of any state variable */
144
145#define  P_XSB  1
146#define  P_XEB  2
147#define  P_YSB  3
148#define  P_YEB  4
149
150
151#define DATA_H
152#endif
Note: See TracBrowser for help on using the repository browser.