106SUBROUTINE makgds(IOPT,KGDS,GDS,LENGDS,IRET)
109 CHARACTER,
INTENT(INOUT) :: GDS(400)
110 INTEGER,
INTENT(IN ) :: IOPT
111 INTEGER,
INTENT(INOUT) :: KGDS(200)
112 INTEGER,
INTENT( OUT) :: IRET, LENGDS
113 INTEGER :: ICOMP, IPDS(200), IGDS(200)
114 INTEGER :: KPTR(200), KPDS(200), NPTS
116 DATA kptr/200*0/, kpds/200*0/
120 CALL fi633(gds,kptr,kgds,iret)
123 ELSEIF(iopt.EQ.255)
THEN
124 CALL r63w72(kpds,kgds,ipds,igds)
125 icomp=mod(igds(8)/8,2)
126 CALL w3fi74(igds,icomp,gds,lengds,npts,iret)
129 ELSEIF(iopt.GT.0.AND.iopt.LT.255)
THEN
130 CALL w3fi71(iopt,igds,iret)
132 icomp=mod(igds(8)/8,2)
133 CALL w3fi74(igds,icomp,gds,lengds,npts,iret)
134 IF(iret.EQ.0)
CALL fi633(gds,kptr,kgds,iret)
subroutine makgds(iopt, kgds, gds, lengds, iret)
This subprogram makes or breaks a grid description section.
subroutine r63w72(kpds, kgds, ipds, igds)
Determines the integer PDS and GDS parameters for the GRIB1 packing routine w3fi72() given the parame...
subroutine fi633(msga, kptr, kgds, kret)
Extract info from grib-gds.
subroutine w3fi71(igrid, igds, ierr)
Makes a 18, 37, 55, 64, or 91 word integer array used by w3fi72() GRIB packer to make the grid descri...
subroutine w3fi74(igds, icomp, gds, lengds, npts, igerr)
This subroutine constructs a GRIB grid definition section.