168 & MBUF,CBUF,NLEN,NNUM,MNUM,
169 & KG,K,KPDS,KGDS,G,IRET)
170 INTEGER JPDS(200),JGDS(200)
171 INTEGER KPDS(200),KGDS(200)
174 parameter(msk1=32000,msk2=4000)
175 INTEGER JENS(200),KENS(200)
187 IF(jr.GE.0.AND.(jr.LT.nnum.OR.irgi.EQ.0))
THEN
188 CALL getgb1s(cbuf,nlen,nnum,jr,jpds,jgds,jens,
189 & kr,kpds,kgds,kens,lskip,lgrib,irgs)
190 IF(irgs.EQ.0) k=kr+mnum
191 IF(irgi.EQ.1.AND.irgs.EQ.0) mnum=-1-mnum
192 IF(irgi.EQ.1.AND.irgs.GT.0) mnum=mnum+nnum
206 dowhile(irgi.EQ.1.AND.irgs.EQ.1)
208 CALL getgi(lugi,mnum,mbuf,cbuf,nlen,nnum,irgi)
210 CALL getgir(lugb,msk1,msk2,mnum,mbuf,cbuf,nlen,nnum,irgi)
213 CALL getgb1s(cbuf,nlen,nnum,jr,jpds,jgds,jens,
214 & kr,kpds,kgds,kens,lskip,lgrib,irgs)
215 IF(irgs.EQ.0) k=kr+mnum
216 IF(irgi.EQ.1.AND.irgs.EQ.0) mnum=-1-mnum
217 IF(irgi.EQ.1.AND.irgs.GT.0) mnum=mnum+nnum
224 ELSEIF(irgs.NE.0)
THEN
226 ELSEIF(lgrib.GT.jg)
THEN
230 CALL baread(lugb,lskip,lgrib,kg,g)
231 IF(kg.EQ.lgrib) iret=0
subroutine getgb1s(cbuf, nlen, nnum, j, jpds, jgds, jens, k, kpds, kgds, kens, lskip, lgrib, iret)
Find a grib message.
subroutine getgbmp(lugb, lugi, jg, j, jpds, jgds, mbuf, cbuf, nlen, nnum, mnum, kg, k, kpds, kgds, g, iret)
Read a grib index file (or optionally the grib file itself) to get the index buffer (i....
subroutine getgi(lugi, mnum, mbuf, cbuf, nlen, nnum, iret)
Read a grib index file and return its contents.
subroutine getgir(lugb, msk1, msk2, mnum, mbuf, cbuf, nlen, nnum, iret)
Read a grib file and return its index contents.