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

Annotation of /MITgcm/pkg/mnc/mnc_init.F

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


Revision 1.22 - (hide annotations) (download)
Fri Mar 10 05:50:23 2006 UTC (18 years, 2 months ago) by edhill
Branch: MAIN
Changes since 1.21: +10 -3 lines
various mnc cleanups and improvements:
 + shrink lookup tables by factor of ~4
 + better error reporting when running out of lookup space
 + able to handle longer path/file names (up to 500 chars)

1 edhill 1.22 C $Header: /u/gcmpack/MITgcm/pkg/mnc/mnc_init.F,v 1.21 2006/02/24 20:39:10 edhill Exp $
2 edhill 1.1 C $Name: $
3    
4     #include "MNC_OPTIONS.h"
5    
6 edhill 1.6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 edhill 1.14 CBOP 0
8 edhill 1.13 C !ROUTINE: MNC_INIT
9 edhill 1.1
10 edhill 1.13 C !INTERFACE:
11 edhill 1.11 SUBROUTINE MNC_INIT( myThid )
12 edhill 1.1
13 edhill 1.13 C !DESCRIPTION:
14 edhill 1.14 C Initialize (zero) the look-up tables. This routine should
15     C \textbf{always} be run before any other MNC subroutines to ensure
16     C that the lookup tables start in a well-defined state.
17 edhill 1.13
18     C !USES:
19 edhill 1.1 #include "mnc_common.h"
20 edhill 1.20 #include "SIZE.h"
21     #include "EEPARAMS.h"
22     #include "EESUPPORT.h"
23     #include "PARAMS.h"
24 edhill 1.1
25 edhill 1.13 C !INPUT PARAMETERS:
26 edhill 1.11 integer myThid
27 edhill 1.14 CEOP
28 edhill 1.1
29 edhill 1.13 C !LOCAL VARIABLES:
30 edhill 1.22 integer i,j, g
31 edhill 1.1 character blank*(MNC_MAX_CHAR)
32 edhill 1.22 character bpath*(MNC_MAX_PATH)
33 edhill 1.1
34 edhill 1.8 C Write blanks or zeros to all the internal names and ID tables
35 edhill 1.10 DO i = 1,MNC_MAX_CHAR
36 edhill 1.17 blank(i:i) = ' '
37 edhill 1.1 ENDDO
38 edhill 1.22 DO i = 1,MNC_MAX_PATH
39     bpath(i:i) = ' '
40     ENDDO
41    
42 edhill 1.2 mnc_blank_name(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
43 edhill 1.5 DO i = 1,MNC_MAX_ID
44     mnc_d_size(i) = 0
45     mnc_d_ids(i) = 0
46 edhill 1.22 C
47     mnc_f_names(i)(1:MNC_MAX_PATH) = bpath(1:MNC_MAX_PATH)
48     C
49 edhill 1.2 mnc_g_names(i)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
50     mnc_v_names(i)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
51     mnc_d_names(i)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
52 edhill 1.3 DO j = 1,MNC_MAX_INFO
53     mnc_f_info(i,j) = 0
54     mnc_fv_ids(i,j) = 0
55     mnc_fd_ind(i,j) = 0
56 edhill 1.4 mnc_f_alld(i,j) = 0
57 edhill 1.3 ENDDO
58     ENDDO
59    
60 edhill 1.15 C Blank the CW tables
61 edhill 1.6 DO g = 1,MNC_MAX_ID
62 edhill 1.7 mnc_cw_gname(g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
63 edhill 1.8 mnc_cw_vname(g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
64     mnc_cw_vgind(g) = 0
65 edhill 1.21 mnc_cw_vfmv(g) = 0
66 edhill 1.6 mnc_cw_ndim(g) = 0
67 edhill 1.12 mnc_cw_fgnm(g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
68     mnc_cw_fgud(g) = 0
69 edhill 1.16 mnc_cw_fgis(g) = 0
70 edhill 1.20 mnc_cw_fgci(g) = 1
71 edhill 1.19 C mnc_cw_cvnm(g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
72 edhill 1.6 DO i = 1,MNC_CW_MAX_I
73     mnc_cw_dn(i,g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
74 edhill 1.8 mnc_cw_vtnm(i,g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
75     mnc_cw_vinm(i,g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
76     mnc_cw_vdnm(i,g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
77     mnc_cw_vtat(i,g)(1:MNC_MAX_CHAR) = blank(1:MNC_MAX_CHAR)
78 edhill 1.6 mnc_cw_dims(i,g) = 0
79     mnc_cw_is(i,g) = 0
80     mnc_cw_ie(i,g) = 0
81 edhill 1.8 mnc_cw_viat(i,g) = 0
82     mnc_cw_vdat(i,g) = 0.0D0
83     ENDDO
84     DO i = 1,3
85     mnc_cw_vnat(i,g) = 0
86 edhill 1.10 ENDDO
87     DO i = 1,2
88     mnc_cw_vbij(i,g) = 0
89 edhill 1.21 mnc_cw_vmvi(i,g) = 0
90     mnc_cw_vmvr(i,g) = 0.0
91     mnc_cw_vmvd(i,g) = 0.0D0
92 edhill 1.19 C mnc_cw_cvse(i,g) = 0
93 edhill 1.6 ENDDO
94     ENDDO
95 edhill 1.20
96     DO i = 1,MNC_MAX_INFO
97     mnc_cw_cit(1,i) = 0
98     mnc_cw_cit(2,i) = 0
99     mnc_cw_cit(3,i) = -1
100     ENDDO
101    
102     C The default for all file types is to add the iter to the name and
103     C grow them in "lock step" together
104     mnc_cw_cit(1,1) = 1
105     mnc_cw_cit(2,1) = nIter0
106    
107     C Here, we do not add the iter to the file name
108     mnc_cw_cit(1,2) = -1
109     mnc_cw_cit(2,2) = -1
110    
111     C For checkpoint files, we want to use the current iter but we do
112     C not (by default, anyway) want to update the current iter for
113     C everything else
114     mnc_cw_cit(1,3) = 3
115     mnc_cw_cit(2,3) = nIter0
116    
117 edhill 1.19 C DO i = 1,MNC_CW_CVDAT
118     C mnc_cw_cvdt(i) = 0.0D0
119     C ENDDO
120 edhill 1.6
121 edhill 1.3 RETURN
122     END
123    
124 edhill 1.6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22