c Alex Pogoreltsev, February 2006 c c RETURNED TO THE NCEP/NCAR DATA, i.e. adjustment starts c at second level !!!!!!!!!! (see bellow) c c convective adjustment at the level k=1 is included, c adjustment to the T(NCEP/NCAR) is removed c tau = 5 days and ttau is introduced c----------------------------------------------------------- c Alex Pogoreltsev, January 2009 c c T_av adjusted to the NCEP/NCAR only at 6 lower levels c----------------------------------------------------------- subroutine ncool_PWs_60 c include 'com_main.fc' c c g=9.81 c RgSI=8314.41 c h=7000. c c_p=1005. rgit=float(igit) gradT0=-g/c_p tau=5.*86400. t_u=5.*86400. ttau = float(nsec)/tau eff_t = 1.-exp(-ttau) c nfor=max0(ncom-nphi,0) c xsec = 3600./float(ntime) ! seconds per step c ufor = float(nfor)*xsec/tau c--------------------- efficiency of the QBO adaptation after nphi c t_QBO= 1.- exp(-ufor*ufor) c--------------------- adaptation to the QBO at the beginning t_QBO=eff_t n_TIME=ncom/nstep-329 if(n_TIME.gt.59) n_TIME=59 c---------------------------- k=17 (JRA55 z=46 km) do 10 k=1,17 do 20 j=1,nb tav=0. uav=0. do i=1,igit tav=tav+tn1(j,k,i)/rgit uav=uav+un1(j,k,i)/rgit enddo do i=1,igit c------------ adaptation to the UKMO temperature and wind up to 18 km c fnt(k,i,j) = -eff_t/tau*(tav-T_NCEP(j,k))*EXP(-z(k)/20.) c fnt(k,i,j) = 0. c########################################## if(k.le.10) then c--------------------------------------------- Latent heating fnt(k,i,j) = fnt(k,i,j) + eff_t*heat_LH(i,j,k)/86400. end if c########################################## c c--------------------- adaptation to the UKMO 3D temperature c c fnt(k,i,j)=0. c if(k.le.10.and.ncom/nstep.lt.330) c & fnt(k,i,j) = -eff_t/tau*(tn1(j,k,i)-T_UKMO_TIME(i,j,k,1)) c if(k.le.10.and.ncom/nstep.ge.330) c & fnt(k,i,j) = c & -eff_t/tau*(tn1(j,k,i)-T_UKMO_TIME(i,j,k,n_TIME)) c c----------------- adaptation to the QBO wind c yQBO=EXP(-phi(j)*phi(j)*180.*180./pi/pi/20./20.) IF(z(k).le.30) THEN zQBO=EXP(-(z(k)-30.)*(z(k)-30.)/20./20.) ELSE zQBO=EXP(-(z(k)-30.)*(z(k)-30.)/40./40.) END IF frl(k,i,j) = -t_QBO/t_u*(uav-U_UKMO(j,k))*yQBO*zQBO c frl(k,i,j)=0. enddo 20 continue 10 continue do i=1,igit do k=2,kgit do j=1,nb c ----- c CONVECTIVE ADJUSTMENT c ----- if(k.eq.1) then tav = (tn1(j,k,i)+T_1000(j,i))/2. gradT=2.*(tn1(j,k,i)-T_1000(j,i))/dz else km1=k-1 tav = (tn1(j,k,i)+tn1(j,km1,i))/2. gradT= (tn1(j,k,i)-tn1(j,km1,i))/dz end if hscale=RgSI*tav/g/rm(k) gradTh=gradT0*hscale/h if(gradT.le.gradT0) then conv_c=(gradTh-gradT)*dz/tau fnt(k,i,j)=fnt(k,i,j)+eff_t*conv_c if(k.ge.2) fnt(km1,i,j)=fnt(km1,i,j)-eff_t*conv_c end if enddo end do enddo return end