pro top_world_flag_loop_plot common cbtz_dz_variables, lat_vector, lon_vector, $ cbtz_bin_mid, cbtz_dbin, dz_bin_mid, dz_dbin, $ cld_column_count, total_column_count, $ cbz_dz1_grid, ctz_dz1_grid, cbz_dz2_grid, ctz_dz2_grid max_lat=+70. & min_lat=-70. & comin_lon=0. & comax_lon=359. & dlat=3.0 & dlon=4. ; set up the first map map_area='World' ; max_lat=max_lat-dlat colon_vector=lon_vector result=where(colon_vector lt 0,count) if count gt 0 then colon_vector[result]=360.0+colon_vector[result] lat_vector2=min_lat while max(lat_vector2) le max_lat do lat_vector2=[lat_vector2,(max(lat_vector2))+(2.*dlat)] colon_vector2=comin_lon while max(colon_vector2) le comax_lon do colon_vector2=[colon_vector2,(max(colon_vector2))+(2.*dlon)] lon_vector2=colon_vector2 result=where(lon_vector2 gt 180., count) if count gt 0. then lon_vector2[result]=colon_vector2[result]-360. max_lon=comax_lon if comax_lon gt 180. then max_lon=comax_lon-360. min_lon=comin_lon if comin_lon gt 180. then min_lon=comin_lon-360. if max_lon lt min_lon then begin t=max_lon & max_lon=min_lon & min_lon=t endif layer_base_map = fltarr(n_elements(colon_vector2), n_elements(lat_vector2)) ;***** here for base_ind1 = 0, n_elements(cbtz_bin_mid)-1 do begin for base_ind2 = base_ind1, n_elements(cbtz_bin_mid)-1 do begin for dz_ind1 = 0, n_elements(dz_bin_mid)-1 do begin for dz_ind2 = n_elements(dz_bin_mid)-1, n_elements(dz_bin_mid)-1 do begin ;;for dz_ind2 = dz_ind1,n_elements(dz_bin_mid)-1 do begin for j=0,n_elements(lat_vector2)-1 do begin i=0 while lat_vector[i] le lat_vector2[j]-dlat and i lt n_elements(lat_vector)-2 do i=i+1 & lat_start_index=i while lat_vector[i] lt lat_vector2[j]+dlat and i lt n_elements(lat_vector)-2 do i=i+1 & lat_end_index=i for k=0,n_elements(colon_vector2)-1 do begin i=0 if colon_vector2[k] lt 180 then begin while colon_vector[i] ne 0.0 do i=i+1 endif while colon_vector[i] le colon_vector2[k]-dlon and i lt n_elements(colon_vector)-2 do i=i+1 & lon_start_index=i if colon_vector2[k]+dlon lt max(colon_vector) then begin while colon_vector[i] lt colon_vector2[k]+dlon and i lt n_elements(colon_vector)-2 do i=i+1 & lon_end_index=i endif else begin while colon_vector[i] lt max(colon_vector) and i lt n_elements(colon_vector)-2 do i=i+1 & lon_end_index=i endelse ; if colon_vector2[k]+dlon lt max(colon_vector) if total(float(total_column_count[lat_start_index:lat_end_index, $ lon_start_index:lon_end_index,*])) ne 0 then begin layer_base_map[k,j] = $ ((total(float(cbz_dz1_grid[lat_start_index:lat_end_index, $ lon_start_index:lon_end_index, *, base_ind1:base_ind2,dz_ind1:dz_ind2]))) + $ (total(float(cbz_dz2_grid[lat_start_index:lat_end_index, lon_start_index:lon_end_index, $ *, 0:base_ind2, *, base_ind1:base_ind2, dz_ind1:dz_ind2])))) / $ total(float(total_column_count[lat_start_index:lat_end_index,lon_start_index:lon_end_index,*])) if k eq n_elements(colon_vector2)-1 then begin ;print, total(float(cbz_dz1_grid[lat_start_index:lat_end_index, $ ; lon_start_index:lon_end_index,*,base_ind1:base_ind2,dz_ind1:dz_ind2])),$ ; total(float(total_column_count[lat_start_index:lat_end_index, $ ; lon_start_index:lon_end_index,*])),lon_start_index, lon_end_index layer_base_map[k,j]=(layer_base_map[k,j]+layer_base_map[0,j])/2. endif endif else begin layer_base_map[k,j]=0.0 endelse ; if total(..........) ne 0 endfor ; for k=0,n_elements(colon_vector2)-1 endfor ; for j=0,n_elements(lat_vector2)-1 ; now plot the map lat_avg_string=strtrim(string(2.*dlat,format='(f3.1)')) lon_avg_string=strtrim(string(2.*dlon,format='(f3.1)')) colorbar_title='Coverage' min_base=cbtz_bin_mid[base_ind1]-cbtz_dbin[base_ind1] max_base=cbtz_bin_mid[base_ind2]+cbtz_dbin[base_ind2] min_dz=dz_bin_mid[dz_ind1]-dz_dbin[dz_ind1] max_dz=dz_bin_mid[dz_ind2]+dz_dbin[dz_ind2] title_string = 'CloudSat/Calipso Hydrometeor Coverage (Normalization: All Profiles) . Avg Box: ' + $ lat_avg_string+'X'+lon_avg_string+'. For Period '+'_'+datelist[0]+'-'+datelist[n_elements(datelist)-1] title_string2='Bases '+strtrim(string(fix(min_base),format='(i6)'),2)+'-'+$ strtrim(string(fix(max_base),format='(i6)'),2)+$ ' Thickness: '+strtrim(string(fix(min_dz),format='(i6)'),2)+$ '-'+strtrim(string(fix(max_dz),format='(i6)'),2) if base_ind1 eq 0 and base_ind2 eq base_ind1 then begin spawn, 'mkdir '+output_path+'/World'+'_'+datelist[0]+'-'+datelist[n_elements(datelist)-1] endif output_fname = output_path+'/World'+'_'+datelist[0]+'-'+datelist[n_elements(datelist)-1]+ $ '/RLGeoprof_base_AbsFraction-World'$ +'_'+datelist[0]+'-'+datelist[n_elements(datelist)-1]+'_'+$ lat_avg_string+'X'+lon_avg_string+'_base_'+strtrim(string(fix(min_base),format='(i6)'),2)+'-'+$ strtrim(string(fix(max_base),format='(i6)'),2)+'_dz_'+$ strtrim(string(fix(min_dz),format='(i6)'),2)+'-'+$ strtrim(string(fix(max_dz),format='(i6)'),2)+'dBZ-All.gif' dmax=max(layer_base_map)+0.1*(max(layer_base_map)) dmin=min(layer_base_map) if dmax gt 0. and dmax ne dmin then begin plot_cloudsat_coverage_map_world, layer_base_map, 1000, 600, 5, 2.5, max_lat, min_lat, $ comax_lon, comin_lon, 0.1, 0.15, 0.9, 0.85, 0, 0, -70, 0, 70, 360, dmax, dmin, title_string, $ lon_vector2,lat_vector2, title_string2, colorbar_title, 1.0, $ output_fname output_fname=output_path+'/World'+'_'+datelist[0]+'-'+ $ datelist[n_elements(datelist)-1]+'/RLGeoprof_base_AbsFraction-World'$ +'_'+datelist[0]+'-'+datelist[n_elements(datelist)-1]+'_'+$ lat_avg_string+'X'+lon_avg_string+'_base_'+strtrim(string(fix(min_base),format='(i6)'),2)+'-'+$ strtrim(string(fix(max_base),format='(i6)'),2)+'_dz_'+$ strtrim(string(fix(min_dz),format='(i6)'),2)+'-'+$ strtrim(string(fix(max_dz),format='(i6)'),2)+'dBZ-All.cdf' write_2d_ncdf_map, output_fname,$ layer_base_map,lon_vector2,lat_vector2,(comax_lon+comin_lon)/2.0,min_lat,$ max_lon,max_lat,min_lon,comax_lon,comin_lon endif else begin print, 'no data ' ;,min_base, max_base, min_dz, max_dz endelse ; if dmax gt 0. and dmax ne dmin endfor ; dz_ind2 endfor ; dz_ind1 endfor ; cbztz_ind2 endfor ; cbztz_ind1 return end