NOAA-EMC / WW3

WAVEWATCH III
Other
267 stars 546 forks source link

Error in output of the Goda (1970) peakedness parameter #210

Closed CarstenHansen closed 10 months ago

CarstenHansen commented 4 years ago

Kaushik Sasmal has identified unrealistic output values of QP and raised a question to ncep.list.wwatch3.users@lstsrv.ncep.noaa.gov. In ftn/w3iogomd.ftn (master and develop branches) the contribution from the spectral tail is added as: https://github.com/NOAA-EMC/WW3/blob/7823bd245ed98df295ac8b6c437903e131101666/model/ftn/w3iogomd.ftn#L1860 In this line ET1 should rather be EET1:

    EET1(JSEA)= EET1(JSEA) + FT1  * EBAND**2

The consequence of this code error is, if the contribution of the spectral tail is negligible, that in the expression QP = 2 EET1 / ET^2 / (2pi)^2, EET1 is exchanged with ET1, the integrated 1’st moment of the spectrum (m^2/s). ET is the total variance (m^2).

CarstenHansen commented 4 years ago

A more consistent tail contribution would be

 EET1(JSEA) = EET1(JSEA) + FT2 * EBAND**2

using a new factor

 FT2 = 0.1666 * SIG(NK)**2 * DTH * SIG(NK) = 0.5 * FT1

here assuming the frequency spectrum tail is proportional to SIG^{-4}. The difference between FT1 and FT2 doesn't matter much, because the purpose of adding the tail here seems mainly to provide a smooth transition towards zero when most of the spectral energy is near the upper frequency SIG(NK).

CarstenHansen commented 4 years ago

The tail extension to spectral partitions also seems wrong: https://github.com/NOAA-EMC/WW3/blob/7823bd245ed98df295ac8b6c437903e131101666/model/ftn/w3partmd.ftn#L1222

It should rather be (I think):

    SUMQP(IP) = SUMQP(IP) + SUMF (NK,IP)**2 * FTEII * (0.1666 / 0.25)
aliabdolali commented 3 years ago

@CarstenHansen have you solved this issue?

CarstenHansen commented 2 years ago

Hi @aliabdolali . Unfortunately, I did not see your comment until I was browsing through the Issues last week. I have been in a misunderstanding that Goda's parameter is not of interest except for historical comparisons, but it is actually used for verification of observational systems, e.g. by Le Merle et al. (2021) and others.

So, I have carefully re-calculated the expressions that should correctly be in the code and prepared a bugfix out of the current develop branch: https://github.com/CarstenHansen/WW3/tree/bf_qp .

Based on the bugfix I have tested and verified the results of ww3_shel in two realistic hotsim runs as explained in the first commit message 75843a8, for model setup with DTH = 10 degrees and 15 degrees, respectively.

CarstenHansen commented 10 months ago

Closing this because of long term inactivity.

Note that the tail extension to spectral partitions for QP is still wrong https://github.com/NOAA-EMC/WW3/blob/7bec5605487761a03759a5e2f5f7159f18f0ca1b/model/src/w3partmd.F90#L1384

It should rather be (I think):

     SUMQP(IP) = SUMQP(IP) + SUMF (NK,IP)**2 * FTEII * (0.1666 / 0.25)