/[MITgcm]/MITgcm_contrib/PRM/eesmf_mod.dir/src/master/eesmf_configfileiomod.dir/foo1.F90
ViewVC logotype

Contents of /MITgcm_contrib/PRM/eesmf_mod.dir/src/master/eesmf_configfileiomod.dir/foo1.F90

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


Revision 1.1.1.1 - (show annotations) (download) (vendor branch)
Tue Apr 5 13:18:46 2005 UTC (20 years, 3 months ago) by cnh
Branch: MAIN, baseline
CVS Tags: checkpoint63m, checkpoint63n, initial, HEAD
Changes since 1.1: +0 -0 lines
Checking in initial PRM setup

1
2 ! ************************************************************************
3 ! ** Overloads of EEsmf_ReadConfig **
4 ! ************************************************************************
5 !BOPI
6 ! !IROUTINE: EEsmf_ReadConfigChar :: Reads a token from .rc file as returning
7 ! :: token as a character string.
8 ! !INTERFACE:
9 SUBROUTINE EEsmf_ReadConfigChar ( cf,
10 & label,
11 & default,
12 & index,
13 & rVal,
14 & rc)
15 ! !RETURN VALUE:
16 CHARACTER*(*), INTENT(OUT) :: rVal
17 ! !ARGUMENTS:
18 TYPE(ESMF_Config) :: cf
19 CHARACTER*(*), INTENT(IN) :: label
20 CHARACTER*(*), INTENT(IN), OPTIONAL :: default
21 INTEGER, INTENT(IN), OPTIONAL :: index
22 INTEGER, INTENT(OUT) :: rc
23 !EOPI
24 ! !LOCAL VARIABLES:
25 INTEGER I, INDEX_TMP
26 INTEGER traceLevel
27
28 traceLevel = 0
29
30 rVal = ' '
31 rc = 0
32
33 IF ( PRESENT(index) ) THEN
34 INDEX_TMP = INDEX
35 ELSE
36 INDEX_TMP = 1
37 ENDIF
38
39 CALL ESMF_ConfigFindLabel( cf, label, rc )
40 IF ( rc .NE. ESMF_SUCCESS ) THEN
41 IF ( traceLevel .GT. 1 ) THEN
42 PRINT *, 'EESMF_Read_config:: ESMF_ConfigFindLabel rc = ',rc
43 ENDIF
44 RETURN
45 ENDIF
46
47 DO I=1,INDEX_TMP
48 IF ( PRESENT(default) ) THEN
49 CALL ESMF_ConfigGetAttribute( cf, rVal, default=default, rc =rc )
50 IF ( rc .NE. ESMF_SUCCESS ) THEN
51 IF ( traceLevel .GT. 1 ) THEN
52 PRINT *, 'EESMF_Read_config:: ESMF_ConfigGetAttribute(1) rc = ',rc
53 ENDIF
54 RETURN
55 ENDIF
56 ELSE
57 CALL ESMF_ConfigGetAttribute( cf, rVal, rc =rc )
58 IF ( rc .NE. ESMF_SUCCESS ) THEN
59 IF ( traceLevel .GT. 1 ) THEN
60 PRINT *, 'EESMF_Read_config:: ESMF_ConfigGetAttribute(1) rc = ',rc
61 ENDIF
62 RETURN
63 ENDIF
64 ENDIF
65 ENDDO
66
67 IF ( traceLevel .GT. 1 ) THEN
68 PRINT *, 'Begin EESMF_Read_config summary'
69 PRINT *, ' label = ', TRIM(label)
70 PRINT *, ' returned value = ', TRIM(rVal)
71 PRINT *, ' return code = ', rc
72 PRINT *, 'End EESMF_Read_config summary'
73 ENDIF
74
75 END SUBROUTINE EEsmf_ReadConfigChar
76 ! ************************************************************************
77 ! ** Overloads of EEsmf_ReadConfig **
78 ! ************************************************************************
79 !BOPI
80 ! !IROUTINE: EEsmf_ReadConfigInt :: Reads a token from .rc file as returning
81 ! :: token as an integer.
82 ! !INTERFACE:
83 SUBROUTINE EEsmf_ReadConfigInt ( cf,
84 & label,
85 & default,
86 & index,
87 & rVal,
88 & rc)
89 ! !RETURN VALUE:
90 INTEGER, INTENT(OUT) :: rVal
91 ! !ARGUMENTS:
92 TYPE(ESMF_Config) :: cf
93 CHARACTER*(*), INTENT(IN) :: label
94 INTEGER, INTENT(IN), OPTIONAL :: default
95 INTEGER, INTENT(IN), OPTIONAL :: index
96 INTEGER, INTENT(OUT) :: rc
97 !EOPI
98 ! !LOCAL VARIABLES:
99 INTEGER I, INDEX_TMP
100 INTEGER traceLevel
101
102 traceLevel = 0
103
104 rVal = 0
105 rc = 0
106
107 IF ( PRESENT(index) ) THEN
108 INDEX_TMP = INDEX
109 ELSE
110 INDEX_TMP = 1
111 ENDIF
112
113 CALL ESMF_ConfigFindLabel( cf, label, rc )
114 IF ( rc .NE. ESMF_SUCCESS ) THEN
115 IF ( traceLevel .GT. 1 ) THEN
116 PRINT *, 'EESMF_Read_config:: ESMF_ConfigFindLabel rc = ',rc
117 ENDIF
118 RETURN
119 ENDIF
120
121 DO I=1,INDEX_TMP
122 IF ( PRESENT(default) ) THEN
123 CALL ESMF_ConfigGetAttribute( cf, rVal, default=default, rc =rc )
124 IF ( rc .NE. ESMF_SUCCESS ) THEN
125 IF ( traceLevel .GT. 1 ) THEN
126 PRINT *, 'EESMF_Read_config:: ESMF_ConfigGetAttribute(1) rc = ',rc
127 ENDIF
128 RETURN
129 ENDIF
130 ELSE
131 CALL ESMF_ConfigGetAttribute( cf, rVal, rc =rc )
132 IF ( rc .NE. ESMF_SUCCESS ) THEN
133 IF ( traceLevel .GT. 1 ) THEN
134 PRINT *, 'EESMF_Read_config:: ESMF_ConfigGetAttribute(1) rc = ',rc
135 ENDIF
136 RETURN
137 ENDIF
138 ENDIF
139 ENDDO
140
141 IF ( traceLevel .GT. 1 ) THEN
142 PRINT *, 'Begin EESMF_Read_config summary'
143 PRINT *, ' label = ', TRIM(label)
144 PRINT *, ' returned value = ', rVal
145 PRINT *, ' return code = ', rc
146 PRINT *, 'End EESMF_Read_config summary'
147 ENDIF
148
149 END SUBROUTINE EEsmf_ReadConfigInt
150 ! ************************************************************************
151 ! ** Overloads of EEsmf_ReadConfig **
152 ! ************************************************************************
153 !BOPI
154 ! !IROUTINE: EEsmf_ReadConfigReal :: Reads a token from .rc file as returning
155 ! :: token as a real.
156 ! !INTERFACE:
157 SUBROUTINE EEsmf_ReadConfigReal ( cf,
158 & label,
159 & default,
160 & index,
161 & rVal,
162 & rc)
163 ! !RETURN VALUE:
164 REAL, INTENT(OUT) :: rVal
165 ! !ARGUMENTS:
166 TYPE(ESMF_Config) :: cf
167 CHARACTER*(*), INTENT(IN) :: label
168 REAL, INTENT(IN), OPTIONAL :: default
169 INTEGER, INTENT(IN), OPTIONAL :: index
170 INTEGER, INTENT(OUT) :: rc
171 !EOPI
172 ! !LOCAL VARIABLES:
173 INTEGER I, INDEX_TMP
174 INTEGER traceLevel
175
176 traceLevel = 0
177
178 rVal = 0.
179 rc = 0
180
181 IF ( PRESENT(index) ) THEN
182 INDEX_TMP = INDEX
183 ELSE
184 INDEX_TMP = 1
185 ENDIF
186
187 CALL ESMF_ConfigFindLabel( cf, label, rc )
188 IF ( rc .NE. ESMF_SUCCESS ) THEN
189 IF ( traceLevel .GT. 1 ) THEN
190 PRINT *, 'EESMF_Read_config:: ESMF_ConfigFindLabel rc = ',rc
191 ENDIF
192 RETURN
193 ENDIF
194
195 DO I=1,INDEX_TMP
196 IF ( PRESENT(default) ) THEN
197 CALL ESMF_ConfigGetAttribute( cf, rVal, default=default, rc =rc )
198 IF ( rc .NE. ESMF_SUCCESS ) THEN
199 IF ( traceLevel .GT. 1 ) THEN
200 PRINT *, 'EESMF_Read_config:: ESMF_ConfigGetAttribute(1) rc = ',rc
201 ENDIF
202 RETURN
203 ENDIF
204 ELSE
205 CALL ESMF_ConfigGetAttribute( cf, rVal, rc =rc )
206 IF ( rc .NE. ESMF_SUCCESS ) THEN
207 IF ( traceLevel .GT. 1 ) THEN
208 PRINT *, 'EESMF_Read_config:: ESMF_ConfigGetAttribute(1) rc = ',rc
209 ENDIF
210 RETURN
211 ENDIF
212 ENDIF
213 ENDDO
214
215 IF ( traceLevel .GT. 1 ) THEN
216 PRINT *, 'Begin EESMF_Read_config summary'
217 PRINT *, ' label = ', TRIM(label)
218 PRINT *, ' returned value = ', rVal
219 PRINT *, ' return code = ', rc
220 PRINT *, 'End EESMF_Read_config summary'
221 ENDIF
222
223 END SUBROUTINE EEsmf_ReadConfigReal

  ViewVC Help
Powered by ViewVC 1.1.22