diff --git a/aw_view2d.pro b/aw_view2d.pro
index a9570ccb1a229e53ea6f1df2b3961c0f718cea78..c55d38b6184981e3b3aaa001fc73928f5a0b1866 100644
--- a/aw_view2d.pro
+++ b/aw_view2d.pro
@@ -1,6 +1,7 @@
 pro aw_view2d, data_in ,_extra = _extra $
   , no_data_idx = no_data_idx $
   , space_idx = space_idx $
+   , space_col = space_col $
   , jpg = jpg $
   , bartitle = bartitle $
   , xrange = xrange $
@@ -11,6 +12,7 @@ pro aw_view2d, data_in ,_extra = _extra $
   , layout = layout $
   , color_bar = color_bar $
   , cmb = cmb $
+  , ctp_class = ctp_class $
   , noax = noax $
   , w =w  ;  msg coast point
 
@@ -18,10 +20,23 @@ pro aw_view2d, data_in ,_extra = _extra $
   default,bartitle,''
   
   default,position, [0.2,0.1,0.95,0.9]
-  data = data_in 
+  data = float(data_in )
+  
+  n_dim = size(dfata,/n_dim)
+  
   if n_elements(no_data_idx) gt 0 then begin
-    data[no_data_idx] = !VALUES.F_NAN
-  endif  
+    if n_dim eq 3 then begin
+      for i=0,2 do data[i,no_data_idx] = !VALUES.F_NAN
+    endif else begin
+      
+      data[no_data_idx] = !VALUES.F_NAN
+    endelse  
+  endif 
+  
+   if n_elements(space_idx) gt 0 then begin
+    data[space_idx] = !VALUES.F_NAN
+  endif 
+   
   
   if n_elements(color_bar) eq 1 then begin
     
@@ -84,12 +99,23 @@ pro aw_view2d, data_in ,_extra = _extra $
     ctt = ['white','green','blue','ivory']
     data = bytscl(data,top=3,min=0,max=3)
   endif 
+  
+  if keyword_set(ctp_class) then begin
+    ctt = ['gray','blue','light green','red','white']
+    data = bytscl(data,top=3,min=0,max=3)
+    if n_elements(space_idx) gt 0 then begin
+        data[space_idx] = 4
+    endif 
+  endif 
     
   ;ct[0,*] = cgcolor('gray',/triple)
-
-  p = image(data,rgb_table=ctt,_extra = _extra, position = position $
+  if size(data,/n_dim) eq 3 then begin
+     p = image(data,buffer = buffer,/current)
+  endif else begin
+    p = image(data,rgb_table=ctt,_extra = _extra, position = position $
     , font_size = 13.,background_color='gray',aspect_ratio=aspect_ratio,/current,layout = layout,min_value=0 )
- 
+  endelse
+  
   if ~keyword_set(noax) then begin
     p.axis_style = 3 
     xax = AXIS('X', LOCATION='bottom', TICKDIR=0, MINOR=0,coord_TRANS=[a_x,b_x],target = p)
diff --git a/cws_read__readdata_OCA.pro b/cws_read__readdata_OCA.pro
index de1fcc6f14f6cf76c0217af3e08a151427b05a9f..1c6984fdb7354f8a1569b46f40cb0acd2e458d0b 100644
--- a/cws_read__readdata_OCA.pro
+++ b/cws_read__readdata_OCA.pro
@@ -15,12 +15,18 @@ end
 
 function cws_read::readdata_OCA, version
   default,version,'icwg2'
-  
+ 
   self.infile = file_search(self.build_source_path(), $
     'OCA_SEV_MET-09_F2L01_'+self->get_date(/string,/year,/month,/day_single) +'_' + $
       	         self->get_date(/string,/hour,/minute)+'.nc',c=c)
-  if c ne 1 then return,-1
+  if c ne 1 then begin
+    print,'pattern :',self.build_source_path()
+    print,'OCA_SEV_MET-09_F2L01_'+self->get_date(/string,/year,/month,/day_single) +'_' + $
+      	         self->get_date(/string,/hour,/minute)+'.nc'
+    return,-1
   
+  endif
+ 
   
   case strLowCase(version) of
     'icwg2': begin
diff --git a/cws_read__transformit.pro b/cws_read__transformit.pro
index 1483c53193c054a08e2090e37576478459178012..4e1d17a8b48266dc22bdba72ca7cb3d0c804217a 100644
--- a/cws_read__transformit.pro
+++ b/cws_read__transformit.pro
@@ -18,9 +18,8 @@
 
 PRO cws_read::transformIt, version=version, force=force
   version = 'ICWG2'
-  COMMON FEEDBACK, quiet, verbose, debug
-  verbose  =1
-  IF verbose THEN PRINT, '... transform file format for ', self.product $
+ 
+  IF self.verbose THEN PRINT, '... transform file format for ', self.product $
      , ' of group ', self.grp, ' (cws_read__transformit.pro)'
   
   if self.scale ne 1.0 then begin
diff --git a/cws_stats__constants.pro b/cws_stats__constants.pro
index f45244acb5e528e5f3e4c29bfa261695de71cd5e..eccce25ed2f8a623fcba17e4ff44521a367c50ac 100644
--- a/cws_stats__constants.pro
+++ b/cws_stats__constants.pro
@@ -11,10 +11,10 @@ pro cws_stats::constants
   reg = orderedhash()
     ; group list
   grpList =['CMS','EUM','OCA','MPF','FUB','DLR','MFR','RMB','AWG','UKM','GSF','LAR','COX','OCA2','KNM','TPS','SUI','CLV','LARN','MFRN'] 
-  has_ctp = [1     ,1    ,1    ,1    ,0    ,1    ,0   ,0     ,1    ,1    ,0     ,1   ,0    ,0,     0    ,1     ,1   ,1     ,1, 1]
-  has_ctt = [ 1   , 1    ,0    ,1    ,0    ,1    ,1   ,0     ,1    ,1    ,1     ,1   ,0    ,0,     0    ,1     ,0   ,1     ,1, 1]
+  has_ctp = [1     ,1    ,1    ,1    ,0    ,1    ,0   ,0     ,0    ,1    ,0     ,1   ,0    ,0,     0    ,1     ,1   ,1     ,1, 1]
+  has_ctt = [ 1   , 1    ,0    ,1    ,0    ,1    ,1   ,0     ,0    ,1    ,1     ,1   ,0    ,0,     0    ,1     ,0   ,1     ,1, 1]
   ;has_ctp = [0     ,0    ,0    ,0    ,0    ,0    ,0   ,0     ,1    ,0    ,0     ,1   ,0    ,0,     0    ,0     ,0   ,1     ,1]
-  has_cmb = [1,1,1,1,0,0,1,0,1,1,0,0,0,0,0,1,1,1,1,1]
+  has_cmb = [1,     1,    1,    1,    0,    0,    0,    0,     0,   1,     0,    0,   0,     0,    0,    1,    1,    1,     1,  1]
   has_cod = [1,0,1,0,0,0,0,1,1,1,1,1,0,0,0,1,0,1,1,1] 
   version = [4,2,4,2,1,2,2,2,2,4,2,2,3,3,4,4,4,4,4,4]
   
diff --git a/cws_stats__make_image.pro b/cws_stats__make_image.pro
index cbbb8fee95bc03a515f2461097b1aba275cfb0fe..691af0af6287dc5bc1da7032bded034f13fa0c6d 100644
--- a/cws_stats__make_image.pro
+++ b/cws_stats__make_image.pro
@@ -465,322 +465,7 @@ pro cws_stats::make_image, group=group, hour=hour, product=product, single=singl
 		
     'ctp':begin
 		
-      if self.verbose then print,'... create cloud top pressure images'
-      x_def = !x
-      y_def = !y
-      
-      if keyword_set(single) then begin 
-        ; single plot
-        !p.multi=0
-        !x.margin = 2.0
-        !y.margin = [0.0,0.2]
-        !y.omargin = [0.2,0.2]
-        charsize = 0.95
-      endif else begin
-      ;  self->startDevice, xscale=0.2 + (2./3.*float(pmultimg[1])) $
-      ;                   , yscale=0.5 + (2./3.* float(pmultimg[1])), addn=addName
-       
-       
-       
-       
-        !x.margin=0.9
-        !y.margin=[0.2,2.2]
-        !x.omargin=1.
-        !y.omargin=[9.,6.]
-        charsize = 3.
-        !p.multi = self.coef['prd',self.product,'pmulti']
-        Window,2,xsize= 400 * !p.multi[1],ysize=400.* !p.multi[2]
-      endelse
-    
-      lon = self->lon()
-    
-      low = lon*0.
-      mid = lon*0.
-      hig = lon*0.
-       
-      ; loop over groups 
-      ; FOR gg = 0 , n_elements(guteInd) -1 DO BEGIN
-      ; 
-       foreach group, group_list do begin
-         
-       
-        
-        print, '    create picture for group ', group
-        self->set_group, group
-        ; read the data from file
-        img = self->get_data(phase=phase, surf=surf )
-       
-
-        ; skip plot if single plot is wanted and there is no data 
-	      if keyword_set(single) and n_elements(img) eq 1 then continue   
-
-        ; skip groups with no data
-        if max(img) eq -1 then begin 
-          img=fltarr(ndims)-1.
-        endif else begin
-          ndims = size(img,/dim)
-        endelse
-
-	      !p.charsize = imgCharsize
-		    
-	      dum = (0 * img) $
-               + 1*(between(img,100,400)) $
-               + 2*(between(img,400,700) ) $
-               + 3*(between(img,700,1000) )
-		   	
-         print, group +' min/max CTP: ', min(img), max(img)
-	   
-         r = 255.*(dum eq 3)
-         g = 255.*(dum eq 2)
-         b = 255.*(dum eq 1)
-      
-         img2 = fix(0> transpose([ [[r]] , [[g]] ,  [[b]]],[2,0,1])  <255)
-		   
-	        hig += dum eq 1
-	        mid += dum eq 2
-	        low += dum eq 3
-
-         ; for single plot open device for each group
-         if keyword_set(single) then begin 
-          ; self->startDevice, xscale=1.2, yscale=1.2, /single, n1 = group_str, addn=addName
-            window,xsize=800,ysize=800
-	          position = [0.05,0.1,0.90,1.0]
-         endif else begin 
-           delvar, position 
-         endelse 	   
-
-	        view2d, img2 $
-           ,no_data_idx=where(img le 0) $
-           ,coast_vec=size(coast,/type) eq 10 ? coast : 0 $
-          ; ,title = group_str $
-           ,aspect=1 $
-           ,coast_col=0 $
-           ,mini=1 $
-           ,maxi=3 $
-           ,ticklength =0. $
-           ,/cool $
-           ,/no_axes $
-           ,charsize=charsize * 0.8 $
-           ,space_idx = where(lon lt -200) $
-           ,space_col= !p.background $
-           ,col_table = 14 $
-           ,verbose = verbose, position=position 
-           
-          
-           
-
-         ; single plot for each group ...
-         if keyword_set(single) then begin 
-           ; write date and region above the title
-           xyouts, 0.5, 0.97, self.coef['prd',product,'longname']  $
-              + ', ' + self->get_date(/nice) $
-              + ', ' + 'Cut-'+string(self.cut,format='(i2.2)'),color=fsc_color('black'),/normal $
-              ,alignment=0.5, charsize=5.9
-
-
-           ; plot color bar for single plot 
-           r_dum=fltarr(120,30)
-           g_dum=fltarr(120,30)
-           b_dum=fltarr(120,30)
-
-           for i=0,2 do begin 
-             if i eq 0 then r_dum[i*40:((i+1)*40)-1,*] = 255
-             if i eq 1 then g_dum[i*40:((i+1)*40)-1,*] = 255 
-             if i eq 2 then b_dum[i*40:((i+1)*40)-1,*] = 255
-           endfor
-
-           dumColorBar = lonarr(90,10)
-           for tt = 0 ,2 do  dumColorBar[(tt*30):((tt+1)*30)-1,0:9] = tt+1
-                    
-           loadct,39
-           img3 = fix(0> transpose([ [[r_dum]] , [[g_dum]] ,  [[b_dum]]],[2,0,1])  <255)
-           tv,img3,0.25,0.05,/normal,true=1,xsize=0.5,ysize=0.06
-        
-           for i=0,2 do begin
-             case i of
-              0:d='Low'
-              1:d='Mid'
-              2:d='High'
-             endcase
-             xyouts,0.34+i*0.165,0.065,d $
-               ,/normal,color=fsc_color('white'),alignment=0.5, charsize=1.0
-           endfor
-
-           ; close file for each group
-          outname = self->build_result_filename(_extra=_extra, single=single $
-            ,      n_disks=n_disks,n1=group_str)+addname
-          write_jpeg,outname+'.jpg',tvrd(/true),/true
-          print,outname
-         
-         endif else begin
-          
-            xyouts,1.06 * !x.crange[0] ,0.92 * !y.crange[1],group,align=0.,charsize=4.,/data,charthick = 2.
-            
-         endelse
-	 
-
-       endforeach
-
-       if not keyword_set(single) then begin
-         
-         ; write product and region
-         loadct, 0, /SILENT
-         
-         ; write date
-         xyouts,0.02,0.95,self->get_date(/nice),/normal,charsize=0.8*imgCharsize
-
-         ; plot color bar for multi plot 
-         ;dumColorBar = lonarr(90,10)
-         ;for tt = 0 ,2 do  dumColorBar[(tt*30):((tt+1)*30)-1,0:9] = tt+1
-
-         r_dum=fltarr(300,30)
-         g_dum=fltarr(300,30)
-         b_dum=fltarr(300,30)
-
-         for i=0,2 do begin 
-           if i eq 0 then r_dum[i*100:((i+1)*100)-1,*] = 255
-           if i eq 1 then g_dum[i*100:((i+1)*100)-1,*] = 255 
-           if i eq 2 then b_dum[i*100:((i+1)*100)-1,*] = 255
-         endfor
-                    
-         loadct,39
-         img3 = fix(0> transpose([ [[r_dum]] , [[g_dum]] ,  [[b_dum]]],[2,0,1])  <255)
-         tv,img3,0.35,0.02,/normal,true=1,xsize=0.3,ysize=0.04
-        
-         for i=0,2 do begin
-           case i of
-            0:d='Low'
-            1:d='Mid'
-            2:d='High'
-           endcase
-           xyouts,0.36+i*0.06,0.024,d $
-             ,/normal,color=fsc_color('white'),alignment=0.5,charthick=1.7
-         endfor
-          
-       endif
-
-       if n_elements(group_list) gt 2 then begin 
-         
-         ; for single plot open device for Match plot
-         if keyword_set(single) then self->startDevice, xscale=1.2, yscale=1.2, n1 = 'MATCH', addn=addName
-        
-         ; plot the disagreement (either seperate file or multi file)
-         r = 255.*(low/11.)
-         g = 255.*(mid/11.)
-         b = 255.*(hig/11.)
-         
-         img = fix(0> transpose([ [[r]] , [[g]] ,  [[b]]],[2,0,1])  <255)
-         
-         ; self->startDevice,add='_match',xs=1.,ys=1.2
-         ; x2ps,self->build_result_filename(_extra=_extra,single=single)+'_match'+'.eps'
-         ; !p.multi=0
-         
-         non_agree = where( (total(img ne 0,1) eq 2.) AND (lon gt (-100)) )
-        
-         view2d, img, /no_a,/asp,space_idx = where(lon lt -200),space_col=!p.background $
-           , no_data_idx = non_agree , no_data_col = fsc_color('gray') $
-           , title = 'Match', charsize=charsize * 0.8 $
-           , coast_vec=size(coast,/type) eq 10 ? coast : 0 
-           
-         r_dum=fltarr(120,30)
-         g_dum=fltarr(120,30)
-         b_dum=fltarr(120,30)
-  
-         for i=0,2 do begin 
-           if i eq 0 then r_dum[i*40:((i+1)*40)-1,*] = 255
-           if i eq 1 then g_dum[i*40:((i+1)*40)-1,*] = 255 
-           if i eq 2 then b_dum[i*40:((i+1)*40)-1,*] = 255
-         endfor
-        
-         ; single plot for each group ...
-         if keyword_set(single) then begin 
-           ; write date and region above the title
-           xyouts, 0.5, 0.95, 'MATCH'  $
-              +' '+'Cut-'+makes(self.cut,self.cut,1,di=2),color=fsc_color('black'),/normal $
-              ,alignment=0.5,charsize=0.9
-         
-           ; close file for each group
-           self->endDevice
-           if ~keyword_set(ps) then self->makeJPG
-         endif 
-
-       endif  ; match
-
-     ;  if not keyword_set(single) then begin 
-;         ; plot color bar for multiplot 
-;         dumColorBar = lonarr(90,10)
-;         for tt = 0 ,2 do  dumColorBar[(tt*30):((tt+1)*30)-1,0:9] = tt+1
-;        
-;         ; view2d, dumColorBar,pos = [0.1,0.3,1.0,0.5],/cool,/no_ax,col_table = 14
-;         ;          
-;         ; xyouts,100.*0.16,5,'High',align=0.5,/data,col=fsc_color('white'),charsize=0.8
-;         ; xyouts,100.*0.47,5,'Middle',align=0.5,/data,col=fsc_color('white'),charsize=0.8
-;         ; xyouts,100.*0.78,5,'Low',align=0.5,/data,col=fsc_color('white'),charsize=0.8
-;             
-;         loadct,39
-;         img3 = fix(0> transpose([ [[r_dum]] , [[g_dum]] ,  [[b_dum]]],[2,0,1])  <255)
-;         tv,img3,0.35,0.02,/normal,true=1,xsize=0.3,ysize=0.04
-;        
-;         for i=0,2 do begin
-;           case i of
-;            0:d='Low'
-;            1:d='Mid'
-;            2:d='High'
-;           endcase
-;           xyouts,0.4+i*0.1,0.06,d $
-;             ,/normal,color=fsc_color('white'),alignment=0.5
-;         endfor
-;       endif 
-;       
-      xyouts,0.55,0.97,self.coef['prd',product,'longname'] $
-            +' '+'Cut-'+string(self.cut,form='(i2.2)'),color=fsc_color('white'),/normal $
-            ,alignment=0.5,charsize=4,charthick = 2.
-       ; RGB picture is switched off
-       if n_elements(group_list ) lt (!p.multi[1]*!p.multi[2]) then begin
-         rgb = self->rgb()
-            
-         view2d,rgb,/cool,/no_axes $
-            ,/aspect $
-            ,space_idx=where(self->lon() lt -200) $
-            ,space_col=!p.background    
-              
-         
-              
-         orbt_nr = time_2_orbit( $
-                   julday(self.month,self.day,self.year,self.hour,self.minute))
-        
-         oCwsAtrain = obj_new('cws2',overpass=orbt_nr)
-
-
-         lon = oCwsAtrain->get_data(prod='LON',/data)
-         lat = oCwsAtrain->get_data(prod='LAT',/data)
-         ydt = oCwsAtrain->get_data(pr='YDT',/data) 
-
-         pxl = geo_2_msg(lon,lat)
-         
-         ind = where (between((ydt mod (3600D*24D))/3600D $
-            ,float(self.hour)+float(self.minute)/60. $
-            ,float(self.hour)+(float(self.minute))/60.+0.3) $
-            and between(pxl.(0),self.x_0,self.x_1) $
-            and between(pxl.(1),self.y_0,self.y_1) ,cW)
-         
-         lon = self->lon()
-         !p.multi=0
-            
-         if cw gt 0 then begin 
-           scale = self.scale eq 0 ? 1 : self.scale
-           plots,((pxl.(0)-self.x_0)*scale)[ind],((pxl.(1)-self.y_0)*scale)[ind] $
-             ,color=fsc_color('red'),/data
-         endif
-                  
-       endif
-       
-     
-
-      png_transparent_bg, tvrd(true=3), color = color , name = self.build_result_filename(_extra=_extra,single=single,n_disks=n_disks)+addname+'.png'
-       print,'created pic: ', self.build_result_filename(_extra=_extra,single=single,n_disks=n_disks)+addname+'.png'
-       !x=x_def
-       !y=y_def
+        self.make_image_ctp,single = single, addtitle = addtitle, group = group, phase=phase,addname= addname
      end
 
 
diff --git a/cws_stats__make_image_cmb.pro b/cws_stats__make_image_cmb.pro
index 03ef2044d9078d241e98de7a712e49733271b146..f572487f4ae4ffcd63af6bd33885ffaeeea32d11 100644
--- a/cws_stats__make_image_cmb.pro
+++ b/cws_stats__make_image_cmb.pro
@@ -6,8 +6,7 @@ pro cws_stats::make_image_cmb $
   , phase = phase
   
  
-  x_def = !x
-  y_def = !y
+  
   group_list = self->create_group_list(product=product, group=group, guteInd=guteInd, single=single, no_FUB=no_FUB)
  
   n_groups = n_elements(group_list)   
diff --git a/cws_stats__make_image_ctp.pro b/cws_stats__make_image_ctp.pro
new file mode 100644
index 0000000000000000000000000000000000000000..49ce289393cfd18ec22646b47122166ee45a996a
--- /dev/null
+++ b/cws_stats__make_image_ctp.pro
@@ -0,0 +1,282 @@
+pro cws_stats::make_image_ctp $
+  , single = single $
+  , addtitle=addtitle $
+  , group = group $
+  , phase = phase $
+  , addname = addname
+  
+  if self.verbose then print,'... create cloud top pressure images'
+   
+  group_list = self->create_group_list(product=product, group=group, guteInd=guteInd, single=single, no_FUB=no_FUB)
+  n_groups = n_elements(group_list)   
+      
+  if keyword_set(single) then begin 
+    ; single plot
+    !p.multi=0
+    !x.margin = 2.0
+    !y.margin = [0.0,0.2]
+    !y.omargin = [0.2,0.2]
+    charsize = 0.95
+  endif else begin
+     !P.multi=self.coef['prd','ctp','pmulti']
+      w1 = window ( dimensions = [400 * ceil((n_groups+2)/3.),406*3] , location =[0.1,0.1] ) 
+       
+  endelse
+    
+  lon = self->lon()
+    
+  low = lon*0.
+  mid = lon*0.
+  hig = lon*0.
+       
+     gg = 0 
+  foreach group, group_list do begin
+    
+    print, '    create picture for group ', group
+    self.set_group, group
+    ; read the data from file
+    img = self->get_data(phase=phase, surf=surf )
+       
+
+    ; skip plot if single plot is wanted and there is no data 
+	  if keyword_set(single) and n_elements(img) eq 1 then continue   
+
+    ; skip groups with no data
+    if max(img) eq -1 then begin 
+      img=fltarr(ndims)-1.
+    endif else begin
+      ndims = size(img,/dim)
+    endelse
+
+	      
+		dum = (0 * img) $
+               + 1*(between(img,100,400)) $
+               + 2*(between(img,400,700) ) $
+               + 3*(between(img,700,1000) )
+		   	
+    print, group +' min/max CTP: ', min(img), max(img)
+	      
+	  hig += dum eq 1
+	  mid += dum eq 2
+	  low += dum eq 3
+
+    ; for single plot open device for each group
+    if keyword_set(single) then begin 
+      ; self->startDevice, xscale=1.2, yscale=1.2, /single, n1 = group_str, addn=addName
+      window,xsize=800,ysize=800
+	    position = [0.05,0.1,0.90,1.0]
+    endif else begin 
+      undefine, position 
+    endelse 	   
+    
+    aw_view2d,dum, w = w    $
+          , title = group  $
+          , min_value = 0, font_size = 18,/ctp_class,/noax, /buffer $
+          , space_idx = where(lon lt -200)
+     rr =  w.CopyWindow(BORDER=0)
+      w1.setCurrent
+      pp =  image(rr,layout = [ceil((n_groups+2)/3.),3,gg+1], /current )
+      w.close      
+          
+ 
+   
+	 
+         gg ++
+       endforeach
+
+
+       if n_elements(group_list) gt 2 then begin 
+         
+         ; for single plot open device for Match plot
+         ;if keyword_set(single) then self->startDevice, xscale=1.2, yscale=1.2, n1 = 'MATCH', addn=addName
+        
+         ; plot the disagreement (either seperate file or multi file)
+         
+       
+         
+         r = 40+215.*(low/float(n_groups))
+         g = 40+215.*(mid/float(n_groups))
+         b = 40+2125.*(hig/float(n_groups))
+         
+         img_show = fix(0> transpose([ [[r]] , [[g]] ,  [[b]]],[2,0,1])  <255)
+         
+         
+         r = 255.*(low/float(n_groups))
+         g = 255.*(mid/float(n_groups))
+         b = 255.*(hig/float(n_groups))
+         
+         img = fix(0> transpose([ [[r]] , [[g]] ,  [[b]]],[2,0,1])  <255)
+         
+         ; make pixels gray
+         
+         idx_0 = where(img eq 0)
+         img_show[idx_0] = 0
+          
+         idx = where(total(img,1) eq 0.)
+         for i=0,2 do begin
+          img_sm = img_show[i,*,*]
+          img_sm[idx] = 0.
+          img_show[i,*,*] = img_sm
+         endfor
+         
+         idx_space = where(lon lt -200)
+          for i=0,2 do begin
+            img_sm= img_show[i,*,*]
+            img_sm[idx_space] =255.
+            img_show[i,*,*] = img_sm
+         endfor
+         
+         aw_view2d,img_show,/noax, w=w
+         rr =  w.CopyWindow(BORDER=0)
+        w1.setCurrent
+        pp =  image(rr,layout = [ceil((n_groups+2)/3.),3,gg+1], /current )
+      
+        w.close  
+        gg++
+       
+         img = fix(0> transpose([ [[r]] , [[g]] ,  [[b]]],[2,0,1])  <255)
+         agree = max(img,dim=1)
+         img_tot = total(img,1)
+        
+        aw_view2d,agree/255.,/noax, w=w,/colo,no_data_idx=where(lon lt -200 or agree eq 0 or img_tot lt 254)
+         rr =  w.CopyWindow(BORDER=0)
+        w1.setCurrent
+        pp =  image(rr,layout = [ceil((n_groups+2)/3.),3,gg+1], /current )
+       
+        w.close  
+        gg++
+         
+         
+         
+      
+        
+         ; single plot for each group ...
+         if keyword_set(single) then begin 
+           ; write date and region above the title
+           xyouts, 0.5, 0.95, 'MATCH'  $
+              +' '+'Cut-'+makes(self.cut,self.cut,1,di=2),color=fsc_color('black'),/normal $
+              ,alignment=0.5,charsize=0.9
+         
+           ; close file for each group
+           self->endDevice
+           if ~keyword_set(ps) then self->makeJPG
+         endif 
+
+       endif  ; match
+       
+       
+       
+       
+       if not keyword_set(single) then begin
+         
+         t11 = text( 0.02,0.95,self->get_date(/nice))
+         
+         
+         ; plot color bar for multi plot 
+         ;dumColorBar = lonarr(90,10)
+         ;for tt = 0 ,2 do  dumColorBar[(tt*30):((tt+1)*30)-1,0:9] = tt+1
+        
+        
+         legend_dum = fltarr(300,30)
+         legend_dum[0:99,*] =  1
+         legend_dum[100:199,*] =  2
+         legend_dum[200:299,*] =  3
+         
+         aw_view2d,legend_dum,/ctp_class, w= w
+         
+         
+        
+        
+         for i=0,2 do begin
+           case i of
+            2:d='Low'
+            1:d='Mid'
+            0:d='High'
+           endcase
+           t22 = text(0.36+i*0.06,0.24, d, 'white')
+           
+         endfor
+         
+          
+           rr =  w.CopyWindow(BORDER=0)
+          w1.setCurrent
+          pp =  image(rr,layout = [ceil((n_groups+2)/3.),3,gg+1], /current )
+                
+          w.close
+       endif
+
+     ;  if not keyword_set(single) then begin 
+;         ; plot color bar for multiplot 
+;         dumColorBar = lonarr(90,10)
+;         for tt = 0 ,2 do  dumColorBar[(tt*30):((tt+1)*30)-1,0:9] = tt+1
+;        
+;         ; view2d, dumColorBar,pos = [0.1,0.3,1.0,0.5],/cool,/no_ax,col_table = 14
+;         ;          
+;         ; xyouts,100.*0.16,5,'High',align=0.5,/data,col=fsc_color('white'),charsize=0.8
+;         ; xyouts,100.*0.47,5,'Middle',align=0.5,/data,col=fsc_color('white'),charsize=0.8
+;         ; xyouts,100.*0.78,5,'Low',align=0.5,/data,col=fsc_color('white'),charsize=0.8
+;             
+;         loadct,39
+;         img3 = fix(0> transpose([ [[r_dum]] , [[g_dum]] ,  [[b_dum]]],[2,0,1])  <255)
+;         tv,img3,0.35,0.02,/normal,true=1,xsize=0.3,ysize=0.04
+;        
+;         for i=0,2 do begin
+;           case i of
+;            0:d='Low'
+;            1:d='Mid'
+;            2:d='High'
+;           endcase
+;           xyouts,0.4+i*0.1,0.06,d $
+;             ,/normal,color=fsc_color('white'),alignment=0.5
+;         endfor
+;       endif 
+;       
+     ; xyouts,0.55,0.97,self.coef['prd',product,'longname'] $
+;            +' '+'Cut-'+string(self.cut,form='(i2.2)'),color=fsc_color('white'),/normal $
+;            ,alignment=0.5,charsize=4,charthick = 2.
+;       ; RGB picture is switched off
+;       if n_elements(group_list ) lt (!p.multi[1]*!p.multi[2]) then begin
+;         rgb = self->rgb()
+;            
+;         view2d,rgb,/cool,/no_axes $
+;            ,/aspect $
+;            ,space_idx=where(self->lon() lt -200) $
+;            ,space_col=!p.background    
+;              
+;         
+;              
+;         orbt_nr = time_2_orbit( $
+;                   julday(self.month,self.day,self.year,self.hour,self.minute))
+;        
+;         oCwsAtrain = obj_new('cws2',overpass=orbt_nr)
+;
+;
+;         lon = oCwsAtrain->get_data(prod='LON',/data)
+;         lat = oCwsAtrain->get_data(prod='LAT',/data)
+;         ydt = oCwsAtrain->get_data(pr='YDT',/data) 
+;
+;         pxl = geo_2_msg(lon,lat)
+;         
+;         ind = where (between((ydt mod (3600D*24D))/3600D $
+;            ,float(self.hour)+float(self.minute)/60. $
+;            ,float(self.hour)+(float(self.minute))/60.+0.3) $
+;            and between(pxl.(0),self.x_0,self.x_1) $
+;            and between(pxl.(1),self.y_0,self.y_1) ,cW)
+;         
+;         lon = self->lon()
+;         !p.multi=0
+;            
+;         if cw gt 0 then begin 
+;           scale = self.scale eq 0 ? 1 : self.scale
+;           plots,((pxl.(0)-self.x_0)*scale)[ind],((pxl.(1)-self.y_0)*scale)[ind] $
+;             ,color=fsc_color('red'),/data
+;         endif
+;                  
+;       endif
+       
+     w1.save, self.build_result_filename(_extra=_extra,single=single,n_disks=n_disks)+addname+'.png'
+
+      
+       print,'created pic: ', self.build_result_filename(_extra=_extra,single=single,n_disks=n_disks)+addname+'.png'
+      
+  end