SUBROUTINE MIXLEN(EL0,EL) ! ! CALCULATES LAYER-AVERAGED BLACKADAR'S MIXING LENGTH, AND PBL TOP ! AS CPBLT*(ASYMPTOTIC EL); AND THEN EL, ACCOUNT TAKEN OF STABILITY, ! PBL TOP AND VERTICAL GRID DISTANCE RESTRICTIONS (SEE BELOW) ! ! SET FROM EXISTING CODES BY L. LOBOCKI, JUNE 5, 1992 ! MODIFIED BY FEDOR MESINGER, OCTOBER 13, NOVEMBER 19 ! MODIFIED BY JIM TUCCILLO FOR MPI IMPLEMENTATION ! 01-10-25 H CHUANG - MODIFIED TO PROCESS HYBRID MODEL OUTPUT ! 02-06-19 MIKE BALDWIN - WRF VERSION ! 21-03-11 B Cui - change local arrays to dimension (im,jsta:jend) ! 21-09-30 J MENG - 2D DECOMPOSITION ! ! ! INPUT: ! ------ ! ! ZINT (IM,jsta_2l:jend_2u,LP1) - ETA INTERFACES HEIGHT FIELD ! T (IM,jsta_2l:jend_2u,LM) - TEMPERATURE ! PMID (IM,jsta_2l:jend_2u,LM) - PRESSURE IN LAYERS ! Q2 (IM,jsta_2l:jend_2u,LM) - TURBULENCE KINETIC ENERGY * 2 ! HGT (IM,jsta_2l:jend_2u) - SURFACE ELEVATION ARRAY ! HTM (IM,jsta_2l:jend_2u,LM) - HEIGHT TOPOGRAPHY MASK ARRAY ! EL0 (IM,JM) - ARRAY OF ASYMPTOTIC VALUES FOR MIXING LENGTH ! ! OUTPUT: ! ------- ! ! EL (IM,jsta_2l:jend_2u,LM) - FIELD OF RESULTING MASTER LENGTH SCALES ! ! ! SCRATCH AREAS: ! -------------- ! ! VKRMZ(IM,JM) ! ! RELEVANT CONSTANTS: ! ------------------- ! ! VON KARMAN CONSTANT: use vrbls3d, only: zint, pmid, t, q2 use masks, only: lmh, htm use params_mod, only: EPSQ2, CAPA use ctlblk_mod, only: jsta, jend, jsta_m, jend_m, im, jm, jsta_2l, jend_2u,& lm, lm1, spval,& ista, iend, ista_m, iend_m, ista_2l, iend_2u !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - implicit none ! real,PARAMETER :: VKRM=0.4 ! CONSTANTS NEEDED FOR THE EL(BL,ST,ZI) SCHEME: real,PARAMETER :: FRG=4.*9.8,DRDRFF=0.54,CPBLT=10., & CSH=0.23*0.5, EPSN2=1.E-7 ! ! ------------------------------------------------------------------ ! real,intent(in) :: el0(ista_2l:iend_2u,jsta_2l:jend_2u) real,intent(out) :: EL(ista_2l:iend_2u,jsta_2l:jend_2u,LM) real HGT(ISTA:IEND,JSTA:JEND),APE(ISTA_M:IEND_M,JSTA_M:JEND_M,2) ! integer I,J,L real ZL,VKRMZ,ENSQ,Q2KL,ELST,ZIAG,ELVGD !*********************************************************************** ! !$omp parallel do DO L=1,LM DO J=JSTA,JEND DO I=ISTA,IEND EL(I,J,L)=0. ENDDO ENDDO ENDDO DO J=JSTA,JEND DO I=ISTA,IEND HGT(I,J)=ZINT(I,J,NINT(LMH(I,J))+1) ENDDO ENDDO ! !---THE AVERAGE EL SCHEME---------------------------(FM, AUGUST 19 MEMO) ! FIRST GET EL IN THE LAYERS ! !$omp parallel do private(i,j,l,vkrmz,zl) DO L=1,LM DO J=JSTA,JEND DO I=ISTA,IEND IF(HGT(I,J)