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

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

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


Revision 1.4 - (show annotations) (download) (as text)
Wed Jan 7 19:50:52 2004 UTC (20 years, 4 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint52e_post
Changes since 1.3: +48 -22 lines
File MIME type: application/x-troff
 o first version able to create "entire" NetCDF files

1 C $Header: /u/u3/gcmpack/MITgcm/pkg/mnc/mnc_test_001.T,v 1.3 2004/01/07 07:29:13 edhill Exp $
2 C $Name: $
3
4 C Simple test program for MNC
5
6 PROGRAM mnc_test_001
7
8 implicit none
9 #include "MNC_OPTIONS.h"
10 #include "EEPARAMS.h"
11
12 C Functions
13 integer ILNBLNK
14
15 C Local Variables
16 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 character*(MAX_LEN_MBUF) msgbuf
24 character*(MAX_STR) blank, fname, gname, vname, units
25 character*(MAX_STR) atname, atval
26 character*(MAX_STR) dnames(MAX_NAMES)
27 REAL*8 fillval
28 REAL*8 var(MAX_STOR)
29
30 print*, '=== Starting Program: mnc_test_001 ==='
31
32 print*, ' Initalizing variables ...'
33 DO i = 1,MAX_STR
34 blank(i:i) = ' '
35 ENDDO
36 DO i = 1,MAX_NAMES
37 dnames(i)(1:MAX_STR) = blank(1:MAX_STR)
38 ENDDO
39 fname(1:MAX_STR) = blank(1:MAX_STR)
40 gname(1:MAX_STR) = blank(1:MAX_STR)
41 vname(1:MAX_STR) = blank(1:MAX_STR)
42 units(1:MAX_STR) = blank(1:MAX_STR)
43 atname(1:MAX_STR) = blank(1:MAX_STR)
44 atval(1:MAX_STR) = blank(1:MAX_STR)
45 fname(1:12) = 'test_001.nc '
46 ndim = 4
47 dims(1) = 7
48 dims(2) = 4
49 dims(3) = 2
50 dims(4) = -1 ! -1
51 dnames(1)(1:1) = 'X'
52 dnames(2)(1:1) = 'Y'
53 dnames(3)(1:1) = 'Z'
54 dnames(4)(1:1) = 'T '
55 myThid = 1
56 C In FORTRAN, the first variable cycles most quickly
57 DO ii = 1,MAX_STOR
58 var(ii) = 0.21
59 ENDDO
60 ii = 0
61 DO l = 1,dims(3)
62 DO k = 1,dims(3)
63 DO j = 1,dims(2)
64 DO i = 1,dims(1)
65 ii = ii + 1
66 var(ii) = ((i*100 + j)*100 + k)*100 + l
67 ENDDO
68 ENDDO
69 ENDDO
70 ENDDO
71
72 print*, ' Calling MNC_INIT() ...'
73 CALL MNC_INIT(myThid)
74
75 print*, ' Calling MNC_DIM_INIT() ...'
76 DO i = 1,ndim
77 CALL MNC_DIM_INIT(myThid, dnames(i), dnames(i), dims(i))
78 print*, ' ... created dimension: ', i
79 ENDDO
80
81 print*, ' Calling MNC_FILE_CREATE() ...'
82 CALL MNC_FILE_CREATE(myThid, fname)
83
84 print*, ' Calling MNC_GRID_INIT() ...'
85 gname(1:8) = 'XY_Grid '
86 CALL MNC_GRID_INIT(myThid, fname, gname, ndim, dnames)
87
88 print*, ' Calling MNC_VAR_INIT_DBL() ...'
89 vname(1:11) = 'temperature'
90 units(1:3) = 'm/s'
91 fillval = -9999.0
92 CALL MNC_VAR_INIT_DBL(myThid, fname, gname, vname, fillval)
93
94 print*, ' Calling MNC_VAR_ADD_ATTR_STR() ...'
95 atname(1:5) = 'units'
96 atval(1:4) = 'cm/s'
97 CALL MNC_VAR_ADD_ATTR_STR(myThid, fname, vname, atname, atval)
98
99 print*, ' Calling MNC_VAR_WRITE_DBL() ...'
100 CALL MNC_VAR_WRITE_DBL(myThid, fname, vname, var)
101 print*, ' Calling MNC_VAR_WRITE_DBL() ...'
102 CALL MNC_VAR_WRITE_DBL(myThid, fname, vname, var)
103
104 print*, ' Calling MNC_FILE_CLOSE() ...'
105 CALL MNC_FILE_CLOSE(myThid, fname)
106
107 print*, '=== Ending Program: mnc_test_001 ==='
108
109 END
110
111 CEH3 ;;; Local Variables: ***
112 CEH3 ;;; mode:fortran ***
113 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22