NCEPLIBS-bufr 11.7.1
nenubd.f
Go to the documentation of this file.
1C> @file
2C> @author WOOLLEN @date 1994-01-06
3
4C> THIS SUBROUTINE CHECKS A MNEMONIC AND FXY VALUE PAIR THAT
5C> WERE READ FROM A USER-SUPPLIED BUFR DICTIONARY TABLE IN CHARACTER
6C> FORMAT, IN ORDER TO MAKE SURE THAT NEITHER VALUE HAS ALREADY BEEN
7C> DEFINED WITHIN INTERNAL BUFR TABLE B OR D (IN MODULE TABABD) FOR
8C> THE GIVEN LUN. IF EITHER VALUE HAS ALREADY BEEN DEFINED FOR THIS
9C> LUN, THEN AN APPROPRIATE CALL IS MADE TO BUFR ARCHIVE LIBRARY
10C> SUBROUTINE BORT.
11C>
12C> PROGRAM HISTORY LOG:
13C> 1994-01-06 J. WOOLLEN -- ORIGINAL AUTHOR (ENTRY POINT IN NENUCK)
14C> 1995-06-28 J. WOOLLEN -- INCREASED THE SIZE OF INTERNAL BUFR TABLE
15C> ARRAYS IN ORDER TO HANDLE BIGGER FILES
16C> 1998-07-08 J. WOOLLEN -- REPLACED CALL TO CRAY LIBRARY ROUTINE
17C> "ABORT" WITH CALL TO NEW INTERNAL BUFRLIB
18C> ROUTINE "BORT" (IN PARENT ROUTINE NENUCK)
19C> 1999-11-18 J. WOOLLEN -- THE NUMBER OF BUFR FILES WHICH CAN BE
20C> OPENED AT ONE TIME INCREASED FROM 10 TO 32
21C> (NECESSARY IN ORDER TO PROCESS MULTIPLE
22C> BUFR FILES UNDER THE MPI) (IN PARENT
23C> ROUTINE NENUCK)
24C> 2002-05-14 J. WOOLLEN -- CHANGED FROM AN ENTRY POINT TO INCREASE
25C> PORTABILITY TO OTHER PLATFORMS (NENUCK WAS
26C> THEN REMOVED BECAUSE IT WAS JUST A DUMMY
27C> ROUTINE WITH ENTRIES)
28C> 2003-11-04 J. ATOR -- ADDED DOCUMENTATION
29C> 2003-11-04 S. BENDER -- ADDED REMARKS/BUFRLIB ROUTINE
30C> INTERDEPENDENCIES
31C> 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED HISTORY
32C> DOCUMENTATION; OUTPUTS MORE COMPLETE
33C> DIAGNOSTIC INFO WHEN ROUTINE TERMINATES
34C> ABNORMALLY
35C> 2014-12-10 J. ATOR -- USE MODULES INSTEAD OF COMMON BLOCKS
36C>
37C> USAGE: CALL NENUBD (NEMO, NUMB, LUN)
38C> INPUT ARGUMENT LIST:
39C> NEMO - CHARACTER*8: MNEMONIC
40C> NUMB - CHARACTER*6: FXY VALUE ASSOCIATED WITH NEMO
41C> LUN - INTEGER: I/O STREAM INDEX INTO INTERNAL MEMORY ARRAYS
42C>
43C> THIS ROUTINE CALLS: BORT
44C> THIS ROUTINE IS CALLED BY: STBFDX STNTBI
45C> Normally not called by any application
46C> programs.
47C>
48 SUBROUTINE nenubd(NEMO,NUMB,LUN)
49
50 USE moda_tababd
51
52 CHARACTER*128 BORT_STR
53 CHARACTER*8 NEMO
54 CHARACTER*6 NUMB
55
56C-----------------------------------------------------------------------
57C-----------------------------------------------------------------------
58C CHECK TABLE B AND D
59C -------------------
60
61 DO n=1,ntbb(lun)
62 IF(numb.EQ.tabb(n,lun)(1: 6)) GOTO 900
63 IF(nemo.EQ.tabb(n,lun)(7:14)) GOTO 901
64 ENDDO
65
66 DO n=1,ntbd(lun)
67 IF(numb.EQ.tabd(n,lun)(1: 6)) GOTO 902
68 IF(nemo.EQ.tabd(n,lun)(7:14)) GOTO 903
69 ENDDO
70
71C EXITS
72C -----
73
74 RETURN
75900 WRITE(bort_str,'("BUFRLIB: NENUBD - TABLE B FXY VALUE (",A,") '//
76 . 'HAS ALREADY BEEN DEFINED (DUPLICATE)")') numb
77 CALL bort(bort_str)
78901 WRITE(bort_str,'("BUFRLIB: NENUBD - TABLE B MNEMONIC (",A,") '//
79 . 'HAS ALREADY BEEN DEFINED (DUPLICATE)")') nemo
80 CALL bort(bort_str)
81902 WRITE(bort_str,'("BUFRLIB: NENUBD - TABLE D FXY VALUE (",A,") '//
82 . 'HAS ALREADY BEEN DEFINED (DUPLICATE)")') numb
83 CALL bort(bort_str)
84903 WRITE(bort_str,'("BUFRLIB: NENUBD - TABLE D MNEMONIC (",A,") '//
85 . 'HAS ALREADY BEEN DEFINED (DUPLICATE)")') nemo
86 CALL bort(bort_str)
87 END
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
Definition: bort.f:23
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
Definition: moda_tababd.F:10
character *128, dimension(:,:), allocatable tabb
Table B entries for each internal I/O stream.
Definition: moda_tababd.F:59
integer, dimension(:), allocatable ntbd
Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD,...
Definition: moda_tababd.F:53
integer, dimension(:), allocatable ntbb
Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB,...
Definition: moda_tababd.F:52
character *600, dimension(:,:), allocatable tabd
Table D entries for each internal I/O stream.
Definition: moda_tababd.F:60
subroutine nenubd(NEMO, NUMB, LUN)
THIS SUBROUTINE CHECKS A MNEMONIC AND FXY VALUE PAIR THAT WERE READ FROM A USER-SUPPLIED BUFR DICTION...
Definition: nenubd.f:49