45 SUBROUTINE ufbrms(IMSG,ISUB,USR,I1,I2,IRET,STR)
53 CHARACTER*128 bort_str,errstr
63 CALL
errwrt(
'+++++++++++++++++++++WARNING+++++++++++++++++++++++')
64 errstr = .LE.
'BUFRLIB: UFBRMS - 4th ARG. (INPUT) IS 0, ' //
65 .
'SO RETURN WITH 6th ARG. (IRET) = 0; 7th ARG. (STR) ='
68 CALL
errwrt(
'+++++++++++++++++++++WARNING+++++++++++++++++++++++')
74 CALL
errwrt(
'+++++++++++++++++++++WARNING+++++++++++++++++++++++')
75 errstr = .LE.
'BUFRLIB: UFBRMS - 5th ARG. (INPUT) IS 0, ' //
76 .
'SO RETURN WITH 6th ARG. (IRET) = 0; 7th ARG. (STR) ='
79 CALL
errwrt(
'+++++++++++++++++++++WARNING+++++++++++++++++++++++')
88 CALL
rdmemm(imsg,subset,jdate,iret)
89 IF(iret.LT.0) goto 900
91 IF(iret.NE.0) goto 901
93 CALL
ufbint(munit,usr,i1,i2,iret,str)
99 900
IF(imsg.GT.0)
THEN
100 WRITE(bort_str,
'("BUFRLIB: UFBRMS - REQUESTED MEMORY MESSAGE '//
101 .
'NUMBER TO READ IN (",I5,") EXCEEDS THE NUMBER OF MESSAGES IN '//
102 .
'MEMORY (",I5,")")') imsg,msgp(0)
104 WRITE(bort_str,
'("BUFRLIB: UFBRMS - REQUESTED MEMORY MESSAGE '//
105 .
'NUMBER TO READ IN IS ZERO - THIS IS NOT VALID")')
108 901 CALL
status(munit,lun,il,im)
109 WRITE(bort_str,
'("BUFRLIB: UFBRMS - REQ. SUBSET NUMBER TO READ '//
110 .
'IN (",I3,") EXCEEDS THE NUMBER OF SUBSETS (",I3,") IN THE '//
111 .
'REQ. MEMORY MESSAGE (",I5,")")') isub,msub(lun),imsg
This module contains array and variable declarations used to store the contents of one or more BUFR f...
subroutine rdmemm(IMSG, SUBSET, JDATE, IRET)
This subroutine reads a specified BUFR message from internal arrays in memory, so that it is now in s...
subroutine rdmems(ISUB, IRET)
This subroutine reads a specified data subset from the BUFR message that was most recently read via a...
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
subroutine ufbint(LUNIN, USR, I1, I2, IRET, STR)
This subroutine reads or writes one or more data values from or to the BUFR data subset that is curre...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
subroutine ufbrms(IMSG, ISUB, USR, I1, I2, IRET, STR)
This subroutine provides a handy way to combine the functionality of subroutines rdmemm(), rdmems() and ufbint() within a single subroutine call.