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