source: LMDZ6/branches/Amaury_dev/libf/phylmdiso/phys_output_ctrlout_mod.F90 @ 5119

Last change on this file since 5119 was 5117, checked in by abarral, 4 months ago

rename modules properly lmdz_*
move some unused files to obsolete/
(lint) uppercase fortran keywords

File size: 175.8 KB
Line 
1
2! $Id: phys_output_ctrlout_mod.F90 3888 2021-05-05 10:50:37Z jyg $
3
4MODULE phys_output_ctrlout_mod
5
6  USE phys_output_var_mod
7  USE indice_sol_mod
8  USE aero_mod
9
10  IMPLICIT NONE
11  INTEGER, PRIVATE :: i
12
13  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14  !! Definition pour chaque variable du niveau d ecriture dans chaque fichier,
15  !! de son nom, de sa description, de son unité et du type d'écriture.
16  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!/ histmth, histday, histhf, histins /),'!!!!!!!!!!!!
17  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
18  !  CHARACTER(len=20), DIMENSION(nfiles) :: TEF = type_ecri_files
19
20  !!! saving lon and lat as variables for CMIP6 DataRequest
21  TYPE(ctrl_out), SAVE :: o_longitude = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
22          'io_lon', '', '', (/ ('once', i = 1, 10) /))
23  TYPE(ctrl_out), SAVE :: o_latitude = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
24          'io_lat', '', '', (/ ('once', i = 1, 10) /))
25
26  !!! Composantes de la coordonnee sigma-hybride
27  !!! Ap et Bp et interfaces
28  TYPE(ctrl_out), SAVE :: o_Ahyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
29          'Ahyb', 'Ahyb at level interface', '', (/ ('once', i = 1, 10) /))
30  TYPE(ctrl_out), SAVE :: o_Bhyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
31          'Bhyb', 'Bhyb at level interface', '', (/ ('once', i = 1, 10) /))
32  TYPE(ctrl_out), SAVE :: o_Ahyb_bounds = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
33          'Ahyb_bounds', '', '', (/ ('once', i = 1, 10) /))
34  TYPE(ctrl_out), SAVE :: o_Bhyb_bounds = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
35          'Bhyb_bounds', '', '', (/ ('once', i = 1, 10) /))
36  !!! Composantes de la coordonnee sigma-hybride  au milieu des couches
37  !!! Aps et Bps et interfaces
38  TYPE(ctrl_out), SAVE :: o_Ahyb_mid = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
39          'Ahyb_mid', 'Ahyb at the middle of the level', '', (/ ('once', i = 1, 10) /))
40  TYPE(ctrl_out), SAVE :: o_Bhyb_mid = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
41          'Bhyb_mid', 'Bhyb at the middle of the level', '', (/ ('once', i = 1, 10) /))
42  TYPE(ctrl_out), SAVE :: o_Ahyb_mid_bounds = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
43          'Ahyb_mid_bounds', '', '', (/ ('once', i = 1, 10) /))
44  TYPE(ctrl_out), SAVE :: o_Bhyb_mid_bounds = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
45          'Bhyb_mid_bounds', '', '', (/ ('once', i = 1, 10) /))
46
47  TYPE(ctrl_out), SAVE :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
48          'Alt', '', '', (/ ('', i = 1, 10) /))
49
50  !!! 1D
51  TYPE(ctrl_out), SAVE :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1, 1, 11, 11, 11, 11/), &
52          'phis', 'Surface geop.height', 'm2/s2', (/ ('', i = 1, 10) /))
53  TYPE(ctrl_out), SAVE :: o_aire = ctrl_out((/ 1, 1, 10, 10, 1, 1, 11, 11, 11, 11/), &
54          'aire', 'Grid area', '-', (/ 'once', 'once', 'once', 'once', 'once', 'once', &
55                  'once', 'once', 'once', 'once' /))
56  TYPE(ctrl_out), SAVE :: o_contfracATM = ctrl_out((/ 10, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
57          'contfracATM', '% sfce ter+lic', '-', &
58          (/ 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once' /))
59  TYPE(ctrl_out), SAVE :: o_contfracOR = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
60          'contfracOR', '% sfce terre OR', '-', (/ ('', i = 1, 10) /))
61  TYPE(ctrl_out), SAVE :: o_aireTER = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
62          'aireTER', 'Grid area CONT', '-', (/ ('', i = 1, 10) /))
63
64  !!! 2D
65  TYPE(ctrl_out), SAVE :: o_sza = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
66          'sza', 'Solar zenithal angle', 'degrees', (/ ('', i = 1, 10) /))
67
68  ! Marine
69
70  TYPE(ctrl_out), SAVE :: o_alt_tropo = ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
71          'alt_tropo', 'Tropopause pressure', 'hPa', &
72          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
73                  "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
74
75  TYPE(ctrl_out), SAVE :: o_map_prop_hc = ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
76          'map_prop_hc', 'Proportion of high clouds', ' ', &
77          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
78                  "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
79
80  TYPE(ctrl_out), SAVE :: o_map_prop_hist = &
81          ctrl_out((/1, 1, 1, 1, 1, 1, 10, 10, 10, 10/), &
82                  'map_prop_hist', 'Proportion of high ice semi-transp clouds', ' ', &
83                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
84                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
85
86  TYPE(ctrl_out), SAVE :: o_map_emis_hc = &
87          ctrl_out((/1, 1, 1, 1, 1, 1, 10, 10, 10, 10/), &
88                  'map_emis_hc', 'Emissivity of high clouds', ' ', &
89                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
90                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
91
92  TYPE(ctrl_out), SAVE :: o_map_iwp_hc = &
93          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
94                  'map_iwp_hc', 'Ice water path of high clouds', 'g/m2', &
95                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
96                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
97
98  TYPE(ctrl_out), SAVE :: o_map_deltaz_hc = &
99          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
100                  'map_deltaz_hc', 'geom thickness of high clouds', 'm', &
101                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
102                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
103
104  TYPE(ctrl_out), SAVE :: o_map_pcld_hc = &
105          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
106                  'map_pcld_hc', 'cloud pressure of high clouds', 'hPa', &
107                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
108                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
109
110  TYPE(ctrl_out), SAVE :: o_map_tcld_hc = &
111          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
112                  'map_tcld_hc', 'cloud temperature of high clouds', 'K', &
113                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
114                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
115
116  TYPE(ctrl_out), SAVE :: o_map_emis_hist = &
117          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
118                  'map_emis_hist', 'Emissivity of high ice st clouds', ' ', &
119                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
120                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
121
122  TYPE(ctrl_out), SAVE :: o_map_iwp_hist = &
123          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
124                  'map_iwp_hist', 'Ice water path of high ice st clouds', 'g/m2', &
125                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
126                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
127
128  TYPE(ctrl_out), SAVE :: o_map_deltaz_hist = &
129          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
130                  'map_deltaz_hist', 'geom thickness of high ice st clouds', 'm', &
131                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
132                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
133
134  TYPE(ctrl_out), SAVE :: o_map_rad_hist = &
135          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
136                  'map_rad_hist', 'ice crystals radius in high ice st clouds', 'µm', &
137                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
138                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
139
140  TYPE(ctrl_out), SAVE :: o_map_emis_Cb = &
141          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
142                  'map_emis_Cb', 'Emissivity of high Cb clouds', ' ', &
143                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
144                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
145
146  TYPE(ctrl_out), SAVE :: o_map_pcld_Cb = &
147          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
148                  'map_pcld_Cb', 'cloud pressure of high Cb clouds', 'hPa', &
149                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
150                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
151
152  TYPE(ctrl_out), SAVE :: o_map_tcld_Cb = &
153          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
154                  'map_tcld_Cb', 'cloud temperature of high Cb clouds', 'K', &
155                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
156                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
157
158  TYPE(ctrl_out), SAVE :: o_map_emis_Anv = &
159          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
160                  'map_emis_Anv', 'Emissivity of high Anv clouds', ' ', &
161                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
162                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
163
164  TYPE(ctrl_out), SAVE :: o_map_pcld_Anv = &
165          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
166                  'map_pcld_Anv', 'cloud pressure of high Anv clouds', 'hPa', &
167                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
168                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
169
170  TYPE(ctrl_out), SAVE :: o_map_tcld_Anv = &
171          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
172                  'map_tcld_Anv', 'cloud temperature of high Anv clouds', 'K', &
173                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
174                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
175
176  TYPE(ctrl_out), SAVE :: o_map_emis_ThCi = &
177          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
178                  'map_emis_ThCi', 'Emissivity of high ThCi clouds', ' ', &
179                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
180                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
181
182  TYPE(ctrl_out), SAVE :: o_map_pcld_ThCi = &
183          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
184                  'map_pcld_ThCi', 'cloud pressure of high ThCi clouds', 'hPa', &
185                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
186                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
187
188  TYPE(ctrl_out), SAVE :: o_map_tcld_ThCi = &
189          ctrl_out((/10, 10, 1, 10, 10, 10, 10, 10, 10, 10/), &
190                  'map_tcld_ThCi', 'cloud temperature of high ThCi clouds', 'K', &
191                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
192                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
193
194  TYPE(ctrl_out), SAVE :: o_map_ntot = &
195          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
196                  'map_ntot', 'total AIRS cloud fraction', ' ', &
197                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
198                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
199
200  TYPE(ctrl_out), SAVE :: o_map_hc = &
201          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
202                  'map_hc', 'high clouds AIRS cloud fraction', ' ', &
203                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
204                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
205
206  TYPE(ctrl_out), SAVE :: o_map_hist = &
207          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
208                  'map_hist', 'high clouds ice st AIRS cloud fraction', ' ', &
209                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
210                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
211
212  TYPE(ctrl_out), SAVE :: o_map_Cb = &
213          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
214                  'map_Cb', 'high clouds Cb AIRS cloud fraction', ' ', &
215                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
216                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
217
218  TYPE(ctrl_out), SAVE :: o_map_ThCi = &
219          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
220                  'map_ThCi', 'high clouds ThCi AIRS cloud fraction', ' ', &
221                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
222                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
223
224  TYPE(ctrl_out), SAVE :: o_map_Anv = &
225          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
226                  'map_Anv', 'high clouds Anv AIRS cloud fraction', ' ', &
227                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
228                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
229
230  ! Fin Marine
231
232  TYPE(ctrl_out), SAVE :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
233          'flat', 'Latent heat flux', 'W/m2', (/ ('', i = 1, 10) /))
234  TYPE(ctrl_out), SAVE :: o_ptstar = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
235          'ptstar', 'Air Surface Temperature', 'K', (/ ('', i = 1, 10) /))
236  TYPE(ctrl_out), SAVE :: o_pt0 = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
237          'pt0', 'Standard Air Surface Temperature', 'K', (/ ('', i = 1, 10) /))
238  TYPE(ctrl_out), SAVE :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
239          'slp', 'Sea Level Pressure', 'Pa', (/ ('', i = 1, 10) /))
240  TYPE(ctrl_out), SAVE :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
241          'tsol', 'Surface Temperature', 'K', (/ ('', i = 1, 10) /))
242  TYPE(ctrl_out), SAVE :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
243          't2m', 'Temperature 2m', 'K', (/ ('', i = 1, 10) /))
244  TYPE(ctrl_out), SAVE :: o_t2m_min = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
245          't2m_min', 'Temp 2m min', 'K', &
246          (/ "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", &
247                  "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)" /))
248  TYPE(ctrl_out), SAVE :: o_t2m_max = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
249          't2m_max', 'Temp 2m max', 'K', &
250          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
251                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
252
253  TYPE(ctrl_out), SAVE :: o_t2m_min_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20, 20 /), &
254          't2m_min_mon', 'Monthly average min 2m temperature', 'K', &
255          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
256                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
257  TYPE(ctrl_out), SAVE :: o_t2m_max_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20, 20 /), &
258          't2m_max_mon', 'Monthly average max 2m temperature', 'K', &
259          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
260                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
261
262  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_t2m_srf = (/ &
263          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
264                  't2m_ter', "Temp 2m " // clnsurf(1), "K", (/ ('', i = 1, 10) /)), &
265                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
266                          't2m_lic', "Temp 2m " // clnsurf(2), "K", (/ ('', i = 1, 10) /)), &
267                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
268                          't2m_oce', "Temp 2m " // clnsurf(3), "K", (/ ('', i = 1, 10) /)), &
269                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
270                          't2m_sic', "Temp 2m " // clnsurf(4), "K", (/ ('', i = 1, 10) /)) /)
271
272  TYPE(ctrl_out), SAVE :: o_nt2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
273          'nt2mout', 'Nbt2m out of range complete computation', '-', (/ ('', i = 1, 10) /))
274  TYPE(ctrl_out), SAVE :: o_nq2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
275          'nq2mout', 'Nbq2m out of range complete computation', '-', (/ ('', i = 1, 10) /))
276  TYPE(ctrl_out), SAVE :: o_nu2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
277          'nu2mout', 'Nbu2m out of range complete computation', '-', (/ ('', i = 1, 10) /))
278
279  TYPE(ctrl_out), SAVE :: o_nt2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
280          'nt2moutfg', 'Nbt2m out of range complete/fgRi1 computation', '-', (/ ('', i = 1, 10) /))
281  TYPE(ctrl_out), SAVE :: o_nq2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
282          'nq2moutfg', 'Nbq2m out of range complete/fgRi1 computation', '-', (/ ('', i = 1, 10) /))
283  TYPE(ctrl_out), SAVE :: o_nu2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
284          'nu2moutfg', 'Nbu2m out of range complete/fgRi1 computation', '-', (/ ('', i = 1, 10) /))
285
286  TYPE(ctrl_out), SAVE :: o_gusts = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
287          'gusts', 'surface gustiness', 'm2/s2', (/ ('', i = 1, 10) /))
288
289  TYPE(ctrl_out), SAVE :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
290          'wind10m', '10-m wind speed', 'm/s', (/ ('', i = 1, 10) /))
291  TYPE(ctrl_out), SAVE :: o_wind100m = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
292          'wind100m', '100-m wind speed', 'm/s', (/ ('', i = 1, 10) /))
293  TYPE(ctrl_out), SAVE :: o_loadfactor_wind_onshore = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
294          'woncfr', 'Onshore Wind Capacity factor', 'kW/kW_installed', (/ ('', i = 1, 10) /))
295  TYPE(ctrl_out), SAVE :: o_loadfactor_wind_offshore = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
296          'wofcfr', 'Offshore Wind Capacity factor', 'kW/kW_installed', (/ ('', i = 1, 10) /))
297  TYPE(ctrl_out), SAVE :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
298          'wind10max', '10m wind speed max', 'm/s', &
299          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
300                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
301
302  TYPE(ctrl_out), SAVE :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
303          'sicf', 'Sea-ice fraction', '-', (/ ('', i = 1, 10) /))
304  TYPE(ctrl_out), SAVE :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
305          'q2m', 'Specific humidity 2m', 'kg/kg', (/ ('', i = 1, 10) /))
306  TYPE(ctrl_out), SAVE :: o_ustar = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11, 11/), &
307          'ustar', 'Friction velocity', 'm/s', (/ ('', i = 1, 10) /))
308  TYPE(ctrl_out), SAVE :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
309          'u10m', 'Vent zonal 10m', 'm/s', (/ ('', i = 1, 10) /))
310  TYPE(ctrl_out), SAVE :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
311          'v10m', 'Vent meridien 10m', 'm/s', (/ ('', i = 1, 10) /))
312  TYPE(ctrl_out), SAVE :: o_psol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
313          'psol', 'Surface Pressure', 'Pa', (/ ('', i = 1, 10) /))
314  TYPE(ctrl_out), SAVE :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
315          'qsurf', 'Surface Air humidity', 'kg/kg', (/ ('', i = 1, 10) /))
316
317  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ustar_srf = (/ &
318          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustar_ter', &
319                  "Friction velocity " // clnsurf(1), "m/s", (/ ('', i = 1, 10) /)), &
320                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustar_lic', &
321                          "Friction velocity " // clnsurf(2), "m/s", (/ ('', i = 1, 10) /)), &
322                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustar_oce', &
323                          "Friction velocity " // clnsurf(3), "m/s", (/ ('', i = 1, 10) /)), &
324                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustar_sic', &
325                          "Friction velocity " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)) /)
326
327  TYPE(ctrl_out), SAVE, DIMENSION(5) :: o_wstar = (/ &
328          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar_ter', &
329                  "Friction velocity " // clnsurf(1), "m/s", (/ ('', i = 1, 10) /)), &
330                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar_lic', &
331                          "Friction velocity " // clnsurf(2), "m/s", (/ ('', i = 1, 10) /)), &
332                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar_oce', &
333                          "Friction velocity " // clnsurf(3), "m/s", (/ ('', i = 1, 10) /)), &
334                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar_sic', &
335                          "Friction velocity " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)), &
336                  ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar', &
337                          "w* convective velocity " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)) /)
338
339  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10m_srf = (/ &
340          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10m_ter', &
341                  "Vent Zonal 10m " // clnsurf(1), "m/s", (/ ('', i = 1, 10) /)), &
342                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10m_lic', &
343                          "Vent Zonal 10m " // clnsurf(2), "m/s", (/ ('', i = 1, 10) /)), &
344                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10m_oce', &
345                          "Vent Zonal 10m " // clnsurf(3), "m/s", (/ ('', i = 1, 10) /)), &
346                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10m_sic', &
347                          "Vent Zonal 10m " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)) /)
348
349  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10m_srf = (/ &
350          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10m_ter', &
351                  "Vent meredien 10m " // clnsurf(1), "m/s", (/ ('', i = 1, 10) /)), &
352                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10m_lic', &
353                          "Vent meredien 10m " // clnsurf(2), "m/s", (/ ('', i = 1, 10) /)), &
354                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10m_oce', &
355                          "Vent meredien 10m " // clnsurf(3), "m/s", (/ ('', i = 1, 10) /)), &
356                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10m_sic', &
357                          "Vent meredien 10m " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)) /)
358
359  TYPE(ctrl_out), SAVE :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
360          'qsol', 'Soil watter content', 'mm', (/ ('', i = 1, 10) /))
361  TYPE(ctrl_out), SAVE :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
362          'ndayrain', 'Number of dayrain(liq+sol)', '-', &
363          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
364  TYPE(ctrl_out), SAVE :: o_rain_fall = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
365          'rain_fall', 'Precip Totale liq', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
366  TYPE(ctrl_out), SAVE :: o_rain_con = ctrl_out((/ 7, 7, 7, 10, 7, 10, 11, 11, 11, 11/), &
367          'rain_con', 'Precip liq conv.', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
368  TYPE(ctrl_out), SAVE :: o_precip = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
369          'precip', 'Precip Totale liq+sol', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
370  TYPE(ctrl_out), SAVE :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
371          'plul', 'Large-scale Precip.', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
372  TYPE(ctrl_out), SAVE :: o_plun = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
373          'plun', 'Numerical Precip.', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
374  TYPE(ctrl_out), SAVE :: o_pluc = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
375          'pluc', 'Convective Precip.', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
376  TYPE(ctrl_out), SAVE :: o_snow = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
377          'snow', 'Snow fall', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
378  TYPE(ctrl_out), SAVE :: o_bsfall = ctrl_out((/ 10, 10, 10, 10, 5, 10, 11, 11, 11, 11/), &
379          'bsfall', 'Blowing Snow fall', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
380  TYPE(ctrl_out), SAVE :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
381          'evap', 'Evaporat', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
382  TYPE(ctrl_out), SAVE :: o_snowerosion = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
383          'snowerosion', 'blowing snow flux', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
384  TYPE(ctrl_out), SAVE :: o_ustart_lic = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
385          'ustart_lic', 'threshold velocity', 'm/s', (/ ('', i = 1, 10) /))
386  TYPE(ctrl_out), SAVE :: o_rhosnow_lic = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
387          'rhosnow_lic', 'snow density lic', 'kg/m3', (/ ('', i = 1, 10) /))
388  TYPE(ctrl_out), SAVE :: o_qsalt_lic = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
389          'qsalt_lic', 'qb in saltation layer lic', 'kg/kg', (/ ('', i = 1, 10) /))
390  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
391          'sens_rain_oce', 'Sensible heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i = 1, 10) /))
392  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
393          'sens_rain_sic', 'Sensible heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i = 1, 10) /))
394  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
395          'sens_snow_oce', 'Sensible heat flux of solid prec. over ocean', 'W/m2', (/ ('', i = 1, 10) /))
396  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
397          'sens_snow_sic', 'Sensible heat flux of solid prec. over seaice', 'W/m2', (/ ('', i = 1, 10) /))
398  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
399          'lat_rain_oce', 'Latent heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i = 1, 10) /))
400  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
401          'lat_rain_sic', 'Latent heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i = 1, 10) /))
402  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
403          'lat_snow_oce', 'Latent heat flux of solid prec. over ocean', 'W/m2', (/ ('', i = 1, 10) /))
404  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
405          'lat_snow_sic', 'Latent heat flux of solid prec. over seaice', 'W/m2', (/ ('', i = 1, 10) /))
406
407  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evap_srf = (/ &
408          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evap_ter', &
409                  "evaporation at surface " // clnsurf(1), "kg/(s*m2)", (/ ('', i = 1, 10) /)), &
410                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evap_lic', &
411                          "evaporation at surface " // clnsurf(2), "kg/(s*m2)", (/ ('', i = 1, 10) /)), &
412                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evap_oce', &
413                          "evaporation at surface " // clnsurf(3), "kg/(s*m2)", (/ ('', i = 1, 10) /)), &
414                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evap_sic', &
415                          "evaporation at surface " // clnsurf(4), "kg/(s*m2)", (/ ('', i = 1, 10) /)) /)
416
417  TYPE(ctrl_out), SAVE :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
418          'msnow', 'Surface snow amount', 'kg/m2', (/ ('', i = 1, 10) /))
419  TYPE(ctrl_out), SAVE :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
420          'fsnow', 'Surface snow area fraction', '-', (/ ('', i = 1, 10) /))
421  TYPE(ctrl_out), SAVE :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
422          'tops', 'Solar rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
423  TYPE(ctrl_out), SAVE :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
424          'tops0', 'CS Solar rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
425  TYPE(ctrl_out), SAVE :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11, 11/), &
426          'topl', 'IR rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
427  TYPE(ctrl_out), SAVE :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
428          'topl0', 'IR rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
429  TYPE(ctrl_out), SAVE :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
430          'SWupTOA', 'SWup at TOA', 'W/m2', (/ ('', i = 1, 10) /))
431  TYPE(ctrl_out), SAVE :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
432          'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
433  TYPE(ctrl_out), SAVE :: o_SWupTOAcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
434          'SWupTOAcleanclr', 'SWup clear sky clean (no aerosol) at TOA', 'W/m2', (/ ('', i = 1, 10) /))
435  TYPE(ctrl_out), SAVE :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
436          'SWdnTOA', 'SWdn at TOA', 'W/m2', (/ ('', i = 1, 10) /))
437  TYPE(ctrl_out), SAVE :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
438          'SWdnTOAclr', 'SWdn clear sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
439  TYPE(ctrl_out), SAVE :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
440          'nettop', 'Net dn radiatif flux at TOA', 'W/m2', (/ ('', i = 1, 10) /))
441  TYPE(ctrl_out), SAVE :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
442          'SWup200', 'SWup at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
443  TYPE(ctrl_out), SAVE :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
444          'SWup200clr', 'SWup clear sky at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
445  TYPE(ctrl_out), SAVE :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
446          'SWdn200', 'SWdn at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
447  TYPE(ctrl_out), SAVE :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
448          'SWdn200clr', 'SWdn clear sky at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
449
450  ! arajouter
451  !  type(ctrl_out),save :: o_LWupTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWupTOA', &
452  !    (/ ('', i=1, 10) /))
453  !  type(ctrl_out),save :: o_LWupTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWupTOAclr', &
454  !    (/ ('', i=1, 10) /))
455  !  type(ctrl_out),save :: o_LWdnTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOA', &
456  !    (/ ('', i=1, 10) /))
457  !  type(ctrl_out),save :: o_LWdnTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOAclr', &
458  !    (/ ('', i=1, 10) /))
459  TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
460          'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
461  TYPE(ctrl_out), SAVE :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
462          'LWup200clr', 'LWup clear sky at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
463  TYPE(ctrl_out), SAVE :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
464          'LWdn200', 'LWdn at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
465  TYPE(ctrl_out), SAVE :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
466          'LWdn200clr', 'LWdn clear sky at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
467  TYPE(ctrl_out), SAVE :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
468          'sols', 'Solar rad. at surf.', 'W/m2', (/ ('', i = 1, 10) /))
469  TYPE(ctrl_out), SAVE :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
470          'sols0', 'Solar rad. at surf.', 'W/m2', (/ ('', i = 1, 10) /))
471  TYPE(ctrl_out), SAVE :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
472          'soll', 'IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
473  TYPE(ctrl_out), SAVE :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
474          'soll0', 'IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
475  TYPE(ctrl_out), SAVE :: o_radsol = ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), &
476          'radsol', 'Rayonnement au sol', 'W/m2', (/ ('', i = 1, 10) /))
477  TYPE(ctrl_out), SAVE :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
478          'SWupSFC', 'SWup at surface', 'W/m2', (/ ('', i = 1, 10) /))
479  TYPE(ctrl_out), SAVE :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
480          'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i = 1, 10) /))
481  TYPE(ctrl_out), SAVE :: o_SWupSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
482          'SWupSFCcleanclr', 'SWup clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i = 1, 10) /))
483  TYPE(ctrl_out), SAVE :: o_fdiffSWdnSFC = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
484          'fdiffSWdnSFC', 'Fraction of diffuse SWdn at surface', 'W/m2', (/ ('', i = 1, 10) /))
485  TYPE(ctrl_out), SAVE :: o_SWdnSFC = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
486          'SWdnSFC', 'SWdn at surface', 'W/m2', (/ ('', i = 1, 10) /))
487  TYPE(ctrl_out), SAVE :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
488          'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i = 1, 10) /))
489  TYPE(ctrl_out), SAVE :: o_SWdnSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
490          'SWdnSFCcleanclr', 'SWdn clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i = 1, 10) /))
491  TYPE(ctrl_out), SAVE :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
492          'LWupSFC', 'Upwd. IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
493  TYPE(ctrl_out), SAVE :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
494          'LWupSFCclr', 'CS Upwd. IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
495  TYPE(ctrl_out), SAVE :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
496          'LWdnSFC', 'Down. IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
497  TYPE(ctrl_out), SAVE :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
498          'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
499  TYPE(ctrl_out), SAVE :: o_LWupTOAcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
500          'LWupTOAcleanclr', 'Upward CS clean (no aerosol) IR rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
501  TYPE(ctrl_out), SAVE :: o_LWdnSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
502          'LWdnSFCcleanclr', 'Downward CS clean (no aerosol) IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
503  TYPE(ctrl_out), SAVE :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
504          'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
505  TYPE(ctrl_out), SAVE :: o_bils_tke = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
506          'bils_tke', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
507  TYPE(ctrl_out), SAVE :: o_bils_diss = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
508          'bils_diss', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
509  TYPE(ctrl_out), SAVE :: o_bils_ec = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
510          'bils_ec', 'Surf. total heat flux correction', 'W/m2', (/ ('', i = 1, 10) /))
511  TYPE(ctrl_out), SAVE :: o_bils_ech = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
512          'bils_ech', 'Surf. total heat flux correction', 'W/m2', (/ ('', i = 1, 10) /))
513  TYPE(ctrl_out), SAVE :: o_bils_kinetic = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
514          'bils_kinetic', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
515  TYPE(ctrl_out), SAVE :: o_bils_enthalp = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
516          'bils_enthalp', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
517  TYPE(ctrl_out), SAVE :: o_bils_latent = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
518          'bils_latent', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
519  TYPE(ctrl_out), SAVE :: o_sens = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
520          'sens', 'Sensible heat flux', 'W/m2', (/ ('', i = 1, 10) /))
521  TYPE(ctrl_out), SAVE :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10, 10, 11, 11, 11, 11/), &
522          'fder', 'Heat flux derivation', 'W/m2', (/ ('', i = 1, 10) /))
523  TYPE(ctrl_out), SAVE :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
524          'ffonte', 'Thermal flux for snow melting', 'W/m2', (/ ('', i = 1, 10) /))
525  TYPE(ctrl_out), SAVE :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
526          'fqcalving', 'Ice Calving', 'kg/m2/s', (/ ('', i = 1, 10) /))
527  TYPE(ctrl_out), SAVE :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
528          'fqfonte', 'Land ice melt', 'kg/m2/s', (/ ('', i = 1, 10) /))
529  TYPE(ctrl_out), SAVE :: o_mrroli = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
530          'mrroli', 'Runoff flux over land ice', 'kg/m2/s', (/ ('', i = 1, 10) /))
531  TYPE(ctrl_out), SAVE :: o_runofflic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
532          'runofflic', 'Land ice melt to ocean', 'kg/m2/s', (/ ('', i = 1, 10) /))
533  TYPE(ctrl_out), SAVE :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
534          'taux', 'Zonal wind stress', 'Pa', (/ ('', i = 1, 10) /))
535  TYPE(ctrl_out), SAVE :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
536          'tauy', 'Meridional wind stress', 'Pa', (/ ('', i = 1, 10) /))
537
538  !AI Ecrad 3Deffect
539#ifdef CPP_ECRAD
540  TYPE(ctrl_out), SAVE :: o_cloud_cover_sw = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
541    'cloud_cover_sw', 'Ecrad SW cloud cover', '-', (/ ('', i=1, 10) /))
542  TYPE(ctrl_out), SAVE :: o_cloud_cover_sw_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
543    'cloud_cover_sw_s2', 'Ecrad SW cloud cover 2 call', '-', (/ ('', i=1, 10) /))
544  TYPE(ctrl_out), SAVE :: o_sols_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
545    'sols_s2', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 10) /))
546  TYPE(ctrl_out), SAVE :: o_sols0_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
547    'sols0_s2', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 10) /))
548  TYPE(ctrl_out), SAVE :: o_soll_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
549    'soll_s2', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
550  TYPE(ctrl_out), SAVE :: o_soll0_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
551    'soll0_s2', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
552  TYPE(ctrl_out), SAVE :: o_tops_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
553    'tops_s2', 'Solar rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
554  TYPE(ctrl_out), SAVE :: o_tops0_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
555    'tops0_s2', 'CS Solar rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
556  TYPE(ctrl_out), SAVE :: o_topl_s2 = ctrl_out((/ 11, 11, 10, 11, 10, 10, 11, 11, 11, 11/), &
557    'topl_s2', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
558  TYPE(ctrl_out), SAVE :: o_topl0_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
559    'topl0_s2', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
560  TYPE(ctrl_out), SAVE :: o_SWupTOA_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
561    'SWupTOA_s2', 'SWup at TOA', 'W/m2', (/ ('', i=1, 10) /))
562  TYPE(ctrl_out), SAVE :: o_SWupTOAclr_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
563    'SWupTOAclr_s2', 'SWup clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
564  TYPE(ctrl_out), SAVE :: o_SWupTOAcleanclr_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
565    'SWupTOAcleanclr_s2', 'SWup clear sky clean (no aerosol) at TOA', 'W/m2', (/ ('', i=1, 10) /))
566  TYPE(ctrl_out), SAVE :: o_SWdnTOA_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
567    'SWdnTOA_s2', 'SWdn at TOA', 'W/m2', (/ ('', i=1, 10) /))
568  TYPE(ctrl_out), SAVE :: o_SWdnTOAclr_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
569    'SWdnTOAclr_s2', 'SWdn clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
570  TYPE(ctrl_out), SAVE :: o_nettop_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
571    'nettop_s2', 'Net dn radiatif flux at TOA', 'W/m2', (/ ('', i=1, 10) /))
572  TYPE(ctrl_out), SAVE :: o_LWdnSFC_s2 = ctrl_out((/ 11, 11, 10, 10, 11, 10, 11, 11, 11, 11/), &
573    'LWdnSFC_s2', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
574  TYPE(ctrl_out), SAVE :: o_LWdnSFCclr_s2 = ctrl_out((/ 11, 11, 10, 10, 11, 10, 11, 11, 11, 11/), &
575    'LWdnSFCclr_s2', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
576  TYPE(ctrl_out), SAVE :: o_SWupSFC_s2 = ctrl_out((/ 11, 11, 10, 10, 11, 10, 11, 11, 11, 11/), &
577    'SWupSFC_s2', 'SWup at surface', 'W/m2', (/ ('', i=1, 10) /))
578  TYPE(ctrl_out), SAVE :: o_SWupSFCclr_s2 = ctrl_out((/ 11, 11, 10, 10, 11, 10, 11, 11, 11, 11/), &
579    'SWupSFCclr_s2', 'SWup clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
580  TYPE(ctrl_out), SAVE :: o_SWupSFCcleanclr_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
581    'SWupSFCcleanclr_s2', 'SWup clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i=1, 10) /))
582  TYPE(ctrl_out), SAVE :: o_fdiffSWdnSFC_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
583    'fdiffSWdnSFC_s2', 'Fraction of diffuse SWdn at surface', 'W/m2', (/ ('', i=1, 10) /))
584  TYPE(ctrl_out), SAVE :: o_SWdnSFC_s2 = ctrl_out((/ 11, 11, 11, 10, 11, 10, 11, 11, 11, 11/), &
585    'SWdnSFC_s2', 'SWdn at surface', 'W/m2', (/ ('', i=1, 10) /))
586  TYPE(ctrl_out), SAVE :: o_SWdnSFCclr_s2 = ctrl_out((/ 11, 11, 10, 10, 11, 10, 11, 11, 11, 11/), &
587    'SWdnSFCclr_s2', 'SWdn clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
588  TYPE(ctrl_out), SAVE :: o_SWdnSFCcleanclr_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
589    'SWdnSFCcleanclr_s2', 'SWdn clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i=1, 10) /))
590  TYPE(ctrl_out), SAVE :: o_LWupSFC_s2 = ctrl_out((/ 11, 11, 10, 10, 11, 10, 11, 11, 11, 11/), &
591    'LWupSFC_s2', 'Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
592  TYPE(ctrl_out), SAVE :: o_LWupSFCclr_s2 = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
593    'LWupSFCclr_s2', 'CS Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
594  TYPE(ctrl_out), SAVE :: o_LWupTOAcleanclr_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
595    'LWupTOAcleanclr_s2', 'Upward CS clean (no aerosol) IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
596  TYPE(ctrl_out), SAVE :: o_LWdnSFCcleanclr_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
597    'LWdnSFCcleanclr_s2', 'Downward CS clean (no aerosol) IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
598  TYPE(ctrl_out), SAVE :: o_rsu_s2 = ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
599    'rsu_s2', 'SW upward radiation', 'W m-2', (/ ('', i=1, 10) /))
600  TYPE(ctrl_out), SAVE :: o_rsd_s2 = ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
601    'rsd_s2', 'SW downward radiation', 'W m-2', (/ ('', i=1, 10) /))
602  TYPE(ctrl_out), SAVE :: o_rlu_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
603    'rlu_s2', 'LW upward radiation', 'W m-2', (/ ('', i=1, 10) /))
604  TYPE(ctrl_out), SAVE :: o_rld_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
605    'rld_s2', 'LW downward radiation', 'W m-2', (/ ('', i=1, 10) /))
606  TYPE(ctrl_out), SAVE :: o_rsucs_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
607    'rsucs_s2', 'SW CS upward radiation', 'W m-2', (/ ('', i=1, 10) /))
608  TYPE(ctrl_out), SAVE :: o_rsdcs_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
609    'rsdcs_s2', 'SW CS downward radiation', 'W m-2', (/ ('', i=1, 10) /))
610  TYPE(ctrl_out), SAVE :: o_rlucs_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
611    'rlucs_s2', 'LW CS upward radiation', 'W m-2', (/ ('', i=1, 10) /))
612  TYPE(ctrl_out), SAVE :: o_rldcs_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
613    'rldcs_s2', 'LW CS downward radiation', 'W m-2', (/ ('', i=1, 10) /))
614#endif
615
616
617  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_taux_srf = (/           &
618          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'taux_ter', &
619                  "Zonal wind stress" // clnsurf(1), "Pa", (/ ('', i = 1, 10) /)), &
620                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'taux_lic', &
621                          "Zonal wind stress" // clnsurf(2), "Pa", (/ ('', i = 1, 10) /)), &
622                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'taux_oce', &
623                          "Zonal wind stress" // clnsurf(3), "Pa", (/ ('', i = 1, 10) /)), &
624                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'taux_sic', &
625                          "Zonal wind stress" // clnsurf(4), "Pa", (/ ('', i = 1, 10) /)) /)
626
627  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tauy_srf = (/             &
628          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tauy_ter', &
629                  "Meridional wind stress " // clnsurf(1), "Pa", (/ ('', i = 1, 10) /)), &
630                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tauy_lic', &
631                          "Meridional wind stress " // clnsurf(2), "Pa", (/ ('', i = 1, 10) /)), &
632                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tauy_oce', &
633                          "Meridional wind stress " // clnsurf(3), "Pa", (/ ('', i = 1, 10) /)), &
634                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tauy_sic', &
635                          "Meridional wind stress " // clnsurf(4), "Pa", (/ ('', i = 1, 10) /)) /)
636
637  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_pourc_srf = (/ &
638          ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), 'pourc_ter', &
639                  "% " // clnsurf(1), "%", (/ ('', i = 1, 10) /)), &
640                  ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), 'pourc_lic', &
641                          "% " // clnsurf(2), "%", (/ ('', i = 1, 10) /)), &
642                  ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), 'pourc_oce', &
643                          "% " // clnsurf(3), "%", (/ ('', i = 1, 10) /)), &
644                  ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), 'pourc_sic', &
645                          "% " // clnsurf(4), "%", (/ ('', i = 1, 10) /)) /)
646
647  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fract_srf = (/ &
648          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'fract_ter', &
649                  "Fraction " // clnsurf(1), "1", (/ ('', i = 1, 10) /)), &
650                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'fract_lic', &
651                          "Fraction " // clnsurf(2), "1", (/ ('', i = 1, 10) /)), &
652                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'fract_oce', &
653                          "Fraction " // clnsurf(3), "1", (/ ('', i = 1, 10) /)), &
654                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'fract_sic', &
655                          "Fraction " // clnsurf(4), "1", (/ ('', i = 1, 10) /)) /)
656
657  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tsol_srf = (/ &
658          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tsol_ter', &
659                  "Temperature " // clnsurf(1), "K", (/ ('', i = 1, 10) /)), &
660                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tsol_lic', &
661                          "Temperature " // clnsurf(2), "K", (/ ('', i = 1, 10) /)), &
662                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tsol_oce', &
663                          "Temperature " // clnsurf(3), "K", (/ ('', i = 1, 10) /)), &
664                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tsol_sic', &
665                          "Temperature " // clnsurf(4), "K", (/ ('', i = 1, 10) /)) /)
666
667  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evappot_srf = (/ &
668          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evappot_ter', &
669                  "Potential evaporation " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
670                  ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evappot_lic', &
671                          "Potential evaporation " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
672                  ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evappot_oce', &
673                          "Potential evaporation " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
674                  ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evappot_sic', &
675                          "Potential evaporation " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
676
677  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_sens_srf = (/          &
678          ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'sens_ter', &
679                  "Sensible heat flux " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
680                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'sens_lic', &
681                          "Sensible heat flux " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
682                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'sens_oce', &
683                          "Sensible heat flux " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
684                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'sens_sic', &
685                          "Sensible heat flux " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
686
687  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_lat_srf = (/        &
688          ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'lat_ter', &
689                  "Latent heat flux " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
690                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'lat_lic', &
691                          "Latent heat flux " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
692                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'lat_oce', &
693                          "Latent heat flux " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
694                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'lat_sic', &
695                          "Latent heat flux " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
696
697  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_flw_srf = (/ &
698          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'flw_ter', &
699                  "LW " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
700                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'flw_lic', &
701                          "LW " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
702                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'flw_oce', &
703                          "LW " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
704                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'flw_sic', &
705                          "LW " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
706
707  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fsw_srf = (/ &
708          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'fsw_ter', &
709                  "SW " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
710                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'fsw_lic', &
711                          "SW " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
712                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'fsw_oce', &
713                          "SW " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
714                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'fsw_sic', &
715                          "SW " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
716
717  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbils_srf = (/ &
718          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbils_ter', &
719                  "Bilan sol " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
720                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbils_lic', &
721                          "Bilan sol " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
722                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbils_oce', &
723                          "Bilan sol " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
724                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbils_sic', &
725                          "Bilan sol " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
726
727  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbilo_srf = (/      &
728          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbilo_ter', &
729                  "Bilan eau " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
730                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbilo_lic', &
731                          "Bilan eau " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
732                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbilo_oce', &
733                          "Bilan eau " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
734                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbilo_sic', &
735                          "Bilan eau " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
736
737  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wevap_srf = (/      &
738          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wevap_ter', &
739                  "Evap eau " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
740                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wevap_lic', &
741                          "Evap eau " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
742                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wevap_oce', &
743                          "Evap eau " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
744                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wevap_sic', &
745                          "Evap eau " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
746
747  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wrain_srf = (/      &
748          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wrain_ter', &
749                  "Pluie eau " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
750                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wrain_lic', &
751                          "Pluie eau " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
752                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wrain_oce', &
753                          "Pluie eau " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
754                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wrain_sic', &
755                          "Pluie eau " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
756
757  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wsnow_srf = (/      &
758          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wsnow_ter', &
759                  "Neige eau " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
760                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wsnow_lic', &
761                          "Neige eau " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
762                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wsnow_oce', &
763                          "Neige eau " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
764                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wsnow_sic', &
765                          "Neige eau " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
766
767  TYPE(ctrl_out), SAVE :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
768          'cdrm', 'Momentum drag coef.', '-', (/ ('', i = 1, 10) /))
769  TYPE(ctrl_out), SAVE :: o_cdrh = ctrl_out((/ 1, 10, 10, 7, 10, 10, 11, 11, 11, 11/), &
770          'cdrh', 'Heat drag coef.', '-', (/ ('', i = 1, 10) /))
771  TYPE(ctrl_out), SAVE :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
772          'cldl', 'Low-level cloudiness', '-', (/ ('', i = 1, 10) /))
773  TYPE(ctrl_out), SAVE :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
774          'cldm', 'Mid-level cloudiness', '-', (/ ('', i = 1, 10) /))
775  TYPE(ctrl_out), SAVE :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
776          'cldh', 'High-level cloudiness', '-', (/ ('', i = 1, 10) /))
777  TYPE(ctrl_out), SAVE :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 5, 10, 11, 11, 11, 11/), &
778          'cldt', 'Total cloudiness', '-', (/ ('', i = 1, 10) /))
779  TYPE(ctrl_out), SAVE :: o_JrNt = ctrl_out((/ 1, 1, 10, 7, 10, 10, 11, 11, 11, 11/), &
780          'JrNt', '1 if Day 0 if Night', '-', (/ ('', i = 1, 10) /))
781  TYPE(ctrl_out), SAVE :: o_cldhjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
782          'cldhjn', 'High-level cloudiness Day', '-', (/ ('', i = 1, 10) /))
783  TYPE(ctrl_out), SAVE :: o_cldmjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
784          'cldmjn', 'Mid-level cloudiness day', '-', (/ ('', i = 1, 10) /))
785  TYPE(ctrl_out), SAVE :: o_cldljn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
786          'cldljn', 'Low-level cloudiness day', '-', (/ ('', i = 1, 10) /))
787  TYPE(ctrl_out), SAVE :: o_cldtjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
788          'cldtjn', 'Total cloudiness day', '-', (/ ('', i = 1, 10) /))
789
790  TYPE(ctrl_out), SAVE :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
791          'cldq', 'Cloud water path', 'kg/m2', (/ ('', i = 1, 10) /))
792  TYPE(ctrl_out), SAVE :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
793          'lwp', 'Cloud liquid water path', 'kg/m2', (/ ('', i = 1, 10) /))
794  TYPE(ctrl_out), SAVE :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
795          'iwp', 'Cloud ice water path', 'kg/m2', (/ ('', i = 1, 10) /))
796  TYPE(ctrl_out), SAVE :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
797          'ue', 'Zonal dry static energy transport', 'J/m/s', (/ ('', i = 1, 10) /))
798  TYPE(ctrl_out), SAVE :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
799          've', 'Merid dry static energy transport', 'J/m/s', (/ ('', i = 1, 10) /))
800  TYPE(ctrl_out), SAVE :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
801          'uq', 'Zonal humidity transport', 'kg/m/s', (/ ('', i = 1, 10) /))
802  TYPE(ctrl_out), SAVE :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
803          'vq', 'Merid humidity transport', 'kg/m/s', (/ ('', i = 1, 10) /))
804  TYPE(ctrl_out), SAVE :: o_uwat = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
805          'uwat', 'Zonal total water transport', 'kg/m/s', (/ ('', i = 1, 10) /))
806  TYPE(ctrl_out), SAVE :: o_vwat = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
807          'vwat', 'Merid total water transport', 'kg/m/s', (/ ('', i = 1, 10) /))
808  TYPE(ctrl_out), SAVE :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
809          'cape', 'Conv avlbl pot ener', 'J/kg', (/ ('', i = 1, 10) /))
810  TYPE(ctrl_out), SAVE :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
811          'pbase', 'Cld base pressure', 'Pa', (/ ('', i = 1, 10) /))
812  TYPE(ctrl_out), SAVE :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
813          'ptop', 'Cld top pressure', 'Pa', (/ ('', i = 1, 10) /))
814  TYPE(ctrl_out), SAVE :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
815          'fbase', 'Cld base mass flux', 'kg/m2/s', (/ ('', i = 1, 10) /))
816  TYPE(ctrl_out), SAVE :: o_plcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
817          'plcl', 'Lifting Condensation Level', 'hPa', (/ ('', i = 1, 10) /))
818  TYPE(ctrl_out), SAVE :: o_plfc = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
819          'plfc', 'Level of Free Convection', 'hPa', (/ ('', i = 1, 10) /))
820  TYPE(ctrl_out), SAVE :: o_wbeff = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
821          'wbeff', 'Conv. updraft velocity at LFC (<100)', 'm/s', (/ ('', i = 1, 10) /))
822  TYPE(ctrl_out), SAVE :: o_convoccur = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
823          'convoccur', 'Convective occurence', '', (/ ('', i = 1, 10) /))
824  TYPE(ctrl_out), SAVE :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
825          'prw', 'Precipitable water', 'kg/m2', (/ ('', i = 1, 10) /))
826  TYPE(ctrl_out), SAVE :: o_prlw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
827          'prlw', 'Precipitable liquid water', 'kg/m2', (/ ('', i = 1, 10) /))
828  TYPE(ctrl_out), SAVE :: o_prsw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
829          'prsw', 'Precipitable solid water', 'kg/m2', (/ ('', i = 1, 10) /))
830  TYPE(ctrl_out), SAVE :: o_prbsw = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
831          'prbsw', 'Precipitable blowing snow', 'kg/m2', (/ ('', i = 1, 10) /))
832  TYPE(ctrl_out), SAVE :: o_water_budget = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
833          'water_budget', 'Water budget', 'kg/m2', (/ ('', i = 1, 10) /))
834  TYPE(ctrl_out), SAVE :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
835          's_pblh', 'Boundary Layer Height', 'm', (/ ('', i = 1, 10) /))
836  TYPE(ctrl_out), SAVE :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
837          's_pblt', 't at Boundary Layer Height', 'K', (/ ('', i = 1, 10) /))
838  TYPE(ctrl_out), SAVE :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
839          's_lcl', 'Condensation level', 'm', (/ ('', i = 1, 10) /))
840  TYPE(ctrl_out), SAVE :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
841          's_therm', 'Exces du thermique', 'K', (/ ('', i = 1, 10) /))
842  !IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F
843  ! type(ctrl_out),save :: o_s_capCL      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_capCL', &
844  !    (/ ('', i=1, 10) /))
845  ! type(ctrl_out),save :: o_s_oliqCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_oliqCL', &
846  !    (/ ('', i=1, 10) /))
847  ! type(ctrl_out),save :: o_s_cteiCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_cteiCL', &
848  !    (/ ('', i=1, 10) /))
849  ! type(ctrl_out),save :: o_s_trmb1      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb1', &
850  !    (/ ('', i=1, 10) /))
851  ! type(ctrl_out),save :: o_s_trmb2      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb2', &
852  !    (/ ('', i=1, 10) /))
853  ! type(ctrl_out),save :: o_s_trmb3      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb3', &
854  !(/ ('', i=1, 10) /))
855  TYPE(ctrl_out), SAVE :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
856          'slab_bils', 'flux atmos - slab ponderes foce', 'W/m2', (/ ('', i = 1, 10) /))
857  TYPE(ctrl_out), SAVE :: o_slab_bilg = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
858          'slab_bilg', 'flux glace - slab ponderes fsic', 'W/m2', (/ ('', i = 1, 10) /))
859  TYPE(ctrl_out), SAVE :: o_slab_qflux = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
860          'slab_qflux', 'Correction flux slab', 'W/m2', (/ ('', i = 1, 10) /))
861  TYPE(ctrl_out), SAVE :: o_tslab = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
862          'tslab', 'Temperature ocean slab', 'K', (/ ('', i = 1, 10) /))
863  TYPE(ctrl_out), SAVE :: o_tslab1 = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11 /), &
864          'tslab1', 'Temperature ocean slab', 'K', (/ ('', i = 1, 10) /))
865  TYPE(ctrl_out), SAVE :: o_tslab2 = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11 /), &
866          'tslab2', 'Temperature ocean slab', 'K', (/ ('', i = 1, 10) /))
867  TYPE(ctrl_out), SAVE :: o_slab_tice = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
868          'slab_tice', 'Temperature banquise slab', 'K', (/ ('', i = 1, 10) /))
869  TYPE(ctrl_out), SAVE :: o_slab_sic = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
870          'seaice', 'Epaisseur banquise slab', 'kg/m2', (/ ('', i = 1, 10) /))
871  TYPE(ctrl_out), SAVE :: o_slab_hdiff = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
872          'slab_hdiff', 'Horizontal diffusion', 'W/m2', (/ ('', i = 1, 10) /))
873  TYPE(ctrl_out), SAVE :: o_slab_gm = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11 /), &
874          'slab_gm', 'GM eddy advection', 'W/m2', (/ ('', i = 1, 10) /))
875  TYPE(ctrl_out), SAVE :: o_slab_ekman = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
876          'slab_ekman', 'Ekman heat transport', 'W/m2', (/ ('', i = 1, 10) /))
877  TYPE(ctrl_out), SAVE :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
878          'ale_bl', 'ALE BL', 'm2/s2', (/ ('', i = 1, 10) /))
879  TYPE(ctrl_out), SAVE :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
880          'alp_bl', 'ALP BL', 'W/m2', (/ ('', i = 1, 10) /))
881  TYPE(ctrl_out), SAVE :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
882          'ale_wk', 'ALE WK', 'm2/s2', (/ ('', i = 1, 10) /))
883  TYPE(ctrl_out), SAVE :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
884          'alp_wk', 'ALP WK', 'W/m2', (/ ('', i = 1, 10) /))
885  !!!
886  !nrlmd+jyg<
887  type(ctrl_out), save :: o_dtvdf_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
888          'dtvdf_x', ' dtvdf off_wake', 'K/s', (/ ('', i = 1, 10) /))
889  type(ctrl_out), save :: o_dtvdf_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
890          'dtvdf_w', ' dtvdf within_wake', 'K/s', (/ ('', i = 1, 10) /))
891  type(ctrl_out), save :: o_dqvdf_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
892          'dqvdf_x', ' dqvdf off_wake', 'kg/kg/s', (/ ('', i = 1, 10) /))
893  type(ctrl_out), save :: o_dqvdf_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
894          'dqvdf_w', ' dqvdf within_wake', 'kg/kg/s', (/ ('', i = 1, 10) /))
895  !!
896  type(ctrl_out), save :: o_sens_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
897          'sens_x', 'sens off_wake', 'W/m2', (/ ('', i = 1, 10) /))
898  type(ctrl_out), save :: o_sens_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
899          'sens_w', 'sens within_wake', 'W/m2', (/ ('', i = 1, 10) /))
900  type(ctrl_out), save :: o_flat_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
901          'flat_x', 'flat off_wake', 'W/m2', (/ ('', i = 1, 10) /))
902  type(ctrl_out), save :: o_flat_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
903          'flat_w', 'flat within_wake', 'W/m2', (/ ('', i = 1, 10) /))
904  !!
905  type(ctrl_out), save :: o_cdragh_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
906          'cdragh_x', 'cdragh off-wake', '', (/ ('', i = 1, 10) /))
907  type(ctrl_out), save :: o_cdragh_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
908          'cdragh_w', 'cdragh within-wake', '', (/ ('', i = 1, 10) /))
909  type(ctrl_out), save :: o_cdragm_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
910          'cdragm_x', 'cdragm off-wake', '', (/ ('', i = 1, 10) /))
911  type(ctrl_out), save :: o_cdragm_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
912          'cdragm_w', 'cdrgam within-wake', '', (/ ('', i = 1, 10) /))
913  type(ctrl_out), save :: o_kh = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
914          'kh', 'Kh', 'kg/s/m2', (/ ('', i = 1, 10) /))
915  type(ctrl_out), save :: o_kh_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
916          'kh_x', 'Kh off-wake', 'kg/s/m2', (/ ('', i = 1, 10) /))
917  type(ctrl_out), save :: o_kh_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
918          'kh_w', 'Kh within-wake', 'kg/s/m2', (/ ('', i = 1, 10) /))
919  !>nrlmd+jyg
920  !!!
921  TYPE(ctrl_out), SAVE :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
922          'ale', 'ALE', 'm2/s2', (/ ('', i = 1, 10) /))
923  TYPE(ctrl_out), SAVE :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
924          'alp', 'ALP', 'W/m2', (/ ('', i = 1, 10) /))
925  TYPE(ctrl_out), SAVE :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
926          'cin', 'Convective INhibition', 'm2/s2', (/ ('', i = 1, 10) /))
927  TYPE(ctrl_out), SAVE :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
928          'wape', '', 'm2/s2', (/ ('', i = 1, 10) /))
929
930  !!! nrlmd le 10/04/2012
931
932  !-------Spectre de thermiques de type 2 au LCL
933  TYPE(ctrl_out), SAVE :: o_n2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
934          'n2', 'Nombre de panaches de type 2', ' ', (/ ('', i = 1, 10) /))
935  TYPE(ctrl_out), SAVE :: o_s2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
936          's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i = 1, 10) /))
937  TYPE(ctrl_out), SAVE :: o_strig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
938          'strig', 'Surface moyenne pour atteindre niveau de congelation', 'm2', (/ ('', i = 1, 10) /))
939  TYPE(ctrl_out), SAVE :: o_zcong = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
940          'zcong', 'niveau de congelation', 'm', (/ ('', i = 1, 10) /))
941  TYPE(ctrl_out), SAVE :: o_zlcl_th = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
942          'zlcl_th', 'niveau de condensation', 'm', (/ ('', i = 1, 10) /))
943  !-------Déclenchement stochastique
944  TYPE(ctrl_out), SAVE :: o_proba_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
945          'proba_notrig', 'Probabilite de non-declenchement', ' ', (/ ('', i = 1, 10) /))
946  TYPE(ctrl_out), SAVE :: o_random_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
947          'random_notrig', 'Tirage aleatoire de non-declenchement', ' ', (/ ('', i = 1, 10) /))
948  TYPE(ctrl_out), SAVE :: o_ale_bl_stat = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
949          'ale_bl_stat', 'ALE_BL_STAT', 'm2/s2', (/ ('', i = 1, 10) /))
950  TYPE(ctrl_out), SAVE :: o_ale_bl_trig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
951          'ale_bl_trig', 'ALE_BL_STAT + Condition S>Sthreshold', 'm2/s2', (/ ('', i = 1, 10) /))
952
953  !-------Fermeture statistique
954  TYPE(ctrl_out), SAVE :: o_alp_bl_det = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
955          'alp_bl_det', 'ALP_BL_DET', 'W/m2', (/ ('', i = 1, 10) /))
956  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
957          'alp_bl_fluct_m', 'ALP_BL_FLUCT_M', 'W/m2', (/ ('', i = 1, 10) /))
958  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_tke = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
959          'alp_bl_fluct_tke', 'ALP_BL_FLUCT_TKE', 'W/m2', (/ ('', i = 1, 10) /))
960  TYPE(ctrl_out), SAVE :: o_alp_bl_conv = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
961          'alp_bl_conv', 'ALP_BL_CONV', 'W/m2', (/ ('', i = 1, 10) /))
962  TYPE(ctrl_out), SAVE :: o_alp_bl_stat = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
963          'alp_bl_stat', 'ALP_BL_STAT', 'W/m2', (/ ('', i = 1, 10) /))
964
965  !!! fin nrlmd le 10/04/2012
966
967  ! Champs interpolles sur des niveaux de pression ??? a faire correctement
968
969  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_uSTDlevs = (/                    &
970          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u850', "Zonal wind 850hPa", "m/s", &
971                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
972                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u700', "Zonal wind 700hPa", "m/s", &
973                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
974                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u500', "Zonal wind 500hPa", "m/s", &
975                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
976                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u200', "Zonal wind 200hPa", "m/s", &
977                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
978                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u100', "Zonal wind 100hPa", "m/s", &
979                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
980                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u50', "Zonal wind 50hPa", "m/s", &
981                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
982                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u10', "Zonal wind 10hPa", "m/s", &
983                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
984
985  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_vSTDlevs = (/                     &
986          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v850', "Meridional wind 850hPa", "m/s", &
987                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
988                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v700', "Meridional wind 700hPa", "m/s", &
989                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
990                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v500', "Meridional wind 500hPa", "m/s", &
991                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
992                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v200', "Meridional wind 200hPa", "m/s", &
993                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
994                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v100', "Meridional wind 100hPa", "m/s", &
995                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
996                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v50', "Meridional wind 50hPa", "m/s", &
997                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
998                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v10', "Meridional wind 10hPa", "m/s", &
999                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
1000
1001  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_wSTDlevs = (/                    &
1002          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w850', "Vertical wind 850hPa", "Pa/s", &
1003                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1004                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w700', "Vertical wind 700hPa", "Pa/s", &
1005                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1006                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w500', "Vertical wind 500hPa", "Pa/s", &
1007                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1008                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w200', "Vertical wind 200hPa", "Pa/s", &
1009                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1010                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w100', "Vertical wind 100hPa", "Pa/s", &
1011                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1012                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w50', "Vertical wind 50hPa", "Pa/s", &
1013                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1014                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w10', "Vertical wind 10hPa", "Pa/s", &
1015                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
1016
1017  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_tSTDlevs = (/                    &
1018          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't850', "Temperature 850hPa", "K", &
1019                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1020                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't700', "Temperature 700hPa", "K", &
1021                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1022                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't500', "Temperature 500hPa", "K", &
1023                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1024                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't200', "Temperature 200hPa", "K", &
1025                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1026                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't100', "Temperature 100hPa", "K", &
1027                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1028                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't50', "Temperature 50hPa", "K", &
1029                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1030                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't10', "Temperature 10hPa", "K", &
1031                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
1032
1033  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_qSTDlevs = (/ &
1034          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q850', &
1035                  "Specific humidity 850hPa", "kg/kg", &
1036                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1037                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q700', &
1038                          "Specific humidity 700hPa", "kg/kg", &
1039                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1040                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q500', &
1041                          "Specific humidity 500hPa", "kg/kg", &
1042                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1043                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q200', &
1044                          "Specific humidity 200hPa", "kg/kg", &
1045                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1046                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q100', &
1047                          "Specific humidity 100hPa", "kg/kg", &
1048                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1049                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q50', &
1050                          "Specific humidity 50hPa", "kg/kg", &
1051                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1052                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q10', &
1053                          "Specific humidity 10hPa", "kg/kg", &
1054                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
1055
1056  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_zSTDlevs = (/                           &
1057          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z850', "Geopotential height 850hPa", &
1058                  "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1059                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z700', "Geopotential height 700hPa", &
1060                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1061                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z500', "Geopotential height 500hPa", &
1062                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1063                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z200', "Geopotential height 200hPa", &
1064                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1065                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z100', "Geopotential height 100hPa", &
1066                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1067                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z50', "Geopotential height 50hPa", &
1068                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
1069                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z10', "Geopotential height 10hPa", &
1070                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
1071
1072  TYPE(ctrl_out), SAVE :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1073          't_oce_sic', 'Temp mixte oce-sic', 'K', (/ ('', i = 1, 10) /))
1074  TYPE(ctrl_out), SAVE :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
1075          'weakinv', 'Weak inversion', '-', (/ ('', i = 1, 10) /))
1076  TYPE(ctrl_out), SAVE :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
1077          'dthmin', 'dTheta mini', 'K/m', (/ ('', i = 1, 10) /))
1078
1079  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10_srf = (/ &
1080          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10_ter', "", "", (/ ('', i = 1, 10) /)), &
1081                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10_lic', "", "", (/ ('', i = 1, 10) /)), &
1082                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10_oce', "", "", (/ ('', i = 1, 10) /)), &
1083                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10_sic', "", "", (/ ('', i = 1, 10) /)) /)
1084
1085  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10_srf = (/ &
1086          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10_ter', "", "", (/ ('', i = 1, 10) /)), &
1087                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10_lic', "", "", (/ ('', i = 1, 10) /)), &
1088                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10_oce', "", "", (/ ('', i = 1, 10) /)), &
1089                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10_sic', "", "", (/ ('', i = 1, 10) /)) /)
1090
1091  TYPE(ctrl_out), SAVE :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1092          'cldtau', 'Cloud optical thickness', '1', (/ ('', i = 1, 10) /))
1093  TYPE(ctrl_out), SAVE :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1094          'cldemi', 'Cloud optical emissivity', '1', (/ ('', i = 1, 10) /))
1095  TYPE(ctrl_out), SAVE :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1096          'rh2m', 'Relative humidity at 2m', '%', (/ ('', i = 1, 10) /))
1097  !  TYPE(ctrl_out), SAVE :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1098  !    'rh2m_min', 'Min Relative humidity at 2m', '%',                        &
1099  !      (/ 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', &
1100  !         't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)' /))
1101  !  TYPE(ctrl_out), SAVE :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1102  !    'rh2m_max', 'Max Relative humidity at 2m', '%',                         &
1103  !      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
1104  !         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
1105  TYPE(ctrl_out), SAVE :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1106          'qsat2m', 'Saturant humidity at 2m', '%', (/ ('', i = 1, 10) /))
1107  TYPE(ctrl_out), SAVE :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1108          'tpot', 'Surface air potential temperature', 'K', (/ ('', i = 1, 10) /))
1109  TYPE(ctrl_out), SAVE :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1110          'tpote', 'Surface air equivalent potential temperature', 'K', (/ ('', i = 1, 10) /))
1111  TYPE(ctrl_out), SAVE :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1112          'tke ', 'TKE', 'm2/s2', (/ ('', i = 1, 10) /))
1113  TYPE(ctrl_out), SAVE :: o_tke_shear = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1114          'tke_shear ', 'TKE shear term', 'm2/s3', (/ ('', i = 1, 10) /))
1115  TYPE(ctrl_out), SAVE :: o_tke_buoy = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1116          'tke_buoy ', 'TKE buoyancy term', 'm2/s3', (/ ('', i = 1, 10) /))
1117  TYPE(ctrl_out), SAVE :: o_tke_trans = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1118          'tke_trans ', 'TKE transport term', 'm2/s3', (/ ('', i = 1, 10) /))
1119  TYPE(ctrl_out), SAVE :: o_tke_dissip = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1120          'tke_dissip ', 'TKE dissipation term', 'm2/s3', (/ ('', i = 1, 10) /))
1121
1122  TYPE(ctrl_out), SAVE :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1123          'tke_max', 'TKE max', 'm2/s2', &
1124          (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
1125                  't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
1126  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_srf = (/             &
1127          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_ter', &
1128                  "Max Turb. Kinetic Energy " // clnsurf(1), "m2/s2", (/ ('', i = 1, 10) /)), &
1129                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_lic', &
1130                          "Max Turb. Kinetic Energy " // clnsurf(2), "m2/s2", (/ ('', i = 1, 10) /)), &
1131                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_oce', &
1132                          "Max Turb. Kinetic Energy " // clnsurf(3), "m2/s2", (/ ('', i = 1, 10) /)), &
1133                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_sic', &
1134                          "Max Turb. Kinetic Energy " // clnsurf(4), "m2/s2", (/ ('', i = 1, 10) /)) /)
1135  !FC
1136  !  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_treedrg_srf      = (/             &
1137  !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_ter',       &
1138  !      "Drag from trees "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
1139  !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_lic',       &
1140  !      "Drag from trees "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
1141  !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_oce',       &
1142  !      "Drag from trees "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
1143  !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_sic',       &
1144  !      "Drag from trees "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
1145  !FC
1146
1147  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mixmin = (/             &
1148          ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mixmin_ter', &
1149                  "PBL mixing length " // clnsurf(1), "m", (/ ('', i = 1, 10) /)), &
1150                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mixmin_lic', &
1151                          "PBL mixing length " // clnsurf(2), "m", (/ ('', i = 1, 10) /)), &
1152                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mixmin_oce', &
1153                          "PBL mixing length " // clnsurf(3), "m", (/ ('', i = 1, 10) /)), &
1154                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mixmin_sic', &
1155                          "PBL mixing length " // clnsurf(4), "m", (/ ('', i = 1, 10) /)) /)
1156
1157  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mix = (/             &
1158          ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mix_ter', &
1159                  "min PBL mixing length " // clnsurf(1), "m", (/ ('', i = 1, 10) /)), &
1160                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mix_lic', &
1161                          "min PBL mixing length " // clnsurf(2), "m", (/ ('', i = 1, 10) /)), &
1162                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mix_oce', &
1163                          "min PBL mixing length " // clnsurf(3), "m", (/ ('', i = 1, 10) /)), &
1164                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mix_sic', &
1165                          "min PBL mixing length " // clnsurf(4), "m", (/ ('', i = 1, 10) /)) /)
1166
1167  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_max_srf = (/                          &
1168          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_max_ter', &
1169                  "Max Turb. Kinetic Energy " // clnsurf(1), "-", &
1170                  (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
1171                          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
1172                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_max_lic', &
1173                          "Max Turb. Kinetic Energy " // clnsurf(2), "-", &
1174                          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
1175                                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
1176                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_max_oce', &
1177                          "Max Turb. Kinetic Energy " // clnsurf(3), "-", &
1178                          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
1179                                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
1180                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_max_sic', &
1181                          "Max Turb. Kinetic Energy " // clnsurf(4), "-", &
1182                          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
1183                                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)) /)
1184
1185  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_dltpbltke_srf = (/             &
1186          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'dltpbltke_ter', &
1187                  "TKE difference (w - x) " // clnsurf(1), "-", (/ ('', i = 1, 10) /)), &
1188                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'dltpbltke_lic', &
1189                          "TKE difference (w - x) " // clnsurf(2), "-", (/ ('', i = 1, 10) /)), &
1190                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'dltpbltke_oce', &
1191                          "TKE difference (w - x) " // clnsurf(3), "-", (/ ('', i = 1, 10) /)), &
1192                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'dltpbltke_sic', &
1193                          "TKE difference (w - x) " // clnsurf(4), "-", (/ ('', i = 1, 10) /)) /)
1194
1195  TYPE(ctrl_out), SAVE :: o_delta_tsurf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1196          'delta_tsurf ', 'T_surf difference (w - x)', 'K', (/ ('', i = 1, 10) /))
1197  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_delta_tsurf_srf = (/             &
1198          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'delta_tsurf_ter', &
1199                  "T_surf difference (w - x) " // clnsurf(1), "-", (/ ('', i = 1, 10) /)), &
1200                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'delta_tsurf_lic', &
1201                          "T_surf difference (w - x) " // clnsurf(2), "-", (/ ('', i = 1, 10) /)), &
1202                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'delta_tsurf_oce', &
1203                          "T_surf difference (w - x) " // clnsurf(3), "-", (/ ('', i = 1, 10) /)), &
1204                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'delta_tsurf_sic', &
1205                          "T_surf difference (w - x) " // clnsurf(4), "-", (/ ('', i = 1, 10) /)) /)
1206
1207  TYPE(ctrl_out), SAVE :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1208          'kz', 'Kz melange', 'm2/s', (/ ('', i = 1, 10) /))
1209  TYPE(ctrl_out), SAVE :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1210          'kz_max', 'Kz melange max', 'm2/s', &
1211          (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
1212                  't_max(X)', "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
1213  TYPE(ctrl_out), SAVE :: o_SWnetOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1214          'SWnetOR', 'Sfce net SW radiation OR', 'W/m2', (/ ('', i = 1, 10) /))
1215  TYPE(ctrl_out), SAVE :: o_LWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1216          'LWdownOR', 'Sfce incident LW radiation OR', 'W/m2', (/ ('', i = 1, 10) /))
1217  TYPE(ctrl_out), SAVE :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
1218          'snowl', 'Solid Large-scale Precip.', 'kg/(m2*s)', (/ ('', i = 1, 10) /))
1219  TYPE(ctrl_out), SAVE :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
1220          'cape_max', 'CAPE max.', 'J/kg', &
1221          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
1222                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
1223  TYPE(ctrl_out), SAVE :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
1224          'solldown', 'Down. IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
1225  TYPE(ctrl_out), SAVE :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1226          'dtsvdfo', 'Boundary-layer dTs(o)', 'K/s', (/ ('', i = 1, 10) /))
1227  TYPE(ctrl_out), SAVE :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1228          'dtsvdft', 'Boundary-layer dTs(t)', 'K/s', (/ ('', i = 1, 10) /))
1229  TYPE(ctrl_out), SAVE :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1230          'dtsvdfg', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i = 1, 10) /))
1231  TYPE(ctrl_out), SAVE :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1232          'dtsvdfi', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i = 1, 10) /))
1233  TYPE(ctrl_out), SAVE :: o_z0m = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1234          'z0m', 'roughness length, momentum', '-', (/ ('', i = 1, 10) /))
1235  TYPE(ctrl_out), SAVE :: o_z0h = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1236          'z0h', 'roughness length, enthalpy', '-', (/ ('', i = 1, 10) /))
1237  TYPE(ctrl_out), SAVE :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1238          'topswad', 'ADE at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1239  TYPE(ctrl_out), SAVE :: o_topswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1240          'topswad0', 'ADE clear-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1241  TYPE(ctrl_out), SAVE :: o_topswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1242          'topswai', 'AIE at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1243  TYPE(ctrl_out), SAVE :: o_solswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1244          'solswad', 'ADE at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1245  TYPE(ctrl_out), SAVE :: o_solswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1246          'solswad0', 'ADE clear-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1247  TYPE(ctrl_out), SAVE :: o_solswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1248          'solswai', 'AIE at SFR', 'W/m2', (/ ('', i = 1, 10) /))
1249  TYPE(ctrl_out), SAVE :: o_toplwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1250          'toplwad', 'LW-ADE at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1251  TYPE(ctrl_out), SAVE :: o_toplwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1252          'toplwad0', 'LW-ADE clear-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1253  TYPE(ctrl_out), SAVE :: o_toplwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1254          'toplwai', 'LW-AIE at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1255  TYPE(ctrl_out), SAVE :: o_sollwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1256          'sollwad', 'LW-ADE at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1257  TYPE(ctrl_out), SAVE :: o_sollwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1258          'sollwad0', 'LW-ADE clear-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1259  TYPE(ctrl_out), SAVE :: o_sollwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1260          'sollwai', 'LW-AIE at SFR', 'W/m2', (/ ('', i = 1, 10) /))
1261
1262  TYPE(ctrl_out), SAVE, DIMENSION(naero_tot) :: o_tausumaero = &
1263          (/ ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(1), &
1264                  "Aerosol Optical depth at 550 nm " // name_aero_tau(1), "1", (/ ('', i = 1, 10) /)), &
1265                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(2), &
1266                          "Aerosol Optical depth at 550 nm " // name_aero_tau(2), "2", (/ ('', i = 1, 10) /)), &
1267                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(3), &
1268                          "Aerosol Optical depth at 550 nm " // name_aero_tau(3), "3", (/ ('', i = 1, 10) /)), &
1269                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(4), &
1270                          "Aerosol Optical depth at 550 nm " // name_aero_tau(4), "4", (/ ('', i = 1, 10) /)), &
1271                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(5), &
1272                          "Aerosol Optical depth at 550 nm " // name_aero_tau(5), "5", (/ ('', i = 1, 10) /)), &
1273                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(6), &
1274                          "Aerosol Optical depth at 550 nm " // name_aero_tau(6), "6", (/ ('', i = 1, 10) /)), &
1275                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(7), &
1276                          "Aerosol Optical depth at 550 nm " // name_aero_tau(7), "7", (/ ('', i = 1, 10) /)), &
1277                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(8), &
1278                          "Aerosol Optical depth at 550 nm " // name_aero_tau(8), "8", (/ ('', i = 1, 10) /)), &
1279                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(9), &
1280                          "Aerosol Optical depth at 550 nm " // name_aero_tau(9), "9", (/ ('', i = 1, 10) /)), &
1281                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(10), &
1282                          "Aerosol Optical depth at 550 nm " // name_aero_tau(10), "10", (/ ('', i = 1, 10) /)), &
1283                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(11), &
1284                          "Aerosol Optical depth at 550 nm " // name_aero_tau(11), "11", (/ ('', i = 1, 10) /)), &
1285                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(12), &
1286                          "Aerosol Optical depth at 550 nm " // name_aero_tau(12), "12", (/ ('', i = 1, 10) /)), &
1287                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(13), &
1288                          "Aerosol Optical depth at 550 nm " // name_aero_tau(13), "13", (/ ('', i = 1, 10) /)), &
1289                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(14), &
1290                          "Aerosol Optical depth at 550 nm " // name_aero_tau(14), "14", (/ ('', i = 1, 10) /)) /)
1291
1292  TYPE(ctrl_out), SAVE, DIMENSION(naero_tot - 1) :: o_drytausumaero = &
1293          (/ ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(1), &
1294                  "Dry aerosol Optical depth at 550 nm " // name_aero_tau(1), "1", (/ ('', i = 1, 10) /)), &
1295                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(2), &
1296                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(2), "2", (/ ('', i = 1, 10) /)), &
1297                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(3), &
1298                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(3), "3", (/ ('', i = 1, 10) /)), &
1299                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(4), &
1300                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(4), "4", (/ ('', i = 1, 10) /)), &
1301                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(5), &
1302                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(5), "5", (/ ('', i = 1, 10) /)), &
1303                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(6), &
1304                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(6), "6", (/ ('', i = 1, 10) /)), &
1305                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(7), &
1306                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(7), "7", (/ ('', i = 1, 10) /)), &
1307                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(8), &
1308                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(8), "8", (/ ('', i = 1, 10) /)), &
1309                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(9), &
1310                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(9), "9", (/ ('', i = 1, 10) /)), &
1311                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(10), &
1312                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(10), "10", (/ ('', i = 1, 10) /)), &
1313                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(11), &
1314                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(11), "11", (/ ('', i = 1, 10) /)), &
1315                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(12), &
1316                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(12), "12", (/ ('', i = 1, 10) /)), &
1317                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(13), &
1318                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(13), "13", (/ ('', i = 1, 10) /)) /)
1319
1320  TYPE(ctrl_out), SAVE :: o_tausumaero_lw = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1321          'od_10um_STRAT', 'Stratospheric Aerosol Optical depth at 10 um ', '1', (/ ('', i = 1, 10) /))
1322
1323  TYPE(ctrl_out), SAVE :: o_od443aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1324          'od443aer', 'Total aerosol optical depth at 440nm', '-', (/ ('', i = 1, 10) /))
1325  TYPE(ctrl_out), SAVE :: o_od550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1326          'od550aer', 'Total aerosol optical depth at 550nm', '-', (/ ('', i = 1, 10) /))
1327  TYPE(ctrl_out), SAVE :: o_dryod550aer = ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1328          'dryod550aer', 'Total dry aerosol optical depth at 550nm', '-', (/ ('', i = 1, 10) /))
1329  TYPE(ctrl_out), SAVE :: o_od865aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1330          'od865aer', 'Total aerosol optical depth at 870nm', '-', (/ ('', i = 1, 10) /))
1331  TYPE(ctrl_out), SAVE :: o_abs550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1332          'abs550aer', 'Absorption aerosol optical depth at 550nm', '-', (/ ('', i = 1, 10) /))
1333  TYPE(ctrl_out), SAVE :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1334          'od550lt1aer', 'Fine mode optical depth', '-', (/ ('', i = 1, 10) /))
1335  TYPE(ctrl_out), SAVE :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1336          'sconcso4', 'Surface Concentration of Sulfate ', 'kg/m3', (/ ('', i = 1, 10) /))
1337  TYPE(ctrl_out), SAVE :: o_sconcno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1338          'sconcno3', 'Surface Concentration of Nitrate ', 'kg/m3', (/ ('', i = 1, 10) /))
1339  TYPE(ctrl_out), SAVE :: o_sconcoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1340          'sconcoa', 'Surface Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i = 1, 10) /))
1341  TYPE(ctrl_out), SAVE :: o_sconcbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1342          'sconcbc', 'Surface Concentration of Black Carbon ', 'kg/m3', (/ ('', i = 1, 10) /))
1343  TYPE(ctrl_out), SAVE :: o_sconcss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1344          'sconcss', 'Surface Concentration of Sea Salt ', 'kg/m3', (/ ('', i = 1, 10) /))
1345  TYPE(ctrl_out), SAVE :: o_sconcdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1346          'sconcdust', 'Surface Concentration of Dust ', 'kg/m3', (/ ('', i = 1, 10) /))
1347  TYPE(ctrl_out), SAVE :: o_concso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1348          'concso4', 'Concentration of Sulfate ', 'kg/m3', (/ ('', i = 1, 10) /))
1349  TYPE(ctrl_out), SAVE :: o_concno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1350          'concno3', 'Concentration of Nitrate ', 'kg/m3', (/ ('', i = 1, 10) /))
1351  TYPE(ctrl_out), SAVE :: o_concoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1352          'concoa', 'Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i = 1, 10) /))
1353  TYPE(ctrl_out), SAVE :: o_concbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1354          'concbc', 'Concentration of Black Carbon ', 'kg/m3', (/ ('', i = 1, 10) /))
1355  TYPE(ctrl_out), SAVE :: o_concss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1356          'concss', 'Concentration of Sea Salt ', 'kg/m3', (/ ('', i = 1, 10) /))
1357  TYPE(ctrl_out), SAVE :: o_concdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1358          'concdust', 'Concentration of Dust ', 'kg/m3', (/ ('', i = 1, 10) /))
1359  TYPE(ctrl_out), SAVE :: o_loadso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1360          'loadso4', 'Column Load of Sulfate ', 'kg/m2', (/ ('', i = 1, 10) /))
1361  TYPE(ctrl_out), SAVE :: o_loadoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1362          'loadoa', 'Column Load of Organic Aerosol ', 'kg/m2', (/ ('', i = 1, 10) /))
1363  TYPE(ctrl_out), SAVE :: o_loadbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1364          'loadbc', 'Column Load of Black Carbon ', 'kg/m2', (/ ('', i = 1, 10) /))
1365  TYPE(ctrl_out), SAVE :: o_loadss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1366          'loadss', 'Column Load of Sea Salt ', 'kg/m2', (/ ('', i = 1, 10) /))
1367  TYPE(ctrl_out), SAVE :: o_loaddust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1368          'loaddust', 'Column Load of Dust ', 'kg/m2', (/ ('', i = 1, 10) /))
1369  TYPE(ctrl_out), SAVE :: o_loadno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1370          'loadno3', 'Column Load of Nitrate ', 'kg/m2', (/ ('', i = 1, 10) /))
1371  TYPE(ctrl_out), SAVE :: o_swtoaas_nat = ctrl_out((/ 11, 11, 1, 11, 11, 11, 11, 11, 11, 11/), &
1372          'swtoaas_nat', 'Natural aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1373  TYPE(ctrl_out), SAVE :: o_swsrfas_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1374          'swsrfas_nat', 'Natural aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1375  TYPE(ctrl_out), SAVE :: o_swtoacs_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1376          'swtoacs_nat', 'Natural aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1377  TYPE(ctrl_out), SAVE :: o_swsrfcs_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1378          'swsrfcs_nat', 'Natural aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1379  TYPE(ctrl_out), SAVE :: o_swtoaas_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1380          'swtoaas_ant', 'Anthropogenic aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1381  TYPE(ctrl_out), SAVE :: o_swsrfas_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1382          'swsrfas_ant', 'Anthropogenic aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1383  TYPE(ctrl_out), SAVE :: o_swtoacs_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1384          'swtoacs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1385  TYPE(ctrl_out), SAVE :: o_swsrfcs_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1386          'swsrfcs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1387  TYPE(ctrl_out), SAVE :: o_swtoacf_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1388          'swtoacf_nat', 'Natural aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1389  TYPE(ctrl_out), SAVE :: o_swsrfcf_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1390          'swsrfcf_nat', 'Natural aerosol impact on cloud radiative forcing  at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1391  TYPE(ctrl_out), SAVE :: o_swtoacf_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1392          'swtoacf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1393  TYPE(ctrl_out), SAVE :: o_swsrfcf_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1394          'swsrfcf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1395  TYPE(ctrl_out), SAVE :: o_swtoacf_zero = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1396          'swtoacf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at TOA', 'W/m2', (/ ('', i = 1, 10) /))
1397  TYPE(ctrl_out), SAVE :: o_swsrfcf_zero = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1398          'swsrfcf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at SRF', 'W/m2', (/ ('', i = 1, 10) /))
1399  TYPE(ctrl_out), SAVE :: o_cldncl = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1400          'cldncl', 'CDNC at top of liquid water cloud', 'm-3', (/ ('', i = 1, 10) /))
1401  TYPE(ctrl_out), SAVE :: o_reffclwtop = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1402          'reffclwtop', 'Droplet effective radius at top of liquid water cloud', 'm', (/ ('', i = 1, 10) /))
1403  TYPE(ctrl_out), SAVE :: o_cldnvi = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1404          'cldnvi', 'Column Integrated Cloud Droplet Number', 'm-2', (/ ('', i = 1, 10) /))
1405  TYPE(ctrl_out), SAVE :: o_lcc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1406          'lcc', 'Cloud liquid fraction at top of cloud', '1', (/ ('', i = 1, 10) /))
1407
1408  !--tropopause pressure
1409  TYPE(ctrl_out), SAVE :: o_p_tropopause = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1410          'p_tropopause', 'Tropopause pressure', 'Pa', (/ ('', i = 1, 10) /))
1411  !--tropopause height
1412  TYPE(ctrl_out), SAVE :: o_z_tropopause = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1413          'z_tropopause', 'Tropopause height', 'm', (/ ('', i = 1, 10) /))
1414  !--tropopause temperature
1415  TYPE(ctrl_out), SAVE :: o_t_tropopause = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1416          't_tropopause', 'Tropopause temperature', 'K', (/ ('', i = 1, 10) /))
1417  !--Added ThL
1418  TYPE(ctrl_out), SAVE :: o_col_O3_strato = ctrl_out((/2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1419          'colO3_strat', 'Ozone stratospheric column', 'DU', (/('', i = 1, 10) /))
1420  TYPE(ctrl_out), SAVE :: o_col_O3_tropo = ctrl_out((/2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1421          'colO3_trop', 'Ozone tropospheric column', 'DU', (/('', i = 1, 10) /))
1422  !--end add ThL
1423
1424  !---CO2 fluxes for interactive CO2 configuration
1425  TYPE(ctrl_out), SAVE :: o_flx_co2_ff = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1426          'flx_co2_ff', 'CO2 flux from fossil fuel and cement', '1', (/ ('', i = 1, 10) /))
1427  TYPE(ctrl_out), SAVE :: o_flx_co2_bb = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1428          'flx_co2_bb', 'CO2 flux from biomass burning', '1', (/ ('', i = 1, 10) /))
1429  TYPE(ctrl_out), SAVE :: o_flx_co2_ocean = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1430          'flx_co2_ocean', 'CO2 flux from the ocean', '1', (/ ('', i = 1, 10) /))
1431  TYPE(ctrl_out), SAVE :: o_flx_co2_land = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1432          'flx_co2_land', 'CO2 flux from the land', '1', (/ ('', i = 1, 10) /))
1433  TYPE(ctrl_out), SAVE :: o_flx_co2_ocean_cor = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1434          'flx_co2_ocean_cor', 'correction of the CO2 flux from the ocean', 'kg CO2 m-2 s-1', (/ ('', i = 1, 10) /))
1435  TYPE(ctrl_out), SAVE :: o_flx_co2_land_cor = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1436          'flx_co2_land_cor', 'correction of the CO2 flux from the land', 'kg CO2 m-2 s-1', (/ ('', i = 1, 10) /))
1437
1438  !--extinction coefficient
1439  TYPE(ctrl_out), SAVE :: o_ext_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1440          'ext_strat_550', 'Strat. aerosol extinction coefficient at 550 nm', '1/m', (/ ('', i = 1, 10) /))
1441  TYPE(ctrl_out), SAVE :: o_ext_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1442          'ext_strat_1020', 'Strat. aerosol extinction coefficient at 1020 nm', '1/m', (/ ('', i = 1, 10) /))
1443  !--strat aerosol optical depth
1444  TYPE(ctrl_out), SAVE :: o_tau_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1445          'OD550_strat_only', 'Stratospheric Aerosol Optical depth at 550 nm ', '1', (/ ('', i = 1, 10) /))
1446  TYPE(ctrl_out), SAVE :: o_tau_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1447          'OD1020_strat_only', 'Stratospheric Aerosol Optical depth at 1020 nm ', '1', (/ ('', i = 1, 10) /))
1448  !--chemistry
1449  TYPE(ctrl_out), SAVE :: o_R2SO4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1450          'R2SO4', 'H2SO4 mass fraction in aerosol', '%', (/ ('', i = 1, 10) /))
1451  TYPE(ctrl_out), SAVE :: o_OCS_lifetime = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1452          'OCS_lifetime', 'OCS lifetime', 's', (/ ('', i = 1, 10) /))
1453  TYPE(ctrl_out), SAVE :: o_SO2_lifetime = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1454          'SO2_lifetime', 'SO2 lifetime', 's', (/ ('', i = 1, 10) /))
1455  TYPE(ctrl_out), SAVE :: o_f_r_wet = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1456          'f_r_wet', 'Conversion factor dry to wet aerosol radius', '-', (/ ('', i = 1, 10) /))
1457  !--budget  3D
1458  TYPE(ctrl_out), SAVE :: o_budg_3D_nucl = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1459          'budg_3D_nucl', 'H2SO4 nucleation mass flux', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
1460  TYPE(ctrl_out), SAVE :: o_budg_3D_cond_evap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1461          'budg_3D_cond_evap', 'H2SO4 condensation/evaporation mass flux', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
1462  TYPE(ctrl_out), SAVE :: o_budg_3D_ocs_to_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1463          'budg_3D_ocs_to_so2', 'OCS mass flux converted to SO2', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
1464  TYPE(ctrl_out), SAVE :: o_budg_3D_so2_to_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1465          'budg_3D_so2_to_h2so4', 'SO2 mass flux converted to H2SO4', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
1466  TYPE(ctrl_out), SAVE :: o_budg_3D_backgr_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1467          'budg_3D_backgr_ocs', 'OCS background tendency', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
1468  TYPE(ctrl_out), SAVE :: o_budg_3D_backgr_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1469          'budg_3D_backgr_so2', 'SO2 background tendency', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
1470  TYPE(ctrl_out), SAVE :: o_vsed_aer = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1471          'vsed_aer', 'Strat. aerosol sedimentation velocity (mass-weighted)', 'm/s', (/ ('', i = 1, 10) /))
1472  !--budget  2D
1473  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1474          'budg_dep_dry_ocs', 'OCS dry deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1475  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1476          'budg_dep_wet_ocs', 'OCS wet deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1477  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1478          'budg_dep_dry_so2', 'SO2 dry deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1479  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1480          'budg_dep_wet_so2', 'SO2 wet deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1481  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1482          'budg_dep_dry_h2so4', 'H2SO4 dry deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1483  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1484          'budg_dep_wet_h2so4', 'H2SO4 wet deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1485  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1486          'budg_dep_dry_part', 'particle dry deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1487  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1488          'budg_dep_wet_part', 'particle wet deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1489  TYPE(ctrl_out), SAVE :: o_budg_emi_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1490          'budg_emi_ocs', 'OCS emission flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1491  TYPE(ctrl_out), SAVE :: o_budg_emi_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1492          'budg_emi_so2', 'SO2 emission flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1493  TYPE(ctrl_out), SAVE :: o_budg_emi_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1494          'budg_emi_h2so4', 'H2SO4 emission flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1495  TYPE(ctrl_out), SAVE :: o_budg_emi_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1496          'budg_emi_part', 'Particle emission flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1497  TYPE(ctrl_out), SAVE :: o_budg_ocs_to_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1498          'budg_ocs_to_so2', 'OCS to SO2 flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1499  TYPE(ctrl_out), SAVE :: o_budg_so2_to_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1500          'budg_so2_to_h2so4', 'SO2 to H2SO4 flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1501  TYPE(ctrl_out), SAVE :: o_budg_h2so4_to_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1502          'budg_h2so4_to_part', 'H2SO4 to part flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1503  TYPE(ctrl_out), SAVE :: o_budg_sed_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1504          'budg_sed_part', 'Ground sedimentation flux of strat. particles', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
1505  !--surface PM25 due to strat aerosol
1506  TYPE(ctrl_out), SAVE :: o_surf_PM25_sulf = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
1507          'surf_PM25_sulf', 'Sulfate PM2.5 concentration at the surface', 'ug/m3', (/ ('', i = 1, 10) /))
1508
1509  !!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1510  TYPE(ctrl_out), SAVE :: o_ec550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1511          'ec550aer', 'Extinction at 550nm', 'm^-1', (/ ('', i = 1, 10) /))
1512  TYPE(ctrl_out), SAVE :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1513          'lwcon', 'Cloud liquid water content seen by radiation', 'kg/kg', (/ ('', i = 1, 10) /))
1514  TYPE(ctrl_out), SAVE :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1515          'iwcon', 'Cloud ice water content seen by radiation', 'kg/kg', (/ ('', i = 1, 10) /))
1516  TYPE(ctrl_out), SAVE :: o_temp = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
1517          'temp', 'Air temperature', 'K', (/ ('', i = 1, 10) /))
1518  TYPE(ctrl_out), SAVE :: o_heat_volc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1519          'heat_volc', 'SW heating rate due to volcano', 'K/s', (/ ('', i = 1, 10) /))
1520  TYPE(ctrl_out), SAVE :: o_cool_volc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1521          'cool_volc', 'LW cooling rate due to volcano', 'K/s', (/ ('', i = 1, 10) /))
1522  TYPE(ctrl_out), SAVE :: o_theta = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
1523          'theta', 'Potential air temperature', 'K', (/ ('', i = 1, 10) /))
1524  TYPE(ctrl_out), SAVE :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
1525          'ovap', 'Specific humidity', 'kg/kg', (/ ('', i = 1, 10) /))
1526  TYPE(ctrl_out), SAVE :: o_ovapinit = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1527          'ovapinit', 'Specific humidity (begin of timestep)', 'kg/kg', (/ ('', i = 1, 10) /))
1528  TYPE(ctrl_out), SAVE :: o_oliq = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
1529          'oliq', 'Liquid water', 'kg/kg', (/ ('', i = 1, 10) /))
1530  TYPE(ctrl_out), SAVE :: o_ocond = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
1531          'ocond', 'Condensed water', 'kg/kg', (/ ('', i = 1, 10) /))
1532  TYPE(ctrl_out), SAVE :: o_qbs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1533          'qbs', 'Specific content of blowing snow', 'kg/kg', (/ ('', i = 1, 10) /))
1534  TYPE(ctrl_out), SAVE :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1535          'wvapp', '', '', (/ ('', i = 1, 10) /))
1536  TYPE(ctrl_out), SAVE :: o_geop = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
1537          'geop', 'Geopotential height', 'm2/s2', (/ ('', i = 1, 10) /))
1538  TYPE(ctrl_out), SAVE :: o_vitu = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11, 11/), &
1539          'vitu', 'Zonal wind', 'm/s', (/ ('', i = 1, 10) /))
1540  TYPE(ctrl_out), SAVE :: o_vitv = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11, 11/), &
1541          'vitv', 'Meridional wind', 'm/s', (/ ('', i = 1, 10) /))
1542  TYPE(ctrl_out), SAVE :: o_vitw = ctrl_out((/ 2, 3, 10, 6, 10, 10, 11, 11, 11, 11/), &
1543          'vitw', 'Vertical wind', 'Pa/s', (/ ('', i = 1, 10) /))
1544  TYPE(ctrl_out), SAVE :: o_pres = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
1545          'pres', 'Air pressure', 'Pa', (/ ('', i = 1, 10) /))
1546  TYPE(ctrl_out), SAVE :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
1547          'paprs', 'Air pressure Inter-Couches', 'Pa', (/ ('', i = 1, 10) /))
1548  TYPE(ctrl_out), SAVE :: o_mass = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
1549          'mass', 'Masse Couches', 'kg/m2', (/ ('', i = 1, 10) /))
1550  TYPE(ctrl_out), SAVE :: o_zfull = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
1551          'zfull', 'Altitude of full pressure levels', 'm', (/ ('', i = 1, 10) /))
1552  TYPE(ctrl_out), SAVE :: o_zhalf = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
1553          'zhalf', 'Altitude of half pressure levels', 'm', (/ ('', i = 1, 10) /))
1554  TYPE(ctrl_out), SAVE :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1555          'rneb', 'Cloud fraction', '-', (/ ('', i = 1, 10) /))
1556  TYPE(ctrl_out), SAVE :: o_cldfraliq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1557          'cldfraliq', 'Liquid fraction of the cloud', '-', (/ ('', i = 1, 10) /))
1558  TYPE(ctrl_out), SAVE :: o_sigma2_icefracturb = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1559          'sigma2_icefracturb', 'Variance of the diagnostic supersaturation distribution (icefrac_turb) [-]', '-', (/ ('', i = 1, 10) /))
1560  TYPE(ctrl_out), SAVE :: o_mean_icefracturb = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1561          'mean_icefracturb', 'Mean of the diagnostic supersaturation distribution (icefrac_turb) [-]', '-', (/ ('', i = 1, 10) /))
1562
1563  TYPE(ctrl_out), SAVE :: o_rnebjn = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1564          'rnebjn', 'Cloud fraction in day', '-', (/ ('', i = 1, 10) /))
1565  TYPE(ctrl_out), SAVE :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1566          'rnebcon', 'Convective Cloud Fraction', '-', (/ ('', i = 1, 10) /))
1567  TYPE(ctrl_out), SAVE :: o_rnebls = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1568          'rnebls', 'LS Cloud fraction', '-', (/ ('', i = 1, 10) /))
1569  TYPE(ctrl_out), SAVE :: o_rneblsvol = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1570          'rneblsvol', 'LS Cloud fraction by volume', '-', (/ ('', i = 1, 10) /))
1571  TYPE(ctrl_out), SAVE :: o_pfraclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1572          'pfraclr', 'LS precipitation fraction clear-sky part', '-', (/ ('', i = 1, 10) /))
1573  TYPE(ctrl_out), SAVE :: o_pfracld = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1574          'pfracld', 'LS precipitation fraction cloudy part', '-', (/ ('', i = 1, 10) /))
1575  TYPE(ctrl_out), SAVE :: o_qrainlsc = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1576          'qrainlsc', 'LS specific rain content', 'kg/kg', (/ ('', i = 1, 10) /))
1577  TYPE(ctrl_out), SAVE :: o_qsnowlsc = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1578          'qsnowlsc', 'LS specific snow content', 'kg/kg', (/ ('', i = 1, 10) /))
1579  TYPE(ctrl_out), SAVE :: o_dqreva = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1580          'dqreva', 'LS rain tendency due to evaporation', 'kg/kg/s', (/ ('', i = 1, 10) /))
1581  TYPE(ctrl_out), SAVE :: o_dqrauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1582          'dqrauto', 'LS rain tendency due to autoconversion', 'kg/kg/s', (/ ('', i = 1, 10) /))
1583  TYPE(ctrl_out), SAVE :: o_dqrcol = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1584          'dqrcol', 'LS rain tendency due to collection', 'kg/kg/s', (/ ('', i = 1, 10) /))
1585  TYPE(ctrl_out), SAVE :: o_dqrmelt = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1586          'dqrmelt', 'LS rain tendency due to melting', 'kg/kg/s', (/ ('', i = 1, 10) /))
1587  TYPE(ctrl_out), SAVE :: o_dqrfreez = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1588          'dqrfreez', 'LS rain tendency due to freezing', 'kg/kg/s', (/ ('', i = 1, 10) /))
1589  TYPE(ctrl_out), SAVE :: o_dqssub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1590          'dqssub', 'LS snow tendency due to sublimation', 'kg/kg/s', (/ ('', i = 1, 10) /))
1591  TYPE(ctrl_out), SAVE :: o_dqsauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1592          'dqsauto', 'LS snow tendency due to autoconversion', 'kg/kg/s', (/ ('', i = 1, 10) /))
1593  TYPE(ctrl_out), SAVE :: o_dqsagg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1594          'dqsagg', 'LS snow tendency due to aggregation', 'kg/kg/s', (/ ('', i = 1, 10) /))
1595  TYPE(ctrl_out), SAVE :: o_dqsrim = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1596          'dqsrim', 'LS snow tendency due to riming', 'kg/kg/s', (/ ('', i = 1, 10) /))
1597  TYPE(ctrl_out), SAVE :: o_dqsmelt = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1598          'dqsmelt', 'LS snow tendency due to melting', 'kg/kg/s', (/ ('', i = 1, 10) /))
1599  TYPE(ctrl_out), SAVE :: o_dqsfreez = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
1600          'dqsfreez', 'LS snow tendency due to freezing', 'kg/kg/s', (/ ('', i = 1, 10) /))
1601  TYPE(ctrl_out), SAVE :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1602          'rhum', 'Relative humidity', '-', (/ ('', i = 1, 10) /))
1603  TYPE(ctrl_out), SAVE :: o_rhl = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1604          'rhl', 'Relative humidity wrt liquid', '%', (/ ('', i = 1, 10) /))
1605  TYPE(ctrl_out), SAVE :: o_rhi = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1606          'rhi', 'Relative humidity wrt ice', '%', (/ ('', i = 1, 10) /))
1607  TYPE(ctrl_out), SAVE :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1608          'ozone', 'Ozone mole fraction', '-', (/ ('', i = 1, 10) /))
1609  TYPE(ctrl_out), SAVE :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1610          'ozone_daylight', 'Daylight ozone mole fraction', '-', (/ ('', i = 1, 10) /))
1611  TYPE(ctrl_out), SAVE :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1612          'upwd', 'saturated updraft', 'kg/m2/s', (/ ('', i = 1, 10) /))
1613  TYPE(ctrl_out), SAVE :: o_epmax_diag = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1614          'epmax', 'epmax en fn cape', 'su', (/ ('', i = 1, 10) /))
1615  TYPE(ctrl_out), SAVE :: o_ep = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1616          'ep', 'ep', 'su', (/ ('', i = 1, 10) /))
1617  TYPE(ctrl_out), SAVE :: o_duphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1618          'duphy', 'Physics du', 'm/s2', (/ ('', i = 1, 10) /))
1619  TYPE(ctrl_out), SAVE :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1620          'dtphy', 'Physics dT', 'K/s', (/ ('', i = 1, 10) /))
1621  TYPE(ctrl_out), SAVE :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1622          'dqphy', 'Physics dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1623  TYPE(ctrl_out), SAVE :: o_dqphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1624          'dqphy2d', 'Physics dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1625  TYPE(ctrl_out), SAVE :: o_dqlphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1626          'dqlphy', 'Physics dQL', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1627  TYPE(ctrl_out), SAVE :: o_dqlphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1628          'dqlphy2d', 'Physics dQL', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1629  TYPE(ctrl_out), SAVE :: o_dqsphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1630          'dqsphy', 'Physics dQS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1631  TYPE(ctrl_out), SAVE :: o_dqsphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1632          'dqsphy2d', 'Physics dQS', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1633  TYPE(ctrl_out), SAVE :: o_dqbsphy = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1634          'dqbsphy', 'Physics dQBS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1635  TYPE(ctrl_out), SAVE :: o_dqbsphy2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1636          'dqbsphy2d', 'Physics dQBS', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1637  TYPE(ctrl_out), SAVE :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1638          'pr_con_l', 'Convective precipitation lic', ' ', (/ ('', i = 1, 10) /))
1639  TYPE(ctrl_out), SAVE :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1640          'pr_con_i', 'Convective precipitation ice', ' ', (/ ('', i = 1, 10) /))
1641  TYPE(ctrl_out), SAVE :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1642          'pr_lsc_l', 'Large scale precipitation lic', ' ', (/ ('', i = 1, 10) /))
1643  TYPE(ctrl_out), SAVE :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1644          'pr_lsc_i', 'Large scale precipitation ice', ' ', (/ ('', i = 1, 10) /))
1645  TYPE(ctrl_out), SAVE :: o_pr_bs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1646          'pr_bs', 'profile of blowing snow flux', ' ', (/ ('', i = 1, 10) /))
1647  TYPE(ctrl_out), SAVE :: o_re = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1648          're', 'Cloud droplet effective radius', 'um', (/ ('', i = 1, 10) /))
1649  TYPE(ctrl_out), SAVE :: o_fl = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1650          'fl', 'Denominator of Cloud droplet effective radius', ' ', (/ ('', i = 1, 10) /))
1651  TYPE(ctrl_out), SAVE :: o_scdnc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1652          'scdnc', 'Cloud droplet number concentration', 'm-3', (/ ('', i = 1, 10) /))
1653  TYPE(ctrl_out), SAVE :: o_reffclws = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1654          'reffclws', 'Stratiform Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i = 1, 10) /))
1655  TYPE(ctrl_out), SAVE :: o_reffclwc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1656          'reffclwc', 'Convective Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i = 1, 10) /))
1657  TYPE(ctrl_out), SAVE :: o_lcc3d = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1658          'lcc3d', 'Cloud liquid fraction', '1', (/ ('', i = 1, 10) /))
1659  TYPE(ctrl_out), SAVE :: o_lcc3dcon = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1660          'lcc3dcon', 'Convective cloud liquid fraction', '1', (/ ('', i = 1, 10) /))
1661  TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1662          'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i = 1, 10) /))
1663  TYPE(ctrl_out), SAVE :: o_icc3dcon = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1664          'icc3dcon', 'Convective cloud ice fraction', '1', (/ ('', i = 1, 10) /))
1665  TYPE(ctrl_out), SAVE :: o_icc3dstra = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1666          'icc3dstra', 'Stratiform cloud ice fraction', '1', (/ ('', i = 1, 10) /))
1667  TYPE(ctrl_out), SAVE :: o_cldicemxrat = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1668          'cldicemxrat', 'Cloud Ice Mixing Ratio', '1', (/ ('', i = 1, 10) /))
1669  TYPE(ctrl_out), SAVE :: o_cldwatmxrat = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1670          'cldwatmxrat', 'Cloud Water Mixing Ratio', '1', (/ ('', i = 1, 10) /))
1671  TYPE(ctrl_out), SAVE :: o_solbnd = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1672          'solbnd', 'Top-of-Atmosphere Solar Insolation for each band', 'W m-2', (/ ('', i = 1, 10) /))
1673  TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1674          'stratomask', 'Stratospheric fraction', '1', (/ ('', i = 1, 10) /))
1675  !FC
1676  TYPE(ctrl_out), SAVE :: o_zxfluxt = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1677          'fluxt', 'flux h ', 'W/m2', (/ ('', i = 1, 10) /))
1678  TYPE(ctrl_out), SAVE :: o_zxfluxq = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
1679          'fluxq', 'flux q ', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
1680  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1681
1682  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_albe_srf = (/ &
1683          ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/), 'albe_ter', "Albedo VIS surf. " // clnsurf(1), "-", (/ ('', i = 1, 10) /)), &
1684                  ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/), 'albe_lic', "Albedo VIS surf. " // clnsurf(2), "-", (/ ('', i = 1, 10) /)), &
1685                  ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/), 'albe_oce', "Albedo VIS surf. " // clnsurf(3), "-", (/ ('', i = 1, 10) /)), &
1686                  ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/), 'albe_sic', "Albedo VIS surf. " // clnsurf(4), "-", (/ ('', i = 1, 10) /)) /)
1687
1688  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ages_srf = (/ &
1689          ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ages_ter', "Snow age", "day", (/ ('', i = 1, 10) /)), &
1690                  ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ages_lic', "Snow age", "day", (/ ('', i = 1, 10) /)), &
1691                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ages_oce', "Snow age", "day", (/ ('', i = 1, 10) /)), &
1692                  ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ages_sic', "Snow age", "day", (/ ('', i = 1, 10) /)) /)
1693
1694  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_snow_srf = (/ &
1695          ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'snow_ter', "Snow", "kg/m2", (/ ('', i = 1, 10) /)), &
1696                  ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'snow_lic', "Snow", "kg/m2", (/ ('', i = 1, 10) /)), &
1697                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'snow_oce', "Snow", "kg/m2", (/ ('', i = 1, 10) /)), &
1698                  ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'snow_sic', "Snow", "kg/m2", (/ ('', i = 1, 10) /)) /)
1699
1700  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0m_srf = (/ &
1701          ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0m_ter', "Surface roughness " // clnsurf(1), "m", (/ ('', i = 1, 10) /)), &
1702                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0m_lic', "Surface roughness " // clnsurf(2), "m", (/ ('', i = 1, 10) /)), &
1703                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0m_oce', "Surface roughness " // clnsurf(3), "m", (/ ('', i = 1, 10) /)), &
1704                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0m_sic', "Surface roughness " // clnsurf(4), "m", (/ ('', i = 1, 10) /)) /)
1705
1706  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0h_srf = (/ &
1707          ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0h_ter', "Surface roughness " // clnsurf(1), "m", (/ ('', i = 1, 10) /)), &
1708                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0h_lic', "Surface roughness " // clnsurf(2), "m", (/ ('', i = 1, 10) /)), &
1709                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0h_oce', "Surface roughness " // clnsurf(3), "m", (/ ('', i = 1, 10) /)), &
1710                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0h_sic', "Surface roughness " // clnsurf(4), "m", (/ ('', i = 1, 10) /)) /)
1711
1712  TYPE(ctrl_out), SAVE :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1713          'alb1', 'Surface VIS albedo', '-', (/ ('', i = 1, 10) /))
1714  TYPE(ctrl_out), SAVE :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1715          'alb2', 'Surface Near IR albedo', '-', (/ ('', i = 1, 10) /))
1716  TYPE(ctrl_out), SAVE :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1717          'clwcon', 'Convective Cloud Liquid water content', 'kg/kg', (/ ('', i = 1, 10) /))
1718  TYPE(ctrl_out), SAVE :: o_Mipsh = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1719          'Mipsh', 'mass flux shed from adiab. ascents', 'kg/m2/s', (/ ('', i = 1, 10) /))
1720  TYPE(ctrl_out), SAVE :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1721          'Ma', 'undilute adiab updraft mass flux', 'kg/m2/s', (/ ('', i = 1, 10) /))
1722  TYPE(ctrl_out), SAVE :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1723          'dnwd', 'saturated downdraft', 'kg/m2/s', (/ ('', i = 1, 10) /))
1724  TYPE(ctrl_out), SAVE :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1725          'dnwd0', 'unsat. downdraft', 'kg/m2/s', (/ ('', i = 1, 10) /))
1726  TYPE(ctrl_out), SAVE :: o_mc = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1727          'mc', 'Convective mass flux', 'kg/m2/s', (/ ('', i = 1, 10) /))
1728  TYPE(ctrl_out), SAVE :: o_ftime_deepcv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1729          'ftime_deepcv', 'Fraction of time deep convection Occurs', ' ', (/ ('', i = 1, 10) /))
1730  TYPE(ctrl_out), SAVE :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1731          'ftime_con', 'Fraction of time convection Occurs', ' ', (/ ('', i = 1, 10) /))
1732  !!jyg    'ftime_con', 'Fraction of time convection Occurs', ' ',                 &
1733  !!jyg      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', &
1734  !!jyg         'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /))
1735  TYPE(ctrl_out), SAVE :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1736          'dtdyn', 'Dynamics dT', 'K/s', (/ ('', i = 1, 10) /))
1737  TYPE(ctrl_out), SAVE :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1738          'dqdyn', 'Dynamics dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1739  TYPE(ctrl_out), SAVE :: o_dqdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1740          'dqdyn2d', 'Dynamics dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1741  TYPE(ctrl_out), SAVE :: o_dqldyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1742          'dqldyn', 'Dynamics dQL', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1743  TYPE(ctrl_out), SAVE :: o_dqldyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1744          'dqldyn2d', 'Dynamics dQL', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1745  TYPE(ctrl_out), SAVE :: o_dqsdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1746          'dqsdyn', 'Dynamics dQS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1747  TYPE(ctrl_out), SAVE :: o_dqsdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1748          'dqsdyn2d', 'Dynamics dQS', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1749  TYPE(ctrl_out), SAVE :: o_dqbsdyn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1750          'dqbsdyn', 'Dynamics dQBS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1751  TYPE(ctrl_out), SAVE :: o_dqbsdyn2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1752          'dqbsdyn2d', 'Dynamics dQBS', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1753  TYPE(ctrl_out), SAVE :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1754          'dudyn', 'Dynamics dU', 'm/s2', (/ ('', i = 1, 10) /))
1755  TYPE(ctrl_out), SAVE :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1756          'dvdyn', 'Dynamics dV', 'm/s2', (/ ('', i = 1, 10) /))
1757  TYPE(ctrl_out), SAVE :: o_dtcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1758          'dtcon', 'Convection dT', 'K/s', (/ ('', i = 1, 10) /))
1759  TYPE(ctrl_out), SAVE :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1760          'ducon', 'Convection du', 'm/s2', (/ ('', i = 1, 10) /))
1761  TYPE(ctrl_out), SAVE :: o_dvcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1762          'dvcon', 'Convection dv', 'm/s2', (/ ('', i = 1, 10) /))
1763  TYPE(ctrl_out), SAVE :: o_dqcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1764          'dqcon', 'Convection dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1765  TYPE(ctrl_out), SAVE :: o_dqcon2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1766          'dqcon2d', 'Convection dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1767  TYPE(ctrl_out), SAVE :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1768          'dtwak', 'Wake dT', 'K/s', (/ ('', i = 1, 10) /))
1769  TYPE(ctrl_out), SAVE :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1770          'dqwak', 'Wake dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1771  TYPE(ctrl_out), SAVE :: o_dqwak2d = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1772          'dqwak2d', 'Wake dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1773  TYPE(ctrl_out), SAVE :: o_cv_gen = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1774          'cv_gen', 'Cumulonimbus genesis', '1/(m2 s)', (/ ('', i = 1, 10) /))
1775  TYPE(ctrl_out), SAVE :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1776          'wake_h', 'wake_h', '-', (/ ('', i = 1, 10) /))
1777  TYPE(ctrl_out), SAVE :: o_wake_dens = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1778          'wake_dens', 'number of wakes per m2', '1/m2', (/ ('', i = 1, 10) /))
1779  TYPE(ctrl_out), SAVE :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1780          'wake_s', 'wake_s', '-', (/ ('', i = 1, 10) /))
1781  TYPE(ctrl_out), SAVE :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1782          'wake_deltat', 'wake_deltat', ' ', (/ ('', i = 1, 10) /))
1783  TYPE(ctrl_out), SAVE :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1784          'wake_deltaq', 'wake_deltaq', ' ', (/ ('', i = 1, 10) /))
1785  TYPE(ctrl_out), SAVE :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1786          'wake_omg', 'wake_omg', 'Pa/s', (/ ('', i = 1, 10) /))
1787  TYPE(ctrl_out), SAVE :: o_wdtrainA = ctrl_out((/ 4, 5, 10, 4, 10, 10, 11, 11, 11, 11 /), &
1788          'wdtrainA', 'precipitation from AA', '-', (/ ('', i = 1, 10) /))
1789  TYPE(ctrl_out), SAVE :: o_wdtrainS = ctrl_out((/ 4, 5, 10, 4, 10, 10, 11, 11, 11, 11 /), &
1790          'wdtrainS', 'precipitation from shedding of AA', '-', (/ ('', i = 1, 10) /))
1791  TYPE(ctrl_out), SAVE :: o_wdtrainM = ctrl_out((/ 4, 5, 10, 4, 10, 10, 11, 11, 11, 11 /), &
1792          'wdtrainM', 'precipitation from mixture', '-', (/ ('', i = 1, 10) /))
1793  TYPE(ctrl_out), SAVE :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1794          'Vprecip', 'precipitation vertical profile', '-', (/ ('', i = 1, 10) /))
1795  TYPE(ctrl_out), SAVE :: o_qtaa = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1796          'qtaa', 'specific total water in adiabatic ascents', 'kg/kg', (/ ('', i = 1, 10) /))
1797  TYPE(ctrl_out), SAVE :: o_clwaa = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1798          'Clwaa', 'specific condensed water in adiabatic ascents', 'kg/kg', (/ ('', i = 1, 10) /))
1799  TYPE(ctrl_out), SAVE :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1800          'ftd', 'tend temp due aux descentes precip', '-', (/ ('', i = 1, 10) /))
1801  TYPE(ctrl_out), SAVE :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
1802          'fqd', 'tend vap eau due aux descentes precip', '-', (/ ('', i = 1, 10) /))
1803  TYPE(ctrl_out), SAVE :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1804          'dtlsc', 'Condensation dT', 'K/s', (/ ('', i = 1, 10) /))
1805  TYPE(ctrl_out), SAVE :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1806          'dtlschr', 'Large-scale condensational heating rate', 'K/s', (/ ('', i = 1, 10) /))
1807  TYPE(ctrl_out), SAVE :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1808          'dqlsc', 'Condensation dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1809  TYPE(ctrl_out), SAVE :: o_dqlsc2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1810          'dqlsc2d', 'Condensation dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1811  TYPE(ctrl_out), SAVE :: o_beta_prec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1812          'beta_prec', 'LS Conversion rate to prec', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1813  TYPE(ctrl_out), SAVE :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1814          'dtvdf', 'Boundary-layer dT', 'K/s', (/ ('', i = 1, 10) /))
1815  TYPE(ctrl_out), SAVE :: o_dtdis = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1816          'dtdis', 'TKE dissipation dT', 'K/s', (/ ('', i = 1, 10) /))
1817  TYPE(ctrl_out), SAVE :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1818          'dqvdf', 'Boundary-layer dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1819  TYPE(ctrl_out), SAVE :: o_dqvdf2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1820          'dqvdf2d', 'Boundary-layer dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1821  TYPE(ctrl_out), SAVE :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1822          'dteva', 'Reevaporation dT', 'K/s', (/ ('', i = 1, 10) /))
1823  TYPE(ctrl_out), SAVE :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1824          'dqeva', 'Reevaporation dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1825  TYPE(ctrl_out), SAVE :: o_dqeva2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1826          'dqeva2d', 'Reevaporation dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1827  TYPE(ctrl_out), SAVE :: o_dqbsvdf = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1828          'dqbsvdf', 'Boundary-layer dQBS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1829  TYPE(ctrl_out), SAVE :: o_dqbsbs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1830          'dqbsbs', 'Blowing snow dQBS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1831  TYPE(ctrl_out), SAVE :: o_dtbs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1832          'dtbs', 'Blowing snow dT', '(K)/s', (/ ('', i = 1, 10) /))
1833  TYPE(ctrl_out), SAVE :: o_dqbs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1834          'dqbs', 'Blowing snow dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1835
1836  !!!!!!!!!!!!!!!! Specifique thermiques
1837  TYPE(ctrl_out), SAVE :: o_dqlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1838          'dqlscth', 'dQ therm.', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1839  TYPE(ctrl_out), SAVE :: o_dqlscth2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1840          'dqlscth2d', 'dQ therm.', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1841  TYPE(ctrl_out), SAVE :: o_dqlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1842          'dqlscst', 'dQ strat.', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1843  TYPE(ctrl_out), SAVE :: o_dqlscst2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1844          'dqlscst2d', 'dQ strat.', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1845  TYPE(ctrl_out), SAVE :: o_dtlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1846          'dtlscth', 'dQ therm.', 'K/s', (/ ('', i = 1, 10) /))
1847  TYPE(ctrl_out), SAVE :: o_dtlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1848          'dtlscst', 'dQ strat.', 'K/s', (/ ('', i = 1, 10) /))
1849  TYPE(ctrl_out), SAVE :: o_plulth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1850          'plulth', 'Rainfall therm.', 'K/s', (/ ('', i = 1, 10) /))
1851  TYPE(ctrl_out), SAVE :: o_plulst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1852          'plulst', 'Rainfall strat.', 'K/s', (/ ('', i = 1, 10) /))
1853  TYPE(ctrl_out), SAVE :: o_lmaxth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1854          'lmaxth', "Upper level thermals", "", (/ ('', i = 1, 10) /))
1855  TYPE(ctrl_out), SAVE :: o_ptconvth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1856          'ptconvth', 'POINTS CONVECTIFS therm.', ' ', (/ ('', i = 1, 10) /))
1857  !!!!!!!!!!!!!!!!!!!!!!!!
1858  TYPE(ctrl_out), SAVE :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1859          'ptconv', 'POINTS CONVECTIFS', ' ', (/ ('', i = 1, 10) /))
1860  TYPE(ctrl_out), SAVE :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1861          'ratqs', 'RATQS', ' ', (/ ('', i = 1, 10) /))
1862  TYPE(ctrl_out), SAVE :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1863          'dtthe', 'Thermal dT', 'K/s', (/ ('', i = 1, 10) /))
1864  TYPE(ctrl_out), SAVE :: o_duthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1865          'duthe', 'Thermal du', 'm/s2', (/ ('', i = 1, 10) /))
1866  TYPE(ctrl_out), SAVE :: o_dvthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1867          'dvthe', 'Thermal dv', 'm/s2', (/ ('', i = 1, 10) /))
1868  TYPE(ctrl_out), SAVE :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1869          'f_th', 'Thermal plume mass flux', 'kg/(m2*s)', (/ ('', i = 1, 10) /))
1870  TYPE(ctrl_out), SAVE :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1871          'e_th', 'Thermal plume entrainment', 'K/s', (/ ('', i = 1, 10) /))
1872  TYPE(ctrl_out), SAVE :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1873          'w_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i = 1, 10) /))
1874  TYPE(ctrl_out), SAVE :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1875          'lambda_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i = 1, 10) /))
1876  TYPE(ctrl_out), SAVE :: o_ftime_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1877          'ftime_th', 'Fraction of time Shallow convection occurs', ' ', (/ ('', i = 1, 10) /))
1878  TYPE(ctrl_out), SAVE :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1879          'q_th', 'Thermal plume total humidity', 'kg/kg', (/ ('', i = 1, 10) /))
1880  TYPE(ctrl_out), SAVE :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1881          'a_th', "Thermal plume fraction", "", (/ ('', i = 1, 10) /))
1882
1883  TYPE(ctrl_out), SAVE :: o_cloudth_sth = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1884          's_th', "Thermal plume saturation deficit", "kg/kg", (/ ('', i = 1, 10) /))
1885  TYPE(ctrl_out), SAVE :: o_cloudth_senv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1886          's_env', "Environment saturation deficit", "kg/kg", (/ ('', i = 1, 10) /))
1887  TYPE(ctrl_out), SAVE :: o_cloudth_sigmath = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1888          'sigma_th', "Thermal plume gauss variance", "kg/kg", (/ ('', i = 1, 10) /))
1889  TYPE(ctrl_out), SAVE :: o_cloudth_sigmaenv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1890          'sigma_env', "Environment gauss variance", "kg/kg", (/ ('', i = 1, 10) /))
1891
1892  TYPE(ctrl_out), SAVE :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1893          'd_th', 'Thermal plume detrainment', 'K/s', (/ ('', i = 1, 10) /))
1894  TYPE(ctrl_out), SAVE :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1895          'f0_th', 'Thermal closure mass flux', 'K/s', (/ ('', i = 1, 10) /))
1896  TYPE(ctrl_out), SAVE :: o_zmax_th = ctrl_out((/ 4, 4, 4, 5, 10, 10, 11, 11, 11, 11/), &
1897          'zmax_th', 'Thermal plume height', 'K/s', (/ ('', i = 1, 10) /))
1898  TYPE(ctrl_out), SAVE :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1899          'dqthe', 'Thermal dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1900  TYPE(ctrl_out), SAVE :: o_dqthe2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1901          'dqthe2d', 'Thermal dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1902  TYPE(ctrl_out), SAVE :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1903          'dtajs', 'Dry adjust. dT', 'K/s', (/ ('', i = 1, 10) /))
1904  TYPE(ctrl_out), SAVE :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1905          'dqajs', 'Dry adjust. dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1906  TYPE(ctrl_out), SAVE :: o_dqajs2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1907          'dqajs2d', 'Dry adjust. dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
1908  TYPE(ctrl_out), SAVE :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1909          'dtswr', 'SW radiation dT', 'K/s', (/ ('', i = 1, 10) /))
1910  TYPE(ctrl_out), SAVE :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1911          'dtsw0', 'CS SW radiation dT', 'K/s', (/ ('', i = 1, 10) /))
1912  TYPE(ctrl_out), SAVE :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1913          'dtlwr', 'LW radiation dT', 'K/s', (/ ('', i = 1, 10) /))
1914  TYPE(ctrl_out), SAVE :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1915          'dtlw0', 'CS LW radiation dT', 'K/s', (/ ('', i = 1, 10) /))
1916  TYPE(ctrl_out), SAVE :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1917          'dtec', 'Cinetic dissip dT', 'K/s', (/ ('', i = 1, 10) /))
1918  TYPE(ctrl_out), SAVE :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1919          'duvdf', 'Boundary-layer dU', 'm/s2', (/ ('', i = 1, 10) /))
1920  TYPE(ctrl_out), SAVE :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1921          'dvvdf', 'Boundary-layer dV', 'm/s2', (/ ('', i = 1, 10) /))
1922  TYPE(ctrl_out), SAVE :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1923          'duoro', 'Orography dU', 'm/s2', (/ ('', i = 1, 10) /))
1924  TYPE(ctrl_out), SAVE :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1925          'dvoro', 'Orography dV', 'm/s2', (/ ('', i = 1, 10) /))
1926  TYPE(ctrl_out), SAVE :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1927          'dulif', 'Orography dU', 'm/s2', (/ ('', i = 1, 10) /))
1928  TYPE(ctrl_out), SAVE :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1929          'dvlif', 'Orography dV', 'm/s2', (/ ('', i = 1, 10) /))
1930  TYPE(ctrl_out), SAVE :: o_du_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1931          'du_gwd_hines', 'Hines GWD dU', 'm/s2', (/ ('', i = 1, 10) /))
1932  TYPE(ctrl_out), SAVE :: o_dv_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1933          'dv_gwd_hines', 'Hines GWD dV', 'm/s2', (/ ('', i = 1, 10) /))
1934  TYPE(ctrl_out), SAVE :: o_du_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1935          'du_gwd_front', 'Fronts GWD dU', 'm/s2', (/ ('', i = 1, 10) /))
1936  TYPE(ctrl_out), SAVE :: o_dv_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1937          'dv_gwd_front', 'Fronts GWD dV', 'm/s2', (/ ('', i = 1, 10) /))
1938  TYPE(ctrl_out), SAVE :: o_east_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1939          'east_gwstress', 'Eastward GW Stress', 'Pa', (/ ('', i = 1, 10) /))
1940  TYPE(ctrl_out), SAVE :: o_west_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1941          'west_gwstress', 'Westward GW Stress', 'Pa', (/ ('', i = 1, 10) /))
1942  TYPE(ctrl_out), SAVE :: o_dtoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1943          'dtoro', 'Orography dT', 'K/s', (/ ('', i = 1, 10) /))
1944  TYPE(ctrl_out), SAVE :: o_dtlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1945          'dtlif', 'Orography dT', 'K/s', (/ ('', i = 1, 10) /))
1946  TYPE(ctrl_out), SAVE :: o_dthin = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1947          'dthin', 'Hines GWD dT', 'K/s', (/ ('', i = 1, 10) /))
1948  TYPE(ctrl_out), SAVE :: o_dqch4 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
1949          'dqch4', 'H2O due to CH4 oxidation & photolysis', '(kg/kg)/s', (/ ('', i = 1, 10) /))
1950
1951  type(ctrl_out), save :: o_du_gwd_rando &
1952          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'du_gwd_rando', &
1953                  "Random gravity waves dU/dt", "m/s2", (/ ('', i = 1, 10) /))
1954  type(ctrl_out), save :: o_dv_gwd_rando &
1955          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dv_gwd_rando', &
1956                  "Random gravity waves dV/dt", "m/s2", (/ ('', i = 1, 10) /))
1957  type(ctrl_out), save :: o_ustr_gwd_hines &
1958          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_hines', &
1959                  "zonal wind stress Hines gravity waves", "Pa", (/ ('', i = 1, 10) /))
1960  type(ctrl_out), save :: o_vstr_gwd_hines &
1961          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_hines', &
1962                  "meridional wind stress Hines gravity waves", "Pa", (/ ('', i = 1, 10) /))
1963  type(ctrl_out), save :: o_ustr_gwd_front &
1964          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_front', &
1965                  "zonal wind stress fronts gravity waves", "Pa", (/ ('', i = 1, 10) /))
1966  type(ctrl_out), save :: o_vstr_gwd_front &
1967          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_front', &
1968                  "meridional wind stress fronts gravity waves", "Pa", (/ ('', i = 1, 10) /))
1969  type(ctrl_out), save :: o_ustr_gwd_rando &
1970          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_rando', &
1971                  "zonal wind stress random gravity waves", "Pa", (/ ('', i = 1, 10) /))
1972  type(ctrl_out), save :: o_vstr_gwd_rando &
1973          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_rando', &
1974                  "meridional wind stress random gravity waves", "Pa", (/ ('', i = 1, 10) /))
1975
1976  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_trac(:)
1977  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_trac_cum(:)
1978  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_vdf(:)
1979  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_the(:)
1980  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_con(:)
1981  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_lessi_impa(:)
1982  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_lessi_nucl(:)
1983  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_insc(:)
1984  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_bcscav(:)
1985  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_evapls(:)
1986  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_ls(:)
1987  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_trsp(:)
1988  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_sscav(:)
1989  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_sat(:)
1990  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_uscav(:)
1991  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_dry(:)
1992
1993
1994#ifdef ISO
1995  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtprecip(:)
1996  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtevap(:)
1997  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtevap_srf(:,:) ! ajout Camille 8 mai 2023
1998  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtplul(:)
1999  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtpluc(:)
2000  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtovap(:)
2001  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtoliq(:)
2002  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtcond(:)
2003  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_xtrunoff_diag(:)
2004  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtdyn(:)
2005  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtldyn(:)
2006  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtvdf(:)
2007  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtcon(:)
2008  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtlsc(:)
2009  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxteva(:)
2010  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtajs(:)
2011  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtthe(:)
2012  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtch4(:)
2013  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtprod_nucl(:)
2014  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtcosmo(:)
2015  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dxtdecroiss(:)
2016#endif
2017
2018  TYPE(ctrl_out), SAVE :: o_rsu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2019          'rsu', 'SW upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2020  TYPE(ctrl_out), SAVE :: o_rsd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2021          'rsd', 'SW downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2022  TYPE(ctrl_out), SAVE :: o_rlu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2023          'rlu', 'LW upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2024  TYPE(ctrl_out), SAVE :: o_rld = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2025          'rld', 'LW downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2026  TYPE(ctrl_out), SAVE :: o_rsucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2027          'rsucs', 'SW CS upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2028  TYPE(ctrl_out), SAVE :: o_rsucsaf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2029          'rsucsaf', 'SW CS clean (no aerosol) upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2030  TYPE(ctrl_out), SAVE :: o_rsdcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2031          'rsdcs', 'SW CS downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2032  TYPE(ctrl_out), SAVE :: o_rsdcsaf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2033          'rsdcsaf', 'SW CS clean (no aerosol) downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2034  TYPE(ctrl_out), SAVE :: o_rlucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2035          'rlucs', 'LW CS upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2036  TYPE(ctrl_out), SAVE :: o_rldcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2037          'rldcs', 'LW CS downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
2038  TYPE(ctrl_out), SAVE :: o_tnt = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2039          'tnt', 'Tendency of air temperature', 'K s-1', (/ ('', i = 1, 10) /))
2040  TYPE(ctrl_out), SAVE :: o_tntc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2041          'tntc', 'Tendency of air temperature due to Moist Convection', 'K s-1', (/ ('', i = 1, 10) /))
2042  TYPE(ctrl_out), SAVE :: o_tntr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2043          'tntr', 'Air temperature tendency due to Radiative heating', 'K s-1', (/ ('', i = 1, 10) /))
2044  TYPE(ctrl_out), SAVE :: o_tntscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2045          'tntscpbl', 'Air temperature tendency due to St cloud and precipitation and BL mixing', &
2046          'K s-1', (/ ('', i = 1, 10) /))
2047  TYPE(ctrl_out), SAVE :: o_tnhus = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2048          'tnhus', 'Tendency of specific humidity', 's-1', (/ ('', i = 1, 10) /))
2049  TYPE(ctrl_out), SAVE :: o_tnhusc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2050          'tnhusc', 'Tendency of specific humidity due to convection', 's-1', (/ ('', i = 1, 10) /))
2051  TYPE(ctrl_out), SAVE :: o_tnhusscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2052          'tnhusscpbl', 'Tendency of Specific humidity due to ST cl, precip and BL mixing', 's-1', (/ ('', i = 1, 10) /))
2053  TYPE(ctrl_out), SAVE :: o_evu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2054          'evu', 'Eddy viscosity coefficient for Momentum Variables', 'm2 s-1', (/ ('', i = 1, 10) /))
2055  TYPE(ctrl_out), SAVE :: o_h2o = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2056          'h2o', 'Mass Fraction of Water', '1', (/ ('', i = 1, 10) /))
2057  TYPE(ctrl_out), SAVE :: o_mcd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2058          'mcd', 'Downdraft COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i = 1, 10) /))
2059  TYPE(ctrl_out), SAVE :: o_dmc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2060          'dmc', 'Deep COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i = 1, 10) /))
2061  TYPE(ctrl_out), SAVE :: o_ref_liq = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2062          'ref_liq', 'Effective radius of convective cloud liquid water particle', 'm', (/ ('', i = 1, 10) /))
2063  TYPE(ctrl_out), SAVE :: o_ref_ice = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2064          'ref_ice', 'Effective radius of startiform cloud ice particle', 'm', (/ ('', i = 1, 10) /))
2065  TYPE(ctrl_out), SAVE :: o_rsut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2066          'rsut4co2', 'TOA Out SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2067  TYPE(ctrl_out), SAVE :: o_rlut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2068          'rlut4co2', 'TOA Out LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2069  TYPE(ctrl_out), SAVE :: o_rsutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2070          'rsutcs4co2', 'TOA Out CS SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2071  TYPE(ctrl_out), SAVE :: o_rlutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2072          'rlutcs4co2', 'TOA Out CS LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2073  TYPE(ctrl_out), SAVE :: o_rsu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2074          'rsu4co2', 'Upwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2075  TYPE(ctrl_out), SAVE :: o_rlu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2076          'rlu4co2', 'Upwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2077  TYPE(ctrl_out), SAVE :: o_rsucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2078          'rsucs4co2', 'Upwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2079  TYPE(ctrl_out), SAVE :: o_rlucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2080          'rlucs4co2', 'Upwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2081  TYPE(ctrl_out), SAVE :: o_rsd4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2082          'rsd4co2', 'Downwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2083  TYPE(ctrl_out), SAVE :: o_rld4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2084          'rld4co2', 'Downwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2085  TYPE(ctrl_out), SAVE :: o_rsdcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2086          'rsdcs4co2', 'Downwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2087  TYPE(ctrl_out), SAVE :: o_rldcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
2088          'rldcs4co2', 'Downwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
2089  TYPE(ctrl_out), SAVE :: o_snowsrf = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
2090          'snowsrf', 'Snow mass at surface', 'kg/m2', (/ ('', i = 1, 10) /))
2091  TYPE(ctrl_out), SAVE :: o_qsnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
2092          'qsnow', 'Water contained in snow', 'kg/m2', (/ ('', i = 1, 10) /))
2093  TYPE(ctrl_out), SAVE :: o_snowhgt = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
2094          'snowhgt', 'Snow height at surface', 'm', (/ ('', i = 1, 10) /))
2095  TYPE(ctrl_out), SAVE :: o_toice = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
2096          'to_ice', 'Snow passed to ice model', 'kg/m2', (/ ('', i = 1, 10) /))
2097  TYPE(ctrl_out), SAVE :: o_sissnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
2098          'sissnow', 'Snow in snow model', 'kg/m2', (/ ('', i = 1, 10) /))
2099  TYPE(ctrl_out), SAVE :: o_runoff = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
2100          'runoff', 'Run-off rate land ice', 'kg/m2/s', (/ ('', i = 1, 10) /))
2101#ifdef ISO
2102  TYPE(ctrl_out), SAVE :: o_runoff_diag = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
2103    'runoffland', 'Run-off rate land for bucket', 'kg/m2/s', (/ ('', i=1, 10) /))
2104#endif
2105  TYPE(ctrl_out), SAVE :: o_albslw3 = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2106          'albslw3', 'Surface albedo LW3', '-', (/ ('', i = 1, 10) /))
2107
2108  !--aviation & supersaturation
2109  TYPE(ctrl_out), SAVE :: o_oclr = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2110          'oclr', 'Clear sky total water', 'kg/kg', (/ ('', i = 1, 10) /))
2111  TYPE(ctrl_out), SAVE :: o_ocld = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2112          'ocld', 'Cloudy sky total water', 'kg/kg', (/ ('', i = 1, 10) /))
2113  TYPE(ctrl_out), SAVE :: o_oss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2114          'oss', 'ISSR total water', 'kg/kg', (/ ('', i = 1, 10) /))
2115  TYPE(ctrl_out), SAVE :: o_ovc = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2116          'ovc', 'In-cloup vapor', 'kg/kg', (/ ('', i = 1, 10) /))
2117  TYPE(ctrl_out), SAVE :: o_rnebclr = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2118          'rnebclr', 'Clear sky fraction', '-', (/ ('', i = 1, 10) /))
2119  TYPE(ctrl_out), SAVE :: o_rnebss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2120          'rnebss', 'ISSR fraction', '-', (/ ('', i = 1, 10) /))
2121  TYPE(ctrl_out), SAVE :: o_rnebseri = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2122          'rnebseri', 'Cloud fraction', '-', (/ ('', i = 1, 10) /))
2123  TYPE(ctrl_out), SAVE :: o_gammass = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2124          'gammass', 'Gamma supersaturation', '', (/ ('', i = 1, 10) /))
2125  TYPE(ctrl_out), SAVE :: o_N1_ss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2126          'N1ss', 'N1', '', (/ ('', i = 1, 10) /))
2127  TYPE(ctrl_out), SAVE :: o_N2_ss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2128          'N2ss', 'N2', '', (/ ('', i = 1, 10) /))
2129  TYPE(ctrl_out), SAVE :: o_drnebsub = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2130          'drnebsub', 'Cloud fraction change because of sublimation', 's-1', (/ ('', i = 1, 10) /))
2131  TYPE(ctrl_out), SAVE :: o_drnebcon = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2132          'drnebcon', 'Cloud fraction change because of condensation', 's-1', (/ ('', i = 1, 10) /))
2133  TYPE(ctrl_out), SAVE :: o_drnebtur = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2134          'drnebtur', 'Cloud fraction change because of turbulence', 's-1', (/ ('', i = 1, 10) /))
2135  TYPE(ctrl_out), SAVE :: o_drnebavi = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2136          'drnebavi', 'Cloud fraction change because of aviation', 's-1', (/ ('', i = 1, 10) /))
2137  TYPE(ctrl_out), SAVE :: o_qsatl = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2138          'qsatl', 'Saturation with respect to liquid water', '', (/ ('', i = 1, 10) /))
2139  TYPE(ctrl_out), SAVE :: o_qsats = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2140          'qsats', 'Saturation with respect to solid water', '', (/ ('', i = 1, 10) /))
2141  TYPE(ctrl_out), SAVE :: o_flight_m = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2142          'flightm', 'Flown meters', 'm/s/mesh', (/ ('', i = 1, 10) /))
2143  TYPE(ctrl_out), SAVE :: o_flight_h2o = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
2144          'flighth2o', 'H2O flight emission', 'kg H2O/s/mesh', (/ ('', i = 1, 10) /))
2145  TYPE(ctrl_out), SAVE :: o_Tcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/), &
2146          'Tcontr', 'Temperature threshold for contrail formation', 'K', (/ ('', i = 1, 10) /))
2147  TYPE(ctrl_out), SAVE :: o_qcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/), &
2148          'qcontr', 'Specific humidity threshold for contrail formation', 'Pa', (/ ('', i = 1, 10) /))
2149  TYPE(ctrl_out), SAVE :: o_qcontr2 = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/), &
2150          'qcontr2', 'Specific humidity threshold for contrail formation', 'kg/kg', (/ ('', i = 1, 10) /))
2151  TYPE(ctrl_out), SAVE :: o_fcontrN = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/), &
2152          'fcontrN', 'Fraction with non-persistent contrail in clear-sky', '-', (/ ('', i = 1, 10)/))
2153  TYPE(ctrl_out), SAVE :: o_fcontrP = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/), &
2154          'fcontrP', 'Fraction with persistent contrail in ISSR', '-', (/ ('', i = 1, 10)/))
2155
2156  !!!!!!!!!!!!! Sorties niveaux standards de pression NMC
2157  TYPE(ctrl_out), SAVE :: o_tnondef = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2158          'tnondef', 'Undefined value of T', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
2159                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2160  TYPE(ctrl_out), SAVE :: o_ta = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2161          'ta', 'Air temperature', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
2162                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2163  TYPE(ctrl_out), SAVE :: o_zg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2164          'zg', 'Geopotential height', 'm', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
2165                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2166  TYPE(ctrl_out), SAVE :: o_hus = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2167          'hus', 'Specific humidity', '1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
2168                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2169  TYPE(ctrl_out), SAVE :: o_hur = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2170          'hur', 'Relative humidity', '%', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
2171                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2172  TYPE(ctrl_out), SAVE :: o_ua = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2173          'ua', 'Eastward wind', 'm s-1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
2174                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2175  TYPE(ctrl_out), SAVE :: o_va = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2176          'va', 'Northward wind', 'm s-1', (/ ('', i = 1, 10)/))
2177  TYPE(ctrl_out), SAVE :: o_wap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2178          'wap', 'Lagrangian tendency of air pressure', 'Pa s-1', (/ "inst(X)", "inst(X)", "inst(X)", &
2179                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2180  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2181          'psbg', 'Pressure sfce below ground', '%', (/ "inst(X)", "inst(X)", "inst(X)", &
2182                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2183  TYPE(ctrl_out), SAVE :: o_tro3 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2184          'tro3', 'Ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
2185                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2186  TYPE(ctrl_out), SAVE :: o_tro3_daylight = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
2187          'tro3_daylight', 'Daylight ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
2188                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2189  TYPE(ctrl_out), SAVE :: o_uxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2190          'uv', 'uv', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
2191                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2192  TYPE(ctrl_out), SAVE :: o_vxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2193          'vxq', 'vxq', 'm/s * (kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
2194                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2195  TYPE(ctrl_out), SAVE :: o_vxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2196          'vT', 'vT', 'mK/s', (/ "inst(X)", "inst(X)", "inst(X)", &
2197                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2198  TYPE(ctrl_out), SAVE :: o_wxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2199          'wq', 'wq', '(Pa/s)*(kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
2200                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2201  TYPE(ctrl_out), SAVE :: o_vxphi = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2202          'vphi', 'vphi', 'm2/s', (/ "inst(X)", "inst(X)", "inst(X)", &
2203                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2204  TYPE(ctrl_out), SAVE :: o_wxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2205          'wT', 'wT', '"K*Pa/s', (/ "inst(X)", "inst(X)", "inst(X)", &
2206                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2207  TYPE(ctrl_out), SAVE :: o_uxu = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2208          'u2', 'u2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
2209                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2210  TYPE(ctrl_out), SAVE :: o_vxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2211          'v2', 'v2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
2212                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2213  TYPE(ctrl_out), SAVE :: o_TxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
2214          'T2', 'T2', 'K2', (/ "inst(X)", "inst(X)", "inst(X)", &
2215                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
2216
2217  INCLUDE 'spla_output_dat.h'
2218
2219  type(ctrl_out), save :: o_delta_sst &
2220          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'delta_SST', &
2221                  "ocean-air interface temperature minus bulk SST", "K", '')
2222
2223  type(ctrl_out), save :: o_delta_sal &
2224          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'delta_sal', &
2225                  "ocean-air interface salinity minus bulk salinity", "ppt", '')
2226
2227  type(ctrl_out), save :: o_ds_ns &
2228          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dS_ns', &
2229                  "subskin salinity minus foundation salinity", "ppt", '')
2230
2231  type(ctrl_out), save :: o_dt_ns &
2232          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dT_ns', &
2233                  "subskin temperature minus foundation temperature", "K", '')
2234
2235  type(ctrl_out), save :: o_dter &
2236          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dTer', &
2237                  "ocean-air interface temperature minus sub-skin temperature", "K", '')
2238
2239  type(ctrl_out), save :: o_dser &
2240          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dSer', &
2241                  "ocean-air interface salinity minus sub-skin salinity", "ppt", '')
2242
2243  type(ctrl_out), save :: o_tkt &
2244          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'tkt', &
2245                  "thickness of thermal microlayer", "m", '')
2246
2247  type(ctrl_out), save :: o_tks &
2248          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'tks', &
2249                  "thickness of salinity microlayer", "m", '')
2250
2251  type(ctrl_out), save :: o_taur &
2252          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'taur', &
2253                  "momentum flux due to rain", "Pa", '')
2254
2255  type(ctrl_out), save :: o_sss &
2256          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'SSS', &
2257                  "bulk sea-surface salinity", "ppt", '')
2258
2259END MODULE phys_output_ctrlout_mod
Note: See TracBrowser for help on using the repository browser.