33 lines
		
	
	
		
			917 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			917 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | subroutine fix_contest_msg(mygrid,msg) | ||
|  | 
 | ||
|  | ! If distance from mygrid to grid1 is more thsn 10000 km, change "grid1" | ||
|  | ! to "R grid2" where grid2 is the antipodes of grid1. | ||
|  | 
 | ||
|  |   character*6 mygrid | ||
|  |   character*22 msg | ||
|  |   character*6 g1,g2 | ||
|  |   logical isgrid | ||
|  | 
 | ||
|  |   isgrid(g1)=g1(1:1).ge.'A' .and. g1(1:1).le.'R' .and. g1(2:2).ge.'A' .and. & | ||
|  |        g1(2:2).le.'R' .and. g1(3:3).ge.'0' .and. g1(3:3).le.'9' .and.       & | ||
|  |        g1(4:4).ge.'0' .and. g1(4:4).le.'9' .and. g1(1:4).ne.'RR73' | ||
|  | 
 | ||
|  |   n=len(trim(msg)) | ||
|  |   if(n.lt.4) return | ||
|  | 
 | ||
|  |   g1=msg(n-3:n)//'  ' | ||
|  |   if(isgrid(g1)) then | ||
|  |      call azdist(mygrid,g1,0.d0,nAz,nEl,nDmiles,nDkm,nHotAz,nHotABetter) | ||
|  |      if(ndkm.gt.10000) then | ||
|  |         call grid2deg(g1,dlong,dlat) | ||
|  |         dlong=dlong+180.0 | ||
|  |         if(dlong.gt.180.0) dlong=dlong-360.0 | ||
|  |         dlat=-dlat | ||
|  |         call deg2grid(dlong,dlat,g2) | ||
|  |         msg=msg(1:n-4)//'R '//g2(1:4) | ||
|  |      endif | ||
|  |   endif | ||
|  | 
 | ||
|  |   return | ||
|  | end subroutine fix_contest_msg |