This module computes a scattering term based on the theory by Ardhuin and Magne (JFM 2007). More...
Functions/Subroutines | |
| subroutine | w3sbs1 (A, CG, WN, DEPTH, CX1, CY1, TAUSCX, TAUSCY, S, D) |
| Bottom scattering source term. More... | |
| subroutine | insbs1 (inistep) |
| Initialization for bottom scattering source term routine. More... | |
Variables | |
| real, dimension(:,:), allocatable | botspec |
| integer, parameter | nkscat = 30 |
| double precision, dimension(:,:,:), allocatable | scatmatv |
| double precision, dimension(:,:,:), allocatable | scatmata |
| double precision, dimension(:,:), allocatable | scatmatd |
| character(len=10) | botspec_indicator |
| integer | nkbx |
| integer | nkby |
| real | dkbx |
| real | dkby |
| real | kwmin |
| real | kwmax |
| real, parameter | scattcutoff =0. |
| real | curtx |
| real | curty |
This module computes a scattering term based on the theory by Ardhuin and Magne (JFM 2007).
| subroutine w3sbs1md::insbs1 | ( | integer, intent(in) | inistep | ) |
Initialization for bottom scattering source term routine.
| [in] | inistep |
Definition at line 474 of file w3sbs1md.F90.
References botspec, w3gdatmd::dden, w3servmd::diagonalize(), dkbx, dkby, w3gdatmd::dth, w3gdatmd::ecos, w3gdatmd::esin, file(), kwmax, kwmin, w3gdatmd::nk, nkbx, nkby, nkscat, w3gdatmd::nspec, w3gdatmd::nth, scatmata, scatmatd, scatmatv, scattcutoff, w3gdatmd::sig, and w3servmd::strace().
Referenced by w3sbs1().
| subroutine w3sbs1md::w3sbs1 | ( | real, dimension(nth,nk), intent(in) | A, |
| real, dimension(nk), intent(in) | CG, | ||
| real, dimension(nk), intent(in) | WN, | ||
| real, intent(in) | DEPTH, | ||
| real, intent(in) | CX1, | ||
| real, intent(in) | CY1, | ||
| real, intent(out) | TAUSCX, | ||
| real, intent(out) | TAUSCY, | ||
| real, dimension(nspec), intent(out) | S, | ||
| real, dimension(nspec), intent(out) | D | ||
| ) |
Bottom scattering source term.
Without current, goes through a diagonalization of the matrix problem S(f,:) = M(f,:,:)**E(f,:). With current, integrates the source term along the resonant locus.
| [in] | A | Action density spectrum (1-D) |
| [in] | CG | Group velocities |
| [in] | WN | Wavenumbers |
| [in] | DEPTH | Mean water depth |
| [in] | CX1 | Current components at ISEA |
| [in] | CY1 | Current components at ISEA |
| [out] | TAUSCX | Change of wave momentum due to scattering |
| [out] | TAUSCY | Change of wave momentum due to scattering |
| [out] | S | Source term (1-D version) |
| [out] | D | Diagonal term of derivative (1-D version) |
Definition at line 114 of file w3sbs1md.F90.
References botspec, curtx, curty, w3gdatmd::dden, dkbx, dkby, w3gdatmd::dsii, w3gdatmd::dth, w3gdatmd::ec2, w3gdatmd::ecos, w3gdatmd::esin, constants::grav, insbs1(), kwmax, kwmin, w3gdatmd::mapth, w3gdatmd::mapwn, w3gdatmd::nk, nkbx, nkby, nkscat, w3gdatmd::nspec, w3gdatmd::nth, constants::pi, scatmatd, scatmatv, scattcutoff, w3gdatmd::sig, w3gdatmd::sig2, and w3servmd::strace().
Referenced by gxexpo(), w3exnc(), w3expo(), and w3srcemd::w3srce().
| real, dimension(:,:), allocatable w3sbs1md::botspec |
Definition at line 79 of file w3sbs1md.F90.
| character(len=10) w3sbs1md::botspec_indicator |
Definition at line 84 of file w3sbs1md.F90.
| real w3sbs1md::curtx |
| real w3sbs1md::curty |
Definition at line 88 of file w3sbs1md.F90.
Referenced by w3sbs1().
| real w3sbs1md::dkbx |
Definition at line 86 of file w3sbs1md.F90.
| real w3sbs1md::dkby |
Definition at line 86 of file w3sbs1md.F90.
| real w3sbs1md::kwmax |
Definition at line 86 of file w3sbs1md.F90.
| real w3sbs1md::kwmin |
Definition at line 86 of file w3sbs1md.F90.
| integer w3sbs1md::nkbx |
Definition at line 85 of file w3sbs1md.F90.
| integer w3sbs1md::nkby |
Definition at line 85 of file w3sbs1md.F90.
| integer, parameter w3sbs1md::nkscat = 30 |
Definition at line 80 of file w3sbs1md.F90.
| double precision, dimension(:,:,:), allocatable w3sbs1md::scatmata |
Definition at line 82 of file w3sbs1md.F90.
Referenced by insbs1().
| double precision, dimension(:,:), allocatable w3sbs1md::scatmatd |
Definition at line 83 of file w3sbs1md.F90.
| double precision, dimension(:,:,:), allocatable w3sbs1md::scatmatv |
Definition at line 81 of file w3sbs1md.F90.
| real, parameter w3sbs1md::scattcutoff =0. |
Definition at line 87 of file w3sbs1md.F90.