Index: /LMDZ5/trunk/libf/phylmd/Dust/spla_output_dat.h
===================================================================
--- /LMDZ5/trunk/libf/phylmd/Dust/spla_output_dat.h	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/Dust/spla_output_dat.h	(revision 2752)
@@ -3,630 +3,603 @@
 
 !Dust emission module
-  type(ctrl_out),save :: o_m1dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'm1dflux','m1dflux','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_m2dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'm2dflux','m2dflux','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_m3dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'm3dflux','m3dflux','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_m1dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'm1dflux','m1dflux','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_m2dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'm2dflux','m2dflux','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_m3dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'm3dflux','m3dflux','', (/ ('', i=1, 10) /))
 
 ! traceur_spl
-  type(ctrl_out),save :: o_taue550    = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue550','Tau ext 550','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue670     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue670','Tau ext 670','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue865     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue865','Tau ext 865','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue550_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue550_tr2','Tau ext 550tr2','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue670_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue670_tr2','Tau ext 670tr2','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue865_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue865_tr2','Tau ext 865tr2','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue550_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue550_ss','Tau ext 550ss','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue670_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue670_ss','Tau ext 670ss','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue865_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue865_ss','Tau ext 865ss','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue550_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue550_dust','Tau ext 550dust','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue670_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue670_dust','Tau ext 670dust','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue865_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue865_dust','Tau ext 865dust','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue550_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue550_dustsco','Tau ext 550dustsco','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue670_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue670_dustsco','Tau ext 670dustsco','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_taue865_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue865_dustsco','Tau ext 865dustsco','', (/ ('', i=1, 9) /))
-
-
-  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  type(ctrl_out),save :: o_taue550    = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue550','Tau ext 550','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue670     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue670','Tau ext 670','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue865     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue865','Tau ext 865','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue550_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_tr2','Tau ext 550tr2','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue670_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_tr2','Tau ext 670tr2','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue865_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_tr2','Tau ext 865tr2','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue550_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_ss','Tau ext 550ss','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue670_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_ss','Tau ext 670ss','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue865_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_ss','Tau ext 865ss','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue550_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_dust','Tau ext 550dust','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue670_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_dust','Tau ext 670dust','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue865_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_dust','Tau ext 865dust','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue550_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_dustsco','Tau ext 550dustsco','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue670_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_dustsco','Tau ext 670dustsco','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_taue865_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_dustsco','Tau ext 865dustsco','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_terra','Tau ext 550 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_fine_terra','Tau ext fine 550 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_coss_terra','Tau ext coss 550 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_codu_terra','Tau ext codu 550 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_scdu_terra','Tau ext scdu 550 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
-  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_terra','Tau ext 670 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue670_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_fine_terra','Tau ext fine 670 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue670_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_coss_terra','Tau ext coss 670 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue670_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_codu_terra','Tau ext codu 670 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue670_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_scdu_terra','Tau ext scdu 670 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
-  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_terra','Tau ext 865 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue865_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_fine_terra','Tau ext fine 865 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue865_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_coss_terra','Tau ext coss 865 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue865_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_codu_terra','Tau ext codu 865 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue865_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_scdu_terra','Tau ext scdu 865 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
-  type(ctrl_out),save :: o_taue550_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+  type(ctrl_out),save :: o_taue550_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_aqua','Tau ext 550 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_fine_aqua','Tau ext fine 550 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_coss_aqua','Tau ext coss 550 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_codu_aqua','Tau ext codu 550 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue550_scdu_aqua','Tau ext scdu 550 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
-  type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+  type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_aqua','Tau ext 670 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue670_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_fine_aqua','Tau ext fine 670 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue670_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_coss_aqua','Tau ext coss 670 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue670_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_codu_aqua','Tau ext codu 670 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue670_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue670_scdu_aqua','Tau ext scdu 670 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
-  type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+  type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_aqua','Tau ext 865 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue865_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_fine_aqua','Tau ext fine 865 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue865_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_coss_aqua','Tau ext coss 865 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue865_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_codu_aqua','Tau ext codu 865 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue865_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
   'taue865_scdu_aqua','Tau ext scdu 865 aqua','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
-
-
-!  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+!  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
 !  'taue550_terra','Tau ext 550 terra','', &
-!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
 !         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
 !
-!  type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
 !  'taue670_aqua','Tau ext 670 aqua','', &
-!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
 !         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
 !
-!  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
 !  'taue670_terra','Tau ext 670 terra','', &
-!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
 !         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
 !
-!  type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
 !  'taue865_aqua','Tau ext 865 aqua','', &
-!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
 !         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
 !
-!  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
 !  'taue865_terra','Tau ext 865 terra','', &
-!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
 !         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
 	
-  type(ctrl_out),save :: o_trm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'trm01','Burden PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_trm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'trm02','Burden FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_trm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'trm03','Burden COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_trm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'trm04','Burden CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_trm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'trm05','Burden SCDU','', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_sconc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sconc01','Surf. Conc. PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sconc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sconc02','Surf. Conc. FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sconc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sconc03','Surf. Conc. COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sconc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sconc04','Surf. Conc. CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sconc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sconc05','Surf. Conc. SCDU','', (/ ('', i=1, 9) /))
-
-
-
+  type(ctrl_out),save :: o_trm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'trm01','Burden PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_trm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'trm02','Burden FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_trm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'trm03','Burden COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_trm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'trm04','Burden CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_trm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'trm05','Burden SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_sconc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sconc01','Surf. Conc. PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sconc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sconc02','Surf. Conc. FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sconc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sconc03','Surf. Conc. COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sconc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sconc04','Surf. Conc. CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sconc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sconc05','Surf. Conc. SCDU','', (/ ('', i=1, 10) /))
 
 !lessivage
 
-  type(ctrl_out),save :: o_flux01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux01','emission PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_flux02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux02','emission FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_flux03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux03','emission COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_flux04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux04','emission CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_flux05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux05','emission SCDU','', (/ ('', i=1, 9) /))
-
-
-  type(ctrl_out),save :: o_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'ds01','Depot sec PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'ds02','Depot sec FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'ds03','Depot sec COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'ds04','Depot sec CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'ds05','Depot sec SCDU','', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_dh01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dh01','Depot hum PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dh02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dh02','Depot hum FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dh03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dh03','Depot hum COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dh04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dh04','Depot hum CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dh05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dh05','Depot hum SCDU','', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_dtrconv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtrconv01','Tiedke convective PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtrconv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtrconv02','Tiedke convective FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtrconv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtrconv03','Tiedke convective COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtrconv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtrconv04','Tiedke convective CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtrconv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtrconv05','Tiedke convective SCDU','', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_dtherm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtherm01','Thermals dtracer PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtherm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtherm02','Thermals dtracer FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtherm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtherm03','Thermals dtracer COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtherm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtherm04','Thermals dtracer CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtherm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dtherm05','Thermals dtracer SCDU','', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_dhkecv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkecv01','KE dep hum convective PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dhkecv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkecv02','KE dep hum convective FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dhkecv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkecv03','KE dep hum convective COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dhkecv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkecv04','KE dep hum convective CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dhkecv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkecv05','KE dep hum convective SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_flux01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux01','emission PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_flux02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux02','emission FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_flux03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux03','emission COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_flux04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux04','emission CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_flux05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux05','emission SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'ds01','Depot sec PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'ds02','Depot sec FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'ds03','Depot sec COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'ds04','Depot sec CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'ds05','Depot sec SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_dh01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dh01','Depot hum PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dh02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dh02','Depot hum FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dh03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dh03','Depot hum COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dh04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dh04','Depot hum CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dh05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dh05','Depot hum SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_dtrconv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv01','Tiedke convective PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtrconv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv02','Tiedke convective FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtrconv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv03','Tiedke convective COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtrconv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv04','Tiedke convective CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtrconv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv05','Tiedke convective SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_dtherm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm01','Thermals dtracer PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtherm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm02','Thermals dtracer FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtherm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm03','Thermals dtracer COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtherm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm04','Thermals dtracer CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtherm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm05','Thermals dtracer SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_dhkecv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv01','KE dep hum convective PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dhkecv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv02','KE dep hum convective FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dhkecv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv03','KE dep hum convective COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dhkecv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv04','KE dep hum convective CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dhkecv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv05','KE dep hum convective SCDU','', (/ ('', i=1, 10) /))
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_d_tr_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ds01','Tendance dep sec  PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ds02','Tendance dep sec FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ds03','Tendance dep sec COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ds04','Tendance depot sec CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ds05','Tendance dep sec SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ds01','Tendance dep sec  PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ds02','Tendance dep sec FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ds03','Tendance dep sec COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ds04','Tendance depot sec CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ds05','Tendance dep sec SCDU','', (/ ('', i=1, 10) /))
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-  type(ctrl_out),save :: o_dhkelsc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkelsc01','KE dep hum large scale PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dhkelsc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkelsc02','KE dep hum large scale FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dhkelsc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkelsc03','KE dep hum large scale COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dhkelsc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkelsc04','KE dep hum large scale CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dhkelsc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'dhkelsc05','KE dep hum large scale SCDU','', (/ ('', i=1, 9) /))
-
-
-  type(ctrl_out),save :: o_d_tr_cv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cv01','cvltr d_tr_cv PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_cv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cv02','cvltr d_tr_cv FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_cv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cv03','cvltr d_tr_cv COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_cv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cv04','cvltr d_tr_cv CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_cv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cv05','cvltr d_tr_cv SCDU','', (/ ('', i=1, 9) /))
-
-
-  type(ctrl_out),save :: o_d_tr_trsp01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_trsp01','cvltr d_tr_trsp PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_trsp02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_trsp02','cvltr d_tr_trsp FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_trsp03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_trsp03','cvltr d_tr_trsp COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_trsp04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_trsp04','cvltr d_tr_trsp CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_trsp05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_trsp05','cvltr d_tr_trsp SCDU','', (/ ('', i=1, 9) /))
-
-
-  type(ctrl_out),save :: o_d_tr_sscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sscav01','cvltr d_tr_sscav PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_sscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sscav02','cvltr d_tr_sscav FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_sscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sscav03','cvltr d_tr_sscav COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_sscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sscav04','cvltr d_tr_sscav CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_sscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sscav05','cvltr d_tr_sscav SCDU','', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_d_tr_sat01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sat01','cvltr d_tr_sat PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_sat02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sat02','cvltr d_tr_sat FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_sat03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sat03','cvltr d_tr_sat COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_sat04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sat04','cvltr d_tr_sat CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_sat05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_sat05','cvltr d_tr_sat SCDU','', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_d_tr_uscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_uscav01','cvltr d_tr_uscav PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_uscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_uscav02','cvltr d_tr_uscav FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_uscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_uscav03','cvltr d_tr_uscav COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_uscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_uscav04','cvltr d_tr_uscav CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_uscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_uscav05','cvltr d_tr_uscav SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkelsc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc01','KE dep hum large scale PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dhkelsc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc02','KE dep hum large scale FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dhkelsc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc03','KE dep hum large scale COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dhkelsc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc04','KE dep hum large scale CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dhkelsc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc05','KE dep hum large scale SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_d_tr_cv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv01','cvltr d_tr_cv PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_cv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv02','cvltr d_tr_cv FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_cv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv03','cvltr d_tr_cv COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_cv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv04','cvltr d_tr_cv CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_cv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv05','cvltr d_tr_cv SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_d_tr_trsp01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp01','cvltr d_tr_trsp PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_trsp02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp02','cvltr d_tr_trsp FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_trsp03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp03','cvltr d_tr_trsp COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_trsp04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp04','cvltr d_tr_trsp CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_trsp05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp05','cvltr d_tr_trsp SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_d_tr_sscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav01','cvltr d_tr_sscav PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_sscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav02','cvltr d_tr_sscav FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_sscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav03','cvltr d_tr_sscav COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_sscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav04','cvltr d_tr_sscav CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_sscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav05','cvltr d_tr_sscav SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_d_tr_sat01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat01','cvltr d_tr_sat PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_sat02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat02','cvltr d_tr_sat FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_sat03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat03','cvltr d_tr_sat COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_sat04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat04','cvltr d_tr_sat CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_sat05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat05','cvltr d_tr_sat SCDU','', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_d_tr_uscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav01','cvltr d_tr_uscav PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_uscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav02','cvltr d_tr_uscav FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_uscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav03','cvltr d_tr_uscav COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_uscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav04','cvltr d_tr_uscav CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_uscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav05','cvltr d_tr_uscav SCDU','', (/ ('', i=1, 10) /))
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+  type(ctrl_out),save :: o_d_tr_insc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_insc01','large-scale d_tr_insc PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_insc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_insc02','large-scale d_tr_insc FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_insc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_insc03','large-scale d_tr_insc COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_insc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_insc04','large-scale d_tr_insc CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_insc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_insc05','large-scale d_tr_insc SCDU','', (/ ('', i=1, 10) /))
                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_d_tr_insc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_insc01','large-scale d_tr_insc PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_insc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_insc02','large-scale d_tr_insc FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_insc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_insc03','large-scale d_tr_insc COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_insc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_insc04','large-scale d_tr_insc CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_insc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_insc05','large-scale d_tr_insc SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_bcscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_bcscav01','large-scale d_tr_bcscav PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_bcscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_bcscav02','large-scale d_tr_bcscav FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_bcscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_bcscav03','large-scale d_tr_bcscav COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_bcscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_bcscav04','large-scale d_tr_bcscav CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_bcscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_bcscav05','large-scale d_tr_bcscav SCDU','', (/ ('', i=1, 10) /))
                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_d_tr_bcscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_bcscav01','large-scale d_tr_bcscav PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_bcscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_bcscav02','large-scale d_tr_bcscav FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_bcscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_bcscav03','large-scale d_tr_bcscav COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_bcscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_bcscav04','large-scale d_tr_bcscav CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_bcscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_bcscav05','large-scale d_tr_bcscav SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_evapls01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_evapls01','large-scale d_tr_evapls PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_evapls02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_evapls02','large-scale d_tr_evapls FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_evapls03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_evapls03','large-scale d_tr_evapls COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_evapls04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_evapls04','large-scale d_tr_evapls CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_evapls05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_evapls05','large-scale d_tr_evapls SCDU','', (/ ('', i=1, 10) /))
                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_d_tr_evapls01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_evapls01','large-scale d_tr_evapls PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_evapls02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_evapls02','large-scale d_tr_evapls FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_evapls03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_evapls03','large-scale d_tr_evapls COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_evapls04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_evapls04','large-scale d_tr_evapls CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_evapls05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_evapls05','large-scale d_tr_evapls SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_ls01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ls01','large-scale d_tr_ls PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_ls02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ls02','large-scale d_tr_ls FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_ls03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ls03','large-scale d_tr_ls COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_ls04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ls04','large-scale d_tr_ls CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_ls05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_ls05','large-scale d_tr_ls SCDU','', (/ ('', i=1, 10) /))
                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_d_tr_ls01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ls01','large-scale d_tr_ls PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_ls02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ls02','large-scale d_tr_ls FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_ls03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ls03','large-scale d_tr_ls COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_ls04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ls04','large-scale d_tr_ls CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_ls05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_ls05','large-scale d_tr_ls SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_dyn01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_dyn01','cvltr d_tr_dyn PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_dyn02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_dyn02','cvltr d_tr_dyn FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_dyn03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_dyn03','cvltr d_tr_dyn COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_dyn04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_dyn04','cvltr d_tr_dyn CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_dyn05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_dyn05','cvltr d_tr_dyn SCDU','', (/ ('', i=1, 10) /))
                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-
+  type(ctrl_out),save :: o_d_tr_cl01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cl01','cvltr d_tr_cl PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_cl02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cl02','cvltr d_tr_cl FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_cl03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cl03','cvltr d_tr_cl COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_cl04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cl04','cvltr d_tr_cl CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_cl05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cl05','cvltr d_tr_cl SCDU','', (/ ('', i=1, 10) /))
                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_d_tr_dyn01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_dyn01','cvltr d_tr_dyn PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_dyn02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_dyn02','cvltr d_tr_dyn FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_dyn03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_dyn03','cvltr d_tr_dyn COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_dyn04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_dyn04','cvltr d_tr_dyn CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_dyn05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_dyn05','cvltr d_tr_dyn SCDU','', (/ ('', i=1, 9) /))
-                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_d_tr_cl01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cl01','cvltr d_tr_cl PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_cl02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cl02','cvltr d_tr_cl FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_cl03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cl03','cvltr d_tr_cl COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_cl04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cl04','cvltr d_tr_cl CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_cl05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_cl05','cvltr d_tr_cl SCDU','', (/ ('', i=1, 9) /))
-                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_d_tr_th01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_th01','cvltr d_tr_th PREC','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_th02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_th02','cvltr d_tr_th FINE','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_th03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_th03','cvltr d_tr_th COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_th04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_th04','cvltr d_tr_th CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_d_tr_th05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'd_tr_th05','cvltr d_tr_th SCDU','', (/ ('', i=1, 9) /))
-                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+  type(ctrl_out),save :: o_d_tr_th01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_th01','cvltr d_tr_th PREC','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_th02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_th02','cvltr d_tr_th FINE','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_th03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_th03','cvltr d_tr_th COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_th04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_th04','cvltr d_tr_th CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_d_tr_th05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_th05','cvltr d_tr_th SCDU','', (/ ('', i=1, 10) /))
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  type(ctrl_out),save :: o_sed_ss3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sed_ss3D','Tendance Sedmet. COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sed_dust3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sed_dust3D','Tendance Sedmet. CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sed_dustsco3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sed_dustsco3D','Tendance Sedmet. SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_sed_ss3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sed_ss3D','Tendance Sedmet. COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sed_dust3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sed_dust3D','Tendance Sedmet. CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sed_dustsco3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sed_dustsco3D','Tendance Sedmet. SCDU','', (/ ('', i=1, 10) /))
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-  type(ctrl_out),save :: o_sed_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sed_ss','Sedmet. COSS','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sed_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sed_dust','Sedmet. CODU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sed_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'sed_dustsco','Sedmet. SCDU','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_g2p_gas     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'g2p_gas','Gas2particle gas sink','', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_g2p_aer     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'g2p_aer','Gas2particle tr2 src','', (/ ('', i=1, 9) /))
-
+  type(ctrl_out),save :: o_sed_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sed_ss','Sedmet. COSS','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sed_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sed_dust','Sedmet. CODU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sed_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'sed_dustsco','Sedmet. SCDU','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_g2p_gas     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'g2p_gas','Gas2particle gas sink','', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_g2p_aer     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'g2p_aer','Gas2particle tr2 src','', (/ ('', i=1, 10) /))
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 ! histrac
 
-  type(ctrl_out),save :: o_fluxbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxbb','Flux BB','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxff','Flux FF','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxbcbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxbcbb','Flux BC-BB','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxbcff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxbcff','Flux BC-FF','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxbcnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxbcnff','Flux BC-NFF','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxbcba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxbcba','Flux BC-BA','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxbc     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxbc','Flux BC','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxombb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxombb','Flux OM-BB','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxomff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxomff','Flux OM-FF','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxomnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxomnff','Flux OM-NFF','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxomba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxomba','Flux OM-BA','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxomnat     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxomnat','Flux OM-NT','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxom     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxom','Flux OM','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxh2sff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxh2sff','Flux H2S FF','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxh2snff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxh2snff','Flux H2S non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso2ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso2ff','Flux SO2 FF','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso2nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso2nff','Flux SO2 non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso2bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso2bb','Flux SO2 BB','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso2vol     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso2vol','Flux SO2 Vol','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso2ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso2ba','Flux SO2 Ba','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso2','Flux SO2','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso4ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso4ff','Flux SO4 FF','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso4nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso4nff','Flux SO4 non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso4bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso4bb','Flux SO4 BB','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso4ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso4ba','Flux SO4 Ba','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxso4     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxso4','Flux SO4','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxdms     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxdms','Flux DMS','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxh2sbio     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxh2sbio','Flux H2S Bio','mgS/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxdustec     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxdustec','Flux Dust EC','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxddfine','DD Fine Mode','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxddcoa','DD Coarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxddsco','DD SCoarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxdd     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxdd','Flux DD','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxssfine','SS Fine Mode','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxsscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxsscoa','SS Coarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_fluxss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'fluxss','Flux SS','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_flux_sparam_ind     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux_sparam_ind','Ind emiss','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_flux_sparam_bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux_sparam_bb','BB emiss','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_flux_sparam_ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux_sparam_ff','FF emiss','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_flux_sparam_ddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux_sparam_ddfine','DD fine emiss','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_flux_sparam_ddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux_sparam_ddcoa','DD coarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_flux_sparam_ddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux_sparam_ddsco','DD Scoarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_flux_sparam_ssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux_sparam_ssfine','SS fine emiss','mg/m2/s', (/ ('', i=1, 9) /))
-
-
-  type(ctrl_out),save :: o_flux_sparam_sscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'flux_sparam_sscoa','SS coarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_u10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'u10m_ss','Zonal wind at 10 m SS','m/s', (/ ('', i=1, 9) /))
-
-  type(ctrl_out),save :: o_v10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'v10m_ss','Meridional wind at 10 m SS','m/s', (/ ('', i=1, 9) /))
-
-
-!  type(ctrl_out),save :: o_     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-!  '','','', (/ ('', i=1, 9) /))
-
-
-
-!example  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+  type(ctrl_out),save :: o_fluxbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbb','Flux BB','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxff','Flux FF','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxbcbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbcbb','Flux BC-BB','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxbcff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbcff','Flux BC-FF','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxbcnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbcnff','Flux BC-NFF','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxbcba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbcba','Flux BC-BA','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxbc     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbc','Flux BC','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxombb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxombb','Flux OM-BB','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxomff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxomff','Flux OM-FF','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxomnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxomnff','Flux OM-NFF','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxomba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxomba','Flux OM-BA','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxomnat     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxomnat','Flux OM-NT','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxom     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxom','Flux OM','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxh2sff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxh2sff','Flux H2S FF','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxh2snff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxh2snff','Flux H2S non-FF','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso2ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2ff','Flux SO2 FF','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso2nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2nff','Flux SO2 non-FF','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso2bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2bb','Flux SO2 BB','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso2vol     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2vol','Flux SO2 Vol','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso2ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2ba','Flux SO2 Ba','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2','Flux SO2','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso4ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4ff','Flux SO4 FF','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso4nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4nff','Flux SO4 non-FF','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso4bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4bb','Flux SO4 BB','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso4ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4ba','Flux SO4 Ba','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxso4     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4','Flux SO4','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxdms     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxdms','Flux DMS','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxh2sbio     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxh2sbio','Flux H2S Bio','mgS/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxdustec     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxdustec','Flux Dust EC','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxddfine','DD Fine Mode','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxddcoa','DD Coarse Mode','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxddsco','DD SCoarse Mode','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxdd     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxdd','Flux DD','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxssfine','SS Fine Mode','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxsscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxsscoa','SS Coarse Mode','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_fluxss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'fluxss','Flux SS','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ind     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ind','Ind emiss','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_flux_sparam_bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_bb','BB emiss','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ff','FF emiss','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ddfine','DD fine emiss','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ddcoa','DD coarse emiss','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ddsco','DD Scoarse emiss','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ssfine','SS fine emiss','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_flux_sparam_sscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_sscoa','SS coarse emiss','mg/m2/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_u10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'u10m_ss','Zonal wind at 10 m SS','m/s', (/ ('', i=1, 10) /))
+
+  type(ctrl_out),save :: o_v10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+  'v10m_ss','Meridional wind at 10 m SS','m/s', (/ ('', i=1, 10) /))
+
+!  type(ctrl_out),save :: o_     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
+!  '','','', (/ ('', i=1, 10) /))
+
+!example  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11 /), &
 !       'psbg', 'Pressure sfce below ground', '%', (/ "inst(X)", "inst(X)", "inst(X)", &
-!       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-
-
-
+!       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
Index: /LMDZ5/trunk/libf/phylmd/Dust/spla_output_write.h
===================================================================
--- /LMDZ5/trunk/libf/phylmd/Dust/spla_output_write.h	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/Dust/spla_output_write.h	(revision 2752)
@@ -6,14 +6,14 @@
 ! traceur
 
-      CALL histwrite_phy( o_taue550          , diff_aod550_tot          )
-      CALL histwrite_phy( o_taue670          , diag_aod670_tot   )
+      CALL histwrite_phy( o_taue550          , diff_aod550_tot  )
+      CALL histwrite_phy( o_taue670          , diag_aod670_tot  )
       CALL histwrite_phy( o_taue865          , diag_aod865_tot  ) 
       IF(id_fine>0) CALL histwrite_phy( o_taue550_tr2      , diff_aod550_tr2  )
-      IF(id_fine>0) CALL histwrite_phy( o_taue670_tr2      , diag_aod670_tr2   )
+      IF(id_fine>0) CALL histwrite_phy( o_taue670_tr2      , diag_aod670_tr2  )
       IF(id_fine>0) CALL histwrite_phy( o_taue865_tr2      , diag_aod865_tr2  )
-      IF(id_coss>0) CALL histwrite_phy( o_taue550_ss       , diag_aod550_ss       )
+      IF(id_coss>0) CALL histwrite_phy( o_taue550_ss       , diag_aod550_ss   )
       IF(id_coss>0) CALL histwrite_phy( o_taue670_ss       , diag_aod670_ss   )
-      IF(id_coss>0) CALL histwrite_phy( o_taue865_ss       , diag_aod865_ss    )
-      IF(id_codu>0) CALL histwrite_phy( o_taue550_dust     , diag_aod550_dust   )
+      IF(id_coss>0) CALL histwrite_phy( o_taue865_ss       , diag_aod865_ss   )
+      IF(id_codu>0) CALL histwrite_phy( o_taue550_dust     , diag_aod550_dust )
       IF(id_codu>0) CALL histwrite_phy( o_taue670_dust     , diag_aod670_dust )
       IF(id_codu>0) CALL histwrite_phy( o_taue865_dust     , diag_aod865_dust )
@@ -22,35 +22,35 @@
       IF(id_scdu>0) CALL histwrite_phy( o_taue865_dustsco  , diag_aod865_dustsco )
       CALL histwrite_phy( o_taue550_aqua     , aod550_aqua  )
-      CALL histwrite_phy( o_taue550_terra    , aod550_terra    )
-      CALL histwrite_phy( o_taue670_aqua     , aod670_aqua     )
-      CALL histwrite_phy( o_taue670_terra    , aod670_terra    )
-      CALL histwrite_phy( o_taue865_aqua     , aod865_aqua    )
-      CALL histwrite_phy( o_taue865_terra    , aod865_terra    )
+      CALL histwrite_phy( o_taue550_terra    , aod550_terra )
+      CALL histwrite_phy( o_taue670_aqua     , aod670_aqua  )
+      CALL histwrite_phy( o_taue670_terra    , aod670_terra )
+      CALL histwrite_phy( o_taue865_aqua     , aod865_aqua  )
+      CALL histwrite_phy( o_taue865_terra    , aod865_terra )
 
       IF(id_fine>0) CALL histwrite_phy( o_taue550_fine_aqua     ,aod550_tr2_aqua   )
       IF(id_fine>0) CALL histwrite_phy( o_taue670_fine_aqua     ,aod670_tr2_aqua   )
       IF(id_fine>0) CALL histwrite_phy( o_taue865_fine_aqua     ,aod865_tr2_aqua   )
-      IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_aqua      ,aod550_ss_aqua    )
-      IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_aqua      ,aod670_ss_aqua    )
-      IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_aqua      ,aod865_ss_aqua    )
-      IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_aqua    ,aod550_dust_aqua    )
-      IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_aqua    ,aod670_dust_aqua    )
-      IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_aqua    ,aod865_dust_aqua    )
-      IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_aqua ,aod670_dustsco_aqua    )
-      IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_aqua ,aod550_dustsco_aqua    )
-      IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_aqua ,aod865_dustsco_aqua    )
+      IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_aqua      ,aod550_ss_aqua   )
+      IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_aqua      ,aod670_ss_aqua   )
+      IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_aqua      ,aod865_ss_aqua   )
+      IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_aqua    ,aod550_dust_aqua   )
+      IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_aqua    ,aod670_dust_aqua   )
+      IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_aqua    ,aod865_dust_aqua   )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_aqua ,aod670_dustsco_aqua   )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_aqua ,aod550_dustsco_aqua   )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_aqua ,aod865_dustsco_aqua   )
       
       IF(id_fine>0) CALL histwrite_phy( o_taue550_fine_terra     ,aod550_tr2_terra   )
       IF(id_fine>0) CALL histwrite_phy( o_taue670_fine_terra     ,aod670_tr2_terra   )
       IF(id_fine>0) CALL histwrite_phy( o_taue865_fine_terra     ,aod865_tr2_terra   )
-      IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_terra      ,aod550_ss_terra    )
-      IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_terra      ,aod670_ss_terra    )
-      IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_terra      ,aod865_ss_terra    )
-      IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_terra    ,aod550_dust_terra    )
-      IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_terra    ,aod670_dust_terra    )
-      IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_terra    ,aod865_dust_terra    )
-      IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_terra ,aod670_dustsco_terra    )
-      IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_terra ,aod550_dustsco_terra    )
-      IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_terra ,aod865_dustsco_terra    )
+      IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_terra      ,aod550_ss_terra   )
+      IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_terra      ,aod670_ss_terra   )
+      IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_terra      ,aod865_ss_terra   )
+      IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_terra    ,aod550_dust_terra   )
+      IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_terra    ,aod670_dust_terra   )
+      IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_terra    ,aod865_dust_terra   )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_terra ,aod670_dustsco_terra   )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_terra ,aod550_dustsco_terra   )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_terra ,aod865_dustsco_terra   )
 
 
@@ -133,5 +133,5 @@
       IF(id_codu>0) CALL histwrite_phy( o_d_tr_uscav04 , d_tr_uscav04 )
       IF(id_scdu>0) CALL histwrite_phy( o_d_tr_uscav05 , d_tr_uscav05 )
-      IF(id_prec>0) CALL histwrite_phy( o_d_tr_insc01 , d_tr_insc01 ) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+      IF(id_prec>0) CALL histwrite_phy( o_d_tr_insc01 , d_tr_insc01 )
       IF(id_fine>0) CALL histwrite_phy( o_d_tr_insc02 , d_tr_insc02 )
       IF(id_coss>0) CALL histwrite_phy( o_d_tr_insc03 , d_tr_insc03 )
@@ -152,6 +152,5 @@
       IF(id_coss>0) CALL histwrite_phy( o_d_tr_ls03 , d_tr_ls03 )
       IF(id_codu>0) CALL histwrite_phy( o_d_tr_ls04 , d_tr_ls04 )
-      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_ls05 , d_tr_ls05 )  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-      
+      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_ls05 , d_tr_ls05 )
 
       IF(id_prec>0) CALL histwrite_phy( o_d_tr_dyn01 , d_tr_dyn01 )
@@ -159,5 +158,5 @@
       IF(id_coss>0) CALL histwrite_phy( o_d_tr_dyn03 , d_tr_dyn03 )
       IF(id_codu>0) CALL histwrite_phy( o_d_tr_dyn04 , d_tr_dyn04 )
-      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_dyn05 , d_tr_dyn05 )  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_dyn05 , d_tr_dyn05 )
       
       IF(id_prec>0) CALL histwrite_phy( o_d_tr_cl01 , d_tr_cl01 )
@@ -165,11 +164,10 @@
       IF(id_coss>0) CALL histwrite_phy( o_d_tr_cl03 , d_tr_cl03 )
       IF(id_codu>0) CALL histwrite_phy( o_d_tr_cl04 , d_tr_cl04 )
-      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_cl05 , d_tr_cl05 )  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_cl05 , d_tr_cl05 )
       IF(id_prec>0) CALL histwrite_phy( o_d_tr_th01 , d_tr_th01 )
       IF(id_fine>0) CALL histwrite_phy( o_d_tr_th02 , d_tr_th02 )
       IF(id_coss>0) CALL histwrite_phy( o_d_tr_th03 , d_tr_th03 )
       IF(id_codu>0) CALL histwrite_phy( o_d_tr_th04 , d_tr_th04 )
-      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_th05 , d_tr_th05 )  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
+      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_th05 , d_tr_th05 )
 
       IF(id_coss>0) CALL histwrite_phy( o_sed_ss , sed_ss)
@@ -232,9 +230,2 @@
       CALL histwrite_phy( o_u10m_ss             , u10m_ss              )
       CALL histwrite_phy( o_v10m_ss             , v10m_ss              )
-
-!      CALL histwrite_phy(  ,)
-!
-
-
-
-
Index: /LMDZ5/trunk/libf/phylmd/StratAer/aer_sedimnt.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/StratAer/aer_sedimnt.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/StratAer/aer_sedimnt.F90	(revision 2752)
@@ -14,5 +14,5 @@
 !-----------------------------------------------------------------------
 
-  USE phys_local_var_mod, ONLY: mdw, sfluxaer, DENSO4, f_r_wet, vsed_aer
+  USE phys_local_var_mod, ONLY: mdw, budg_sed_part, DENSO4, f_r_wet, vsed_aer
   USE dimphy, ONLY : klon,klev
   USE infotrac
@@ -106,10 +106,10 @@
 !---ZAERONWM1 now contains the surface concentration at the new timestep
 !---PFLUXAER in unit of xx m-2 s-1 
-sfluxaer(:)=0.0
+budg_sed_part(:)=0.0
 DO JL=1,klon
   ZRHO=pplay(JL,1)/(RD*t_seri(JL,1))
   DO nb=1,nbtr_bin
-    !compute sfluxaer as sum over bins in kg(S)/m2/s
-    sfluxaer(JL)=sfluxaer(JL)+ZRHO*ZAERONWM1(JL,nb)*ZVAER(JL,1,nb)*(mSatom/mH2SO4mol) &
+    !compute budg_sed_part as sum over bins in kg(S)/m2/s
+    budg_sed_part(JL)=budg_sed_part(JL)+ZRHO*ZAERONWM1(JL,nb)*ZVAER(JL,1,nb)*(mSatom/mH2SO4mol) &
                 & *dens_aer_dry*4./3.*RPI*(mdw(nb)/2.)**3
   ENDDO
Index: /LMDZ5/trunk/libf/phylmd/StratAer/aerophys.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/StratAer/aerophys.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/StratAer/aerophys.F90	(revision 2752)
@@ -6,5 +6,6 @@
   REAL,PARAMETER                         :: dens_aer_dry=1848.682308 ! dry aerosol particle mass density at T_0=293K[kg/m3]
   REAL,PARAMETER                         :: dens_aer_ref=1483.905336 ! aerosol particle mass density with 75% H2SO4 at T_0=293K[kg/m3]
-  REAL,PARAMETER                         :: mdwmin=0.002e-6          ! dry diameter of smallest aerosol particles [m]
+!  REAL,PARAMETER                         :: mdwmin=0.002e-6          ! dry diameter of smallest aerosol particles [m]
+  REAL,PARAMETER                         :: mdwmin=0.2e-6          ! dry diameter of smallest aerosol particles [m]  !--testing
   REAL,PARAMETER                         :: V_rat=2.0                ! volume ratio of neighboring size bins
   REAL,PARAMETER                         :: mfrac_H2SO4=0.75         ! default mass fraction of H2SO4 in the aerosol
Index: /LMDZ5/trunk/libf/phylmd/StratAer/interp_sulf_input.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/StratAer/interp_sulf_input.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/StratAer/interp_sulf_input.F90	(revision 2752)
@@ -8,5 +8,5 @@
   USE mod_phys_lmdz_mpi_data, ONLY :  is_mpi_root
   USE mod_phys_lmdz_omp_data, ONLY :  is_omp_root
-  USE phys_local_var_mod, ONLY : OCS_backgr_tend, SO2_backgr_tend
+  USE phys_local_var_mod, ONLY : budg_3D_backgr_ocs, budg_3D_backgr_so2
   USE phys_local_var_mod, ONLY : OCS_lifetime, SO2_lifetime
   USE mod_phys_lmdz_para 
@@ -34,4 +34,5 @@
   REAL OCS_tmp, SO2_tmp
   INTEGER, SAVE :: mth_pre
+!$OMP THREADPRIVATE(mth_pre)
 
 ! Champs reconstitues
@@ -244,6 +245,6 @@
         tr_seri(i,k,id_SO2_strat)=SO2_clim(i,k)
       ENDIF
-      OCS_backgr_tend(i,k)=tr_seri(i,k,id_OCS_strat)-OCS_tmp
-      SO2_backgr_tend(i,k)=tr_seri(i,k,id_SO2_strat)-SO2_tmp
+      budg_3D_backgr_ocs(i,k)=tr_seri(i,k,id_OCS_strat)-OCS_tmp
+      budg_3D_backgr_so2(i,k)=tr_seri(i,k,id_SO2_strat)-SO2_tmp
     ENDDO
   ENDDO
@@ -252,6 +253,6 @@
   DO i=1, klon
     DO k=1, klev
-      SO2_backgr_tend(i,k)=SO2_backgr_tend(i,k)*mSatom/mSO2mol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
-      OCS_backgr_tend(i,k)=OCS_backgr_tend(i,k)*mSatom/mOCSmol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
+      budg_3D_backgr_ocs(i,k)=budg_3D_backgr_ocs(i,k)*mSatom/mOCSmol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
+      budg_3D_backgr_so2(i,k)=budg_3D_backgr_so2(i,k)*mSatom/mSO2mol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     ENDDO
   ENDDO
Index: /LMDZ5/trunk/libf/phylmd/StratAer/micphy_tstep.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/StratAer/micphy_tstep.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/StratAer/micphy_tstep.F90	(revision 2752)
@@ -4,5 +4,5 @@
   USE aerophys
   USE infotrac
-  USE phys_local_var_mod, ONLY: mdw, sulf_nucl, sulf_cond_evap, R2SO4, DENSO4, f_r_wet
+  USE phys_local_var_mod, ONLY: mdw, budg_3D_nucl, budg_3D_cond_evap, R2SO4, DENSO4, f_r_wet
   USE nucleation_tstep_mod
   USE cond_evap_tstep_mod
@@ -68,6 +68,6 @@
   IF (is_strato(ilon,ilev)) THEN
     ! initialize sulfur fluxes
-    sulf_nucl(ilon,ilev)=0.0
-    sulf_cond_evap(ilon,ilev)=0.0
+    budg_3D_nucl(ilon,ilev)=0.0
+    budg_3D_cond_evap(ilon,ilev)=0.0
     H2SO4_init=tr_seri(ilon,ilev,id_H2SO4_strat)
     ! adaptive timestep for nucleation and condensation
@@ -109,7 +109,7 @@
       CALL nucleation_part(nucl_rate,ntot,x,dt,Vbin,tr_seri(ilon,ilev,:))
       ! compute fluxes as diagnostic in [kg(S)/m2/layer/s] (now - for evap and + for cond)
-      sulf_cond_evap(ilon,ilev)=sulf_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
+      budg_3D_cond_evap(ilon,ilev)=budg_3D_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
                & *cond_evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
-      sulf_nucl(ilon,ilev)=sulf_nucl(ilon,ilev)+mSatom/mH2SO4mol &
+      budg_3D_nucl(ilon,ilev)=budg_3D_nucl(ilon,ilev)+mSatom/mH2SO4mol &
                & *nucl_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
       ! update time step
@@ -139,5 +139,5 @@
     CALL cond_evap_part(pdtphys,FL,ASO4,f_r_wet(ilon,ilev),RRSI,Vbin,tr_seri(ilon,ilev,:))
     ! compute fluxes as diagnostic in [kg(S)/m2/layer/s] (now - for evap and + for cond)
-    sulf_cond_evap(ilon,ilev)=sulf_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
+    budg_3D_cond_evap(ilon,ilev)=budg_3D_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
              & *evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG
   ENDIF
Index: /LMDZ5/trunk/libf/phylmd/StratAer/ocs_to_so2.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/StratAer/ocs_to_so2.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/StratAer/ocs_to_so2.F90	(revision 2752)
@@ -1,3 +1,3 @@
-SUBROUTINE ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
+SUBROUTINE ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
 
   USE dimphy, ONLY : klon,klev
@@ -5,5 +5,5 @@
   USE infotrac
   USE YOMCST, ONLY : RG
-  USE phys_local_var_mod, ONLY : OCS_lifetime, ocs_convert
+  USE phys_local_var_mod, ONLY : OCS_lifetime, budg_3D_ocs_to_so2, budg_ocs_to_so2 
 
   IMPLICIT NONE
@@ -16,5 +16,4 @@
   REAL,DIMENSION(klon,klev),INTENT(IN)          :: pplay   ! pression pour le mileu de chaque couche (en Pa)
   REAL,DIMENSION(klon,klev+1),INTENT(IN)        :: paprs   ! pression pour chaque inter-couche (en Pa)
-  REAL,DIMENSION(klon,klev),INTENT(IN)          :: sh      ! humidite specifique   
   LOGICAL,DIMENSION(klon,klev),INTENT(IN)       :: is_strato
 
@@ -23,5 +22,7 @@
 
 !--convert OCS to SO2
-  ocs_convert(:,:)=0.0
+  budg_3D_ocs_to_so2(:,:)=0.0
+  budg_ocs_to_so2(:)=0.0
+
   DO ilon=1, klon
   DO ilev=1, klev
@@ -29,10 +30,11 @@
   IF (is_strato(ilon,ilev)) THEN
     IF (OCS_lifetime(ilon,ilev).GT.0.0) THEN
-      ocs_convert(ilon,ilev)=tr_seri(ilon,ilev,id_OCS_strat)*(1.0-exp(-pdtphys/OCS_lifetime(ilon,ilev)))
+      budg_3D_ocs_to_so2(ilon,ilev)=tr_seri(ilon,ilev,id_OCS_strat)*(1.0-exp(-pdtphys/OCS_lifetime(ilon,ilev)))
     ENDIF
-    tr_seri(ilon,ilev,id_OCS_strat)=tr_seri(ilon,ilev,id_OCS_strat) - ocs_convert(ilon,ilev)
-    tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) + mSO2mol/mOCSmol*ocs_convert(ilon,ilev)
-    !convert ocs_convert from kg(OCS)/kgA to kg(S)/m2/layer/s for saving as diagnostic
-    ocs_convert(ilon,ilev)=ocs_convert(ilon,ilev)*mSatom/mOCSmol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
+    tr_seri(ilon,ilev,id_OCS_strat)=tr_seri(ilon,ilev,id_OCS_strat) - budg_3D_ocs_to_so2(ilon,ilev)
+    tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) + mSO2mol/mOCSmol*budg_3D_ocs_to_so2(ilon,ilev)
+    !convert budget from kg(OCS)/kgA to kg(S)/m2/layer/s for saving as diagnostic
+    budg_3D_ocs_to_so2(ilon,ilev)=budg_3D_ocs_to_so2(ilon,ilev)*mSatom/mOCSmol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
+    budg_ocs_to_so2(ilon)=budg_ocs_to_so2(ilon)+budg_3D_ocs_to_so2(ilon,ilev) 
   ENDIF
   ENDDO
Index: /LMDZ5/trunk/libf/phylmd/StratAer/so2_to_h2so4.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/StratAer/so2_to_h2so4.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/StratAer/so2_to_h2so4.F90	(revision 2752)
@@ -1,3 +1,3 @@
-SUBROUTINE SO2_TO_H2SO4(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
+SUBROUTINE SO2_TO_H2SO4(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
 
   USE dimphy, ONLY : klon,klev
@@ -5,5 +5,5 @@
   USE infotrac
   USE YOMCST, ONLY : RG
-  USE phys_local_var_mod, ONLY : SO2_lifetime, sulf_convert
+  USE phys_local_var_mod, ONLY : SO2_lifetime, budg_3D_so2_to_h2so4, budg_so2_to_h2so4
 
   IMPLICIT NONE
@@ -17,5 +17,4 @@
   REAL,DIMENSION(klon,klev),INTENT(IN)          :: pplay   ! pression pour le mileu de chaque couche (en Pa)
   REAL,DIMENSION(klon,klev+1),INTENT(IN)        :: paprs   ! pression pour chaque inter-couche (en Pa)
-  REAL,DIMENSION(klon,klev),INTENT(IN)          :: sh      ! humidite specifique   
   LOGICAL,DIMENSION(klon,klev),INTENT(IN)       :: is_strato ! stratospheric flag
 
@@ -24,5 +23,7 @@
 
 !--convert SO2 to H2SO4
-  sulf_convert(:,:)=0.0
+  budg_3D_so2_to_h2so4(:,:)=0.0
+  budg_so2_to_h2so4(:)=0.0
+
   DO ilon=1, klon
   DO ilev=1, klev
@@ -30,10 +31,11 @@
   IF (is_strato(ilon,ilev)) THEN
     IF (SO2_lifetime(ilon,ilev).GT.0.0) THEN
-      sulf_convert(ilon,ilev)=tr_seri(ilon,ilev,id_SO2_strat)*(1.0-exp(-pdtphys/SO2_lifetime(ilon,ilev)))
+      budg_3D_so2_to_h2so4(ilon,ilev)=tr_seri(ilon,ilev,id_SO2_strat)*(1.0-exp(-pdtphys/SO2_lifetime(ilon,ilev)))
     ENDIF
-    tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) - sulf_convert(ilon,ilev)
-    tr_seri(ilon,ilev,id_H2SO4_strat)=tr_seri(ilon,ilev,id_H2SO4_strat) + mH2SO4mol/mSO2mol*sulf_convert(ilon,ilev)
-    !convert sulf_convert from kg(SO2)/kgA to kg(S)/m2/layer/s for saving as diagnostic
-    sulf_convert(ilon,ilev)=sulf_convert(ilon,ilev)*mSatom/mSO2mol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
+    tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) - budg_3D_so2_to_h2so4(ilon,ilev)
+    tr_seri(ilon,ilev,id_H2SO4_strat)=tr_seri(ilon,ilev,id_H2SO4_strat) + mH2SO4mol/mSO2mol*budg_3D_so2_to_h2so4(ilon,ilev)
+    !convert budget from kg(SO2)/kgA to kg(S)/m2/layer/s for saving as diagnostic
+    budg_3D_so2_to_h2so4(ilon,ilev)=budg_3D_so2_to_h2so4(ilon,ilev)*mSatom/mSO2mol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
+    budg_so2_to_h2so4(ilon)=budg_so2_to_h2so4(ilon)+budg_3D_so2_to_h2so4(ilon,ilev)
   ENDIF
   ENDDO
Index: /LMDZ5/trunk/libf/phylmd/StratAer/traccoag_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/StratAer/traccoag_mod.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/StratAer/traccoag_mod.F90	(revision 2752)
@@ -8,10 +8,8 @@
   SUBROUTINE traccoag(pdtphys, gmtime, debutphy, julien, &
        presnivs, xlat, xlon, pphis, pphi, &
-       t_seri, pplay, paprs, sh, rh , &
-       tr_seri)
-
-    USE phys_local_var_mod, ONLY: mdw, sulf_convert, sulf_nucl, sulf_cond_evap, &
-        & sfluxaer, ocs_convert, R2SO4, DENSO4, f_r_wet, SO2_backgr_tend, OCS_backgr_tend, &
-        & OCS_lifetime, SO2_lifetime, surf_PM25_sulf
+       t_seri, pplay, paprs, sh, rh, tr_seri)
+
+    USE phys_local_var_mod, ONLY: mdw, R2SO4, DENSO4, f_r_wet, surf_PM25_sulf, & 
+        & budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part 
 
     USE dimphy
@@ -71,5 +69,5 @@
     REAL,PARAMETER    :: altemiss_sai=17.e3     ! emission altitude in m
     REAL,PARAMETER    :: sigma_alt_sai=1.e3     ! standard deviation of emission altitude in m
-    REAL,PARAMETER    :: xlat_sai=0.0           ! latitude of SAI in degree
+    REAL,PARAMETER    :: xlat_sai=0.01          ! latitude of SAI in degree
     REAL,PARAMETER    :: xlon_sai=120.35        ! longitude of SAI in degree
 
@@ -90,6 +88,8 @@
     REAL                                   :: zrho                ! Density of air [kg/m3]
     REAL                                   :: zdz                 ! thickness of atm. model layer in m
+    REAL,DIMENSION(klev)                   :: zdm                 ! mass of atm. model layer in kg
     REAL,DIMENSION(klon,klev)              :: dens_aer            ! density of aerosol particles [kg/m3 aerosol] with default H2SO4 mass fraction
     REAL                                   :: dlat, dlon          ! d latitude and d longitude of grid in degree
+    REAL                                   :: emission            ! emission
 
     IF (is_mpi_root) THEN
@@ -141,17 +141,23 @@
     DO ilon=1, klon
     DO ilev=1, klev
-      m_air_gridbox(ilon,ilev)=(paprs(ilon,ilev)-paprs(ilon,ilev+1)) / RG * cell_area(ilon)
-    ENDDO
-    ENDDO
-
-    IF (debutphy) THEN
-      CALL gather(tr_seri, tr_seri_glo)
-      IF (MAXVAL(tr_seri_glo).LT.1.e-30) THEN
+      m_air_gridbox(ilon,ilev)=(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*cell_area(ilon)
+    ENDDO
+    ENDDO
+
+!    IF (debutphy) THEN
+!      CALL gather(tr_seri, tr_seri_glo)
+!      IF (MAXVAL(tr_seri_glo).LT.1.e-30) THEN
 !--initialising tracer concentrations to zero
-        DO it=1, nbtr
-        tr_seri(:,:,it)=0.0
-        ENDDO
-      ENDIF
-    ENDIF
+!        DO it=1, nbtr
+!        tr_seri(:,:,it)=0.0
+!        ENDDO
+!      ENDIF
+!    ENDIF
+
+!--initialise emission diagnostics
+    budg_emi_ocs(:)=0.0
+    budg_emi_so2(:)=0.0
+    budg_emi_h2so4(:)=0.0
+    budg_emi_part(:)=0.0
 
 !--sulfur emission, depending on chosen scenario (flag_sulf_emit)
@@ -170,10 +176,13 @@
           IF  ( xlat(i).GE.xlat_vol-dlat .AND. xlat(i).LT.xlat_vol+dlat .AND. &
                 xlon(i).GE.xlon_vol-dlon .AND. xlon(i).LT.xlon_vol+dlon ) THEN
+! 
+          PRINT *,'coordinates of volcanic injection point=',xlat(i), xlon(i), day_cur, mth_cur, year_cur
 !         compute altLMDz
             altLMDz(:)=0.0
             DO k=1, klev
-              zrho=pplay(i,k)/t_seri(i,k)/RD            !air density in kg/m3
-              zdz=(paprs(i,k)-paprs(i,k+1))/zrho/RG     !thickness of layer in m
-              altLMDz(k+1)=altLMDz(k)+zdz
+              zrho=pplay(i,k)/t_seri(i,k)/RD       !air density in kg/m3
+              zdm(k)=(paprs(i,k)-paprs(i,k+1))/RG  !mass of layer in kg
+              zdz=zdm(k)/zrho                      !thickness of layer in m
+              altLMDz(k+1)=altLMDz(k)+zdz          !altitude of interface
             ENDDO
             !compute distribution of emission to vertical model layers (based on Gaussian peak in altitude)
@@ -194,7 +203,8 @@
             !vertically distributed emission
             DO k=1, klev
-              tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+ &
-              & m_aer_emiss_vol*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k) &
-              & /(1.*86400./pdtphys) ! stretch emission over one day of Pinatubo eruption
+              ! stretch emission over one day of Pinatubo eruption
+              emission=m_aer_emiss_vol*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k)/1./86400. 
+              tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+emission*pdtphys 
+              budg_emi_so2(i)=budg_emi_so2(i)+emission*zdm(k)*mSatom/mSO2mol
             ENDDO
           ENDIF ! emission grid cell
@@ -211,10 +221,13 @@
         IF  ( xlat(i).GE.xlat_sai-dlat .AND. xlat(i).LT.xlat_sai+dlat .AND. &
           &   xlon(i).GE.xlon_sai-dlon .AND. xlon(i).LT.xlon_sai+dlon ) THEN
+!
+          PRINT *,'coordinates of SAI point=',xlat(i), xlon(i), day_cur, mth_cur, year_cur
 !         compute altLMDz
           altLMDz(:)=0.0
           DO k=1, klev
-            zrho=pplay(i,k)/t_seri(i,k)/RD            !air density in kg/m3
-            zdz=(paprs(i,k)-paprs(i,k+1))/zrho/RG     !thickness of layer in m
-            altLMDz(k+1)=altLMDz(k)+zdz
+            zrho=pplay(i,k)/t_seri(i,k)/RD       !air density in kg/m3
+            zdm(k)=(paprs(i,k)-paprs(i,k+1))/RG  !mass of layer in kg
+            zdz=zdm(k)/zrho                      !thickness of layer in m
+            altLMDz(k+1)=altLMDz(k)+zdz          !altitude of interface
           ENDDO
           !compute distribution of emission to vertical model layers (based on Gaussian peak in altitude)
@@ -235,17 +248,16 @@
           !vertically distributed emission
           DO k=1, klev
-            tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+ &
-            & m_aer_emiss_sai*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k) &
-            & /(360.*86400./pdtphys) ! stretch emission over whole year (360d)
-!            & /(60.*86400./pdtphys) ! stretch emission over 2 months (seasonal emission)
-!            & /7. ! distribute equally over 7 emission grid points
+            ! stretch emission over whole year (360d)
+            emission=m_aer_emiss_sai*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k)/360./86400.  
+            tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+emission*pdtphys
+            budg_emi_so2(i)=budg_emi_so2(i)+emission*zdm(k)*mSatom/mSO2mol
           ENDDO
 !          !emission as monodisperse particles with 0.1um dry radius (BIN21)
 !          !vertically distributed emission
 !          DO k=1, klev
-!            tr_seri(i,k,id_BIN01_strat+20)=tr_seri(i,k,id_BIN01_strat+20)+ &
-!            & m_aer_emiss*(mH2SO4mol/mSatom)/m_part_dry(21)/m_air_gridbox(i,k)*f_lay_emiss(k) &
-!            & /(360.*86400./pdtphys) & ! stretch emission over whole year (360d)
-!            & /7. ! distribute equally over 7 emission grid points
+!            ! stretch emission over whole year (360d)
+!            emission=m_aer_emiss*(mH2SO4mol/mSatom)/m_part_dry(21)/m_air_gridbox(i,k)*f_lay_emiss(k)/360./86400 
+!            tr_seri(i,k,id_BIN01_strat+20)=tr_seri(i,k,id_BIN01_strat+20)+emission*pdtphys 
+!            budg_emi_part(i)=budg_emi_part(i)+emission*zdm(k)*mSatom/mH2SO4mol
 !          ENDDO
         ENDIF ! emission grid cell
@@ -259,8 +271,8 @@
 
 !--convert OCS to SO2 in the stratosphere
-    CALL ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
+    CALL ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
 
 !--convert SO2 to H2SO4
-    CALL so2_to_h2so4(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
+    CALL so2_to_h2so4(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
 
 !--common routine for nucleation and condensation/evaporation with adaptive timestep
@@ -282,5 +294,5 @@
           surf_PM25_sulf(i)=surf_PM25_sulf(i)+tr_seri(i,1,it+nbtr_sulgas) &
                            & *132./98.*dens_aer_dry*4./3.*RPI*(mdw(it)/2.)**3 &
-                           & *pplay(i,1)/t_seri(i,1)/RD*1e9
+                           & *pplay(i,1)/t_seri(i,1)/RD*1.e9
         ENDIF
       ENDDO
Index: /LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 2752)
@@ -419,5 +419,6 @@
 
 #ifdef CPP_StratAer
-! variables for strat. aerosol CK
+!
+! variables for stratospheric aerosol
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: R2SO4
 !$OMP THREADPRIVATE(R2SO4)
@@ -426,22 +427,8 @@
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: f_r_wet
 !$OMP THREADPRIVATE(f_r_wet)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sfluxaer
-!$OMP THREADPRIVATE(sfluxaer)
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: decfluxaer
 !$OMP THREADPRIVATE(decfluxaer)
       REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: mdw
 !$OMP THREADPRIVATE(mdw)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_convert
-!$OMP THREADPRIVATE(sulf_convert)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_nucl
-!$OMP THREADPRIVATE(sulf_nucl)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_cond_evap
-!$OMP THREADPRIVATE(sulf_cond_evap)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ocs_convert
-!$OMP THREADPRIVATE(ocs_convert)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SO2_backgr_tend
-!$OMP THREADPRIVATE(SO2_backgr_tend)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: OCS_backgr_tend
-!$OMP THREADPRIVATE(OCS_backgr_tend)
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: OCS_lifetime
 !$OMP THREADPRIVATE(OCS_lifetime)
@@ -456,14 +443,8 @@
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_550
 !$OMP THREADPRIVATE(tau_strat_550)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_550_lay
-!$OMP THREADPRIVATE(tau_strat_550_lay)
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_1020
 !$OMP THREADPRIVATE(tau_strat_1020)
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tausum_strat
 !$OMP THREADPRIVATE(tausum_strat)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sulf_dep_dry
-!$OMP THREADPRIVATE(sulf_dep_dry)
-      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sulf_dep_wet
-!$OMP THREADPRIVATE(sulf_dep_wet)
       REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: surf_PM25_sulf
 !$OMP THREADPRIVATE(surf_PM25_sulf)
@@ -472,4 +453,37 @@
       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vsed_aer
 !$OMP THREADPRIVATE(vsed_aer)
+!
+!---3D budget variables
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_nucl
+!$OMP THREADPRIVATE(budg_3D_nucl)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_cond_evap
+!$OMP THREADPRIVATE(budg_3D_cond_evap)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_ocs_to_so2
+!$OMP THREADPRIVATE(budg_3D_ocs_to_so2)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_so2_to_h2so4
+!$OMP THREADPRIVATE(budg_3D_so2_to_h2so4)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_backgr_ocs
+!$OMP THREADPRIVATE(budg_3D_backgr_ocs)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_backgr_so2
+!$OMP THREADPRIVATE(budg_3D_backgr_so2)
+!
+!---2D budget variables
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_h2so4
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_part
+!$OMP THREADPRIVATE(budg_dep_dry_h2so4,budg_dep_dry_part)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_h2so4
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_part
+!$OMP THREADPRIVATE(budg_dep_wet_h2so4,budg_dep_wet_part)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_ocs
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_so2
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_h2so4
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_part
+!$OMP THREADPRIVATE(budg_emi_ocs,budg_emi_so2,budg_emi_h2so4,budg_emi_part)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_ocs_to_so2
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_so2_to_h2so4
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_h2so4_to_part
+!$OMP THREADPRIVATE(budg_ocs_to_so2,budg_so2_to_h2so4,budg_h2so4_to_part)
+      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_sed_part
+!$OMP THREADPRIVATE(budg_sed_part)
 #endif
 
@@ -718,13 +732,12 @@
       ALLOCATE (DENSO4(klon,klev))
       ALLOCATE (f_r_wet(klon,klev))
-      ALLOCATE (sfluxaer(klon))
       ALLOCATE (decfluxaer(klon,nbtr))
       ALLOCATE (mdw(nbtr))
-      ALLOCATE (sulf_convert(klon,klev))
-      ALLOCATE (sulf_nucl(klon,klev))
-      ALLOCATE (sulf_cond_evap(klon,klev))
-      ALLOCATE (ocs_convert(klon,klev))
-      ALLOCATE (SO2_backgr_tend(klon,klev))
-      ALLOCATE (OCS_backgr_tend(klon,klev))
+      ALLOCATE (budg_3D_nucl(klon,klev))
+      ALLOCATE (budg_3D_cond_evap(klon,klev))
+      ALLOCATE (budg_3D_ocs_to_so2(klon,klev))
+      ALLOCATE (budg_3D_so2_to_h2so4(klon,klev))
+      ALLOCATE (budg_3D_backgr_ocs(klon,klev))
+      ALLOCATE (budg_3D_backgr_so2(klon,klev))
       ALLOCATE (OCS_lifetime(klon,klev))
       ALLOCATE (SO2_lifetime(klon,klev))
@@ -733,9 +746,18 @@
       ALLOCATE (cg_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave+nwave_lw,nbtr))
       ALLOCATE (tau_strat_550(klon,klev))
-      ALLOCATE (tau_strat_550_lay(klon,klev))
       ALLOCATE (tau_strat_1020(klon,klev))
       ALLOCATE (tausum_strat(klon,3))
-      ALLOCATE (sulf_dep_dry(klon))
-      ALLOCATE (sulf_dep_wet(klon))
+      ALLOCATE (budg_dep_dry_h2so4(klon))
+      ALLOCATE (budg_dep_wet_h2so4(klon))
+      ALLOCATE (budg_dep_dry_part(klon))
+      ALLOCATE (budg_dep_wet_part(klon))
+      ALLOCATE (budg_emi_ocs(klon))
+      ALLOCATE (budg_emi_so2(klon))
+      ALLOCATE (budg_emi_h2so4(klon))
+      ALLOCATE (budg_emi_part(klon))
+      ALLOCATE (budg_ocs_to_so2(klon))
+      ALLOCATE (budg_so2_to_h2so4(klon))
+      ALLOCATE (budg_h2so4_to_part(klon))
+      ALLOCATE (budg_sed_part(klon))
       ALLOCATE (surf_PM25_sulf(klon))
       ALLOCATE (p_tropopause(klon))
@@ -964,13 +986,6 @@
       DEALLOCATE (DENSO4)
       DEALLOCATE (f_r_wet)
-      DEALLOCATE (sfluxaer)
       DEALLOCATE (decfluxaer)
       DEALLOCATE (mdw)
-      DEALLOCATE (sulf_convert)
-      DEALLOCATE (sulf_nucl)
-      DEALLOCATE (sulf_cond_evap)
-      DEALLOCATE (ocs_convert)
-      DEALLOCATE (SO2_backgr_tend)
-      DEALLOCATE (OCS_backgr_tend)
       DEALLOCATE (SO2_lifetime)
       DEALLOCATE (OCS_lifetime)
@@ -979,12 +994,27 @@
       DEALLOCATE (cg_bin)
       DEALLOCATE (tau_strat_550)
-      DEALLOCATE (tau_strat_550_lay)
       DEALLOCATE (tau_strat_1020)
       DEALLOCATE (tausum_strat)
-      DEALLOCATE (sulf_dep_dry)
-      DEALLOCATE (sulf_dep_wet)
       DEALLOCATE (surf_PM25_sulf)
       DEALLOCATE (p_tropopause)
       DEALLOCATE (vsed_aer)
+      DEALLOCATE (budg_3D_ocs_to_so2)
+      DEALLOCATE (budg_3D_so2_to_h2so4)
+      DEALLOCATE (budg_3D_backgr_ocs)
+      DEALLOCATE (budg_3D_backgr_so2)
+      DEALLOCATE (budg_3D_nucl)
+      DEALLOCATE (budg_3D_cond_evap)
+      DEALLOCATE (budg_dep_dry_h2so4)
+      DEALLOCATE (budg_dep_wet_h2so4)
+      DEALLOCATE (budg_dep_dry_part)
+      DEALLOCATE (budg_dep_wet_part)
+      DEALLOCATE (budg_emi_ocs)
+      DEALLOCATE (budg_emi_so2)
+      DEALLOCATE (budg_emi_h2so4)
+      DEALLOCATE (budg_emi_part)
+      DEALLOCATE (budg_ocs_to_so2)
+      DEALLOCATE (budg_so2_to_h2so4)
+      DEALLOCATE (budg_h2so4_to_part)
+      DEALLOCATE (budg_sed_part)
 #endif
 
Index: /LMDZ5/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 2752)
@@ -19,24 +19,24 @@
 !!! Comosantes de la coordonnee sigma-hybride
 !!! Ap et Bp
-  TYPE(ctrl_out), SAVE :: o_Ahyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11 /), &
-    'Ap', '', '', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_Bhyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11 /), &
-    'Bp', '', '', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11 /), &
-    'Alt', '', '', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_Ahyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
+    'Ap', '', '', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_Bhyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
+    'Bp', '', '', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
+    'Alt', '', '', (/ ('', i=1, 10) /))
 
 !!! 1D
-  TYPE(ctrl_out), SAVE :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1, 1, 11, 11, 11 /), &
-    'phis', 'Surface geop.height', 'm2/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_aire = ctrl_out((/ 1, 1, 10,  10, 1, 1, 11, 11, 11 /), &
+  TYPE(ctrl_out), SAVE :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1, 1, 11, 11, 11, 11/), &
+    'phis', 'Surface geop.height', 'm2/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_aire = ctrl_out((/ 1, 1, 10,  10, 1, 1, 11, 11, 11, 11/), &
     'aire', 'Grid area', '-', (/ 'once', 'once', 'once', 'once', 'once', 'once', &
-                                     'once', 'once', 'once' /))
-  TYPE(ctrl_out), SAVE :: o_contfracATM = ctrl_out((/ 10, 1,  1, 10, 10, 10, 11, 11, 11 /), &
+                                 'once', 'once', 'once', 'once' /))
+  TYPE(ctrl_out), SAVE :: o_contfracATM = ctrl_out((/ 10, 1,  1, 10, 10, 10, 11, 11, 11, 11/), &
     'contfracATM', '% sfce ter+lic', '-', &
-       (/ 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once' /)) 
-  TYPE(ctrl_out), SAVE :: o_contfracOR = ctrl_out((/ 10, 1,  10, 10, 10, 10, 11, 11, 11 /), &
-    'contfracOR', '% sfce terre OR', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_aireTER = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'aireTER', 'Grid area CONT', '-', (/ ('', i=1, 9) /))
+       (/ 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once' /)) 
+  TYPE(ctrl_out), SAVE :: o_contfracOR = ctrl_out((/ 10, 1,  10, 10, 10, 10, 11, 11, 11, 11/), &
+    'contfracOR', '% sfce terre OR', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_aireTER = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'aireTER', 'Grid area CONT', '-', (/ ('', i=1, 10) /))
 
 !!! 2D
@@ -44,759 +44,756 @@
 ! Marine
 
-  TYPE(ctrl_out), SAVE :: o_alt_tropo = ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  TYPE(ctrl_out), SAVE :: o_alt_tropo = ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'alt_tropo','Tropopause pressure','hPa',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
-
-  TYPE(ctrl_out), SAVE :: o_map_prop_hc = ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
+
+  TYPE(ctrl_out), SAVE :: o_map_prop_hc = ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_prop_hc','Proportion of high clouds',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_prop_hist = &
-  ctrl_out((/1,1,1,1,1,1,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,1,10,10,10,10/),&
   'map_prop_hist','Proportion of high ice semi-transp clouds',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_emis_hc = &
-  ctrl_out((/1,1,1,1,1,1,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,1,10,10,10,10/),&
   'map_emis_hc','Emissivity of high clouds',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_iwp_hc = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_iwp_hc','Ice water path of high clouds','g/m2',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_deltaz_hc = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_deltaz_hc','geom thickness of high clouds','m',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_pcld_hc = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_pcld_hc','cloud pressure of high clouds','hPa',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
    TYPE(ctrl_out), SAVE :: o_map_tcld_hc = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_tcld_hc','cloud temperature of high clouds','K',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
-
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_emis_hist = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_emis_hist','Emissivity of high ice st clouds',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_iwp_hist = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_iwp_hist','Ice water path of high ice st clouds','g/m2',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_deltaz_hist = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_deltaz_hist','geom thickness of high ice st clouds','m',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_rad_hist = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_rad_hist','ice crystals radius in high ice st clouds','µm',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
 
  TYPE(ctrl_out), SAVE :: o_map_emis_Cb = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_emis_Cb','Emissivity of high Cb clouds',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
  TYPE(ctrl_out), SAVE :: o_map_pcld_Cb = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_pcld_Cb','cloud pressure of high Cb clouds','hPa',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
  TYPE(ctrl_out), SAVE :: o_map_tcld_Cb = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_tcld_Cb','cloud temperature of high Cb clouds','K',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
 
  TYPE(ctrl_out), SAVE :: o_map_emis_Anv = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_emis_Anv','Emissivity of high Anv clouds',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
  TYPE(ctrl_out), SAVE :: o_map_pcld_Anv = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_pcld_Anv','cloud pressure of high Anv clouds','hPa',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_tcld_Anv = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_tcld_Anv','cloud temperature of high Anv clouds','K',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_emis_ThCi = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_emis_ThCi','Emissivity of high ThCi clouds',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_pcld_ThCi = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_pcld_ThCi','cloud pressure of high ThCi clouds','hPa',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_tcld_ThCi = &
-  ctrl_out((/10,10,1,10,10,10,10,10,10/),&
+  ctrl_out((/10,10,1,10,10,10,10,10,10,10/),&
   'map_tcld_ThCi','cloud temperature of high ThCi clouds','K',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
    TYPE(ctrl_out), SAVE :: o_map_ntot = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_ntot','total AIRS cloud fraction',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_hc = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_hc','high clouds AIRS cloud fraction',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_hist = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_hist','high clouds ice st AIRS cloud fraction',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE :: o_map_Cb = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_Cb','high clouds Cb AIRS cloud fraction',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
  TYPE(ctrl_out), SAVE :: o_map_ThCi = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_ThCi','high clouds ThCi AIRS cloud fraction',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
  TYPE(ctrl_out), SAVE :: o_map_Anv = &
-  ctrl_out((/1,1,1,1,1,10,10,10,10/),&
+  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
   'map_Anv','high clouds Anv AIRS cloud fraction',' ',&
    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
-    "inst(X)", "inst(X)","inst(X)" /))
-
+      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
 ! Fin Marine
 
-  TYPE(ctrl_out), SAVE :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5, 10, 11, 11, 11 /), &
-    'flat', 'Latent heat flux', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ptstar = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'ptstar', 'Air Surface Temperature', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_pt0 = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'pt0', 'Standard Air Surface Temperature', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'slp', 'Sea Level Pressure', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
-    'tsol', 'Surface Temperature', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
-    't2m', 'Temperature 2m', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_t2m_min = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11 /), &
+  TYPE(ctrl_out), SAVE :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'flat', 'Latent heat flux', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ptstar = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'ptstar', 'Air Surface Temperature', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_pt0 = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'pt0', 'Standard Air Surface Temperature', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'slp', 'Sea Level Pressure', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
+    'tsol', 'Surface Temperature', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
+    't2m', 'Temperature 2m', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_t2m_min = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     't2m_min', 'Temp 2m min', 'K', &
-      (/ "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)" /))
-  TYPE(ctrl_out), SAVE :: o_t2m_max = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11 /), &
+      (/ "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", & 
+         "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)" /))
+  TYPE(ctrl_out), SAVE :: o_t2m_max = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     't2m_max', 'Temp 2m max', 'K', &
       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
-         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
-
-  TYPE(ctrl_out), SAVE :: o_t2m_min_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20 /), &
+         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
+
+  TYPE(ctrl_out), SAVE :: o_t2m_min_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20, 20 /), &
     't2m_min_mon', 'Monthly average min 2m temperature', 'K', &
-      (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
-  TYPE(ctrl_out), SAVE :: o_t2m_max_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20 /), &
+      (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", & 
+         "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
+  TYPE(ctrl_out), SAVE :: o_t2m_max_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20, 20 /), &
     't2m_max_mon', 'Monthly average max 2m temperature', 'K', &
       (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
-         "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
+         "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_t2m_srf = (/ &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    't2m_ter', "Temp 2m "//clnsurf(1), "K", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    't2m_lic', "Temp 2m "//clnsurf(2), "K", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    't2m_oce', "Temp 2m "//clnsurf(3), "K", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    't2m_sic', "Temp 2m "//clnsurf(4), "K", (/ ('', i=1, 9) /)) /)
-
-  TYPE(ctrl_out), SAVE :: o_gusts = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'gusts', 'surface gustiness', 'm2/s2', (/ ('', i=1, 9) /))
-
-  TYPE(ctrl_out), SAVE :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'wind10m', '10-m wind speed', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    't2m_ter', "Temp 2m "//clnsurf(1), "K", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    't2m_lic', "Temp 2m "//clnsurf(2), "K", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    't2m_oce', "Temp 2m "//clnsurf(3), "K", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    't2m_sic', "Temp 2m "//clnsurf(4), "K", (/ ('', i=1, 10) /)) /)
+
+  TYPE(ctrl_out), SAVE :: o_gusts = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'gusts', 'surface gustiness', 'm2/s2', (/ ('', i=1, 10) /))
+
+  TYPE(ctrl_out), SAVE :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'wind10m', '10-m wind speed', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'wind10max', '10m wind speed max', 'm/s', &
     (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", & 
-     "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))                                                                                                                                           
-  TYPE(ctrl_out), SAVE :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sicf', 'Sea-ice fraction', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
-    'q2m', 'Specific humidity 2m', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ustar = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11 /), &
-    'ustar', 'Friction velocity', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
-    'u10m', 'Vent zonal 10m', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
-    'v10m', 'Vent meridien 10m', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_psol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
-    'psol', 'Surface Pressure', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'qsurf', 'Surface Air humidity', 'kg/kg', (/ ('', i=1, 9) /))
+       "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
+
+  TYPE(ctrl_out), SAVE :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sicf', 'Sea-ice fraction', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
+    'q2m', 'Specific humidity 2m', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ustar = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'ustar', 'Friction velocity', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
+    'u10m', 'Vent zonal 10m', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
+    'v10m', 'Vent meridien 10m', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_psol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
+    'psol', 'Surface Pressure', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'qsurf', 'Surface Air humidity', 'kg/kg', (/ ('', i=1, 10) /))
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ustar_srf     = (/ &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'ustar_ter', &
-      "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'ustar_lic', &
-      "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'ustar_oce', &
-      "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'ustar_sic', &
-      "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_ter', &
+      "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_lic', &
+      "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_oce', &
+      "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_sic', &
+      "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(5) :: o_wstar         = (/ &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'wstar_ter', &
-      "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'wstar_lic', &
-      "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'wstar_oce', &
-      "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'wstar_sic', &
-      "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11 /),'wstar', &
-      "w* convective velocity "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_ter', &
+      "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_lic', &
+      "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_oce', &
+      "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_sic', &
+      "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar', &
+      "w* convective velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10m_srf     = (/ &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'u10m_ter', &
-      "Vent Zonal 10m "//clnsurf(1),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'u10m_lic', &
-      "Vent Zonal 10m "//clnsurf(2),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'u10m_oce', &
-      "Vent Zonal 10m "//clnsurf(3),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'u10m_sic', &
-      "Vent Zonal 10m "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_ter', &
+      "Vent Zonal 10m "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_lic', &
+      "Vent Zonal 10m "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_oce', &
+      "Vent Zonal 10m "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_sic', &
+      "Vent Zonal 10m "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10m_srf     = (/ &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'v10m_ter', &
-      "Vent meredien 10m "//clnsurf(1),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'v10m_lic', &
-      "Vent meredien 10m "//clnsurf(2),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'v10m_oce', &
-      "Vent meredien 10m "//clnsurf(3),"m/s", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'v10m_sic', &
-      "Vent meredien 10m "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)) /)
-
-  TYPE(ctrl_out), SAVE :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'qsol', 'Soil watter content', 'mm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_ter', &
+      "Vent meredien 10m "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_lic', &
+      "Vent meredien 10m "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_oce', &
+      "Vent meredien 10m "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_sic', &
+      "Vent meredien 10m "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
+
+  TYPE(ctrl_out), SAVE :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'qsol', 'Soil watter content', 'mm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'ndayrain', 'Number of dayrain(liq+sol)', '-', &
-      (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
-  TYPE(ctrl_out), SAVE :: o_precip = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11 /), &
-    'precip', 'Precip Totale liq+sol', 'kg/(s*m2)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'plul', 'Large-scale Precip.', 'kg/(s*m2)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_plun = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'plun', 'Numerical Precip.', 'kg/(s*m2)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_pluc = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11 /), &
-    'pluc', 'Convective Precip.', 'kg/(s*m2)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_snow = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11 /), &
-    'snow', 'Snow fall', 'kg/(s*m2)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'evap', 'Evaporat', 'kg/(s*m2)', (/ ('', i=1, 9) /))
-
-  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
-    'sens_rain_oce', 'Sensible heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
-    'sens_rain_sic', 'Sensible heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
-    'sens_snow_oce', 'Sensible heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
-    'sens_snow_sic', 'Sensible heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
-    'lat_rain_oce', 'Latent heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
-    'lat_rain_sic', 'Latent heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
-    'lat_snow_oce', 'Latent heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
-    'lat_snow_sic', 'Latent heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 9) /))
+      (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
+  TYPE(ctrl_out), SAVE :: o_precip = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
+    'precip', 'Precip Totale liq+sol', 'kg/(s*m2)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'plul', 'Large-scale Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_plun = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'plun', 'Numerical Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_pluc = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
+    'pluc', 'Convective Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_snow = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'snow', 'Snow fall', 'kg/(s*m2)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'evap', 'Evaporat', 'kg/(s*m2)', (/ ('', i=1, 10) /))
+
+  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'sens_rain_oce', 'Sensible heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'sens_rain_sic', 'Sensible heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'sens_snow_oce', 'Sensible heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'sens_snow_sic', 'Sensible heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'lat_rain_oce', 'Latent heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'lat_rain_sic', 'Latent heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'lat_snow_oce', 'Latent heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'lat_snow_sic', 'Latent heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
 
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evap_srf     = (/ &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evap_ter', &
-      "evaporation at surface "//clnsurf(1),"kg/(s*m2)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evap_lic', &
-      "evaporation at surface "//clnsurf(2),"kg/(s*m2)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evap_oce', &
-      "evaporation at surface "//clnsurf(3),"kg/(s*m2)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evap_sic', &
-      "evaporation at surface "//clnsurf(4),"kg/(s*m2)", (/ ('', i=1, 9) /)) /)
-
-  TYPE(ctrl_out), SAVE :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'msnow', 'Surface snow amount', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'fsnow', 'Surface snow area fraction', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tops', 'Solar rad. at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tops0', 'CS Solar rad. at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11 /), &
-    'topl', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'topl0', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWupTOA', 'SWup at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWdnTOA', 'SWdn at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWdnTOAclr', 'SWdn clear sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
-    'nettop', 'Net dn radiatif flux at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWup200', 'SWup at 200mb', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWup200clr', 'SWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWdn200', 'SWdn at 200mb', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWdn200clr', 'SWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 9) /))
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_ter', &
+      "evaporation at surface "//clnsurf(1),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_lic', &
+      "evaporation at surface "//clnsurf(2),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_oce', &
+      "evaporation at surface "//clnsurf(3),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_sic', &
+      "evaporation at surface "//clnsurf(4),"kg/(s*m2)", (/ ('', i=1, 10) /)) /)
+
+  TYPE(ctrl_out), SAVE :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'msnow', 'Surface snow amount', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'fsnow', 'Surface snow area fraction', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tops', 'Solar rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tops0', 'CS Solar rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'topl', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'topl0', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWupTOA', 'SWup at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWdnTOA', 'SWdn at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWdnTOAclr', 'SWdn clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'nettop', 'Net dn radiatif flux at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWup200', 'SWup at 200mb', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWup200clr', 'SWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWdn200', 'SWdn at 200mb', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWdn200clr', 'SWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
 
   ! arajouter
-  !  type(ctrl_out),save :: o_LWupTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /),'LWupTOA', &
-  !    (/ ('', i=1, 9) /))
-  !  type(ctrl_out),save :: o_LWupTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /),'LWupTOAclr', &
-  !    (/ ('', i=1, 9) /))
-  !  type(ctrl_out),save :: o_LWdnTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /),'LWdnTOA', &
-  !    (/ ('', i=1, 9) /))
-  !  type(ctrl_out),save :: o_LWdnTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /),'LWdnTOAclr', &
-  !    (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'LWup200clr', 'LWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'LWdn200', 'LWdn at 200mb', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'LWdn200clr', 'LWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sols', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sols0', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'soll', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'soll0', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_radsol = ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /), &
-    'radsol', 'Rayonnement au sol', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
-    'SWupSFC', 'SWup at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
-    'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11 /), &
-    'SWdnSFC', 'SWdn at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
-    'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
-    'LWupSFC', 'Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
-    'LWupSFCclr', 'CS Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
-    'LWdnSFC', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
-    'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
-    'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_bils_tke = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
-    'bils_tke', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_bils_diss = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
-    'bils_diss', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_bils_ec = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
-    'bils_ec', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_bils_ech = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
-    'bils_ech', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_bils_kinetic = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
-    'bils_kinetic', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_bils_enthalp = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
-    'bils_enthalp', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_bils_latent = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
-    'bils_latent', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sens = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11 /), &
-    'sens', 'Sensible heat flux', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10, 10, 11, 11, 11 /), &
-    'fder', 'Heat flux derivation', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ffonte', 'Thermal flux for snow melting', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'fqcalving', 'Ice Calving', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'fqfonte', 'Land ice melt', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_runofflic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'runofflic', 'Land ice melt to ocean', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'taux', 'Zonal wind stress', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tauy', 'Meridional wind stress', 'Pa', (/ ('', i=1, 9) /))
+  !  type(ctrl_out),save :: o_LWupTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWupTOA', &
+  !    (/ ('', i=1, 10) /))
+  !  type(ctrl_out),save :: o_LWupTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWupTOAclr', &
+  !    (/ ('', i=1, 10) /))
+  !  type(ctrl_out),save :: o_LWdnTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOA', &
+  !    (/ ('', i=1, 10) /))
+  !  type(ctrl_out),save :: o_LWdnTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOAclr', &
+  !    (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'LWup200clr', 'LWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'LWdn200', 'LWdn at 200mb', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'LWdn200clr', 'LWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sols', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sols0', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'soll', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'soll0', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_radsol = ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'radsol', 'Rayonnement au sol', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'SWupSFC', 'SWup at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'SWdnSFC', 'SWdn at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'LWupSFC', 'Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'LWupSFCclr', 'CS Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'LWdnSFC', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_bils_tke = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'bils_tke', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_bils_diss = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'bils_diss', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_bils_ec = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'bils_ec', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_bils_ech = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'bils_ech', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_bils_kinetic = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'bils_kinetic', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_bils_enthalp = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'bils_enthalp', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_bils_latent = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
+    'bils_latent', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sens = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
+    'sens', 'Sensible heat flux', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'fder', 'Heat flux derivation', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ffonte', 'Thermal flux for snow melting', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'fqcalving', 'Ice Calving', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'fqfonte', 'Land ice melt', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_runofflic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'runofflic', 'Land ice melt to ocean', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'taux', 'Zonal wind stress', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tauy', 'Meridional wind stress', 'Pa', (/ ('', i=1, 10) /))
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_taux_srf = (/           &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'taux_ter',             &
-      "Zonal wind stress"//clnsurf(1), "Pa", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'taux_lic',             &
-      "Zonal wind stress"//clnsurf(2), "Pa", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'taux_oce',             &
-      "Zonal wind stress"//clnsurf(3), "Pa", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'taux_sic',             &
-      "Zonal wind stress"//clnsurf(4), "Pa", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_ter',             &
+      "Zonal wind stress"//clnsurf(1), "Pa", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_lic',             &
+      "Zonal wind stress"//clnsurf(2), "Pa", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_oce',             &
+      "Zonal wind stress"//clnsurf(3), "Pa", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_sic',             &
+      "Zonal wind stress"//clnsurf(4), "Pa", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tauy_srf     = (/             &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tauy_ter',                   &
-      "Meridional wind stress "//clnsurf(1),"Pa", (/ ('', i=1, 9) /)),  &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tauy_lic',                   &
-      "Meridional wind stress "//clnsurf(2),"Pa", (/ ('', i=1, 9) /)),  &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tauy_oce',                   &
-      "Meridional wind stress "//clnsurf(3),"Pa", (/ ('', i=1, 9) /)),  &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tauy_sic',                   &
-      "Meridional wind stress "//clnsurf(4),"Pa", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_ter',                   &
+      "Meridional wind stress "//clnsurf(1),"Pa", (/ ('', i=1, 10) /)),  &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_lic',                   &
+      "Meridional wind stress "//clnsurf(2),"Pa", (/ ('', i=1, 10) /)),  &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_oce',                   &
+      "Meridional wind stress "//clnsurf(3),"Pa", (/ ('', i=1, 10) /)),  &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_sic',                   &
+      "Meridional wind stress "//clnsurf(4),"Pa", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_pourc_srf    = (/ &
-      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /),'pourc_ter',      &
-      "% "//clnsurf(1),"%", (/ ('', i=1, 9) /)),            &
-      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /),'pourc_lic',      &
-      "% "//clnsurf(2),"%", (/ ('', i=1, 9) /)),            &
-      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /),'pourc_oce',      &
-      "% "//clnsurf(3),"%", (/ ('', i=1, 9) /)),            &
-      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /),'pourc_sic',      &
-      "% "//clnsurf(4),"%", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_ter',      &
+      "% "//clnsurf(1),"%", (/ ('', i=1, 10) /)),            &
+      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_lic',      &
+      "% "//clnsurf(2),"%", (/ ('', i=1, 10) /)),            &
+      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_oce',      &
+      "% "//clnsurf(3),"%", (/ ('', i=1, 10) /)),            &
+      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_sic',      &
+      "% "//clnsurf(4),"%", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fract_srf    = (/ &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'fract_ter',      &
-      "Fraction "//clnsurf(1),"1", (/ ('', i=1, 9) /)),     &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'fract_lic',      &
-      "Fraction "//clnsurf(2),"1", (/ ('', i=1, 9) /)),     &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'fract_oce',      &
-      "Fraction "//clnsurf(3),"1", (/ ('', i=1, 9) /)),     &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'fract_sic',      &
-      "Fraction "//clnsurf(4),"1", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_ter',      &
+      "Fraction "//clnsurf(1),"1", (/ ('', i=1, 10) /)),     &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_lic',      &
+      "Fraction "//clnsurf(2),"1", (/ ('', i=1, 10) /)),     &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_oce',      &
+      "Fraction "//clnsurf(3),"1", (/ ('', i=1, 10) /)),     &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_sic',      &
+      "Fraction "//clnsurf(4),"1", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tsol_srf     = (/ &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tsol_ter',       &
-      "Temperature "//clnsurf(1),"K", (/ ('', i=1, 9) /)),  &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tsol_lic',       &
-      "Temperature "//clnsurf(2),"K", (/ ('', i=1, 9) /)),  &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tsol_oce',       &
-      "Temperature "//clnsurf(3),"K", (/ ('', i=1, 9) /)),  &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tsol_sic',       &
-      "Temperature "//clnsurf(4),"K", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_ter',       &
+      "Temperature "//clnsurf(1),"K", (/ ('', i=1, 10) /)),  &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_lic',       &
+      "Temperature "//clnsurf(2),"K", (/ ('', i=1, 10) /)),  &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_oce',       &
+      "Temperature "//clnsurf(3),"K", (/ ('', i=1, 10) /)),  &
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_sic',       &
+      "Temperature "//clnsurf(4),"K", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evappot_srf  = (/ &
-      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evappot_ter',    &
-      "Temperature"//clnsurf(1),"K", (/ ('', i=1, 9) /)),   &
-      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /),'evappot_lic',    &
-      "Temperature"//clnsurf(2),"K", (/ ('', i=1, 9) /)),   &
-      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /),'evappot_oce',    &
-      "Temperature"//clnsurf(3),"K", (/ ('', i=1, 9) /)),   &
-      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /),'evappot_sic',    &
-      "Temperature"//clnsurf(4),"K", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_ter',    &
+      "Temperature"//clnsurf(1),"K", (/ ('', i=1, 10) /)),   &
+      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_lic',    &
+      "Temperature"//clnsurf(2),"K", (/ ('', i=1, 10) /)),   &
+      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_oce',    &
+      "Temperature"//clnsurf(3),"K", (/ ('', i=1, 10) /)),   &
+      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_sic',    &
+      "Temperature"//clnsurf(4),"K", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_sens_srf     = (/          &
-      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'sens_ter',                 &
-      "Sensible heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'sens_lic',                 &
-      "Sensible heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'sens_oce',                 &
-      "Sensible heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'sens_sic',                 &
-      "Sensible heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_ter',                 &
+      "Sensible heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_lic',                 &
+      "Sensible heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_oce',                 &
+      "Sensible heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_sic',                 &
+      "Sensible heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_lat_srf      = (/        &
-      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'lat_ter',                &
-      "Latent heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'lat_lic',                &
-      "Latent heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'lat_oce',                &
-      "Latent heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'lat_sic',                &
-      "Latent heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_ter',                &
+      "Latent heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_lic',                &
+      "Latent heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_oce',                &
+      "Latent heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_sic',                &
+      "Latent heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_flw_srf      = (/ &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'flw_ter',       &
-      "LW "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)),        &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'flw_lic',       &
-      "LW "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)),        &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'flw_oce',       &
-      "LW "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)),        &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'flw_sic',       &
-      "LW "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_ter',       &
+      "LW "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)),        &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_lic',       &
+      "LW "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)),        &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_oce',       &
+      "LW "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)),        &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_sic',       &
+      "LW "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fsw_srf      = (/ &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'fsw_ter',       &
-      "SW "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)),        &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'fsw_lic',       &
-      "SW "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)),        &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'fsw_oce',       &
-      "SW "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)),        &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'fsw_sic',       &
-      "SW "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_ter',       &
+      "SW "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)),        &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_lic',       &
+      "SW "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)),        &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_oce',       &
+      "SW "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)),        &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_sic',       &
+      "SW "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbils_srf    = (/ &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbils_ter',     &
-      "Bilan sol "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbils_lic',     &
-      "Bilan sol "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbils_oce',     &
-      "Bilan sol "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbils_sic',     &
-      "Bilan sol "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_ter',     &
+      "Bilan sol "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_lic',     &
+      "Bilan sol "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_oce',     &
+      "Bilan sol "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_sic',     &
+      "Bilan sol "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbilo_srf    = (/      &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbilo_ter',          &
-      "Bilan eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbilo_lic',          &
-      "Bilan eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbilo_oce',          &
-      "Bilan eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbilo_sic',          &
-      "Bilan eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_ter',          &
+      "Bilan eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_lic',          &
+      "Bilan eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_oce',          &
+      "Bilan eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_sic',          &
+      "Bilan eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wevap_srf    = (/      &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wevap_ter',          &
-      "Evap eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wevap_lic',          &
-      "Evap eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wevap_oce',          &
-      "Evap eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wevap_sic',          &
-      "Evap eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_ter',          &
+      "Evap eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_lic',          &
+      "Evap eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_oce',          &
+      "Evap eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_sic',          &
+      "Evap eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wrain_srf    = (/      &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wrain_ter',          &
-      "Pluie eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wrain_lic',          &
-      "Pluie eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wrain_oce',          &
-      "Pluie eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wrain_sic',          &
-      "Pluie eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_ter',          &
+      "Pluie eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_lic',          &
+      "Pluie eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_oce',          &
+      "Pluie eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_sic',          &
+      "Pluie eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wsnow_srf    = (/      &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wsnow_ter',          &
-      "Neige eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wsnow_lic',          &
-      "Neige eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wsnow_oce',          &
-      "Neige eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wsnow_sic',          &
-      "Neige eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 9) /)) /)
-
-  TYPE(ctrl_out), SAVE :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cdrm', 'Momentum drag coef.', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cdrh = ctrl_out((/ 1, 10, 10, 7, 10, 10, 11, 11, 11 /), &
-    'cdrh', 'Heat drag coef.', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldl', 'Low-level cloudiness', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldm', 'Mid-level cloudiness', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldh', 'High-level cloudiness', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 5, 10, 11, 11, 11 /), &
-    'cldt', 'Total cloudiness', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_JrNt = ctrl_out((/ 1, 1, 10, 7, 10, 10, 11, 11, 11 /), &
-    'JrNt', '1 if Day 0 if Night', '-', (/ ('', i=1, 9) /))                                                                                  
-  TYPE(ctrl_out), SAVE :: o_cldhjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldhjn', 'High-level cloudiness Day', '-', (/ ('', i=1, 9) /))                                                                                   
-  TYPE(ctrl_out), SAVE :: o_cldmjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11/), &      
-    'cldmjn', 'Mid-level cloudiness day', '-', (/ ('', i=1, 9) /))                                                           
-  TYPE(ctrl_out), SAVE :: o_cldljn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11/), &       
-    'cldljn', 'Low-level cloudiness day', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cldtjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11/), &     
-    'cldtjn', 'Total cloudiness day', '-', (/ ('', i=1, 9) /))
-                                                       
-  TYPE(ctrl_out), SAVE :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldq', 'Cloud liquid water path', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'lwp', 'Cloud water path', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'iwp', 'Cloud ice water path', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ue', 'Zonal energy transport', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    've', 'Merid energy transport', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'uq', 'Zonal humidity transport', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'vq', 'Merid humidity transport', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cape', 'Conv avlbl pot ener', 'J/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'pbase', 'Cld base pressure', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ptop', 'Cld top pressure', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'fbase', 'Cld base mass flux', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_plcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'plcl', 'Lifting Condensation Level', 'hPa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_plfc = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'plfc', 'Level of Free Convection', 'hPa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wbeff = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'wbeff', 'Conv. updraft velocity at LFC (<100)', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'prw', 'Precipitable water', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_prlw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'prlw', 'Precipitable liquid water', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_prsw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'prsw', 'Precipitable solid water', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    's_pblh', 'Boundary Layer Height', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    's_pblt', 't at Boundary Layer Height', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    's_lcl', 'Condensation level', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    's_therm', 'Exces du thermique', 'K', (/ ('', i=1, 9) /))
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_ter',          &
+      "Neige eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_lic',          &
+      "Neige eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_oce',          &
+      "Neige eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_sic',          &
+      "Neige eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
+
+  TYPE(ctrl_out), SAVE :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cdrm', 'Momentum drag coef.', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cdrh = ctrl_out((/ 1, 10, 10, 7, 10, 10, 11, 11, 11, 11/), &
+    'cdrh', 'Heat drag coef.', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldl', 'Low-level cloudiness', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldm', 'Mid-level cloudiness', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldh', 'High-level cloudiness', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 5, 10, 11, 11, 11, 11/), &
+    'cldt', 'Total cloudiness', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_JrNt = ctrl_out((/ 1, 1, 10, 7, 10, 10, 11, 11, 11, 11/), &
+    'JrNt', '1 if Day 0 if Night', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldhjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldhjn', 'High-level cloudiness Day', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldmjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &      
+    'cldmjn', 'Mid-level cloudiness day', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldljn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &       
+    'cldljn', 'Low-level cloudiness day', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldtjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &     
+    'cldtjn', 'Total cloudiness day', '-', (/ ('', i=1, 10) /))
+ 
+  TYPE(ctrl_out), SAVE :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldq', 'Cloud liquid water path', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwp', 'Cloud water path', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'iwp', 'Cloud ice water path', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ue', 'Zonal energy transport', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    've', 'Merid energy transport', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'uq', 'Zonal humidity transport', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'vq', 'Merid humidity transport', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cape', 'Conv avlbl pot ener', 'J/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'pbase', 'Cld base pressure', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ptop', 'Cld top pressure', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'fbase', 'Cld base mass flux', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_plcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'plcl', 'Lifting Condensation Level', 'hPa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_plfc = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'plfc', 'Level of Free Convection', 'hPa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wbeff = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'wbeff', 'Conv. updraft velocity at LFC (<100)', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'prw', 'Precipitable water', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_prlw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'prlw', 'Precipitable liquid water', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_prsw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'prsw', 'Precipitable solid water', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    's_pblh', 'Boundary Layer Height', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    's_pblt', 't at Boundary Layer Height', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    's_lcl', 'Condensation level', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    's_therm', 'Exces du thermique', 'K', (/ ('', i=1, 10) /))
   !IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F
-  ! type(ctrl_out),save :: o_s_capCL      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_capCL', &
-!    (/ ('', i=1, 9) /))
-  ! type(ctrl_out),save :: o_s_oliqCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_oliqCL', &
-!    (/ ('', i=1, 9) /))
-  ! type(ctrl_out),save :: o_s_cteiCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_cteiCL', &
-!    (/ ('', i=1, 9) /))
-  ! type(ctrl_out),save :: o_s_trmb1      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_trmb1', &
-!    (/ ('', i=1, 9) /))
-  ! type(ctrl_out),save :: o_s_trmb2      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_trmb2', &
-!    (/ ('', i=1, 9) /))
-  ! type(ctrl_out),save :: o_s_trmb3      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_trmb3', &
-    !(/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'slab_bils', 'flux atmos - slab ponderes foce', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_slab_bilg = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'slab_bilg', 'flux glace - slab ponderes fsic', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_slab_qflux = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'slab_qflux', 'Correction flux slab', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tslab = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tslab', 'Temperature ocean slab', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_slab_tice = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'slab_tice', 'Temperature banquise slab', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_slab_sic = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'seaice', 'Epaisseur banquise slab', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_slab_hdiff = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'slab_hdiff', 'Horizontal diffusion', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_slab_ekman = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'slab_ekman', 'Ekman heat transport', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'ale_bl', 'ALE BL', 'm2/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'alp_bl', 'ALP BL', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'ale_wk', 'ALE WK', 'm2/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'alp_wk', 'ALP WK', 'W/m2', (/ ('', i=1, 9) /))
+  ! type(ctrl_out),save :: o_s_capCL      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_capCL', &
+!    (/ ('', i=1, 10) /))
+  ! type(ctrl_out),save :: o_s_oliqCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_oliqCL', &
+!    (/ ('', i=1, 10) /))
+  ! type(ctrl_out),save :: o_s_cteiCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_cteiCL', &
+!    (/ ('', i=1, 10) /))
+  ! type(ctrl_out),save :: o_s_trmb1      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb1', &
+!    (/ ('', i=1, 10) /))
+  ! type(ctrl_out),save :: o_s_trmb2      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb2', &
+!    (/ ('', i=1, 10) /))
+  ! type(ctrl_out),save :: o_s_trmb3      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb3', &
+    !(/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'slab_bils', 'flux atmos - slab ponderes foce', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_slab_bilg = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'slab_bilg', 'flux glace - slab ponderes fsic', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_slab_qflux = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'slab_qflux', 'Correction flux slab', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tslab = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tslab', 'Temperature ocean slab', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_slab_tice = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'slab_tice', 'Temperature banquise slab', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_slab_sic = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'seaice', 'Epaisseur banquise slab', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_slab_hdiff = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'slab_hdiff', 'Horizontal diffusion', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_slab_ekman = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'slab_ekman', 'Ekman heat transport', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'ale_bl', 'ALE BL', 'm2/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'alp_bl', 'ALP BL', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'ale_wk', 'ALE WK', 'm2/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'alp_wk', 'ALP WK', 'W/m2', (/ ('', i=1, 10) /))
 !!!
 !nrlmd+jyg<
-  type(ctrl_out),save :: o_dtvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtvdf_x', ' dtvdf off_wake','K/s', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dtvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtvdf_w', ' dtvdf within_wake','K/s', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dqvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqvdf_x', ' dqvdf off_wake','kg/kg/s', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_dqvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqvdf_w', ' dqvdf within_wake','kg/kg/s', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtvdf_x', ' dtvdf off_wake','K/s', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dtvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtvdf_w', ' dtvdf within_wake','K/s', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dqvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqvdf_x', ' dqvdf off_wake','kg/kg/s', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_dqvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqvdf_w', ' dqvdf within_wake','kg/kg/s', (/ ('', i=1, 10) /))
 !!
-  type(ctrl_out),save :: o_sens_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'sens_x', 'sens off_wake', 'W/m2', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_sens_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'sens_w', 'sens within_wake', 'W/m2', (/ ('', i=1, 9) /))                                                                                   
-  type(ctrl_out),save :: o_flat_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'flat_x', 'flat off_wake', 'W/m2', (/ ('', i=1, 9) /))                                                                                   
-  type(ctrl_out),save :: o_flat_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'flat_w', 'flat within_wake', 'W/m2', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_sens_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'sens_x', 'sens off_wake', 'W/m2', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_sens_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'sens_w', 'sens within_wake', 'W/m2', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_flat_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'flat_x', 'flat off_wake', 'W/m2', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_flat_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'flat_w', 'flat within_wake', 'W/m2', (/ ('', i=1, 10) /))
 !!
-  type(ctrl_out),save :: o_delta_tsurf    = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'delta_tsurf', 'Temperature difference (w-x)', 'K', (/ ('', i=1, 9) /))                                                                               
-  type(ctrl_out),save :: o_cdragh_x       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'cdragh_x', 'cdragh off-wake', '', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_cdragh_w       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'cdragh_w', 'cdragh within-wake', '', (/ ('', i=1, 9) /))                                                                                  
-  type(ctrl_out),save :: o_cdragm_x       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'cdragm_x', 'cdragm off-wake', '', (/ ('', i=1, 9) /))
-  type(ctrl_out),save :: o_cdragm_w       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'cdragm_w', 'cdrgam within-wake', '', (/ ('', i=1, 9) /))                                                                                  
-  type(ctrl_out),save :: o_kh             = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'kh', 'Kh', 'kg/s/m2', (/ ('', i=1, 9) /))                                                                                        
-  type(ctrl_out),save :: o_kh_x           = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'kh_x', 'Kh off-wake', 'kg/s/m2', (/ ('', i=1, 9) /))                                                                                      
-  type(ctrl_out),save :: o_kh_w           = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-'kh_w', 'Kh within-wake', 'kg/s/m2', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_delta_tsurf    = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'delta_tsurf', 'Temperature difference (w-x)', 'K', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_cdragh_x       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'cdragh_x', 'cdragh off-wake', '', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_cdragh_w       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'cdragh_w', 'cdragh within-wake', '', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_cdragm_x       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'cdragm_x', 'cdragm off-wake', '', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_cdragm_w       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'cdragm_w', 'cdrgam within-wake', '', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_kh             = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'kh', 'Kh', 'kg/s/m2', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_kh_x           = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'kh_x', 'Kh off-wake', 'kg/s/m2', (/ ('', i=1, 10) /))
+  type(ctrl_out),save :: o_kh_w           = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+'kh_w', 'Kh within-wake', 'kg/s/m2', (/ ('', i=1, 10) /))
 !>nrlmd+jyg
 !!!
-  TYPE(ctrl_out), SAVE :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'ale', 'ALE', 'm2/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'alp', 'ALP', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'cin', 'Convective INhibition', 'm2/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'wape', '', 'm2/s2', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'ale', 'ALE', 'm2/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'alp', 'ALP', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'cin', 'Convective INhibition', 'm2/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'wape', '', 'm2/s2', (/ ('', i=1, 10) /))
 
 !!! nrlmd le 10/04/2012
 
 !-------Spectre de thermiques de type 2 au LCL
-  TYPE(ctrl_out), SAVE :: o_n2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
-    'n2', 'Nombre de panaches de type 2', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_s2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
-    's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i=1, 9) /))
-                                                                             
-!-------Déclenchement stochastique                                           
-  TYPE(ctrl_out), SAVE :: o_proba_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
-    'proba_notrig', &
-                         'Probabilite de non-declenchement', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_random_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
-    'random_notrig', &
-                         'Tirage aleatoire de non-declenchement', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ale_bl_stat = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
-    'ale_bl_stat', &
-       'ALE_BL_STAT', 'm2/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ale_bl_trig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
-    'ale_bl_trig', &
-       'ALE_BL_STAT + Condition S>Sthreshold', 'm2/s2', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_n2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    'n2', 'Nombre de panaches de type 2', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_s2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i=1, 10) /))
+              
+!-------Déclenchement stochastiqu
+  TYPE(ctrl_out), SAVE :: o_proba_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    'proba_notrig', 'Probabilite de non-declenchement', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_random_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    'random_notrig', 'Tirage aleatoire de non-declenchement', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ale_bl_stat = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    'ale_bl_stat', 'ALE_BL_STAT', 'm2/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ale_bl_trig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
+    'ale_bl_trig', 'ALE_BL_STAT + Condition S>Sthreshold', 'm2/s2', (/ ('', i=1, 10) /))
 
 !-------Fermeture statistique
-  TYPE(ctrl_out), SAVE :: o_alp_bl_det = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'alp_bl_det', 'ALP_BL_DET', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'alp_bl_fluct_m', 'ALP_BL_FLUCT_M', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_tke = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'alp_bl_fluct_tke', 'ALP_BL_FLUCT_TKE', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_alp_bl_conv = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'alp_bl_conv', 'ALP_BL_CONV', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_alp_bl_stat = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
-    'alp_bl_stat', 'ALP_BL_STAT', 'W/m2', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_alp_bl_det = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'alp_bl_det', 'ALP_BL_DET', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'alp_bl_fluct_m', 'ALP_BL_FLUCT_M', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_tke = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'alp_bl_fluct_tke', 'ALP_BL_FLUCT_TKE', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_alp_bl_conv = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'alp_bl_conv', 'ALP_BL_CONV', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_alp_bl_stat = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
+    'alp_bl_stat', 'ALP_BL_STAT', 'W/m2', (/ ('', i=1, 10) /))
 
 !!! fin nrlmd le 10/04/2012
@@ -805,774 +802,800 @@
 
   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_uSTDlevs     = (/                    &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u850', "Zonal wind 850hPa", "m/s",     &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u700', "Zonal wind 700hPa", "m/s",     &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u500', "Zonal wind 500hPa", "m/s",     &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u200', "Zonal wind 200hPa", "m/s",     &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u100', "Zonal wind 100hPa", "m/s",     &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u50', "Zonal wind 50hPa", "m/s",     &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u10', "Zonal wind 10hPa", "m/s",     &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u850', "Zonal wind 850hPa", "m/s",     &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u700', "Zonal wind 700hPa", "m/s",     &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u500', "Zonal wind 500hPa", "m/s",     &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u200', "Zonal wind 200hPa", "m/s",     &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u100', "Zonal wind 100hPa", "m/s",     &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u50', "Zonal wind 50hPa", "m/s",     &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u10', "Zonal wind 10hPa", "m/s",     &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_vSTDlevs     = (/                     &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v850', "Meridional wind 850hPa", "m/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v700', "Meridional wind 700hPa", "m/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v500', "Meridional wind 500hPa", "m/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v200', "Meridional wind 200hPa", "m/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v100', "Meridional wind 100hPa", "m/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v50', "Meridional wind 50hPa", "m/s",  &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v10', "Meridional wind 10hPa", "m/s",  &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v850', "Meridional wind 850hPa", "m/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v700', "Meridional wind 700hPa", "m/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v500', "Meridional wind 500hPa", "m/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v200', "Meridional wind 200hPa", "m/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v100', "Meridional wind 100hPa", "m/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v50', "Meridional wind 50hPa", "m/s",  &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v10', "Meridional wind 10hPa", "m/s",  &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_wSTDlevs     = (/                    &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w850', "Vertical wind 850hPa", "Pa/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w700', "Vertical wind 700hPa", "Pa/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w500', "Vertical wind 500hPa", "Pa/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w200', "Vertical wind 200hPa", "Pa/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w100', "Vertical wind 100hPa", "Pa/s", &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w50', "Vertical wind 50hPa", "Pa/s",  &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w10', "Vertical wind 10hPa", "Pa/s",  &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w850', "Vertical wind 850hPa", "Pa/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w700', "Vertical wind 700hPa", "Pa/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w500', "Vertical wind 500hPa", "Pa/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w200', "Vertical wind 200hPa", "Pa/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w100', "Vertical wind 100hPa", "Pa/s", &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w50', "Vertical wind 50hPa", "Pa/s",  &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w10', "Vertical wind 10hPa", "Pa/s",  &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_tSTDlevs     = (/                    &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t850', "Temperature 850hPa", "K",      &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t700', "Temperature 700hPa", "K",      &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t500', "Temperature 500hPa", "K",      &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t200', "Temperature 200hPa", "K",      &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t100', "Temperature 100hPa", "K",      &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t50',  "Temperature 50hPa", "K",      &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t10',  "Temperature 10hPa", "K",      &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t850', "Temperature 850hPa", "K",      &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t700', "Temperature 700hPa", "K",      &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t500', "Temperature 500hPa", "K",      &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t200', "Temperature 200hPa", "K",      &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t100', "Temperature 100hPa", "K",      &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t50',  "Temperature 50hPa", "K",      &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t10',  "Temperature 10hPa", "K",      &
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_qSTDlevs     = (/                             &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q850', "Specific humidity 850hPa", &
-      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q700', "Specific humidity 700hPa", &
-      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q500', "Specific humidity 500hPa", &
-      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q200', "Specific humidity 200hPa", &
-      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q100', "Specific humidity 100hPa", &
-      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q50', "Specific humidity 50hPa",  &
-      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q10', "Specific humidity 10hPa", &
-      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q850', "Specific humidity 850hPa", &
+      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q700', "Specific humidity 700hPa", &
+      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q500', "Specific humidity 500hPa", &
+      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q200', "Specific humidity 200hPa", &
+      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q100', "Specific humidity 100hPa", &
+      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q50', "Specific humidity 50hPa",  &
+      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q10', "Specific humidity 10hPa", &
+      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_zSTDlevs   = (/                           &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z850', "Geopotential height 850hPa",        &
-      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z700', "Geopotential height 700hPa",        &
-      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z500', "Geopotential height 500hPa",        &
-      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z200', "Geopotential height 200hPa",        &
-      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z100', "Geopotential height 100hPa",        &
-      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z50', "Geopotential height 50hPa",         &
-      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
-      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z10', "Geopotential height 10hPa",         &
-      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
-
-  TYPE(ctrl_out), SAVE :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    't_oce_sic', 'Temp mixte oce-sic', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'weakinv', 'Weak inversion', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dthmin', 'dTheta mini', 'K/m', (/ ('', i=1, 9) /))
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z850', "Geopotential height 850hPa",        &
+      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z700', "Geopotential height 700hPa",        &
+      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z500', "Geopotential height 500hPa",        &
+      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z200', "Geopotential height 200hPa",        &
+      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z100', "Geopotential height 100hPa",        &
+      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z50', "Geopotential height 50hPa",         &
+      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
+      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z10', "Geopotential height 10hPa",         &
+      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
+
+  TYPE(ctrl_out), SAVE :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    't_oce_sic', 'Temp mixte oce-sic', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'weakinv', 'Weak inversion', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dthmin', 'dTheta mini', 'K/m', (/ ('', i=1, 10) /))
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10_srf      = (/ &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'u10_ter', "", "", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'u10_lic', "", "", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'u10_oce', "", "", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'u10_sic', "", "", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_ter', "", "", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_lic', "", "", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_oce', "", "", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_sic', "", "", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10_srf      = (/ &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'v10_ter', "", "", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'v10_lic', "", "", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'v10_oce', "", "", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'v10_sic', "", "", (/ ('', i=1, 9) /)) /)
-
-  TYPE(ctrl_out), SAVE :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldtau', 'Cloud optical thickness', '1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldemi', 'Cloud optical emissivity', '1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rh2m', 'Relative humidity at 2m', '%', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_ter', "", "", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_lic', "", "", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_oce', "", "", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_sic', "", "", (/ ('', i=1, 10) /)) /)
+
+  TYPE(ctrl_out), SAVE :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldtau', 'Cloud optical thickness', '1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldemi', 'Cloud optical emissivity', '1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rh2m', 'Relative humidity at 2m', '%', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'rh2m_min', 'Min Relative humidity at 2m', '%',                        &
-      (/ 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)' /))
-  TYPE(ctrl_out), SAVE :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rh2m_max', 'Max Relative humidity at 2m', '%',                        &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+      (/ 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', & 
+         't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)' /))
+  TYPE(ctrl_out), SAVE :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rh2m_max', 'Max Relative humidity at 2m', '%',                         &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  TYPE(ctrl_out), SAVE :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'qsat2m', 'Saturant humidity at 2m', '%', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tpot', 'Surface air potential temperature', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tpote', &
-      'Surface air equivalent potential temperature', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tke ', 'TKE', 'm2/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tke_max', 'TKE max', 'm2/s2',                                        &
+  TYPE(ctrl_out), SAVE :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'qsat2m', 'Saturant humidity at 2m', '%', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tpot', 'Surface air potential temperature', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tpote', 'Surface air equivalent potential temperature', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tke ', 'TKE', 'm2/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tke_max', 'TKE max', 'm2/s2',                                  &
       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_srf      = (/             &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_ter',       &
-      "Max Turb. Kinetic Energy "//clnsurf(1),"m2/s2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_lic',       &
-      "Max Turb. Kinetic Energy "//clnsurf(2),"m2/s2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_oce',       &
-      "Max Turb. Kinetic Energy "//clnsurf(3),"m2/s2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_sic',       &
-      "Max Turb. Kinetic Energy "//clnsurf(4),"m2/s2", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_ter',       &
+      "Max Turb. Kinetic Energy "//clnsurf(1),"m2/s2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_lic',       &
+      "Max Turb. Kinetic Energy "//clnsurf(2),"m2/s2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_oce',       &
+      "Max Turb. Kinetic Energy "//clnsurf(3),"m2/s2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_sic',       &
+      "Max Turb. Kinetic Energy "//clnsurf(4),"m2/s2", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mixmin      = (/             &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mixmin_ter',       &
-      "PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mixmin_lic',       &
-      "PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mixmin_oce',       &
-      "PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mixmin_sic',       &
-      "PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_ter',       &
+      "PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_lic',       &
+      "PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_oce',       &
+      "PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_sic',       &
+      "PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mix      = (/             &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mix_ter',       &
-      "min PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mix_lic',       &
-      "min PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mix_oce',       &
-      "min PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mix_sic',       &
-      "min PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_ter',       &
+      "min PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_lic',       &
+      "min PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_oce',       &
+      "min PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_sic',       &
+      "min PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_max_srf  = (/                          &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_max_ter',                &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_ter',                &
       "Max Turb. Kinetic Energy "//clnsurf(1),"-",                                   &
       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
-         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_max_lic',                &
+         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_lic',                &
       "Max Turb. Kinetic Energy "//clnsurf(2),"-",                                   &
       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
-         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_max_oce',                &
+         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_oce',                &
       "Max Turb. Kinetic Energy "//clnsurf(3),"-",                                   &
       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
-         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_max_sic',                &
+         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_sic',                &
       "Max Turb. Kinetic Energy "//clnsurf(4),"-",                                   &
       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
-         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)) /)
+         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_dltpbltke_srf      = (/             &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'dltpbltke_ter',       &
-      "TKE difference (w - x) "//clnsurf(1),"-", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'dltpbltke_lic',       &
-      "TKE difference (w - x) "//clnsurf(2),"-", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'dltpbltke_oce',       &
-      "TKE difference (w - x) "//clnsurf(3),"-", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'dltpbltke_sic',       &
-      "TKE difference (w - x) "//clnsurf(4),"-", (/ ('', i=1, 9) /)) /)
-
-  TYPE(ctrl_out), SAVE :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'kz', 'Kz melange', 'm2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_ter',       &
+      "TKE difference (w - x) "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_lic',       &
+      "TKE difference (w - x) "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_oce',       &
+      "TKE difference (w - x) "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_sic',       &
+      "TKE difference (w - x) "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
+
+  TYPE(ctrl_out), SAVE :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'kz', 'Kz melange', 'm2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'kz_max', 'Kz melange max', 'm2/s',                                  &
       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', "t_max(X)", "t_max(X)", "t_max(X)" /))
-  TYPE(ctrl_out), SAVE :: o_SWnetOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWnetOR', 'Sfce net SW radiation OR', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'SWdownOR', 'Sfce incident SW radiation OR', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_LWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'LWdownOR', 'Sfce incident LW radiation OR', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'snowl', 'Solid Large-scale Precip.', 'kg/(m2*s)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
+         't_max(X)', "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
+  TYPE(ctrl_out), SAVE :: o_SWnetOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWnetOR', 'Sfce net SW radiation OR', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'SWdownOR', 'Sfce incident SW radiation OR', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_LWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'LWdownOR', 'Sfce incident LW radiation OR', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'snowl', 'Solid Large-scale Precip.', 'kg/(m2*s)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'cape_max', 'CAPE max.', 'J/kg',                                       &
       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
-         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
-  TYPE(ctrl_out), SAVE :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
-    'solldown', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtsvdfo', 'Boundary-layer dTs(o)', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtsvdft', 'Boundary-layer dTs(t)', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtsvdfg', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtsvdfi', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_z0m = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'z0m', 'roughness length, momentum', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_z0h = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'z0h', 'roughness length, enthalpy', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'topswad', 'ADE at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_topswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'topswad0', 'ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_topswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'topswai', 'AIE at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_solswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'solswad', 'ADE at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_solswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'solswad0', 'ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_solswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'solswai', 'AIE at SFR', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_toplwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'toplwad', 'LW-ADE at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_toplwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'toplwad0', 'LW-ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_toplwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'toplwai', 'LW-AIE at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sollwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sollwad', 'LW-ADE at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sollwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sollwad0', 'LW-ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sollwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sollwai', 'LW-AIE at SFR', 'W/m2', (/ ('', i=1, 9) /))
+         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
+  TYPE(ctrl_out), SAVE :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'solldown', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtsvdfo', 'Boundary-layer dTs(o)', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtsvdft', 'Boundary-layer dTs(t)', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtsvdfg', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtsvdfi', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_z0m = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'z0m', 'roughness length, momentum', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_z0h = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'z0h', 'roughness length, enthalpy', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'topswad', 'ADE at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_topswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'topswad0', 'ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_topswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'topswai', 'AIE at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_solswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'solswad', 'ADE at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_solswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'solswad0', 'ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_solswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'solswai', 'AIE at SFR', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_toplwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'toplwad', 'LW-ADE at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_toplwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'toplwad0', 'LW-ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_toplwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'toplwai', 'LW-AIE at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sollwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sollwad', 'LW-ADE at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sollwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sollwad0', 'LW-ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sollwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sollwai', 'LW-AIE at SFR', 'W/m2', (/ ('', i=1, 10) /))
 
 
   TYPE(ctrl_out),SAVE,DIMENSION(naero_tot) :: o_tausumaero =                              &
-       (/ ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(1),     &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(1),"1", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(2),        &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(2),"2", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(3),        &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(3),"3", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(4),        &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(4),"4", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(5),        &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(5),"5", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(6),        &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(6),"6", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(7),        &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(7),"7", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(8),        &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(8),"8", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(9),        &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(9),"9", (/ ('', i=1, 9) /)),     &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(10),       &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(10),"10", (/ ('', i=1, 9) /)),   &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(11),       &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(11),"11", (/ ('', i=1, 9) /)),   &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(12),       &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(12),"12", (/ ('', i=1, 9) /)),   &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(13),       &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(13),"13", (/ ('', i=1, 9) /)),   &
-       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(14),       &
-       "Aerosol Optical depth at 550 nm "//name_aero_tau(14),"14", (/ ('', i=1, 9) /)) /)
+       (/ ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(1),     &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(1),"1", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(2),        &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(2),"2", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(3),        &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(3),"3", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(4),        &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(4),"4", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(5),        &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(5),"5", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(6),        &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(6),"6", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(7),        &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(7),"7", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(8),        &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(8),"8", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(9),        &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(9),"9", (/ ('', i=1, 10) /)),     &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(10),       &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(10),"10", (/ ('', i=1, 10) /)),   &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(11),       &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(11),"11", (/ ('', i=1, 10) /)),   &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(12),       &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(12),"12", (/ ('', i=1, 10) /)),   &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(13),       &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(13),"13", (/ ('', i=1, 10) /)),   &
+       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(14),       &
+       "Aerosol Optical depth at 550 nm "//name_aero_tau(14),"14", (/ ('', i=1, 10) /)) /)
 !
-  TYPE(ctrl_out), SAVE :: o_tausumaero_lw = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'OD_10um_STRAT', 'Stratospheric Aerosol Optical depth at 10 um ', '1', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_tausumaero_lw = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'OD_10um_STRAT', 'Stratospheric Aerosol Optical depth at 10 um ', '1', (/ ('', i=1, 10) /))
 !
-  TYPE(ctrl_out), SAVE :: o_od550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'od550aer', 'Total aerosol optical depth at 550nm', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_od865aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'od865aer', 'Total aerosol optical depth at 870nm', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_absvisaer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'absvisaer', 'Absorption aerosol visible optical depth', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'od550lt1aer', 'Fine mode optical depth', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sconcso4', 'Surface Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sconcno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sconcno3', 'Surface Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sconcoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sconcoa', 'Surface Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sconcbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sconcbc', 'Surface Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sconcss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sconcss', 'Surface Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sconcdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sconcdust', 'Surface Concentration of Dust ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_concso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'concso4', 'Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_concno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'concno3', 'Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_concoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'concoa', 'Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_concbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'concbc', 'Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_concss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'concss', 'Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_concdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'concdust', 'Concentration of Dust ', 'kg/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_loadso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'loadso4', 'Column Load of Sulfate ', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_loadoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'loadoa', 'Column Load of Organic Aerosol ', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_loadbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'loadbc', 'Column Load of Black Carbon ', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_loadss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'loadss', 'Column Load of Sea Salt ', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_loaddust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'loaddust', 'Column Load of Dust ', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swtoaas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swtoaas_nat', 'Natural aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swsrfas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swsrfas_nat', 'Natural aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swtoacs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swtoacs_nat', 'Natural aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swsrfcs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swsrfcs_nat', 'Natural aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swtoaas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swtoaas_ant', 'Anthropogenic aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swsrfas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swsrfas_ant', 'Anthropogenic aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swtoacs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swtoacs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swsrfcs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swsrfcs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swtoacf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swtoacf_nat', 'Natural aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swsrfcf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swsrfcf_nat', 'Natural aerosol impact on cloud radiative forcing  at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swtoacf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swtoacf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swsrfcf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swsrfcf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swtoacf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swtoacf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at TOA', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_swsrfcf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'swsrfcf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at SRF', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cldncl = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldncl', 'CDNC at top of liquid water cloud', 'm-3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_reffclwtop = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'reffclwtop', 'Droplet effective radius at top of liquid water cloud', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_cldnvi = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'cldnvi', 'Column Integrated Cloud Droplet Number', 'm-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lcc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'lcc', 'Cloud liquid fraction at top of cloud', '1', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_od550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'od550aer', 'Total aerosol optical depth at 550nm', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_od865aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'od865aer', 'Total aerosol optical depth at 870nm', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_absvisaer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'absvisaer', 'Absorption aerosol visible optical depth', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'od550lt1aer', 'Fine mode optical depth', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sconcso4', 'Surface Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sconcno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sconcno3', 'Surface Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sconcoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sconcoa', 'Surface Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sconcbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sconcbc', 'Surface Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sconcss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sconcss', 'Surface Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sconcdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'sconcdust', 'Surface Concentration of Dust ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_concso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'concso4', 'Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_concno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'concno3', 'Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_concoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'concoa', 'Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_concbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'concbc', 'Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_concss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'concss', 'Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_concdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'concdust', 'Concentration of Dust ', 'kg/m3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_loadso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'loadso4', 'Column Load of Sulfate ', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_loadoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'loadoa', 'Column Load of Organic Aerosol ', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_loadbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'loadbc', 'Column Load of Black Carbon ', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_loadss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'loadss', 'Column Load of Sea Salt ', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_loaddust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'loaddust', 'Column Load of Dust ', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swtoaas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swtoaas_nat', 'Natural aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swsrfas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swsrfas_nat', 'Natural aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swtoacs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swtoacs_nat', 'Natural aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swsrfcs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swsrfcs_nat', 'Natural aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swtoaas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swtoaas_ant', 'Anthropogenic aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swsrfas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swsrfas_ant', 'Anthropogenic aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swtoacs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swtoacs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swsrfcs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swsrfcs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swtoacf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swtoacf_nat', 'Natural aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swsrfcf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swsrfcf_nat', 'Natural aerosol impact on cloud radiative forcing  at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swtoacf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swtoacf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swsrfcf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swsrfcf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swtoacf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swtoacf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at TOA', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_swsrfcf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'swsrfcf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at SRF', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldncl = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldncl', 'CDNC at top of liquid water cloud', 'm-3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_reffclwtop = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'reffclwtop', 'Droplet effective radius at top of liquid water cloud', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_cldnvi = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'cldnvi', 'Column Integrated Cloud Droplet Number', 'm-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lcc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lcc', 'Cloud liquid fraction at top of cloud', '1', (/ ('', i=1, 10) /))
 
 #ifdef CPP_StratAer
-  TYPE(ctrl_out), SAVE :: o_ext_strat_550 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'ext_strat_550', 'Strat. aerosol extinction coefficient at 550 nm', '1/m', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ext_strat_1020 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'ext_strat_1020', 'Strat. aerosol extinction coefficient at 1020 nm', '1/m', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tau_strat_550 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'OD550_strat_only', 'Stratospheric Aerosol Optical depth at 550 nm ', '1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tau_strat_1020 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'OD1020_strat_only', 'Stratospheric Aerosol Optical depth at 1020 nm ', '1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sulf_convert = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'sulf_convert', 'SO2 mass flux converted to H2SO4', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sulf_nucl = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'sulf_nucl', 'H2SO4 nucleation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sulf_cond_evap = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'sulf_cond_evap', 'H2SO4 condensation/evaporation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ocs_convert = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'ocs_convert', 'OCS mass flux converted to SO2', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_R2SO4 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'R2SO4', 'H2SO4 mass fraction in aerosol', '%', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_OCS_lifetime = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'OCS_lifetime', 'OCS lifetime', 's', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SO2_lifetime = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'SO2_lifetime', 'SO2 lifetime', 's', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_SO2_backgr_tend = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'SO2_backgr_tend', 'SO2 background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_OCS_backgr_tend = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'OCS_backgr_tend', 'OCS background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_vsed_aer = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'vsed_aer', 'Strat. aerosol sedimentation velocity (mass-weighted)', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_f_r_wet = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
-    'f_r_wet', 'Conversion factor dry to wet aerosol radius', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sulf_dep_dry = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sulf_dep_dry', 'Sulfur dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sulf_dep_wet = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sulf_dep_wet', 'Sulfur wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_surf_PM25_sulf = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'surf_PM25_sulf', 'Sulfate PM2.5 concentration at the surface', 'ug/m3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_p_tropopause = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'p_tropopause', 'Tropopause pressure', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sfluxaer = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'sflux', 'Ground sedimentation flux of strat. particles', 'kg(S)/m2/s', (/ ('', i=1, 9) /))
+!--extinction coefficient
+  TYPE(ctrl_out), SAVE :: o_ext_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'ext_strat_550', 'Strat. aerosol extinction coefficient at 550 nm', '1/m', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ext_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'ext_strat_1020', 'Strat. aerosol extinction coefficient at 1020 nm', '1/m', (/ ('', i=1, 10) /))
+!--strat aerosol optical depth
+  TYPE(ctrl_out), SAVE :: o_tau_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'OD550_strat_only', 'Stratospheric Aerosol Optical depth at 550 nm ', '1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tau_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'OD1020_strat_only', 'Stratospheric Aerosol Optical depth at 1020 nm ', '1', (/ ('', i=1, 10) /))
+!--chemistry
+  TYPE(ctrl_out), SAVE :: o_R2SO4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'R2SO4', 'H2SO4 mass fraction in aerosol', '%', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_OCS_lifetime = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'OCS_lifetime', 'OCS lifetime', 's', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_SO2_lifetime = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'SO2_lifetime', 'SO2 lifetime', 's', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_f_r_wet = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'f_r_wet', 'Conversion factor dry to wet aerosol radius', '-', (/ ('', i=1, 10) /))
+!--budget  3D
+  TYPE(ctrl_out), SAVE :: o_budg_3D_nucl = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_3D_nucl', 'H2SO4 nucleation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_3D_cond_evap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_3D_cond_evap', 'H2SO4 condensation/evaporation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_3D_ocs_to_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_3D_ocs_to_so2', 'OCS mass flux converted to SO2', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_3D_so2_to_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_3D_so2_to_h2so4', 'SO2 mass flux converted to H2SO4', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_3D_backgr_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_3D_backgr_ocs', 'OCS background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_3D_backgr_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_3D_backgr_so2', 'SO2 background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_vsed_aer = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'vsed_aer', 'Strat. aerosol sedimentation velocity (mass-weighted)', 'm/s', (/ ('', i=1, 10) /))
+!--budget  2D
+  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_dep_dry_h2so4', 'H2SO4 dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_dep_wet_h2so4', 'H2SO4 wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_dep_dry_part', 'particle dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_dep_wet_part', 'particle wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_emi_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_emi_ocs', 'OCS emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_emi_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_emi_so2', 'SO2 emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_emi_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_emi_h2so4', 'H2SO4 emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_emi_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_emi_part', 'Particle emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_ocs_to_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_ocs_to_so2', 'OCS to SO2 flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_so2_to_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_so2_to_h2so4', 'SO2 to H2SO4 flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_h2so4_to_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_h2so4_to_part', 'H2SO4 to part flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_budg_sed_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'budg_sed_part', 'Ground sedimentation flux of strat. particles', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
+!--tropopause height
+  TYPE(ctrl_out), SAVE :: o_p_tropopause = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'p_tropopause', 'Tropopause pressure', 'Pa', (/ ('', i=1, 10) /))
+!--surface PM25 due to strat aerosol
+  TYPE(ctrl_out), SAVE :: o_surf_PM25_sulf = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
+    'surf_PM25_sulf', 'Sulfate PM2.5 concentration at the surface', 'ug/m3', (/ ('', i=1, 10) /))
 #endif
 
 !!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
-  TYPE(ctrl_out), SAVE :: o_ec550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ec550aer', 'Extinction at 550nm', 'm^-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'lwcon', 'Cloud liquid water content', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'iwcon', 'Cloud ice water content', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_temp = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
-    'temp', 'Air temperature', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_theta = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
-    'theta', 'Potential air temperature', 'K', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
-    'ovap', 'Specific humidity', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ovapinit = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ovapinit', 'Specific humidity (begin of timestep)', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_oliq = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
-    'oliq', 'Liquid water', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ocond = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
-    'ocond', 'Condensed water', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'wvapp', '', '', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_geop = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
-    'geop', 'Geopotential height', 'm2/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_vitu = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11 /), &
-    'vitu', 'Zonal wind', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_vitv = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11 /), &
-    'vitv', 'Meridional wind', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_vitw = ctrl_out((/ 2, 3, 10, 6, 10, 10, 11, 11, 11 /), &
-    'vitw', 'Vertical wind', 'Pa/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_pres = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
-    'pres', 'Air pressure', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
-    'paprs', 'Air pressure Inter-Couches', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_mass = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
-    'mass', 'Masse Couches', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_zfull = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
-    'zfull', 'Altitude of full pressure levels', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_zhalf = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
-    'zhalf', 'Altitude of half pressure levels', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rneb', 'Cloud fraction', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rnebjn = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11,11 /), &      
-    'rnebjn', 'Cloud fraction in day', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rnebcon', 'Convective Cloud Fraction', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rnebls = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rnebls', 'LS Cloud fraction', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rhum', 'Relative humidity', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ozone', 'Ozone mole fraction', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ozone_daylight', 'Daylight ozone mole fraction', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'upwd', 'saturated updraft', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_epmax_diag = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'epmax', 'epmax en fn cape', 'su', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ep = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ep', 'ep', 'su', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_duphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'duphy', 'Physics du', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtphy', 'Physics dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqphy', 'Physics dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqphy2d', 'Physics dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqlphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqlphy', 'Physics dQL', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqlphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqlphy2d', 'Physics dQL', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqsphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqsphy', 'Physics dQS', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqsphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqsphy2d', 'Physics dQS', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'pr_con_l', 'Convective precipitation lic', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'pr_con_i', 'Convective precipitation ice', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'pr_lsc_l', 'Large scale precipitation lic', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'pr_lsc_i', 'Large scale precipitation ice', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_re = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    're', 'Cloud droplet effective radius', 'um', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_fl = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'fl', 'Denominator of Cloud droplet effective radius', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_scdnc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'scdnc', 'Cloud droplet number concentration', 'm-3', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_reffclws = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'reffclws', 'Stratiform Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_reffclwc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'reffclwc', 'Convective Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lcc3d = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'lcc3d', 'Cloud liquid fraction', '1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lcc3dcon = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'lcc3dcon', 'Convective cloud liquid fraction', '1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
-    'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_ec550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ec550aer', 'Extinction at 550nm', 'm^-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lwcon', 'Cloud liquid water content', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'iwcon', 'Cloud ice water content', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_temp = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
+    'temp', 'Air temperature', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_theta = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
+    'theta', 'Potential air temperature', 'K', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
+    'ovap', 'Specific humidity', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ovapinit = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ovapinit', 'Specific humidity (begin of timestep)', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_oliq = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
+    'oliq', 'Liquid water', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ocond = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
+    'ocond', 'Condensed water', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'wvapp', '', '', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_geop = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'geop', 'Geopotential height', 'm2/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_vitu = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11, 11/), &
+    'vitu', 'Zonal wind', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_vitv = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11, 11/), &
+    'vitv', 'Meridional wind', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_vitw = ctrl_out((/ 2, 3, 10, 6, 10, 10, 11, 11, 11, 11/), &
+    'vitw', 'Vertical wind', 'Pa/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_pres = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'pres', 'Air pressure', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'paprs', 'Air pressure Inter-Couches', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_mass = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'mass', 'Masse Couches', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_zfull = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'zfull', 'Altitude of full pressure levels', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_zhalf = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'zhalf', 'Altitude of half pressure levels', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rneb', 'Cloud fraction', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rnebjn = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11,11, 11/), &      
+    'rnebjn', 'Cloud fraction in day', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rnebcon', 'Convective Cloud Fraction', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rnebls = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rnebls', 'LS Cloud fraction', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rhum', 'Relative humidity', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ozone', 'Ozone mole fraction', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ozone_daylight', 'Daylight ozone mole fraction', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'upwd', 'saturated updraft', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_epmax_diag = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'epmax', 'epmax en fn cape', 'su', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ep = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ep', 'ep', 'su', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_duphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'duphy', 'Physics du', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtphy', 'Physics dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqphy', 'Physics dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqphy2d', 'Physics dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqlphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqlphy', 'Physics dQL', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqlphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqlphy2d', 'Physics dQL', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqsphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqsphy', 'Physics dQS', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqsphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqsphy2d', 'Physics dQS', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'pr_con_l', 'Convective precipitation lic', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'pr_con_i', 'Convective precipitation ice', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'pr_lsc_l', 'Large scale precipitation lic', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'pr_lsc_i', 'Large scale precipitation ice', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_re = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    're', 'Cloud droplet effective radius', 'um', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_fl = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'fl', 'Denominator of Cloud droplet effective radius', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_scdnc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'scdnc', 'Cloud droplet number concentration', 'm-3', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_reffclws = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'reffclws', 'Stratiform Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_reffclwc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'reffclwc', 'Convective Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lcc3d = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lcc3d', 'Cloud liquid fraction', '1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lcc3dcon = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lcc3dcon', 'Convective cloud liquid fraction', '1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 10) /))
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_albe_srf     = (/ &
-      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11 /),'albe_ter', "Albedo VIS surf. "//clnsurf(1),"-", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11 /),'albe_lic', "Albedo VIS surf. "//clnsurf(2),"-", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11 /),'albe_oce', "Albedo VIS surf. "//clnsurf(3),"-", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11 /),'albe_sic', "Albedo VIS surf. "//clnsurf(4),"-", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_ter', "Albedo VIS surf. "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_lic', "Albedo VIS surf. "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_oce', "Albedo VIS surf. "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_sic', "Albedo VIS surf. "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ages_srf     = (/ &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'ages_ter', "Snow age", "day", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /),'ages_lic', "Snow age", "day", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'ages_oce',"Snow age", "day", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /),'ages_sic',"Snow age", "day", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_ter', "Snow age", "day", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_lic', "Snow age", "day", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_oce',"Snow age", "day", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_sic',"Snow age", "day", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_snow_srf     = (/ &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'snow_ter', "Snow", "kg/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /),'snow_lic', "Snow", "kg/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'snow_oce',"Snow", "kg/m2", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /),'snow_sic',"Snow", "kg/m2", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_ter', "Snow", "kg/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_lic', "Snow", "kg/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_oce',"Snow", "kg/m2", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_sic',"Snow", "kg/m2", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0m_srf     = (/ &
-      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0m_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0m_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0m_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0m_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 9) /)) /)
+      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0h_srf     = (/ &
-      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0h_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0h_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0h_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 9) /)), &
-      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0h_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 9) /)) /)
-
-  TYPE(ctrl_out), SAVE :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'alb1', 'Surface VIS albedo', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'alb2', 'Surface Near IR albedo', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'clwcon', 'Convective Cloud Liquid water content', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'Ma', 'undilute adiab updraft', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dnwd', 'saturated downdraft', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dnwd0', 'unsat. downdraft', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_mc = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'mc', 'Convective mass flux', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
+      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
+      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
+
+  TYPE(ctrl_out), SAVE :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'alb1', 'Surface VIS albedo', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'alb2', 'Surface Near IR albedo', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'clwcon', 'Convective Cloud Liquid water content', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'Ma', 'undilute adiab updraft', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dnwd', 'saturated downdraft', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dnwd0', 'unsat. downdraft', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_mc = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'mc', 'Convective mass flux', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     'ftime_con', 'Fraction of time convection Occurs', ' ',                 &
-      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /))
-  TYPE(ctrl_out), SAVE :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtdyn', 'Dynamics dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqdyn', 'Dynamics dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqdyn2d', 'Dynamics dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqldyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqldyn', 'Dynamics dQL', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqldyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqldyn2d', 'Dynamics dQL', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqsdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqsdyn', 'Dynamics dQS', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqsdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqsdyn2d', 'Dynamics dQS', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dudyn', 'Dynamics dU', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dvdyn', 'Dynamics dV', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtcon', 'Convection dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ducon', 'Convection du', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dvcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dvcon', 'Convection dv', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqcon', 'Convection dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqcon2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqcon2d', 'Convection dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtwak', 'Wake dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqwak', 'Wake dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqwak2d = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqwak2d', 'Wake dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'wake_h', 'wake_h', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'wake_s', 'wake_s', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'wake_deltat', 'wake_deltat', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'wake_deltaq', 'wake_deltaq', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'wake_omg', 'wake_omg', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wdtrainA = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 110 /), &
-    'wdtrainA', 'precipitation from AA', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_wdtrainM = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 110 /), &
-    'wdtrainM', 'precipitation from mixture', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'Vprecip', 'precipitation vertical profile', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ftd', 'tend temp due aux descentes precip', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
-    'fqd', 'tend vap eau due aux descentes precip', '-', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtlsc', 'Condensation dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtlschr', 'Large-scale condensational heating rate', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqlsc', 'Condensation dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqlsc2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqlsc2d', 'Condensation dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_beta_prec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'beta_prec', 'LS Conversion rate to prec', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtvdf', 'Boundary-layer dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtdis = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtdis', 'TKE dissipation dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqvdf', 'Boundary-layer dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqvdf2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqvdf2d', 'Boundary-layer dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dteva', 'Reevaporation dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqeva', 'Reevaporation dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqeva2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqeva2d', 'Reevaporation dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
+      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', & 
+         'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /))
+  TYPE(ctrl_out), SAVE :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtdyn', 'Dynamics dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqdyn', 'Dynamics dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqdyn2d', 'Dynamics dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqldyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqldyn', 'Dynamics dQL', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqldyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqldyn2d', 'Dynamics dQL', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqsdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqsdyn', 'Dynamics dQS', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqsdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqsdyn2d', 'Dynamics dQS', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dudyn', 'Dynamics dU', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dvdyn', 'Dynamics dV', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtcon', 'Convection dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ducon', 'Convection du', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dvcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dvcon', 'Convection dv', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqcon', 'Convection dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqcon2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqcon2d', 'Convection dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtwak', 'Wake dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqwak', 'Wake dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqwak2d = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqwak2d', 'Wake dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'wake_h', 'wake_h', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'wake_s', 'wake_s', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'wake_deltat', 'wake_deltat', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'wake_deltaq', 'wake_deltaq', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'wake_omg', 'wake_omg', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wdtrainA = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 11, 11 /), &
+    'wdtrainA', 'precipitation from AA', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_wdtrainM = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 11, 11 /), &
+    'wdtrainM', 'precipitation from mixture', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'Vprecip', 'precipitation vertical profile', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ftd', 'tend temp due aux descentes precip', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'fqd', 'tend vap eau due aux descentes precip', '-', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtlsc', 'Condensation dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtlschr', 'Large-scale condensational heating rate', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqlsc', 'Condensation dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqlsc2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqlsc2d', 'Condensation dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_beta_prec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'beta_prec', 'LS Conversion rate to prec', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtvdf', 'Boundary-layer dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtdis = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtdis', 'TKE dissipation dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqvdf', 'Boundary-layer dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqvdf2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqvdf2d', 'Boundary-layer dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dteva', 'Reevaporation dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqeva', 'Reevaporation dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqeva2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqeva2d', 'Reevaporation dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
 
 !!!!!!!!!!!!!!!! Specifique thermiques
-  TYPE(ctrl_out), SAVE :: o_dqlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqlscth', 'dQ therm.', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqlscth2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqlscth2d', 'dQ therm.', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqlscst', 'dQ strat.', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqlscst2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqlscst2d', 'dQ strat.', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtlscth', 'dQ therm.', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtlscst', 'dQ strat.', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_plulth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'plulth', 'Rainfall therm.', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_plulst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'plulst', 'Rainfall strat.', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lmaxth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'lmaxth', "Upper level thermals", "", (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ptconvth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ptconvth', 'POINTS CONVECTIFS therm.', ' ', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_dqlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqlscth', 'dQ therm.', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqlscth2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqlscth2d', 'dQ therm.', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqlscst', 'dQ strat.', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqlscst2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqlscst2d', 'dQ strat.', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtlscth', 'dQ therm.', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtlscst', 'dQ strat.', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_plulth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'plulth', 'Rainfall therm.', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_plulst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'plulst', 'Rainfall strat.', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lmaxth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lmaxth', "Upper level thermals", "", (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ptconvth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ptconvth', 'POINTS CONVECTIFS therm.', ' ', (/ ('', i=1, 10) /))
 !!!!!!!!!!!!!!!!!!!!!!!!
-  TYPE(ctrl_out), SAVE :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ptconv', 'POINTS CONVECTIFS', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ratqs', 'RATQS', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtthe', 'Thermal dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_duthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'duthe', 'Thermal du', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dvthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dvthe', 'Thermal dv', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'f_th', 'Thermal plume mass flux', 'kg/(m2*s)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'e_th', 'Thermal plume entrainment', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'w_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'lambda_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ftime_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ftime_th', 'Fraction of time Shallow convection occurs', ' ', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'q_th', 'Thermal plume total humidity', 'kg/kg', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'a_th', "Thermal plume fraction", "", (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'd_th', 'Thermal plume detrainment', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'f0_th', 'Thermal closure mass flux', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_zmax_th = ctrl_out((/ 4,  4,  4,  5, 10, 10, 11, 11, 11 /), &
-    'zmax_th', 'Thermal plume height', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqthe', 'Thermal dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqthe2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqthe2d', 'Thermal dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtajs', 'Dry adjust. dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqajs', 'Dry adjust. dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqajs2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqajs2d', 'Dry adjust. dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtswr', 'SW radiation dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtsw0', 'CS SW radiation dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtlwr', 'LW radiation dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtlw0', 'CS LW radiation dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtec', 'Cinetic dissip dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'duvdf', 'Boundary-layer dU', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dvvdf', 'Boundary-layer dV', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'duoro', 'Orography dU', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dvoro', 'Orography dV', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dulif', 'Orography dU', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dvlif', 'Orography dV', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_du_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'du_gwd_hines', 'Hines GWD dU', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dv_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dv_gwd_hines', 'Hines GWD dV', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_du_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'du_gwd_front', 'Fronts GWD dU', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dv_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dv_gwd_front', 'Fronts GWD dV', 'm/s2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_east_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'east_gwstress', 'Eastward GW Stress', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_west_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'west_gwstress', 'Westward GW Stress', 'Pa', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtoro', 'Orography dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dtlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dtlif', 'Orography dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dthin = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dthin', 'Hines GWD dT', 'K/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dqch4 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dqch4', 'H2O due to CH4 oxidation & photolysis', '(kg/kg)/s', (/ ('', i=1, 9) /))
+  TYPE(ctrl_out), SAVE :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ptconv', 'POINTS CONVECTIFS', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ratqs', 'RATQS', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtthe', 'Thermal dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_duthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'duthe', 'Thermal du', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dvthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dvthe', 'Thermal dv', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'f_th', 'Thermal plume mass flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'e_th', 'Thermal plume entrainment', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'w_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'lambda_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ftime_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ftime_th', 'Fraction of time Shallow convection occurs', ' ', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'q_th', 'Thermal plume total humidity', 'kg/kg', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'a_th', "Thermal plume fraction", "", (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'd_th', 'Thermal plume detrainment', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'f0_th', 'Thermal closure mass flux', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_zmax_th = ctrl_out((/ 4,  4,  4,  5, 10, 10, 11, 11, 11, 11/), &
+    'zmax_th', 'Thermal plume height', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqthe', 'Thermal dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqthe2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqthe2d', 'Thermal dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtajs', 'Dry adjust. dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqajs', 'Dry adjust. dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqajs2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqajs2d', 'Dry adjust. dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtswr', 'SW radiation dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtsw0', 'CS SW radiation dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtlwr', 'LW radiation dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtlw0', 'CS LW radiation dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtec', 'Cinetic dissip dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'duvdf', 'Boundary-layer dU', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dvvdf', 'Boundary-layer dV', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'duoro', 'Orography dU', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dvoro', 'Orography dV', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dulif', 'Orography dU', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dvlif', 'Orography dV', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_du_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'du_gwd_hines', 'Hines GWD dU', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dv_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dv_gwd_hines', 'Hines GWD dV', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_du_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'du_gwd_front', 'Fronts GWD dU', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dv_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dv_gwd_front', 'Fronts GWD dV', 'm/s2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_east_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'east_gwstress', 'Eastward GW Stress', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_west_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'west_gwstress', 'Westward GW Stress', 'Pa', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtoro', 'Orography dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dtlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dtlif', 'Orography dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dthin = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dthin', 'Hines GWD dT', 'K/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dqch4 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dqch4', 'H2O due to CH4 oxidation & photolysis', '(kg/kg)/s', (/ ('', i=1, 10) /))
 
   type(ctrl_out), save:: o_du_gwd_rando &
-       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'du_gwd_rando', &
-       "Random gravity waves dU/dt", "m/s2", (/ ('', i=1, 9) /))
+       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'du_gwd_rando', &
+       "Random gravity waves dU/dt", "m/s2", (/ ('', i=1, 10) /))
   type(ctrl_out), save:: o_dv_gwd_rando &
-       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'dv_gwd_rando', &
-       "Random gravity waves dV/dt", "m/s2", (/ ('', i=1, 9) /))
+       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dv_gwd_rando', &
+       "Random gravity waves dV/dt", "m/s2", (/ ('', i=1, 10) /))
   type(ctrl_out), save:: o_ustr_gwd_hines &
-       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'ustr_gwd_hines', &
-       "zonal wind stress Hines gravity waves", "Pa", (/ ('', i=1, 9) /))
+       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_hines', &
+       "zonal wind stress Hines gravity waves", "Pa", (/ ('', i=1, 10) /))
   type(ctrl_out), save:: o_vstr_gwd_hines &
-       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'vstr_gwd_hines', &
-       "meridional wind stress Hines gravity waves", "Pa", (/ ('', i=1, 9) /))
+       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_hines', &
+       "meridional wind stress Hines gravity waves", "Pa", (/ ('', i=1, 10) /))
   type(ctrl_out), save:: o_ustr_gwd_front &
-       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'ustr_gwd_front', &
-       "zonal wind stress fronts gravity waves", "Pa", (/ ('', i=1, 9) /))
+       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_front', &
+       "zonal wind stress fronts gravity waves", "Pa", (/ ('', i=1, 10) /))
   type(ctrl_out), save:: o_vstr_gwd_front &
-       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'vstr_gwd_front', &
-       "meridional wind stress fronts gravity waves", "Pa", (/ ('', i=1, 9) /))
+       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_front', &
+       "meridional wind stress fronts gravity waves", "Pa", (/ ('', i=1, 10) /))
   type(ctrl_out), save:: o_ustr_gwd_rando &
-       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'ustr_gwd_rando', &
-       "zonal wind stress random gravity waves", "Pa", (/ ('', i=1, 9) /))
+       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_rando', &
+       "zonal wind stress random gravity waves", "Pa", (/ ('', i=1, 10) /))
   type(ctrl_out), save:: o_vstr_gwd_rando &
-       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'vstr_gwd_rando', &
-       "meridional wind stress random gravity waves", "Pa", (/ ('', i=1, 9) /))
+       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_rando', &
+       "meridional wind stress random gravity waves", "Pa", (/ ('', i=1, 10) /))
 
   TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_trac(:)
@@ -1593,146 +1616,146 @@
   TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_dry(:)
 
-  TYPE(ctrl_out), SAVE :: o_rsu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsu', 'SW upward radiation', 'W m-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsd', 'SW downward radiation', 'W m-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rlu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rlu', 'LW upward radiation', 'W m-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rld = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rld', 'LW downward radiation', 'W m-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsucs', 'SW CS upward radiation', 'W m-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsdcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsdcs', 'SW CS downward radiation', 'W m-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rlucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rlucs', 'LW CS upward radiation', 'W m-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rldcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rldcs', 'LW CS downward radiation', 'W m-2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tnt = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tnt', 'Tendency of air temperature', 'K s-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tntc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tntc', 'Tendency of air temperature due to Moist Convection', 'K s-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tntr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tntr', 'Air temperature tendency due to Radiative heating', 'K s-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tntscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /),                  &
+  TYPE(ctrl_out), SAVE :: o_rsu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsu', 'SW upward radiation', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsd', 'SW downward radiation', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rlu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rlu', 'LW upward radiation', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rld = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rld', 'LW downward radiation', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsucs', 'SW CS upward radiation', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsdcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsdcs', 'SW CS downward radiation', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rlucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rlucs', 'LW CS upward radiation', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rldcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rldcs', 'LW CS downward radiation', 'W m-2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tnt = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tnt', 'Tendency of air temperature', 'K s-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tntc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tntc', 'Tendency of air temperature due to Moist Convection', 'K s-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tntr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tntr', 'Air temperature tendency due to Radiative heating', 'K s-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tntscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/),                  &
     'tntscpbl', 'Air temperature tendency due to St cloud and precipitation and BL mixing', &
-      'K s-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tnhus = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tnhus', 'Tendency of specific humidity', 's-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tnhusc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tnhusc', 'Tendency of specific humidity due to convection', 's-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_tnhusscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'tnhusscpbl', 'Tendency of Specific humidity due to ST cl, precip and BL mixing', 's-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_evu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'evu', 'Eddy viscosity coefficient for Momentum Variables', 'm2 s-1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_h2o = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'h2o', 'Mass Fraction of Water', '1', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_mcd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'mcd', 'Downdraft COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_dmc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'dmc', 'Deep COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ref_liq = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ref_liq', 'Effective radius of convective cloud liquid water particle', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_ref_ice = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'ref_ice', 'Effective radius of startiform cloud ice particle', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsut4co2', 'TOA Out SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rlut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rlut4co2', 'TOA Out LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsutcs4co2', 'TOA Out CS SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rlutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rlutcs4co2', 'TOA Out CS LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsu4co2', 'Upwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rlu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rlu4co2', 'Upwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsucs4co2', 'Upwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rlucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rlucs4co2', 'Upwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsd4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsd4co2', 'Downwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rld4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rld4co2', 'Downwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rsdcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rsdcs4co2', 'Downwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_rldcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
-    'rldcs4co2', 'Downwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_snowsrf = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
-    'snowsrf', 'Snow mass at surface', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_qsnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
-    'qsnow', 'Water contained in snow', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_snowhgt = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
-    'snowhgt', 'Snow height at surface', 'm', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_toice = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
-    'to_ice', 'Snow passed to ice model', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_sissnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
-    'sissnow', 'Snow in snow model', 'kg/m2', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_runoff = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
-    'runoff', 'Run-off rate land ice', 'kg/m2/s', (/ ('', i=1, 9) /))
-  TYPE(ctrl_out), SAVE :: o_albslw3 = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11 /), &
-    'albslw3', 'Surface albedo LW3', '-', (/ ('', i=1, 9) /))
+      'K s-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tnhus = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tnhus', 'Tendency of specific humidity', 's-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tnhusc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tnhusc', 'Tendency of specific humidity due to convection', 's-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_tnhusscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'tnhusscpbl', 'Tendency of Specific humidity due to ST cl, precip and BL mixing', 's-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_evu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'evu', 'Eddy viscosity coefficient for Momentum Variables', 'm2 s-1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_h2o = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'h2o', 'Mass Fraction of Water', '1', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_mcd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'mcd', 'Downdraft COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_dmc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'dmc', 'Deep COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ref_liq = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ref_liq', 'Effective radius of convective cloud liquid water particle', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_ref_ice = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'ref_ice', 'Effective radius of startiform cloud ice particle', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsut4co2', 'TOA Out SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rlut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rlut4co2', 'TOA Out LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsutcs4co2', 'TOA Out CS SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rlutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rlutcs4co2', 'TOA Out CS LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsu4co2', 'Upwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rlu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rlu4co2', 'Upwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsucs4co2', 'Upwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rlucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rlucs4co2', 'Upwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsd4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsd4co2', 'Downwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rld4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rld4co2', 'Downwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rsdcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rsdcs4co2', 'Downwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_rldcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
+    'rldcs4co2', 'Downwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_snowsrf = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
+    'snowsrf', 'Snow mass at surface', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_qsnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
+    'qsnow', 'Water contained in snow', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_snowhgt = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
+    'snowhgt', 'Snow height at surface', 'm', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_toice = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
+    'to_ice', 'Snow passed to ice model', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_sissnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
+    'sissnow', 'Snow in snow model', 'kg/m2', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_runoff = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
+    'runoff', 'Run-off rate land ice', 'kg/m2/s', (/ ('', i=1, 10) /))
+  TYPE(ctrl_out), SAVE :: o_albslw3 = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
+    'albslw3', 'Surface albedo LW3', '-', (/ ('', i=1, 10) /))
 
 !!!!!!!!!!!!! Sorties niveaux standards de pression NMC 
-  TYPE(ctrl_out), SAVE :: o_tnondef = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+  TYPE(ctrl_out), SAVE :: o_tnondef = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'tnondef', 'Undefined value of T', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_ta = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_ta = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'ta', 'Air temperature', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_zg  = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_zg  = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'zg', 'Geopotential height', 'm', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_hus = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_hus = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'hus', 'Specific humidity', '1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                    
-  TYPE(ctrl_out), SAVE :: o_hur = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_hur = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'hur', 'Relative humidity', '%', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_ua = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_ua = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'ua', 'Eastward wind', 'm s-1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_va = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
-       'va', 'Northward wind', 'm s-1', (/ ('', i=1, 9)/))
-  TYPE(ctrl_out), SAVE :: o_wap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_va = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
+       'va', 'Northward wind', 'm s-1', (/ ('', i=1, 10)/))
+  TYPE(ctrl_out), SAVE :: o_wap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'wap', 'Lagrangian tendency of air pressure', 'Pa s-1', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'psbg', 'Pressure sfce below ground', '%', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_tro3 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_tro3 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'tro3', 'Ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_tro3_daylight = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_tro3_daylight = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
        'tro3_daylight', 'Daylight ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_uxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_uxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'uv', 'uv', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
-  TYPE(ctrl_out), SAVE :: o_vxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_vxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'vxq', 'vxq', 'm/s * (kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                                    
-  TYPE(ctrl_out), SAVE :: o_vxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_vxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'vT', 'vT', 'mK/s', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                      
-  TYPE(ctrl_out), SAVE :: o_wxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_wxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'wq', 'wq', '(Pa/s)*(kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                
-  TYPE(ctrl_out), SAVE :: o_vxphi = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_vxphi = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'vphi', 'vphi', 'm2/s', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                 
-  TYPE(ctrl_out), SAVE :: o_wxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_wxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'wT', 'wT', '"K*Pa/s', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                     
-  TYPE(ctrl_out), SAVE :: o_uxu = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /)) 
+  TYPE(ctrl_out), SAVE :: o_uxu = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'u2', 'u2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                                                                         
-  TYPE(ctrl_out), SAVE :: o_vxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+  TYPE(ctrl_out), SAVE :: o_vxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'v2', 'v2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                               
-   TYPE(ctrl_out), SAVE :: o_TxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+   TYPE(ctrl_out), SAVE :: o_TxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
        'T2', 'T2', 'K2', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                  
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
 
 #ifdef CPP_Dust
Index: /LMDZ5/trunk/libf/phylmd/phys_output_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/phys_output_mod.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/phys_output_mod.F90	(revision 2752)
@@ -113,5 +113,5 @@
     INTEGER, DIMENSION(nfiles)            :: phys_out_filelevels
     CHARACTER(LEN=20), DIMENSION(nfiles)  :: chtimestep = (/ 'Default', 'Default', 'Default', 'Default', 'Default', &
-                                                             'Default', 'Default', 'Default', 'Default' /)
+                                                             'Default', 'Default', 'Default', 'Default', 'Default' /)
     LOGICAL, DIMENSION(nfiles)            :: phys_out_filekeys
     LOGICAL, DIMENSION(nfiles)            :: phys_out_filestations
@@ -120,14 +120,14 @@
     !                 entre [phys_out_lonmin,phys_out_lonmax] et [phys_out_latmin,phys_out_latmax]
 
-    LOGICAL, DIMENSION(nfiles), SAVE  :: phys_out_regfkey       = (/ .FALSE., .FALSE., .FALSE.,  .FALSE., &
-                                                                    .FALSE., .FALSE., .FALSE., .FALSE.,  .FALSE. /)
-    REAL, DIMENSION(nfiles), SAVE     :: phys_out_lonmin        = (/   -180.,   -180.,   -180.,    -180., &
-                                                                     -180.,   -180., -180.,   -180.,    -180. /)
-    REAL, DIMENSION(nfiles), SAVE     :: phys_out_lonmax        = (/    180.,    180.,    180.,     180., &
-                                                                      180.,    180., 180.,    180.,     180. /)
-    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmin        = (/    -90.,    -90.,    -90.,     -90., &
-                                                                    -90., -90., -90.,    -90.,     -90. /)
-    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmax        = (/  90.,     90.,     90.,     90., &
-                                                                    90., 90., 90., 90., 90. /)                        
+    LOGICAL, DIMENSION(nfiles), SAVE  :: phys_out_regfkey       = (/ .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., &
+                                                                     .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /)
+    REAL, DIMENSION(nfiles), SAVE     :: phys_out_lonmin        = (/ -180., -180., -180., -180., -180., &
+                                                                     -180., -180., -180., -180., -180. /)
+    REAL, DIMENSION(nfiles), SAVE     :: phys_out_lonmax        = (/  180.,  180.,  180.,  180.,  180., &
+                                                                      180.,  180.,  180.,  180.,  180. /)
+    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmin        = (/  -90.,  -90.,  -90.,  -90.,  -90., &
+                                                                      -90.,  -90.,  -90.,  -90.,  -90. /)
+    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmax        = (/   90.,   90.,   90.,   90.,   90., &
+                                                                       90.,   90.,   90.,   90.,   90. /)                        
 #ifdef CPP_XIOS
     ! ug Variables utilis\'ees pour r\'ecup\'erer le calendrier pour xios
@@ -149,6 +149,5 @@
     ALLOCATE(o_dtr_dry(nqtot),o_dtr_vdf(nqtot))
 
-
-    levmax = (/ klev, klev, klev, klev, klev, klev, nlevSTD, nlevSTD, nlevSTD /)
+    levmax = (/ klev, klev, klev, klev, klev, klev, nlevSTD, nlevSTD, nlevSTD, klev /)
 
     phys_out_filenames(1) = 'histmth'
@@ -160,5 +159,6 @@
     phys_out_filenames(7) = 'histmthNMC'
     phys_out_filenames(8) = 'histdayNMC'
-    phys_out_filenames(9) = 'histhfNMC.nc'
+    phys_out_filenames(9) = 'histhfNMC'
+    phys_out_filenames(10)= 'histstrataer'
 
     type_ecri(1) = 'ave(X)'
@@ -171,4 +171,5 @@
     type_ecri(8) = 'inst(X)'
     type_ecri(9) = 'inst(X)'
+    type_ecri(10)= 'ave(X)'
 
     clef_files(1) = ok_mensuel
@@ -181,4 +182,9 @@
     clef_files(8) = ok_histNMC(2)
     clef_files(9) = ok_histNMC(3)
+#ifdef CPP_StratAer
+    clef_files(10)= .TRUE.
+#else
+    clef_files(10)= .FALSE.
+#endif
 
     !sortir des fichiers "stations" si clef_stations(:)=.TRUE.
@@ -192,4 +198,5 @@
     clef_stations(8) = .FALSE.
     clef_stations(9) = .FALSE.
+    clef_stations(10)= .FALSE.
 
     lev_files(1) = lev_histmth
@@ -202,4 +209,5 @@
     lev_files(8) = levout_histNMC(2)
     lev_files(9) = levout_histNMC(3)
+    lev_files(10)= 5
 
     ecrit_files(1) = ecrit_mth
@@ -212,4 +220,5 @@
     ecrit_files(8) = freq_outNMC(2)
     ecrit_files(9) = freq_outNMC(3)
+    ecrit_files(10)= ecrit_mth
 
     !! Lectures des parametres de sorties dans physiq.def
@@ -248,4 +257,5 @@
     WRITE(lunout,*)'phys_out_filestations=',clef_stations
     WRITE(lunout,*)'phys_out_filelevels=',lev_files
+    WRITE(lunout,*)'phys_out_regfkey=',phys_out_regfkey
 
 ! A noter pour
@@ -331,5 +341,5 @@
       print*,'phys_output_open: Declare vertical axes for each file'
     ENDIF
-   IF (iff.le.6) THEN
+   IF (iff.LE.6.OR.iff.EQ.10) THEN
     CALL wxios_add_vaxis("presnivs", &
             levmax(iff) - levmin(iff) + 1, presnivs(levmin(iff):levmax(iff)))
@@ -392,4 +402,9 @@
                   itau_phy,zjulian,dtime,nhorim(iff),nid_files(iff))
           ELSE
+
+             IF (prt_level >= 10) THEN
+             WRITE(lunout,*)'phys_output_open: iff=',iff,'  phys_out_filenames(iff)=',phys_out_filenames(iff)
+             ENDIF
+
              CALL histbeg_phy_all(phys_out_filenames(iff),itau_phy,zjulian,&
                  dtime,nhorim(iff),nid_files(iff))
@@ -397,5 +412,5 @@
 
 #ifndef CPP_IOIPSL_NO_OUTPUT 
-          IF (iff.le.6) THEN
+          IF (iff.LE.6.OR.iff.EQ.10) THEN
              CALL histvert(nid_files(iff), "presnivs", "Vertical levels", "Pa", &  
                levmax(iff) - levmin(iff) + 1, &
@@ -412,4 +427,5 @@
 
           ELSE
+          ! NMC files
              CALL histvert(nid_files(iff), "plev", "pressure", "Pa", &
                levmax(iff) - levmin(iff) + 1, &
@@ -424,81 +440,81 @@
             DO iq=nqo+1,nqtot 
             iiq=niadv(iq)
-            o_trac(iq-nqo) = ctrl_out((/ 1, 5, 5, 5, 10, 10, 11, 11, 11 /), &
+            o_trac(iq-nqo) = ctrl_out((/ 1, 5, 5, 5, 10, 10, 11, 11, 11, 11 /), &
                            tname(iiq),'Tracer '//ttext(iiq), "-",  &
-                           (/ '', '', '', '', '', '', '', '', '' /))
-            o_dtr_vdf(iq-nqo) = ctrl_out((/ 4, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                           (/ '', '', '', '', '', '', '', '', '', '' /))
+            o_dtr_vdf(iq-nqo) = ctrl_out((/ 4, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                               'd'//trim(tname(iq))//'_vdf',  &
                               'Tendance tracer '//ttext(iiq), "-" , &
-                              (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_the(iq-nqo) = ctrl_out((/ 5, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                              (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_the(iq-nqo) = ctrl_out((/ 5, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                               'd'//trim(tname(iq))//'_the', &
                               'Tendance tracer '//ttext(iiq), "-", &
-                              (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_con(iq-nqo) = ctrl_out((/ 5, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                              (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_con(iq-nqo) = ctrl_out((/ 5, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                               'd'//trim(tname(iq))//'_con', &
                               'Tendance tracer '//ttext(iiq), "-", &
-                              (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_lessi_impa(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                              (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_lessi_impa(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                      'd'//trim(tname(iq))//'_lessi_impa', &
                                      'Tendance tracer '//ttext(iiq), "-", &
-                                     (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_lessi_nucl(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                                     (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_lessi_nucl(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                      'd'//trim(tname(iq))//'_lessi_nucl', &
                                      'Tendance tracer '//ttext(iiq), "-", &
-                                     (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_insc(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                                     (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_insc(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                'd'//trim(tname(iq))//'_insc', &
                                'Tendance tracer '//ttext(iiq), "-", &
-                               (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_bcscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                               (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_bcscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                  'd'//trim(tname(iq))//'_bcscav', &
                                  'Tendance tracer '//ttext(iiq), "-", &
-                                 (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_evapls(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                                 (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_evapls(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                  'd'//trim(tname(iq))//'_evapls', &
                                  'Tendance tracer '//ttext(iiq), "-", &
-                                 (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_ls(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                                 (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_ls(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                              'd'//trim(tname(iq))//'_ls', &
                              'Tendance tracer '//ttext(iiq), "-", &
-                             (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_trsp(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                             (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_trsp(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                'd'//trim(tname(iq))//'_trsp', &
                                'Tendance tracer '//ttext(iiq), "-", &
-                               (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_sscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                               (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_sscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                 'd'//trim(tname(iq))//'_sscav', &
                                 'Tendance tracer '//ttext(iiq), "-", &
-                                (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_sat(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                                (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_sat(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                'd'//trim(tname(iq))//'_sat', &
                                'Tendance tracer '//ttext(iiq), "-", &
-                               (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_uscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                               (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_uscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                                 'd'//trim(tname(iq))//'_uscav', &
                                 'Tendance tracer '//ttext(iiq), "-", &
-                                 (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_dtr_dry(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
+                                 (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_dtr_dry(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
                               'cum'//'d'//trim(tname(iq))//'_dry', &
                               'tracer tendency dry deposition'//ttext(iiq), "-", &
-                              (/ '', '', '', '', '', '', '', '', '' /))
-
-            o_trac_cum(iq-nqo) = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
+                              (/ '', '', '', '', '', '', '', '', '', '' /))
+
+            o_trac_cum(iq-nqo) = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11 /), &
                                'cum'//tname(iiq),&
                                'Cumulated tracer '//ttext(iiq), "-", &
-                               (/ '', '', '', '', '', '', '', '', '' /))
+                               (/ '', '', '', '', '', '', '', '', '', '' /))
             ENDDO
       ENDIF
@@ -547,5 +563,4 @@
     type=str(ipos+1:il)
 
-
     IF ( il == ipos ) THEN
        type='day'
Index: /LMDZ5/trunk/libf/phylmd/phys_output_var_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/phys_output_var_mod.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/phys_output_var_mod.F90	(revision 2752)
@@ -46,5 +46,5 @@
 
   ! ug Plein de variables venues de phys_output_mod
-  INTEGER, PARAMETER                           :: nfiles = 9
+  INTEGER, PARAMETER                           :: nfiles = 10
   LOGICAL, DIMENSION(nfiles), SAVE             :: clef_files
   LOGICAL, DIMENSION(nfiles), SAVE             :: clef_stations
Index: /LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 2752)
@@ -185,7 +185,11 @@
 #ifdef CPP_StratAer
     USE phys_output_ctrlout_mod, ONLY:  & 
-         o_sulf_convert, o_sulf_nucl, o_sulf_cond_evap, o_ocs_convert, &
-         o_sfluxaer, o_R2SO4, o_OCS_lifetime, o_SO2_lifetime, &
-         o_OCS_backgr_tend, o_SO2_backgr_tend, o_sulf_dep_dry, o_sulf_dep_wet, &
+         o_budg_3D_nucl, o_budg_3D_cond_evap, o_budg_3D_ocs_to_so2, o_budg_3D_so2_to_h2so4, &
+         o_budg_sed_part, o_R2SO4, o_OCS_lifetime, o_SO2_lifetime, &
+         o_budg_3D_backgr_ocs, o_budg_3D_backgr_so2, & 
+         o_budg_dep_dry_h2so4, o_budg_dep_wet_h2so4, &
+         o_budg_dep_dry_part, o_budg_dep_wet_part, & 
+         o_budg_emi_ocs, o_budg_emi_so2, o_budg_emi_h2so4, o_budg_emi_part, & 
+         o_budg_ocs_to_so2, o_budg_so2_to_h2so4, o_budg_h2so4_to_part, &
          o_surf_PM25_sulf, o_ext_strat_550, o_tau_strat_550, &
          o_p_tropopause, o_vsed_aer, o_tau_strat_1020, o_ext_strat_1020, o_f_r_wet
@@ -284,7 +288,11 @@
 #ifdef CPP_StratAer 
     USE phys_local_var_mod, ONLY:  &
-         sulf_convert, sulf_nucl, sulf_cond_evap, ocs_convert, &
-         sfluxaer, R2SO4, OCS_lifetime, SO2_lifetime, &
-         OCS_backgr_tend, SO2_backgr_tend, sulf_dep_dry, sulf_dep_wet, &
+         budg_3D_nucl, budg_3D_cond_evap, budg_3D_ocs_to_so2, budg_3D_so2_to_h2so4, &
+         budg_sed_part, R2SO4, OCS_lifetime, SO2_lifetime, &
+         budg_3D_backgr_ocs, budg_3D_backgr_so2, & 
+         budg_dep_dry_h2so4, budg_dep_wet_h2so4, &
+         budg_dep_dry_part, budg_dep_wet_part, &
+         budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part, & 
+         budg_ocs_to_so2, budg_so2_to_h2so4, budg_h2so4_to_part, & 
          surf_PM25_sulf, tau_strat_550, p_tropopause, tausum_strat, &
          vsed_aer, tau_strat_1020, f_r_wet
@@ -385,4 +393,7 @@
     TYPE(xios_field) :: child
 #endif
+#ifdef CPP_StratAer 
+    LOGICAL, PARAMETER :: debug_strataer=.FALSE.
+#endif
 
     ! On calcul le nouveau tau:
@@ -406,5 +417,5 @@
             iiq=niadv(iq)
             varname=trim(tname(iiq))
-            WRITE (lunout,*) 'XIOS var=', nqo, iq, varname
+            WRITE (lunout,*) 'XIOS var=', nqo, iq, nqtot, varname
             CALL xios_add_child(group_handle, child, varname)
             CALL xios_set_attr(child, name=varname, unit="kg kg-1")
@@ -455,5 +466,5 @@
             iiq=niadv(iq)
             varname='cum'//trim(tname(iiq))
-            WRITE (lunout,*) 'XIOS var=', iq, varname
+            WRITE (lunout,*) 'XIOS var=', iq, nqtot, varname
             CALL xios_add_child(group_handle, child, varname)
             CALL xios_set_attr(child, name=varname, unit="kg m-2")
@@ -1194,18 +1205,27 @@
 #ifdef CPP_StratAer
        IF (type_trac=='coag') THEN
-          CALL histwrite_phy(o_sulf_convert, sulf_convert)
-          CALL histwrite_phy(o_sulf_nucl, sulf_nucl)
-          CALL histwrite_phy(o_sulf_cond_evap, sulf_cond_evap)
-          CALL histwrite_phy(o_ocs_convert, ocs_convert)
           CALL histwrite_phy(o_R2SO4, R2SO4)
           CALL histwrite_phy(o_OCS_lifetime, OCS_lifetime)
           CALL histwrite_phy(o_SO2_lifetime, SO2_lifetime)
-          CALL histwrite_phy(o_OCS_backgr_tend, OCS_backgr_tend)
-          CALL histwrite_phy(o_SO2_backgr_tend, SO2_backgr_tend)
-          CALL histwrite_phy(o_sulf_dep_dry, sulf_dep_dry)
-          CALL histwrite_phy(o_sulf_dep_wet, sulf_dep_wet)
+          CALL histwrite_phy(o_budg_3D_backgr_ocs,   budg_3D_backgr_ocs)
+          CALL histwrite_phy(o_budg_3D_backgr_so2,   budg_3D_backgr_so2)
+          CALL histwrite_phy(o_budg_3D_ocs_to_so2,   budg_3D_ocs_to_so2)
+          CALL histwrite_phy(o_budg_3D_so2_to_h2so4, budg_3D_so2_to_h2so4)
+          CALL histwrite_phy(o_budg_3D_nucl,         budg_3D_nucl)
+          CALL histwrite_phy(o_budg_3D_cond_evap,    budg_3D_cond_evap)
+          CALL histwrite_phy(o_budg_dep_dry_h2so4,   budg_dep_dry_h2so4)
+          CALL histwrite_phy(o_budg_dep_wet_h2so4,   budg_dep_wet_h2so4)
+          CALL histwrite_phy(o_budg_dep_dry_part,    budg_dep_dry_part)
+          CALL histwrite_phy(o_budg_dep_wet_part,    budg_dep_wet_part)
+          CALL histwrite_phy(o_budg_emi_ocs,         budg_emi_ocs)
+          CALL histwrite_phy(o_budg_emi_so2,         budg_emi_so2)
+          CALL histwrite_phy(o_budg_emi_h2so4,       budg_emi_h2so4)
+          CALL histwrite_phy(o_budg_emi_part,        budg_emi_part)
+          CALL histwrite_phy(o_budg_ocs_to_so2,      budg_ocs_to_so2)
+          CALL histwrite_phy(o_budg_so2_to_h2so4,    budg_so2_to_h2so4)
+          CALL histwrite_phy(o_budg_h2so4_to_part,   budg_h2so4_to_part)
+          CALL histwrite_phy(o_budg_sed_part,        budg_sed_part)
           CALL histwrite_phy(o_surf_PM25_sulf, surf_PM25_sulf)
           CALL histwrite_phy(o_p_tropopause, p_tropopause)
-          CALL histwrite_phy(o_sfluxaer, sfluxaer)
           CALL histwrite_phy(o_vsed_aer, vsed_aer)
           CALL histwrite_phy(o_f_r_wet, f_r_wet)
Index: /LMDZ5/trunk/libf/phylmd/phytrac_mod.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/phytrac_mod.F90	(revision 2751)
+++ /LMDZ5/trunk/libf/phylmd/phytrac_mod.F90	(revision 2752)
@@ -103,5 +103,7 @@
 #ifdef CPP_StratAer
     USE traccoag_mod
-    USE phys_local_var_mod, ONLY: mdw, sulf_dep_dry, sulf_dep_wet
+    USE phys_local_var_mod, ONLY: mdw
+    USE phys_local_var_mod, ONLY: budg_dep_dry_h2so4, budg_dep_wet_h2so4
+    USE phys_local_var_mod, ONLY: budg_dep_dry_part,  budg_dep_wet_part
     USE infotrac, ONLY: nbtr_sulgas, id_SO2_strat, id_H2SO4_strat
     USE aerophys
@@ -698,5 +700,6 @@
        IF (type_trac=='coag') THEN
          ! initialize wet deposition flux of sulfur
-         sulf_dep_wet(:)=0.0
+         budg_dep_wet_h2so4(:)=0.0
+         budg_dep_wet_part(:)=0.0
          ! compute wet deposition flux of sulfur (sum over gases and particles)
          ! and convert to kg(S)/m2/s
@@ -706,8 +709,8 @@
          !do not include SO2 because most of it comes trom the troposphere
            IF (it==id_H2SO4_strat) THEN
-             sulf_dep_wet(i)=sulf_dep_wet(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol) &
+             budg_dep_wet_h2so4(i)=budg_dep_wet_h2so4(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol) &
                             & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
            ELSEIF (it.GT.nbtr_sulgas) THEN
-             sulf_dep_wet(i)=sulf_dep_wet(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol)  &
+             budg_dep_wet_part(i)=budg_dep_wet_part(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol)  &
                             & *dens_aer_dry*4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3 &
                             & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
@@ -766,5 +769,6 @@
 
          ! initialize dry deposition flux of sulfur
-         sulf_dep_dry(:)=0.0
+         budg_dep_dry_h2so4(:)=0.0
+         budg_dep_dry_part(:)=0.0
 
          ! compute dry deposition velocity as function of surface type (numbers
@@ -800,7 +804,7 @@
                ! compute dry deposition flux of sulfur (sum over gases and particles)
                IF (it==id_H2SO4_strat) THEN
-                 sulf_dep_dry(:)=sulf_dep_dry(:)-source(:,it)*(mSatom/mH2SO4mol)
+                 budg_dep_dry_h2so4(:)=budg_dep_dry_h2so4(:)-source(:,it)*(mSatom/mH2SO4mol)
                ELSEIF (it.GT.nbtr_sulgas) THEN
-                 sulf_dep_dry(:)=sulf_dep_dry(:)-source(:,it)*(mSatom/mH2SO4mol)*dens_aer_dry &
+                 budg_dep_dry_part(:)=budg_dep_dry_part(:)-source(:,it)*(mSatom/mH2SO4mol)*dens_aer_dry &
                                 & *4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3
                ENDIF
@@ -886,8 +890,8 @@
            DO it = 1, nbtr
              IF (it==id_H2SO4_strat) THEN
-               sulf_dep_wet(i)=sulf_dep_wet(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol) &
+               budg_dep_wet_h2so4(i)=budg_dep_wet_h2so4(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol) &
                               & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
              ELSEIF (it.GT.nbtr_sulgas) THEN
-               sulf_dep_wet(i)=sulf_dep_wet(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol)  &
+               budg_dep_wet_part(i)=budg_dep_wet_part(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol)  &
                               & *dens_aer_dry*4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3 &
                               & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
