PRO gfs resolution = GETENV('RESOLUTION') ; degrees per grid point model = GETENV('MODEL') ; name of model ; Find the latest input GFS file IF (model EQ "fim") THEN BEGIN directory = '/public/data/gsd/fim/netcdf' ; directory = '/public/retro/fim' ENDIF ELSE IF (model EQ "fimchem") THEN BEGIN directory = '/home/fab/albers/sos/earth/grids/gfs/fimchem' ENDIF ELSE IF (model EQ "gme") THEN BEGIN directory = '/scratch/staging/fab/jykim/GME' ENDIF ELSE IF (resolution EQ 1.0) THEN BEGIN directory = '/public/data/grids/gfs/global-65160/netcdf' ENDIF ELSE BEGIN directory = '/public/data/grids/gfs/0p5deg/netcdf' ENDELSE inputfiles = FINDFILE(directory, COUNT=ninputfiles) print,'directory = ',directory print,'count of input files = ',ninputfiles,' ',inputfiles[ninputfiles-1] latestinputrun = STRMID(inputfiles[ninputfiles-1],0,9) fcsttime_last = STRMID(inputfiles[ninputfiles-1],9,4) print,'latestinputrun = ',latestinputrun print,'fcsttime_last = ',fcsttime_last ; Find the latest output GFS file ; outputdir = '/home/albers/data/display/earth/grids/gfs/latest/raw' dataroot = GETENV('DATA_ROOT') outputdir = dataroot + '/raw' field = GETENV('GFS_FIELD') outputfiles = FINDFILE(outputdir, COUNT=noutputfiles) IF (noutputfiles GE 1) THEN BEGIN print,'latest output file = ',outputfiles[noutputfiles-1] latestoutputrun = STRMID(outputfiles[noutputfiles-1],0,9) ENDIF ELSE BEGIN latestoutputrun = 'NONE' ENDELSE print,'outputdir = ',outputdir print,'latestoutputrun = ',latestoutputrun ; Generate GFS image ; Find first file from the latest run FOR I = ninputfiles-1,0,-1 DO BEGIN currentrun = STRMID(inputfiles[I],0,9) IF (currentrun EQ latestinputrun) then BEGIN ISTART_LATEST_RUN = I ENDIF ENDFOR IF(field eq "PCP")THEN BEGIN IF(model eq "gfs")THEN BEGIN ISKIP = 2 ENDIF ELSE BEGIN ; FIM ISKIP = 1 ENDELSE ENDIF ELSE BEGIN ; non precip ISKIP = 1 ; realtime ENDELSE print,'latest model run start = ',ISTART_LATEST_RUN print,'file skip interval = ',ISKIP ; Loop through the latest run, skipping files if needed FOR I = ISTART_LATEST_RUN,ninputfiles-1,ISKIP DO BEGIN if (I GE ninputfiles) THEN BEGIN print,' WARNING: I exceeds dimensions:',I,ninputfiles-1 print,' exit loop' goto, endloop ; for testing endif currentrun = STRMID(inputfiles[I],0,9) IF (currentrun EQ latestinputrun) then BEGIN print,' ' print,I,' ',currentrun,' ',latestinputrun IF (I LT ninputfiles-1) then BEGIN ftime1='/' + inputfiles[I] ftime2='/' + inputfiles[I+ISKIP] ; exit ENDIF ELSE BEGIN ftime1='/' + inputfiles[I] ftime2='/' + inputfiles[I] ; exit ENDELSE print,' ' print,'************** NEW FILE PAIR ****************************' print,'call gfsht: ftime1 = ',ftime1,' ftime2 = ',ftime2, ' resolution = ',resolution gfsht, directory, outputdir, resolution, model, tablename, colorbarname, clow, chigh, exit_status, field1=field, field2=field, time1=ftime1, time2=ftime2, stretch2=1.0 ; goto, endloop ; for testing ENDIF ELSE BEGIN print,I,' ',currentrun,' ',latestinputrun ENDELSE ENDFOR endloop: ; Generate and write out colorbar based on tablename and colorbarname ;wdelete,0 erase labeldir = dataroot + '/labels' print,' tablename = ',tablename print,' colorbarname = ',colorbarname load_ct_sub,tablename,colorbarname,clow,chigh,labeldir END