/[MITgcm]/MITgcm/pkg/exf/exf_init_fixed.F
ViewVC logotype

Contents of /MITgcm/pkg/exf/exf_init_fixed.F

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


Revision 1.25 - (show annotations) (download)
Tue Aug 28 19:17:46 2012 UTC (12 years, 1 month ago) by gforget
Branch: MAIN
CVS Tags: checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63s, checkpoint64
Changes since 1.24: +11 -3 lines
- pkg/exf : added run time switch useAtmWind to replace ALLOW_ATM_WIND
  cpp switch. ALLOW_ATM_WIND now just sets the useAtmWind default (see
  exf_readparms.F) and force defines ALLOW_BULKFORMULAE (EXF_OPTIONS.h).
- pkg/exf, autodiff, ctrl, ecco and seaice : remove ALLOW_ATM_WIND
  brackets, or replace them with useAtmWind ones.
- pkg/ctrl, ecco : allow to compile both ALLOW_U/VSTRESS_CONTROL and
  ALLOW_U/VWIND_CONTROL. Depending on useAtmWind, one is inactive,
  and the other is active (see exf_getffields.F/exf_getsurfacefluxes.F).

1 C $Header: /u/gcmpack/MITgcm/pkg/exf/exf_init_fixed.F,v 1.24 2012/04/19 16:06:43 heimbach Exp $
2 C $Name: $
3
4 #include "EXF_OPTIONS.h"
5 #ifdef ALLOW_ICEFRONT
6 # include "ICEFRONT_OPTIONS.h"
7 #endif
8
9 CBOP
10 C !ROUTINE: EXF_INIT_FIXED
11 C !INTERFACE:
12 SUBROUTINE EXF_INIT_FIXED( myThid )
13
14 C !DESCRIPTION: \bv
15 C *==========================================================*
16 C | SUBROUTINE EXF_INIT_FIXED
17 C | o Routine to initialize EXF variables
18 C | that are kept fixed during the run.
19 C *==========================================================*
20 C \ev
21 C !USES:
22 IMPLICIT NONE
23
24 C === Global variables ===
25 #include "EEPARAMS.h"
26 #include "SIZE.h"
27 #include "PARAMS.h"
28 #include "EXF_PARAM.h"
29 #include "EXF_CONSTANTS.h"
30 #ifdef ALLOW_ICEFRONT
31 # include "ICEFRONT.h"
32 #endif
33
34 C !INPUT/OUTPUT PARAMETERS:
35 C === Routine arguments ===
36 C myThid :: my Thread Id number
37 INTEGER myThid
38 CEOP
39
40 C !LOCAL VARIABLES:
41 C === Local variables ===
42 #ifdef USE_EXF_INTERPOLATION
43 INTEGER j
44 #endif
45
46 #ifdef ALLOW_DEBUG
47 IF (debugMode) CALL DEBUG_ENTER('EXF_INIT_FIXED',myThid)
48 #endif
49
50 _BEGIN_MASTER( myThid )
51
52 C-- Set mask for each input field
53 C ' ' = no masking; 'c' = centered mask; 'w' = western mask; 's' = southern
54 hfluxmask = 'c'
55 sfluxmask = 'c'
56 atempmask = 'c'
57 aqhmask = 'c'
58 evapmask = 'c'
59 precipmask = 'c'
60 snowprecipmask='c'
61 runoffmask = 'c'
62 IF ( stressIsOnCgrid ) THEN
63 ustressmask = 'w'
64 vstressmask = 's'
65 ELSE
66 ustressmask = 'c'
67 vstressmask = 'c'
68 ENDIF
69 uwindmask = 'c'
70 vwindmask = 'c'
71 wspeedmask = 'c'
72 swfluxmask = 'c'
73 lwfluxmask = 'c'
74 swdownmask = 'c'
75 lwdownmask = 'c'
76 apressuremask= 'c'
77 areamaskmask = 'c'
78 climsstmask = 'c'
79 climsssmask = 'c'
80 climustrmask = 'w'
81 climvstrmask = 's'
82 sgrunoffmask = 'c'
83
84 IF ( useSEAICE ) THEN
85 C Avoid masking of vector fields with pkg/seaice (for B/C-grid interp.)
86 C but keep it for fields that might involve calculation using SST on land
87 hfluxmask = ' '
88 sfluxmask = ' '
89 c atempmask = ' '
90 c aqhmask = ' '
91 c evapmask = ' '
92 c precipmask = ' '
93 c snowprecipmask=' '
94 c runoffmask = ' '
95 ustressmask = ' '
96 vstressmask = ' '
97 uwindmask = ' '
98 vwindmask = ' '
99 wspeedmask = ' '
100 swfluxmask = ' '
101 swdownmask = ' '
102 c lwfluxmask = ' '
103 c lwdownmask = ' '
104 apressuremask= ' '
105 c areamaskmask = ' '
106 c climsstmask = ' '
107 c climsssmask = ' '
108 climustrmask = ' '
109 climvstrmask = ' '
110 c sgrunoffmask = ' '
111 ENDIF
112
113 C-- Complete the start date specifications for the forcing
114 C fields to get a complete calendar date array.
115 C FLDstartdate, for FLD = { uwind, vwind, wspeed, etc. },
116 C returns time in seconds of first FLD record from the
117 C beginning of the model integration or, if useYearlyFields,
118 C from the beginning of the year.
119
120 IF ( useAtmWind ) THEN
121 IF ( uwindfile .NE. ' ' .AND. uwindperiod .GT. 0. ) THEN
122 # ifdef ALLOW_DEBUG
123 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START uwind',myThid)
124 # endif
125 CALL EXF_GETFIELD_START( useExfYearlyFields,
126 I uwindstartdate1, uwindstartdate2,
127 O uwindstartdate,
128 I myThid )
129 ENDIF
130 IF ( vwindfile .NE. ' ' .AND. vwindperiod .GT. 0. ) THEN
131 # ifdef ALLOW_DEBUG
132 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START vwind',myThid)
133 # endif
134 CALL EXF_GETFIELD_START( useExfYearlyFields,
135 I vwindstartdate1, vwindstartdate2,
136 O vwindstartdate,
137 I myThid )
138 ENDIF
139 ENDIF
140
141 IF ( wspeedfile .NE. ' ' .AND. wspeedperiod .GT. 0. ) THEN
142 # ifdef ALLOW_DEBUG
143 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START wspeed',myThid)
144 # endif
145 CALL EXF_GETFIELD_START( useExfYearlyFields,
146 I wspeedstartdate1, wspeedstartdate2,
147 O wspeedstartdate,
148 I myThid )
149 ENDIF
150
151 IF ( .NOT.useAtmWind ) THEN
152 IF ( ustressfile .NE. ' ' .AND. ustressperiod .GT. 0. ) THEN
153 # ifdef ALLOW_DEBUG
154 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START ustress',myThid)
155 # endif
156 CALL EXF_GETFIELD_START( useExfYearlyFields,
157 I ustressstartdate1, ustressstartdate2,
158 O ustressstartdate,
159 I myThid )
160 ENDIF
161 IF ( vstressfile .NE. ' ' .AND. vstressperiod .GT. 0. ) THEN
162 # ifdef ALLOW_DEBUG
163 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START vstress',myThid)
164 # endif
165 CALL EXF_GETFIELD_START( useExfYearlyFields,
166 I vstressstartdate1, vstressstartdate2,
167 O vstressstartdate,
168 I myThid )
169 ENDIF
170 ENDIF
171
172 #ifdef ALLOW_ATM_TEMP
173 IF ( atempfile .NE. ' ' .AND. atempperiod .GT. 0. ) THEN
174 # ifdef ALLOW_DEBUG
175 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START atemp',myThid)
176 # endif
177 CALL EXF_GETFIELD_START( useExfYearlyFields,
178 I atempstartdate1, atempstartdate2,
179 O atempstartdate,
180 I myThid )
181 ENDIF
182 IF ( aqhfile .NE. ' ' .AND. aqhperiod .GT. 0. ) THEN
183 # ifdef ALLOW_DEBUG
184 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START aqh',myThid)
185 # endif
186 CALL EXF_GETFIELD_START( useExfYearlyFields,
187 I aqhstartdate1, aqhstartdate2,
188 O aqhstartdate,
189 I myThid )
190 ENDIF
191 IF ( lwfluxfile .NE. ' ' .AND. lwfluxperiod .GT. 0. ) THEN
192 # ifdef ALLOW_DEBUG
193 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START lwflux',myThid)
194 # endif
195 CALL EXF_GETFIELD_START( useExfYearlyFields,
196 I lwfluxstartdate1, lwfluxstartdate2,
197 O lwfluxstartdate,
198 I myThid )
199 ENDIF
200 IF ( precipfile .NE. ' ' .AND. precipperiod .GT. 0. ) THEN
201 # ifdef ALLOW_DEBUG
202 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START precip',myThid)
203 # endif
204 CALL EXF_GETFIELD_START( useExfYearlyFields,
205 I precipstartdate1, precipstartdate2,
206 O precipstartdate,
207 I myThid )
208 ENDIF
209 IF ( snowprecipfile .NE. ' ' .AND. snowprecipperiod .GT. 0. ) THEN
210 # ifdef ALLOW_DEBUG
211 IF (debugMode)
212 & CALL DEBUG_CALL('GETFIELD_START snowprecip',myThid)
213 # endif
214 CALL EXF_GETFIELD_START( useExfYearlyFields,
215 I snowprecipstartdate1, snowprecipstartdate2,
216 O snowprecipstartdate,
217 I myThid )
218 ENDIF
219 #else /* ifndef ALLOW_ATM_TEMP */
220 IF ( hfluxfile .NE. ' ' .AND. hfluxperiod .GT. 0. ) THEN
221 # ifdef ALLOW_DEBUG
222 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START hflux',myThid)
223 # endif
224 CALL EXF_GETFIELD_START( useExfYearlyFields,
225 I hfluxstartdate1, hfluxstartdate2,
226 O hfluxstartdate,
227 I myThid )
228 ENDIF
229 IF ( sfluxfile .NE. ' ' .AND. sfluxperiod .GT. 0. ) THEN
230 # ifdef ALLOW_DEBUG
231 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START sflux',myThid)
232 # endif
233 CALL EXF_GETFIELD_START( useExfYearlyFields,
234 I sfluxstartdate1, sfluxstartdate2,
235 O sfluxstartdate,
236 I myThid )
237 ENDIF
238 #endif /* ALLOW_ATM_TEMP */
239
240 #if defined(ALLOW_ATM_TEMP) || defined(SHORTWAVE_HEATING)
241 IF ( swfluxfile .NE. ' ' .AND. swfluxperiod .GT. 0. ) THEN
242 # ifdef ALLOW_DEBUG
243 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START swflux',myThid)
244 # endif
245 CALL EXF_GETFIELD_START( useExfYearlyFields,
246 I swfluxstartdate1, swfluxstartdate2,
247 O swfluxstartdate,
248 I myThid )
249 ENDIF
250 #endif /* defined(ALLOW_ATM_TEMP) || defined(SHORTWAVE_HEATING) */
251
252 #ifdef EXF_READ_EVAP
253 IF ( evapfile .NE. ' ' .AND. evapperiod .GT. 0. ) THEN
254 # ifdef ALLOW_DEBUG
255 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START evap',myThid)
256 # endif
257 CALL EXF_GETFIELD_START( useExfYearlyFields,
258 I evapstartdate1, evapstartdate2,
259 O evapstartdate,
260 I myThid )
261 ENDIF
262 #endif /* EXF_READ_EVAP */
263
264 #ifdef ALLOW_RUNOFF
265 IF ( runofffile .NE. ' ' .AND. runoffperiod .GT. 0. ) THEN
266 # ifdef ALLOW_DEBUG
267 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START runoff',myThid)
268 # endif
269 CALL EXF_GETFIELD_START( useExfYearlyFields,
270 I runoffstartdate1, runoffstartdate2,
271 O runoffstartdate,
272 I myThid )
273 ENDIF
274 #endif /* ALLOW_RUNOFF */
275
276 #ifdef ALLOW_ICEFRONT
277 IF ( sgrunofffile .NE. ' ' .AND. sgrunoffperiod .GT. 0. ) THEN
278 # ifdef ALLOW_DEBUG
279 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START sgrunoff',myThid)
280 # endif
281 CALL EXF_GETFIELD_START( useExfYearlyFields,
282 I sgrunoffstartdate1, sgrunoffstartdate2,
283 O sgrunoffstartdate,
284 I myThid )
285 ENDIF
286 #endif /* ALLOW_ICEFRONT */
287
288 #ifdef ALLOW_DOWNWARD_RADIATION
289 IF ( swdownfile .NE. ' ' .AND. swdownperiod .GT. 0. ) THEN
290 # ifdef ALLOW_DEBUG
291 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START swdown',myThid)
292 # endif
293 CALL EXF_GETFIELD_START( useExfYearlyFields,
294 I swdownstartdate1, swdownstartdate2,
295 O swdownstartdate,
296 I myThid )
297 ENDIF
298 IF ( lwdownfile .NE. ' ' .AND. lwdownperiod .GT. 0. ) THEN
299 # ifdef ALLOW_DEBUG
300 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START lwdown',myThid)
301 # endif
302 CALL EXF_GETFIELD_START( useExfYearlyFields,
303 I lwdownstartdate1, lwdownstartdate2,
304 O lwdownstartdate,
305 I myThid )
306 ENDIF
307 #endif /* ALLOW_DOWNWARD_RADIATION */
308
309 #ifdef ATMOSPHERIC_LOADING
310 IF ( apressurefile .NE. ' ' .AND. apressureperiod .GT. 0. ) THEN
311 # ifdef ALLOW_DEBUG
312 IF (debugMode)
313 & CALL DEBUG_CALL('GETFIELD_START apressure',myThid)
314 # endif
315 CALL EXF_GETFIELD_START( useExfYearlyFields,
316 I apressurestartdate1, apressurestartdate2,
317 O apressurestartdate,
318 I myThid )
319 ENDIF
320 #endif /* ATMOSPHERIC_LOADING */
321
322 #ifdef EXF_ALLOW_SEAICE_RELAX
323 IF ( areamaskfile .NE. ' ' .AND. areamaskperiod .GT. 0. ) THEN
324 # ifdef ALLOW_DEBUG
325 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START areamask',myThid)
326 # endif
327 CALL EXF_GETFIELD_START( useExfYearlyFields,
328 I areamaskstartdate1, areamaskstartdate2,
329 O areamaskstartdate,
330 I myThid )
331 ENDIF
332 #endif /* EXF_ALLOW_SEAICE_RELAX */
333
334 #ifdef ALLOW_OBCS
335 IF ( obcsNperiod .GT. 0. ) THEN
336 # ifdef ALLOW_DEBUG
337 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START obcsN',myThid)
338 # endif
339 CALL EXF_GETFIELD_START( useOBCSYearlyFields,
340 I obcsNstartdate1, obcsNstartdate2,
341 O obcsNstartdate,
342 I myThid )
343 ENDIF
344 IF ( obcsSperiod .GT. 0. ) THEN
345 # ifdef ALLOW_DEBUG
346 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START obcsS',myThid)
347 # endif
348 CALL EXF_GETFIELD_START( useOBCSYearlyFields,
349 I obcsSstartdate1, obcsSstartdate2,
350 O obcsSstartdate,
351 I myThid )
352 ENDIF
353 IF ( obcsEperiod .GT. 0. ) THEN
354 # ifdef ALLOW_DEBUG
355 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START obcsE',myThid)
356 # endif
357 CALL EXF_GETFIELD_START( useOBCSYearlyFields,
358 I obcsEstartdate1, obcsEstartdate2,
359 O obcsEstartdate,
360 I myThid )
361 ENDIF
362 IF ( obcsWperiod .GT. 0. ) THEN
363 # ifdef ALLOW_DEBUG
364 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START obcsW',myThid)
365 # endif
366 CALL EXF_GETFIELD_START( useOBCSYearlyFields,
367 I obcsWstartdate1, obcsWstartdate2,
368 O obcsWstartdate,
369 I myThid )
370 ENDIF
371 # ifdef ALLOW_SEAICE
372 IF ( siobNperiod .GT. 0. ) THEN
373 # ifdef ALLOW_DEBUG
374 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START siobN',myThid)
375 # endif
376 CALL EXF_GETFIELD_START( useOBCSYearlyFields,
377 I siobNstartdate1, siobNstartdate2,
378 O siobNstartdate,
379 I myThid )
380 ENDIF
381 IF ( siobSperiod .GT. 0. ) THEN
382 # ifdef ALLOW_DEBUG
383 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START siobS',myThid)
384 # endif
385 CALL EXF_GETFIELD_START( useOBCSYearlyFields,
386 I siobSstartdate1, siobSstartdate2,
387 O siobSstartdate,
388 I myThid )
389 ENDIF
390 IF ( siobEperiod .GT. 0. ) THEN
391 # ifdef ALLOW_DEBUG
392 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START siobE',myThid)
393 # endif
394 CALL EXF_GETFIELD_START( useOBCSYearlyFields,
395 I siobEstartdate1, siobEstartdate2,
396 O siobEstartdate,
397 I myThid )
398 ENDIF
399 IF ( siobWperiod .GT. 0. ) THEN
400 # ifdef ALLOW_DEBUG
401 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START siobW',myThid)
402 # endif
403 CALL EXF_GETFIELD_START( useOBCSYearlyFields,
404 I siobWstartdate1, siobWstartdate2,
405 O siobWstartdate,
406 I myThid )
407 ENDIF
408 # endif /* ALLOW_SEAICE */
409 #endif /* ALLOW_OBCS */
410
411 #ifdef ALLOW_CLIMSST_RELAXATION
412 IF ( climsstfile .NE. ' ' .AND. climsstperiod .GT. 0. ) THEN
413 # ifdef ALLOW_DEBUG
414 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START climsst',myThid)
415 # endif
416 CALL EXF_GETFIELD_START( useExfYearlyFields,
417 I climsststartdate1, climsststartdate2,
418 O climsststartdate,
419 I myThid )
420 ENDIF
421 #endif /* ALLOW_CLIMSST_RELAXATION */
422
423 #ifdef ALLOW_CLIMSSS_RELAXATION
424 IF ( climsssfile .NE. ' ' .AND. climsssperiod .GT. 0. ) THEN
425 # ifdef ALLOW_DEBUG
426 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START climsss',myThid)
427 # endif
428 CALL EXF_GETFIELD_START( useExfYearlyFields,
429 I climsssstartdate1, climsssstartdate2,
430 O climsssstartdate,
431 I myThid )
432 ENDIF
433 #endif /* ALLOW_CLIMSSS_RELAXATION */
434
435 #ifdef ALLOW_CLIMSTRESS_RELAXATION
436 IF ( climustrfile .NE. ' ' .AND. climustrperiod .GT. 0. ) THEN
437 # ifdef ALLOW_DEBUG
438 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START climustr',myThid)
439 # endif
440 CALL EXF_GETFIELD_START( useExfYearlyFields,
441 I climustrstartdate1, climustrstartdate2,
442 O climustrstartdate,
443 I myThid )
444 ENDIF
445
446 IF ( climvstrfile .NE. ' ' .AND. climvstrperiod .GT. 0. ) THEN
447 # ifdef ALLOW_DEBUG
448 IF (debugMode) CALL DEBUG_CALL('GETFIELD_START climvstr',myThid)
449 # endif
450 CALL EXF_GETFIELD_START( useExfYearlyFields,
451 I climvstrstartdate1, climvstrstartdate2,
452 O climvstrstartdate,
453 I myThid )
454 ENDIF
455 #endif /* ALLOW_CLIMSTRESS_RELAXATION */
456
457 #ifdef USE_EXF_INTERPOLATION
458 C-- For vector fields, set flag to interpolate the 2 components together
459 C- wind-stress:
460 IF ( .NOT.useAtmWind ) THEN
461 uvInterp_stress = ustressfile.NE.' ' .AND. vstressfile.NE.' '
462 & .AND. ustress_interpMethod.GE.1 .AND. vstress_interpMethod.GE.1
463 uvInterp_stress = uvInterp_stress
464 & .AND. ustressstartdate .EQ. vstressstartdate
465 & .AND. ustressperiod .EQ. vstressperiod
466 uvInterp_stress = uvInterp_stress
467 & .AND. ustress_nlon .EQ. vstress_nlon
468 & .AND. ustress_nlat .EQ. vstress_nlat
469 & .AND. ustress_lon0 .EQ. vstress_lon0
470 & .AND. ustress_lat0 .EQ. vstress_lat0
471 & .AND. ustress_lon_inc .EQ. vstress_lon_inc
472 IF ( uvInterp_stress ) THEN
473 DO j=1,MIN(ustress_nlat-1,MAX_LAT_INC)
474 uvInterp_stress = uvInterp_stress
475 & .AND. ustress_lat_inc(j) .EQ. vstress_lat_inc(j)
476 ENDDO
477 ENDIF
478 ENDIF
479 C- wind:
480 IF ( useAtmWind ) THEN
481 uvInterp_wind = uwindfile.NE.' ' .AND. vwindfile.NE.' '
482 & .AND. uwind_interpMethod.GE.1 .AND. vwind_interpMethod.GE.1
483 uvInterp_wind = uvInterp_wind
484 & .AND. uwindstartdate .EQ. vwindstartdate
485 & .AND. uwindperiod .EQ. vwindperiod
486 uvInterp_wind = uvInterp_wind
487 & .AND. uwind_nlon .EQ. vwind_nlon
488 & .AND. uwind_nlat .EQ. vwind_nlat
489 & .AND. uwind_lon0 .EQ. vwind_lon0
490 & .AND. uwind_lat0 .EQ. vwind_lat0
491 & .AND. uwind_lon_inc .EQ. vwind_lon_inc
492 IF ( uvInterp_wind ) THEN
493 DO j=1,MIN(uwind_nlat-1,MAX_LAT_INC)
494 uvInterp_wind = uvInterp_wind
495 & .AND. uwind_lat_inc(j) .EQ. vwind_lat_inc(j)
496 ENDDO
497 ENDIF
498 ENDIF
499 C- clim wind-stress:
500 uvInterp_climstr = climustrfile.NE.' ' .AND. climvstrfile.NE.' '
501 & .AND.climustr_interpMethod.GE.1 .AND.climvstr_interpMethod.GE.1
502 uvInterp_climstr = uvInterp_climstr
503 & .AND. climustrstartdate .EQ. climvstrstartdate
504 & .AND. climustrperiod .EQ. climvstrperiod
505 uvInterp_climstr = uvInterp_climstr
506 & .AND. climustr_nlon .EQ. climvstr_nlon
507 & .AND. climustr_nlat .EQ. climvstr_nlat
508 & .AND. climustr_lon0 .EQ. climvstr_lon0
509 & .AND. climustr_lat0 .EQ. climvstr_lat0
510 & .AND. climustr_lon_inc .EQ. climvstr_lon_inc
511 IF ( uvInterp_climstr ) THEN
512 DO j=1,MIN(climustr_nlat-1,MAX_LAT_INC)
513 uvInterp_climstr = uvInterp_climstr
514 & .AND. climustr_lat_inc(j) .EQ. climvstr_lat_inc(j)
515 ENDDO
516 ENDIF
517 # ifdef EXF_USE_OLD_INTERP_POLE
518 uvInterp_stress = .FALSE.
519 uvInterp_wind = .FALSE.
520 uvInterp_climstr= .FALSE.
521 # endif
522 #endif /* USE_EXF_INTERPOLATION */
523
524 _END_MASTER( myThid )
525 _BARRIER
526
527 #ifdef ALLOW_ZENITHANGLE
528 IF ( useExfZenAlbedo .OR. useExfZenIncoming ) THEN
529 # ifdef ALLOW_DEBUG
530 IF (debugMode) CALL DEBUG_CALL('EXF_ZENITHANGLE_TABLE',myThid)
531 # endif
532 CALL EXF_ZENITHANGLE_TABLE(myThid)
533 ENDIF
534 #endif /* ALLOW_ZENITHANGLE */
535
536 C-- Summarize the External forcing setup.
537 # ifdef ALLOW_DEBUG
538 IF (debugMode) CALL DEBUG_CALL('EXF_SUMMARY',myThid)
539 # endif
540 CALL EXF_SUMMARY( myThid )
541
542 #ifdef ALLOW_DIAGNOSTICS
543 IF ( useDiagnostics ) THEN
544 # ifdef ALLOW_DEBUG
545 IF (debugMode) CALL DEBUG_CALL('EXF_DIAGNOSTICS_INIT',myThid)
546 # endif
547 CALL EXF_DIAGNOSTICS_INIT( myThid )
548 ENDIF
549 #endif
550
551 #ifdef ALLOW_DEBUG
552 IF (debugMode) CALL DEBUG_LEAVE('EXF_INIT_FIXED',myThid)
553 #endif
554
555 RETURN
556 END

  ViewVC Help
Powered by ViewVC 1.1.22