mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-15 16:42:12 -05:00
31 lines
1014 B
Fortran
31 lines
1014 B
Fortran
|
subroutine deg2grid(dlong0,dlat,grid)
|
||
|
|
||
|
real dlong !West longitude (deg)
|
||
|
real dlat !Latitude (deg)
|
||
|
character grid*6
|
||
|
|
||
|
dlong=dlong0
|
||
|
if(dlong.lt.-180.0) dlong=dlong+360.0
|
||
|
if(dlong.gt.180.0) dlong=dlong-360.0
|
||
|
|
||
|
! Convert to units of 5 min of longitude, working east from 180 deg.
|
||
|
nlong=60.0*(180.0-dlong)/5.0
|
||
|
n1=nlong/240 !20-degree field
|
||
|
n2=(nlong-240*n1)/24 !2 degree square
|
||
|
n3=nlong-240*n1-24*n2 !5 minute subsquare
|
||
|
grid(1:1)=char(ichar('A')+n1)
|
||
|
grid(3:3)=char(ichar('0')+n2)
|
||
|
grid(5:5)=char(ichar('a')+n3)
|
||
|
|
||
|
! Convert to units of 2.5 min of latitude, working north from -90 deg.
|
||
|
nlat=60.0*(dlat+90)/2.5
|
||
|
n1=nlat/240 !10-degree field
|
||
|
n2=(nlat-240*n1)/24 !1 degree square
|
||
|
n3=nlat-240*n1-24*n2 !2.5 minuts subsquare
|
||
|
grid(2:2)=char(ichar('A')+n1)
|
||
|
grid(4:4)=char(ichar('0')+n2)
|
||
|
grid(6:6)=char(ichar('a')+n3)
|
||
|
|
||
|
return
|
||
|
end subroutine deg2grid
|