I'm studying the Wavewatch III wave model (http://polar.ncep.noaa.gov/waves/index2.shtml). I'm confused by the stability correction factor, named ASF in the code. What is its purpose? Is it related to the physics, or is it something to do with numerical methods and the CFL condition? I could not immediately figure this out from the code.

  • 1
    $\begingroup$ Can you point to the specific section in the website or code that you are referring to? $\endgroup$ Jan 3, 2015 at 5:56
  • 1
    $\begingroup$ @IsopycnalOscillation It is not discussed on the website, but I will try to piece together the code segments that use ASF and report back. $\endgroup$ Jan 3, 2015 at 6:20

1 Answer 1


The stability correction factor ASF is related to the effects of atmospheric stability (function of buoyancy and shear) on wave growth, and has been implemented in Wavewatch3 in the Tolman and Chalikov 1996 input source term. The code where the correction happens can be found in w3updtmd.ftn:

! 5.  Stability correction ( !/STAB2 )
!     Original settings :
!     SHSTAB =    1.4
!     OFSTAB =   -0.01
!     CCNG   =   -0.1
!     CCPS   =    0.1
!     FFNG   = -150.
!     FFPS   =  150.
!/STAB2      STAB0  = ZWIND * GRAV / 273.
!/STAB2      DO ISEA=1, NSEA
!/STAB2        STAB   = STAB0 * AS(ISEA) / MAX(5.,U10(ISEA))**2
!/STAB2        STAB   = MAX ( -1. , MIN ( 1. , STAB ) )
!/STAB2        THARG1 = MAX ( 0. , FFNG*(STAB-OFSTAB))
!/STAB2        THARG2 = MAX ( 0. , FFPS*(STAB-OFSTAB))
!/STAB2        COR1   = CCNG * TANH(THARG1)
!/STAB2        COR2   = CCPS * TANH(THARG2)
!/STAB2        ASF(ISEA) = SQRT ( (1.+COR1+COR2)/SHSTAB )
!/STAB2        U10(ISEA) = U10(ISEA) / ASF(ISEA)
!/STAB2        END DO

The correction essentially accounts for atmospheric stability based on air-sea temperature difference, and is applied to calculate the "effective" wind speed at 10-m height, from the input wind speed. Note that this code is active only when /STAB2 switch is enabled (optional), and works only with the /ST2 switch (Tolman and Chalikov 1996 source term package). It's implementation and test results have been described in Tolman 2002.

This is also documented in the manual for version 4.18, see equations (2.86)-(2.89) in section 2.3.7.


  • Tolman, H. L. and D. V. Chalikov, 1996: Source terms in a third-generation wind-wave model. J. Phys. Oceanogr., 26, 2,497–2,518.

  • Tolman, H. L., 2002: Validation of WAVEWATCH III version 1.15 for a global domain. Tech. Note 213, NOAA/NWS/NCEP/OMB, 33 pp.

  • 1
    $\begingroup$ Thanks @milancurcic for the detailed reply and references! Yes, I checked and I am indeed using STAB2 and ST2 switches - they are included in the default switch file. From the manual, it seems that the ASF is a fudge factor to improve the accuracy of wave growth processes. Just to make sure (and I didn't find this mentioned in the manual), I should still input the wind speed at 10 m above the surface, and not at some other height, right? I think U10 is what WW3 takes in because it is mentioned "Note that this effective wind speed was derived for winds at 10 m height." in the manual. $\endgroup$ Jan 3, 2015 at 20:29
  • 3
    $\begingroup$ It's great having experts on specific models here who can answer these sorts of questions :-) $\endgroup$ Jan 4, 2015 at 11:43
  • 1
    $\begingroup$ @boxofchalk1 That is correct, keep the wind input fields at 10 m height. $\endgroup$ Jan 4, 2015 at 22:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.