184 SUBROUTINE getgbexm(LUGB,LUGI,JF,J,JPDS,JGDS,JENS,
185 & MBUF,CBUF,NLEN,NNUM,MNUM,
186 & KF,K,KPDS,KGDS,KENS,KPROB,XPROB,KCLUST,KMEMBR,
188 INTEGER JPDS(200),JGDS(200),JENS(200)
189 INTEGER KPDS(200),KGDS(200),KENS(200)
190 INTEGER KPROB(2),KCLUST(16),KMEMBR(80)
195 parameter(msk1=32000,msk2=4000)
206 IF(jr.GE.0.AND.(jr.LT.nnum.OR.irgi.EQ.0))
THEN
207 CALL getgb1s(cbuf,nlen,nnum,jr,jpds,jgds,jens,
208 & kr,kpds,kgds,kens,lskip,lgrib,irgs)
209 IF(irgs.EQ.0) k=kr+mnum
210 IF(irgi.EQ.1.AND.irgs.EQ.0) mnum=-1-mnum
211 IF(irgi.EQ.1.AND.irgs.GT.0) mnum=mnum+nnum
225 dowhile(irgi.EQ.1.AND.irgs.EQ.1)
227 CALL getgi(lugi,mnum,mbuf,cbuf,nlen,nnum,irgi)
229 CALL getgir(lugb,msk1,msk2,mnum,mbuf,cbuf,nlen,nnum,irgi)
232 CALL getgb1s(cbuf,nlen,nnum,jr,jpds,jgds,jens,
233 & kr,kpds,kgds,kens,lskip,lgrib,irgs)
234 IF(irgs.EQ.0) k=kr+mnum
235 IF(irgi.EQ.1.AND.irgs.EQ.0) mnum=-1-mnum
236 IF(irgi.EQ.1.AND.irgs.GT.0) mnum=mnum+nnum
243 ELSEIF(irgs.NE.0)
THEN
245 ELSEIF(
lengds(kgds).GT.jf)
THEN
248 CALL getgb1re(lugb,lskip,lgrib,kf,kpds,kgds,kens,
249 & kprob,xprob,kclust,kmembr,lb,f,iret)