C ***********************************************************
C Fortran file translated from WHIRL Thu Dec 11 13:18:18 2003
C ***********************************************************
C ***********************************************************
SUBROUTINE box_forward(ILEV1)
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_parameters_r/ HUNDRED, THOUSAND, DAY, YEAR, SV,
> DAYS_PER_50M_MIXED_LAYER, GAMMA_T, GAMMA_S, EPSILON_IC,
> NOISE_CORRELATION_TIME, INTEGRATION_TIME, EPSILON_REGULARIZE,
> FDEPS
type(active) :: HUNDRED
type(active) :: THOUSAND
type(active) :: DAY
type(active) :: YEAR
type(active) :: SV
type(active) :: DAYS_PER_50M_MIXED_LAYER
type(active) :: GAMMA_T
type(active) :: GAMMA_S
type(active) :: EPSILON_IC
type(active) :: NOISE_CORRELATION_TIME
type(active) :: INTEGRATION_TIME
type(active) :: EPSILON_REGULARIZE
type(active) :: FDEPS
COMMON /fi_forcing_params_r/ NULLFORCE, FW, TSTAR, SSTAR
type(active) :: NULLFORCE(1 : 2)
type(active) :: FW(1 : 2)
type(active) :: TSTAR(1 : 2)
type(active) :: SSTAR(1 : 2)
COMMON /fi_density_r/ RHO
type(active) :: RHO(1 : 3)
COMMON /fi_state_r/ TOLD, TNOW, TNEW, SOLD, SNOW, SNEW
type(active) :: TOLD(1 : 3)
type(active) :: TNOW(1 : 3)
type(active) :: TNEW(1 : 3)
type(active) :: SOLD(1 : 3)
type(active) :: SNOW(1 : 3)
type(active) :: SNEW(1 : 3)
COMMON /fi_velocity_r/ UVEL
type(active) :: UVEL
C
C **** Parameters and Result ****
C
INTEGER(w2f__i4) ILEV1
C
C **** Local Variables and functions ****
C
EXTERNAL box_cycle_fields
EXTERNAL box_density
EXTERNAL box_robert_filter
EXTERNAL box_timestep
EXTERNAL box_transport
INTEGER(w2f__i4) IKEY
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) L
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
IKEY = ILEV1
CALL box_density(TNOW,SNOW,RHO)
CALL box_transport(RHO,UVEL)
CALL box_timestep(GAMMA_T,TSTAR,NULLFORCE,UVEL,TNOW,TOLD,TNEW)
CALL box_timestep(GAMMA_S,SSTAR,FW,UVEL,SNOW,SOLD,SNEW)
CALL box_robert_filter(TNOW,TOLD,TNEW)
CALL box_robert_filter(SNOW,SOLD,SNEW)
CALL box_cycle_fields()
DO L = 1, 3, 1
IF (TNOW(L)%v .LT. (-2.0D00)) THEN
TNOW(L)%v = 2.0D00
CALL zero_deriv(TNOW(L))
ENDIF
END DO
RETURN
END SUBROUTINE
SUBROUTINE box_final_state()
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /fi_state_r/ TOLD, TNOW, TNEW, SOLD, SNOW, SNEW
type(active) :: TOLD(1 : 3)
type(active) :: TNOW(1 : 3)
type(active) :: TNEW(1 : 3)
type(active) :: SOLD(1 : 3)
type(active) :: SNOW(1 : 3)
type(active) :: SNEW(1 : 3)
COMMON /fi_final_state_r/ TSVEC
type(active) :: TSVEC(1 : 6)
C
C **** Local Variables and functions ****
C
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) L
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
DO L = 1, 6, 1
TSVEC(L)%v = 0.0D00
CALL zero_deriv(TSVEC(L))
END DO
DO L = 1, 3, 1
TSVEC(L)%v = TNOW(L)%v
CALL setderiv(TSVEC(L),TNOW(L))
TSVEC(L+3)%v = SNOW(L)%v
CALL setderiv(TSVEC(L+3),SNOW(L))
END DO
RETURN
END SUBROUTINE
SUBROUTINE box_ini_fields()
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_geometry_r/ BLENGTH, BHEIGHT, BWIDTH, AREA, VOL
type(active) :: BLENGTH(1 : 3)
type(active) :: BHEIGHT(1 : 3)
type(active) :: BWIDTH
type(active) :: AREA(1 : 3)
type(active) :: VOL(1 : 3)
COMMON /pa_parameters_r/ HUNDRED, THOUSAND, DAY, YEAR, SV,
> DAYS_PER_50M_MIXED_LAYER, GAMMA_T, GAMMA_S, EPSILON_IC,
> NOISE_CORRELATION_TIME, INTEGRATION_TIME, EPSILON_REGULARIZE,
> FDEPS
type(active) :: HUNDRED
type(active) :: THOUSAND
type(active) :: DAY
type(active) :: YEAR
type(active) :: SV
type(active) :: DAYS_PER_50M_MIXED_LAYER
type(active) :: GAMMA_T
type(active) :: GAMMA_S
type(active) :: EPSILON_IC
type(active) :: NOISE_CORRELATION_TIME
type(active) :: INTEGRATION_TIME
type(active) :: EPSILON_REGULARIZE
type(active) :: FDEPS
COMMON /fi_forcing_params_r/ NULLFORCE, FW, TSTAR, SSTAR
type(active) :: NULLFORCE(1 : 2)
type(active) :: FW(1 : 2)
type(active) :: TSTAR(1 : 2)
type(active) :: SSTAR(1 : 2)
COMMON /fi_metric_r/ METRIC
type(active) :: METRIC
COMMON /fi_metric_aux_r/ METRIC1, METRIC2
type(active) :: METRIC1
type(active) :: METRIC2
COMMON /fi_ini_r/ UBAR, T, S
type(active) :: UBAR
type(active) :: T(1 : 3)
type(active) :: S(1 : 3)
COMMON /fi_state_r/ TOLD, TNOW, TNEW, SOLD, SNOW, SNEW
type(active) :: TOLD(1 : 3)
type(active) :: TNOW(1 : 3)
type(active) :: TNEW(1 : 3)
type(active) :: SOLD(1 : 3)
type(active) :: SNOW(1 : 3)
type(active) :: SNEW(1 : 3)
COMMON /fi_thc_r/ THC_TOT, THC_T, THC_S
type(active) :: THC_TOT
type(active) :: THC_T
type(active) :: THC_S
COMMON /fi_final_state_r/ TSVEC
type(active) :: TSVEC(1 : 6)
COMMON /fi_velocity_r/ UVEL
type(active) :: UVEL
COMMON /fi_controls_r/ XX
type(active) :: XX(1 : 6)
type(active) :: ADF90_Symbol_140
type(active) :: ADF90_Symbol_141
type(active) :: ADF90_Symbol_142
type(active) :: ADF90_Symbol_138
type(active) :: ADF90_Symbol_139
type(active) :: ADF90_Symbol_144
type(active) :: ADF90_Symbol_145
type(active) :: ADF90_Symbol_150
type(active) :: ADF90_Symbol_146
type(active) :: ADF90_Symbol_151
type(active) :: ADF90_Symbol_147
type(active) :: ADF90_Symbol_152
type(active) :: ADF90_Symbol_148
type(active) :: ADF90_Symbol_153
type(active) :: ADF90_Symbol_154
type(active) :: ADF90_Symbol_440
type(active) :: ADF90_Symbol_441
type(active) :: ADF90_Symbol_436
type(active) :: ADF90_Symbol_442
type(active) :: ADF90_Symbol_437
type(active) :: ADF90_Symbol_443
type(active) :: ADF90_Symbol_438
type(active) :: ADF90_Symbol_444
type(active) :: ADF90_Symbol_439
type(active) :: ADF90_Symbol_450
type(active) :: ADF90_Symbol_445
type(active) :: ADF90_Symbol_451
type(active) :: ADF90_Symbol_446
type(active) :: ADF90_Symbol_452
type(active) :: ADF90_Symbol_447
type(active) :: ADF90_Symbol_453
type(active) :: ADF90_Symbol_448
type(active) :: ADF90_Symbol_454
type(active) :: ADF90_Symbol_449
C
C **** Local Variables and functions ****
C
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) L
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
THC_TOT%v = 0.0D00
CALL zero_deriv(THC_TOT)
THC_T%v = 0.0D00
CALL zero_deriv(THC_T)
THC_S%v = 0.0D00
CALL zero_deriv(THC_S)
METRIC1%v = 0.0D00
CALL zero_deriv(METRIC1)
METRIC2%v = 0.0D00
CALL zero_deriv(METRIC2)
METRIC%v = 0.0D00
CALL zero_deriv(METRIC)
NULLFORCE(1)%v = 0.0D00
CALL zero_deriv(NULLFORCE(1))
NULLFORCE(2)%v = 0.0D00
CALL zero_deriv(NULLFORCE(2))
ADF90_Symbol_141%v = (HUNDRED%v/YEAR%v)
ADF90_Symbol_138%v = (ADF90_Symbol_141%v*3.5D+01)
ADF90_Symbol_146%v = (AREA(1)%v*ADF90_Symbol_138%v)
ADF90_Symbol_139%v = ADF90_Symbol_138%v
ADF90_Symbol_144%v = (1 _w2f__i8/YEAR%v)
ADF90_Symbol_145%v = (-(HUNDRED%v/(YEAR%v*YEAR%v)))
ADF90_Symbol_142%v = 3.5D+01
ADF90_Symbol_140%v = AREA(1)%v
FW(1)%v = ADF90_Symbol_146%v
ADF90_Symbol_436%v = (ADF90_Symbol_142%v*ADF90_Symbol_140%v)
ADF90_Symbol_437%v = (ADF90_Symbol_144%v*ADF90_Symbol_436%v)
ADF90_Symbol_439%v = (ADF90_Symbol_145%v*ADF90_Symbol_436%v)
ADF90_Symbol_441%v = ADF90_Symbol_139%v
CALL setderiv(ADF90_Symbol_442,AREA(1))
CALL setderiv(ADF90_Symbol_440,YEAR)
CALL setderiv(ADF90_Symbol_438,HUNDRED)
CALL sax(ADF90_Symbol_437%v,ADF90_Symbol_438,FW(1))
CALL saxpy(ADF90_Symbol_439%v,ADF90_Symbol_440,FW(1))
CALL saxpy(ADF90_Symbol_441%v,ADF90_Symbol_442,FW(1))
FW(2)%v = (-FW(1)%v)
ADF90_Symbol_147%v = -1 _w2f__i8
ADF90_Symbol_443%v = ADF90_Symbol_147%v
CALL setderiv(ADF90_Symbol_444,FW(1))
CALL sax(ADF90_Symbol_443%v,ADF90_Symbol_444,FW(2))
TSTAR(1)%v = 2.2D+01
CALL zero_deriv(TSTAR(1))
TSTAR(2)%v = 0.0D00
CALL zero_deriv(TSTAR(2))
SSTAR(1)%v = 3.6D+01
CALL zero_deriv(SSTAR(1))
SSTAR(2)%v = 3.4D+01
CALL zero_deriv(SSTAR(2))
ADF90_Symbol_150%v = (SV%v*2.0D+01)
ADF90_Symbol_148%v = 2.0D+01
UBAR%v = ADF90_Symbol_150%v
ADF90_Symbol_445%v = ADF90_Symbol_148%v
CALL setderiv(ADF90_Symbol_446,SV)
CALL sax(ADF90_Symbol_445%v,ADF90_Symbol_446,UBAR)
T(1)%v = 2.0D+01
CALL zero_deriv(T(1))
T(2)%v = 1.0D00
CALL zero_deriv(T(2))
T(3)%v = 1.0D00
CALL zero_deriv(T(3))
S(1)%v = 3.55D+01
CALL zero_deriv(S(1))
S(2)%v = 3.45D+01
CALL zero_deriv(S(2))
S(3)%v = 3.45D+01
CALL zero_deriv(S(3))
DO L = 1, 6, 1
TSVEC(L)%v = 0.0D00
CALL zero_deriv(TSVEC(L))
END DO
DO L = 1, 3, 1
T(L)%v = (T(L)%v+XX(L)%v)
ADF90_Symbol_151%v = 1 _w2f__i8
ADF90_Symbol_152%v = 1 _w2f__i8
ADF90_Symbol_447%v = ADF90_Symbol_151%v
ADF90_Symbol_449%v = ADF90_Symbol_152%v
CALL setderiv(ADF90_Symbol_450,XX(L))
CALL setderiv(ADF90_Symbol_448,T(L))
CALL sax(ADF90_Symbol_447%v,ADF90_Symbol_448,T(L))
CALL saxpy(ADF90_Symbol_449%v,ADF90_Symbol_450,T(L))
S(L)%v = (S(L)%v+XX(L+3)%v)
ADF90_Symbol_153%v = 1 _w2f__i8
ADF90_Symbol_154%v = 1 _w2f__i8
ADF90_Symbol_451%v = ADF90_Symbol_153%v
ADF90_Symbol_453%v = ADF90_Symbol_154%v
CALL setderiv(ADF90_Symbol_454,XX(L+3))
CALL setderiv(ADF90_Symbol_452,S(L))
CALL sax(ADF90_Symbol_451%v,ADF90_Symbol_452,S(L))
CALL saxpy(ADF90_Symbol_453%v,ADF90_Symbol_454,S(L))
END DO
DO L = 1, 3, 1
TNEW(L)%v = T(L)%v
CALL setderiv(TNEW(L),T(L))
SNEW(L)%v = S(L)%v
CALL setderiv(SNEW(L),S(L))
TOLD(L)%v = T(L)%v
CALL setderiv(TOLD(L),T(L))
SOLD(L)%v = S(L)%v
CALL setderiv(SOLD(L),S(L))
TNOW(L)%v = T(L)%v
CALL setderiv(TNOW(L),T(L))
SNOW(L)%v = S(L)%v
CALL setderiv(SNOW(L),S(L))
END DO
UVEL%v = UBAR%v
CALL setderiv(UVEL,UBAR)
RETURN
END SUBROUTINE
SUBROUTINE box_ini_params()
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_density_r/ ALPHA, BETA
type(active) :: ALPHA
type(active) :: BETA
COMMON /pa_geometry_r/ BLENGTH, BHEIGHT, BWIDTH, AREA, VOL
type(active) :: BLENGTH(1 : 3)
type(active) :: BHEIGHT(1 : 3)
type(active) :: BWIDTH
type(active) :: AREA(1 : 3)
type(active) :: VOL(1 : 3)
COMMON /pa_parameters_r/ HUNDRED, THOUSAND, DAY, YEAR, SV,
> DAYS_PER_50M_MIXED_LAYER, GAMMA_T, GAMMA_S, EPSILON_IC,
> NOISE_CORRELATION_TIME, INTEGRATION_TIME, EPSILON_REGULARIZE,
> FDEPS
type(active) :: HUNDRED
type(active) :: THOUSAND
type(active) :: DAY
type(active) :: YEAR
type(active) :: SV
type(active) :: DAYS_PER_50M_MIXED_LAYER
type(active) :: GAMMA_T
type(active) :: GAMMA_S
type(active) :: EPSILON_IC
type(active) :: NOISE_CORRELATION_TIME
type(active) :: INTEGRATION_TIME
type(active) :: EPSILON_REGULARIZE
type(active) :: FDEPS
COMMON /pa_transport_r/ U0, DELTA
type(active) :: U0
type(active) :: DELTA
COMMON /pa_timestep_r/ DELTA_T
type(active) :: DELTA_T
COMMON /pa_numbers_i/ N_MAX
INTEGER(w2f__i4) N_MAX
COMMON /pa_algebra_r/ Y, R, R1, R_T, R_S, PROJ_T, PROJ_S, X
type(active) :: Y(1 : 6)
type(active) :: R(1 : 6)
type(active) :: R1(1 : 6)
type(active) :: R_T(1 : 6)
type(active) :: R_S(1 : 6)
type(active) :: PROJ_T(1 : 6)
type(active) :: PROJ_S(1 : 6)
type(active) :: X(1 : 6, 1 : 6)
COMMON /pa_robert_filter_r/ ROBERT_FILTER_COEFF
type(active) :: ROBERT_FILTER_COEFF
COMMON /pa_switches_l/ VERBMODE
LOGICAL(w2f__i4) VERBMODE
type(active) :: ADF90_Symbol_201
type(active) :: ADF90_Symbol_202
type(active) :: ADF90_Symbol_203
type(active) :: ADF90_Symbol_204
type(active) :: ADF90_Symbol_155
type(active) :: ADF90_Symbol_160
type(active) :: ADF90_Symbol_205
type(active) :: ADF90_Symbol_210
type(active) :: ADF90_Symbol_156
type(active) :: ADF90_Symbol_161
type(active) :: ADF90_Symbol_206
type(active) :: ADF90_Symbol_211
type(active) :: ADF90_Symbol_157
type(active) :: ADF90_Symbol_162
type(active) :: ADF90_Symbol_158
type(active) :: ADF90_Symbol_163
type(active) :: ADF90_Symbol_208
type(active) :: ADF90_Symbol_213
type(active) :: ADF90_Symbol_159
type(active) :: ADF90_Symbol_164
type(active) :: ADF90_Symbol_209
type(active) :: ADF90_Symbol_214
type(active) :: ADF90_Symbol_165
type(active) :: ADF90_Symbol_170
type(active) :: ADF90_Symbol_220
type(active) :: ADF90_Symbol_166
type(active) :: ADF90_Symbol_171
type(active) :: ADF90_Symbol_216
type(active) :: ADF90_Symbol_167
type(active) :: ADF90_Symbol_172
type(active) :: ADF90_Symbol_217
type(active) :: ADF90_Symbol_222
type(active) :: ADF90_Symbol_168
type(active) :: ADF90_Symbol_173
type(active) :: ADF90_Symbol_223
type(active) :: ADF90_Symbol_169
type(active) :: ADF90_Symbol_174
type(active) :: ADF90_Symbol_219
type(active) :: ADF90_Symbol_175
type(active) :: ADF90_Symbol_180
type(active) :: ADF90_Symbol_225
type(active) :: ADF90_Symbol_176
type(active) :: ADF90_Symbol_181
type(active) :: ADF90_Symbol_226
type(active) :: ADF90_Symbol_231
type(active) :: ADF90_Symbol_177
type(active) :: ADF90_Symbol_182
type(active) :: ADF90_Symbol_232
type(active) :: ADF90_Symbol_178
type(active) :: ADF90_Symbol_183
type(active) :: ADF90_Symbol_228
type(active) :: ADF90_Symbol_179
type(active) :: ADF90_Symbol_184
type(active) :: ADF90_Symbol_229
type(active) :: ADF90_Symbol_234
type(active) :: ADF90_Symbol_190
type(active) :: ADF90_Symbol_235
type(active) :: ADF90_Symbol_240
type(active) :: ADF90_Symbol_186
type(active) :: ADF90_Symbol_241
type(active) :: ADF90_Symbol_187
type(active) :: ADF90_Symbol_192
type(active) :: ADF90_Symbol_237
type(active) :: ADF90_Symbol_242
type(active) :: ADF90_Symbol_188
type(active) :: ADF90_Symbol_193
type(active) :: ADF90_Symbol_238
type(active) :: ADF90_Symbol_243
type(active) :: ADF90_Symbol_239
type(active) :: ADF90_Symbol_244
type(active) :: ADF90_Symbol_195
type(active) :: ADF90_Symbol_250
type(active) :: ADF90_Symbol_196
type(active) :: ADF90_Symbol_246
type(active) :: ADF90_Symbol_251
type(active) :: ADF90_Symbol_247
type(active) :: ADF90_Symbol_252
type(active) :: ADF90_Symbol_198
type(active) :: ADF90_Symbol_248
type(active) :: ADF90_Symbol_253
type(active) :: ADF90_Symbol_199
type(active) :: ADF90_Symbol_249
type(active) :: ADF90_Symbol_254
type(active) :: ADF90_Symbol_255
type(active) :: ADF90_Symbol_260
type(active) :: ADF90_Symbol_261
type(active) :: ADF90_Symbol_257
type(active) :: ADF90_Symbol_262
type(active) :: ADF90_Symbol_258
type(active) :: ADF90_Symbol_263
type(active) :: ADF90_Symbol_259
type(active) :: ADF90_Symbol_264
type(active) :: ADF90_Symbol_270
type(active) :: ADF90_Symbol_265
type(active) :: ADF90_Symbol_271
type(active) :: ADF90_Symbol_266
type(active) :: ADF90_Symbol_272
type(active) :: ADF90_Symbol_267
type(active) :: ADF90_Symbol_273
type(active) :: ADF90_Symbol_268
type(active) :: ADF90_Symbol_274
type(active) :: ADF90_Symbol_269
type(active) :: ADF90_Symbol_275
type(active) :: ADF90_Symbol_500
type(active) :: ADF90_Symbol_501
type(active) :: ADF90_Symbol_502
type(active) :: ADF90_Symbol_503
type(active) :: ADF90_Symbol_504
type(active) :: ADF90_Symbol_510
type(active) :: ADF90_Symbol_505
type(active) :: ADF90_Symbol_460
type(active) :: ADF90_Symbol_455
type(active) :: ADF90_Symbol_511
type(active) :: ADF90_Symbol_506
type(active) :: ADF90_Symbol_461
type(active) :: ADF90_Symbol_456
type(active) :: ADF90_Symbol_512
type(active) :: ADF90_Symbol_507
type(active) :: ADF90_Symbol_462
type(active) :: ADF90_Symbol_457
type(active) :: ADF90_Symbol_513
type(active) :: ADF90_Symbol_508
type(active) :: ADF90_Symbol_463
type(active) :: ADF90_Symbol_458
type(active) :: ADF90_Symbol_514
type(active) :: ADF90_Symbol_509
type(active) :: ADF90_Symbol_464
type(active) :: ADF90_Symbol_459
type(active) :: ADF90_Symbol_520
type(active) :: ADF90_Symbol_515
type(active) :: ADF90_Symbol_470
type(active) :: ADF90_Symbol_465
type(active) :: ADF90_Symbol_521
type(active) :: ADF90_Symbol_516
type(active) :: ADF90_Symbol_471
type(active) :: ADF90_Symbol_466
type(active) :: ADF90_Symbol_522
type(active) :: ADF90_Symbol_517
type(active) :: ADF90_Symbol_472
type(active) :: ADF90_Symbol_467
type(active) :: ADF90_Symbol_523
type(active) :: ADF90_Symbol_518
type(active) :: ADF90_Symbol_473
type(active) :: ADF90_Symbol_468
type(active) :: ADF90_Symbol_524
type(active) :: ADF90_Symbol_519
type(active) :: ADF90_Symbol_474
type(active) :: ADF90_Symbol_469
type(active) :: ADF90_Symbol_530
type(active) :: ADF90_Symbol_525
type(active) :: ADF90_Symbol_480
type(active) :: ADF90_Symbol_475
type(active) :: ADF90_Symbol_531
type(active) :: ADF90_Symbol_526
type(active) :: ADF90_Symbol_481
type(active) :: ADF90_Symbol_476
type(active) :: ADF90_Symbol_532
type(active) :: ADF90_Symbol_527
type(active) :: ADF90_Symbol_482
type(active) :: ADF90_Symbol_477
type(active) :: ADF90_Symbol_533
type(active) :: ADF90_Symbol_528
type(active) :: ADF90_Symbol_483
type(active) :: ADF90_Symbol_478
type(active) :: ADF90_Symbol_534
type(active) :: ADF90_Symbol_529
type(active) :: ADF90_Symbol_484
type(active) :: ADF90_Symbol_479
type(active) :: ADF90_Symbol_540
type(active) :: ADF90_Symbol_535
type(active) :: ADF90_Symbol_490
type(active) :: ADF90_Symbol_485
type(active) :: ADF90_Symbol_541
type(active) :: ADF90_Symbol_536
type(active) :: ADF90_Symbol_491
type(active) :: ADF90_Symbol_486
type(active) :: ADF90_Symbol_542
type(active) :: ADF90_Symbol_537
type(active) :: ADF90_Symbol_492
type(active) :: ADF90_Symbol_487
type(active) :: ADF90_Symbol_543
type(active) :: ADF90_Symbol_538
type(active) :: ADF90_Symbol_493
type(active) :: ADF90_Symbol_488
type(active) :: ADF90_Symbol_544
type(active) :: ADF90_Symbol_539
type(active) :: ADF90_Symbol_494
type(active) :: ADF90_Symbol_489
type(active) :: ADF90_Symbol_550
type(active) :: ADF90_Symbol_545
type(active) :: ADF90_Symbol_495
type(active) :: ADF90_Symbol_551
type(active) :: ADF90_Symbol_546
type(active) :: ADF90_Symbol_496
type(active) :: ADF90_Symbol_552
type(active) :: ADF90_Symbol_547
type(active) :: ADF90_Symbol_497
type(active) :: ADF90_Symbol_553
type(active) :: ADF90_Symbol_548
type(active) :: ADF90_Symbol_498
type(active) :: ADF90_Symbol_554
type(active) :: ADF90_Symbol_549
type(active) :: ADF90_Symbol_499
type(active) :: ADF90_Symbol_560
type(active) :: ADF90_Symbol_555
type(active) :: ADF90_Symbol_561
type(active) :: ADF90_Symbol_556
type(active) :: ADF90_Symbol_562
type(active) :: ADF90_Symbol_557
type(active) :: ADF90_Symbol_563
type(active) :: ADF90_Symbol_558
type(active) :: ADF90_Symbol_559
C
C **** Local Variables and functions ****
C
INTEGER(w2f__i4) I
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) J
INTEGER(w2f__i4) L
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
VERBMODE = .FALSE.
BLENGTH(1)%v = 5.0D+08
CALL zero_deriv(BLENGTH(1))
BLENGTH(2)%v = 1.0D+08
CALL zero_deriv(BLENGTH(2))
BLENGTH(3)%v = BLENGTH(1)%v
CALL setderiv(BLENGTH(3),BLENGTH(1))
BHEIGHT(1)%v = 1.0D+05
CALL zero_deriv(BHEIGHT(1))
BHEIGHT(3)%v = 4.0D+05
CALL zero_deriv(BHEIGHT(3))
BHEIGHT(2)%v = (BHEIGHT(1)%v+BHEIGHT(3)%v)
ADF90_Symbol_155%v = 1 _w2f__i8
ADF90_Symbol_156%v = 1 _w2f__i8
ADF90_Symbol_455%v = ADF90_Symbol_155%v
ADF90_Symbol_457%v = ADF90_Symbol_156%v
CALL setderiv(ADF90_Symbol_458,BHEIGHT(3))
CALL setderiv(ADF90_Symbol_456,BHEIGHT(1))
CALL sax(ADF90_Symbol_455%v,ADF90_Symbol_456,BHEIGHT(2))
CALL saxpy(ADF90_Symbol_457%v,ADF90_Symbol_458,BHEIGHT(2))
ADF90_Symbol_157%v = (BHEIGHT(1)%v+BHEIGHT(3)%v)
ADF90_Symbol_162%v = (BHEIGHT(1)%v/ADF90_Symbol_157%v)
ADF90_Symbol_158%v = (1 _w2f__i8/ADF90_Symbol_157%v)
ADF90_Symbol_160%v = 1 _w2f__i8
ADF90_Symbol_161%v = 1 _w2f__i8
ADF90_Symbol_159%v = (-(BHEIGHT(1)%v/(ADF90_Symbol_157%v*ADF90_Sym
+bol_157%v)))
DELTA%v = ADF90_Symbol_162%v
ADF90_Symbol_459%v = (ADF90_Symbol_160%v*ADF90_Symbol_159%v)
ADF90_Symbol_461%v = (ADF90_Symbol_161%v*ADF90_Symbol_159%v)
ADF90_Symbol_463%v = ADF90_Symbol_158%v
CALL setderiv(ADF90_Symbol_464,BHEIGHT(1))
CALL setderiv(ADF90_Symbol_462,BHEIGHT(3))
CALL setderiv(ADF90_Symbol_460,BHEIGHT(1))
CALL sax(ADF90_Symbol_459%v,ADF90_Symbol_460,DELTA)
CALL saxpy(ADF90_Symbol_461%v,ADF90_Symbol_462,DELTA)
CALL saxpy(ADF90_Symbol_463%v,ADF90_Symbol_464,DELTA)
BWIDTH%v = 4.0D+08
CALL zero_deriv(BWIDTH)
ADF90_Symbol_165%v = (BLENGTH(1)%v*BWIDTH%v)
ADF90_Symbol_163%v = BWIDTH%v
ADF90_Symbol_164%v = BLENGTH(1)%v
AREA(1)%v = ADF90_Symbol_165%v
ADF90_Symbol_465%v = ADF90_Symbol_163%v
ADF90_Symbol_467%v = ADF90_Symbol_164%v
CALL setderiv(ADF90_Symbol_468,BWIDTH)
CALL setderiv(ADF90_Symbol_466,BLENGTH(1))
CALL sax(ADF90_Symbol_465%v,ADF90_Symbol_466,AREA(1))
CALL saxpy(ADF90_Symbol_467%v,ADF90_Symbol_468,AREA(1))
ADF90_Symbol_168%v = (BLENGTH(2)%v*BWIDTH%v)
ADF90_Symbol_166%v = BWIDTH%v
ADF90_Symbol_167%v = BLENGTH(2)%v
AREA(2)%v = ADF90_Symbol_168%v
ADF90_Symbol_469%v = ADF90_Symbol_166%v
ADF90_Symbol_471%v = ADF90_Symbol_167%v
CALL setderiv(ADF90_Symbol_472,BWIDTH)
CALL setderiv(ADF90_Symbol_470,BLENGTH(2))
CALL sax(ADF90_Symbol_469%v,ADF90_Symbol_470,AREA(2))
CALL saxpy(ADF90_Symbol_471%v,ADF90_Symbol_472,AREA(2))
ADF90_Symbol_171%v = (BLENGTH(3)%v*BWIDTH%v)
ADF90_Symbol_169%v = BWIDTH%v
ADF90_Symbol_170%v = BLENGTH(3)%v
AREA(3)%v = ADF90_Symbol_171%v
ADF90_Symbol_473%v = ADF90_Symbol_169%v
ADF90_Symbol_475%v = ADF90_Symbol_170%v
CALL setderiv(ADF90_Symbol_476,BWIDTH)
CALL setderiv(ADF90_Symbol_474,BLENGTH(3))
CALL sax(ADF90_Symbol_473%v,ADF90_Symbol_474,AREA(3))
CALL saxpy(ADF90_Symbol_475%v,ADF90_Symbol_476,AREA(3))
ADF90_Symbol_174%v = (AREA(1)%v*BHEIGHT(1)%v)
ADF90_Symbol_172%v = BHEIGHT(1)%v
ADF90_Symbol_173%v = AREA(1)%v
VOL(1)%v = ADF90_Symbol_174%v
ADF90_Symbol_477%v = ADF90_Symbol_172%v
ADF90_Symbol_479%v = ADF90_Symbol_173%v
CALL setderiv(ADF90_Symbol_480,BHEIGHT(1))
CALL setderiv(ADF90_Symbol_478,AREA(1))
CALL sax(ADF90_Symbol_477%v,ADF90_Symbol_478,VOL(1))
CALL saxpy(ADF90_Symbol_479%v,ADF90_Symbol_480,VOL(1))
ADF90_Symbol_175%v = (BHEIGHT(1)%v+BHEIGHT(3)%v)
ADF90_Symbol_180%v = (AREA(2)%v*ADF90_Symbol_175%v)
ADF90_Symbol_176%v = ADF90_Symbol_175%v
ADF90_Symbol_178%v = 1 _w2f__i8
ADF90_Symbol_179%v = 1 _w2f__i8
ADF90_Symbol_177%v = AREA(2)%v
VOL(2)%v = ADF90_Symbol_180%v
ADF90_Symbol_481%v = (ADF90_Symbol_178%v*ADF90_Symbol_177%v)
ADF90_Symbol_483%v = (ADF90_Symbol_179%v*ADF90_Symbol_177%v)
ADF90_Symbol_485%v = ADF90_Symbol_176%v
CALL setderiv(ADF90_Symbol_486,AREA(2))
CALL setderiv(ADF90_Symbol_484,BHEIGHT(3))
CALL setderiv(ADF90_Symbol_482,BHEIGHT(1))
CALL sax(ADF90_Symbol_481%v,ADF90_Symbol_482,VOL(2))
CALL saxpy(ADF90_Symbol_483%v,ADF90_Symbol_484,VOL(2))
CALL saxpy(ADF90_Symbol_485%v,ADF90_Symbol_486,VOL(2))
ADF90_Symbol_183%v = (AREA(3)%v*BHEIGHT(3)%v)
ADF90_Symbol_181%v = BHEIGHT(3)%v
ADF90_Symbol_182%v = AREA(3)%v
VOL(3)%v = ADF90_Symbol_183%v
ADF90_Symbol_487%v = ADF90_Symbol_181%v
ADF90_Symbol_489%v = ADF90_Symbol_182%v
CALL setderiv(ADF90_Symbol_490,BHEIGHT(3))
CALL setderiv(ADF90_Symbol_488,AREA(3))
CALL sax(ADF90_Symbol_487%v,ADF90_Symbol_488,VOL(3))
CALL saxpy(ADF90_Symbol_489%v,ADF90_Symbol_490,VOL(3))
ROBERT_FILTER_COEFF%v = 2.5D-01
CALL zero_deriv(ROBERT_FILTER_COEFF)
HUNDRED%v = 1.0D+02
CALL zero_deriv(HUNDRED)
THOUSAND%v = 1.0D+03
CALL zero_deriv(THOUSAND)
DAY%v = 8.64D+04
CALL zero_deriv(DAY)
ADF90_Symbol_186%v = (DAY%v*3.65D+02)
ADF90_Symbol_184%v = 3.65D+02
YEAR%v = ADF90_Symbol_186%v
ADF90_Symbol_491%v = ADF90_Symbol_184%v
CALL setderiv(ADF90_Symbol_492,DAY)
CALL sax(ADF90_Symbol_491%v,ADF90_Symbol_492,YEAR)
SV%v = 1.0D+12
CALL zero_deriv(SV)
ADF90_Symbol_187%v = (SV%v*1.6D+01)
ADF90_Symbol_192%v = (ADF90_Symbol_187%v/4.00000000000000019169D-0
+4)
ADF90_Symbol_190%v = 1.6D+01
ADF90_Symbol_188%v = 2500 _w2f__i8
U0%v = ADF90_Symbol_192%v
ADF90_Symbol_493%v = (ADF90_Symbol_190%v*ADF90_Symbol_188%v)
CALL setderiv(ADF90_Symbol_494,SV)
CALL sax(ADF90_Symbol_493%v,ADF90_Symbol_494,U0)
ALPHA%v = 1.6679999999999998864D-04
CALL zero_deriv(ALPHA)
BETA%v = 7.81000000000000010186D-04
CALL zero_deriv(BETA)
DAYS_PER_50M_MIXED_LAYER%v = 5.0D+01
CALL zero_deriv(DAYS_PER_50M_MIXED_LAYER)
ADF90_Symbol_193%v = (DAY%v*3.0D+02)
ADF90_Symbol_198%v = (1D00/ADF90_Symbol_193%v)
ADF90_Symbol_196%v = 3.0D+02
ADF90_Symbol_195%v = (-(1D00/(ADF90_Symbol_193%v*ADF90_Symbol_193%
+v)))
GAMMA_T%v = ADF90_Symbol_198%v
ADF90_Symbol_495%v = (ADF90_Symbol_196%v*ADF90_Symbol_195%v)
CALL setderiv(ADF90_Symbol_496,DAY)
CALL sax(ADF90_Symbol_495%v,ADF90_Symbol_496,GAMMA_T)
ADF90_Symbol_202%v = (BHEIGHT(1)%v/5.0D+03)
ADF90_Symbol_203%v = (DAY%v*DAYS_PER_50M_MIXED_LAYER%v)
ADF90_Symbol_199%v = (ADF90_Symbol_202%v*ADF90_Symbol_203%v)
ADF90_Symbol_210%v = (0.0D00/ADF90_Symbol_199%v)
ADF90_Symbol_206%v = 0 _w2f__i8
ADF90_Symbol_204%v = ADF90_Symbol_203%v
ADF90_Symbol_208%v = DAYS_PER_50M_MIXED_LAYER%v
ADF90_Symbol_209%v = DAY%v
ADF90_Symbol_205%v = ADF90_Symbol_202%v
ADF90_Symbol_201%v = (-0.0D00/(ADF90_Symbol_199%v*ADF90_Symbol_199
+%v))
GAMMA_S%v = ADF90_Symbol_210%v
ADF90_Symbol_497%v = (ADF90_Symbol_204%v*ADF90_Symbol_201%v)
ADF90_Symbol_498%v = (ADF90_Symbol_205%v*ADF90_Symbol_201%v)
ADF90_Symbol_499%v = (ADF90_Symbol_208%v*ADF90_Symbol_498%v)
ADF90_Symbol_501%v = (ADF90_Symbol_209%v*ADF90_Symbol_498%v)
ADF90_Symbol_503%v = (ADF90_Symbol_206%v*ADF90_Symbol_497%v)
CALL setderiv(ADF90_Symbol_504,BHEIGHT(1))
CALL setderiv(ADF90_Symbol_502,DAYS_PER_50M_MIXED_LAYER)
CALL setderiv(ADF90_Symbol_500,DAY)
CALL sax(ADF90_Symbol_499%v,ADF90_Symbol_500,GAMMA_S)
CALL saxpy(ADF90_Symbol_501%v,ADF90_Symbol_502,GAMMA_S)
CALL saxpy(ADF90_Symbol_503%v,ADF90_Symbol_504,GAMMA_S)
EPSILON_IC%v = (-1.00000000000000004792D-04)
CALL zero_deriv(EPSILON_IC)
ADF90_Symbol_213%v = (DAY%v*1.5D+01)
ADF90_Symbol_211%v = 1.5D+01
NOISE_CORRELATION_TIME%v = ADF90_Symbol_213%v
ADF90_Symbol_505%v = ADF90_Symbol_211%v
CALL setderiv(ADF90_Symbol_506,DAY)
CALL sax(ADF90_Symbol_505%v,ADF90_Symbol_506,NOISE_CORRELATION_TIM
+E)
ADF90_Symbol_216%v = (DAY%v*5.0D00)
ADF90_Symbol_214%v = 5.0D00
DELTA_T%v = ADF90_Symbol_216%v
ADF90_Symbol_507%v = ADF90_Symbol_214%v
CALL setderiv(ADF90_Symbol_508,DAY)
CALL sax(ADF90_Symbol_507%v,ADF90_Symbol_508,DELTA_T)
WRITE(*,*)'delta_t = ',DELTA_T%v
ADF90_Symbol_219%v = (YEAR%v*5.0D+01)
ADF90_Symbol_217%v = 5.0D+01
INTEGRATION_TIME%v = ADF90_Symbol_219%v
ADF90_Symbol_509%v = ADF90_Symbol_217%v
CALL setderiv(ADF90_Symbol_510,YEAR)
CALL sax(ADF90_Symbol_509%v,ADF90_Symbol_510,INTEGRATION_TIME)
WRITE(*,*)'integration_time = ',INTEGRATION_TIME%v
N_MAX = INT(INTEGRATION_TIME%v/DELTA_T%v)
WRITE(*, *) 'n_max = ', N_MAX
FDEPS%v = 9.99999999999999954748D-07
CALL zero_deriv(FDEPS)
ADF90_Symbol_222%v = (THOUSAND%v/3.2680000000000000715D-02)
ADF90_Symbol_220%v = 31 _w2f__i8
Y(1)%v = ADF90_Symbol_222%v
ADF90_Symbol_511%v = ADF90_Symbol_220%v
CALL setderiv(ADF90_Symbol_512,THOUSAND)
CALL sax(ADF90_Symbol_511%v,ADF90_Symbol_512,Y(1))
ADF90_Symbol_225%v = (THOUSAND%v/7.9399999999999991418D-03)
ADF90_Symbol_223%v = 126 _w2f__i8
Y(2)%v = ADF90_Symbol_225%v
ADF90_Symbol_513%v = ADF90_Symbol_223%v
CALL setderiv(ADF90_Symbol_514,THOUSAND)
CALL sax(ADF90_Symbol_513%v,ADF90_Symbol_514,Y(2))
ADF90_Symbol_228%v = (THOUSAND%v/1.39999999999999998578D-03)
ADF90_Symbol_226%v = 714 _w2f__i8
Y(3)%v = ADF90_Symbol_228%v
ADF90_Symbol_515%v = ADF90_Symbol_226%v
CALL setderiv(ADF90_Symbol_516,THOUSAND)
CALL sax(ADF90_Symbol_515%v,ADF90_Symbol_516,Y(3))
ADF90_Symbol_231%v = (THOUSAND%v/1.41699999999999992628D-01)
ADF90_Symbol_229%v = 7 _w2f__i8
Y(4)%v = ADF90_Symbol_231%v
ADF90_Symbol_517%v = ADF90_Symbol_229%v
CALL setderiv(ADF90_Symbol_518,THOUSAND)
CALL sax(ADF90_Symbol_517%v,ADF90_Symbol_518,Y(4))
ADF90_Symbol_234%v = (THOUSAND%v/1.28599999999999992095D-01)
ADF90_Symbol_232%v = 8 _w2f__i8
Y(5)%v = ADF90_Symbol_234%v
ADF90_Symbol_519%v = ADF90_Symbol_232%v
CALL setderiv(ADF90_Symbol_520,THOUSAND)
CALL sax(ADF90_Symbol_519%v,ADF90_Symbol_520,Y(5))
ADF90_Symbol_237%v = (THOUSAND%v/8.7800000000000003042D-02)
ADF90_Symbol_235%v = 11 _w2f__i8
Y(6)%v = ADF90_Symbol_237%v
ADF90_Symbol_521%v = ADF90_Symbol_235%v
CALL setderiv(ADF90_Symbol_522,THOUSAND)
CALL sax(ADF90_Symbol_521%v,ADF90_Symbol_522,Y(6))
ADF90_Symbol_240%v = (ALPHA%v*DELTA%v)
ADF90_Symbol_238%v = DELTA%v
ADF90_Symbol_239%v = ALPHA%v
R(1)%v = ADF90_Symbol_240%v
ADF90_Symbol_523%v = ADF90_Symbol_238%v
ADF90_Symbol_525%v = ADF90_Symbol_239%v
CALL setderiv(ADF90_Symbol_526,DELTA)
CALL setderiv(ADF90_Symbol_524,ALPHA)
CALL sax(ADF90_Symbol_523%v,ADF90_Symbol_524,R(1))
CALL saxpy(ADF90_Symbol_525%v,ADF90_Symbol_526,R(1))
R(2)%v = (-ALPHA%v)
ADF90_Symbol_241%v = -1 _w2f__i8
ADF90_Symbol_527%v = ADF90_Symbol_241%v
CALL setderiv(ADF90_Symbol_528,ALPHA)
CALL sax(ADF90_Symbol_527%v,ADF90_Symbol_528,R(2))
ADF90_Symbol_242%v = (1.0D00-DELTA%v)
ADF90_Symbol_247%v = (ALPHA%v*ADF90_Symbol_242%v)
ADF90_Symbol_243%v = ADF90_Symbol_242%v
ADF90_Symbol_246%v = -1 _w2f__i8
ADF90_Symbol_244%v = ALPHA%v
R(3)%v = ADF90_Symbol_247%v
ADF90_Symbol_529%v = (ADF90_Symbol_246%v*ADF90_Symbol_244%v)
ADF90_Symbol_531%v = ADF90_Symbol_243%v
CALL setderiv(ADF90_Symbol_532,ALPHA)
CALL setderiv(ADF90_Symbol_530,DELTA)
CALL sax(ADF90_Symbol_529%v,ADF90_Symbol_530,R(3))
CALL saxpy(ADF90_Symbol_531%v,ADF90_Symbol_532,R(3))
ADF90_Symbol_251%v = (-(BETA%v*DELTA%v))
ADF90_Symbol_249%v = DELTA%v
ADF90_Symbol_250%v = BETA%v
ADF90_Symbol_248%v = -1 _w2f__i8
R(4)%v = ADF90_Symbol_251%v
ADF90_Symbol_533%v = (ADF90_Symbol_249%v*ADF90_Symbol_248%v)
ADF90_Symbol_535%v = (ADF90_Symbol_250%v*ADF90_Symbol_248%v)
CALL setderiv(ADF90_Symbol_536,DELTA)
CALL setderiv(ADF90_Symbol_534,BETA)
CALL sax(ADF90_Symbol_533%v,ADF90_Symbol_534,R(4))
CALL saxpy(ADF90_Symbol_535%v,ADF90_Symbol_536,R(4))
R(5)%v = BETA%v
CALL setderiv(R(5),BETA)
ADF90_Symbol_253%v = (1.0D00-DELTA%v)
ADF90_Symbol_258%v = (-(BETA%v*ADF90_Symbol_253%v))
ADF90_Symbol_254%v = ADF90_Symbol_253%v
ADF90_Symbol_257%v = -1 _w2f__i8
ADF90_Symbol_255%v = BETA%v
ADF90_Symbol_252%v = -1 _w2f__i8
R(6)%v = ADF90_Symbol_258%v
ADF90_Symbol_537%v = (ADF90_Symbol_257%v*ADF90_Symbol_255%v)
ADF90_Symbol_538%v = (ADF90_Symbol_254%v*ADF90_Symbol_252%v)
ADF90_Symbol_540%v = (ADF90_Symbol_537%v*ADF90_Symbol_252%v)
CALL setderiv(ADF90_Symbol_541,DELTA)
CALL setderiv(ADF90_Symbol_539,BETA)
CALL sax(ADF90_Symbol_538%v,ADF90_Symbol_539,R(6))
CALL saxpy(ADF90_Symbol_540%v,ADF90_Symbol_541,R(6))
DO L = 1, 6, 1
ADF90_Symbol_259%v = (R(L)%v*U0%v)
ADF90_Symbol_264%v = (ADF90_Symbol_259%v/SV%v)
ADF90_Symbol_262%v = U0%v
ADF90_Symbol_263%v = R(L)%v
ADF90_Symbol_260%v = (1 _w2f__i8/SV%v)
ADF90_Symbol_261%v = (-(ADF90_Symbol_259%v/(SV%v*SV%v)))
R(L)%v = ADF90_Symbol_264%v
ADF90_Symbol_542%v = (ADF90_Symbol_262%v*ADF90_Symbol_260%v)
ADF90_Symbol_544%v = (ADF90_Symbol_263%v*ADF90_Symbol_260%v)
ADF90_Symbol_546%v = ADF90_Symbol_261%v
CALL setderiv(ADF90_Symbol_547,SV)
CALL setderiv(ADF90_Symbol_545,U0)
CALL setderiv(ADF90_Symbol_543,R(L))
CALL sax(ADF90_Symbol_542%v,ADF90_Symbol_543,R(L))
CALL saxpy(ADF90_Symbol_544%v,ADF90_Symbol_545,R(L))
CALL saxpy(ADF90_Symbol_546%v,ADF90_Symbol_547,R(L))
END DO
DO L = 1, 6, 1
IF(L .LE. 3) THEN
PROJ_T(L)%v = 1.0D00
CALL zero_deriv(PROJ_T(L))
PROJ_S(L)%v = 0.0D00
CALL zero_deriv(PROJ_S(L))
ELSE
PROJ_T(L)%v = 0.0D00
CALL zero_deriv(PROJ_T(L))
PROJ_S(L)%v = 1.0D00
CALL zero_deriv(PROJ_S(L))
ENDIF
END DO
DO L = 1, 6, 1
ADF90_Symbol_267%v = (PROJ_T(L)%v*R(L)%v)
ADF90_Symbol_265%v = R(L)%v
ADF90_Symbol_266%v = PROJ_T(L)%v
R_T(L)%v = ADF90_Symbol_267%v
ADF90_Symbol_548%v = ADF90_Symbol_265%v
ADF90_Symbol_550%v = ADF90_Symbol_266%v
CALL setderiv(ADF90_Symbol_551,R(L))
CALL setderiv(ADF90_Symbol_549,PROJ_T(L))
CALL sax(ADF90_Symbol_548%v,ADF90_Symbol_549,R_T(L))
CALL saxpy(ADF90_Symbol_550%v,ADF90_Symbol_551,R_T(L))
ADF90_Symbol_270%v = (PROJ_S(L)%v*R(L)%v)
ADF90_Symbol_268%v = R(L)%v
ADF90_Symbol_269%v = PROJ_S(L)%v
R_S(L)%v = ADF90_Symbol_270%v
ADF90_Symbol_552%v = ADF90_Symbol_268%v
ADF90_Symbol_554%v = ADF90_Symbol_269%v
CALL setderiv(ADF90_Symbol_555,R(L))
CALL setderiv(ADF90_Symbol_553,PROJ_S(L))
CALL sax(ADF90_Symbol_552%v,ADF90_Symbol_553,R_S(L))
CALL saxpy(ADF90_Symbol_554%v,ADF90_Symbol_555,R_S(L))
END DO
R1(1)%v = 1.0D00
CALL zero_deriv(R1(1))
R1(2)%v = (-1.0D00)
CALL zero_deriv(R1(2))
R1(3)%v = 0.0D00
CALL zero_deriv(R1(3))
R1(4)%v = 0.0D00
CALL zero_deriv(R1(4))
R1(5)%v = 0.0D00
CALL zero_deriv(R1(5))
R1(6)%v = 0.0D00
CALL zero_deriv(R1(6))
DO J = 1, 6, 1
DO I = 1, 6, 1
ADF90_Symbol_273%v = (R(I)%v*R(J)%v)
ADF90_Symbol_271%v = R(J)%v
ADF90_Symbol_272%v = R(I)%v
X(I,J)%v = ADF90_Symbol_273%v
ADF90_Symbol_556%v = ADF90_Symbol_271%v
ADF90_Symbol_558%v = ADF90_Symbol_272%v
CALL setderiv(ADF90_Symbol_559,R(J))
CALL setderiv(ADF90_Symbol_557,R(I))
CALL sax(ADF90_Symbol_556%v,ADF90_Symbol_557,X(I,J))
CALL saxpy(ADF90_Symbol_558%v,ADF90_Symbol_559,X(I,J))
END DO
END DO
EPSILON_REGULARIZE%v = 1.00000000000000002092D-08
CALL zero_deriv(EPSILON_REGULARIZE)
DO J = 1, 6, 1
DO I = 1, 6, 1
X(I,J)%v = (X(I,J)%v+EPSILON_REGULARIZE%v)
ADF90_Symbol_274%v = 1 _w2f__i8
ADF90_Symbol_275%v = 1 _w2f__i8
ADF90_Symbol_560%v = ADF90_Symbol_274%v
ADF90_Symbol_562%v = ADF90_Symbol_275%v
CALL setderiv(ADF90_Symbol_563,EPSILON_REGULARIZE)
CALL setderiv(ADF90_Symbol_561,X(I,J))
CALL sax(ADF90_Symbol_560%v,ADF90_Symbol_561,X(I,J))
CALL saxpy(ADF90_Symbol_562%v,ADF90_Symbol_563,X(I,J))
END DO
END DO
RETURN
END SUBROUTINE
SUBROUTINE box_model_body()
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_numbers_i/ N_MAX
INTEGER(w2f__i4) N_MAX
C
C **** Local Variables and functions ****
C
EXTERNAL box_final_state
EXTERNAL box_forward
EXTERNAL box_ini_fields
INTEGER(w2f__i4) ILEV1
INTEGER(w2f__i4) ILEV2
INTEGER(w2f__i4) ILOOP
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) MAXLEV2
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
WRITE(*, *) 'box_ini_fields START'
CALL box_ini_fields()
MAXLEV2 = (N_MAX / 73_w2f__i8)
IF(N_MAX .GT. 3650) THEN
STOP 'NEED TO SET nlev1*nlev2 >= n_max '
RETURN
ENDIF
DO ILEV2 = 1, 50, 1
IF(ILEV2 .LE. MAXLEV2) THEN
DO ILEV1 = 1, 73, 1
ILOOP = ILEV1
IF(ILOOP .LE. N_MAX) THEN
CALL box_forward(ILEV1)
ENDIF
END DO
ENDIF
END DO
WRITE(*, *) 'box_final START'
CALL box_final_state()
RETURN
END SUBROUTINE
SUBROUTINE box_density(TLOC, SLOC, RHOLOC)
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_density_r/ ALPHA, BETA
type(active) :: ALPHA
type(active) :: BETA
type(active) :: ADF90_Symbol_0
type(active) :: ADF90_Symbol_1
type(active) :: ADF90_Symbol_2
type(active) :: ADF90_Symbol_3
type(active) :: ADF90_Symbol_4
type(active) :: ADF90_Symbol_5
type(active) :: ADF90_Symbol_6
type(active) :: ADF90_Symbol_284
type(active) :: ADF90_Symbol_290
type(active) :: ADF90_Symbol_285
type(active) :: ADF90_Symbol_291
type(active) :: ADF90_Symbol_286
type(active) :: ADF90_Symbol_287
type(active) :: ADF90_Symbol_288
type(active) :: ADF90_Symbol_289
C
C **** Parameters and Result ****
C
type(active) :: TLOC(1 : 3)
type(active) :: SLOC(1 : 3)
type(active) :: RHOLOC(1 : 3)
C
C **** Local Variables and functions ****
C
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) L
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
DO L = 1, 3, 1
ADF90_Symbol_6%v = ((SLOC(L)%v*BETA%v)-(TLOC(L)%v*ALPHA%v))
ADF90_Symbol_2%v = BETA%v
ADF90_Symbol_3%v = SLOC(L)%v
ADF90_Symbol_0%v = 1 _w2f__i8
ADF90_Symbol_4%v = ALPHA%v
ADF90_Symbol_5%v = TLOC(L)%v
ADF90_Symbol_1%v = -1 _w2f__i8
RHOLOC(L)%v = ADF90_Symbol_6%v
ADF90_Symbol_284%v = (ADF90_Symbol_2%v*ADF90_Symbol_0%v)
ADF90_Symbol_286%v = (ADF90_Symbol_3%v*ADF90_Symbol_0%v)
ADF90_Symbol_288%v = (ADF90_Symbol_4%v*ADF90_Symbol_1%v)
ADF90_Symbol_290%v = (ADF90_Symbol_5%v*ADF90_Symbol_1%v)
CALL setderiv(ADF90_Symbol_291,ALPHA)
CALL setderiv(ADF90_Symbol_289,TLOC(L))
CALL setderiv(ADF90_Symbol_287,BETA)
CALL setderiv(ADF90_Symbol_285,SLOC(L))
CALL sax(ADF90_Symbol_284%v,ADF90_Symbol_285,RHOLOC(L))
CALL saxpy(ADF90_Symbol_286%v,ADF90_Symbol_287,RHOLOC(L))
CALL saxpy(ADF90_Symbol_288%v,ADF90_Symbol_289,RHOLOC(L))
CALL saxpy(ADF90_Symbol_290%v,ADF90_Symbol_291,RHOLOC(L))
END DO
RETURN
END SUBROUTINE
SUBROUTINE box_transport(RHOLOC, UVELLOC)
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_transport_r/ U0, DELTA
type(active) :: U0
type(active) :: DELTA
type(active) :: ADF90_Symbol_7
type(active) :: ADF90_Symbol_8
type(active) :: ADF90_Symbol_9
type(active) :: ADF90_Symbol_10
type(active) :: ADF90_Symbol_11
type(active) :: ADF90_Symbol_12
type(active) :: ADF90_Symbol_13
type(active) :: ADF90_Symbol_14
type(active) :: ADF90_Symbol_15
type(active) :: ADF90_Symbol_16
type(active) :: ADF90_Symbol_21
type(active) :: ADF90_Symbol_17
type(active) :: ADF90_Symbol_22
type(active) :: ADF90_Symbol_18
type(active) :: ADF90_Symbol_19
type(active) :: ADF90_Symbol_300
type(active) :: ADF90_Symbol_301
type(active) :: ADF90_Symbol_302
type(active) :: ADF90_Symbol_303
type(active) :: ADF90_Symbol_304
type(active) :: ADF90_Symbol_305
type(active) :: ADF90_Symbol_306
type(active) :: ADF90_Symbol_307
type(active) :: ADF90_Symbol_292
type(active) :: ADF90_Symbol_293
type(active) :: ADF90_Symbol_294
type(active) :: ADF90_Symbol_295
type(active) :: ADF90_Symbol_296
type(active) :: ADF90_Symbol_297
type(active) :: ADF90_Symbol_298
type(active) :: ADF90_Symbol_299
C
C **** Parameters and Result ****
C
type(active) :: UVELLOC
type(active) :: RHOLOC(1 : 3)
C
C **** Local Variables and functions ****
C
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
ADF90_Symbol_17%v = (1.0D00-DELTA%v)
ADF90_Symbol_8%v = (((RHOLOC(1)%v*DELTA%v)+(RHOLOC(3)%v*ADF90_Symb
+ol_17%v))-RHOLOC(2)%v)
ADF90_Symbol_22%v = (-(U0%v*ADF90_Symbol_8%v))
ADF90_Symbol_9%v = ADF90_Symbol_8%v
ADF90_Symbol_15%v = DELTA%v
ADF90_Symbol_16%v = RHOLOC(1)%v
ADF90_Symbol_13%v = 1 _w2f__i8
ADF90_Symbol_18%v = ADF90_Symbol_17%v
ADF90_Symbol_21%v = -1 _w2f__i8
ADF90_Symbol_19%v = RHOLOC(3)%v
ADF90_Symbol_14%v = 1 _w2f__i8
ADF90_Symbol_11%v = 1 _w2f__i8
ADF90_Symbol_12%v = -1 _w2f__i8
ADF90_Symbol_10%v = U0%v
ADF90_Symbol_7%v = -1 _w2f__i8
UVELLOC%v = ADF90_Symbol_22%v
ADF90_Symbol_292%v = (ADF90_Symbol_9%v*ADF90_Symbol_7%v)
ADF90_Symbol_294%v = (ADF90_Symbol_10%v*ADF90_Symbol_7%v)
ADF90_Symbol_295%v = (ADF90_Symbol_11%v*ADF90_Symbol_294%v)
ADF90_Symbol_296%v = (ADF90_Symbol_12%v*ADF90_Symbol_294%v)
ADF90_Symbol_298%v = (ADF90_Symbol_13%v*ADF90_Symbol_295%v)
ADF90_Symbol_299%v = (ADF90_Symbol_14%v*ADF90_Symbol_295%v)
ADF90_Symbol_300%v = (ADF90_Symbol_18%v*ADF90_Symbol_299%v)
ADF90_Symbol_302%v = (ADF90_Symbol_19%v*ADF90_Symbol_299%v)
ADF90_Symbol_303%v = (ADF90_Symbol_15%v*ADF90_Symbol_298%v)
ADF90_Symbol_305%v = (ADF90_Symbol_16%v*ADF90_Symbol_298%v)
ADF90_Symbol_306%v = (ADF90_Symbol_305%v+(ADF90_Symbol_21%v*ADF90_
+Symbol_302%v))
CALL setderiv(ADF90_Symbol_307,DELTA)
CALL setderiv(ADF90_Symbol_304,RHOLOC(1))
CALL setderiv(ADF90_Symbol_301,RHOLOC(3))
CALL setderiv(ADF90_Symbol_297,RHOLOC(2))
CALL setderiv(ADF90_Symbol_293,U0)
CALL sax(ADF90_Symbol_292%v,ADF90_Symbol_293,UVELLOC)
CALL saxpy(ADF90_Symbol_296%v,ADF90_Symbol_297,UVELLOC)
CALL saxpy(ADF90_Symbol_300%v,ADF90_Symbol_301,UVELLOC)
CALL saxpy(ADF90_Symbol_303%v,ADF90_Symbol_304,UVELLOC)
CALL saxpy(ADF90_Symbol_306%v,ADF90_Symbol_307,UVELLOC)
RETURN
END SUBROUTINE
SUBROUTINE box_robert_filter(FLDNOW, FLDOLD, FLDNEW)
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_robert_filter_r/ ROBERT_FILTER_COEFF
type(active) :: ROBERT_FILTER_COEFF
type(active) :: ADF90_Symbol_130
type(active) :: ADF90_Symbol_126
type(active) :: ADF90_Symbol_131
type(active) :: ADF90_Symbol_127
type(active) :: ADF90_Symbol_132
type(active) :: ADF90_Symbol_128
type(active) :: ADF90_Symbol_133
type(active) :: ADF90_Symbol_129
type(active) :: ADF90_Symbol_134
type(active) :: ADF90_Symbol_135
type(active) :: ADF90_Symbol_137
type(active) :: ADF90_Symbol_423
type(active) :: ADF90_Symbol_424
type(active) :: ADF90_Symbol_430
type(active) :: ADF90_Symbol_425
type(active) :: ADF90_Symbol_431
type(active) :: ADF90_Symbol_426
type(active) :: ADF90_Symbol_432
type(active) :: ADF90_Symbol_427
type(active) :: ADF90_Symbol_433
type(active) :: ADF90_Symbol_428
type(active) :: ADF90_Symbol_434
type(active) :: ADF90_Symbol_429
type(active) :: ADF90_Symbol_435
C
C **** Parameters and Result ****
C
type(active) :: FLDNOW(1 : 3)
type(active) :: FLDOLD(1 : 3)
type(active) :: FLDNEW(1 : 3)
C
C **** Local Variables and functions ****
C
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) L
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
DO L = 1, 3, 1
ADF90_Symbol_128%v = (FLDOLD(L)%v+(FLDNEW(L)%v-(FLDNOW(L)%v*2.0D
+00)))
ADF90_Symbol_137%v = (FLDNOW(L)%v+(ROBERT_FILTER_COEFF%v*ADF90_S
+ymbol_128%v))
ADF90_Symbol_126%v = 1 _w2f__i8
ADF90_Symbol_129%v = ADF90_Symbol_128%v
ADF90_Symbol_131%v = 1 _w2f__i8
ADF90_Symbol_133%v = 1 _w2f__i8
ADF90_Symbol_135%v = 2.0D00
ADF90_Symbol_134%v = -1 _w2f__i8
ADF90_Symbol_132%v = 1 _w2f__i8
ADF90_Symbol_130%v = ROBERT_FILTER_COEFF%v
ADF90_Symbol_127%v = 1 _w2f__i8
FLDNOW(L)%v = ADF90_Symbol_137%v
ADF90_Symbol_423%v = (ADF90_Symbol_129%v*ADF90_Symbol_127%v)
ADF90_Symbol_425%v = (ADF90_Symbol_130%v*ADF90_Symbol_127%v)
ADF90_Symbol_426%v = (ADF90_Symbol_131%v*ADF90_Symbol_425%v)
ADF90_Symbol_428%v = (ADF90_Symbol_132%v*ADF90_Symbol_425%v)
ADF90_Symbol_429%v = (ADF90_Symbol_133%v*ADF90_Symbol_428%v)
ADF90_Symbol_431%v = (ADF90_Symbol_134%v*ADF90_Symbol_428%v)
ADF90_Symbol_432%v = (ADF90_Symbol_135%v*ADF90_Symbol_431%v)
ADF90_Symbol_434%v = ADF90_Symbol_126%v
CALL setderiv(ADF90_Symbol_435,FLDNOW(L))
CALL setderiv(ADF90_Symbol_433,FLDNOW(L))
CALL setderiv(ADF90_Symbol_430,FLDNEW(L))
CALL setderiv(ADF90_Symbol_427,FLDOLD(L))
CALL setderiv(ADF90_Symbol_424,ROBERT_FILTER_COEFF)
CALL sax(ADF90_Symbol_423%v,ADF90_Symbol_424,FLDNOW(L))
CALL saxpy(ADF90_Symbol_426%v,ADF90_Symbol_427,FLDNOW(L))
CALL saxpy(ADF90_Symbol_429%v,ADF90_Symbol_430,FLDNOW(L))
CALL saxpy(ADF90_Symbol_432%v,ADF90_Symbol_433,FLDNOW(L))
CALL saxpy(ADF90_Symbol_434%v,ADF90_Symbol_435,FLDNOW(L))
END DO
RETURN
END SUBROUTINE
SUBROUTINE box_cycle_fields()
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /fi_state_r/ TOLD, TNOW, TNEW, SOLD, SNOW, SNEW
type(active) :: TOLD(1 : 3)
type(active) :: TNOW(1 : 3)
type(active) :: TNEW(1 : 3)
type(active) :: SOLD(1 : 3)
type(active) :: SNOW(1 : 3)
type(active) :: SNEW(1 : 3)
C
C **** Local Variables and functions ****
C
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) L
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
DO L = 1, 3, 1
TOLD(L)%v = TNOW(L)%v
CALL setderiv(TOLD(L),TNOW(L))
TNOW(L)%v = TNEW(L)%v
CALL setderiv(TNOW(L),TNEW(L))
SOLD(L)%v = SNOW(L)%v
CALL setderiv(SOLD(L),SNOW(L))
SNOW(L)%v = SNEW(L)%v
CALL setderiv(SNOW(L),SNEW(L))
END DO
RETURN
END SUBROUTINE
SUBROUTINE box_update(FLDNEW, FLDOLD, DFLDDT)
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_timestep_r/ DELTA_T
type(active) :: DELTA_T
type(active) :: ADF90_Symbol_280
type(active) :: ADF90_Symbol_281
type(active) :: ADF90_Symbol_276
type(active) :: ADF90_Symbol_277
type(active) :: ADF90_Symbol_283
type(active) :: ADF90_Symbol_278
type(active) :: ADF90_Symbol_279
type(active) :: ADF90_Symbol_564
type(active) :: ADF90_Symbol_570
type(active) :: ADF90_Symbol_565
type(active) :: ADF90_Symbol_566
type(active) :: ADF90_Symbol_567
type(active) :: ADF90_Symbol_568
type(active) :: ADF90_Symbol_569
C
C **** Parameters and Result ****
C
type(active) :: FLDNEW(1 : 3)
type(active) :: FLDOLD(1 : 3)
type(active) :: DFLDDT(1 : 3)
C
C **** Local Variables and functions ****
C
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) L
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
DO L = 1, 3, 1
ADF90_Symbol_278%v = (DELTA_T%v*2.0D00)
ADF90_Symbol_283%v = (FLDOLD(L)%v+(DFLDDT(L)%v*ADF90_Symbol_278%
+v))
ADF90_Symbol_276%v = 1 _w2f__i8
ADF90_Symbol_279%v = ADF90_Symbol_278%v
ADF90_Symbol_281%v = 2.0D00
ADF90_Symbol_280%v = DFLDDT(L)%v
ADF90_Symbol_277%v = 1 _w2f__i8
FLDNEW(L)%v = ADF90_Symbol_283%v
ADF90_Symbol_564%v = (ADF90_Symbol_281%v*ADF90_Symbol_280%v)
ADF90_Symbol_565%v = (ADF90_Symbol_279%v*ADF90_Symbol_277%v)
ADF90_Symbol_567%v = (ADF90_Symbol_564%v*ADF90_Symbol_277%v)
ADF90_Symbol_569%v = ADF90_Symbol_276%v
CALL setderiv(ADF90_Symbol_570,FLDOLD(L))
CALL setderiv(ADF90_Symbol_568,DELTA_T)
CALL setderiv(ADF90_Symbol_566,DFLDDT(L))
CALL sax(ADF90_Symbol_565%v,ADF90_Symbol_566,FLDNEW(L))
CALL saxpy(ADF90_Symbol_567%v,ADF90_Symbol_568,FLDNEW(L))
CALL saxpy(ADF90_Symbol_569%v,ADF90_Symbol_570,FLDNEW(L))
END DO
RETURN
END SUBROUTINE
SUBROUTINE box_timestep(GAMMALOC, FLDSTAR, EXTFORLOC, UVELLOC,
> FLDNOW, FLDOLD, FLDNEW)
use w2f__types
use active_module
IMPLICIT NONE
C
C **** Global Variables ****
C
COMMON /pa_geometry_r/ BLENGTH, BHEIGHT, BWIDTH, AREA, VOL
type(active) :: BLENGTH(1 : 3)
type(active) :: BHEIGHT(1 : 3)
type(active) :: BWIDTH
type(active) :: AREA(1 : 3)
type(active) :: VOL(1 : 3)
type(active) :: ADF90_Symbol_23
type(active) :: ADF90_Symbol_24
type(active) :: ADF90_Symbol_25
type(active) :: ADF90_Symbol_30
type(active) :: ADF90_Symbol_26
type(active) :: ADF90_Symbol_31
type(active) :: ADF90_Symbol_27
type(active) :: ADF90_Symbol_32
type(active) :: ADF90_Symbol_28
type(active) :: ADF90_Symbol_33
type(active) :: ADF90_Symbol_29
type(active) :: ADF90_Symbol_34
type(active) :: ADF90_Symbol_35
type(active) :: ADF90_Symbol_40
type(active) :: ADF90_Symbol_36
type(active) :: ADF90_Symbol_41
type(active) :: ADF90_Symbol_37
type(active) :: ADF90_Symbol_42
type(active) :: ADF90_Symbol_38
type(active) :: ADF90_Symbol_43
type(active) :: ADF90_Symbol_39
type(active) :: ADF90_Symbol_44
type(active) :: ADF90_Symbol_45
type(active) :: ADF90_Symbol_50
type(active) :: ADF90_Symbol_46
type(active) :: ADF90_Symbol_51
type(active) :: ADF90_Symbol_47
type(active) :: ADF90_Symbol_52
type(active) :: ADF90_Symbol_48
type(active) :: ADF90_Symbol_53
type(active) :: ADF90_Symbol_49
type(active) :: ADF90_Symbol_54
type(active) :: ADF90_Symbol_55
type(active) :: ADF90_Symbol_60
type(active) :: ADF90_Symbol_56
type(active) :: ADF90_Symbol_61
type(active) :: ADF90_Symbol_57
type(active) :: ADF90_Symbol_62
type(active) :: ADF90_Symbol_58
type(active) :: ADF90_Symbol_63
type(active) :: ADF90_Symbol_59
type(active) :: ADF90_Symbol_64
type(active) :: ADF90_Symbol_65
type(active) :: ADF90_Symbol_70
type(active) :: ADF90_Symbol_66
type(active) :: ADF90_Symbol_71
type(active) :: ADF90_Symbol_67
type(active) :: ADF90_Symbol_72
type(active) :: ADF90_Symbol_68
type(active) :: ADF90_Symbol_73
type(active) :: ADF90_Symbol_69
type(active) :: ADF90_Symbol_74
type(active) :: ADF90_Symbol_75
type(active) :: ADF90_Symbol_80
type(active) :: ADF90_Symbol_76
type(active) :: ADF90_Symbol_81
type(active) :: ADF90_Symbol_77
type(active) :: ADF90_Symbol_82
type(active) :: ADF90_Symbol_78
type(active) :: ADF90_Symbol_83
type(active) :: ADF90_Symbol_79
type(active) :: ADF90_Symbol_84
type(active) :: ADF90_Symbol_85
type(active) :: ADF90_Symbol_90
type(active) :: ADF90_Symbol_86
type(active) :: ADF90_Symbol_91
type(active) :: ADF90_Symbol_87
type(active) :: ADF90_Symbol_92
type(active) :: ADF90_Symbol_88
type(active) :: ADF90_Symbol_93
type(active) :: ADF90_Symbol_89
type(active) :: ADF90_Symbol_94
type(active) :: ADF90_Symbol_95
type(active) :: ADF90_Symbol_96
type(active) :: ADF90_Symbol_97
type(active) :: ADF90_Symbol_98
type(active) :: ADF90_Symbol_99
type(active) :: ADF90_Symbol_100
type(active) :: ADF90_Symbol_101
type(active) :: ADF90_Symbol_102
type(active) :: ADF90_Symbol_103
type(active) :: ADF90_Symbol_104
type(active) :: ADF90_Symbol_105
type(active) :: ADF90_Symbol_110
type(active) :: ADF90_Symbol_106
type(active) :: ADF90_Symbol_111
type(active) :: ADF90_Symbol_107
type(active) :: ADF90_Symbol_112
type(active) :: ADF90_Symbol_108
type(active) :: ADF90_Symbol_113
type(active) :: ADF90_Symbol_109
type(active) :: ADF90_Symbol_114
type(active) :: ADF90_Symbol_115
type(active) :: ADF90_Symbol_120
type(active) :: ADF90_Symbol_116
type(active) :: ADF90_Symbol_121
type(active) :: ADF90_Symbol_117
type(active) :: ADF90_Symbol_122
type(active) :: ADF90_Symbol_118
type(active) :: ADF90_Symbol_123
type(active) :: ADF90_Symbol_119
type(active) :: ADF90_Symbol_124
type(active) :: ADF90_Symbol_125
type(active) :: ADF90_Symbol_310
type(active) :: ADF90_Symbol_311
type(active) :: ADF90_Symbol_312
type(active) :: ADF90_Symbol_313
type(active) :: ADF90_Symbol_308
type(active) :: ADF90_Symbol_314
type(active) :: ADF90_Symbol_309
type(active) :: ADF90_Symbol_320
type(active) :: ADF90_Symbol_315
type(active) :: ADF90_Symbol_321
type(active) :: ADF90_Symbol_316
type(active) :: ADF90_Symbol_322
type(active) :: ADF90_Symbol_317
type(active) :: ADF90_Symbol_323
type(active) :: ADF90_Symbol_318
type(active) :: ADF90_Symbol_324
type(active) :: ADF90_Symbol_319
type(active) :: ADF90_Symbol_330
type(active) :: ADF90_Symbol_325
type(active) :: ADF90_Symbol_331
type(active) :: ADF90_Symbol_326
type(active) :: ADF90_Symbol_332
type(active) :: ADF90_Symbol_327
type(active) :: ADF90_Symbol_333
type(active) :: ADF90_Symbol_328
type(active) :: ADF90_Symbol_334
type(active) :: ADF90_Symbol_329
type(active) :: ADF90_Symbol_340
type(active) :: ADF90_Symbol_335
type(active) :: ADF90_Symbol_341
type(active) :: ADF90_Symbol_336
type(active) :: ADF90_Symbol_342
type(active) :: ADF90_Symbol_337
type(active) :: ADF90_Symbol_343
type(active) :: ADF90_Symbol_338
type(active) :: ADF90_Symbol_344
type(active) :: ADF90_Symbol_339
type(active) :: ADF90_Symbol_400
type(active) :: ADF90_Symbol_350
type(active) :: ADF90_Symbol_345
type(active) :: ADF90_Symbol_401
type(active) :: ADF90_Symbol_351
type(active) :: ADF90_Symbol_346
type(active) :: ADF90_Symbol_402
type(active) :: ADF90_Symbol_352
type(active) :: ADF90_Symbol_347
type(active) :: ADF90_Symbol_403
type(active) :: ADF90_Symbol_353
type(active) :: ADF90_Symbol_348
type(active) :: ADF90_Symbol_404
type(active) :: ADF90_Symbol_354
type(active) :: ADF90_Symbol_349
type(active) :: ADF90_Symbol_410
type(active) :: ADF90_Symbol_405
type(active) :: ADF90_Symbol_360
type(active) :: ADF90_Symbol_355
type(active) :: ADF90_Symbol_411
type(active) :: ADF90_Symbol_406
type(active) :: ADF90_Symbol_361
type(active) :: ADF90_Symbol_356
type(active) :: ADF90_Symbol_412
type(active) :: ADF90_Symbol_407
type(active) :: ADF90_Symbol_362
type(active) :: ADF90_Symbol_357
type(active) :: ADF90_Symbol_413
type(active) :: ADF90_Symbol_408
type(active) :: ADF90_Symbol_363
type(active) :: ADF90_Symbol_358
type(active) :: ADF90_Symbol_414
type(active) :: ADF90_Symbol_409
type(active) :: ADF90_Symbol_364
type(active) :: ADF90_Symbol_359
type(active) :: ADF90_Symbol_420
type(active) :: ADF90_Symbol_415
type(active) :: ADF90_Symbol_370
type(active) :: ADF90_Symbol_365
type(active) :: ADF90_Symbol_421
type(active) :: ADF90_Symbol_416
type(active) :: ADF90_Symbol_371
type(active) :: ADF90_Symbol_366
type(active) :: ADF90_Symbol_422
type(active) :: ADF90_Symbol_417
type(active) :: ADF90_Symbol_372
type(active) :: ADF90_Symbol_367
type(active) :: ADF90_Symbol_418
type(active) :: ADF90_Symbol_373
type(active) :: ADF90_Symbol_368
type(active) :: ADF90_Symbol_419
type(active) :: ADF90_Symbol_374
type(active) :: ADF90_Symbol_369
type(active) :: ADF90_Symbol_380
type(active) :: ADF90_Symbol_375
type(active) :: ADF90_Symbol_381
type(active) :: ADF90_Symbol_376
type(active) :: ADF90_Symbol_382
type(active) :: ADF90_Symbol_377
type(active) :: ADF90_Symbol_383
type(active) :: ADF90_Symbol_378
type(active) :: ADF90_Symbol_384
type(active) :: ADF90_Symbol_379
type(active) :: ADF90_Symbol_390
type(active) :: ADF90_Symbol_385
type(active) :: ADF90_Symbol_391
type(active) :: ADF90_Symbol_386
type(active) :: ADF90_Symbol_392
type(active) :: ADF90_Symbol_387
type(active) :: ADF90_Symbol_393
type(active) :: ADF90_Symbol_388
type(active) :: ADF90_Symbol_394
type(active) :: ADF90_Symbol_389
type(active) :: ADF90_Symbol_395
type(active) :: ADF90_Symbol_396
type(active) :: ADF90_Symbol_397
type(active) :: ADF90_Symbol_398
type(active) :: ADF90_Symbol_399
C
C **** Parameters and Result ****
C
type(active) :: GAMMALOC
type(active) :: UVELLOC
type(active) :: FLDSTAR(1 : 2)
type(active) :: EXTFORLOC(1 : 2)
type(active) :: FLDNOW(1 : 3)
type(active) :: FLDOLD(1 : 3)
type(active) :: FLDNEW(1 : 3)
C
C **** Local Variables and functions ****
C
EXTERNAL box_update
type(active) :: DFLDDT(1 : 3)
INTEGER(w2f__i4) ISBYTE
PARAMETER ( ISBYTE = 8)
INTEGER(w2f__i4) NDIM
PARAMETER ( NDIM = 3)
INTEGER(w2f__i4) NLEV1
PARAMETER ( NLEV1 = 73)
INTEGER(w2f__i4) NLEV2
PARAMETER ( NLEV2 = 50)
C
C **** statements ****
C
IF (UVELLOC%v .GE. 0.0D00) THEN
ADF90_Symbol_33%v = (FLDSTAR(1)%v-FLDNOW(1)%v)
ADF90_Symbol_30%v = (GAMMALOC%v*ADF90_Symbol_33%v)
ADF90_Symbol_38%v = (FLDNOW(3)%v-FLDNOW(1)%v)
ADF90_Symbol_23%v = ((EXTFORLOC(1)%v+(VOL(1)%v*ADF90_Symbol_30%v
+))+(UVELLOC%v*ADF90_Symbol_38%v))
ADF90_Symbol_43%v = (ADF90_Symbol_23%v/VOL(1)%v)
ADF90_Symbol_28%v = 1 _w2f__i8
ADF90_Symbol_31%v = ADF90_Symbol_30%v
ADF90_Symbol_34%v = ADF90_Symbol_33%v
ADF90_Symbol_36%v = 1 _w2f__i8
ADF90_Symbol_37%v = -1 _w2f__i8
ADF90_Symbol_35%v = GAMMALOC%v
ADF90_Symbol_32%v = VOL(1)%v
ADF90_Symbol_29%v = 1 _w2f__i8
ADF90_Symbol_26%v = 1 _w2f__i8
ADF90_Symbol_39%v = ADF90_Symbol_38%v
ADF90_Symbol_41%v = 1 _w2f__i8
ADF90_Symbol_42%v = -1 _w2f__i8
ADF90_Symbol_40%v = UVELLOC%v
ADF90_Symbol_27%v = 1 _w2f__i8
ADF90_Symbol_24%v = (1 _w2f__i8/VOL(1)%v)
ADF90_Symbol_25%v = (-(ADF90_Symbol_23%v/(VOL(1)%v*VOL(1)%v)))
DFLDDT(1)%v = ADF90_Symbol_43%v
ADF90_Symbol_308%v = (ADF90_Symbol_26%v*ADF90_Symbol_24%v)
ADF90_Symbol_309%v = (ADF90_Symbol_27%v*ADF90_Symbol_24%v)
ADF90_Symbol_310%v = (ADF90_Symbol_28%v*ADF90_Symbol_308%v)
ADF90_Symbol_312%v = (ADF90_Symbol_29%v*ADF90_Symbol_308%v)
ADF90_Symbol_313%v = (ADF90_Symbol_31%v*ADF90_Symbol_312%v)
ADF90_Symbol_315%v = (ADF90_Symbol_32%v*ADF90_Symbol_312%v)
ADF90_Symbol_316%v = (ADF90_Symbol_39%v*ADF90_Symbol_309%v)
ADF90_Symbol_318%v = (ADF90_Symbol_40%v*ADF90_Symbol_309%v)
ADF90_Symbol_319%v = (ADF90_Symbol_34%v*ADF90_Symbol_315%v)
ADF90_Symbol_321%v = (ADF90_Symbol_35%v*ADF90_Symbol_315%v)
ADF90_Symbol_322%v = (ADF90_Symbol_41%v*ADF90_Symbol_318%v)
ADF90_Symbol_324%v = (ADF90_Symbol_42%v*ADF90_Symbol_318%v)
ADF90_Symbol_326%v = (ADF90_Symbol_36%v*ADF90_Symbol_321%v)
ADF90_Symbol_328%v = (ADF90_Symbol_37%v*ADF90_Symbol_321%v)
ADF90_Symbol_330%v = ADF90_Symbol_25%v
CALL setderiv(ADF90_Symbol_331,VOL(1))
CALL setderiv(ADF90_Symbol_329,FLDNOW(1))
CALL setderiv(ADF90_Symbol_327,FLDSTAR(1))
CALL setderiv(ADF90_Symbol_325,FLDNOW(1))
CALL setderiv(ADF90_Symbol_323,FLDNOW(3))
CALL setderiv(ADF90_Symbol_320,GAMMALOC)
CALL setderiv(ADF90_Symbol_317,UVELLOC)
CALL setderiv(ADF90_Symbol_314,VOL(1))
CALL setderiv(ADF90_Symbol_311,EXTFORLOC(1))
CALL sax(ADF90_Symbol_310%v,ADF90_Symbol_311,DFLDDT(1))
CALL saxpy(ADF90_Symbol_313%v,ADF90_Symbol_314,DFLDDT(1))
CALL saxpy(ADF90_Symbol_316%v,ADF90_Symbol_317,DFLDDT(1))
CALL saxpy(ADF90_Symbol_319%v,ADF90_Symbol_320,DFLDDT(1))
CALL saxpy(ADF90_Symbol_322%v,ADF90_Symbol_323,DFLDDT(1))
CALL saxpy(ADF90_Symbol_324%v,ADF90_Symbol_325,DFLDDT(1))
CALL saxpy(ADF90_Symbol_326%v,ADF90_Symbol_327,DFLDDT(1))
CALL saxpy(ADF90_Symbol_328%v,ADF90_Symbol_329,DFLDDT(1))
CALL saxpy(ADF90_Symbol_330%v,ADF90_Symbol_331,DFLDDT(1))
ADF90_Symbol_54%v = (FLDSTAR(2)%v-FLDNOW(2)%v)
ADF90_Symbol_51%v = (GAMMALOC%v*ADF90_Symbol_54%v)
ADF90_Symbol_59%v = (FLDNOW(1)%v-FLDNOW(2)%v)
ADF90_Symbol_44%v = ((EXTFORLOC(2)%v+(VOL(2)%v*ADF90_Symbol_51%v
+))+(UVELLOC%v*ADF90_Symbol_59%v))
ADF90_Symbol_64%v = (ADF90_Symbol_44%v/VOL(2)%v)
ADF90_Symbol_49%v = 1 _w2f__i8
ADF90_Symbol_52%v = ADF90_Symbol_51%v
ADF90_Symbol_55%v = ADF90_Symbol_54%v
ADF90_Symbol_57%v = 1 _w2f__i8
ADF90_Symbol_58%v = -1 _w2f__i8
ADF90_Symbol_56%v = GAMMALOC%v
ADF90_Symbol_53%v = VOL(2)%v
ADF90_Symbol_50%v = 1 _w2f__i8
ADF90_Symbol_47%v = 1 _w2f__i8
ADF90_Symbol_60%v = ADF90_Symbol_59%v
ADF90_Symbol_62%v = 1 _w2f__i8
ADF90_Symbol_63%v = -1 _w2f__i8
ADF90_Symbol_61%v = UVELLOC%v
ADF90_Symbol_48%v = 1 _w2f__i8
ADF90_Symbol_45%v = (1 _w2f__i8/VOL(2)%v)
ADF90_Symbol_46%v = (-(ADF90_Symbol_44%v/(VOL(2)%v*VOL(2)%v)))
DFLDDT(2)%v = ADF90_Symbol_64%v
ADF90_Symbol_332%v = (ADF90_Symbol_47%v*ADF90_Symbol_45%v)
ADF90_Symbol_333%v = (ADF90_Symbol_48%v*ADF90_Symbol_45%v)
ADF90_Symbol_334%v = (ADF90_Symbol_49%v*ADF90_Symbol_332%v)
ADF90_Symbol_336%v = (ADF90_Symbol_50%v*ADF90_Symbol_332%v)
ADF90_Symbol_337%v = (ADF90_Symbol_52%v*ADF90_Symbol_336%v)
ADF90_Symbol_339%v = (ADF90_Symbol_53%v*ADF90_Symbol_336%v)
ADF90_Symbol_340%v = (ADF90_Symbol_60%v*ADF90_Symbol_333%v)
ADF90_Symbol_342%v = (ADF90_Symbol_61%v*ADF90_Symbol_333%v)
ADF90_Symbol_343%v = (ADF90_Symbol_55%v*ADF90_Symbol_339%v)
ADF90_Symbol_345%v = (ADF90_Symbol_56%v*ADF90_Symbol_339%v)
ADF90_Symbol_346%v = (ADF90_Symbol_62%v*ADF90_Symbol_342%v)
ADF90_Symbol_348%v = (ADF90_Symbol_63%v*ADF90_Symbol_342%v)
ADF90_Symbol_350%v = (ADF90_Symbol_57%v*ADF90_Symbol_345%v)
ADF90_Symbol_352%v = (ADF90_Symbol_58%v*ADF90_Symbol_345%v)
ADF90_Symbol_354%v = ADF90_Symbol_46%v
CALL setderiv(ADF90_Symbol_355,VOL(2))
CALL setderiv(ADF90_Symbol_353,FLDNOW(2))
CALL setderiv(ADF90_Symbol_351,FLDSTAR(2))
CALL setderiv(ADF90_Symbol_349,FLDNOW(2))
CALL setderiv(ADF90_Symbol_347,FLDNOW(1))
CALL setderiv(ADF90_Symbol_344,GAMMALOC)
CALL setderiv(ADF90_Symbol_341,UVELLOC)
CALL setderiv(ADF90_Symbol_338,VOL(2))
CALL setderiv(ADF90_Symbol_335,EXTFORLOC(2))
CALL sax(ADF90_Symbol_334%v,ADF90_Symbol_335,DFLDDT(2))
CALL saxpy(ADF90_Symbol_337%v,ADF90_Symbol_338,DFLDDT(2))
CALL saxpy(ADF90_Symbol_340%v,ADF90_Symbol_341,DFLDDT(2))
CALL saxpy(ADF90_Symbol_343%v,ADF90_Symbol_344,DFLDDT(2))
CALL saxpy(ADF90_Symbol_346%v,ADF90_Symbol_347,DFLDDT(2))
CALL saxpy(ADF90_Symbol_348%v,ADF90_Symbol_349,DFLDDT(2))
CALL saxpy(ADF90_Symbol_350%v,ADF90_Symbol_351,DFLDDT(2))
CALL saxpy(ADF90_Symbol_352%v,ADF90_Symbol_353,DFLDDT(2))
CALL saxpy(ADF90_Symbol_354%v,ADF90_Symbol_355,DFLDDT(2))
ADF90_Symbol_68%v = (FLDNOW(2)%v-FLDNOW(3)%v)
ADF90_Symbol_65%v = (UVELLOC%v*ADF90_Symbol_68%v)
ADF90_Symbol_73%v = (ADF90_Symbol_65%v/VOL(3)%v)
ADF90_Symbol_69%v = ADF90_Symbol_68%v
ADF90_Symbol_71%v = 1 _w2f__i8
ADF90_Symbol_72%v = -1 _w2f__i8
ADF90_Symbol_70%v = UVELLOC%v
ADF90_Symbol_66%v = (1 _w2f__i8/VOL(3)%v)
ADF90_Symbol_67%v = (-(ADF90_Symbol_65%v/(VOL(3)%v*VOL(3)%v)))
DFLDDT(3)%v = ADF90_Symbol_73%v
ADF90_Symbol_356%v = (ADF90_Symbol_69%v*ADF90_Symbol_66%v)
ADF90_Symbol_358%v = (ADF90_Symbol_70%v*ADF90_Symbol_66%v)
ADF90_Symbol_359%v = (ADF90_Symbol_71%v*ADF90_Symbol_358%v)
ADF90_Symbol_361%v = (ADF90_Symbol_72%v*ADF90_Symbol_358%v)
ADF90_Symbol_363%v = ADF90_Symbol_67%v
CALL setderiv(ADF90_Symbol_364,VOL(3))
CALL setderiv(ADF90_Symbol_362,FLDNOW(3))
CALL setderiv(ADF90_Symbol_360,FLDNOW(2))
CALL setderiv(ADF90_Symbol_357,UVELLOC)
CALL sax(ADF90_Symbol_356%v,ADF90_Symbol_357,DFLDDT(3))
CALL saxpy(ADF90_Symbol_359%v,ADF90_Symbol_360,DFLDDT(3))
CALL saxpy(ADF90_Symbol_361%v,ADF90_Symbol_362,DFLDDT(3))
CALL saxpy(ADF90_Symbol_363%v,ADF90_Symbol_364,DFLDDT(3))
ELSE
ADF90_Symbol_84%v = (FLDSTAR(1)%v-FLDNOW(1)%v)
ADF90_Symbol_81%v = (GAMMALOC%v*ADF90_Symbol_84%v)
ADF90_Symbol_89%v = (FLDNOW(2)%v-FLDNOW(1)%v)
ADF90_Symbol_74%v = ((EXTFORLOC(1)%v+(VOL(1)%v*ADF90_Symbol_81%v
+))-(UVELLOC%v*ADF90_Symbol_89%v))
ADF90_Symbol_94%v = (ADF90_Symbol_74%v/VOL(1)%v)
ADF90_Symbol_79%v = 1 _w2f__i8
ADF90_Symbol_82%v = ADF90_Symbol_81%v
ADF90_Symbol_85%v = ADF90_Symbol_84%v
ADF90_Symbol_87%v = 1 _w2f__i8
ADF90_Symbol_88%v = -1 _w2f__i8
ADF90_Symbol_86%v = GAMMALOC%v
ADF90_Symbol_83%v = VOL(1)%v
ADF90_Symbol_80%v = 1 _w2f__i8
ADF90_Symbol_77%v = 1 _w2f__i8
ADF90_Symbol_90%v = ADF90_Symbol_89%v
ADF90_Symbol_92%v = 1 _w2f__i8
ADF90_Symbol_93%v = -1 _w2f__i8
ADF90_Symbol_91%v = UVELLOC%v
ADF90_Symbol_78%v = -1 _w2f__i8
ADF90_Symbol_75%v = (1 _w2f__i8/VOL(1)%v)
ADF90_Symbol_76%v = (-(ADF90_Symbol_74%v/(VOL(1)%v*VOL(1)%v)))
DFLDDT(1)%v = ADF90_Symbol_94%v
ADF90_Symbol_365%v = (ADF90_Symbol_77%v*ADF90_Symbol_75%v)
ADF90_Symbol_366%v = (ADF90_Symbol_78%v*ADF90_Symbol_75%v)
ADF90_Symbol_367%v = (ADF90_Symbol_79%v*ADF90_Symbol_365%v)
ADF90_Symbol_369%v = (ADF90_Symbol_80%v*ADF90_Symbol_365%v)
ADF90_Symbol_370%v = (ADF90_Symbol_82%v*ADF90_Symbol_369%v)
ADF90_Symbol_372%v = (ADF90_Symbol_83%v*ADF90_Symbol_369%v)
ADF90_Symbol_373%v = (ADF90_Symbol_90%v*ADF90_Symbol_366%v)
ADF90_Symbol_375%v = (ADF90_Symbol_91%v*ADF90_Symbol_366%v)
ADF90_Symbol_376%v = (ADF90_Symbol_85%v*ADF90_Symbol_372%v)
ADF90_Symbol_378%v = (ADF90_Symbol_86%v*ADF90_Symbol_372%v)
ADF90_Symbol_379%v = (ADF90_Symbol_92%v*ADF90_Symbol_375%v)
ADF90_Symbol_381%v = (ADF90_Symbol_93%v*ADF90_Symbol_375%v)
ADF90_Symbol_383%v = (ADF90_Symbol_87%v*ADF90_Symbol_378%v)
ADF90_Symbol_385%v = (ADF90_Symbol_88%v*ADF90_Symbol_378%v)
ADF90_Symbol_387%v = ADF90_Symbol_76%v
CALL setderiv(ADF90_Symbol_388,VOL(1))
CALL setderiv(ADF90_Symbol_386,FLDNOW(1))
CALL setderiv(ADF90_Symbol_384,FLDSTAR(1))
CALL setderiv(ADF90_Symbol_382,FLDNOW(1))
CALL setderiv(ADF90_Symbol_380,FLDNOW(2))
CALL setderiv(ADF90_Symbol_377,GAMMALOC)
CALL setderiv(ADF90_Symbol_374,UVELLOC)
CALL setderiv(ADF90_Symbol_371,VOL(1))
CALL setderiv(ADF90_Symbol_368,EXTFORLOC(1))
CALL sax(ADF90_Symbol_367%v,ADF90_Symbol_368,DFLDDT(1))
CALL saxpy(ADF90_Symbol_370%v,ADF90_Symbol_371,DFLDDT(1))
CALL saxpy(ADF90_Symbol_373%v,ADF90_Symbol_374,DFLDDT(1))
CALL saxpy(ADF90_Symbol_376%v,ADF90_Symbol_377,DFLDDT(1))
CALL saxpy(ADF90_Symbol_379%v,ADF90_Symbol_380,DFLDDT(1))
CALL saxpy(ADF90_Symbol_381%v,ADF90_Symbol_382,DFLDDT(1))
CALL saxpy(ADF90_Symbol_383%v,ADF90_Symbol_384,DFLDDT(1))
CALL saxpy(ADF90_Symbol_385%v,ADF90_Symbol_386,DFLDDT(1))
CALL saxpy(ADF90_Symbol_387%v,ADF90_Symbol_388,DFLDDT(1))
ADF90_Symbol_105%v = (FLDSTAR(2)%v-FLDNOW(2)%v)
ADF90_Symbol_102%v = (GAMMALOC%v*ADF90_Symbol_105%v)
ADF90_Symbol_110%v = (FLDNOW(3)%v-FLDNOW(2)%v)
ADF90_Symbol_95%v = ((EXTFORLOC(2)%v+(VOL(2)%v*ADF90_Symbol_102%
+v))-(UVELLOC%v*ADF90_Symbol_110%v))
ADF90_Symbol_115%v = (ADF90_Symbol_95%v/VOL(2)%v)
ADF90_Symbol_100%v = 1 _w2f__i8
ADF90_Symbol_103%v = ADF90_Symbol_102%v
ADF90_Symbol_106%v = ADF90_Symbol_105%v
ADF90_Symbol_108%v = 1 _w2f__i8
ADF90_Symbol_109%v = -1 _w2f__i8
ADF90_Symbol_107%v = GAMMALOC%v
ADF90_Symbol_104%v = VOL(2)%v
ADF90_Symbol_101%v = 1 _w2f__i8
ADF90_Symbol_98%v = 1 _w2f__i8
ADF90_Symbol_111%v = ADF90_Symbol_110%v
ADF90_Symbol_113%v = 1 _w2f__i8
ADF90_Symbol_114%v = -1 _w2f__i8
ADF90_Symbol_112%v = UVELLOC%v
ADF90_Symbol_99%v = -1 _w2f__i8
ADF90_Symbol_96%v = (1 _w2f__i8/VOL(2)%v)
ADF90_Symbol_97%v = (-(ADF90_Symbol_95%v/(VOL(2)%v*VOL(2)%v)))
DFLDDT(2)%v = ADF90_Symbol_115%v
ADF90_Symbol_389%v = (ADF90_Symbol_98%v*ADF90_Symbol_96%v)
ADF90_Symbol_390%v = (ADF90_Symbol_99%v*ADF90_Symbol_96%v)
ADF90_Symbol_391%v = (ADF90_Symbol_100%v*ADF90_Symbol_389%v)
ADF90_Symbol_393%v = (ADF90_Symbol_101%v*ADF90_Symbol_389%v)
ADF90_Symbol_394%v = (ADF90_Symbol_103%v*ADF90_Symbol_393%v)
ADF90_Symbol_396%v = (ADF90_Symbol_104%v*ADF90_Symbol_393%v)
ADF90_Symbol_397%v = (ADF90_Symbol_111%v*ADF90_Symbol_390%v)
ADF90_Symbol_399%v = (ADF90_Symbol_112%v*ADF90_Symbol_390%v)
ADF90_Symbol_400%v = (ADF90_Symbol_106%v*ADF90_Symbol_396%v)
ADF90_Symbol_402%v = (ADF90_Symbol_107%v*ADF90_Symbol_396%v)
ADF90_Symbol_403%v = (ADF90_Symbol_113%v*ADF90_Symbol_399%v)
ADF90_Symbol_405%v = (ADF90_Symbol_114%v*ADF90_Symbol_399%v)
ADF90_Symbol_407%v = (ADF90_Symbol_108%v*ADF90_Symbol_402%v)
ADF90_Symbol_409%v = (ADF90_Symbol_109%v*ADF90_Symbol_402%v)
ADF90_Symbol_411%v = ADF90_Symbol_97%v
CALL setderiv(ADF90_Symbol_412,VOL(2))
CALL setderiv(ADF90_Symbol_410,FLDNOW(2))
CALL setderiv(ADF90_Symbol_408,FLDSTAR(2))
CALL setderiv(ADF90_Symbol_406,FLDNOW(2))
CALL setderiv(ADF90_Symbol_404,FLDNOW(3))
CALL setderiv(ADF90_Symbol_401,GAMMALOC)
CALL setderiv(ADF90_Symbol_398,UVELLOC)
CALL setderiv(ADF90_Symbol_395,VOL(2))
CALL setderiv(ADF90_Symbol_392,EXTFORLOC(2))
CALL sax(ADF90_Symbol_391%v,ADF90_Symbol_392,DFLDDT(2))
CALL saxpy(ADF90_Symbol_394%v,ADF90_Symbol_395,DFLDDT(2))
CALL saxpy(ADF90_Symbol_397%v,ADF90_Symbol_398,DFLDDT(2))
CALL saxpy(ADF90_Symbol_400%v,ADF90_Symbol_401,DFLDDT(2))
CALL saxpy(ADF90_Symbol_403%v,ADF90_Symbol_404,DFLDDT(2))
CALL saxpy(ADF90_Symbol_405%v,ADF90_Symbol_406,DFLDDT(2))
CALL saxpy(ADF90_Symbol_407%v,ADF90_Symbol_408,DFLDDT(2))
CALL saxpy(ADF90_Symbol_409%v,ADF90_Symbol_410,DFLDDT(2))
CALL saxpy(ADF90_Symbol_411%v,ADF90_Symbol_412,DFLDDT(2))
ADF90_Symbol_120%v = (FLDNOW(1)%v-FLDNOW(3)%v)
ADF90_Symbol_117%v = (UVELLOC%v*ADF90_Symbol_120%v)
ADF90_Symbol_125%v = (-(ADF90_Symbol_117%v/VOL(3)%v))
ADF90_Symbol_121%v = ADF90_Symbol_120%v
ADF90_Symbol_123%v = 1 _w2f__i8
ADF90_Symbol_124%v = -1 _w2f__i8
ADF90_Symbol_122%v = UVELLOC%v
ADF90_Symbol_118%v = (1 _w2f__i8/VOL(3)%v)
ADF90_Symbol_119%v = (-(ADF90_Symbol_117%v/(VOL(3)%v*VOL(3)%v)))
ADF90_Symbol_116%v = -1 _w2f__i8
DFLDDT(3)%v = ADF90_Symbol_125%v
ADF90_Symbol_413%v = (ADF90_Symbol_118%v*ADF90_Symbol_116%v)
ADF90_Symbol_414%v = (ADF90_Symbol_119%v*ADF90_Symbol_116%v)
ADF90_Symbol_416%v = (ADF90_Symbol_121%v*ADF90_Symbol_413%v)
ADF90_Symbol_418%v = (ADF90_Symbol_122%v*ADF90_Symbol_413%v)
ADF90_Symbol_419%v = (ADF90_Symbol_123%v*ADF90_Symbol_418%v)
ADF90_Symbol_421%v = (ADF90_Symbol_124%v*ADF90_Symbol_418%v)
CALL setderiv(ADF90_Symbol_422,FLDNOW(3))
CALL setderiv(ADF90_Symbol_420,FLDNOW(1))
CALL setderiv(ADF90_Symbol_417,UVELLOC)
CALL setderiv(ADF90_Symbol_415,VOL(3))
CALL sax(ADF90_Symbol_414%v,ADF90_Symbol_415,DFLDDT(3))
CALL saxpy(ADF90_Symbol_416%v,ADF90_Symbol_417,DFLDDT(3))
CALL saxpy(ADF90_Symbol_419%v,ADF90_Symbol_420,DFLDDT(3))
CALL saxpy(ADF90_Symbol_421%v,ADF90_Symbol_422,DFLDDT(3))
ENDIF
CALL box_update(FLDNEW,FLDOLD,DFLDDT)
RETURN
END SUBROUTINE