/[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.10 - (hide annotations) (download)
Mon Feb 21 22:26:50 2011 UTC (13 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint63a, checkpoint63, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x
Changes since 1.9: +6 -56 lines
changes related to pkg/cheapaml

1 jmc 1.10 C $Header: /u/gcmpack/MITgcm/model/src/load_fields_driver.F,v 1.9 2010/11/18 00:57:24 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.5 c IF ( .NOT.useEXF ) THEN
111     C- note (useEBM): needs modifications to be compatible with this call
112 jmc 1.10 IF ( .NOT.(useEXF.OR.useEBM.OR.useCheapAML) ) THEN
113 jmc 1.5 #ifdef ALLOW_DEBUG
114 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('EXTERNAL_FIELDS_LOAD',myThid)
115 jmc 1.5 #endif
116 jmc 1.1 CALL TIMER_START('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
117     CALL EXTERNAL_FIELDS_LOAD( myTime, myIter, myThid )
118     CALL TIMER_STOP ('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
119 jmc 1.5 #ifdef NONLIN_FRSURF
120 heimbach 1.8 CADJ STORE SST = comlev1, key = ikey_dynamics, kind = isbyte
121     CADJ STORE SSS = comlev1, key = ikey_dynamics, kind = isbyte
122 jmc 1.5 # ifdef SHORTWAVE_HEATING
123 heimbach 1.8 CADJ STORE Qsw = comlev1, key = ikey_dynamics, kind = isbyte
124 jmc 1.1 # endif
125 jmc 1.5 #endif
126 jmc 1.1 ENDIF
127    
128     #ifdef ALLOW_OFFLINE
129     IF ( useOffLine ) THEN
130     #ifdef ALLOW_DEBUG
131 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('OFFLINE_FIELDS_LOAD',myThid)
132 jmc 1.1 #endif /* ALLOW_DEBUG */
133     CALL TIMER_START('OFFLINE_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
134     CALL OFFLINE_FIELDS_LOAD( myTime, myIter, myThid )
135     CALL TIMER_STOP ('OFFLINE_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
136     ENDIF
137     #endif /* ALLOW_OFFLINE */
138    
139     #ifdef ALLOW_GCHEM
140     IF ( useGCHEM ) THEN
141     #ifdef ALLOW_DEBUG
142 jmc 1.9 IF (debugMode) CALL DEBUG_CALL('GCHEM_FIELDS_LOAD',myThid)
143 jmc 1.1 #endif /* ALLOW_DEBUG */
144     CALL GCHEM_FIELDS_LOAD( myTime, myIter, myThid )
145     ENDIF
146     #endif /* ALLOW_GCHEM */
147    
148     #ifdef ALLOW_RBCS
149     IF ( useRBCS ) THEN
150     CALL RBCS_FIELDS_LOAD( myTime, myIter, myThid )
151     ENDIF
152     #endif
153    
154     #ifdef ALLOW_AIM
155     IF ( useAIM ) THEN
156     C- Update AIM bottom boundary data
157     CALL AIM_FIELDS_LOAD( myTime, myIter, myThid )
158     ENDIF
159     #endif
160    
161     #ifdef ALLOW_DEBUG
162 jmc 1.9 IF (debugMode) CALL DEBUG_LEAVE( 'LOAD_FIELDS_DRIVER', myThid )
163 jmc 1.1 #endif
164    
165     RETURN
166     END

  ViewVC Help
Powered by ViewVC 1.1.22