1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
|
|
5 |
#include "PACKAGES_CONFIG.h" |
#include "PACKAGES_CONFIG.h" |
6 |
#include "CPP_OPTIONS.h" |
#include "CPP_OPTIONS.h" |
7 |
|
|
41 |
C |-- RBCS_FIELDS_LOAD |
C |-- RBCS_FIELDS_LOAD |
42 |
C | |
C | |
43 |
C |-- AIM_FIELDS_LOAD |
C |-- AIM_FIELDS_LOAD |
44 |
|
C | |
45 |
|
C |-- CHEAPAML_FIELDS_LOAD |
46 |
|
|
47 |
|
|
48 |
C !USES: |
C !USES: |
80 |
# include "EXF_CONSTANTS.h" |
# include "EXF_CONSTANTS.h" |
81 |
# endif |
# endif |
82 |
# endif |
# endif |
|
c# ifdef ALLOW_PTRACERS |
|
|
c# include "PTRACERS_SIZE.h" |
|
|
c# include "PTRACERS.h" |
|
|
c# endif |
|
83 |
c# ifdef ALLOW_OBCS |
c# ifdef ALLOW_OBCS |
84 |
c# include "OBCS.h" |
c# include "OBCS.h" |
85 |
c# ifdef ALLOW_PTRACERS |
c# ifdef ALLOW_PTRACERS |
86 |
|
c# include "PTRACERS_SIZE.h" |
87 |
c# include "OBCS_PTRACERS.h" |
c# include "OBCS_PTRACERS.h" |
88 |
c# endif |
c# endif |
89 |
c# endif |
c# endif |
120 |
CEOP |
CEOP |
121 |
|
|
122 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
123 |
IF ( debugLevel .GE. debLevB ) |
IF ( debugLevel .GE. debLevB ) |
124 |
& CALL DEBUG_ENTER( 'LOAD_FIELDS_DRIVER', myThid ) |
& CALL DEBUG_ENTER( 'LOAD_FIELDS_DRIVER', myThid ) |
125 |
#endif |
#endif |
126 |
|
|
128 |
IF ( useBulkForce ) THEN |
IF ( useBulkForce ) THEN |
129 |
C-- Bulk-Formulae pkg: load all forcing fields at current time |
C-- Bulk-Formulae pkg: load all forcing fields at current time |
130 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
131 |
IF ( debugLevel .GE. debLevB ) |
IF ( debugLevel .GE. debLevB ) |
132 |
& CALL DEBUG_CALL('BULKF_FIELDS_LOAD',myThid) |
& CALL DEBUG_CALL('BULKF_FIELDS_LOAD',myThid) |
133 |
#endif |
#endif |
134 |
CALL TIMER_START('BULKF_FIELDS_LOAD [LOAD_FLDS_DRIVER]',myThid) |
CALL TIMER_START('BULKF_FIELDS_LOAD [LOAD_FLDS_DRIVER]',myThid) |
139 |
|
|
140 |
C-- Call external forcing package |
C-- Call external forcing package |
141 |
#ifdef ALLOW_EXF |
#ifdef ALLOW_EXF |
142 |
|
IF (useEXF) THEN |
143 |
# ifdef ALLOW_DEBUG |
# ifdef ALLOW_DEBUG |
144 |
IF ( debugLevel .GE. debLevB ) |
IF ( debugLevel .GE. debLevB ) |
145 |
& CALL DEBUG_CALL('EXF_GETFORCING',myThid) |
& CALL DEBUG_CALL('EXF_GETFORCING',myThid) |
146 |
# endif |
# endif |
147 |
CALL TIMER_START('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid) |
CALL TIMER_START('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid) |
148 |
CALL EXF_GETFORCING( myTime, myIter, myThid ) |
CALL EXF_GETFORCING( myTime, myIter, myThid ) |
149 |
CALL TIMER_STOP ('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid) |
CALL TIMER_STOP ('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid) |
150 |
#else /* ALLOW_EXF undef */ |
ENDIF |
151 |
cph The following IF-statement creates an additional dependency |
#endif /* ALLOW_EXF */ |
152 |
cph for the forcing fields requiring additional storing. |
|
153 |
cph Therefore, the IF-statement will be put between CPP-OPTIONS, |
|
154 |
cph assuming that ALLOW_SEAICE has not yet been differentiated. |
C-- Call external CheapAML forcing package |
155 |
# if (defined (ALLOW_SEAICE) || defined (ALLOW_EBM)) |
#ifdef ALLOW_CHEAPAML |
156 |
IF ( .NOT. useSEAICE .AND. .NOT. useEBM ) THEN |
IF ( useCheapAML ) THEN |
157 |
# endif |
#ifdef ALLOW_DEBUG |
158 |
# ifdef ALLOW_DEBUG |
IF ( debugLevel .GE. debLevB ) |
159 |
IF ( debugLevel .GE. debLevB ) |
& CALL DEBUG_CALL('CHEAPAML_FIELDS_LOAD',myThid) |
160 |
|
#endif |
161 |
|
CALL CHEAPAML_FIELDS_LOAD( myTime,myIter, myThid ) |
162 |
|
ENDIF |
163 |
|
#endif /*ALLOW_CHEAPAML */ |
164 |
|
|
165 |
|
|
166 |
|
|
167 |
|
c IF ( .NOT.useEXF ) THEN |
168 |
|
C- note (useEBM): needs modifications to be compatible with this call |
169 |
|
IF ( .NOT.(useEXF.OR.useEBM) ) THEN |
170 |
|
#ifdef ALLOW_DEBUG |
171 |
|
IF ( debugLevel .GE. debLevB ) |
172 |
& CALL DEBUG_CALL('EXTERNAL_FIELDS_LOAD',myThid) |
& CALL DEBUG_CALL('EXTERNAL_FIELDS_LOAD',myThid) |
173 |
# endif |
#endif |
174 |
CALL TIMER_START('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid) |
CALL TIMER_START('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid) |
175 |
CALL EXTERNAL_FIELDS_LOAD( myTime, myIter, myThid ) |
CALL EXTERNAL_FIELDS_LOAD( myTime, myIter, myThid ) |
176 |
CALL TIMER_STOP ('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid) |
CALL TIMER_STOP ('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid) |
177 |
# ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
178 |
CADJ STORE SST = comlev1, key = ikey_dynamics |
CADJ STORE SST = comlev1, key = ikey_dynamics, kind = isbyte |
179 |
CADJ STORE SSS = comlev1, key = ikey_dynamics |
CADJ STORE SSS = comlev1, key = ikey_dynamics, kind = isbyte |
180 |
# ifdef SHORTWAVE_HEATING |
# ifdef SHORTWAVE_HEATING |
181 |
CADJ STORE Qsw = comlev1, key = ikey_dynamics |
CADJ STORE Qsw = comlev1, key = ikey_dynamics, kind = isbyte |
|
# endif |
|
182 |
# endif |
# endif |
183 |
# if (defined (ALLOW_SEAICE) || defined (ALLOW_EBM)) |
#endif |
184 |
ENDIF |
ENDIF |
|
# endif |
|
|
#endif /* ALLOW_EXF */ |
|
185 |
|
|
186 |
#ifdef ALLOW_OFFLINE |
#ifdef ALLOW_OFFLINE |
187 |
IF ( useOffLine ) THEN |
IF ( useOffLine ) THEN |
198 |
#ifdef ALLOW_GCHEM |
#ifdef ALLOW_GCHEM |
199 |
IF ( useGCHEM ) THEN |
IF ( useGCHEM ) THEN |
200 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
201 |
IF ( debugLevel .GE. debLevB ) |
IF ( debugLevel .GE. debLevB ) |
202 |
& CALL DEBUG_CALL('GCHEM_FIELDS_LOAD',myThid) |
& CALL DEBUG_CALL('GCHEM_FIELDS_LOAD',myThid) |
203 |
#endif /* ALLOW_DEBUG */ |
#endif /* ALLOW_DEBUG */ |
204 |
CALL GCHEM_FIELDS_LOAD( myTime, myIter, myThid ) |
CALL GCHEM_FIELDS_LOAD( myTime, myIter, myThid ) |