5 &(fformat,nfic,x,y,npoin,projection,lati0,longi0,z)
41 INTEGER,
INTENT(IN) :: NPOIN,NFIC
42 DOUBLE PRECISION,
INTENT(OUT) :: X(npoin),Y(npoin)
43 DOUBLE PRECISION,
INTENT(OUT),
OPTIONAL :: Z(npoin)
44 INTEGER,
INTENT(INOUT) :: PROJECTION
45 DOUBLE PRECISION,
INTENT(IN) :: LATI0,LONGI0
46 CHARACTER(LEN=8),
INTENT(IN) :: FFORMAT
50 INTEGER :: IERR, I, NDIM
52 DOUBLE PRECISION,
PARAMETER :: R=6.37d6
53 DOUBLE PRECISION PS4,TAN1,TAN2,LONGIRAD
55 INTRINSIC log,tan,atan
61 IF (
PRESENT(z)) ndim = 3
65 WRITE(
lu,*)
'ERROR WHILE READING X ARRAY' 70 WRITE(
lu,*)
'ERROR WHILE READING Y ARRAY' 76 WRITE(
lu,*)
'ERROR WHILE READING Z ARRAY' 86 IF(projection.EQ.3)
THEN 88 longirad=longi0*ps4/45.d0
89 tan2=tan(lati0*ps4/90.d0+ps4)
91 WRITE(
lu,*)
'LATI0=',lati0,
' IS PROBABLY WRONG' 96 x(i)=r*(x(i)*ps4/45.d0-longirad)
97 tan1=tan(y(i)*ps4/90.d0+ps4)
99 WRITE(
lu,*)
'LATITUDE MUST BE GIVEN IN DEGREES' 100 WRITE(
lu,*)
'HERE Y(I)=',y(i),
' FOR I=',i
101 WRITE(
lu,*)
'USE CORRXY (BIEF) FOR CONVERSION' 105 y(i)=r*(log(tan1)-log(tan2))
110 WRITE(
lu,*)
'READ_MESH_COORD :' 111 WRITE(
lu,*)
'COORDINATES CHANGED INTO MERCATOR PROJECTION' 112 WRITE(
lu,*)
'WITH LATITUDE OF ORIGIN POINT = ',lati0
113 WRITE(
lu,*)
'AND LONGITUDE OF ORIGIN POINT = ',longi0
subroutine corrxy(X, Y, NPOIN)
subroutine read_mesh_coord(FFORMAT, NFIC, X, Y, NPOIN, PROJECTION, LATI0, LONGI0, Z)
subroutine get_mesh_coord(FFORMAT, FID, JDIM, NDIM, NPOIN, COORD, IERR)