-
Notifications
You must be signed in to change notification settings - Fork 6
/
mixactivate_driver.F
71 lines (61 loc) · 3.86 KB
/
mixactivate_driver.F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
!**********************************************************************************
!
SUBROUTINE mixactivate_driver(id, ktau, dtstep, config_flags, &
rho, t_phy, w, cldfra, cldfra_old, &
z, dz8w, p8w, t8w, exch_h, moist, &
scalar, chem, ccn1, ccn2, &
ccn3, ccn4, ccn5, ccn6, nsource, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte )
!------------------------------------------------------------------------
USE module_configure
USE module_state_description
USE module_model_constants
USE module_domain_type, only : domain
USE module_mixactivate_wrappers, only: wrfgc_mixactivate
IMPLICIT NONE
TYPE(grid_config_rec_type), INTENT(IN ) :: config_flags
INTEGER, INTENT(IN ) :: id, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte
INTEGER, INTENT(IN ) :: ktau
REAL, INTENT(IN ) :: dtstep
REAL, DIMENSION( ims:ime, kms:kme, jms:jme, num_moist), INTENT(IN ) :: moist
REAL, DIMENSION( ims:ime, kms:kme, jms:jme, num_scalar), INTENT(INOUT) :: scalar
REAL, DIMENSION( ims:ime, kms:kme, jms:jme, num_chem ), INTENT(INOUT ) :: chem
REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(IN ) :: rho, t_phy, dz8w, &
p8w, t8w, exch_h, w, &
z
REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(INOUT) :: cldfra, cldfra_old
REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), INTENT(OUT) :: ccn1, ccn2, ccn3, &
ccn4, ccn5, ccn6, &
nsource
! LOCAL VARIABLES
INTEGER :: idrydep_onoff
REAL, DIMENSION( its:ite, jts:jte, num_chem) :: ddvel
REAL, DIMENSION( ims:ime, jms:jme, num_chem) :: qsrflx
! REAL, DIMENSION( ims:ime, kms:kme, jms:jme) :: rho
! arrays that hold the aerosol optical properties
! where( alt(its:ite, kts:kte, jts:jte) /= 0.)
! dryrho_phy(its:ite, kts:kte, jts:jte) = 1./alt(its:ite, kts:kte, jts:jte)
! elsewhere
! dryrho_phy(its:ite, kts:kte, jts:jte) = 0.
! end where
ddvel(:, :, :) = 0.0
idrydep_onoff = 0
call wrfgc_mixactivate(id, ktau, dtstep, config_flags, idrydep_onoff, &
rho, t_phy, w, cldfra, cldfra_old, &
ddvel, z, dz8w, p8w, t8w, exch_h, &
moist(ims, kms, jms, P_QV), &
moist(ims, kms, jms, P_QC), &
moist(ims, kms, jms, P_QI), &
scalar(ims, kms, jms,P_QNDROP), &
f_qc, f_qi, chem, &
ccn1, ccn2, ccn3, ccn4, ccn5, ccn6, nsource, &
qsrflx, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte )
END SUBROUTINE mixactivate_driver