4 typedef struct node_struct
{
9 struct node_struct
* fields
;
10 struct node_struct
* type
;
12 struct node_struct
* dims
[MAXDIMS
] ;
13 int proc_orient
; /* ALL_[ZXY]_ON_PROC which dimension is all on processor */
18 int subject_to_communication
;
20 int boundary_array_4d
;
23 char descrip
[NAMELEN
] ;
26 /* Fields for 4D scalar arrays */
27 int scalar_array_member
;
28 int has_scalar_array_tendencies
;
29 struct node_struct
* members
;
60 char namelistsection
[NAMELEN
] ;
61 struct node_struct
* next
;
62 struct node_struct
* next4d
;
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] ;
73 /* fields used by rconfig nodes */
74 char nentries
[NAMELEN
] ;
75 char howset
[NAMELEN
] ;
78 /* fields used by Dim nodes */
81 char dim_data_name
[NAMELEN
] ;
82 int coord_axis
; /* X, Y, Z, C */
83 /* DOMAIN_STANDARD, NAMELIST, CONSTANT */
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
91 int subgrid
; /* 1=subgrid dimension */
93 /* fields used by Package nodes */
94 char pkg_assoc
[NAMELEN
] ;
95 char pkg_statevars
[NAMELEN
] ;
96 char pkg_4dscalars
[NAMELEN_LONG
] ;
98 /* fields used by Comm (halo, period, xpose) nodes */
99 char comm_define
[2*8192] ;
106 #ifndef DEFINE_GLOBALS
107 # define EXTERN extern
112 EXTERN
int sw_deref_kludge
;
113 EXTERN
int sw_io_deref_kludge
;
114 EXTERN
int sw_3dvar_iry_kludge
;
115 EXTERN
int sw_distrib_io_layer
;
116 EXTERN
int sw_limit_args
;
117 EXTERN
int sw_dm_parallel
;
119 EXTERN
int sw_all_x_staggered
;
120 EXTERN
int sw_all_y_staggered
;
121 EXTERN
int sw_dm_serial_in_only
;
122 EXTERN
int sw_fort_kludge
;
123 EXTERN
char sw_commpath
[NAMELEN
] ;
124 EXTERN
int sw_new_bdys
; /* 20070207 JM support decomposed boundary arrays */
125 EXTERN
int sw_new_with_old_bdys
; /* 20070207 JM for debugging interim phase, new comms w/ old data structs */
127 EXTERN node_t
* Type
;
128 EXTERN node_t
* Dim
;
129 EXTERN node_t
* Packages
;
130 EXTERN node_t
* Halos
;
131 EXTERN node_t
* Periods
;
132 EXTERN node_t
* Xposes
;
133 EXTERN node_t
* FourD
;
134 EXTERN node_t
* Swaps
;
135 EXTERN node_t
* Cycles
;
137 EXTERN node_t Domain
;
139 EXTERN
char t1
[NAMELEN
], t2
[NAMELEN
], t3
[NAMELEN
], t4
[NAMELEN
], t5
[NAMELEN
], t6
[NAMELEN
] ;
140 EXTERN
char thiscom
[4*NAMELEN
] ;
141 EXTERN
int model_order
[3] ;
143 EXTERN
int max_time_level
; /* Maximum number of time levels of any state variable */