source: dynamico_lmdz/simple_physics/phyparam/param/vdif_k.F @ 4178

Last change on this file since 4178 was 4176, checked in by dubos, 6 years ago

simple_physics : copy code from FH

File size: 1.7 KB
Line 
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
31c    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)
36c           lmix=lmixmin
37c 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)
51c           IF(ig.EQ.ngrid/2+1) PRINT*,il,lmix,pkv(ig,il),
52c    s      zdu,zdv,zdz,zdvodz2,ph(ig,il)+ph(ig,il-1),
53c    s      lmix*lmix*zdvodz2*(1-zri/.4),emin_turb,zri,ph(ig,il)-ph(ig,il-1),
54c    s      ph(ig,il),ph(ig,il-1)
55         ENDDO
56      ENDDO
57
58      RETURN
59      END
Note: See TracBrowser for help on using the repository browser.