Added F90 function to create BUFR from file (may be renamed later)

This commit is contained in:
Shahram Najm 2015-01-28 14:51:10 +00:00
parent 221704e224
commit dcec9864f4
4 changed files with 34 additions and 0 deletions

View File

@ -511,6 +511,17 @@ subroutine codes_new_from_file ( ifile, gribid , status)
call grib_new_from_file ( ifile, gribid , status)
end subroutine codes_new_from_file
!! TODO: temporary fix for BUFR
subroutine codes_bufr_new_from_file ( ifile, bufrid , status)
integer(kind=kindOfInt),intent(in) :: ifile
integer(kind=kindOfInt),intent(out) :: bufrid
integer(kind=kindOfInt),optional,intent(out) :: status
integer(kind=kindOfInt) :: iret
call bufr_new_from_file ( ifile, bufrid, status)
end subroutine codes_bufr_new_from_file
!
subroutine codes_new_from_message_char( gribid, message, status )
integer(kind=kindOfInt),intent(out) :: gribid

View File

@ -17,6 +17,7 @@ integer, external :: grib_f_new_from_message, &
grib_f_new_from_samples, &
grib_f_read_any_from_file, &
grib_f_new_from_file, &
bufr_f_new_from_file, &
grib_f_headers_only_new_from_file
integer, external :: grib_f_release
integer, external :: grib_f_dump, grib_f_print

View File

@ -1291,6 +1291,22 @@
call grib_check(iret,'grib_new_from_file','')
endif
end subroutine grib_new_from_file
!! TODO: temporary
subroutine bufr_new_from_file ( ifile, bufrid , status)
integer(kind=kindOfInt),intent(in) :: ifile
integer(kind=kindOfInt),intent(out) :: bufrid
integer(kind=kindOfInt),optional,intent(out) :: status
integer(kind=kindOfInt) :: iret
iret=bufr_f_new_from_file( ifile, bufrid )
if (present(status)) then
status = iret
else
call grib_check(iret,'bufr_new_from_file','')
endif
end subroutine bufr_new_from_file
!> Create a new message in memory from a character array containting the coded message.
!>

View File

@ -109,9 +109,15 @@ int grib_f_copy_namespace(int *gidsrc, char *name, int *giddest, int len);
int grib_f_count_in_file(int *fid, int *n);
int grib_f_count_in_file_(int *fid, int *n);
int grib_f_count_in_file__(int *fid, int *n);
int grib_f_new_from_file_(int *fid, int *gid);
int grib_f_new_from_file__(int *fid, int *gid);
int grib_f_new_from_file(int *fid, int *gid);
int bufr_f_new_from_file_(int *fid, int *gid);
int bufr_f_new_from_file__(int *fid, int *gid);
int bufr_f_new_from_file(int *fid, int *gid);
int grib_f_headers_only_new_from_file_(int *fid, int *gid);
int grib_f_headers_only_new_from_file__(int *fid, int *gid);
int grib_f_headers_only_new_from_file(int *fid, int *gid);