;------------------------------------------------------------------------------ ; ; NAME: cs_grid_plot ; ; PURPOSE: Plots clear-sky grid data constructed from the CS files. Use script ; HIRS_GRID_CS to construct grid files from clear-sky swath data files. ; ; LANGUAGE: IDL ; ; CALLING SEQUENCE: ; ; INPUTS: NAME TYPE DIMENSION*ELEMENTS DESCRIPTION ; --------------------------------------------------------- ; satnum string 1D X 2 Satellite number (NOAA-11 = 11) ; year string 1D X 2 2 digit year (1991 = 91) ; res float 1D X 1 resolution (1.0,2.5,etc.) ; type string 1D X 1 time resolution (D=daily ; P=pentad,M=month) ; number string 1D X 2 Number corresponding to type ; stat string 1D X 2or3 MN=mean,SD=std. dev.,CT=counts ; chn integer 1D X 1 channel number (1-20) ; ; INPUT KEYWORD PARAMETERS: ; dpath string 1D X N directory path to grid file ; ps_file /keyword 1D X N/A set for postscript output ; region float 1D X 4 region=[slat,nlat,wlon,elon] ; lat = -90 to 90,lon = 0 to 360. ; SIDE EFFECTS: ; ; RESTRICTIONS: ; ; CREATION HISTORY: Darren Jackson, ETL/CIRES Mar 2002 ; ;--------------------------------------------------------------------- ; PRO cs_grid_plot, satnum, year, res, type, number, stat, chn, dpath=dpath, ps_file=ps_file, $ region = region ; ; Construct full path and file name ; CASE type OF 'D' : d2path = '/data/dlj/tovs1b/pathfinder2/hirs_grid/daily/' 'P' : d2path = '/data/dlj/tovs1b/pathfinder2/hirs_grid/pentad/' 'M' : d2path = '/data/dlj/tovs1b/pathfinder2/hirs_grid/month/' ENDCASE cres = strtrim(string(fix(res*10)),2) ; ; Test for number plots on page ; nplots = 1 IF(stat eq 'ALL') THEN BEGIN nplots = 3 stat = 'MN' pos = [0,.667,1,1] ENDIF ; ; Loop through number of plots on page ; FOR i = 1, nplots DO BEGIN fname = 'HIRS.N'+satnum+'.Y'+year+'.'+type+number+'.R'+cres+'.CS.'+stat IF(KEYWORD_SET(dpath)) THEN BEGIN fpath = dpath+'/'+fname ENDIF ELSE BEGIN CASE stat OF 'MN' : fpath = d2path+'mean/'+fname 'SD' : fpath = d2path+'std/'+fname 'CT' : fpath = d2path+'count/'+fname ENDCASE ENDELSE ; ; Open and Read data ; nlon = 360/res nlat = 180/res nchn = 20 a=intarr(nlon,nlat,nchn) OPENR,inlun,fpath,/get_lun READU,inlun,a FREE_LUN,inlun ; ; Construct grid field ; CASE stat OF 'MN' : mean = a/100. + 100. 'SD' : std = a/100. 'CT' : cnt = a ENDCASE ; ; Isolate region to plot ; IF(not KEYWORD_SET(region)) THEN region = [-90,90,0,360] xlat = -90. + res/2. + FINDGEN(nlat)*res xlon = 0. + res/2. + FINDGEN(nlon)*res blat = WHERE(xlat ge region(0) and xlat le region(1)) blon = WHERE(xlon ge region(2) and xlon le region(3)) ; ; Plot grid field ; title = fname + ': CHN '+strtrim(string(chn),2) IF(nplots eq 1) THEN BEGIN IF(KEYWORD_SET(ps_file)) THEN BEGIN CASE stat OF 'MN' : PIMAGE,mean(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,/ps_port 'SD' : PIMAGE,std(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,/ps_port 'CT' : PIMAGE,cnt(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,/ps_port ENDCASE ENDIF ELSE BEGIN CASE stat OF 'MN' : PIMAGE,mean(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title 'SD' : PIMAGE,std(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title 'CT' : PIMAGE,cnt(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title ENDCASE ENDELSE ENDIF ELSE BEGIN IF(KEYWORD_SET(ps_file)) THEN BEGIN CASE stat OF 'MN' : PIMAGE,mean(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,pos=pos,/multi,/ps_port 'SD' : PIMAGE,std(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,pos=pos,/multi,/ps_port 'CT' : PIMAGE,cnt(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,pos=pos,/multi,/ps_port ENDCASE ENDIF ELSE BEGIN CASE stat OF 'MN' : PIMAGE,mean(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,pos=pos,/multi 'SD' : PIMAGE,std(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,pos=pos,/multi 'CT' : PIMAGE,cnt(blon,blat,chn-1),mis_val=-99.,/coast,/label,units='K',region=region,title=title,pos=pos,/multi ENDCASE ENDELSE ENDELSE ; ; Change stat parameter for next plot ; CASE i OF 1 : BEGIN stat = 'SD' pos = [0,.333,1,.667] END 2 : BEGIN stat = 'CT' pos = [0,0,1,.333] END 3: PRINT, 'All Done' ENDCASE ENDFOR IF(KEYWORD_SET(ps_file) and nplots gt 1) THEN DEVICE,/close ; ; All done ; END