cpld_gridgen 1.14.0
Loading...
Searching...
No Matches
vartypedefs.F90
Go to the documentation of this file.
1
7
8module 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
28contains
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
136 subroutine cicevars_typedefine
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
181 subroutine scripvars_typedefine
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
208end module vartypedefs