53 COMMON /usrstr/ nnod,ncon,nods(20),nodc(10),ivls(10),kons(10)
57 CHARACTER*128 bort_str1,bort_str2
70 IF(len(str).GT.80) goto 900
78 CALL
parstr(ust,utg,maxusr,ntot,
' ',.true.)
85 CALL
parutg(lun,io,utg(n),nod,kon,val)
89 IF(ncon.GT.maxcon) goto 901
92 ivls(ncon) = nint(val)
96 IF(nnod.GT.maxnod) goto 902
106 IF(nodc(i).GT.nodc(j))
THEN
128 IF(kons(n).EQ.5)
THEN
130 IF(n.NE.ncon) goto 904
138 IF(.NOT.bump .AND. nnod.EQ.0) goto 905
139 IF(nnod.GT.i1) goto 906
143 IF(nods(i).GT.0)
THEN
144 IF(irpc.LT.0) irpc =
lstjpb(nods(i),lun,
'RPC')
145 IF(irpc.NE.
lstjpb(nods(i),lun,
'RPC').AND.iac.EQ.0) goto 907
153 900
WRITE(bort_str1,
'("BUFRLIB: PARUSR - INPUT STRING (",A,") HAS ")')
155 WRITE(bort_str2,
'(18X,"LENGTH (",I4,"), > LIMIT OF 80 CHAR.")')
157 CALL
bort2(bort_str1,bort_str2)
158 901
WRITE(bort_str1,
'("BUFRLIB: PARUSR - THE NUMBER OF CONDITION '//
159 .
'NODES IN INPUT STRING")')
160 WRITE(bort_str2,
'(18X,A,") EXCEEDS THE MAXIMUM (",I3,")")')
162 CALL
bort2(bort_str1,bort_str2)
163 902
WRITE(bort_str1,
'("BUFRLIB: PARUSR - THE NUMBER OF STORE NODES '//
164 .
'IN INPUT STRING")')
165 WRITE(bort_str2,
'(18X,A,") EXCEEDS THE MAXIMUM (",I3,")")')
167 CALL
bort2(bort_str1,bort_str2)
168 903
WRITE(bort_str1,
'("BUFRLIB: PARUSR - BUMP NODE (^ IN INPUT '//
170 WRITE(bort_str2,
'(18X,"IS SPECIFIED FOR A BUFR FILE OPEN FOR '//
171 .
'INPUT, THE BUFR FILE MUST BE OPEN FOR OUTPUT")')
172 CALL
bort2(bort_str1,bort_str2)
173 904
WRITE(bort_str1,
'("BUFRLIB: PARUSR - INPUT STRING (",A,") '//
175 WRITE(bort_str2,
'(18X,"CONDITIONAL NODES IN ADDITION TO BUMP '//
176 .
'NODE - THE BUMP MUST BE ON THE INNER NODE")')
177 CALL
bort2(bort_str1,bort_str2)
178 905
WRITE(bort_str1,
'("BUFRLIB: PARUSR - INPUT STRING (",A,") HAS")')
180 WRITE(bort_str2,
'(18X,"NO STORE NODES")')
181 CALL
bort2(bort_str1,bort_str2)
182 906
WRITE(bort_str1,
'("BUFRLIB: PARUSR - INPUT STRING (",A,")")') str
183 WRITE(bort_str2,
'(18X,"HAS",I5," STORE NODES (MNEMONICS) - THE '//
184 .
'LIMIT {THIRD (INPUT) ARGUMENT} IS",I5)') nnod,i1
185 CALL
bort2(bort_str1,bort_str2)
186 907
WRITE(bort_str1,
'("BUFRLIB: PARUSR - INPUT STRING (",A,") '//
188 WRITE(bort_str2,
'(18X,"STORE NODES (MNEMONICS) THAT ARE IN MORE'//
189 .
' THAN ONE REPLICATION GROUP")')
190 CALL
bort2(bort_str1,bort_str2)
function lstjpb(NODE, LUN, JBTYP)
THIS FUNCTION SEARCHES BACKWARDS, BEGINNING FROM A GIVEN NODE WITHIN THE JUMP/LINK TABLE...
subroutine parstr(STR, TAGS, MTAG, NTAG, SEP, LIMIT80)
THIS SUBROUTINE PARSES A STRING CONTAINING ONE OR MORE SUBSTRINGS INTO AN ARRAY OF SUBSTRINGS...
subroutine bort2(STR1, STR2)
This subroutine calls subroutine errwrt() to log two error messages, then calls subroutine bort_exit(...
subroutine parusr(STR, LUN, I1, IO)
THIS SUBROUTINE INITATES THE PROCESS TO PARSE OUT MNEMONICS (NODES) FROM A USER-SPECIFIED CHARACTER S...
subroutine parutg(LUN, IO, UTG, NOD, KON, VAL)
THIS SUBROUTINE PARSES A USER-SPECIFIED TAG (MNEMONIC) (UTG) THAT REPRESENTS A VALUE EITHER BEING DEC...