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

Annotation 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 - (hide 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 cnh 1.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