/[MITgcm]/MITgcm/pkg/mnc/mnc_test_001.T
ViewVC logotype

Annotation of /MITgcm/pkg/mnc/mnc_test_001.T

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


Revision 1.9 - (hide annotations) (download) (as text)
Sun Jan 25 00:22:57 2004 UTC (20 years, 3 months ago) by edhill
Branch: MAIN
CVS Tags: hrcube_2
Changes since 1.8: +11 -4 lines
File MIME type: application/x-troff
 o new version of MNC "internals" with per-file association of all
     entities
 o first version with NetCDF read support
 o fixed the cleanup of internal lookup tables at file closure
 o numerous small bug fixes

1 edhill 1.9 C $Header: /u/u3/gcmpack/MITgcm/pkg/mnc/mnc_test_001.T,v 1.8 2004/01/18 23:23:15 edhill Exp $
2 edhill 1.1 C $Name: $
3    
4     C Simple test program for MNC
5    
6     PROGRAM mnc_test_001
7    
8     implicit none
9 edhill 1.2 #include "MNC_OPTIONS.h"
10 edhill 1.1 #include "EEPARAMS.h"
11    
12     C Functions
13     integer ILNBLNK
14    
15     C Local Variables
16 edhill 1.4 integer MAX_STR, MAX_NAMES, MAX_DIM, MAX_STOR
17     PARAMETER ( MAX_STR = 100 )
18     PARAMETER ( MAX_NAMES = 10 )
19     PARAMETER ( MAX_DIM = 10 )
20     PARAMETER ( MAX_STOR = 1000 )
21     integer ndim, dims(MAX_DIM)
22     integer myThid, i,j,k,l,ii, n, ind, fid
23 edhill 1.1 character*(MAX_LEN_MBUF) msgbuf
24 edhill 1.5 character*(MAX_STR) blank, fname, gname1,gname2, vname1,vname2
25     character*(MAX_STR) atname, atval, units
26 edhill 1.4 character*(MAX_STR) dnames(MAX_NAMES)
27 edhill 1.3 REAL*8 fillval
28 edhill 1.5 REAL*8 var(MAX_STOR), tvar(MAX_STOR)
29 edhill 1.1
30 edhill 1.2 print*, '=== Starting Program: mnc_test_001 ==='
31 edhill 1.4
32     print*, ' Initalizing variables ...'
33 edhill 1.2 DO i = 1,MAX_STR
34     blank(i:i) = ' '
35     ENDDO
36     DO i = 1,MAX_NAMES
37 edhill 1.4 dnames(i)(1:MAX_STR) = blank(1:MAX_STR)
38 edhill 1.2 ENDDO
39     fname(1:MAX_STR) = blank(1:MAX_STR)
40 edhill 1.5 gname1(1:MAX_STR) = blank(1:MAX_STR)
41     gname2(1:MAX_STR) = blank(1:MAX_STR)
42     vname1(1:MAX_STR) = blank(1:MAX_STR)
43     vname2(1:MAX_STR) = blank(1:MAX_STR)
44 edhill 1.3 units(1:MAX_STR) = blank(1:MAX_STR)
45     atname(1:MAX_STR) = blank(1:MAX_STR)
46     atval(1:MAX_STR) = blank(1:MAX_STR)
47 edhill 1.2 fname(1:12) = 'test_001.nc '
48 edhill 1.4 ndim = 4
49     dims(1) = 7
50     dims(2) = 4
51     dims(3) = 2
52 edhill 1.8 dims(4) = -1
53 edhill 1.4 dnames(1)(1:1) = 'X'
54     dnames(2)(1:1) = 'Y'
55     dnames(3)(1:1) = 'Z'
56 edhill 1.8 dnames(4)(1:1) = 'T'
57 edhill 1.4 myThid = 1
58     C In FORTRAN, the first variable cycles most quickly
59     DO ii = 1,MAX_STOR
60     var(ii) = 0.21
61 edhill 1.5 tvar(ii) = 0.23
62 edhill 1.4 ENDDO
63     ii = 0
64     DO l = 1,dims(3)
65     DO k = 1,dims(3)
66     DO j = 1,dims(2)
67     DO i = 1,dims(1)
68     ii = ii + 1
69     var(ii) = ((i*100 + j)*100 + k)*100 + l
70     ENDDO
71     ENDDO
72     ENDDO
73     ENDDO
74 edhill 1.2
75     print*, ' Calling MNC_INIT() ...'
76     CALL MNC_INIT(myThid)
77    
78 edhill 1.7 print*, ' Calling MNC_FILE_CREATE() ...'
79     CALL MNC_FILE_CREATE(myThid, fname)
80    
81 edhill 1.2 print*, ' Calling MNC_DIM_INIT() ...'
82 edhill 1.4 DO i = 1,ndim
83 edhill 1.9 CALL MNC_DIM_INIT(myThid,fname, dnames(i),dims(i))
84 edhill 1.7 ii = ILNBLNK(dnames(i))
85     print*, ' ... created dimension: ', dnames(i)(1:ii)
86 edhill 1.4 ENDDO
87 edhill 1.2
88     print*, ' Calling MNC_GRID_INIT() ...'
89 edhill 1.5 gname1(1:10) = 'xyzt '
90 edhill 1.7 CALL MNC_GRID_INIT(myThid,fname, gname1, ndim, dnames)
91 edhill 1.5 gname2(1:10) = 't '
92 edhill 1.7 CALL MNC_GRID_INIT(myThid,fname, gname2, 1, dnames(4))
93 edhill 1.3
94     print*, ' Calling MNC_VAR_INIT_DBL() ...'
95 edhill 1.5 vname1(1:4) = 'time'
96     units(1:19) = 'days since 1970-1-1'
97 edhill 1.7 CALL MNC_VAR_INIT_DBL(myThid,fname, gname2, vname1, units )
98 edhill 1.5 vname2(1:4) = 'temp'
99 edhill 1.6 units(1:19) = 'deg C '
100 edhill 1.7 CALL MNC_VAR_INIT_DBL(myThid,fname, gname1, vname2, units )
101 edhill 1.3
102     print*, ' Calling MNC_VAR_ADD_ATTR_STR() ...'
103 edhill 1.6 atname(1:9) = 'grid_type'
104     CALL MNC_VAR_ADD_ATTR_INT(myThid,fname,vname1, atname, 1, 1)
105 edhill 1.5 atname(1:11) = 'valid_range'
106     tvar(1) = -23.5
107     tvar(2) = 176.75
108     CALL MNC_VAR_ADD_ATTR_DBL(myThid,fname,vname2, atname, 2, tvar)
109 edhill 1.4
110     print*, ' Calling MNC_VAR_WRITE_DBL() ...'
111 edhill 1.5 CALL MNC_VAR_WRITE_DBL(myThid, fname, vname1, var)
112 edhill 1.4 print*, ' Calling MNC_VAR_WRITE_DBL() ...'
113 edhill 1.5 CALL MNC_VAR_WRITE_DBL(myThid, fname, vname2, var)
114    
115 edhill 1.7 CALL MNC_DUMP()
116 edhill 1.2
117     print*, ' Calling MNC_FILE_CLOSE() ...'
118     CALL MNC_FILE_CLOSE(myThid, fname)
119 edhill 1.9
120     CALL MNC_DUMP()
121    
122     print*, '=========================================='
123    
124     print*, ' Calling MNC_FILE_READALL() ...'
125     CALL MNC_FILE_READALL(myThid, fname)
126    
127     CALL MNC_DUMP()
128 edhill 1.2
129     print*, '=== Ending Program: mnc_test_001 ==='
130 edhill 1.1
131     END
132    
133     CEH3 ;;; Local Variables: ***
134     CEH3 ;;; mode:fortran ***
135     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22