pro GIRO_PLOTS,sSAT=sSAT ; Standard folder sOutput_GIRO = './results/' ; Reading the calibration results GIRO_READ_OUTPUT, sSat = sSat, stROLO_Res_NCDF = stROLO_Res_NCDF ; Getting the number of channels iChan_Num = n_elements(tag_names(stROLO_Res_NCDF)) dJuls = dblarr(n_elements(stROLO_Res_NCDF.(0).sROLO_Files)) ; Getting the julian day array for ff=0,n_elements(stROLO_Res_NCDF.(0).sROLO_Files)-1 do begin sSplit_File_Name = strsplit(stROLO_Res_NCDF.(0).sROLO_Files[ff],'_',/EXTRACT) sCalendar_Info = sSplit_File_Name[4] ; Extracting the different parts of the calendar date/time iYYYY = fix(strmid(sCalendar_Info,0,4)) iMM = fix(strmid(sCalendar_Info,4,2)) iDD = fix(strmid(sCalendar_Info,6,2)) ihh = fix(strmid(sCalendar_Info,8,2)) imin = fix(strmid(sCalendar_Info,10,2)) isec = fix(strmid(sCalendar_Info,12,2)) ; Storing the julian day dJuls[ff] = julday(iMM, iDD, iYYYY, ihh, imin, isec) endfor ; Cycling on the different channels for the representation for cc=0,iChan_Num-1 do begin ; Mask lMask = where( (abs(reform(stROLO_Res_NCDF.(cc).dPHASE_ANGLE)) ge 2) and $ (abs(reform(stROLO_Res_NCDF.(cc).dPHASE_ANGLE)) le 92) and $ (reform(stROLO_Res_NCDF.(cc).dOBS_Irradiance) gt -998) ) ; Quantities to use in the plot dROLO_Irr_Plot = stROLO_Res_NCDF.(cc).dROLO_IRRADIANCE[lMask] dOBS_Irr_Plot = stROLO_Res_NCDF.(cc).dOBS_IRRADIANCE[lMask] dPhase_Angle_Plot = stROLO_Res_NCDF.(cc).dPhase_Angle[lMask] dJuls_Plot = dJuls[lMask] dIrr_Bias = 100. * (1. - dROLO_Irr_Plot/dOBS_Irr_Plot) ; Create a PostScript file ; File name sPS_Plot_Name = sOutput_GIRO+'GIRO_results_'+sSat+'_'+stROLO_Res_NCDF.(cc).sChannel_Name+'.ps' cgPS_Open , sPS_Plot_Name ; Create a graphics window cgDisplay ; Greek letters del=cgGreek('Delta') mu =cgGreek('mu') ; First plot (PLOT_MODE = 'Irr') cgLoadCT,0 ; Setting the plot cgPlot,dJuls_Plot,dIrr_Bias,/NODATA,$ title='Irradiance bias '+sSat+'/'+stROLO_Res_NCDF.(cc).sChannel_Name,xtitle='Time [ julian day ]',ytitle='Irradiance bias [ % ]',charsize=1.2,$ /xs,yrange=[fix(mean(dIrr_Bias))-fix(5.*stddev(dIrr_Bias)),fix(mean(dIrr_Bias))+fix(5.*stddev(dIrr_Bias))],/ys,$ psym=5,symcolor='black',xthick=2,ythick=2,xtickunits=['Years'],xticklen=1.e-20,$ position=[0.15,0.51,0.95,0.79] cgLoadct,70 for jj=0,n_elements(lMask)-1 do begin iColor = fix(255. * ((dPhase_Angle_Plot[jj]+92.)/184.)) cgOplot,dJuls_Plot[jj],dIrr_Bias[jj],psym=16,symcolor=iColor endfor for yy=1990,2020 do cgOplot,[julday(1,1,yy),julday(1,1,yy)],[fix(mean(dIrr_Bias))-fix(5.*stddev(dIrr_Bias)),fix(mean(dIrr_Bias))+fix(5.*stddev(dIrr_Bias))],line=1,thick=1 ; Color bar cgColorbar,$ charsize=1.2,bottom=0,range=[-92,92],$ title='Phase Angle [ deg ]',position=[0.15,0.94,0.95,0.98],$ ticknames=['-92','0','92'],divisions=2 ; Second plot (PLOT_MODE = 'Irr') cgLoadCT,0 ; Setting the plot cgPlot,dPhase_Angle_Plot,dIrr_Bias,/NODATA,$ xtitle='Phase angle [ deg ]',ytitle='Irradiance bias [ % ]',charsize=1.2,$ /xs,yrange=[fix(mean(dIrr_Bias))-fix(5.*stddev(dIrr_Bias)),fix(mean(dIrr_Bias))+fix(5.*stddev(dIrr_Bias))],/ys,$ psym=5,symcolor='black',xthick=2,ythick=2,$ position=[0.15,0.15,0.95,0.43],/noerase cgOplot,[0.,0.],[fix(mean(dIrr_Bias))-fix(5.*stddev(dIrr_Bias)),fix(mean(dIrr_Bias))+fix(5.*stddev(dIrr_Bias))],line=1,thick=1 cgOPlot,dPhase_Angle_Plot,dIrr_Bias,psym=16 ; Creating the .png and deleting the .ps cgPS_Close,/PNG,/DELETE_PS endfor end