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

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

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

revision 1.3 by edhill, Tue Jan 6 23:19:27 2004 UTC revision 1.4 by edhill, Wed Jan 7 07:29:12 2004 UTC
# Line 109  C     Local Variables Line 109  C     Local Variables
109        integer i, err, fid, ind, n1,n2        integer i, err, fid, ind, n1,n2
110        character*(MNC_MAX_CHAR) s1, s2        character*(MNC_MAX_CHAR) s1, s2
111        character*(MAX_LEN_MBUF) msgbuf        character*(MAX_LEN_MBUF) msgbuf
112          character*(MAX_LEN_MBUF) name
113    
114  C     Is the file open?  C     Is the file open?
115        CALL MNC_GET_IND(myThid, MNC_MAX_ID, fname, mnc_f_names, ind)        CALL MNC_GET_IND(myThid, MNC_MAX_ID, fname, mnc_f_names, ind)
116        IF ( ind .GT. 0 ) THEN        IF (ind .LT. 1) THEN
117          write(msgbuf,'(3a)') 'MNC ERROR: file ''',          write(msgbuf,'(3a)') 'MNC ERROR: file ''',
118       &       fname, ''' must be opened first'       &       fname, ''' must be opened first'
119          CALL print_error( msgbuf, mythid )          CALL print_error( msgbuf, mythid )
# Line 121  C     Is the file open? Line 122  C     Is the file open?
122        fid = mnc_f_info(ind,2)        fid = mnc_f_info(ind,2)
123    
124  C     Enter define mode  C     Enter define mode
125        err = NF_REDEF(fid)        CALL MNC_FILE_REDEF(myThid, fname)
       CALL MNC_HANDLE_ERR(myThid, err,  
      &     'redefining in S/R MNC_FILE_ADD_ATTR_STR')  
126    
127        s1(1:MNC_MAX_CHAR) = mnc_blank_name(1:MNC_MAX_CHAR)        s1(1:MNC_MAX_CHAR) = mnc_blank_name(1:MNC_MAX_CHAR)
128        s2(1:MNC_MAX_CHAR) = mnc_blank_name(1:MNC_MAX_CHAR)        s2(1:MNC_MAX_CHAR) = mnc_blank_name(1:MNC_MAX_CHAR)
# Line 176  C     Is the file open? Line 175  C     Is the file open?
175        fid = mnc_f_info(ind,2)        fid = mnc_f_info(ind,2)
176    
177  C     Enter define mode  C     Enter define mode
178        err = NF_REDEF(fid)        CALL MNC_FILE_REDEF(myThid, fname)
       CALL MNC_HANDLE_ERR(myThid, err,  
      &     'redefining in S/R MNC_FILE_ADD_ATTR_INT')  
179    
180        s1(1:MNC_MAX_CHAR) = mnc_blank_name(1:MNC_MAX_CHAR)        s1(1:MNC_MAX_CHAR) = mnc_blank_name(1:MNC_MAX_CHAR)
181        n1 = ILNBLNK(atname)        n1 = ILNBLNK(atname)
# Line 216  C     Local Variables Line 213  C     Local Variables
213        character*(MNC_MAX_CHAR) s1        character*(MNC_MAX_CHAR) s1
214        character*(MAX_LEN_MBUF) msgbuf        character*(MAX_LEN_MBUF) msgbuf
215                
216    C     Verify that the file is open
 C     Is the file open?  
217        CALL MNC_GET_IND(myThid, MNC_MAX_ID, fname, mnc_f_names, ind)        CALL MNC_GET_IND(myThid, MNC_MAX_ID, fname, mnc_f_names, ind)
218        IF (ind .GT. 0) THEN        IF (ind .LT. 0) THEN
219          write(msgbuf,'(3a)') 'MNC ERROR: file ''',          write(msgbuf,'(3a)') 'MNC ERROR: file ''',
220       &       fname, ''' must be opened first'       &       fname, ''' must be opened first'
221          CALL print_error( msgbuf, mythid )          CALL print_error( msgbuf, mythid )
# Line 228  C     Is the file open? Line 224  C     Is the file open?
224        fid = mnc_f_info(ind,2)        fid = mnc_f_info(ind,2)
225    
226  C     Enter define mode  C     Enter define mode
227        err = NF_REDEF(fid)        CALL MNC_FILE_REDEF(myThid, fname)
       CALL MNC_HANDLE_ERR(myThid, err,  
      &     'redefining in S/R MNC_FILE_ADD_ATTR_DBL')  
228    
229        s1(1:MNC_MAX_CHAR) = mnc_blank_name(1:MNC_MAX_CHAR)        s1(1:MNC_MAX_CHAR) = mnc_blank_name(1:MNC_MAX_CHAR)
230        n1 = ILNBLNK(atname)        n1 = ILNBLNK(atname)
# Line 282  C     Clear all the file, grid, and vari Line 276  C     Clear all the file, grid, and vari
276            j = 2*i            j = 2*i
277            k = mnc_fv_ids(ind,j)            k = mnc_fv_ids(ind,j)
278            mnc_v_names(k)(1:MNC_MAX_CHAR)=mnc_blank_name(1:MNC_MAX_CHAR)            mnc_v_names(k)(1:MNC_MAX_CHAR)=mnc_blank_name(1:MNC_MAX_CHAR)
           mnc_v_units(k)(1:MNC_MAX_CHAR)=mnc_blank_name(1:MNC_MAX_CHAR)  
279          ENDDO          ENDDO
280        ENDIF        ENDIF
281        DO i = 1,3        DO i = 1,3
# Line 292  C     Clear all the file, grid, and vari Line 285  C     Clear all the file, grid, and vari
285    
286        RETURN        RETURN
287        END        END
288    
289    C==================================================================
290    
291          SUBROUTINE MNC_FILE_REDEF(
292         I     myThid,
293         I     fname )
294    
295          implicit none
296    #include "netcdf.inc"
297    #include "mnc_common.h"
298    #include "EEPARAMS.h"
299    
300    C     Arguments
301          integer myThid
302          character*(*) fname
303    
304    C     Functions
305          integer ILNBLNK
306    
307    C     Local Variables
308          integer ind, fid, def, err
309          character*(MAX_LEN_MBUF) msgbuf
310    
311    C     Verify that the file is open
312          CALL MNC_GET_IND(myThid, MNC_MAX_ID, fname, mnc_f_names, ind)
313          IF (ind .LT. 0) THEN
314            write(msgbuf,'(3a)') 'MNC ERROR: file ''',
315         &       fname, ''' must be opened first'
316            CALL print_error( msgbuf, mythid )
317            stop 'ABNORMAL END: S/R MNC_FILE_REDEF'
318          ENDIF
319          def = mnc_f_info(ind,1)
320          fid = mnc_f_info(ind,2)
321    
322          IF (def .NE. 1) THEN
323    C       Enter define mode
324            err = NF_REDEF(fid)
325            CALL MNC_HANDLE_ERR(myThid, err,
326         &       'entering define mode in S/R MNC_FILE_REDEF')
327            mnc_f_info(ind,1) = 1
328          ENDIF
329    
330          RETURN
331          END
332    
333    C==================================================================
334    
335          SUBROUTINE MNC_FILE_ENDDEF(
336         I     myThid,
337         I     fname )
338    
339          implicit none
340    #include "netcdf.inc"
341    #include "mnc_common.h"
342    #include "EEPARAMS.h"
343    
344    C     Arguments
345          integer myThid
346          character*(*) fname
347    
348    C     Functions
349          integer ILNBLNK
350    
351    C     Local Variables
352          integer ind, fid, def, err
353          character*(MAX_LEN_MBUF) msgbuf
354    
355    C     Verify that the file is open
356          CALL MNC_GET_IND(myThid, MNC_MAX_ID, fname, mnc_f_names, ind)
357          IF (ind .LT. 0) THEN
358            write(msgbuf,'(3a)') 'MNC ERROR: file ''',
359         &       fname, ''' must be opened first'
360            CALL print_error( msgbuf, mythid )
361            stop 'ABNORMAL END: S/R MNC_FILE_REDEF'
362          ENDIF
363          def = mnc_f_info(ind,1)
364          fid = mnc_f_info(ind,2)
365    
366          IF (def .NE. 2) THEN
367    C       Enter define mode
368            err = NF_ENDDEF(fid)
369            CALL MNC_HANDLE_ERR(myThid, err,
370         &       'ending define mode in S/R MNC_FILE_ENDDEF')
371            mnc_f_info(ind,1) = 2
372          ENDIF
373    
374          RETURN
375          END
376    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22