Dear All,

Can anyone point to me some documentation regarding how gusts are calculated in the model?

Cheers

Richard

8 posts
• Page **1** of **1**

Wind gusts are not calculated in the model.

The views expressed in this message do not necessarily reflect those of NOAA or the National Weather Service or the University of Oklahoma.

James Correia, Jr

James Correia, Jr

- jimmyc
**Posts:**519**Joined:**Tue Apr 15, 2008 1:10 am

Hi

I am running WRF_EMS v3 - and the diagnostics include surface gusts. I guess I may have confused in that the model outputs the U and V wind but not gusts, but the post-processing diagnostics include gusts.

For what it's worth Robert Rosumalski got back to me with the code used and have pasted below.

Richard

SUBROUTINE CALGUST(LPBL,ZPBL,GUST)

C$$$ SUBPROGRAM DOCUMENTATION BLOCK

C . . .

C SUBPROGRAM: CALGUST COMPUTE MAX WIND LEVEL

C PRGRMMR: MANIKIN ORG: W/NP2 DATE: 97-03-04

C

C ABSTRACT:

C THIS ROUTINE COMPUTES SURFACE WIND GUST BY MIXING

C DOWN MOMENTUM FROM THE LEVEL AT THE HEIGHT OF THE PBL

C

C

C PROGRAM HISTORY LOG:

C 03-10-15 GEOFF MANIKIN

C 05-03-09 H CHUANG - WRF VERSION

C 05-06-30 R ROZUMALSKI - DYNAMIC MEMORY ALLOCATION AND SMP

C THREAD-SAFE VERSION

C

C USAGE: CALL CALGUST(GUST)

C INPUT ARGUMENT LIST:

C NONE

C

C OUTPUT ARGUMENT LIST:

C GUST - SPEED OF THE MAXIMUM SFC WIND GUST

C

C OUTPUT FILES:

C NONE

C

C SUBPROGRAMS CALLED:

C UTILITIES:

C H2V

C

C LIBRARY:

C COMMON -

C LOOPS

C OPTIONS

C MASKS

C INDX

C

C ATTRIBUTES:

C LANGUAGE: FORTRAN 90

C MACHINE : CRAY C-90

C$$$

C

C

use vrbls3d

use vrbls2d

C

C INCLUDE ETA GRID DIMENSIONS. SET/DERIVE PARAMETERS.

C

!

INCLUDE "params"

C

INCLUDE "CTLBLK.comm"

C

C DECLARE VARIABLES.

C

INTEGER :: LPBL(IM,JM)

REAL :: GUST(IM,JM)

REAL ZPBL(IM,jsta_2l:jend_2u)

C

C

C*****************************************************************************

C START CALMXW HERE.

C

C LOOP OVER THE GRID.

C

DO J=JSTA,JEND

DO I=1,IM

! GUST(I,J) = SPVAL

GUST(I,J) = 0.

ENDDO

ENDDO

C

C ASSUME THAT U AND V HAVE UPDATED HALOS

C

!$omp parallel do

!$omp& private(ie,iw,mxww,u0,v0,wind)

DO 20 J=JSTA_M,JEND_M

DO 20 I=2,IM-1

L=LPBL(I,J)

IF(MODELNAME .EQ. 'NMM')THEN

IE=I+MOD(J+1,2)

IW=I+MOD(J+1,2)-1

USFC=D25*(U10(I,J-1)+U10(IW,J)+

X U10(IE,J)+U10(I,J+1))

VSFC=D25*(V10(I,J-1)+V10(IW,J)+

X V10(IE,J)+V10(I,J+1))

SFCWIND=SQRT(USFC**2 + VSFC**2)

U0 = D25*(U(I,J-1,L)+U(IW,J,L)+

X U(IE,J,L)+U(I,J+1,L))

V0 = D25*(V(I,J-1,L)+V(IW,J,L)+

X V(IE,J,L)+V(I,J+1,L))

WIND=SQRT(U0**2 + V0**2)

ELSE IF(MODELNAME .EQ. 'NCAR')THEN

USFC=U10(I,J)

VSFC=V10(I,J)

SFCWIND=SQRT(USFC**2 + VSFC**2)

U0=U(I,J,L)

V0=V(I,J,L)

WIND=SQRT(U0**2 + V0**2)

END IF

DELWIND=WIND - SFCWIND

ZSFC=FIS(I,J)*GI

DELWIND=DELWIND*(1.0-AMIN1(0.5,ZPBL(I,J)/2000.))

GUST(I,J)=SFCWIND+DELWIND

10 CONTINUE

20 CONTINUE

C END OF ROUTINE.

C

RETURN

END

I am running WRF_EMS v3 - and the diagnostics include surface gusts. I guess I may have confused in that the model outputs the U and V wind but not gusts, but the post-processing diagnostics include gusts.

For what it's worth Robert Rosumalski got back to me with the code used and have pasted below.

Richard

SUBROUTINE CALGUST(LPBL,ZPBL,GUST)

C$$$ SUBPROGRAM DOCUMENTATION BLOCK

C . . .

C SUBPROGRAM: CALGUST COMPUTE MAX WIND LEVEL

C PRGRMMR: MANIKIN ORG: W/NP2 DATE: 97-03-04

C

C ABSTRACT:

C THIS ROUTINE COMPUTES SURFACE WIND GUST BY MIXING

C DOWN MOMENTUM FROM THE LEVEL AT THE HEIGHT OF THE PBL

C

C

C PROGRAM HISTORY LOG:

C 03-10-15 GEOFF MANIKIN

C 05-03-09 H CHUANG - WRF VERSION

C 05-06-30 R ROZUMALSKI - DYNAMIC MEMORY ALLOCATION AND SMP

C THREAD-SAFE VERSION

C

C USAGE: CALL CALGUST(GUST)

C INPUT ARGUMENT LIST:

C NONE

C

C OUTPUT ARGUMENT LIST:

C GUST - SPEED OF THE MAXIMUM SFC WIND GUST

C

C OUTPUT FILES:

C NONE

C

C SUBPROGRAMS CALLED:

C UTILITIES:

C H2V

C

C LIBRARY:

C COMMON -

C LOOPS

C OPTIONS

C MASKS

C INDX

C

C ATTRIBUTES:

C LANGUAGE: FORTRAN 90

C MACHINE : CRAY C-90

C$$$

C

C

use vrbls3d

use vrbls2d

C

C INCLUDE ETA GRID DIMENSIONS. SET/DERIVE PARAMETERS.

C

!

INCLUDE "params"

C

INCLUDE "CTLBLK.comm"

C

C DECLARE VARIABLES.

C

INTEGER :: LPBL(IM,JM)

REAL :: GUST(IM,JM)

REAL ZPBL(IM,jsta_2l:jend_2u)

C

C

C*****************************************************************************

C START CALMXW HERE.

C

C LOOP OVER THE GRID.

C

DO J=JSTA,JEND

DO I=1,IM

! GUST(I,J) = SPVAL

GUST(I,J) = 0.

ENDDO

ENDDO

C

C ASSUME THAT U AND V HAVE UPDATED HALOS

C

!$omp parallel do

!$omp& private(ie,iw,mxww,u0,v0,wind)

DO 20 J=JSTA_M,JEND_M

DO 20 I=2,IM-1

L=LPBL(I,J)

IF(MODELNAME .EQ. 'NMM')THEN

IE=I+MOD(J+1,2)

IW=I+MOD(J+1,2)-1

USFC=D25*(U10(I,J-1)+U10(IW,J)+

X U10(IE,J)+U10(I,J+1))

VSFC=D25*(V10(I,J-1)+V10(IW,J)+

X V10(IE,J)+V10(I,J+1))

SFCWIND=SQRT(USFC**2 + VSFC**2)

U0 = D25*(U(I,J-1,L)+U(IW,J,L)+

X U(IE,J,L)+U(I,J+1,L))

V0 = D25*(V(I,J-1,L)+V(IW,J,L)+

X V(IE,J,L)+V(I,J+1,L))

WIND=SQRT(U0**2 + V0**2)

ELSE IF(MODELNAME .EQ. 'NCAR')THEN

USFC=U10(I,J)

VSFC=V10(I,J)

SFCWIND=SQRT(USFC**2 + VSFC**2)

U0=U(I,J,L)

V0=V(I,J,L)

WIND=SQRT(U0**2 + V0**2)

END IF

DELWIND=WIND - SFCWIND

ZSFC=FIS(I,J)*GI

DELWIND=DELWIND*(1.0-AMIN1(0.5,ZPBL(I,J)/2000.))

GUST(I,J)=SFCWIND+DELWIND

10 CONTINUE

20 CONTINUE

C END OF ROUTINE.

C

RETURN

END

- rd_se3
**Posts:**6**Joined:**Sat Apr 11, 2009 8:06 pm

My mistake, I had no idea this was computed. Is this in the wrf code, or the postprocessing code?

The views expressed in this message do not necessarily reflect those of NOAA or the National Weather Service or the University of Oklahoma.

James Correia, Jr

James Correia, Jr

- jimmyc
**Posts:**519**Joined:**Tue Apr 15, 2008 1:10 am

jimmyc wrote:My mistake, I had no idea this was computed. Is this in the wrf code, or the postprocessing code?

No jimmyc - probably not your mistake, it's not computed on the fly in the code, it's in the post-processing.

Cheers

Richard

- rd_se3
**Posts:**6**Joined:**Sat Apr 11, 2009 8:06 pm

Hi,

I was also looking for wind gusts in WRF model. I currently run WRFv3.0 with and use post-processing with ARWpost. Is it also possible for me to compute wind gusts? If so, what do I have to add to my fields-definition in namelist.arwp?

Thank you!

Best regards,

Jonas Kaufmann

I was also looking for wind gusts in WRF model. I currently run WRFv3.0 with and use post-processing with ARWpost. Is it also possible for me to compute wind gusts? If so, what do I have to add to my fields-definition in namelist.arwp?

Thank you!

Best regards,

Jonas Kaufmann

- j0nes
**Posts:**1**Joined:**Thu May 14, 2009 8:17 am

j0nes wrote:I was also looking for wind gusts in WRF model. I currently run WRFv3.0 with and use post-processing with ARWpost. Is it also possible for me to compute wind gusts? If so, what do I have to add to my fields-definition in namelist.arwp?

Hi Jonas

I am using WRF_EMS model - you can specify surface gust in the grads output in $EMS/run-name/static/ wrfpost_cntrl.parm - in fact it should be specified as standard.

Richard

- rd_se3
**Posts:**6**Joined:**Sat Apr 11, 2009 8:06 pm

I know it's been a really long time since this post - I'm doing high resolution (1.4km) local forecasts and was trying to use Robert's routine(s) to calculate gustiness. The resulting wind speed doesn't seem different from the max wind. Does this gust calculation method fail at high resolutions?

Thank You Very Much,

Michelle

EDIT: User error! I was reading the wrong fields for "gusts" - it seems to work correctly.

Thank You Very Much,

Michelle

EDIT: User error! I was reading the wrong fields for "gusts" - it seems to work correctly.

rd_se3 wrote:Hi

I am running WRF_EMS v3 - and the diagnostics include surface gusts. I guess I may have confused in that the model outputs the U and V wind but not gusts, but the post-processing diagnostics include gusts.

For what it's worth Robert Rosumalski got back to me with the code used and have pasted below.

Richard

SUBROUTINE CALGUST(LPBL,ZPBL,GUST)

C$$$ SUBPROGRAM DOCUMENTATION BLOCK

C . . .

C SUBPROGRAM: CALGUST COMPUTE MAX WIND LEVEL

C PRGRMMR: MANIKIN ORG: W/NP2 DATE: 97-03-04

C

C ABSTRACT:

C THIS ROUTINE COMPUTES SURFACE WIND GUST BY MIXING

C DOWN MOMENTUM FROM THE LEVEL AT THE HEIGHT OF THE PBL

<...>

C END OF ROUTINE.

C

RETURN

END

- pattim
**Posts:**20**Joined:**Fri Jul 27, 2012 11:29 am

8 posts
• Page **1** of **1**

Return to Dynamics and Numerics

Users browsing this forum: No registered users and 3 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group