50 RECURSIVE SUBROUTINE pkbs1(IVAL,MBAY,S1MNEM)
58 CHARACTER*128 bort_str
68 CALL x84(ival,my_ival,1)
69 CALL pkbs1(my_ival,mbay,s1mnem)
82 CALL gets1loc(s1mnem,iben,isbyt,iwid,iret)
83 IF ( (iret.EQ.0) .AND.
84 . ( (s1mnem.EQ.
'USN') .OR. (s1mnem.EQ.
'BMT') .OR.
85 . (s1mnem.EQ.
'OGCE') .OR. (s1mnem.EQ.
'GSES') .OR.
86 . (s1mnem.EQ.
'MTYP') .OR. (s1mnem.EQ.
'MSBTI') .OR.
87 . (s1mnem.EQ.
'MSBT') .OR. (s1mnem.EQ.
'MTV') .OR.
88 . (s1mnem.EQ.
'MTVL') .OR. (s1mnem.EQ.
'YCEN') .OR.
89 . (s1mnem.EQ.
'CENT') .OR. (s1mnem.EQ.
'YEAR') .OR.
90 . (s1mnem.EQ.
'MNTH') .OR. (s1mnem.EQ.
'DAYS') .OR.
91 . (s1mnem.EQ.
'HOUR') .OR. (s1mnem.EQ.
'MINU') .OR.
92 . (s1mnem.EQ.
'SECO') ) )
THEN
96 ibit = (
iupbs01(mbay,
'LEN0')+isbyt-1)*8
97 CALL pkb(ival,iwid,mbay,ibit)
103 900
WRITE(bort_str,
'("BUFRLIB: PKBS1 - CANNOT OVERWRITE LOCATION '//
104 .
'CORRESPONDING TO MNEMONIC (",A,") WITHIN BUFR EDITION '//
105 .
'(",I1,")")') s1mnem, iben
subroutine bort(STR)
Log one error message and abort application program.
recursive subroutine gets1loc(S1MNEM, IBEN, ISBYT, IWID, IRET)
This subroutine returns the location of a specified value within Section 1 of a BUFR message.
recursive function iupbs01(MBAY, S01MNEM)
Read a data value from Section 0 or Section 1 of a BUFR message.
This module declares and initializes the IM8B variable.
logical, public im8b
Status indicator to keep track of whether all future calls to BUFRLIB subroutines and functions from ...
subroutine pkb(NVAL, NBITS, IBAY, IBIT)
This subroutine encodes an integer value within a specified number of bits of an integer array,...
recursive subroutine pkbs1(IVAL, MBAY, S1MNEM)
This subroutines writes a specified value into a specified location within Section 1 of a BUFR messag...
subroutine x84(IIN8, IOUT4, NVAL)
Encode one or more 8-byte integer values as 4-byte integer values.