Changeset 1738 for LMDZ5/trunk/libf/phylmd/thermcell_main.F90
- Timestamp:
- Apr 2, 2013, 11:48:33 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/thermcell_main.F90
r1638 r1738 22 22 23 23 USE dimphy 24 USE ioipsl 24 25 USE comgeomphy , ONLY:rlond,rlatd 25 26 IMPLICIT NONE … … 44 45 ! 4. un detrainement 45 46 ! 47 ! Modif 2013/01/04 (FH hourdin@lmd.jussieu.fr) 48 ! Introduction of an implicit computation of vertical advection in 49 ! the environment of thermal plumes in thermcell_dq 50 ! impl = 0 : explicit, 1 : implicit, -1 : old version 51 ! controled by iflag_thermals = 52 ! 15, 16 run with impl=-1 : numerical convergence with NPv3 53 ! 17, 18 run with impl=1 : more stable 54 ! 15 and 17 correspond to the activation of the stratocumulus "bidouille" 55 ! 46 56 !======================================================================= 57 47 58 48 59 !----------------------------------------------------------------------- … … 79 90 80 91 integer icount 92 93 integer, save :: dvdq=1,dqimpl=-1 94 !$OMP THREADPRIVATE(dvdq,dqimpl) 81 95 data icount/0/ 82 96 save icount … … 247 261 248 262 if (debut) then 263 ! call getin('dvdq',dvdq) 264 ! call getin('dqimpl',dqimpl) 265 266 if (iflag_thermals==15.or.iflag_thermals==16) then 267 dvdq=0 268 dqimpl=-1 269 else 270 dvdq=1 271 dqimpl=1 272 endif 273 249 274 fm0=0. 250 275 entr0=0. … … 593 618 !------------------------------------------------------------------ 594 619 595 call thermcell_dq(ngrid,nlay, ptimestep,fm0,entr0,masse, &620 call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse, & 596 621 & zthl,zdthladj,zta,lev_out) 597 call thermcell_dq(ngrid,nlay, ptimestep,fm0,entr0,masse, &622 call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse, & 598 623 & po,pdoadj,zoa,lev_out) 599 624 … … 620 645 621 646 !IM 090508 622 if (1.eq.1) then 623 !IM 070508 vers. _dq 624 ! if (1.eq.0) then 625 647 if (dvdq == 0 ) then 626 648 627 649 ! Calcul du transport de V tenant compte d'echange par gradient … … 629 651 630 652 call thermcell_dv2(ngrid,nlay,ptimestep,fm0,entr0,masse & 631 & ,fraca,zmax & 653 ! & ,fraca*dvdq,zmax & 654 & ,fraca,zmax & 632 655 & ,zu,zv,pduadj,pdvadj,zua,zva,lev_out) 633 656 … … 635 658 636 659 ! calcul purement conservatif pour le transport de V 637 call thermcell_dq(ngrid,nlay, ptimestep,fm0,entr0,masse &660 call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse & 638 661 & ,zu,pduadj,zua,lev_out) 639 call thermcell_dq(ngrid,nlay, ptimestep,fm0,entr0,masse &662 call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse & 640 663 & ,zv,pdvadj,zva,lev_out) 664 641 665 endif 642 666
Note: See TracChangeset
for help on using the changeset viewer.