[1834] | 1 | module turb_mod |
---|
| 2 | |
---|
| 3 | !! variables |
---|
| 4 | REAL,SAVE,ALLOCATABLE :: q2(:,:) ! Turbulent Kinetic Energy |
---|
| 5 | REAL,allocatable,SAVE :: l0(:) |
---|
[1883] | 6 | !$OMP THREADPRIVATE(q2,l0) |
---|
[1834] | 7 | REAL,SAVE,ALLOCATABLE :: ustar(:) |
---|
| 8 | REAL,SAVE,ALLOCATABLE :: wstar(:) |
---|
| 9 | REAL,SAVE,ALLOCATABLE :: tstar(:) |
---|
[1883] | 10 | !$OMP THREADPRIVATE(ustar,wstar,tstar) |
---|
[1834] | 11 | REAL,SAVE,ALLOCATABLE :: hfmax_th(:) |
---|
| 12 | REAL,SAVE,ALLOCATABLE :: zmax_th(:) |
---|
[1883] | 13 | !$OMP THREADPRIVATE(hfmax_th,zmax_th) |
---|
[1834] | 14 | REAL,SAVE,ALLOCATABLE :: sensibFlux(:) |
---|
[1883] | 15 | LOGICAL,SAVE :: turb_resolved = .false. |
---|
| 16 | !$OMP THREADPRIVATE(sensibFlux,turb_resolved) |
---|
[1834] | 17 | ! this is a flag to say 'turbulence is resolved' |
---|
| 18 | ! mostly for LES use. default is FALSE (for GCM and mesoscale) |
---|
| 19 | |
---|
| 20 | !contains |
---|
| 21 | |
---|
| 22 | ! subroutine ini_turb_mod(ngrid,nlayer) |
---|
| 23 | |
---|
| 24 | ! implicit none |
---|
| 25 | ! integer,intent(in) :: ngrid ! number of atmospheric columns |
---|
| 26 | ! integer,intent(in) :: nlayer ! number of atmospheric layers |
---|
| 27 | |
---|
| 28 | ! allocate(q2(ngrid,nlayer+1)) |
---|
| 29 | ! allocate(l0(ngrid)) |
---|
| 30 | ! allocate(wstar(ngrid)) |
---|
| 31 | ! allocate(ustar(ngrid)) |
---|
| 32 | ! allocate(tstar(ngrid)) |
---|
| 33 | ! allocate(hfmax_th(ngrid)) |
---|
| 34 | ! allocate(zmax_th(ngrid)) |
---|
| 35 | ! allocate(sensibFlux(ngrid)) |
---|
| 36 | |
---|
| 37 | ! end subroutine ini_turb_mod |
---|
| 38 | |
---|
| 39 | end module turb_mod |
---|