C+ C NAME: C interpolate_lon.f C PURPOSE: C Interpolate the longitude of ASHI to use in a sidereal time determination C CATEGORY: C I/O C CALLING SEQUENCE: C call interpolate_latlon(JDXI,JD,alat,alon,NL,alatx,alonx) C C INPUTS: C JDXI real*8 Julian Date time to interpolate to C JD (NL) real*8 Julian dates of the tracked values where longitudes and latitudes exist C C OUTPUTS: C NL integer # valid number of tracked longitudes and latitudes recorded C alonx real interpolated tracked longitude value C alonx real interpolated tracked latitude value C C FUNCTIONS/SUBROUTINES: C C MODIFICATION HISTORY: C April-2022, Bernard Jackson (UCSD) C- subroutine interpolate_latlon(JDXI,JD,alat,alon,NL,alatx,alonx) real alat(NL), & alon(NL) real*8 JD (NL) real*8 JDXI print*, ' Into interpolate_lon' do I=1,NL-1 if(JDXI.ge.JD(I).and.JDXI.lt.JD(I) alonx = ((JDXI-JD(I))/(JD(I+1)-JD(I)))*(alon(I+1)-alon(I)) + alon(I) alatx = ((JDXI-JD(I))/(JD(I+1)-JD(I)))*(alat(I+1)-alat(I)) + alat(I) IX = I end if end do print*, ' ' write (*,'(2I5,3F15.6,6F9.4)') IX,IX+1,JDXI,JD(IX),JD(IX=1),alat(IX),alat(IX+1),alatx,alon(IX),alon(IX+1),alonx return end