6 SUBROUTINE readhead(KGLB,PGLBLATMIN,PGLBLATMAX,PGLBLONMIN,PGLBLONMAX,&
7 KNBLAT,KNBLON,PCUTVAL,PDLAT,PDLON,PLAT,PLON,KERR,KFACT,&
67 INTEGER,
INTENT(IN) :: KGLB
68 REAL,
INTENT(OUT) :: PGLBLATMIN
69 REAL,
INTENT(OUT) :: PGLBLATMAX
70 REAL,
INTENT(OUT) :: PGLBLONMIN
71 REAL,
INTENT(OUT) :: PGLBLONMAX
72 INTEGER,
INTENT(OUT) :: KNBLAT
73 INTEGER,
INTENT(OUT) :: KNBLON
74 REAL,
INTENT(OUT) :: PCUTVAL
75 REAL,
INTENT(OUT) :: PDLAT
76 REAL,
INTENT(OUT) :: PDLON
77 REAL,
DIMENSION(:),
POINTER :: PLAT
78 REAL,
DIMENSION(:),
POINTER :: PLON
79 INTEGER,
INTENT(OUT) :: KERR
80 LOGICAL,
INTENT(OUT) :: OCOMPRESS
81 INTEGER,
INTENT(OUT) :: KFACT
93 REAL,
DIMENSION(9) :: ZVAL
95 CHARACTER(LEN=100) :: YSTRING
96 CHARACTER(LEN=100) :: YSTRING1
97 CHARACTER(LEN=100) :: YVAL
100 INTEGER :: IFRACLENGTH
101 CHARACTER(LEN=2) :: YLENGTH
102 CHARACTER(LEN=2) :: YFRACLENGTH
103 CHARACTER(LEN=10) :: YINTERNALFORMAT
104 REAL(KIND=JPRB) :: ZHOOK_HANDLE
116 READ (kglb,
'(A100)',end=99) ystring
124 READ (kglb,
'(A100)',end=99) ystring
125 ystring=adjustl(ystring)
130 SELECT CASE (ystring(1:5))
133 ystring1=ystring(10:100)
136 ystring1=ystring(8:100)
139 ystring1=ystring(7:100)
142 ystring1=ystring(7:100)
145 ystring1=ystring(6:100)
148 ystring1=ystring(6:100)
151 ystring1=ystring(6:100)
154 ystring1=ystring(6:100)
157 ystring1=ystring(6:100)
160 ystring1=ystring(10:100)
166 inindex=
index(ystring1,
'N')
167 isindex=
index(ystring1,
'S')
168 ieindex=
index(ystring1,
'E')
169 iwindex=
index(ystring1,
'W')
170 yval=adjustl(ystring1)
171 IF (inindex/=0) yval=adjustl(ystring1(1:inindex-1))
172 IF (isindex/=0) yval=
'-'//adjustl(ystring1(1:isindex-1))
173 IF (ieindex/=0) yval=adjustl(ystring1(1:ieindex-1))
174 IF (iwindex/=0) yval=
'-'//adjustl(ystring1(1:iwindex-1))
179 ipoint=
index(yval,
'.')
180 IF (ipoint==0) yval=adjustl(adjustr(yval)//
'.')
185 ilength=len_trim(adjustl(adjustr(yval)))
186 ifraclength=ilength-
index(yval,
'.')
187 WRITE(ylength,
'(I2)') ilength
188 WRITE(yfraclength,
'(I2)') ifraclength
189 yinternalformat=
'(F'//ylength//
'.'//yfraclength//
')' 194 READ(yval,adjustl(yinternalformat)) zval(ihead)
208 pglblonmax=zval(4)+nint((zval(5)-zval(4)+180.*(1.0+
xsurf_epsilon))/360.)
213 IF (zval(9)==1.) ocompress = .true.
215 pdlat=(pglblatmax-pglblatmin)/knblat
216 pdlon=(pglblonmax-pglblonmin)/knblon
217 ALLOCATE(plat(knblat))
218 ALLOCATE(plon(knblon))
219 plat(:)=(/ (pglblatmax-(jlat-0.5)*pdlat, jlat=1,knblat) /)
220 plon(:)=(/ (pglblonmin+(jlon-0.5)*pdlon, jlon=1,knblon) /)
subroutine readhead(KGLB, PGLBLATMIN, PGLBLATMAX, PGLBLONMIN, PGLBLONM