File indexing completed on 2023-10-13 05:09:56 UTC
view on githubraw file Latest commit edcd27be on 2023-10-12 20:00:12 UTC
a9bb88678f Jean*0001 #include "PACKAGES_CONFIG.h"
0002 #include "CPP_OPTIONS.h"
517dbdc414 Jean*0003 #ifdef ALLOW_AUTODIFF
0004 # include "AUTODIFF_OPTIONS.h"
0005 #endif
0006 #ifdef ALLOW_COST
0007 # include "COST_OPTIONS.h"
0008 #endif
0009 #ifdef ALLOW_CTRL
0010 # include "CTRL_OPTIONS.h"
0011 #endif
0012 #ifdef ALLOW_EXF
0013 # include "EXF_OPTIONS.h"
0014 #endif
a9bb88678f Jean*0015
0016
0017
0018
0019 SUBROUTINE LOAD_FIELDS_DRIVER( myTime, myIter, myThid )
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
b4c132448c Jean*0036
0037
a9bb88678f Jean*0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 IMPLICIT NONE
0048
0049 #include "SIZE.h"
0050 #include "EEPARAMS.h"
0051 #include "PARAMS.h"
43e432aa51 Jean*0052 #include "FFIELDS.h"
a9bb88678f Jean*0053
517dbdc414 Jean*0054 #ifdef ALLOW_AUTODIFF
7c50f07931 Mart*0055 # ifdef ALLOW_AUTODIFF_TAMC
0056 # include "tamc.h"
0057 # endif
cfdbfa0351 Gael*0058 # ifdef ALLOW_CTRL
0059 # include "CTRL_SIZE.h"
4d72283393 Mart*0060 # include "CTRL.h"
9c41af81f6 Timo*0061 # include "CTRL_GENARR.h"
edcd27be69 Mart*0062 # include "CTRL_DUMMY.h"
cfdbfa0351 Gael*0063 # endif
0064 # ifdef ALLOW_COST
0065 # include "cost.h"
0066 # endif
a9bb88678f Jean*0067 # include "EOS.h"
0068 # ifdef ALLOW_EXF
798a745844 Jean*0069 # include "EXF_FIELDS.h"
517dbdc414 Jean*0070 # include "EXF_CONSTANTS.h"
b4daa24319 Shre*0071 # ifdef ALLOW_TAPENADE
0072 # include "EXF_PARAM.h"
0073 # include "EXF_INTERP_SIZE.h"
0074 # include "EXF_INTERP_PARAM.h"
0075 # endif
a9bb88678f Jean*0076 # endif
517dbdc414 Jean*0077 #endif /* ALLOW_AUTODIFF */
a9bb88678f Jean*0078
b4c132448c Jean*0079
a9bb88678f Jean*0080
0081
0082
0083 _RL myTime
0084 INTEGER myIter
0085 INTEGER myThid
0086
b4c132448c Jean*0087
43e432aa51 Jean*0088 #if (defined ALLOW_ADDFLUID) || (defined ALLOW_FRICTION_HEATING)
0089 INTEGER i,j,k,bi,bj
0090 #endif
a9bb88678f Jean*0091
0092
0093 #ifdef ALLOW_DEBUG
8440e8ae5d Jean*0094 IF (debugMode) CALL DEBUG_ENTER( 'LOAD_FIELDS_DRIVER', myThid )
a9bb88678f Jean*0095 #endif
0096
43e432aa51 Jean*0097
0098 #ifdef ALLOW_ADDFLUID
f4d71cd088 Jean*0099 IF ( selectAddFluid.NE.0 .AND. addMassFile.EQ.' ' ) THEN
43e432aa51 Jean*0100 DO bj=myByLo(myThid),myByHi(myThid)
0101 DO bi=myBxLo(myThid),myBxHi(myThid)
0102 DO k=1,Nr
0103 DO j=1-OLy,sNy+OLy
0104 DO i=1-OLx,sNx+OLx
0105 addMass(i,j,k,bi,bj) = 0. _d 0
0106 ENDDO
0107 ENDDO
0108 ENDDO
0109 ENDDO
0110 ENDDO
0111 ENDIF
0112 #endif /* ALLOW_ADDFLUID */
0113
0114 #ifdef ALLOW_FRICTION_HEATING
f4d71cd088 Jean*0115 IF ( addFrictionHeating .AND. staggerTimeStep ) THEN
43e432aa51 Jean*0116 DO bj=myByLo(myThid),myByHi(myThid)
0117 DO bi=myBxLo(myThid),myBxHi(myThid)
0118 DO k=1,Nr
0119 DO j=1-OLy,sNy+OLy
0120 DO i=1-OLx,sNx+OLx
0121 frictionHeating(i,j,k,bi,bj) = 0. _d 0
0122 ENDDO
0123 ENDDO
0124 ENDDO
0125 ENDDO
0126 ENDDO
0127 ENDIF
0128 #endif /* ALLOW_FRICTION_HEATING */
0129
d50b75bb8d Gael*0130
0131 #ifdef ALLOW_CTRL
a424c359ed Gael*0132 if (useCTRL) CALL CTRL_MAP_GENTIM2D( myTime, myIter, myThid )
d50b75bb8d Gael*0133 #endif
0134
a9bb88678f Jean*0135 #ifdef ALLOW_BULK_FORCE
0136 IF ( useBulkForce ) THEN
0137
0138 #ifdef ALLOW_DEBUG
8440e8ae5d Jean*0139 IF (debugMode) CALL DEBUG_CALL('BULKF_FIELDS_LOAD',myThid)
a9bb88678f Jean*0140 #endif
0141 CALL TIMER_START('BULKF_FIELDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
0142 CALL BULKF_FIELDS_LOAD( myTime, myIter, myThid )
0143 CALL TIMER_STOP ('BULKF_FIELDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
0144 ENDIF
0145 #endif /* ALLOW_BULK_FORCE */
0146
0147
0148 #ifdef ALLOW_EXF
342da43f96 Patr*0149 IF (useEXF) THEN
a9bb88678f Jean*0150 # ifdef ALLOW_DEBUG
8440e8ae5d Jean*0151 IF (debugMode) CALL DEBUG_CALL('EXF_GETFORCING',myThid)
a9bb88678f Jean*0152 # endif
0153 CALL TIMER_START('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid)
0154 CALL EXF_GETFORCING( myTime, myIter, myThid )
0155 CALL TIMER_STOP ('EXF_GETFORCING [LOAD_FLDS_DRIVER]',myThid)
342da43f96 Patr*0156 ENDIF
1a09ceef82 Jean*0157 #endif /* ALLOW_EXF */
0158
86f14fa6df Jean*0159
0160 #ifdef ALLOW_CHEAPAML
0161 IF ( useCheapAML ) THEN
0162 #ifdef ALLOW_DEBUG
8440e8ae5d Jean*0163 IF (debugMode) CALL DEBUG_CALL('CHEAPAML_FIELDS_LOAD',myThid)
86f14fa6df Jean*0164 #endif
8440e8ae5d Jean*0165 CALL CHEAPAML_FIELDS_LOAD( myTime, myIter, myThid )
0166 ENDIF
86f14fa6df Jean*0167 #endif /*ALLOW_CHEAPAML */
0168
3fb95cc0ad Jean*0169 IF ( fluidIsWater ) THEN
1a09ceef82 Jean*0170 #ifdef ALLOW_DEBUG
8440e8ae5d Jean*0171 IF (debugMode) CALL DEBUG_CALL('EXTERNAL_FIELDS_LOAD',myThid)
1a09ceef82 Jean*0172 #endif
a9bb88678f Jean*0173 CALL TIMER_START('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
0174 CALL EXTERNAL_FIELDS_LOAD( myTime, myIter, myThid )
0175 CALL TIMER_STOP ('EXTERNAL_FLDS_LOAD [LOAD_FLDS_DRIVER]',myThid)
3fb95cc0ad Jean*0176 ENDIF
a9bb88678f Jean*0177
0178 #ifdef ALLOW_GCHEM
0179 IF ( useGCHEM ) THEN
0180 #ifdef ALLOW_DEBUG
8440e8ae5d Jean*0181 IF (debugMode) CALL DEBUG_CALL('GCHEM_FIELDS_LOAD',myThid)
a9bb88678f Jean*0182 #endif /* ALLOW_DEBUG */
0183 CALL GCHEM_FIELDS_LOAD( myTime, myIter, myThid )
0184 ENDIF
0185 #endif /* ALLOW_GCHEM */
0186
0187 #ifdef ALLOW_RBCS
0188 IF ( useRBCS ) THEN
0189 CALL RBCS_FIELDS_LOAD( myTime, myIter, myThid )
0190 ENDIF
0191 #endif
0192
0193 #ifdef ALLOW_AIM
0194 IF ( useAIM ) THEN
0195
0196 CALL AIM_FIELDS_LOAD( myTime, myIter, myThid )
0197 ENDIF
0198 #endif
0199
0200 #ifdef ALLOW_DEBUG
8440e8ae5d Jean*0201 IF (debugMode) CALL DEBUG_LEAVE( 'LOAD_FIELDS_DRIVER', myThid )
a9bb88678f Jean*0202 #endif
0203
0204 RETURN
0205 END