/[MITgcm]/MITgcm/pkg/mnc/mnc_cw_udim.F
ViewVC logotype

Diff of /MITgcm/pkg/mnc/mnc_cw_udim.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2 by edhill, Sun Mar 21 03:44:23 2004 UTC revision 1.6 by edhill, Wed Oct 20 21:26:14 2004 UTC
# Line 4  C $Name$ Line 4  C $Name$
4  #include "MNC_OPTIONS.h"  #include "MNC_OPTIONS.h"
5                
6  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7    CBOP 0
8    C !ROUTINE: MNC_CW_SET_UDIM
9    
10    C !INTERFACE:
11        SUBROUTINE MNC_CW_SET_UDIM(        SUBROUTINE MNC_CW_SET_UDIM(
12       I     fgname,       I     fgname,
13       I     nudim,       I     nudim,
14       I     myThid )       I     myThid )
15    
16    C     !DESCRIPTION:
17    C     For a specified file group name, set the size of the NetCDF
18    C     unlimited (or record) dimension.  The options are:
19    C     \begin{equation}
20    C       \label{eq:yo}
21    C       \mbox{\bf nudim} = \left\{
22    C         \begin{array}[htb]{cl}
23    C           >0,  &  \mbox{\small use the specified value} \\
24    C           0,   &  \mbox{\small use the largest currently defined value} \\
25    C           -1,  &  \mbox{\small increment the largest value and then use it} \\
26    C         \end{array}
27    C         \right.
28    C     \end{equation}
29    
30    C     !USES:
31        implicit none        implicit none
32  #include "mnc_common.h"  #include "mnc_common.h"
33  #include "EEPARAMS.h"  #include "EEPARAMS.h"
34    
35  C     Arguments  C     !INPUT PARAMETERS:
36        integer nudim, myThid        integer nudim, myThid
37        character*(*) fgname        character*(*) fgname
38    CEOP
39    
40  C     Functions  C     !LOCAL VARIABLES:
       integer IFNBLNK, ILNBLNK  
   
 C     Local Variables  
41        integer fgf,fgl, indfg        integer fgf,fgl, indfg
42        character*(MAX_LEN_MBUF) msgbuf        character*(MAX_LEN_MBUF) msgbuf
43    
44    C     Functions
45          integer IFNBLNK, ILNBLNK
46    
47  C     Check that this name is not already defined  C     Check that this name is not already defined
48        fgf = IFNBLNK(fgname)        fgf = IFNBLNK(fgname)
49        fgl = ILNBLNK(fgname)        fgl = ILNBLNK(fgname)
# Line 32  C     Check that this name is not alread Line 51  C     Check that this name is not alread
51        IF (indfg .LT. 1) THEN        IF (indfg .LT. 1) THEN
52          CALL MNC_GET_NEXT_EMPTY_IND(          CALL MNC_GET_NEXT_EMPTY_IND(
53       &       MNC_MAX_ID, mnc_cw_fgnm, indfg, myThid)       &       MNC_MAX_ID, mnc_cw_fgnm, indfg, myThid)
54            mnc_cw_fgud(indfg) = 0
55    C       mnc_cw_fgis(indfg) = 0
56        ENDIF        ENDIF
57        mnc_cw_fgnm(indfg)(1:(fgl-fgf+1)) = fgname(fgf:fgl)        mnc_cw_fgnm(indfg)(1:(fgl-fgf+1)) = fgname(fgf:fgl)
58        mnc_cw_fgud(indfg) = nudim        IF (nudim .GT. 0) THEN
59            mnc_cw_fgud(indfg) = nudim
60            RETURN
61          ENDIF
62          IF (nudim .EQ. 0) RETURN
63          IF (nudim .EQ. -1) THEN
64            mnc_cw_fgud(indfg) = mnc_cw_fgud(indfg) + 1
65            RETURN
66          ENDIF
67          write(msgbuf,'(3a,i,a)')
68         &     'MNC_CW_SET_UDIM ERROR: for file group name ''',
69         &     fgname(fgf:fgl), ''' the unlim dim ''', nudim,
70         &     ''' is not allowed'
71          CALL print_error(msgbuf, mythid)
72          STOP 'ABNORMAL END: S/R MNC_CW_SET_UDIM'
73    
74        RETURN        RETURN
75        END        END
76    
77  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
78    CBOP 0
79    C !ROUTINE: MNC_CW_GET_UDIM
80    
81    C !INTERFACE:
82        SUBROUTINE MNC_CW_GET_UDIM(        SUBROUTINE MNC_CW_GET_UDIM(
83       I     fgname,       I     fgname,
84       O     nudim,       O     nudim,
85       I     myThid )       I     myThid )
86    
87    C     !DESCRIPTION:
88    C     For a specified file group name, get the size of the NetCDF
89    C     unlimited (or record) dimension.
90    
91    C     !USES:
92        implicit none        implicit none
93  #include "mnc_common.h"  #include "mnc_common.h"
94  #include "EEPARAMS.h"  #include "EEPARAMS.h"
95    
96  C     Arguments  C     !INPUT PARAMETERS:
97        integer nudim, myThid        integer nudim, myThid
98        character*(*) fgname        character*(*) fgname
99    CEOP
100    
101  C     Functions  C     !LOCAL VARIABLES:
       integer IFNBLNK, ILNBLNK  
   
 C     Local Variables  
102        integer fgf,fgl, indfg        integer fgf,fgl, indfg
103        character*(MAX_LEN_MBUF) msgbuf        character*(MAX_LEN_MBUF) msgbuf
104    
105    C     Functions
106          integer IFNBLNK, ILNBLNK
107    
108        fgf = IFNBLNK(fgname)        fgf = IFNBLNK(fgname)
109        fgl = ILNBLNK(fgname)        fgl = ILNBLNK(fgname)
110        CALL MNC_GET_IND(MNC_MAX_ID, fgname, mnc_cw_fgnm, indfg, myThid)        CALL MNC_GET_IND(MNC_MAX_ID, fgname, mnc_cw_fgnm, indfg, myThid)
111        IF (indfg .LT. 1) THEN        IF (indfg .LT. 1) THEN
112          write(msgbuf,'(3a)')          write(msgbuf,'(3a)')
113       &       'MNC_CW_SET_UDIM ERROR: file group name ''',       &       'MNC_CW_GET_UDIM ERROR: file group name ''',
114       &       fgname(fgf:fgl), ''' is not defined'       &       fgname(fgf:fgl), ''' is not defined'
115          CALL print_error(msgbuf, mythid)          CALL print_error(msgbuf, mythid)
116          STOP 'ABNORMAL END: S/R MNC_CW_SET_UDIM'          STOP 'ABNORMAL END: S/R MNC_CW_GET_UDIM'
117        ENDIF        ENDIF
118        nudim = mnc_cw_fgud(indfg)        nudim = mnc_cw_fgud(indfg)
119    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22