134 SUBROUTINE putgbn(LUGB,KF,KPDS,KGDS,IBS,NBITS,LB,F,IRET)
135 INTEGER KPDS(200),KGDS(200)
139 INTEGER IBM(KF),IPDS(200),IGDS(200),IBDS(200)
141 CHARACTER PDS(400),GRIB(1000+KF*(MAXBIT+1)/8)
144 CALL r63w72(kpds,kgds,ipds,igds)
149 IF(ipds(7).NE.0)
THEN
159 IF(kbm.EQ.kf) ipds(7)=0
175 CALL getbit(ipds(7),ibs,ipds(25),kf,ibm,f,fr,fmin,fmax,nbit)
176 nbit=min(nbit,maxbit)
181 CALL w3fi72(0,fr,0,nbit,0,ipds,pds,
182 & 1,255,igds,0,0,ibm,kf,ibds,
183 & kfo,grib,lgrib,iret)
184 IF(iret.EQ.0)
CALL wryte(lugb,lgrib,grib)
subroutine getbit(ibm, ibs, ids, len, mg, g, ground, gmin, gmax, nbit)
The number of bits required to pack a given field.
subroutine putgbn(lugb, kf, kpds, kgds, ibs, nbits, lb, f, iret)
This subprogram is nearly the inverse of getgb.
subroutine r63w72(kpds, kgds, ipds, igds)
Determines the integer PDS and GDS parameters for the GRIB1 packing routine w3fi72() given the parame...
subroutine w3fi72(itype, fld, ifld, ibitl, ipflag, id, pds, igflag, igrid, igds, icomp, ibflag, ibmap, iblen, ibdsfl, npts, kbuf, itot, jerr)
Makes a complete GRIB message from a user supplied array of floating point or integer data.