49 COMMON /reptab/ idnr(5,2),typs(5,2),reps(5,2),lens(5)
51 CHARACTER*80 card,cardi1,cardi2,cardi3,cardi4
59 LOGICAL tbskip, tdskip, xtrci1
72 . /
' |-------------|'/
74 . /
'|---------------------------------------'/
76 . /
'---------------------------------------|'/
79 tbskip(adn) = ((adn.EQ.
'063000').OR.(adn.EQ.
'063255').OR.
80 . (adn.EQ.
'031000').OR.(adn.EQ.
'031001').OR.
82 tdskip(adn) = ((adn.EQ.
'360001').OR.(adn.EQ.
'360002').OR.
83 . (adn.EQ.
'360003').OR.(adn.EQ.
'360004'))
88 CALL
status(lunit,lun,il,im)
97 WRITE (ldxot,
'(A)') card
102 card(15:64)=
' USER DEFINITIONS FOR TABLE-A TABLE-B TABLE D '
103 WRITE (ldxot,
'(A)') card
105 WRITE (ldxot,
'(A)') cardi4
108 card( 3:10)=
'MNEMONIC'
110 card(23:33)=
'DESCRIPTION'
111 WRITE (ldxot,
'(A)') card
116 WRITE (ldxot,
'(A)') card
121 WRITE (ldxot,
'(A)') cardi1
125 IF(.NOT.tdskip(tabd(n,lun)(1:6)))
THEN
127 card( 3:10)=tabd(n,lun)( 7:14)
128 card(14:19)=tabd(n,lun)( 1: 6)
129 card(23:77)=tabd(n,lun)(16:70)
138 IF(taba(na,lun)(4:11).EQ.tabd(n,lun)(7:14))
THEN
140 IF(na.EQ.ntba(lun)) xtrci1=.true.
144 10
WRITE (ldxot,
'(A)') card
146 WRITE (ldxot,
'(A)') cardi1
155 WRITE (ldxot,
'(A)') cardi1
158 IF(.NOT.tbskip(tabb(n,lun)(1:6)))
THEN
160 card( 3:10)=tabb(n,lun)( 7:14)
161 card(14:19)=tabb(n,lun)( 1: 6)
162 card(23:77)=tabb(n,lun)(16:70)
163 WRITE (ldxot,
'(A)') card
167 WRITE (ldxot,
'(A)') cardi1
172 WRITE (ldxot,
'(A)') cardi4
175 card( 3:10)=
'MNEMONIC'
176 card(14:21)=
'SEQUENCE'
177 WRITE (ldxot,
'(A)') card
181 WRITE (ldxot,
'(A)') card
186 WRITE (ldxot,
'(A)') cardi2
189 IF(.NOT.tdskip(tabd(n,lun)(1:6)))
THEN
191 card( 3:10)=tabd(n,lun)( 7:14)
198 CALL
nemtbd(lun,n,nseq,nem(1,1),irp(1,1),krp(1,1))
203 CALL
strsuc(nem(nc,1),wrk2,nch)
204 IF(irp(nc,1).NE.0)
THEN
209 cmstr(icms:icms)=reps(irp(nc,1),1)
211 cmstr(icms+1:icms+nch)=wrk2(1:nch)
213 IF(irp(nc,1).NE.0)
THEN
218 cmstr(icms:icms)=reps(irp(nc,1),2)
220 IF(krp(nc,1).NE.0)
THEN
225 WRITE (wrk1,
'(I3)') krp(nc,1)
226 CALL
strsuc(wrk1,wrk2,nch)
227 cmstr(icms+1:icms+nch)=wrk2(1:nch)
236 IF(ic.GT.(79-icms))
THEN
237 WRITE (ldxot,
'(A)') card
239 card( 3:10)=tabd(n,lun)( 7:14)
242 card(ic:ic+icms-1)=cmstr(1:icms)
250 WRITE (ldxot,
'(A)') card
251 WRITE (ldxot,
'(A)') cardi2
259 WRITE (ldxot,
'(A)') cardi4
262 card( 3:10)=
'MNEMONIC'
264 card(21:29)=
'REFERENCE'
267 WRITE (ldxot,
'(A)') card
275 WRITE (ldxot,
'(A)') card
280 WRITE (ldxot,
'(A)') cardi3
283 IF(.NOT.tbskip(tabb(n,lun)(1:6)))
THEN
285 card( 3:10)=tabb(n,lun)( 7:14)
286 card(41:64)=tabb(n,lun)(71:94)
290 CALL
strsuc(tabb(n,lun)(96:98),wrk2,nch)
291 card(17-nch+1:17)=wrk2
292 IF(tabb(n,lun)(95:95).EQ.
'-') card(17-nch:17-nch)=
'-'
296 CALL
strsuc(tabb(n,lun)(100:109),wrk3,nch)
297 card(31-nch+1:31)=wrk3
298 IF(tabb(n,lun)(99:99).EQ.
'-') card(31-nch:31-nch)=
'-'
302 CALL
strsuc(tabb(n,lun)(110:112),wrk2,nch)
303 card(37-nch+1:37)=wrk2
304 WRITE (ldxot,
'(A)') card
308 WRITE (ldxot,
'(A)') cardi3
315 WRITE (ldxot,
'(A)') card
318 900 CALL
bort(
'BUFRLIB: DXDUMP - BUFR FILE IS CLOSED, IT MUST BE'//
subroutine dxdump(LUNIT, LDXOT)
This subroutine prints a copy of the DX BUFR table associated with a specified Fortran logical unit...
subroutine strsuc(STR1, STR2, LENS)
THIS SUBROUTINE REMOVES LEADING AND TRAILING BLANKS FROM A STRING.
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
subroutine nemtbd(LUN, ITAB, NSEQ, NEMS, IRPS, KNTS)
THIS SUBROUTINE RETURNS A LIST OF THE MNEMONICS (I.E., "CHILD" MNEMONICS) CONTAINED WITHIN A TABLE D ...