61 CALL
status(lubin,lui,il,im)
65 IF(inode(lui).NE.inv(1,lui)) goto 903
67 CALL
status(lubot,luo,il,im)
72 IF(inode(lui).NE.inode(luo))
THEN
73 IF( (tag(inode(lui)).NE.tag(inode(luo))) .OR.
74 . (
iok2cpy(lui,luo).NE.1) ) goto 907
83 inv(n,luo) = inv(n,lui)
84 nrfelm(n,luo) = nrfelm(n,lui)
85 val(n,luo) = val(n,lui)
94 900 CALL
bort(
'BUFRLIB: UFBCPY - INPUT BUFR FILE IS CLOSED, IT MUST'//
95 .
' BE OPEN FOR INPUT')
96 901 CALL
bort(
'BUFRLIB: UFBCPY - INPUT BUFR FILE IS OPEN FOR '//
97 .
'OUTPUT, IT MUST BE OPEN FOR INPUT')
98 902 CALL
bort(
'BUFRLIB: UFBCPY - A MESSAGE MUST BE OPEN IN INPUT '//
99 .
'BUFR FILE, NONE ARE')
100 903 CALL
bort(
'BUFRLIB: UFBCPY - LOCATION OF INTERNAL TABLE FOR '//
101 .
'INPUT BUFR FILE DOES NOT AGREE WITH EXPECTED LOCATION IN '//
102 .
'INTERNAL SUBSET ARRAY')
103 904 CALL
bort(
'BUFRLIB: UFBCPY - OUTPUT BUFR FILE IS CLOSED, IT '//
104 .
'MUST BE OPEN FOR OUTPUT')
105 905 CALL
bort(
'BUFRLIB: UFBCPY - OUTPUT BUFR FILE IS OPEN FOR '//
106 .
'INPUT, IT MUST BE OPEN FOR OUTPUT')
107 906 CALL
bort(
'BUFRLIB: UFBCPY - A MESSAGE MUST BE OPEN IN OUTPUT '//
108 .
'BUFR FILE, NONE ARE')
109 907 CALL
bort(
'BUFRLIB: UFBCPY - INPUT AND OUTPUT BUFR FILES MUST '//
110 .
'HAVE THE SAME INTERNAL TABLES, THEY ARE DIFFERENT HERE')
This module contains array and variable declarations used to store the internal jump/link table...
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...
INTEGER function iok2cpy(LUI, LUO)
This function determines whether a BUFR message, or a data subset from within a BUFR message...
subroutine ufbcpy(LUBIN, LUBOT)
THIS SUBROUTINE COPIES A COMPLETE SUBSET BUFFER, UNPACKED INTO INTERNAL MEMORY FROM LOGICAL UNIT LUBI...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...