[RegCNET] calculation of Monin–Obukhov Length
flyks
flyyks at gmail.com
Thu Nov 10 23:54:33 CET 2011
Dear all,
I want to know the reference for calculating Monin–Obukhov Length in
RegCM. Thank you.
Following is code taken from PBL module,
sh10 = qx(i,kx)/(qx(i,kx)+1)
c "virtual" potential temperature
if (sflux(i).ge. 0.) then
th10 = thvx(i,kx)
else
c---- first approximation for obhukov length
oblen=-0.5*(thx(i,kx)+tg(i))
& *(1.0+ep1*sh10)*ust(i)**3
& /(g*karman*(sflux(i)+dsign(1.d-10,sflux(i))))
if (oblen.ge.za(i,kx)) then
th10=thvx(i,kx)+sflux(i)/(karman*ust(i))
& *(dlog(za(i,kx)/10.)+5./oblen*(za(i,kx)-10.))
else if (oblen.lt.za(i,kx).and.oblen.gt.10.) then
th10=thvx(i,kx)+sflux(i)/(karman*ust(i))
& *(dlog(oblen/10.)+5./oblen*(oblen-10.)
& +6*dlog(za(i,kx)/oblen))
else if (oblen.le.10.) then
th10=thvx(i,kx)+sflux(i)/(karman*ust(i))
& *6*dlog(za(i,kx)/10.)
end if
th10=max(th10,tg(i))
end if
c compute obukhov length
oblen=-th10*ust(i)**3
& /( g*karman*(sflux(i)+dsign(1.d-10,sflux(i))) )
More information about the RegCNET
mailing list