Warning, /pkg/mnc/mnc_test_001.T is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
d2129fb7fc Ed H*0001 C Simple test program for MNC
0002
0003 PROGRAM mnc_test_001
0004
0005 implicit none
a27dc5c859 Ed H*0006 #include "MNC_OPTIONS.h"
d2129fb7fc Ed H*0007 #include "EEPARAMS.h"
0008
0009 C Functions
0010 integer ILNBLNK
0011
0012 C Local Variables
376f4203f6 Ed H*0013 integer MAX_STR, MAX_NAMES, MAX_DIM, MAX_STOR
0014 PARAMETER ( MAX_STR = 100 )
0015 PARAMETER ( MAX_NAMES = 10 )
0016 PARAMETER ( MAX_DIM = 10 )
0017 PARAMETER ( MAX_STOR = 1000 )
0018 integer ndim, dims(MAX_DIM)
0019 integer myThid, i,j,k,l,ii, n, ind, fid
d2129fb7fc Ed H*0020 character*(MAX_LEN_MBUF) msgbuf
a7ffe10af7 Ed H*0021 character*(MAX_STR) blank, fname, gname1,gname2, vname1,vname2
0022 character*(MAX_STR) atname, atval, units
376f4203f6 Ed H*0023 character*(MAX_STR) dnames(MAX_NAMES)
907e360dab Ed H*0024 REAL*8 fillval
a7ffe10af7 Ed H*0025 REAL*8 var(MAX_STOR), tvar(MAX_STOR)
d2129fb7fc Ed H*0026
a27dc5c859 Ed H*0027 print*, '=== Starting Program: mnc_test_001 ==='
376f4203f6 Ed H*0028
0029 print*, ' Initalizing variables ...'
a27dc5c859 Ed H*0030 DO i = 1,MAX_STR
0031 blank(i:i) = ' '
0032 ENDDO
0033 DO i = 1,MAX_NAMES
376f4203f6 Ed H*0034 dnames(i)(1:MAX_STR) = blank(1:MAX_STR)
a27dc5c859 Ed H*0035 ENDDO
0036 fname(1:MAX_STR) = blank(1:MAX_STR)
a7ffe10af7 Ed H*0037 gname1(1:MAX_STR) = blank(1:MAX_STR)
0038 gname2(1:MAX_STR) = blank(1:MAX_STR)
0039 vname1(1:MAX_STR) = blank(1:MAX_STR)
0040 vname2(1:MAX_STR) = blank(1:MAX_STR)
907e360dab Ed H*0041 units(1:MAX_STR) = blank(1:MAX_STR)
0042 atname(1:MAX_STR) = blank(1:MAX_STR)
0043 atval(1:MAX_STR) = blank(1:MAX_STR)
a27dc5c859 Ed H*0044 fname(1:12) = 'test_001.nc '
376f4203f6 Ed H*0045 ndim = 4
0046 dims(1) = 7
0047 dims(2) = 4
0048 dims(3) = 2
251b9a88c9 Ed H*0049 dims(4) = -1
376f4203f6 Ed H*0050 dnames(1)(1:1) = 'X'
0051 dnames(2)(1:1) = 'Y'
0052 dnames(3)(1:1) = 'Z'
251b9a88c9 Ed H*0053 dnames(4)(1:1) = 'T'
a27dc5c859 Ed H*0054 myThid = 1
376f4203f6 Ed H*0055 C In FORTRAN, the first variable cycles most quickly
0056 DO ii = 1,MAX_STOR
0057 var(ii) = 0.21
a7ffe10af7 Ed H*0058 tvar(ii) = 0.23
376f4203f6 Ed H*0059 ENDDO
0060 ii = 0
0061 DO l = 1,dims(3)
0062 DO k = 1,dims(3)
0063 DO j = 1,dims(2)
0064 DO i = 1,dims(1)
0065 ii = ii + 1
0066 var(ii) = ((i*100 + j)*100 + k)*100 + l
0067 ENDDO
0068 ENDDO
0069 ENDDO
0070 ENDDO
0071
a27dc5c859 Ed H*0072 print*, ' Calling MNC_INIT() ...'
0073 CALL MNC_INIT(myThid)
0074
dad4143247 Ed H*0075 print*, ' Calling MNC_FILE_CREATE() ...'
3f2ea2a4ed Ed H*0076 CALL MNC_FILE_CREATE(fname, myThid)
dad4143247 Ed H*0077
a27dc5c859 Ed H*0078 print*, ' Calling MNC_DIM_INIT() ...'
376f4203f6 Ed H*0079 DO i = 1,ndim
3f2ea2a4ed Ed H*0080 CALL MNC_DIM_INIT(fname, dnames(i),dims(i), myThid)
dad4143247 Ed H*0081 ii = ILNBLNK(dnames(i))
0082 print*, ' ... created dimension: ', dnames(i)(1:ii)
376f4203f6 Ed H*0083 ENDDO
a27dc5c859 Ed H*0084
0085 print*, ' Calling MNC_GRID_INIT() ...'
a7ffe10af7 Ed H*0086 gname1(1:10) = 'xyzt '
3f2ea2a4ed Ed H*0087 CALL MNC_GRID_INIT(fname, gname1, ndim, dnames, myThid)
a7ffe10af7 Ed H*0088 gname2(1:10) = 't '
3f2ea2a4ed Ed H*0089 CALL MNC_GRID_INIT(fname, gname2, 1, dnames(4), myThid)
a27dc5c859 Ed H*0090
907e360dab Ed H*0091 print*, ' Calling MNC_VAR_INIT_DBL() ...'
a7ffe10af7 Ed H*0092 vname1(1:4) = 'time'
0093 units(1:19) = 'days since 1970-1-1'
3f2ea2a4ed Ed H*0094 CALL MNC_VAR_INIT_DBL(fname, gname2, vname1, myThid)
a7ffe10af7 Ed H*0095 vname2(1:4) = 'temp'
fec5a2f448 Ed H*0096 units(1:19) = 'deg C '
3f2ea2a4ed Ed H*0097 CALL MNC_VAR_INIT_DBL(fname, gname1, vname2, myThid)
907e360dab Ed H*0098
0099 print*, ' Calling MNC_VAR_ADD_ATTR_STR() ...'
fec5a2f448 Ed H*0100 atname(1:9) = 'grid_type'
3f2ea2a4ed Ed H*0101 CALL MNC_VAR_ADD_ATTR_INT(fname,vname1, atname, 1, 1, myThid)
a7ffe10af7 Ed H*0102 atname(1:11) = 'valid_range'
0103 tvar(1) = -23.5
0104 tvar(2) = 176.75
3f2ea2a4ed Ed H*0105 CALL MNC_VAR_ADD_ATTR_DBL(fname,vname2, atname, 2, tvar, myThid)
907e360dab Ed H*0106
376f4203f6 Ed H*0107 print*, ' Calling MNC_VAR_WRITE_DBL() ...'
3f2ea2a4ed Ed H*0108 CALL MNC_VAR_WRITE_DBL(fname, vname1, var, myThid)
376f4203f6 Ed H*0109 print*, ' Calling MNC_VAR_WRITE_DBL() ...'
3f2ea2a4ed Ed H*0110 CALL MNC_VAR_WRITE_DBL(fname, vname2, var, myThid)
a7ffe10af7 Ed H*0111
3f2ea2a4ed Ed H*0112 CALL MNC_DUMP(myThid)
376f4203f6 Ed H*0113
a27dc5c859 Ed H*0114 print*, ' Calling MNC_FILE_CLOSE() ...'
3f2ea2a4ed Ed H*0115 CALL MNC_FILE_CLOSE(fname, myThid)
a27dc5c859 Ed H*0116
3f2ea2a4ed Ed H*0117 CALL MNC_DUMP(myThid)
75987013ac Ed H*0118
0119 print*, '=========================================='
0120
0121 print*, ' Calling MNC_FILE_READALL() ...'
3f2ea2a4ed Ed H*0122 CALL MNC_FILE_READALL(fname, myThid)
75987013ac Ed H*0123
3f2ea2a4ed Ed H*0124 CALL MNC_DUMP(myThid)
75987013ac Ed H*0125
a27dc5c859 Ed H*0126 print*, '=== Ending Program: mnc_test_001 ==='
d2129fb7fc Ed H*0127
0128 END
0129
0130 CEH3 ;;; Local Variables: ***
0131 CEH3 ;;; mode:fortran ***
0132 CEH3 ;;; End: ***