6 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
7 |
|
|
8 |
SUBROUTINE MNC_DIM_INIT( |
SUBROUTINE MNC_DIM_INIT( |
|
I myThid, |
|
9 |
I fname, |
I fname, |
10 |
I dname, |
I dname, |
11 |
I dlen ) |
I dlen, |
12 |
|
I myThid ) |
13 |
|
|
14 |
C Arguments |
C Arguments |
15 |
integer myThid, dlen |
integer myThid, dlen |
16 |
character*(*) fname, dname |
character*(*) fname, dname |
17 |
|
|
18 |
CALL MNC_DIM_INIT_ALL(myThid, fname, dname, dlen, 'Y') |
CALL MNC_DIM_INIT_ALL(fname, dname, dlen, 'Y', myThid) |
19 |
|
|
20 |
RETURN |
RETURN |
21 |
END |
END |
24 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
25 |
|
|
26 |
SUBROUTINE MNC_DIM_INIT_ALL( |
SUBROUTINE MNC_DIM_INIT_ALL( |
|
I myThid, |
|
27 |
I fname, |
I fname, |
28 |
I dname, |
I dname, |
29 |
I dlen, |
I dlen, |
30 |
I doWrite ) |
I doWrite, |
31 |
|
I myThid ) |
32 |
|
|
33 |
implicit none |
implicit none |
34 |
#include "netcdf.inc" |
#include "netcdf.inc" |
53 |
dnl = ILNBLNK(dname) |
dnl = ILNBLNK(dname) |
54 |
|
|
55 |
C Verify that the file exists |
C Verify that the file exists |
56 |
CALL MNC_GET_IND(myThid, MNC_MAX_ID, fname, mnc_f_names, indf) |
CALL MNC_GET_IND(MNC_MAX_ID, fname, mnc_f_names, indf, myThid) |
57 |
IF ( indf .LT. 1 ) THEN |
IF ( indf .LT. 1 ) THEN |
58 |
write(msgbuf,'(3a)') 'MNC ERROR: file ''', fname(1:nf), |
write(msgbuf,'(3a)') 'MNC ERROR: file ''', fname(1:nf), |
59 |
& ''' does not exist' |
& ''' does not exist' |
87 |
ENDIF |
ENDIF |
88 |
ENDDO |
ENDDO |
89 |
|
|
90 |
CALL MNC_GET_NEXT_EMPTY_IND(myThid, MNC_MAX_ID, mnc_d_names, indd) |
CALL MNC_GET_NEXT_EMPTY_IND(MNC_MAX_ID, mnc_d_names, indd, myThid) |
91 |
|
|
92 |
C Create the dim within the file |
C Create the dim within the file |
93 |
IF (doWrite(1:1) .EQ. 'Y') THEN |
IF (doWrite(1:1) .EQ. 'Y') THEN |
95 |
tlen = dlen |
tlen = dlen |
96 |
IF (dlen .LT. 1) tlen = NF_UNLIMITED |
IF (dlen .LT. 1) tlen = NF_UNLIMITED |
97 |
|
|
98 |
CALL MNC_FILE_REDEF(myThid, fname) |
CALL MNC_FILE_REDEF(fname, myThid) |
99 |
err = NF_DEF_DIM(mnc_f_info(indf,2), dname(dnf:dnl), tlen, idd) |
err = NF_DEF_DIM(mnc_f_info(indf,2), dname(dnf:dnl), tlen, idd) |
100 |
write(msgbuf,'(5a)') 'MNC_DIM_INIT ERROR: cannot create ', |
write(msgbuf,'(5a)') 'MNC_DIM_INIT ERROR: cannot create ', |
101 |
& 'dim ''', dname(dnf:dnl), ''' in file ''', fname(1:nf) |
& 'dim ''', dname(dnf:dnl), ''' in file ''', fname(1:nf) |
102 |
CALL MNC_HANDLE_ERR(myThid, err, msgbuf) |
CALL MNC_HANDLE_ERR(err, msgbuf, myThid) |
103 |
|
|
104 |
ENDIF |
ENDIF |
105 |
|
|
116 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
117 |
|
|
118 |
SUBROUTINE MNC_DIM_UNLIM_SIZE( |
SUBROUTINE MNC_DIM_UNLIM_SIZE( |
|
I myThid, |
|
119 |
I fname, |
I fname, |
120 |
I unlim_sz ) |
I unlim_sz, |
121 |
|
I myThid ) |
122 |
|
|
123 |
implicit none |
implicit none |
124 |
#include "netcdf.inc" |
#include "netcdf.inc" |
139 |
nf = ILNBLNK(fname) |
nf = ILNBLNK(fname) |
140 |
|
|
141 |
C Verify that the file exists |
C Verify that the file exists |
142 |
CALL MNC_GET_IND(myThid, MNC_MAX_ID, fname, mnc_f_names, indf) |
CALL MNC_GET_IND(MNC_MAX_ID, fname, mnc_f_names, indf, myThid) |
143 |
IF (indf .LT. 1) THEN |
IF (indf .LT. 1) THEN |
144 |
write(msgbuf,'(3a)') 'MNC ERROR: file ''', fname(1:nf), |
write(msgbuf,'(3a)') 'MNC ERROR: file ''', fname(1:nf), |
145 |
& ''' does not exist' |
& ''' does not exist' |
157 |
err = NF_INQ_DIMLEN(fid, unlimid, unlim_sz) |
err = NF_INQ_DIMLEN(fid, unlimid, unlim_sz) |
158 |
write(msgbuf,'(3a)') 'MNC_DIM_UNLIM_SIZE ERROR: cannot ', |
write(msgbuf,'(3a)') 'MNC_DIM_UNLIM_SIZE ERROR: cannot ', |
159 |
& 'determine unlimited dim size in file ''', fname(1:nf) |
& 'determine unlimited dim size in file ''', fname(1:nf) |
160 |
CALL MNC_HANDLE_ERR(myThid, err, msgbuf) |
CALL MNC_HANDLE_ERR(err, msgbuf, myThid) |
161 |
RETURN |
RETURN |
162 |
ENDIF |
ENDIF |
163 |
ENDDO |
ENDDO |