00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 program multi
00019 use grib_api
00020 implicit none
00021
00022 integer :: iret
00023 character(len = 256) :: error
00024 integer(kind = 4) :: parameterCategory,parameterNumber,discipline
00025 integer :: ifile,igrib
00026
00027 call grib_open_file(ifile, &
00028 '../../data/multi.grib2','r')
00029
00030
00031 call grib_multi_support_on()
00032
00033
00034
00035
00036 call grib_new_from_file(ifile,igrib, iret)
00037
00038
00039 do while (iret /= GRIB_END_OF_FILE)
00040
00041
00042 call grib_get(igrib,'discipline',discipline)
00043 write(*,*) 'discipline=',discipline
00044
00045
00046 call grib_get(igrib,'parameterCategory', &
00047 parameterCategory)
00048 write(*,*) 'parameterCategory=',parameterCategory
00049
00050
00051 call grib_get(igrib,'parameterNumber', &
00052 parameterNumber)
00053 write(*,*) 'parameterNumber=',parameterNumber
00054
00055 if ( discipline .eq. 0 .and. parameterCategory .eq. 2) then
00056 if (parameterNumber .eq. 2) then
00057 write(*,*) "-------- u -------"
00058 endif
00059 if (parameterNumber .eq. 3) then
00060 write(*,*) "-------- v -------"
00061 endif
00062 endif
00063
00064 call grib_release(igrib)
00065 call grib_new_from_file(ifile,igrib, iret)
00066
00067 end do
00068 call grib_close_file(ifile)
00069
00070 end program multi
00071