2 #if defined WITH_CTBTO_PATCHES
8 integer :: gribver,parcat,parnum,typsurf,valsurf,discipl,parid
11 real :: conversion_factor
14 character(len=24) :: griberrormsg =
'Error reading grib file'
15 character(len=20) :: gribfunction =
'readwind'
19 call grib_get_int(igrib,
'discipline',discipl,iret)
20 call grib_check(iret,gribfunction,griberrormsg)
21 call grib_get_int(igrib,
'parameterCategory',parcat,iret)
22 call grib_check(iret,gribfunction,griberrormsg)
23 call grib_get_int(igrib,
'parameterNumber',parnum,iret)
24 call grib_check(iret,gribfunction,griberrormsg)
25 call grib_get_int(igrib,
'typeOfFirstFixedSurface',typsurf,iret)
26 call grib_check(iret,gribfunction,griberrormsg)
27 call grib_get_int(igrib,
'level',valsurf,iret)
28 call grib_check(iret,gribfunction,griberrormsg)
29 call grib_get_int(igrib,
'paramId',parid,iret)
30 call grib_check(iret,gribfunction,griberrormsg)
44 if(parid .eq. 3063 )
then
45 conversion_factor=1000.
47 if(parid .eq. 0 )
then
48 if ((parcat.eq.1).and.(parnum.eq.11).and.(typsurf.eq.1))
then
50 conversion_factor=1000.
52 print*,
'***ERROR: undefined GRiB2 message found!',discipl, &
subroutine grib2check(igrib, isec1, conversion_factor)