Changeset 2897 for LMDZ5/trunk/libf/phylmd/physiq_mod.F90
- Timestamp:
- May 31, 2017, 12:34:09 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/physiq_mod.F90
r2882 r2897 69 69 d_t_oli,d_u_oli,d_v_oli, & 70 70 d_t_oro,d_u_oro,d_v_oro, & 71 d_t_oro_gw,d_u_oro_gw,d_v_oro_gw, & 71 72 d_t_lif,d_u_lif,d_v_lif, & 72 73 d_t_ec, & … … 434 435 REAL d_qx(klon,klev,nqtot) 435 436 REAL d_ps(klon) 437 ! variables pour tend_to_tke 438 REAL duadd(klon,klev) 439 REAL dvadd(klon,klev) 440 REAL dtadd(klon,klev) 441 436 442 ! Variables pour le transport convectif 437 443 real da(klon,klev),phi(klon,klev,klev),mp(klon,klev) … … 606 612 REAL, SAVE :: alp_offset 607 613 !$OMP THREADPRIVATE(alp_offset) 608 614 609 615 ! 610 616 !RR:fin declarations poches froides … … 640 646 real therm_tke_max(klon,klev) ! Profil de TKE dans les thermiques 641 647 real env_tke_max(klon,klev) ! Profil de TKE dans l'environnement 648 649 !-------Activer les tendances de TKE due a l'orograp??ie--------- 650 INTEGER, SAVE :: addtkeoro 651 !$OMP THREADPRIVATE(addtkeoro) 652 REAL, SAVE :: alphatkeoro 653 !$OMP THREADPRIVATE(alphatkeoro) 654 LOGICAL, SAVE :: smallscales_tkeoro 655 !$OMP THREADPRIVATE(smallscales_tkeoro) 656 642 657 643 658 … … 780 795 real zqsat(klon,klev) 781 796 ! 782 INTEGER i, k, iq, nsrf, l797 INTEGER i, k, iq, j, nsrf, ll, l 783 798 ! 784 799 REAL t_coup … … 2244 2259 !>jyg 2245 2260 ENDIF 2261 2262 2263 2246 2264 2247 2265 … … 3870 3888 IF (ok_strato) THEN 3871 3889 3872 CALL drag_noro_strato( klon,klev,dtime,paprs,pplay, &3890 CALL drag_noro_strato(0,klon,klev,dtime,paprs,pplay, & 3873 3891 zmea,zstd, zsig, zgam, zthe,zpic,zval, & 3874 3892 igwd,idx,itest, & … … 4045 4063 ! 4046 4064 ! 4065 4066 !=============================================================== 4067 ! Additional tendency of TKE due to orography 4068 !=============================================================== 4069 ! 4070 ! Inititialization 4071 !------------------ 4072 4073 4074 4075 addtkeoro=0 4076 CALL getin_p('addtkeoro',addtkeoro) 4077 4078 IF (prt_level.ge.5) & 4079 print*,'addtkeoro', addtkeoro 4080 4081 alphatkeoro=1. 4082 CALL getin_p('alphatkeoro',alphatkeoro) 4083 alphatkeoro=min(max(0.,alphatkeoro),1.) 4084 4085 smallscales_tkeoro=.false. 4086 CALL getin_p('smallscales_tkeoro',smallscales_tkeoro) 4087 4088 4089 dtadd(:,:)=0. 4090 duadd(:,:)=0. 4091 dvadd(:,:)=0. 4092 4093 4094 4095 ! Choices for addtkeoro: 4096 ! ** 0 no TKE tendency from orography 4097 ! ** 1 we include a fraction alphatkeoro of the whole tendency duoro 4098 ! ** 2 we include a fraction alphatkeoro of the gravity wave part of duoro 4099 ! 4100 4101 IF (addtkeoro .GT. 0 .AND. ok_orodr ) THEN 4102 ! ------------------------------------------- 4103 4104 4105 ! selection des points pour lesquels le schema est actif: 4106 4107 4108 4109 IF (addtkeoro .EQ. 1 ) THEN 4110 4111 duadd(:,:)=alphatkeoro*d_u_oro(:,:) 4112 dvadd(:,:)=alphatkeoro*d_v_oro(:,:) 4113 4114 ELSE IF (addtkeoro .EQ. 2) THEN 4115 4116 4117 4118 IF (smallscales_tkeoro) THEN 4119 igwd=0 4120 DO i=1,klon 4121 itest(i)=0 4122 ! Etienne: ici je prends en compte plus de relief que la routine drag_noro_strato 4123 ! car on peut s'attendre a ce que les petites echelles produisent aussi de la TKE 4124 ! Mais attention, cela ne va pas dans le sens de la conservation de l'energie! 4125 IF (zstd(i).GT.1.0) THEN 4126 itest(i)=1 4127 igwd=igwd+1 4128 idx(igwd)=i 4129 ENDIF 4130 ENDDO 4131 4132 ELSE 4133 4134 igwd=0 4135 DO i=1,klon 4136 itest(i)=0 4137 IF (((zpic(i)-zmea(i)).GT.100.).AND.(zstd(i).GT.10.0)) THEN 4138 itest(i)=1 4139 igwd=igwd+1 4140 idx(igwd)=i 4141 ENDIF 4142 ENDDO 4143 4144 END IF 4145 4146 4147 4148 4149 CALL drag_noro_strato(addtkeoro,klon,klev,dtime,paprs,pplay, & 4150 zmea,zstd, zsig, zgam, zthe,zpic,zval, & 4151 igwd,idx,itest, & 4152 t_seri, u_seri, v_seri, & 4153 zulow, zvlow, zustrdr, zvstrdr, & 4154 d_t_oro_gw, d_u_oro_gw, d_v_oro_gw) 4155 4156 zustrdr(:)=0. 4157 zvstrdr(:)=0. 4158 zulow(:)=0. 4159 zvlow(:)=0. 4160 4161 duadd(:,:)=alphatkeoro*d_u_oro_gw(:,:) 4162 dvadd(:,:)=alphatkeoro*d_v_oro_gw(:,:) 4163 END IF 4164 4165 4166 4167 ! TKE update from subgrid temperature and wind tendencies 4168 !---------------------------------------------------------- 4169 forall (k=1: nbp_lev) exner(:, k) = (pplay(:, k)/paprs(:,1))**RKAPPA 4170 4171 4172 CALL tend_to_tke(pdtphys,paprs,exner,t_seri,u_seri,v_seri,dtadd,duadd,dvadd,pbl_tke) 4173 4174 4175 4176 ENDIF 4177 ! ----- 4178 !=============================================================== 4179 4180 4181 4047 4182 !==================================================================== 4048 4183 ! Interface Simulateur COSP (Calipso, ISCCP, MISR, ..)
Note: See TracChangeset
for help on using the changeset viewer.