cpld_gridgen  1.13.0
 All Data Structures Files Functions Variables Pages
vartypedefs.F90
Go to the documentation of this file.
1 
7 
8 module vartypedefs
9 
10  use charstrings, only : cl, cm, cs
11 
12  implicit none
13 
14  integer, parameter :: maxvars = 20
15 
16  type :: vardefs
17  character(len=CM) :: var_name
18  character(len=CM) :: long_name
19  character(len=CM) :: unit_name
20  character(len= 2) :: var_type
21  character(len=CM) :: vertices
22  end type vardefs
23 
24  type(vardefs) :: fixvars(maxvars)
25  type(vardefs) :: cicevars(maxvars)
26  type(vardefs) :: scripvars(maxvars)
27 
28 contains
29 
33 
34  subroutine fixvars_typedefine
35 
36  ! local variables
37  integer :: ii = 0
38 
39  !default
40  fixvars(:)%var_type = 'r8'
41  fixvars(:)%vertices = ''
42 
43  ii = ii + 1
44  fixvars(ii)%var_name = 'lonCt'
45  fixvars(ii)%long_name = 'Longitude of center (Ct) points'
46  fixvars(ii)%unit_name = 'degrees_east'
47  fixvars(ii)%vertices = 'lonCt_vert'
48 
49  ii = ii + 1
50  fixvars(ii)%var_name = 'latCt'
51  fixvars(ii)%long_name = 'Latitude of center (Ct) points'
52  fixvars(ii)%unit_name = 'degrees_north'
53  fixvars(ii)%vertices = 'latCt_vert'
54 
55  ii = ii + 1
56  fixvars(ii)%var_name = 'lonCv'
57  fixvars(ii)%long_name = 'Longitude of meridional velocity (Cv) points'
58  fixvars(ii)%unit_name = 'degrees_east'
59  fixvars(ii)%vertices = 'lonCv_vert'
60 
61  ii = ii + 1
62  fixvars(ii)%var_name = 'latCv'
63  fixvars(ii)%long_name = 'Latitude of meridional velocity (Cv) points'
64  fixvars(ii)%unit_name = 'degrees_north'
65  fixvars(ii)%vertices = 'latCv_vert'
66 
67  ii = ii + 1
68  fixvars(ii)%var_name = 'lonCu'
69  fixvars(ii)%long_name = 'Longitude of zonal velocity (Cu) points'
70  fixvars(ii)%unit_name = 'degrees_east'
71  fixvars(ii)%vertices = 'lonCu_vert'
72 
73  ii = ii + 1
74  fixvars(ii)%var_name = 'latCu'
75  fixvars(ii)%long_name = 'Latitude of zonal velocity (Cu) points'
76  fixvars(ii)%unit_name = 'degrees_north'
77  fixvars(ii)%vertices = 'latCu_vert'
78 
79  ii = ii + 1
80  fixvars(ii)%var_name = 'lonBu'
81  fixvars(ii)%long_name = 'Longitude of corner (Bu) points'
82  fixvars(ii)%unit_name = 'degrees_east'
83  fixvars(ii)%vertices = 'lonBu_vert'
84 
85  ii = ii + 1
86  fixvars(ii)%var_name = 'latBu'
87  fixvars(ii)%long_name = 'Latitude of corner (Bu) points'
88  fixvars(ii)%unit_name = 'degrees_north'
89  fixvars(ii)%vertices = 'latBu_vert'
90 
91  ii = ii + 1
92  fixvars(ii)%var_name = 'lonCt_vert'
93  fixvars(ii)%long_name = 'Longitude Vertices of Ct points'
94  fixvars(ii)%unit_name = 'degrees_east'
95 
96  ii = ii + 1
97  fixvars(ii)%var_name = 'latCt_vert'
98  fixvars(ii)%long_name = 'Latitude Vertices of Ct points'
99  fixvars(ii)%unit_name = 'degrees_north'
100 
101  ii = ii + 1
102  fixvars(ii)%var_name = 'lonCu_vert'
103  fixvars(ii)%long_name = 'Longitude Vertices of Cu points'
104  fixvars(ii)%unit_name = 'degrees_east'
105 
106  ii = ii + 1
107  fixvars(ii)%var_name = 'latCu_vert'
108  fixvars(ii)%long_name = 'Latitude Vertices of Cu points'
109  fixvars(ii)%unit_name = 'degrees_north'
110 
111  ii = ii + 1
112  fixvars(ii)%var_name = 'lonCv_vert'
113  fixvars(ii)%long_name = 'Longitude Vertices of Cv points'
114  fixvars(ii)%unit_name = 'degrees_east'
115 
116  ii = ii + 1
117  fixvars(ii)%var_name = 'latCv_vert'
118  fixvars(ii)%long_name = 'Latitude Vertices of Cv points'
119  fixvars(ii)%unit_name = 'degrees_north'
120 
121  ii = ii + 1
122  fixvars(ii)%var_name = 'lonBu_vert'
123  fixvars(ii)%long_name = 'Longitude Vertices of Bu points'
124  fixvars(ii)%unit_name = 'degrees_east'
125 
126  ii = ii + 1
127  fixvars(ii)%var_name = 'latBu_vert'
128  fixvars(ii)%long_name = 'Latitude Vertices of Bu points'
129  fixvars(ii)%unit_name = 'degrees_north'
130 
131  end subroutine fixvars_typedefine
135 
137 
138  ! local variables
139  integer :: ii = 0
140 
141  !default
142  cicevars(:)%var_type = 'r8'
143  cicevars(:)%vertices = ''
144 
145  ii = ii + 1
146  cicevars(ii)%var_name = 'ulon'
147  cicevars(ii)%long_name = 'Longitude of corner (Bu) points'
148  cicevars(ii)%unit_name = 'radians'
149 
150  ii = ii + 1
151  cicevars(ii)%var_name = 'ulat'
152  cicevars(ii)%long_name = 'Latitude of corner (Bu) points'
153  cicevars(ii)%unit_name = 'radians'
154 
155  ii = ii + 1
156  cicevars(ii)%var_name = 'hte'
157  cicevars(ii)%long_name = 'Distance between corner (Bu) points, east face'
158  cicevars(ii)%unit_name = 'cm'
159 
160  ii = ii + 1
161  cicevars(ii)%var_name = 'htn'
162  cicevars(ii)%long_name = 'Distance between corner (Bu) points, north face'
163  cicevars(ii)%unit_name = 'cm'
164 
165  ii = ii + 1
166  cicevars(ii)%var_name = 'angle'
167  cicevars(ii)%long_name = 'Angle at corner (Bu) points'
168  cicevars(ii)%unit_name = 'radians'
169 
170  ii = ii + 1
171  cicevars(ii)%var_name = 'kmt'
172  cicevars(ii)%long_name = 'ocean fraction at T-cell centers'
173  cicevars(ii)%unit_name = 'none'
174  cicevars(ii)%var_type = 'i4'
175 
176  end subroutine cicevars_typedefine
180 
182 
183  ! local variables
184  integer :: ii = 0
185 
186  !default
187  scripvars(:)%long_name = ''
188  scripvars(:)%var_type = 'r8'
189  scripvars(:)%vertices = ''
190 
191  ii = ii + 1
192  scripvars(ii)%var_name = 'grid_center_lat'
193  scripvars(ii)%unit_name = 'degrees'
194 
195  ii = ii + 1
196  scripvars(ii)%var_name = 'grid_center_lon'
197  scripvars(ii)%unit_name = 'degrees'
198 
199  ii = ii + 1
200  scripvars(ii)%var_name = 'grid_corner_lat'
201  scripvars(ii)%unit_name = 'degrees'
202 
203  ii = ii + 1
204  scripvars(ii)%var_name = 'grid_corner_lon'
205  scripvars(ii)%unit_name = 'degrees'
206 
207  end subroutine scripvars_typedefine
208 end module vartypedefs
subroutine scripvars_typedefine
Define the variables written to any SCRIP grid file.
subroutine fixvars_typedefine
Define the variables written to the tripole grid file.
Definition: vartypedefs.F90:34
subroutine cicevars_typedefine
Define the variables written to the CICE grid file.