source: trunk/LMDZ.MARS/libf/phymars/meso_inc/meso_inc_les.F @ 706

Last change on this file since 706 was 505, checked in by acolaitis, 13 years ago

Mesoscale/Les?. Sorry, parenthesis error in previous commit.

File size: 2.2 KB
Line 
1         if (.not.callrichsl) then
2       
3             DO ig=1,ngrid
4!! sensible heat flux in W/m2
5
6             sensheat(ig) = zflubid(ig)-capcal(ig)*zdtsdif(ig)
7
8!! u star in similarity theory in m/s
9             ustar(ig) = 0.4
10     .               * sqrt( pu(ig,1)*pu(ig,1) + pv(ig,1)*pv(ig,1) )
11     .               / log( 1.E+0 + zzlay(ig,1)/z0_default )
12             ENDDO
13
14         else
15
16            DO ig=1,ngrid
17
18! New SL parametrization, correct formulation for sensheat :
19
20            sensheat(ig) = (pplay(ig,1)/(r*pt(ig,1)))*cpp
21     &        *sqrt(pu(ig,1)*pu(ig,1) + pv(ig,1)*pv(ig,1)
22     &        + (log(1.+0.7*wstar(ig) + 2.3*wstar(ig)**2))**2)
23     &        *zcdh(ig)*(tsurf(ig)-zh(ig,1))
24
25! New SL parametrization, ustar is more accurately computed in vdif_cd :
26
27            ustar(ig) = sqrt(zcdv(ig)*
28     &   (pu(ig,1)*pu(ig,1) + pv(ig,1)*pv(ig,1)
29     &     + (log(1.+0.7*wstar(ig) + 2.3*wstar(ig)**2))**2)
30     &                     )
31            ENDDO   
32
33         endif  !of if callrichsl
34
35!         write (*,*) 'PHYS HFX cp zdts', sensheat(100), zflubid(100),
36!     .       capcal(100),
37!     .       zdtsdif(100)
38!         write (*,*) 'PHYS UST', ustar(100)
39
40!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
41!!! LES LES
42       IF (flag_LES) THEN       
43
44         write (*,*) '************************************************'
45         write (*,*) '** LES mode: the difv part is only used to'
46         write (*,*) '**  provide HFX and UST to the dynamics'
47         write (*,*) '** NB: - dudif, dvdif, dhdif, dqdif are set to 0'
48         write (*,*) '**     - tsurf is updated'     
49         write (*,*) '************************************************'
50
51         DO ig=1,ngrid
52          wstar(ig)=0.  !! no additional gustiness needed in surface layer (see vdifc.F)
53          DO l=1,nlayer
54            zdvdif(ig,l) = 0.
55            zdudif(ig,l) = 0.
56            zdhdif(ig,l) = 0.
57            DO iq=1, nq
58              zdqdif(ig,l,iq) = 0.
59              zdqsdif(ig,iq) = 0. !! sortir de la boucle
60            ENDDO
61          ENDDO
62         ENDDO
63      ENDIF
64!!! LES LES       
65!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Note: See TracBrowser for help on using the repository browser.