Skip to content

Commit 8583570

Browse files
authored
Merge pull request #1 from KuangLab-Harvard/main
Merge from Nat's updates
2 parents c50a499 + 12c0d90 commit 8583570

File tree

4 files changed

+25
-3
lines changed

4 files changed

+25
-3
lines changed

forcing.f90

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,9 @@ subroutine forcing
356356
if(dosubsidence) call subsidence()
357357
if(dodrivenequilibrium) call drivenequilibrium()
358358

359+
if(noqlsvadv) qlsvadv(:) = 0.
360+
if(notlsvadv) tlsvadv(:) = 0.
361+
359362
! normalize large-scale vertical momentum forcing
360363
ulsvadv(:) = ulsvadv(:) / float(nx*ny)
361364
vlsvadv(:) = vlsvadv(:) / float(nx*ny)

params.f90

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,10 @@ module params
223223
real :: zhadmax = 15000.
224224
real :: hadscale_time = 0.
225225

226+
! No large-scale vertical advection of moisture and temperature
227+
logical :: noqlsvadv = .false.
228+
logical :: notlsvadv = .false.
229+
226230
! Kuang-Lab Additions End Here
227231
!=====================================================
228232

setparm.f90

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ subroutine setparm
6262
sstislands_nrow, sstislands_ncol, sstislands_sep, &
6363
readlsm, lsmfile, &
6464
nrestart_resetsst, &
65-
dosepstat, nstep_sepstat
65+
dosepstat, nstep_sepstat, &
66+
noqlsvadv, notlsvadv
6667

6768
!bloss: Create dummy namelist, so that we can figure out error code
6869
! for a mising namelist. This lets us differentiate between

wtg_jas2008.f90

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ subroutine wtg_jas2008
1111
integer :: ktrop1
1212
real :: ztrop
1313
real :: ztrop1
14-
real :: min_temp
14+
real :: min_temp
15+
real :: coef, buffer(nzm), buffer1(nzm)
1516

1617
if (dowtg_timedependence) then
1718

@@ -79,7 +80,20 @@ subroutine wtg_jas2008
7980
end if
8081

8182
tv_lsbg = tg0 * (1. + 0.61*qg0)
82-
tv_wave = tabs0 * (1. + 0.61*qv0 - qn0 - qp0)
83+
84+
if(dompiensemble) then
85+
coef = 1. / nsubdomains
86+
do k = 1, nzm
87+
buffer(k) = tabs0(k) * (1. + 0.61*qv0(k) - qn0(k) - qp0(k))
88+
end do
89+
call task_sum_real8(buffer,buffer1,nzm)
90+
do k = 1, nzm
91+
tv_wave(k) = buffer1(k) * coef
92+
end do
93+
else
94+
tv_wave = tabs0 * (1. + 0.61*qv0 - qn0 - qp0)
95+
end if
96+
8397
dwwtgdt = 0.
8498

8599
call calc_wtend(0.5*pi/lambda_wtg, w_wtg(1:ktrop), dwwtgdt(1:ktrop), &

0 commit comments

Comments
 (0)