1 |
|
|
2 |
SUBROUTINE cv3_undilute1(len,nd,t,q,qs,gz,plcl,p,nk,icb & |
SUBROUTINE cv30_undilute1(len,nd,t,q,qs,gz,plcl,p,nk,icb & |
3 |
,tp,tvp,clw,icbs) |
,tp,tvp,clw,icbs) |
4 |
use cv3_param_m |
use cv30_param_m |
5 |
use cvthermo |
use cvthermo |
6 |
implicit none |
implicit none |
7 |
|
|
8 |
|
! UNDILUTE (ADIABATIC) UPDRAFT / 1st part |
9 |
|
! (up through ICB for convect4, up through ICB + 1 for convect3) |
10 |
|
! Calculates the lifted parcel virtual temperature at nk, the |
11 |
|
! actual temperature, and the adiabatic liquid water content. |
12 |
|
|
13 |
!---------------------------------------------------------------- |
!---------------------------------------------------------------- |
14 |
! Equivalent de TLIFT entre NK et ICB+1 inclus |
! Equivalent de TLIFT entre NK et ICB+1 inclus |
15 |
! |
! |
201 |
! |
! |
202 |
! * the routine above computes tvp from minorig to icbs (included). |
! * the routine above computes tvp from minorig to icbs (included). |
203 |
! |
! |
204 |
! * to compute buoybase (in cv3_trigger.F), both tvp(icb) and tvp(icb+1) |
! * to compute buoybase (in cv30_trigger.F), both tvp(icb) and tvp(icb+1) |
205 |
! must be known. This is the case if icbs=icb+1, but not if icbs=icb. |
! must be known. This is the case if icbs=icb+1, but not if icbs=icb. |
206 |
! |
! |
207 |
! * therefore, in the case icbs=icb, we compute tvp at level icb+1 |
! * therefore, in the case icbs=icb, we compute tvp at level icb+1 |
208 |
! (tvp at other levels will be computed in cv3_undilute2.F) |
! (tvp at other levels will be computed in cv30_undilute2.F) |
209 |
! |
! |
210 |
|
|
211 |
do i=1,len |
do i=1,len |