Interface module to exact nonlinear interactions.
More...
|
| subroutine | w3snl2 (A, CG, DEPTH, S, D) |
| | Interface to exact interactions. More...
|
| |
| subroutine | insnl2 |
| | Preprocessing for nonlinear interactions (Xnl). More...
|
| |
Interface module to exact nonlinear interactions.
- Author
- H. L. Tolman
-
G. Ph. van Vledder
- Date
- 29-May-2009
- Copyright
- Copyright 2009-2022 National Weather Service (NWS), National Oceanic and Atmospheric Administration. All rights reserved. WAVEWATCH III is a trademark of the NWS. No unauthorized use without permission.
◆ insnl2()
| subroutine w3snl2md::insnl2 |
Preprocessing for nonlinear interactions (Xnl).
- Author
- H. L. Tolman
-
G. Ph. van Vledder
- Date
- 24-Dec-2004
Definition at line 295 of file w3snl2md.F90.
365 INTEGER :: IGRD, IERR
367 INTEGER,
SAVE :: IENT = 0
374 CALL strace (ient,
'INSNL2')
396 IF ( ierr .NE. 0 )
GOTO 800
408 1000
FORMAT (/
' *** WAVEWATCH III ERROR IN INSNL2 :'/ &
409 ' xnl_init RETURN CODE NON ZERO : ',i8/)
412 9000
FORMAT (
' TEST INSNL2 : NLTAIL :',f6.1/ &
416 ' NDPTHS :',i4,
' (depths follow)')
417 9001
FORMAT (
' ',5e10.3)
418 9002
FORMAT (
' FREQS :',2f8.3/ &
References w3gdatmd::dpthnl, w3servmd::extcde(), constants::grav, w3odatmd::iaproc, m_constants::init_constants(), w3gdatmd::iqtpe, w3odatmd::naperr, w3gdatmd::ndpths, w3odatmd::ndse, w3odatmd::ndst, w3gdatmd::nk, w3gdatmd::nltail, w3gdatmd::nth, constants::rade, w3gdatmd::sig, w3servmd::strace(), w3gdatmd::th, constants::tpiinv, and m_xnldata::xnl_init().
Referenced by w3iogrmd::w3iogr().
◆ w3snl2()
| subroutine w3snl2md::w3snl2 |
( |
real, dimension(nth,nk), intent(in) |
A, |
|
|
real, dimension(nk), intent(in) |
CG, |
|
|
real, intent(in) |
DEPTH, |
|
|
real, dimension(nth,nk), intent(out) |
S, |
|
|
real, dimension(nth,nk), intent(out) |
D |
|
) |
| |
Interface to exact interactions.
- Parameters
-
| [in] | A | Action spectrum A(ITH,IK) as a function of direction (rad) and wavenumber. |
| [in] | CG | Group velocities (dimension NK). |
| [in] | DEPTH | Water depth in meters. |
| [out] | S | Source term. |
| [out] | D | Diagonal term of derivative. |
- Author
- H. L. Tolman
-
G. Ph. van Vledder
- Date
- 24-Dec-2004
Definition at line 96 of file w3snl2md.F90.
197 REAL,
INTENT(IN) :: A(NTH,NK), CG(NK), DEPTH
198 REAL,
INTENT(OUT) :: S(NTH,NK), D(NTH,NK)
203 INTEGER :: IK, ITH, IERR = 0
205 INTEGER,
SAVE :: IENT = 0
207 REAL :: A2(NK,NTH), S2(NK,NTH), D2(NK,NTH)
209 REAL :: SOUT(NK,NK), DOUT(NK,NK)
215 CALL strace (ient,
'W3SNL2')
226 a2(ik,ith) = a(ith,ik) / cg(ik)
235 IF ( ierr .NE. 0 )
GOTO 800
241 s(ith,ik) = s2(ik,ith) * cg(ik)
242 d(ith,ik) = d2(ik,ith)
251 sout(ik,ith) = s(ik,ith) *
tpi *
sig(ik) / cg(ik)
252 dout(ik,ith) = d(ik,ith)
256 0.0, 0.001,
'Snl(f,t)',
' ',
'NONAME')
258 0.0, 0.001,
'Diag Snl',
' ',
'NONAME')
276 1000
FORMAT (/
' *** WAVEWATCH III ERROR IN W3SNL2 :'/ &
277 ' xnl_main RETURN CODE NON ZERO : ',i4,
' ***'/)
280 9000
FORMAT (
' TEST W3SNL2 : IQTPE :',i4)
References w3servmd::extcde(), w3odatmd::iaproc, w3gdatmd::iqtpe, w3odatmd::naperr, w3odatmd::ndse, w3odatmd::ndst, w3gdatmd::nk, w3gdatmd::nth, w3arrymd::outmat(), w3arrymd::prt2ds(), w3gdatmd::sig, w3servmd::strace(), w3gdatmd::th, constants::tpi, and m_xnldata::xnl_main().
Referenced by gxexpo(), w3exnc(), w3expo(), and w3srcemd::w3srce().
real, dimension(:), pointer sig
real, parameter rade
RADE Conversion factor from radians to degrees.
subroutine outmat(NDS, A, MX, NX, NY, MNAME)
real, dimension(:), pointer th
subroutine xnl_init(sigma, dird, nsigma, ndir, pftail, x_grav, depth, ndepth, iquad, iqgrid, iproc, ierr)
Initialize coefficients, integration space, file i/o for computation nonlinear quadruplet wave-wave i...
real, parameter tpiinv
TPIINV Inverse of 2*Pi.
subroutine init_constants
Subroutine init_constants sets constant values.
real, dimension(:), pointer dpthnl
real, parameter tpi
TPI 2*Pi.
subroutine strace(IENT, SNAME)
Define some much-used constants for global use (all defined as PARAMETER).
subroutine extcde(IEXIT, UNIT, MSG, FILE, LINE, COMM)
subroutine prt2ds(NDS, NFR0, NFR, NTH, E, FR, UFR, FACSP, FSC, RRCUT, PRVAR, PRUNIT, PNTNME)
Module for computing the quadruplet interaction.
subroutine xnl_main(aspec, sigma, angle, nsig, ndir, depth, iquad, xnl, diag, iproc, ierr)
Compute nonlinear transfer for a given action density spectrum on a given sigma and direction grid (W...
real, parameter grav
GRAV Acc.