@@ -333,7 +333,7 @@ SUBROUTINE LEVEL_SET_FIRESPREAD(T,DT,NM)
333333INTEGER :: IIG,IW,JJG,IC,OUTPUT_INDEX
334334INTEGER :: KDUM,KWIND,ICF,IKT
335335REAL (EB) :: UMF_TMP,PHX,PHY,MAG_PHI,PHI_W_X,PHI_W_Y,UMF_X,UMF_Y,UMAG,ROS_MAG,UMF_MAG,ROTH_FACTOR,&
336- SIN_THETA,COS_THETA,THETA
336+ SIN_THETA,COS_THETA,THETA,ZWIND( 2 ),U_Z( 2 ),V_Z( 2 )
337337
338338T_NOW = CURRENT_TIME()
339339
@@ -395,16 +395,34 @@ SUBROUTINE LEVEL_SET_FIRESPREAD(T,DT,NM)
395395
396396 IF (LEVEL_SET_COUPLED_WIND) THEN
397397
398- KWIND = 0
399- DO KDUM = K_LS(IIG,JJG),KBAR
400- IF (ZC(KDUM)- ZC(K_LS(IIG,JJG))>= 6.1_EB ) THEN
401- KWIND = KDUM
402- EXIT
398+ ! Check if sample height is in the mesh
399+ IF (ZC(KBAR)<6.1_EB ) THEN
400+ U_LS(IIG,JJG) = 0.5_EB * (U(IIG-1 ,JJG,KBAR)+ U(IIG,JJG,KBAR))
401+ V_LS(IIG,JJG) = 0.5_EB * (V(IIG,JJG-1 ,KBAR)+ V(IIG,JJG,KBAR))
402+ ELSE
403+
404+ KWIND = 0
405+ DO KDUM = K_LS(IIG,JJG),KBAR
406+ IF ((ZC(KDUM)- Z_LS(IIG,JJG))>= 6.1_EB ) THEN
407+ KWIND = KDUM
408+ ZWIND(1 ) = ZC(KWIND-1 )- Z_LS(IIG,JJG)
409+ ZWIND(2 ) = ZC(KWIND)- Z_LS(IIG,JJG)
410+ EXIT
411+ ENDIF
412+ ENDDO
413+
414+ U_Z(1 ) = 0.5_EB * (U(IIG-1 ,JJG,KWIND-1 )+ U(IIG,JJG,KWIND-1 ))
415+ U_Z(2 ) = 0.5_EB * (U(IIG-1 ,JJG,KWIND)+ U(IIG,JJG,KWIND))
416+ V_Z(1 ) = 0.5_EB * (V(IIG,JJG-1 ,KWIND-1 )+ V(IIG,JJG,KWIND-1 ))
417+ V_Z(2 ) = 0.5_EB * (V(IIG,JJG-1 ,KWIND)+ V(IIG,JJG,KWIND))
418+ ! If wind comes from first grid cell assume zero wind at ground level
419+ IF (KWIND== 1 ) THEN
420+ U_Z(1 ) = 0._EB ; V_Z(1 ) = 0._EB ; ZWIND(1 ) = 0._EB
403421 ENDIF
404- ENDDO
422+ U_LS(IIG,JJG) = U_Z(1 ) + (6.1_EB - ZWIND(1 ))/ (ZWIND(2 )- ZWIND(1 ))* (U_Z(2 )- U_Z(1 ))
423+ V_LS(IIG,JJG) = V_Z(1 ) + (6.1_EB - ZWIND(1 ))/ (ZWIND(2 )- ZWIND(1 ))* (V_Z(2 )- V_Z(1 ))
405424
406- U_LS(IIG,JJG) = 0.5_EB * (U(IIG-1 ,JJG,KWIND)+ U(IIG,JJG,KWIND))
407- V_LS(IIG,JJG) = 0.5_EB * (V(IIG,JJG-1 ,KWIND)+ V(IIG,JJG,KWIND))
425+ ENDIF
408426
409427 ENDIF
410428
0 commit comments