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

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

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

revision 1.8 by edhill, Sat Jan 17 13:55:49 2004 UTC revision 1.11 by edhill, Tue Jan 27 05:47:33 2004 UTC
# Line 3  C $Name$ Line 3  C $Name$
3                
4  #include "MNC_OPTIONS.h"  #include "MNC_OPTIONS.h"
5                
6  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7    
8        SUBROUTINE MNC_VAR_INIT_DBL(        SUBROUTINE MNC_VAR_INIT_DBL(
9       I     myThid,       I     myThid,
# Line 23  C     Arguments Line 23  C     Arguments
23        RETURN        RETURN
24        END        END
25    
26  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
27    
28        SUBROUTINE MNC_VAR_INIT_REAL(        SUBROUTINE MNC_VAR_INIT_REAL(
29       I     myThid,       I     myThid,
# Line 43  C     Arguments Line 43  C     Arguments
43        RETURN        RETURN
44        END        END
45    
46  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
47    
48        SUBROUTINE MNC_VAR_INIT_INT(        SUBROUTINE MNC_VAR_INIT_INT(
49       I     myThid,       I     myThid,
# Line 63  C     Arguments Line 63  C     Arguments
63        RETURN        RETURN
64        END        END
65    
66  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
67    
68        SUBROUTINE MNC_VAR_INIT_ANY(        SUBROUTINE MNC_VAR_INIT_ANY(
69       I     myThid,       I     myThid,
# Line 139  C     Get the grid information Line 139  C     Get the grid information
139            nd = 0            nd = 0
140            DO k = is,ie            DO k = is,ie
141              nd = nd + 1              nd = nd + 1
142              ids(nd) = mnc_fg_ids(indf,k)              ids(nd) = mnc_d_ids(mnc_fd_ind(indf,k))
143            ENDDO            ENDDO
144            GOTO 10            GOTO 10
145          ENDIF          ENDIF
# Line 162  C     Success, so save the variable info Line 162  C     Success, so save the variable info
162        mnc_v_names(indv)(1:lenv) = vname(1:lenv)        mnc_v_names(indv)(1:lenv) = vname(1:lenv)
163        nv = mnc_fv_ids(indf,1)        nv = mnc_fv_ids(indf,1)
164        i = 2 + nv*3        i = 2 + nv*3
165        j = i + 1        mnc_fv_ids(indf,i)   = indv
166        k = i + 2        mnc_fv_ids(indf,i+1) = vid
167        mnc_fv_ids(indf,i) = indv        mnc_fv_ids(indf,i+2) = ind_g_finfo
       mnc_fv_ids(indf,j) = vid  
       mnc_fv_ids(indf,k) = ind_g_finfo  
168        mnc_fv_ids(indf,1) = nv + 1        mnc_fv_ids(indf,1) = nv + 1
169    
170  C     Add the units  C     Add the units
# Line 175  C     Add the units Line 173  C     Add the units
173        RETURN        RETURN
174        END        END
175    
176  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
177    
178        SUBROUTINE MNC_VAR_ADD_ATTR_STR(        SUBROUTINE MNC_VAR_ADD_ATTR_STR(
179       I     myThid,       I     myThid,
# Line 193  C     Arguments Line 191  C     Arguments
191       &     1, sval, 0, 0.0D0, 0.0, 0)       &     1, sval, 0, 0.0D0, 0.0, 0)
192        RETURN        RETURN
193        END        END
194  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
195    
196        SUBROUTINE MNC_VAR_ADD_ATTR_DBL(        SUBROUTINE MNC_VAR_ADD_ATTR_DBL(
197       I     myThid,       I     myThid,
# Line 214  C     Arguments Line 212  C     Arguments
212        RETURN        RETURN
213        END        END
214    
215  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
216    
217        SUBROUTINE MNC_VAR_ADD_ATTR_REAL(        SUBROUTINE MNC_VAR_ADD_ATTR_REAL(
218       I     myThid,       I     myThid,
# Line 235  C     Arguments Line 233  C     Arguments
233        RETURN        RETURN
234        END        END
235    
236  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
237    
238        SUBROUTINE MNC_VAR_ADD_ATTR_INT(        SUBROUTINE MNC_VAR_ADD_ATTR_INT(
239       I     myThid,       I     myThid,
# Line 256  C     Arguments Line 254  C     Arguments
254        RETURN        RETURN
255        END        END
256    
257  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
258    
259        SUBROUTINE MNC_VAR_ADD_ATTR_ANY(        SUBROUTINE MNC_VAR_ADD_ATTR_ANY(
260       I     myThid,       I     myThid,
# Line 327  C     Set the attribute Line 325  C     Set the attribute
325        RETURN        RETURN
326        END        END
327    
328  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
329    
330        SUBROUTINE MNC_VAR_WRITE_DBL(        SUBROUTINE MNC_VAR_WRITE_DBL(
331       I     myThid,       I     myThid,
# Line 341  C     Arguments Line 339  C     Arguments
339        character*(*) fname,vname        character*(*) fname,vname
340        REAL*8 var(*)        REAL*8 var(*)
341    
342        CALL MNC_VAR_WRITE_ANY(myThid,fname,vname, 1, var, 0.0, 0 )        CALL MNC_VAR_WRITE_ANY(myThid,fname,vname,1,0,var,0.0,0)
343        RETURN        RETURN
344        END        END
345    
346  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
347    
348        SUBROUTINE MNC_VAR_WRITE_REAL(        SUBROUTINE MNC_VAR_WRITE_REAL(
349       I     myThid,       I     myThid,
# Line 359  C     Arguments Line 357  C     Arguments
357        character*(*) fname,vname        character*(*) fname,vname
358        REAL*4 var(*)        REAL*4 var(*)
359    
360        CALL MNC_VAR_WRITE_ANY(myThid,fname,vname, 2, 0.0D0, var, 0 )        CALL MNC_VAR_WRITE_ANY(myThid,fname,vname,2,0,0.0D0,var,0)
361        RETURN        RETURN
362        END        END
363    
364  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
365    
366        SUBROUTINE MNC_VAR_WRITE_INT(        SUBROUTINE MNC_VAR_WRITE_INT(
367       I     myThid,       I     myThid,
# Line 377  C     Arguments Line 375  C     Arguments
375        character*(*) fname,vname        character*(*) fname,vname
376        integer var(*)        integer var(*)
377    
378        CALL MNC_VAR_WRITE_ANY(myThid,fname,vname, 3, 0.0D0, 0.0, var )        CALL MNC_VAR_WRITE_ANY(myThid,fname,vname,3,0,0.0D0,0.0,var)
379        RETURN        RETURN
380        END        END
381    
382  C==================================================================  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
383    
384          SUBROUTINE MNC_VAR_APPEND_DBL(
385         I     myThid,
386         I     fname,
387         I     vname,
388         I     var,
389         I     append )
390    
391          implicit none
392    C     Arguments
393          integer myThid, append
394          character*(*) fname,vname
395          REAL*8 var(*)
396    
397          CALL MNC_VAR_WRITE_ANY(myThid,fname,vname,1,append,var,0.0,0)
398          RETURN
399          END
400    
401    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
402    
403          SUBROUTINE MNC_VAR_APPEND_REAL(
404         I     myThid,
405         I     fname,
406         I     vname,
407         I     var,
408         I     append )
409    
410          implicit none
411    C     Arguments
412          integer myThid, append
413          character*(*) fname,vname
414          REAL*4 var(*)
415    
416          CALL MNC_VAR_WRITE_ANY(myThid,fname,vname,2,append,0.0D0,var,0)
417          RETURN
418          END
419    
420    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
421    
422          SUBROUTINE MNC_VAR_APPEND_INT(
423         I     myThid,
424         I     fname,
425         I     vname,
426         I     var,
427         I     append )
428    
429          implicit none
430    C     Arguments
431          integer myThid, append
432          character*(*) fname,vname
433          integer var(*)
434    
435          CALL MNC_VAR_WRITE_ANY(myThid,fname,vname,3,append,0.0D0,0.0,var)
436          RETURN
437          END
438    
439    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
440    
441        SUBROUTINE MNC_VAR_WRITE_ANY(        SUBROUTINE MNC_VAR_WRITE_ANY(
442       I     myThid,       I     myThid,
443       I     fname,       I     fname,
444       I     vname,       I     vname,
445       I     vtype,       I     vtype,
446         I     append,
447       I     dv,       I     dv,
448       I     rv,       I     rv,
449       I     iv )       I     iv )
# Line 403  C     Arguments Line 459  C     Arguments
459        REAL*8 dv(*)        REAL*8 dv(*)
460        REAL*4 rv(*)        REAL*4 rv(*)
461        integer iv(*)        integer iv(*)
462          integer append
463    
464  C     Functions  C     Functions
465        integer ILNBLNK        integer ILNBLNK
# Line 442  C     Get the lengths from the dim IDs Line 499  C     Get the lengths from the dim IDs
499  C     Check for the unlimited dimension  C     Check for the unlimited dimension
500        j = mnc_d_size( mnc_fd_ind(indf,de) )        j = mnc_d_size( mnc_fd_ind(indf,de) )
501        IF (j .LT. 1) THEN        IF (j .LT. 1) THEN
502          did = mnc_fg_ids(indf,de)          did = mnc_d_ids( mnc_fd_ind(indf,de) )
503          err = NF_INQ_DIMLEN(fid, did, lend)          err = NF_INQ_DIMLEN(fid, did, lend)
504          write(msgbuf,'(a)') 'reading current length of unlimited dim'          write(msgbuf,'(a)') 'reading current length of unlimited dim'
505          CALL MNC_HANDLE_ERR(myThid, err, msgbuf)          CALL MNC_HANDLE_ERR(myThid, err, msgbuf)
506          IF (lend .LT. 1)  lend = lend + 1          IF (append .GT. 0) THEN
507              lend = lend + append
508            ENDIF
509            IF (lend .LT. 1) lend = 1
510          vstart(k) = lend          vstart(k) = lend
511          vcount(k) = 1          vcount(k) = 1
512        ENDIF        ENDIF
# Line 472  C     Check for the unlimited dimension Line 532  C     Check for the unlimited dimension
532        RETURN        RETURN
533        END        END
534    
535    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
536    

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22