Examples: F90 grib_sections_copy

This commit is contained in:
Shahram Najm 2024-01-21 15:35:02 +00:00
parent fd0f41ef64
commit cb81a32901
2 changed files with 19 additions and 7 deletions

View File

@ -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

View File

@ -9,4 +9,5 @@
. ./include.ctest.sh
export ECCODES_DEBUG=-1
${examples_dir}/eccodes_f_grib_sections_copy