45 CHARACTER*128 BORT_STR
56 CALL status(lunit,lun,il,im)
57 IF(
jsr(lun).NE.0)
GOTO 900
83 CALL wtstat(lunit,lun,-1,0)
109 CALL readmg(lunit,subset,kdate,ier)
110 IF(ier.LT.0)
GOTO 905
112 CALL wtstat(lunit,lun,il,im)
115 jsr(lun) = mod(
jsr(lun)+1,2)
121 900
WRITE(bort_str,
'("BUFRLIB: REWNBF - ATTEMPING TO SAVE '//
122 .
'PARAMETERS FOR FILE FOR WHICH THEY HAVE ALREADY BEEN SAVED '//
123 .
'(AND NOT YET RESTORED) (UNIT",I3,")")') lunit
125 901
WRITE(bort_str,
'("BUFRLIB: REWNBF - ATTEMPING TO SAVE '//
126 .
'PARAMETERS FOR BUFR FILE WHICH IS NOT OPENED FOR EITHER INPUT'//
127 .
' OR OUTPUT) (UNIT",I3,")")') lunit
129 902
WRITE(bort_str,
'("BUFRLIB: REWNBF - ATTEMPING TO RESTORE '//
130 .
'PARAMETERS TO BUFR FILE WHICH WERE NEVER SAVED (UNIT",I3,")")')
133 903
WRITE(bort_str,
'("BUFRLIB: REWNBF - SAVE/RESTORE SWITCH (INPUT '//
134 .
'ARGUMENT ISR) IS NOT ZERO OR ONE (HERE =",I4,") (UNIT",I3,")")')
137 905
WRITE(bort_str,
'("BUFRLIB: REWNBF - HIT END OF FILE BEFORE '//
138 .
'REPOSITIONING BUFR FILE IN UNIT",I3," TO ORIGINAL MESSAGE '//
139 .
'NO.",I5)') lunit,
jmsg
subroutine bort(STR)
Log one error message and abort application program.
recursive function i4dy(IDATE)
This function converts a date-time with a 2-digit year (YYMMDDHH) to a date-time with a 4-digit year ...
Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
This module contains array and variable declarations used to store BUFR messages internally for multi...
integer ibit
Bit pointer within IBAY.
integer, dimension(:,:), allocatable mbay
Current BUFR message for each internal I/O stream.
integer, dimension(:), allocatable mbyt
Length (in bytes) of current BUFR message for each internal I/O stream.
This module contains arrays and variables needed to store the current position within a BUFR file.
integer jill
File status indicator of BUFR file.
integer jimm
Message status indicator of BUFR file.
integer, dimension(:), allocatable jsr
Indicator of stack status when entering subroutine rewnbf().
integer jmsg
Sequential number of BUFR message, counting from the beginning of the file.
integer jdat
Section 1 date-time of BUFR message.
integer jnod
Positional index of Table A mnemonic within internal Table A.
integer jbit
Bit pointer within BUFR message.
integer jsub
Sequential number of BUFR data subset, counting from the beginning of the current BUFR message.
integer junn
Internal I/O stream index of BUFR file.
integer ksub
Bit-wise (integer) representation of FXY value associated with Table A mnemonic for BUFR message.
integer jbyt
Length (in bytes) of BUFR message.
integer, dimension(:), allocatable jbay
BUFR message.
This module contains declarations for arrays used to store information about the current BUFR message...
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
integer, dimension(:), allocatable idate
Section 1 date-time of message.
integer, dimension(:), allocatable nmsg
Current message pointer within logical unit.
integer, dimension(:), allocatable msub
Total number of data subsets in message.
integer, dimension(:), allocatable nsub
Current subset pointer within message.
recursive subroutine readmg(LUNXX, SUBSET, JDATE, IRET)
Reads the next BUFR message from logical unit ABS(LUNXX) into internal arrays.
subroutine rewnbf(LUNIT, ISR)
This subroutine, depending on the value of ISR, will either:
recursive subroutine status(LUNIT, LUN, IL, IM)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
subroutine wtstat(LUNIT, LUN, IL, IM)
Update file status in library internals.