NCEPLIBS-w3emc 2.12.0
Loading...
Searching...
No Matches
makgds.f90
Go to the documentation of this file.
1
4
106SUBROUTINE makgds(IOPT,KGDS,GDS,LENGDS,IRET)
107 IMPLICIT NONE
108
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
115
116 DATA kptr/200*0/, kpds/200*0/
117 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
118 ! UNPACK GDS INTO KGDS
119 IF(iopt.EQ.-1) THEN
120 CALL fi633(gds,kptr,kgds,iret)
121 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
122 ! USE KGDS TO PACK GDS
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)
127 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
128 ! USE NCEP GRID ID TO MAKE GDS AND KGDS
129 ELSEIF(iopt.GT.0.AND.iopt.LT.255) THEN
130 CALL w3fi71(iopt,igds,iret)
131 IF(iret.EQ.0) THEN
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)
135 ENDIF
136 ENDIF
137 ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
138END SUBROUTINE makgds
subroutine makgds(iopt, kgds, gds, lengds, iret)
This subprogram makes or breaks a grid description section.
Definition makgds.f90:107
subroutine r63w72(kpds, kgds, ipds, igds)
Determines the integer PDS and GDS parameters for the GRIB1 packing routine w3fi72() given the parame...
Definition r63w72.f:27
subroutine fi633(msga, kptr, kgds, kret)
Extract info from grib-gds.
Definition w3fi63.f:981
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...
Definition w3fi71.f:187
subroutine w3fi74(igds, icomp, gds, lengds, npts, igerr)
This subroutine constructs a GRIB grid definition section.
Definition w3fi74.f:19