wrf svn trunk commit r4103
[wrffire.git] / wrfv2_fire / var / external / bufr / newwin.inc
blobac2c0a3dcfdc74b567d653804b1a4d0d1850d125
1       SUBROUTINE NEWWIN (LUN, IWIN, JWIN) 
2                                                                         
3 !$$$  SUBPROGRAM DOCUMENTATION BLOCK                                    
4 !                                                                       
5 ! SUBPROGRAM:    NEWWIN (docblock incomplete)                           
6 !   PRGMMR: WOOLLEN          ORG: NP20       DATE: 1994-01-06           
7 !                                                                       
8 ! ABSTRACT: THIS SUBROUTINE ....                                        
9 !                                                                       
10 ! PROGRAM HISTORY LOG:                                                  
11 ! 1994-01-06  J. WOOLLEN -- ORIGINAL AUTHOR                             
12 ! 1998-07-08  J. WOOLLEN -- REPLACED CALL TO CRAY LIBRARY ROUTINE       
13 !                           "ABORT" WITH CALL TO NEW INTERNAL BUFRLIB   
14 !                           ROUTINE "BORT"                              
15 ! 1999-11-18  J. WOOLLEN -- THE NUMBER OF BUFR FILES WHICH CAN BE       
16 !                           OPENED AT ONE TIME INCREASED FROM 10 TO 32  
17 !                           (NECESSARY IN ORDER TO PROCESS MULTIPLE     
18 !                           BUFR FILES UNDER THE MPI)                   
19 ! 2002-05-14  J. WOOLLEN -- REMOVED OLD CRAY COMPILER DIRECTIVES        
20 ! 2003-11-04  S. BENDER  -- ADDED REMARKS/BUFRLIB ROUTINE               
21 !                           INTERDEPENDENCIES                           
22 ! 2003-11-04  D. KEYSER  -- MAXJL (MAXIMUM NUMBER OF JUMP/LINK ENTRIES) 
23 !                           INCREASED FROM 15000 TO 16000 (WAS IN       
24 !                           VERIFICATION VERSION); UNIFIED/PORTABLE FOR 
25 !                           WRF; ADDED DOCUMENTATION (INCLUDING         
26 !                           HISTORY) (INCOMPLETE); OUTPUTS MORE         
27 !                           COMPLETE DIAGNOSTIC INFO WHEN ROUTINE       
28 !                           TERMINATES ABNORMALLY                       
29 !                                                                       
30 ! USAGE:    CALL NEWWIN (LUN, IWIN, JWIN)                               
31 !   INPUT ARGUMENT LIST:                                                
32 !     LUN      - INTEGER: I/O STREAM INDEX INTO INTERNAL MEMORY ARRAYS  
33 !     IWIN     - INTEGER: ....                                          
34 !                                                                       
35 !   OUTPUT ARGUMENT LIST:                                               
36 !     JWIN     - INTEGER: ....                                          
37 !                                                                       
38 ! REMARKS:                                                              
39 !    THIS ROUTINE CALLS:        BORT     LSTRPC                         
40 !    THIS ROUTINE IS CALLED BY: CONWIN   DRSTPL   UFBRW                 
41 !                               Normally not called by any application  
42 !                               programs.                               
43 !                                                                       
44 ! ATTRIBUTES:                                                           
45 !   LANGUAGE: FORTRAN 77                                                
46 !   MACHINE:  PORTABLE TO ALL PLATFORMS                                 
47 !                                                                       
48 !$$$                                                                    
49                                                                         
50       INCLUDE 'bufrlib.prm' 
51                                                                         
52 !     COMMON / USRINT / NVAL (NFILES), INV (MAXJL, NFILES), VAL (MAXJL, &
53 !     NFILES)                                                           
54                                                                         
55       CHARACTER(128) BORT_STR 
56 !     REAL(8) VAL 
57                                                                         
58 !---------------------------------------------------------------------- 
59 !---------------------------------------------------------------------- 
60                                                                         
61       IF (IWIN.EQ.1) THEN 
62       JWIN = NVAL (LUN) 
63       GOTO 100 
64       ENDIF 
65                                                                         
66 !  REFIND THE JWIN BOUNDARY FROM IWIN                                   
67 !  ----------------------------------                                   
68                                                                         
69       NODE = INV (IWIN, LUN) 
70       IF (LSTRPC (NODE, LUN) .NE.NODE) GOTO 900 
71       JWIN = IWIN + VAL (IWIN, LUN) 
72                                                                         
73 !  EXITS                                                                
74 !  -----                                                                
75                                                                         
76   100 RETURN 
77   900 WRITE (BORT_STR, '("BUFRLIB: NEWWIN - LISTRPC FOR NODE",I6,'//'" (&
78      &LISTRPC=",I5,") DOES NOT EQUAL VALUE OF NODE, NOT RPC '//'(IWIN ="&
79      &,I8,")")') NODE, LSTRPC (NODE, LUN) , IWIN                        
80       CALL BORT (BORT_STR) 
81       END SUBROUTINE NEWWIN