| 1 | SUBROUTINE vdif_k(ngrid,nlay, |
|---|
| 2 | s ptimestep,pg,pzlev,pzlay,pz0,pu,pv,ph,pcdv,pkv,pkh) |
|---|
| 3 | |
|---|
| 4 | IMPLICIT NONE |
|---|
| 5 | #include "planete.h" |
|---|
| 6 | |
|---|
| 7 | INTEGER ngrid,nlay |
|---|
| 8 | |
|---|
| 9 | REAL ptimestep |
|---|
| 10 | REAL pzlay(ngrid,nlay),pzlev(ngrid,nlay+1) |
|---|
| 11 | REAL pz0(ngrid) |
|---|
| 12 | REAL pu(ngrid,nlay),pv(ngrid,nlay),ph(ngrid,nlay) |
|---|
| 13 | REAL pg,pcdv(ngrid) |
|---|
| 14 | REAL pkv(ngrid,nlay+1),pkh(ngrid,nlay+1) |
|---|
| 15 | |
|---|
| 16 | INTEGER ig,il |
|---|
| 17 | REAL zdu,zdv,zri,zdvodz2,zdz,z1,lmix |
|---|
| 18 | |
|---|
| 19 | REAL karman |
|---|
| 20 | SAVE karman |
|---|
| 21 | DATA lmixmin,emin_turb,karman/100.,1.e-8,.4/ |
|---|
| 22 | |
|---|
| 23 | |
|---|
| 24 | print*,'LMIXMIN',lmixmin |
|---|
| 25 | DO ig=1,ngrid |
|---|
| 26 | pkv(ig,1)=0. |
|---|
| 27 | pkh(ig,1)=0. |
|---|
| 28 | pkv(ig,nlay+1)=0. |
|---|
| 29 | pkh(ig,nlay+1)=0. |
|---|
| 30 | ENDDO |
|---|
| 31 | c s ' zdu,zdv,zdz,zdovdz2,ph(ig,il)+ph(ig,il-1)' |
|---|
| 32 | DO il=2,nlay |
|---|
| 33 | DO ig=1,ngrid |
|---|
| 34 | z1=pzlev(ig,il)+pz0(ig) |
|---|
| 35 | lmix=karman*z1/(1.+karman*z1/lmixmin) |
|---|
| 36 | c lmix=lmixmin |
|---|
| 37 | c WARNING test lmix=lmixmin |
|---|
| 38 | zdu=pu(ig,il)-pu(ig,il-1) |
|---|
| 39 | zdv=pv(ig,il)-pv(ig,il-1) |
|---|
| 40 | zdz=pzlay(ig,il)-pzlay(ig,il-1) |
|---|
| 41 | zdvodz2=(zdu*zdu+zdv*zdv)/(zdz*zdz) |
|---|
| 42 | IF(zdvodz2.LT.1.e-5) THEN |
|---|
| 43 | pkv(ig,il)=lmix*sqrt(emin_turb) |
|---|
| 44 | ELSE |
|---|
| 45 | zri=2.*pg*(ph(ig,il)-ph(ig,il-1)) |
|---|
| 46 | s / (zdz* (ph(ig,il)+ph(ig,il-1)) *zdvodz2 ) |
|---|
| 47 | pkv(ig,il)= |
|---|
| 48 | s lmix*sqrt(MAX(lmix*lmix*zdvodz2*(1-zri/.4),emin_turb)) |
|---|
| 49 | ENDIF |
|---|
| 50 | pkh(ig,il)=pkv(ig,il) |
|---|
| 51 | c IF(ig.EQ.ngrid/2+1) PRINT*,il,lmix,pkv(ig,il), |
|---|
| 52 | c s zdu,zdv,zdz,zdvodz2,ph(ig,il)+ph(ig,il-1), |
|---|
| 53 | c s lmix*lmix*zdvodz2*(1-zri/.4),emin_turb,zri,ph(ig,il)-ph(ig,il-1), |
|---|
| 54 | c s ph(ig,il),ph(ig,il-1) |
|---|
| 55 | ENDDO |
|---|
| 56 | ENDDO |
|---|
| 57 | |
|---|
| 58 | RETURN |
|---|
| 59 | END |
|---|