c----------------------------------------------------------------------- c c Name: c SUBROUTINE GETCOF c c Purpose: c Get effective central wavenumber and temperature correction c coefficients for a MAS IR band, given a range of expected earth c scene temperatures. c c Usage: c CALL GETCOF( BAND, T1, T2, WC, TCS, TCI ) c c Input: c BAND MAS IR band number (26-50) c T1 Lower limit of expected earth scene temperature range (K) c T2 Upper limit of expected earth scene temperature range (K) c c Output: c WC Effective central wavenumber (inverse centimeters) c TCS Temperature correction slope (no units) c TCI Temperature correction intercept (K) c c Revised: c Liam.Gumley@ssec.wisc.edu c $Id: getcof.f,v 1.3 1999/11/11 20:04:44 gumley Exp $ c c Notes: c The temperature correction coefficients are applied in the c Planck function as c c R = B( WC, TCS*T+TCI ) c c where R is the Planck radiance in the infrared band, c WC is the effective central wavenumber, c T is the blackbody temperature, c B( W, TCS*T+TCI ) is the Planck function. c c----------------------------------------------------------------------- subroutine getcof( band, t1, t2, wc, tcs, tci ) implicit none c ... arguments integer band real t1, t2, tcs, tci c ... local variables character*20 file integer n, i real w1, w2, r( 10000 ), wc, cenwav, w( 10000 ) external cenwav c ... check band number if( band .lt. 26 .or. band .gt. 50 ) then write(*,*) 'Fatal Error in subroutine GETCOF' write(*,*) 'MAS IR band number was out of the range [26-50]' write(*,*) 'Offending value was ', band stop endif c ... get interpolated spectral response file = 'srf-'//char(band/10+48)//char(mod(band,10)+48)//'.asc' call hmwsrf( file, n, w1, w2, r ) c ... get central wavenumber wc = cenwav( n, w1, w2, r ) c ... make wavenumber array do i = 1, n w( i ) = ( w2 - w1 ) * real( i - 1 ) / real( n - 1 ) + w1 end do c ... get temperature correction slope and intercept call bndfit( n, w, r, wc, t1, t2, tcs, tci ) end