/[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.6 - (hide annotations) (download)
Mon Nov 5 18:52:21 2007 UTC (16 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59k, checkpoint59j, checkpoint61b, checkpoint61a
Changes since 1.5: +2 -5 lines
split PTRACERS.h in 2 header files: PTRACERS_FIELDS.h & PTRACERS_PARAMS.h

1 jmc 1.6 C $Header: /u/gcmpack/MITgcm/model/src/load_fields_driver.F,v 1.5 2007/04/27 15:53:43 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "PACKAGES_CONFIG.h"
5     #include "CPP_OPTIONS.h"
6    
7     c#ifdef ALLOW_GMREDI
8     c# include "GMREDI_OPTIONS.h"
9     c#endif
10     c#ifdef ALLOW_OBCS
11     c# include "OBCS_OPTIONS.h"
12     c#endif
13    
14     CBOP
15     C !ROUTINE: LOAD_FIELDS_DRIVER
16     C !INTERFACE:
17     SUBROUTINE LOAD_FIELDS_DRIVER( myTime, myIter, myThid )
18    
19     C !DESCRIPTION: \bv
20     C *==================================================================
21     C | SUBROUTINE LOAD_FIELDS_DRIVER
22     C | o Load external forcing fields from file
23     C *==================================================================
24     C *==================================================================
25     C \ev
26    
27     C !CALLING SEQUENCE:
28     C LOAD_FIELDS_DRIVER
29     C |
30     C |-- BULKF_FIELDS_LOAD
31     C |
32     C |-- EXF_GETFORCING
33     C |
34     C |-- EXTERNAL_FIELDS_LOAD
35     C |
36     C |-- OFFLINE_FIELDS_LOAD
37     C |
38     C |-- GCHEM_FIELDS_LOAD
39     C |
40     C |-- RBCS_FIELDS_LOAD
41     C |
42     C |-- AIM_FIELDS_LOAD
43    
44    
45     C !USES:
46     IMPLICIT NONE
47     C == Global variables ==
48     #include "SIZE.h"
49     #include "EEPARAMS.h"
50     #include "PARAMS.h"
51     c#include "DYNVARS.h"
52    
53     c#ifdef ALLOW_SHAP_FILT
54     c# include "SHAP_FILT.h"
55     c#endif
56     c#ifdef ALLOW_ZONAL_FILT
57     c# include "ZONAL_FILT.h"
58     c#endif
59     c#ifdef COMPONENT_MODULE
60     c# include "CPL_PARAMS.h"
61     c#endif
62    
63     #ifdef ALLOW_AUTODIFF_TAMC
64    
65     # include "tamc.h"
66     # include "ctrl.h"
67     # include "ctrl_dummy.h"
68     # include "cost.h"
69     # include "FFIELDS.h"
70     # include "EOS.h"
71     c# if (defined NONLIN_FRSURF) || (defined ALLOW_DEPTH_CONTROL)
72     c# include "GRID.h"
73     c# endif
74     # ifdef ALLOW_EXF
75 jmc 1.2 # include "EXF_FIELDS.h"
76 jmc 1.1 # ifdef ALLOW_BULKFORMULAE
77 jmc 1.2 # include "EXF_CONSTANTS.h"
78 jmc 1.1 # endif
79     # endif
80     c# ifdef ALLOW_OBCS
81     c# include "OBCS.h"
82     c# ifdef ALLOW_PTRACERS
83 jmc 1.6 c# include "PTRACERS_SIZE.h"
84 jmc 1.1 c# include "OBCS_PTRACERS.h"
85     c# endif
86     c# endif
87     c# ifdef ALLOW_CD_CODE
88     c# include "CD_CODE_VARS.h"
89     c# endif
90     c# ifdef ALLOW_THSICE
91     c# include "THSICE_VARS.h"
92     c# endif
93     c# ifdef ALLOW_EBM
94     c# include "EBM.h"
95     c# endif
96     c# ifdef EXACT_CONSERV
97     c# include "SURFACE.h"
98     c# endif
99     c# ifdef ALLOW_KPP
100     c# include "KPP.h"
101     c# endif
102     c# ifdef ALLOW_GMREDI
103     c# include "GMREDI.h"
104     c# endif
105     #endif /* ALLOW_AUTODIFF_TAMC */
106    
107     C !LOCAL VARIABLES:
108     C == Routine arguments ==
109     C myTime :: time counter for this thread
110     C myIter :: iteration counter for this thread
111     C myThid :: thread number for this instance of the routine.
112     _RL myTime
113     INTEGER myIter
114     INTEGER myThid
115    
116     C == Local variables ==
117     CEOP
118    
119     #ifdef ALLOW_DEBUG
120 jmc 1.5 IF ( debugLevel .GE. debLevB )
121 jmc 1.1 & CALL DEBUG_ENTER( 'LOAD_FIELDS_DRIVER', myThid )
122     #endif
123    
124     #ifdef ALLOW_BULK_FORCE
125     IF ( useBulkForce ) THEN
126     C-- Bulk-Formulae pkg: load all forcing fields at current time
127     #ifdef ALLOW_DEBUG
128 jmc 1.5 IF ( debugLevel .GE. debLevB )
129 jmc 1.1 & CALL DEBUG_CALL('BULKF_FIELDS_LOAD',myThid)
130     #endif
131     CALL TIMER_START('BULKF_FIELDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
132     CALL BULKF_FIELDS_LOAD( myTime, myIter, myThid )
133     CALL TIMER_STOP ('BULKF_FIELDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
134     ENDIF
135     #endif /* ALLOW_BULK_FORCE */
136    
137     C-- Call external forcing package
138     #ifdef ALLOW_EXF
139 heimbach 1.4 IF (useEXF) THEN
140 jmc 1.1 # ifdef ALLOW_DEBUG
141 jmc 1.5 IF ( debugLevel .GE. debLevB )
142 jmc 1.1 & CALL DEBUG_CALL('EXF_GETFORCING',myThid)
143     # endif
144     CALL TIMER_START('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid)
145     CALL EXF_GETFORCING( myTime, myIter, myThid )
146     CALL TIMER_STOP ('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid)
147 heimbach 1.4 ENDIF
148 jmc 1.5 #endif /* ALLOW_EXF */
149    
150     c IF ( .NOT.useEXF ) THEN
151     C- note (useEBM): needs modifications to be compatible with this call
152     IF ( .NOT.(useEXF.OR.useEBM) ) THEN
153     #ifdef ALLOW_DEBUG
154     IF ( debugLevel .GE. debLevB )
155 jmc 1.1 & CALL DEBUG_CALL('EXTERNAL_FIELDS_LOAD',myThid)
156 jmc 1.5 #endif
157 jmc 1.1 CALL TIMER_START('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
158     CALL EXTERNAL_FIELDS_LOAD( myTime, myIter, myThid )
159     CALL TIMER_STOP ('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
160 jmc 1.5 #ifdef NONLIN_FRSURF
161 jmc 1.1 CADJ STORE SST = comlev1, key = ikey_dynamics
162     CADJ STORE SSS = comlev1, key = ikey_dynamics
163 jmc 1.5 # ifdef SHORTWAVE_HEATING
164 jmc 1.1 CADJ STORE Qsw = comlev1, key = ikey_dynamics
165     # endif
166 jmc 1.5 #endif
167 jmc 1.1 ENDIF
168    
169     #ifdef ALLOW_OFFLINE
170     IF ( useOffLine ) THEN
171     #ifdef ALLOW_DEBUG
172     IF ( debugLevel .GE. debLevB )
173     & CALL DEBUG_CALL('OFFLINE_FIELDS_LOAD',myThid)
174     #endif /* ALLOW_DEBUG */
175     CALL TIMER_START('OFFLINE_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
176     CALL OFFLINE_FIELDS_LOAD( myTime, myIter, myThid )
177     CALL TIMER_STOP ('OFFLINE_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
178     ENDIF
179     #endif /* ALLOW_OFFLINE */
180    
181     #ifdef ALLOW_GCHEM
182     IF ( useGCHEM ) THEN
183     #ifdef ALLOW_DEBUG
184 jmc 1.5 IF ( debugLevel .GE. debLevB )
185 jmc 1.1 & CALL DEBUG_CALL('GCHEM_FIELDS_LOAD',myThid)
186     #endif /* ALLOW_DEBUG */
187     CALL GCHEM_FIELDS_LOAD( myTime, myIter, myThid )
188     ENDIF
189     #endif /* ALLOW_GCHEM */
190    
191     #ifdef ALLOW_RBCS
192     IF ( useRBCS ) THEN
193     CALL RBCS_FIELDS_LOAD( myTime, myIter, myThid )
194     ENDIF
195     #endif
196    
197     #ifdef ALLOW_AIM
198     IF ( useAIM ) THEN
199     C- Update AIM bottom boundary data
200     CALL AIM_FIELDS_LOAD( myTime, myIter, myThid )
201     ENDIF
202     #endif
203    
204     #ifdef ALLOW_DEBUG
205     IF ( debugLevel .GE. debLevB )
206     & CALL DEBUG_LEAVE( 'LOAD_FIELDS_DRIVER', myThid )
207     #endif
208    
209     RETURN
210     END

  ViewVC Help
Powered by ViewVC 1.1.22