/[MITgcm]/MITgcm/model/src/load_fields_driver.F
ViewVC logotype

Annotation of /MITgcm/model/src/load_fields_driver.F

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


Revision 1.11 - (hide annotations) (download)
Sun Aug 28 22:26:39 2011 UTC (12 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint63p, checkpoint63q, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63b, checkpoint63c
Changes since 1.10: +2 -4 lines
useEBM : do not prevent to load some periodic forcing (call to EXTERNAL_FIELDS_LOAD)

1 jmc 1.11 C $Header: /u/gcmpack/MITgcm/model/src/load_fields_driver.F,v 1.10 2011/02/21 22:26:50 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "PACKAGES_CONFIG.h"
5     #include "CPP_OPTIONS.h"
6    
7     CBOP
8     C !ROUTINE: LOAD_FIELDS_DRIVER
9     C !INTERFACE:
10     SUBROUTINE LOAD_FIELDS_DRIVER( myTime, myIter, myThid )
11    
12     C !DESCRIPTION: \bv
13     C *==================================================================
14     C | SUBROUTINE LOAD_FIELDS_DRIVER
15     C | o Load external forcing fields from file
16     C *==================================================================
17     C *==================================================================
18     C \ev
19    
20     C !CALLING SEQUENCE:
21     C LOAD_FIELDS_DRIVER
22     C |
23     C |-- BULKF_FIELDS_LOAD
24     C |
25     C |-- EXF_GETFORCING
26     C |
27 jmc 1.10 C |-- CHEAPAML_FIELDS_LOAD
28     C |
29 jmc 1.1 C |-- EXTERNAL_FIELDS_LOAD
30     C |
31     C |-- OFFLINE_FIELDS_LOAD
32     C |
33     C |-- GCHEM_FIELDS_LOAD
34     C |
35     C |-- RBCS_FIELDS_LOAD
36     C |
37     C |-- AIM_FIELDS_LOAD
38    
39     C !USES:
40     IMPLICIT NONE
41     C == Global variables ==
42     #include "SIZE.h"
43     #include "EEPARAMS.h"
44     #include "PARAMS.h"
45    
46     #ifdef ALLOW_AUTODIFF_TAMC
47     # include "tamc.h"
48     # include "ctrl.h"
49     # include "ctrl_dummy.h"
50     # include "cost.h"
51     # include "FFIELDS.h"
52     # include "EOS.h"
53     # ifdef ALLOW_EXF
54 jmc 1.2 # include "EXF_FIELDS.h"
55 jmc 1.1 # ifdef ALLOW_BULKFORMULAE
56 jmc 1.2 # include "EXF_CONSTANTS.h"
57 jmc 1.1 # endif
58     # endif
59     #endif /* ALLOW_AUTODIFF_TAMC */
60    
61 jmc 1.10 C !INPUT/OUTPUT PARAMETERS:
62 jmc 1.1 C myTime :: time counter for this thread
63     C myIter :: iteration counter for this thread
64     C myThid :: thread number for this instance of the routine.
65     _RL myTime
66     INTEGER myIter
67     INTEGER myThid
68    
69 jmc 1.10 C !LOCAL VARIABLES:
70 jmc 1.1 CEOP
71    
72     #ifdef ALLOW_DEBUG
73 jmc 1.9 IF (debugMode) CALL DEBUG_ENTER( 'LOAD_FIELDS_DRIVER', myThid )
74 jmc 1.1 #endif
75    
76     #ifdef ALLOW_BULK_FORCE
77     IF ( useBulkForce ) THEN
78     C-- Bulk-Formulae pkg: load all forcing fields at current time
79     #ifdef ALLOW_DEBUG
80 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('BULKF_FIELDS_LOAD',myThid)
81 jmc 1.1 #endif
82     CALL TIMER_START('BULKF_FIELDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
83     CALL BULKF_FIELDS_LOAD( myTime, myIter, myThid )
84     CALL TIMER_STOP ('BULKF_FIELDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
85     ENDIF
86     #endif /* ALLOW_BULK_FORCE */
87    
88     C-- Call external forcing package
89     #ifdef ALLOW_EXF
90 heimbach 1.4 IF (useEXF) THEN
91 jmc 1.1 # ifdef ALLOW_DEBUG
92 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('EXF_GETFORCING',myThid)
93 jmc 1.1 # endif
94     CALL TIMER_START('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid)
95     CALL EXF_GETFORCING( myTime, myIter, myThid )
96     CALL TIMER_STOP ('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid)
97 heimbach 1.4 ENDIF
98 jmc 1.5 #endif /* ALLOW_EXF */
99    
100 jmc 1.7 C-- Call external CheapAML forcing package
101     #ifdef ALLOW_CHEAPAML
102     IF ( useCheapAML ) THEN
103     #ifdef ALLOW_DEBUG
104 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('CHEAPAML_FIELDS_LOAD',myThid)
105 jmc 1.7 #endif
106 jmc 1.9 CALL CHEAPAML_FIELDS_LOAD( myTime, myIter, myThid )
107     ENDIF
108 jmc 1.7 #endif /*ALLOW_CHEAPAML */
109    
110 jmc 1.11 IF ( .NOT.(useEXF.OR.useCheapAML) ) THEN
111 jmc 1.5 #ifdef ALLOW_DEBUG
112 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('EXTERNAL_FIELDS_LOAD',myThid)
113 jmc 1.5 #endif
114 jmc 1.1 CALL TIMER_START('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
115     CALL EXTERNAL_FIELDS_LOAD( myTime, myIter, myThid )
116     CALL TIMER_STOP ('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
117 jmc 1.5 #ifdef NONLIN_FRSURF
118 heimbach 1.8 CADJ STORE SST = comlev1, key = ikey_dynamics, kind = isbyte
119     CADJ STORE SSS = comlev1, key = ikey_dynamics, kind = isbyte
120 jmc 1.5 # ifdef SHORTWAVE_HEATING
121 heimbach 1.8 CADJ STORE Qsw = comlev1, key = ikey_dynamics, kind = isbyte
122 jmc 1.1 # endif
123 jmc 1.5 #endif
124 jmc 1.1 ENDIF
125    
126     #ifdef ALLOW_OFFLINE
127     IF ( useOffLine ) THEN
128     #ifdef ALLOW_DEBUG
129 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('OFFLINE_FIELDS_LOAD',myThid)
130 jmc 1.1 #endif /* ALLOW_DEBUG */
131     CALL TIMER_START('OFFLINE_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
132     CALL OFFLINE_FIELDS_LOAD( myTime, myIter, myThid )
133     CALL TIMER_STOP ('OFFLINE_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
134     ENDIF
135     #endif /* ALLOW_OFFLINE */
136    
137     #ifdef ALLOW_GCHEM
138     IF ( useGCHEM ) THEN
139     #ifdef ALLOW_DEBUG
140 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('GCHEM_FIELDS_LOAD',myThid)
141 jmc 1.1 #endif /* ALLOW_DEBUG */
142     CALL GCHEM_FIELDS_LOAD( myTime, myIter, myThid )
143     ENDIF
144     #endif /* ALLOW_GCHEM */
145    
146     #ifdef ALLOW_RBCS
147     IF ( useRBCS ) THEN
148     CALL RBCS_FIELDS_LOAD( myTime, myIter, myThid )
149     ENDIF
150     #endif
151    
152     #ifdef ALLOW_AIM
153     IF ( useAIM ) THEN
154     C- Update AIM bottom boundary data
155     CALL AIM_FIELDS_LOAD( myTime, myIter, myThid )
156     ENDIF
157     #endif
158    
159     #ifdef ALLOW_DEBUG
160 jmc 1.9 IF (debugMode) CALL DEBUG_LEAVE( 'LOAD_FIELDS_DRIVER', myThid )
161 jmc 1.1 #endif
162    
163     RETURN
164     END

  ViewVC Help
Powered by ViewVC 1.1.22