亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mp-sang.f90

?? 一個數(shù)值計算程序的OpenMP的并行化代碼
?? F90
?? 第 1 頁 / 共 2 頁
字號:
!  main program mesoscale model            
!  this program is used to simulate three-dimensional flow fields over urban boundary layer
!  z     -- height in terrain following coordinate system
!  u,v,w -- wind speeds
!  p     -- pressure ( exner function )
!  t     -- potential temperature
!  q     -- turbulence energy
!  ckh   -- horizontal diffusion coefficient
!  ckz   -- vertical diffusion coefficient for momentum
!  ckt   -- vertical diffusion coefficient for heat
!  cke   -- vertical diffusion coefficient for turbulent energy
!  zg    -- topography
!  h     -- height of mixed layer
!  uu,vv,ww    -- wind velocities for adpic
!  qkh   -- horizontal diffusion coefficient in adpic
!  zgg   -- topography in adpic
!  qkv   -- vertical diffusion coefficient in adpic
!  a,b   -- auxiliary variables

program pgl

include 'omp_lib.h'
!integer,EXTERNAL :: OMP_SET_NUM_THREADS
integer :: Itera_steps, Threadsnum1, Threadsnum2

parameter (l=223,m=271,n=20)          !設(shè)置變量維數(shù)
parameter(Itera_steps=100,Threadsnum1=4,Threadsnum2=4)
parameter(ll=l-1,mm=m-1,kk=n-1,nn=n-1)

parameter(dd=500. ,cp=1005.)
parameter(dep=300. ,dtl=0.01 ,dtu=0.005)
parameter(step=2    )   !積分步長
parameter(aa22=0.5  )   !平滑系數(shù)
parameter(bb22=0.125 )  !平滑系數(shù)
!dimension u(l,m,n),v(l,m,n),w(l,m,n),p(l,m,n),t(l,m,n)  !定義風(fēng)速、氣壓和位溫
!dimension z(n),zg(l,m),q(l,m,n)           !z表示垂直高度,zg表示地形高度,q為湍流動能
!dimension a(l,m,n),b(l,m,n)                !臨時變量  
!dimension ckz(l,m,n),ckt(l,m,n),cke(l,m,n),ckh(l,m,n)  !湍流交換系數(shù)
!dimension tsoil(l,m)                       !土壤溫度
!dimension trees(l,m),grass(l,m),soil(l,m),water(l,m),bldmean(l,m) !樹木、草地、土壤、水占網(wǎng)格的百分比,建筑高度 
!dimension ct(l,m),alf(l,m),z0(l,m) !地表參數(shù):熱力系數(shù)、反照率、粗糙度
!dimension qk(l,m),qr(l,m),qh(l,m),qe(l,m)  !短波輻射、長波輻射、感熱、潛熱
dimension z(n);
real,dimension(:,:,:),allocatable::u,v,w,p,t,q
real,dimension(:,:),allocatable::zg
real,dimension(:,:,:),allocatable::a,b
real,dimension(:,:,:),allocatable::ckz,ckt,cke,ckh
real,dimension(:,:),allocatable::tsoil
real,dimension(:,:),allocatable::trees,grass,soil,water,bldmean
real,dimension(:,:),allocatable::ct,alf,z0
real,dimension(:,:),allocatable::qk,qr,qh,qe



allocate(u(l,m,n));allocate(v(l,m,n));allocate(w(l,m,n));allocate(p(l,m,n));allocate(t(l,m,n));
allocate(zg(l,m));allocate(q(l,m,n));
allocate(a(l,m,n));allocate(b(l,m,n));
allocate(ckz(l,m,n));allocate(ckt(l,m,n));allocate(cke(l,m,n));allocate(ckh(l,m,n));
allocate(tsoil(l,m));
allocate(trees(l,m));allocate(grass(l,m));allocate(soil(l,m));allocate(water(l,m));allocate(bldmean(l,m));
allocate(ct(l,m));allocate(alf(l,m));allocate(z0(l,m));
allocate(qk(l,m));allocate(qr(l,m));allocate(qh(l,m));allocate(qe(l,m));




!  l*m*n -- grid point
	

!  z() -- vertical coordinate in terrain-following system   
!!!定義垂直層高度                    
z(1)=0.
z(2)=10.
z(3)=20.
z(4)=50.
z(5)=80.
z(6)=100.
z(7)=150.
z(8)=200.
z(9)=250.
z(10)=300.
z(11)=400.
z(12)=500.
z(13)=750.
z(14)=1000.
z(15)=1250.
z(16)=1500.
z(17)=2000.
z(18)=2500.
z(19)=3000.
z(20)=4000.
	
!!!!調(diào)用子程序計算地表參數(shù)和地表分類:ct,alf,z0,zg,bldmean    
call landclas(ct,alf,z0,zg,bldmean,soil,water,grass,trees,l,m)
!  s  -- top height of the model
!  dd -- horizontal grid interval
s=z(20)





!  initial conditions of u,v,t
!  dep --- depth of the lower layer        
!  dtl --- vertical gradient of potential temperature in lower layer
!  dtu --- vertical gradient of potential temperature in upper layer
!!!!!!初始化溫度、風(fēng)速和湍流動能,t,u,v,q



call OMP_SET_NUM_THREADS(Threadsnum1)

!$OMP PARALLEL PRIVATE(TID,i,j,k)
TID = OMP_GET_THREAD_NUM()
PRINT *, 'Hello World from thread = ', TID

!$OMP  DO 
do k=1,n
do j=1,m
do i=1,l

   tsoil(i,j)=290.

      u(i,j,k)=-1.*(z(k)/10.)**0.12
      v(i,j,k)=-1.5*(z(k)/10.)**0.14
      zz=zg(i,j)+(s-zg(i,j))/s*z(k)
      if (zz.le.dep) then
         t(i,j,k)=290.+dtl*zz
      else
         t(i,j,k)=293.+dtu*(zz-dep)
      end if
!      qs(i,j)=1.*bldmean(i,j)
       if(k.le.14) then
	      q(i,j,k)=0.1
		else
		  q(i,j,k)=0.05
		endif
    enddo
enddo
enddo
!$OMP END DO NOWAIT



!$OMP DO 
!  p(x,y,s)  is the pressure at the top of model
!!!!!!定義頂層氣壓p
do j=1,m
do i=1,l
   p(i,j,20)=875.
enddo
enddo                               
!$OMP END DO NOWAIT

!$OMP END PARALLEL

!  step -- time step every  circulating
!  mk   -- step number of model integration
!  aa22 and bb22 are coef of smooth
mk=0         !積分步數(shù)

tt=6.        !初始積分時間


mk=mk+1


! integrating hydrostatic equation to obtain pressure fields 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!積分過程!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  
55    if(mk.gt.Itera_steps)  goto 1994


!ierr=OMP_SET_NUM_THREADS(Threadsnum2)
!!$OMP PARALLEL PRIVATE(TID)
!TID = OMP_GET_THREAD_NUM()
!PRINT *, 'PHASE II  from thread = ', TID
!!$OMP END PARALLEL


!!!!step 1:計算各層的氣壓p   

!$OMP PARALLEL 
!$OMP DO  PRIVATE(i,j,k)
do j=1,m
do k=kk,1,-1
do i=1,l
      p(i,j,k)=p(i,j,k+1)+9.8*(s-zg(i,j))/s/(t(i,j,k)+t(i,j,k+1))*(z(k+1)-z(k))*2.
enddo
enddo
enddo
!$OMP END DO NOWAIT

! absorbing layer for prevention of wave reflection from model top
!!!!step2:頂層濾波u,v,t 
!call top(u,l,m,n)
!call top(v,l,m,n)
!call top(t,l,m,n)

!$OMP DO  PRIVATE(i,j,k,tk)
do k=n-4,n
   tk=(k-16.)/4.
do j=1,m
do i=1,l
   u(i,j,k)=u(i,j,k)*(1-tk)+u(1,1,k)*tk
   v(i,j,k)=v(i,j,k)*(1-tk)+v(1,1,k)*tk
   t(i,j,k)=t(i,j,k)*(1-tk)+t(1,1,k)*tk
enddo 
enddo
enddo
!$OMP END DO NOWAIT


! time filtering for noise damping at boundary
!!!!step3:處理t的側(cè)邊界,同時將u,v放入臨時變量a,b


!$OMP DO PRIVATE(i,j,k)
do k=1,n
do j=1,m
   t(1,j,k)=t(2,j,k)
   t(l,j,k)=t(l-1,j,k)
enddo
enddo
!$OMP END DO NOWAIT
!$OMP DO PRIVATE(i,j,k)
do k=1,n
do i=1,l
   t(i,1,k)=t(i,2,k)
   t(i,m,k)=t(i,m-1,k)
enddo
enddo
!$OMP END DO NOWAIT
!$OMP DO PRIVATE(i,j,k)
do k=1,n
do j=1,m
do i=1,l
   a(i,j,k)=u(i,j,k)
   b(i,j,k)=v(i,j,k)
enddo
enddo
enddo
!$OMP END DO NOWAIT

!$OMP SINGLE
!!!!step4:計算u,v的平流過程,更新u,v
call advuu(u,v,w,z,dd,step,l,m,n)
!$OMP END SINGLE

!!!!step5:計算u,v的氣壓梯度過程,更新u,v
!call pp(u,v,p,t,zg,z,dd,s,step,l,m,n)
!$OMP DO PRIVATE(i,j,k)
do k=2,kk
do j=2,mm
do i=2,ll
   u(i,j,k)=u(i,j,k)-(p(i,j,k)-p(i-1,j,k))/dd*step*0.5*(t(i,j,k)+t(i-1,j,k))+(zg(i,j)-zg(i-1,j))/dd*9.8*(z(k)-s)/s*step
   v(i,j,k)=v(i,j,k)-(p(i,j,k)-p(i,j-1,k))/dd*step*0.5*(t(i,j,k)+t(i,j-1,k))+(zg(i,j)-zg(i,j-1))/dd*9.8*(z(k)-s)/s*step
enddo
enddo
enddo
!$OMP END DO NOWAIT


!!!!step5:用新的u,v和原來的u,v結(jié)合,平滑擾動,同時將t和q放入臨時變量t,q
!$OMP DO PRIVATE(i,j,k)
do k=1,n
do j=1,m
do i=1,l
   u(i,j,k)=0.6*u(i,j,k)+0.4*a(i,j,k)
   v(i,j,k)=0.6*v(i,j,k)+0.4*b(i,j,k)
   a(i,j,k)=t(i,j,k)
   b(i,j,k)=q(i,j,k)      
enddo
enddo
enddo          

!$OMP SECTIONS
!!!!step6:計算t,q的平流項,更新t,q
!$OMP SECTION
call adv(u,v,w,t,z,dd,step,l,m,n)
!$OMP SECTION
call adv(u,v,w,q,z,dd,step,l,m,n)
!$OMP END SECTIONS


!!!!step7:計算垂直速度w
!call verti(u,v,w,dd,step,s,z,zg,l,m,n,ll,mm,kk)

!$OMP DO PRIVATE(i,j,k)
do j=2,mm
do k=2,kk
do i=2,ll
w(i,j,k)=w(i,j,k-1)-(u(i+1,j,k-1)-u(i,j,k-1)+v(i,j+1,k-1)-v(i,j,k-1))/dd*(z(k)-z(k-1))+.5*((u(i+1,j,k-1)+u(i,j,k-1))*(zg(i+1,j)-zg(i-1,j))+(v(i,j+1,k-1)+v(i,j,k-1))*(zg(i,j+1)-zg(i,j-1)))/dd/2.*(z(k)-z(k-1))/(s-zg(i,j))
enddo
enddo
enddo
!$OMP END DO NOWAIT

!!!!step8:處理u,v,t的邊界
!$OMP SECTIONS
!$OMP SECTION 
call bound(u,u,v,l,m,n)
!$OMP SECTION
call bound(v,u,v,l,m,n)
!$OMP SECTION
call bound(t,u,v,l,m,n)
!$OMP SECTION
tt=tt+step/3600.
!$OMP END SECTIONS

!!!!step9:調(diào)用interface子程序,計算地表溫度t(i,j,1)

!$OMP DO PRIVATE(i,j,k) PRIVATE(z2,t1,t2,r2,tem,estar,rstar,hu)
do j=1,m
do i=1,l
   z2=z(2)

   t1=t(i,j,1)
   t2=t(i,j,2)
   u2=(u(i,j,2)*u(i,j,2)+v(i,j,2)*v(i,j,2))**0.5

   r2=0.010
   tem=t(i,j,1)*p(i,j,1)/cp
   estar=6.112*exp(17.67*(tem-273.15)/(tem-29.65))
   rstar=0.622*estar/1000.
   hu=0.5
   call interface(qk(i,j),qr(i,j),qh(i,j),qe(i,j),u2,t1,t2,r2,ct(i,j),z0(i,j),alf(i,j),z2,step,qa,tt,tem,rstar,hu,soil(i,j),water(i,j),grass(i,j),trees(i,j),tsoil(i,j),i,j)
   t(i,j,1)=t1
enddo
enddo
!$OMP END DO NOWAIT


!!!!step10:調(diào)用turbu子程序計算湍流擴散系數(shù)ckz,ckt,cke
!call turbu(q,ckz,ckt,cke,u,v,t,z,step,l,m,n,tt,s,zg)

al8=35.
!$OMP DO PRIVATE(i,j,k,dz,ri,rif,sm,alf,all,ti,tk)
do 1 k=2,n-1
dz=z(k+1)-z(k-1)
do 1 j=1,m
do 1 i=1,l
if(u(i,j,k+1).eq.u(i,j,k-1)) goto 10
ri=9.8/t(i,j,k)*(t(i,j,k+1)-t(i,j,k-1))*dz/((u(i,j,k+1)-u(i,j,k-1))**2+(v(i,j,k+1)-v(i,j,k-1))**2)
if(ri.ge.0.195) goto 10
rif=.6588*(ri+.1776-(ri*ri-.3221*ri+.03156)**.5)  
goto 11
10  rif=.191
11  if(rif.ge.0.16) then
sm=.085
temp_alf=1.25
else
sm=1.96*(.1912-rif)*(.2341-rif)/(1.-rif)/(.2331-rif)
temp_alf=1.318*(.2331-rif)/(.2341-rif)
end if
all=.4*z(k)/(1.+.4*z(k)/al8)
!ti=i
!tk=k
!if(q(i,j,k).le.0.) then
if(q(i,j,k).le.0.00001) then
q(i,j,k)=.01
else
q(i,j,k)=q(i,j,k)+ckz(i,j,k)*(((u(i,j,k+1)-u(i,j,k-1))/dz)**2+((v(i,j,k+1)-v(i,j,k-1))/dz)**2)*step*(s/(s-zg(i,j)))**2-(s/(s-zg(i,j)))*ckt(i,j,k)*9.8*temp_alf/t(i,j,k)*(t(i,j,k+1)-t(i,j,k-1))/dz*step*0.5-(2*q(i,j,k))**1.5/10.6/all*step
end if
! if(q(i,j,k).le.0.00001) q(i,j,k)=0.01
ckz(i,j,k)=sm*all*(2*q(i,j,k))**.5
cke(i,j,k)=.2*all*(2*q(i,j,k))**.5
ckt(i,j,k)=ckz(i,j,k)*temp_alf
!if(i.ne.12.or.k.ne.3) goto 1
1   continue
!$OMP END DO NOWAIT


!  up and down boundery conditions
!$OMP DO PRIVATE(i,j)
do j=1,m
do i=1,l
ckt(i,j,n)=ckt(i,j,n-1)
enddo
enddo
!$OMP END DO NOWAIT


!!!!step11:平滑t,q,濾掉擾動

!$OMP DO PRIVATE(i,j,k)
do k=1,n
do j=1,m
do i=1,l
   t(i,j,k)=0.6*t(i,j,k)+0.4*a(i,j,k)
enddo
enddo
enddo
!$OMP END DO NOWAIT
!$OMP DO PRIVATE(i,j,k)
do k=1,n
do j=1,m
do i=1,l
   q(i,j,k)=0.6*q(i,j,k)+0.4*b(i,j,k)
enddo
enddo
enddo
!$OMP END DO NOWAIT
!!!!step12:計算水平擴散系數(shù)ckh

!$OMP DO PRIVATE(i,j,k)
do k=2,n
do j=2,mm
do i=2,ll
   def=(v(i+1,j,k)-v(i-1,j,k)+u(i,j+1,k)-u(i,j-1,k))**2+(u(i+1,j,k)-u(i-1,j,k)-v(i,j+1,k)+v(i,j-1,k))**2
   def=def**0.5
   ckh(i,j,k)=0.049*dd*def
enddo
enddo
enddo
!$OMP END DO NOWAIT

!!!!step13:利用湍流擴散系數(shù)計算u,v,q,t的湍流擴散項,更新u,v,q,t
!call diff(ckz,ckh,z,zg,dd,step,s,l,m,n,u)
!call diff(ckz,ckh,z,zg,dd,step,s,l,m,n,v)
!call diff(cke,ckh,z,zg,dd,step,s,l,m,n,q)
!call diff(ckt,ckh,z,zg,dd,step,s,l,m,n,t)


!$OMP DO PRIVATE(i,j,k)
do k=2,nn
do j=2,mm
do i=2,ll
   adh1=ckh(i,j,k)*(u(i-1,j,k)+u(i+1,j,k)+u(i,j-1,k)+u(i,j+1,k)-4.*u(i,j,k))/dd/dd*step

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕免费在线观看视频一区| 日韩限制级电影在线观看| 五月婷婷久久综合| 久久久91精品国产一区二区三区| 国产精品自拍一区| 图片区日韩欧美亚洲| 欧美经典三级视频一区二区三区| 欧美精品第1页| 色av一区二区| 成人免费的视频| 伦理电影国产精品| 亚洲一区二区精品久久av| 国产精品免费视频一区| 日韩一级欧美一级| 7777精品伊人久久久大香线蕉经典版下载| 国产一区在线视频| 久久精品噜噜噜成人av农村| 亚洲制服丝袜av| 亚洲精品亚洲人成人网| 国产精品成人一区二区艾草| 国产欧美一区二区三区网站| 日韩一区二区视频| 欧美一级专区免费大片| 欧美日韩国产高清一区| 欧日韩精品视频| 色播五月激情综合网| 欧美艳星brazzers| 欧美三级电影网| 777午夜精品免费视频| 欧美日韩国产小视频在线观看| 色成年激情久久综合| 在线精品视频免费观看| 欧美综合亚洲图片综合区| 欧美在线|欧美| 欧美一级黄色大片| 欧美精品一区男女天堂| 国产精品无圣光一区二区| 中文幕一区二区三区久久蜜桃| 中文字幕一区二区三区四区| 亚洲人吸女人奶水| 午夜电影网亚洲视频| 蜜桃精品视频在线| 9色porny自拍视频一区二区| 日本韩国欧美一区| 精品国产一区二区三区不卡| 国产欧美日韩久久| 亚洲成人动漫精品| 黑人巨大精品欧美一区| 成人av在线资源网| 欧美一区二区精品久久911| 久久久午夜电影| 亚洲自拍偷拍麻豆| 国产精品12区| 欧美一区二区女人| 亚洲精品久久久蜜桃| 蜜桃精品视频在线观看| 欧美专区日韩专区| 2021中文字幕一区亚洲| 亚洲一区免费视频| www.亚洲国产| 26uuu久久综合| 日本美女一区二区三区视频| 91一区二区在线| 日韩女优电影在线观看| 亚洲一区影音先锋| 色噜噜偷拍精品综合在线| 国产欧美精品一区二区色综合| 日产国产欧美视频一区精品| 欧美伊人久久久久久久久影院 | 久久久久久久综合狠狠综合| 亚洲不卡av一区二区三区| 91在线国内视频| 国产精品高清亚洲| 99精品视频在线免费观看| 久久久久久亚洲综合| 精品在线播放免费| 日韩欧美久久一区| 国产精品一区专区| 中文字幕乱码亚洲精品一区 | 大白屁股一区二区视频| 久久精品一区二区三区不卡| 国产成人综合亚洲网站| 国产免费成人在线视频| av电影在线观看不卡| 成人免费小视频| 欧美色视频在线观看| 亚洲成人精品一区| 日韩三级视频中文字幕| 国产伦精品一区二区三区在线观看| 国产日韩影视精品| 99视频精品全部免费在线| 亚洲精品乱码久久久久久日本蜜臀| 色琪琪一区二区三区亚洲区| 亚洲一区二区五区| 欧美不卡一区二区三区| 成人国产精品免费观看视频| 亚洲精品国产成人久久av盗摄| 欧美日韩精品一区二区三区| 国产精品亚洲午夜一区二区三区 | 亚洲国产精品精华液2区45| 色婷婷久久一区二区三区麻豆| 日本va欧美va瓶| 亚洲桃色在线一区| 欧美大度的电影原声| 色噜噜偷拍精品综合在线| 国产精品亚洲成人| 亚洲国产精品精华液网站| 久久一留热品黄| 91精品视频网| 欧美视频在线观看一区二区| 国产精品亚洲专一区二区三区 | 成人福利视频在线| 久久99精品视频| 综合欧美一区二区三区| 久久久久高清精品| 欧美日高清视频| 欧洲一区二区三区免费视频| 成人av网址在线观看| 国产精品一区二区三区网站| 日韩精品电影在线| 一区二区三区四区不卡在线 | 欧美激情一区二区三区在线| 日韩免费视频一区二区| 欧美狂野另类xxxxoooo| 欧美三级视频在线观看| 欧洲亚洲精品在线| 欧美图片一区二区三区| 欧洲国产伦久久久久久久| 色偷偷成人一区二区三区91| 99久久精品情趣| 99精品视频中文字幕| 91美女蜜桃在线| 欧美最新大片在线看| 欧美久久久久久久久中文字幕| 欧美色图天堂网| 91精品国产综合久久蜜臀| 欧美一区二区三区在线观看| 欧美一级二级在线观看| 欧美tk丨vk视频| 久久精品亚洲一区二区三区浴池| 国产日本一区二区| 综合久久一区二区三区| 一区二区三区在线视频免费观看| 亚洲最大的成人av| 久久不见久久见中文字幕免费| 国产做a爰片久久毛片| 99re亚洲国产精品| 欧美一区二区在线看| 国产亚洲一本大道中文在线| 最新欧美精品一区二区三区| 天天操天天干天天综合网| 久久99精品国产| 色综合中文字幕| 精品国产sm最大网站| 亚洲蜜臀av乱码久久精品蜜桃| 日韩主播视频在线| 国产91丝袜在线18| 欧美一区二区三区婷婷月色| 久久先锋资源网| 午夜免费欧美电影| 成人激情av网| 久久色在线视频| 日本亚洲三级在线| 91久久精品日日躁夜夜躁欧美| 精品久久一区二区三区| 亚洲图片有声小说| 国产成a人亚洲精| 精品国产sm最大网站| 亚洲1区2区3区4区| 欧美午夜精品一区| 自拍偷拍亚洲综合| 国产91对白在线观看九色| 日韩免费观看高清完整版在线观看| 亚洲精品国产无套在线观| 成人精品免费网站| 久久久久97国产精华液好用吗| 蜜臀a∨国产成人精品| 日韩欧美高清dvd碟片| 一区二区三区色| 在线免费观看视频一区| 亚洲日本乱码在线观看| aaa亚洲精品| 亚洲三级在线播放| 一本一道综合狠狠老| 亚洲九九爱视频| 欧美日韩国产综合久久| 性感美女久久精品| 精品久久五月天| 久久亚洲一区二区三区明星换脸 | 欧美在线一区二区三区| 欧美日韩日日夜夜| 麻豆成人免费电影| 337p日本欧洲亚洲大胆色噜噜| 国产一区二区不卡在线| 日本一区二区三区国色天香| 成人丝袜高跟foot| 一区二区三区四区乱视频| 欧美裸体一区二区三区| 久久国产日韩欧美精品| 国产精品青草久久|