mirror of https://github.com/ecmwf/eccodes.git
Examples: F90 grib_sections_copy
This commit is contained in:
parent
fd0f41ef64
commit
cb81a32901
|
@ -11,18 +11,29 @@ program grib_sections_copy
|
|||
use eccodes
|
||||
implicit none
|
||||
|
||||
integer :: igrib1, igrib2, igrib3
|
||||
integer :: igrib_a, igrib_b, igrib_c, iret
|
||||
character(len=40) :: error_message
|
||||
|
||||
call codes_grib_new_from_samples(igrib1, 'regular_ll_sfc_grib2')
|
||||
call codes_grib_new_from_samples(igrib2, 'reduced_gg_pl_640_grib2')
|
||||
call codes_grib_new_from_samples(igrib_a, 'regular_ll_sfc_grib1')
|
||||
call codes_grib_new_from_samples(igrib_b, 'reduced_gg_pl_640_grib1')
|
||||
|
||||
! Turn all bits on:
|
||||
! GRIB_SECTION_PRODUCT, GRIB_SECTION_GRID, GRIB_SECTION_LOCAL
|
||||
! GRIB_SECTION_DATA, GRIB_SECTION_BITMAP
|
||||
call codes_grib_util_sections_copy(igrib1, igrib2, 31, igrib3)
|
||||
call codes_grib_util_sections_copy(igrib_a, igrib_b, 31, igrib_c)
|
||||
|
||||
call codes_release(igrib1)
|
||||
call codes_release(igrib2)
|
||||
call codes_release(igrib3)
|
||||
call codes_release(igrib_a)
|
||||
call codes_release(igrib_b)
|
||||
call codes_release(igrib_c)
|
||||
|
||||
! Try from grib1 to grib2
|
||||
call codes_grib_new_from_samples(igrib_a, 'GRIB1')
|
||||
call codes_grib_new_from_samples(igrib_b, 'GRIB2')
|
||||
call codes_grib_util_sections_copy(igrib_a, igrib_b, 31, igrib_c, iret)
|
||||
if (iret /= GRIB_DIFFERENT_EDITION) then
|
||||
call codes_check(CODES_INTERNAL_ERROR, 'Error', 'codes_grib_util_sections_copy: Should have failed')
|
||||
end if
|
||||
call codes_get_error_string(iret, error_message)
|
||||
write (*, *) 'error message: ', adjustl( adjustr(trim(error_message)) )
|
||||
|
||||
end program
|
||||
|
|
|
@ -9,4 +9,5 @@
|
|||
|
||||
. ./include.ctest.sh
|
||||
|
||||
export ECCODES_DEBUG=-1
|
||||
${examples_dir}/eccodes_f_grib_sections_copy
|
||||
|
|
Loading…
Reference in New Issue