subroutine indictb(stnid,buflat,buflon,mtrids,mtrlat,mtrlon,mtrmax,inmtr) implicit none integer(4),parameter::max=99999 integer(4)::i character(len=8),intent(in)::stnid real(4),intent(in)::buflat,buflon real(4),intent(in)::mtrlat(max),mtrlon(max) integer(4),intent(in)::mtrmax character(len=8),intent(in)::mtrids(max) integer(4),intent(out)::inmtr real(4)::latdiff,londiff inmtr=0 !print*, "Looking in dictionary for station:",stnid,buflat,buflon mtrina: do i=1,mtrmax if (mtrids(i).eq."MISSING ") then !.or.inmtr.eq.1) then print*, "Station not found!" exit elseif (trim(stnid).eq.trim(mtrids(i))) then !print*, "Station ID's match:",i latdiff=abs(buflat-mtrlat(i)) londiff=abs(buflon-mtrlon(i)) !print*, "buflat,mtrlat(i),buflon,mtrlon(i),latdif,londiff=",buflat,mtrlat(i),buflon,mtrlon(i),latdiff,londiff if (latdiff.le.0.1.and.londiff.le.0.1) then inmtr=i !print*, "Station found!:",stnid exit mtrina endif endif enddo mtrina end subroutine indictb