51 COMMON /mrgcom/ nrpl,nmrg,namb,ntot
53 CHARACTER*128 BORT_STR
54 LOGICAL HEREI,HEREJ,MISSI,MISSJ,SAMEI
65 CALL status(lubfi,luni,il,im)
66 CALL status(lubfj,lunj,jl,jm)
71 DO WHILE(is.LE.nval(luni))
78 IF(node.NE.nodj)
GOTO 900
86 IF(
typ(node).EQ.
'DRB') ioff = 0
87 IF(
typ(node).NE.
'DRB') ioff = 1
88 iwrds =
nwords(is,luni)+ioff
89 jwrds =
nwords(js,lunj)+ioff
90 IF(iwrds.GT.ioff .AND. jwrds.EQ.ioff)
THEN
91 DO n=nval(lunj),js+1,-1
92 inv(n+iwrds-jwrds,lunj) = inv(n,lunj)
93 val(n+iwrds-jwrds,lunj) = val(n,lunj)
96 inv(js+n,lunj) = inv(is+n,luni)
97 val(js+n,lunj) = val(is+n,luni)
99 nval(lunj) = nval(lunj)+iwrds-jwrds
110 IF((ityp.EQ.2).OR.(ityp.EQ.3))
THEN
111 herei =
ibfms(val(is,luni)).EQ.0
112 herej =
ibfms(val(js,lunj)).EQ.0
115 samei = val(is,luni).EQ.val(js,lunj)
116 IF(herei.AND.missj)
THEN
117 val(js,lunj) = val(is,luni)
119 ELSEIF(herei.AND.herej.AND..NOT.samei)
THEN
137900
WRITE(bort_str,
'("BUFRLIB: INVMRG - NODE FROM INPUT BUFR FILE '//
138 .
'(",I7,") DOES NOT EQUAL NODE FROM OUTPUT BUFR FILE (",I7,"), '//
139 .
'TABULAR MISMATCH")') node,nodj
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
integer function ibfms(R8VAL)
This function provides a handy way to check whether a real*8 data value returned from a previous call...
subroutine invmrg(LUBFI, LUBFJ)
THIS SUBROUTINE MERGES "PARTS" OF SUBSETS WHICH HAVE DUPLICATE SPACE AND TIME COORDINATES BUT DIFFERE...
This module contains array and variable declarations used to store the internal jump/link table.
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
character *3, dimension(:), allocatable typ
Type indicators corresponding to tag:
function nwords(N, LUN)
THIS FUNCTION ADDS UP THE COMPLETE LENGTH OF THE DELAYED REPLICATION SEQUENCE BEGINNING AT INDEX N OF...
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...