c======================================================================== c c NAME: unpack_hirs c c PURPOSE: Unpacks itpp tovprw5_h data information for one MSU scan line c c INPUT: c indata(trec)..............input data record (int*4) c c OUTPUT: c xlat(nspot)...............latitude (-90 to 90) (float) c xlon(nspot)...............longitude (0 to 359.99) (float) c ispot(nspot)..............scan position (int*4) c line(nspot)...............line number (int*4) c iyr(nspot)................year-1900 (int*4) c idy(nspot)................julian day (int*4) c time(nspot)...............seconds in the day (float) c tb(nspot,nchn)............TBs (float) c szen(nspot)...............solar zenith angle (degrees) (float) c alt(nspot)................altitude (km) (float) c c EXTERNALS: c hirs1c.inc c c RESTRICTIONS: c For use with only ITPP processed data (TIROS-N to NOAA-14) c c HISTORY: c Darren Jackson CIRES/ETL April 2002 c c=========================================================================== c subroutine unpack_hirs(indata,ispot,line,time,xlat,xlon,szen,alt, . tb,refl) implicit none include 'hirs1c.inc' integer indata(trec),n,m,isp,line(nspot),ispot(nspot) real xlat(nspot),xlon(nspot),tb(nspot,nchn),time(nspot) real alt(nspot),szen(nspot),refl(nspot) do m=1,nspot isp=(m-1)*nlen xlat(m)=indata(1+isp)/100. xlon(m)=indata(2+isp)/100. szen(m)=indata(3+isp)/100. do n=1,nchn2 tb(m,n)=indata(3+isp+n)/100. enddo refl(m)=indata(23+isp)/100. time(m)=indata(24+isp)/64. alt(m)=indata(25+isp)/1000. line(m)=int(indata(26+isp)/100.) ispot(m)=mod(indata(26+isp),100) if(xlon(m) .lt. 0.) xlon(m)=360.+ xlon(m) enddo return end