The 'WAM4+' source terms based on P.A.E.M. More...
Functions/Subroutines | |
| subroutine | w3spr3 (A, CG, WN, EMEAN, FMEAN, FMEANS, WNMEAN, AMAX, U, UDIR, USTAR, USDIR, TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS) |
| Calculate mean wave parameters for the use in the source term routines. More... | |
| subroutine | w3sin3 (A, CG, K, U, USTAR, DRAT, AS, USDIR, Z0, CD, TAUWX, TAUWY, TAUWNX, TAUWNY, ICE, S, D, LLWS, IX, IY) |
| Calculate diagonal and input source term for WAM4+ approach. More... | |
| subroutine | insin3 |
| Initialization for source term routine. More... | |
| subroutine | tabu_stress |
| To generate the friction velocity table, TAUT(TAUW,U10)=SQRT(TAU). More... | |
| subroutine | tabu_tauhf (FRMAX) |
| Tabulation of the high-frequency wave-supported stress. More... | |
| subroutine | calc_ustar (WINDSPEED, TAUW, USTAR, Z0, CHARN) |
| Compute friction velocity based on wind speed U10. More... | |
| subroutine | w3sds3 (A, K, CG, EMEAN, FMEAN, WNMEAN, USTAR, USDIR, DEPTH, S, D, IX, IY) |
| Calculate whitecapping source term and diagonal term of derivative. More... | |
Variables | |
| integer, parameter | itaumax =200 |
| integer, parameter | jumax =200 |
| integer, parameter | iustar =100 |
| integer, parameter | ialpha =200 |
| integer, parameter | ilevtail =50 |
| real, dimension(0:itaumax, 0:jumax) | taut |
| real | deltauw |
| real | delu |
| real, dimension(0:iustar, 0:ialpha) | tauhft |
| real | delust |
| real | delalp |
| real, parameter | umax = 50. |
| real, parameter | tauwmax = 2.2361 |
The 'WAM4+' source terms based on P.A.E.M.
Janssen's work, with extensions by him and by J.-R. Bidlot.
Converted from the original WAM codes by F. Ardhuin, with further extensions to adapt to a saturation-based breaking and observation-based swell dissipation.
| subroutine w3src3md::calc_ustar | ( | real, intent(in) | WINDSPEED, |
| real, intent(in) | TAUW, | ||
| real, intent(out) | USTAR, | ||
| real, intent(out) | Z0, | ||
| real, intent(out) | CHARN | ||
| ) |
Compute friction velocity based on wind speed U10.
Computation of u* based on Quasi-linear theory.
| [in] | WINDSPEED | 10-m wind speed ... should be NEUTRAL |
| [in] | TAUW | Wave-supported stress. |
| [out] | USTAR | Friction velocity. |
| [out] | Z0 | Air-side roughness length. |
| [out] | CHARN |
Definition at line 1136 of file w3src3md.F90.
References w3gdatmd::aalpha, deltauw, delu, constants::grav, itaumax, jumax, taut, tauwmax, and w3gdatmd::zzwnd.
Referenced by w3spr3().
| subroutine w3src3md::insin3 |
Initialization for source term routine.
Definition at line 727 of file w3src3md.F90.
References w3gdatmd::nk, w3gdatmd::sig, w3servmd::strace(), tabu_stress(), tabu_tauhf(), and constants::tpiinv.
Referenced by w3iogrmd::w3iogr().
| subroutine w3src3md::tabu_stress |
To generate the friction velocity table, TAUT(TAUW,U10)=SQRT(TAU).
Definition at line 823 of file w3src3md.F90.
References w3gdatmd::aalpha, deltauw, delu, constants::grav, itaumax, jumax, taut, tauwmax, umax, w3gdatmd::zz0max, and w3gdatmd::zzwnd.
Referenced by insin3().
| subroutine w3src3md::tabu_tauhf | ( | real, intent(in) | FRMAX | ) |
Tabulation of the high-frequency wave-supported stress.
SEE REFERENCE FOR WAVE STRESS CALCULATION. FOR QUASILINEAR EFFECT SEE PETER A.E.M. JANSSEN,1990. See tech. Memo ECMWF 03 december 2003 by Bidlot & Janssen.
| [in] | FRMAX | Maximum frequency. |
Definition at line 959 of file w3src3md.F90.
References w3gdatmd::aalpha, w3gdatmd::bbeta, delalp, delust, w3gdatmd::fachfe, constants::grav, ialpha, iustar, w3odatmd::ndst, w3servmd::strace(), tauhft, constants::tpi, w3gdatmd::xfr, w3gdatmd::zz0max, and w3gdatmd::zzalp.
Referenced by insin3().
| subroutine w3src3md::w3sds3 | ( | real, dimension(nspec), intent(in) | A, |
| real, dimension(nk), intent(in) | K, | ||
| real, dimension(nk), intent(in) | CG, | ||
| real, intent(in) | EMEAN, | ||
| real, intent(in) | FMEAN, | ||
| real, intent(in) | WNMEAN, | ||
| real, intent(in) | USTAR, | ||
| real, intent(in) | USDIR, | ||
| real, intent(in) | DEPTH, | ||
| real, dimension(nspec), intent(out) | S, | ||
| real, dimension(nspec), intent(out) | D, | ||
| integer, intent(in) | IX, | ||
| integer, intent(in) | IY | ||
| ) |
Calculate whitecapping source term and diagonal term of derivative.
WAM-Cycle 4 and following. The last update (09-May-2005) follows the redefinition of the mean wavenumber as in Bidlot et al. (2005).
| [in] | A | Action density spectrum (1-D). |
| [in] | K | Wavenumber for entire spectrum. |
| [in] | CG | |
| [in] | EMEAN | Mean wave energy. |
| [in] | FMEAN | Mean wave frequency. |
| [in] | WNMEAN | Mean wavenumber. |
| [in] | USTAR | Friction velocity. |
| [in] | USDIR | Wind stress direction. |
| [in] | DEPTH | Water depth. |
| [out] | S | Source term (1-D version). |
| [out] | D | Diagonal term of derivative. |
| [in] | IX | |
| [in] | IY |
Definition at line 1255 of file w3src3md.F90.
References w3gdatmd::ddelta1, w3gdatmd::ddelta2, constants::grav, w3odatmd::ndst, w3gdatmd::nk, w3gdatmd::nspec, w3gdatmd::nth, w3arrymd::outmat(), w3arrymd::prt2ds(), w3servmd::strace(), and constants::tpi.
Referenced by gxexpo(), w3exnc(), w3expo(), and w3srcemd::w3srce().
| subroutine w3src3md::w3sin3 | ( | real, dimension(nspec), intent(in) | A, |
| real, dimension(nk), intent(in) | CG, | ||
| real, dimension(nspec), intent(in) | K, | ||
| real, intent(in) | U, | ||
| real, intent(in) | USTAR, | ||
| real, intent(in) | DRAT, | ||
| real, intent(in) | AS, | ||
| real, intent(in) | USDIR, | ||
| real, intent(in) | Z0, | ||
| real, intent(in) | CD, | ||
| real, intent(out) | TAUWX, | ||
| real, intent(out) | TAUWY, | ||
| real, intent(out) | TAUWNX, | ||
| real, intent(out) | TAUWNY, | ||
| real, intent(in) | ICE, | ||
| real, dimension(nspec), intent(out) | S, | ||
| real, dimension(nspec), intent(out) | D, | ||
| logical, dimension(nspec), intent(out) | LLWS, | ||
| integer, intent(in) | IX, | ||
| integer, intent(in) | IY | ||
| ) |
Calculate diagonal and input source term for WAM4+ approach.
WAM-4 : Janssen et al.
WAM-"4.5" : gustiness effect (Cavaleri et al. )
SWELLF: damping coefficient (=1) for Janssen (2004) theory| [in] | A | Action density spectrum (1-D). |
| [in] | CG | Group speed. |
| [in] | K | Wavenumber for entire spectrum. |
| [in] | U | Wind speed. |
| [in] | USTAR | Friction velocity. |
| [in] | DRAT | Air/water density ratio. |
| [in] | AS | Air-sea temperature difference. |
| [in] | USDIR | Wind stress direction. |
| [in] | Z0 | Air-sea roughness length. |
| [in] | CD | Wind drag coefficient. |
| [out] | TAUWX | Component of the wave-supported stress. |
| [out] | TAUWY | Component of the wave-supported stress. |
| [out] | TAUWNX | Component of the negative wave-supported stress. |
| [out] | TAUWNY | Component of the negative wave-supported stress. |
| [in] | ICE | Sea ice fraction. |
| [out] | S | Source term (1-D version). |
| [out] | D | Diagonal term of derivative. |
| [out] | LLWS | Wind sea true/false array for each component. |
| [in] | IX | |
| [in] | IY |
Definition at line 386 of file w3src3md.F90.
References w3gdatmd::aalpha, w3gdatmd::bbeta, w3gdatmd::dden, w3gdatmd::dden2, delalp, delust, w3gdatmd::dth, w3gdatmd::ec2, w3gdatmd::ecos, w3gdatmd::esin, constants::grav, ialpha, iustar, w3odatmd::ndst, w3gdatmd::nk, w3gdatmd::nspec, w3gdatmd::nth, w3arrymd::outmat(), w3arrymd::prt2ds(), constants::rade, w3gdatmd::sig, w3gdatmd::sig2, w3gdatmd::ssinthp, w3gdatmd::sswellf, w3servmd::strace(), tauhft, w3gdatmd::th, constants::tpi, w3gdatmd::xfr, w3gdatmd::zz0rat, w3gdatmd::zzalp, and w3gdatmd::zzwnd.
Referenced by gxexpo(), w3exnc(), w3expo(), and w3srcemd::w3srce().
| subroutine w3src3md::w3spr3 | ( | real, dimension(nth,nk), intent(in) | A, |
| real, dimension(nk), intent(in) | CG, | ||
| real, dimension(nk), intent(in) | WN, | ||
| real, intent(out) | EMEAN, | ||
| real, intent(out) | FMEAN, | ||
| real, intent(out) | FMEANS, | ||
| real, intent(out) | WNMEAN, | ||
| real, intent(out) | AMAX, | ||
| real, intent(in) | U, | ||
| real, intent(in) | UDIR, | ||
| real, intent(inout) | USTAR, | ||
| real, intent(inout) | USDIR, | ||
| real, intent(in) | TAUWX, | ||
| real, intent(in) | TAUWY, | ||
| real, intent(out) | CD, | ||
| real, intent(out) | Z0, | ||
| real, intent(out) | CHARN, | ||
| logical, dimension(nspec), intent(in) | LLWS, | ||
| real, intent(out) | FMEANWS | ||
| ) |
Calculate mean wave parameters for the use in the source term routines.
| [in] | A | Action density spectrum. |
| [in] | CG | Group velocities. |
| [in] | WN | Wavenumbers. |
| [out] | EMEAN | Energy. |
| [out] | FMEAN | Mean frequency for determination of tail. |
| [out] | FMEANS | Mean frequency for dissipation source term. |
| [out] | WNMEAN | Mean wavenumber. |
| [out] | AMAX | Maximum of action spectrum. |
| [in] | U | Wind speed. |
| [in] | UDIR | Wind direction. |
| [in,out] | USTAR | Friction velocity |
| [in,out] | USDIR | Wind stress direction. |
| [in] | TAUWX | Component of wave-supported stress. |
| [in] | TAUWY | Component of wave-supported stress. |
| [out] | CD | Drag coefficient at wind level ZWND. |
| [out] | Z0 | Corresponding z0. |
| [out] | CHARN | |
| [in] | LLWS | Wind sea true/false array for each component. |
| [out] | FMEANWS | Mean frequency of wind sea, used for tail. |
Definition at line 137 of file w3src3md.F90.
References calc_ustar(), w3gdatmd::dden, w3gdatmd::dth, w3gdatmd::fte, w3gdatmd::ftf, w3odatmd::ndst, w3gdatmd::nk, w3gdatmd::nspec, w3gdatmd::nth, w3gdatmd::sig, w3gdatmd::sstxftf, w3gdatmd::sstxftftail, w3gdatmd::sstxftwn, w3gdatmd::sswellf, w3servmd::strace(), constants::tpiinv, w3gdatmd::wwnmeanp, and w3gdatmd::wwnmeanptail.
Referenced by wmesmfmd::fieldindex(), gxexpo(), w3exnc(), w3expo(), and w3srcemd::w3srce().
| real w3src3md::delalp |
Definition at line 99 of file w3src3md.F90.
Referenced by tabu_tauhf(), and w3sin3().
| real w3src3md::deltauw |
Definition at line 97 of file w3src3md.F90.
Referenced by calc_ustar(), and tabu_stress().
| real w3src3md::delu |
Definition at line 97 of file w3src3md.F90.
Referenced by calc_ustar(), and tabu_stress().
| real w3src3md::delust |
Definition at line 99 of file w3src3md.F90.
Referenced by tabu_tauhf(), and w3sin3().
| integer, parameter w3src3md::ialpha =200 |
Definition at line 96 of file w3src3md.F90.
Referenced by tabu_tauhf(), and w3sin3().
| integer, parameter w3src3md::ilevtail =50 |
Definition at line 96 of file w3src3md.F90.
| integer, parameter w3src3md::itaumax =200 |
Definition at line 95 of file w3src3md.F90.
Referenced by calc_ustar(), and tabu_stress().
| integer, parameter w3src3md::iustar =100 |
Definition at line 96 of file w3src3md.F90.
Referenced by tabu_tauhf(), and w3sin3().
| integer, parameter w3src3md::jumax =200 |
Definition at line 95 of file w3src3md.F90.
Referenced by calc_ustar(), and tabu_stress().
Definition at line 99 of file w3src3md.F90.
Referenced by tabu_tauhf(), and w3sin3().
Definition at line 97 of file w3src3md.F90.
Referenced by calc_ustar(), and tabu_stress().
| real, parameter w3src3md::tauwmax = 2.2361 |
Definition at line 101 of file w3src3md.F90.
Referenced by calc_ustar(), and tabu_stress().
| real, parameter w3src3md::umax = 50. |
Definition at line 100 of file w3src3md.F90.
Referenced by tabu_stress().