[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