Generic shallow-water Boltzmann integral (FBI or TSA). More...
Functions/Subroutines | |
| subroutine | insnl4 |
| It reads look-up tables (generated by gridsetr) if file exists otherwise it must generate the look-up tables file. More... | |
| subroutine | w3snl4 (A, CG, WN, DEPTH, S, D) |
| Interface module for TSA type nonlinear interactions. More... | |
| subroutine | gridsetr (dep, wka1, cgnrng1) |
| This routine sets up the geometric part of the Boltzmann integral. More... | |
| subroutine | shloxr (dep, wk1x, wk1y, wk3x, wk3y) |
| General locus solution for input vectors (wk1x,wk1y). More... | |
| subroutine | shlocr (dep, wk1x, wk1y, wk3x, wk3y) |
| N/A. More... | |
| subroutine | cplshr (w1x0, w1y0, w2x0, w2y0, w3x0, w3y0, h, csq, irng, krng, kang, ipt) |
| Calculates four-wave Boltzmann coupling coefficient in shallow water. More... | |
| subroutine | optsa2 (nrmn, nrmx, npk, fpk, nbins, wka, cga) |
| Splits the Action Density into two parts. More... | |
| subroutine | snlr_fbi (pha, ialt) |
| For a given Action Density array dens1(k,theta), computes the rate-of-change array sumint(k,theta) = dN(k,theta)/dt owing to wave-wave interaction. More... | |
| subroutine | snlr_tsa (pha, ialt) |
| For a given Action Density array dens1(k,theta), computes the rate-of-change array sumint(k,theta) = dN(k,theta)/dt owing to wave-wave interaction. More... | |
| subroutine | interp2 (X) |
| Interpolate bi-linearly to fill in tsa/fbi & diag/diag2 arrays. More... | |
| real function | wkfnc (f, dep) |
| Calculate the Wavenumber k (rad/m) as function of frequency 'f' (Hz) and depth 'dep' (m). More... | |
| real function | cgfnc (f, dep, cvel) |
| Calculate the Group velocity Cg (m/s) as function of frequency 'f' (Hz), depth 'dep' (m) and phase speed 'cvel' (m/s). More... | |
Variables | |
| integer, parameter | ismo = 1 |
| integer, parameter | npts = 30 |
| integer, parameter | ndep = 37 |
| integer | nrng |
| integer | nzz |
| integer | kzone |
| integer | nb2fp |
| integer | nang |
| integer | na2p1 |
| integer | np2p1 |
| real | dfrq |
| real | f0 |
| real | ainc |
| real | twopi |
| real, dimension(:), allocatable | frqa |
| real, dimension(:), allocatable | oma |
| real, dimension(:), allocatable | angl |
| real, dimension(:), allocatable | sinan |
| real, dimension(:), allocatable | cosan |
| real, dimension(:), allocatable | dep_tbl |
| integer, dimension(:,:,:,:), allocatable | kref2_tbl |
| integer, dimension(:,:,:,:), allocatable | kref4_tbl |
| integer, dimension(:,:,:,:), allocatable | jref2_tbl |
| integer, dimension(:,:,:,:), allocatable | jref4_tbl |
| real, dimension(:,:,:,:), allocatable | wtk2_tbl |
| real, dimension(:,:,:,:), allocatable | wtk4_tbl |
| real, dimension(:,:,:,:), allocatable | wta2_tbl |
| real, dimension(:,:,:,:), allocatable | wta4_tbl |
| real, dimension(:,:,:,:), allocatable | tfac2_tbl |
| real, dimension(:,:,:,:), allocatable | tfac4_tbl |
| real, dimension(:,:,:,:), allocatable | grad_tbl |
| real, dimension(:,:), allocatable | pha_tbl |
| integer, dimension(:,:,:), allocatable | kref2 |
| integer, dimension(:,:,:), allocatable | kref4 |
| integer, dimension(:,:,:), allocatable | jref2 |
| integer, dimension(:,:,:), allocatable | jref4 |
| real, dimension(:,:,:), allocatable | wtk2 |
| real, dimension(:,:,:), allocatable | wtk4 |
| real, dimension(:,:,:), allocatable | wta2 |
| real, dimension(:,:,:), allocatable | wta4 |
| real, dimension(:,:,:), allocatable | tfac2 |
| real, dimension(:,:,:), allocatable | tfac4 |
| real, dimension(:,:,:), allocatable | grad |
| real, dimension(:), allocatable | wk2x |
| real, dimension(:), allocatable | wk2y |
| real, dimension(:), allocatable | wk4x |
| real, dimension(:), allocatable | wk4y |
| real, dimension(:), allocatable | ds |
| real, dimension(:,:), allocatable | ef2 |
| real, dimension(:), allocatable | ef1 |
| real, dimension(:,:), allocatable | dens1 |
| real, dimension(:,:), allocatable | dens2 |
| real, dimension(:,:), allocatable | tsa |
| real, dimension(:,:), allocatable | diag |
| real, dimension(:,:), allocatable | fbi |
| real, dimension(:,:), allocatable | diag2 |
Generic shallow-water Boltzmann integral (FBI or TSA).
Interface module for TSA type nonlinear interactions. Based on Resio and Perrie (2008) and Perrie and Resio (2009).
| real function w3snl4md::cgfnc | ( | real, intent(in) | f, |
| real, intent(in) | dep, | ||
| real, intent(in) | cvel | ||
| ) |
Calculate the Group velocity Cg (m/s) as function of frequency 'f' (Hz), depth 'dep' (m) and phase speed 'cvel' (m/s).
This routine uses the identity
sinh(2x) = 2*tanh(x)/(1-tanh(x)**2)
to avoid extreme sinh(2x) for large x.
thus, 2kd/sinh(2kd) = kd(1-tanh(kd)**2)/tanh(kd)
Group velocity Cg (m/s) is returned in "cgfnc".| f | Frequency (Hz). |
| dep | Depth (m). |
| cvel | Phase speed (m/s). |
Definition at line 5409 of file w3snl4md.F90.
References twopi.
Referenced by insnl4().
| subroutine w3snl4md::cplshr | ( | real, intent(in) | w1x0, |
| real, intent(in) | w1y0, | ||
| real, intent(in) | w2x0, | ||
| real, intent(in) | w2y0, | ||
| real, intent(in) | w3x0, | ||
| real, intent(in) | w3y0, | ||
| real, intent(in) | h, | ||
| real, intent(out) | csq, | ||
| integer, intent(in) | irng, | ||
| integer, intent(in) | krng, | ||
| integer, intent(in) | kang, | ||
| integer, intent(in) | ipt | ||
| ) |
Calculates four-wave Boltzmann coupling coefficient in shallow water.
Calculates four-wave Boltzmann coupling coefficient in shallow water given k1,k2,k3 and following at least Hasselmann (1962) and probably Herterich and Hasselmann (1982). Dimensional wavenumbers are (wnx0,wny0), n = 1,3, h = depth, csq = coupling coefficient. This is the same as Don's cplesh, except within the algorithm, wavenumbers are made dimensionless with h and frequencies with sqrt(h/g), g = gravitational acceleration (the idea is to simplify and speed up the calculations while keeping a reasonable machine resolution of the result). At the end, dimensionless csqhat is redimensioned as csq = csqhat/(h**6) so it is returned as a dimensional entity.
This calculation can be a touchy bird, so we use double precision for internal calculations, using single precision for input and output.
| [in] | w1x0 | |
| [in] | w1y0 | |
| [in] | w2x0 | |
| [in] | w2y0 | |
| [in] | w3x0 | |
| [in] | w3y0 | |
| [in] | h | |
| [out] | csq | |
| [in] | irng | |
| [in] | krng | |
| [in] | kang | |
| [in] | ipt |
Definition at line 2876 of file w3snl4md.F90.
Referenced by gridsetr().
| subroutine w3snl4md::gridsetr | ( | real, intent(in) | dep, |
| real, dimension(nrng), intent(in) | wka1, | ||
| real, intent(in) | cgnrng1 | ||
| ) |
This routine sets up the geometric part of the Boltzmann integral.
This routine sets up the geometric part of the Boltzmann integral based on a grid of wave frequencies and directions, with wave- numbers related to frequency and depth by linear dispersion. It is adapted from Don's original code with changes to modify the indexing so there are fewer unused elements, and a number of algo- rithmic changes that are mathematically equivalent to Don's but take advantage of intrinsic functions to form smooth results with less reliance on if statements.
It calls locus-solving routines shloxr and shlocr and coupling coefficient routine cplshr. If shlocr does not converge, ierr_gr will be something other than 0 and the routine will terminate, returning ierr_gr to the calling program (see shlocr).
It returns array grad(,,), which is an estimate of the product C(k1,k2,k3,k4)*H(k1,k3,k4)*ds/|dW/dn| (where n and the k's are all vectors) as given, for example, by Eq.(7) of 'Nonlinear energy fluxes and the finite depth equilibrium range in wave spectra,' by Resio, Pihl, Tracy and Vincent (2001, JGR, 106(C4), p. 6985), as well as arrays for indexing, interpolating and weighting locus- based wavenumber vectors within the discrete solution grid.
| [in] | dep | Depth (m) |
| [in] | wka1 | Wavenumber array at one depth dim=(nrng) |
| [in] | cgnrng1 | Group velocity at nrng at one depth. |
Definition at line 1481 of file w3snl4md.F90.
References ainc, cosan, cplshr(), dfrq, ds, f0, frqa, grad, jref2, jref4, kref2, kref4, kzone, nang, np2p1, npts, shlocr(), shloxr(), sinan, tfac2, tfac4, twopi, wk2x, wk2y, wk4x, wk4y, wta2, wta4, wtk2, and wtk4.
Referenced by insnl4().
| subroutine w3snl4md::insnl4 |
It reads look-up tables (generated by gridsetr) if file exists otherwise it must generate the look-up tables file.
Definition at line 219 of file w3snl4md.F90.
References ainc, cgfnc(), dep_tbl, dfrq, file(), constants::file_endian, frqa, grad, grad_tbl, gridsetr(), wmmdatmd::improc, jref2, jref2_tbl, jref4, jref4_tbl, kref2, kref2_tbl, kref4, kref4_tbl, nang, ndep, w3odatmd::ndse, w3odatmd::ndso, w3odatmd::ndst, wmmdatmd::nmpscr, npts, oma, pha_tbl, w3servmd::strace(), tfac2, tfac2_tbl, tfac4, tfac4_tbl, wkfnc(), wta2, wta2_tbl, wta4, wta4_tbl, wtk2, wtk2_tbl, wtk4, and wtk4_tbl.
Referenced by w3snl4().
Interpolate bi-linearly to fill in tsa/fbi & diag/diag2 arrays.
Optionally smooth the interior and the corners after alternating the irng, iang, krng & kang loops in snlr's.
| [in,out] | X | Array to be interpolated and smoothed. |
Definition at line 5018 of file w3snl4md.F90.
References ismo.
Referenced by snlr_fbi(), and snlr_tsa().
| subroutine w3snl4md::optsa2 | ( | integer, intent(in) | nrmn, |
| integer, intent(in) | nrmx, | ||
| integer, intent(in) | npk, | ||
| real, intent(in) | fpk, | ||
| integer, intent(in) | nbins, | ||
| real, dimension(nrng), intent(in) | wka, | ||
| real, dimension(nrng), intent(in) | cga | ||
| ) |
Splits the Action Density into two parts.
(1) large-scale part dens1(nrng,nang) and
(2) small-scale part dens2(nrng,nang)
dens1 & dens2 in Polar Action Density (k,theta) space Norm. (in k)| [in] | nrmn | Number of first frequency bin in [1,nrng-1]. |
| [in] | nrmx | Number of last frequency bin in [2,nrng]. |
| [in] | npk | Number of peak frequency in [2,nrng-1]. |
| [in] | fpk | Peak frequency [Hz] of initial frequency spectrum. |
| [in] | nbins | number of bins (see more below). |
| [in] | wka | Wavenumbers array [1/m]. |
| [in] | cga | Group velocities array [m/s]. |
Definition at line 3259 of file w3snl4md.F90.
References ainc, dens1, dens2, ef1, ef2, frqa, oma, sinan, and twopi.
Referenced by w3snl4().
| subroutine w3snl4md::shlocr | ( | real, intent(in) | dep, |
| real, intent(in) | wk1x, | ||
| real, intent(in) | wk1y, | ||
| real, intent(in) | wk3x, | ||
| real, intent(in) | wk3y | ||
| ) |
N/A.
With wavenumber vector n identified by (wknx,wkny), its magnitude
given by wkn = sqrt(wknx**2+wkny**2) and its associated radian
frequency given by sign = sqrt[g*wkn*tanh(wkn*dep)], where g is
gravitational acceleration and dep is water depth, the four-wave
resonance condition is satisfied along a locus of pts defined by
[1] (wk1x,wk1y) + (wk2x,wk2y) - (wk3x,wk3y) - (wk4x,wk4y) = 0
[2] sig1 + sig2 - sig3 - sig4 = 0
Because of the influence of depth, it is convenient to define new
vectors (wnx,wny) = (wknx*dep,wkny*dep) with magnitudes wn =
sqrt(wnx**2+wny**2) = wkn*dep such that a dimensionless frequency
is sign*sqrt(dep/g) = sqrt[wkn*dep*tanh(wkn*dep)]
= sqrt[wn*tanh(wn)].
With these definitions and vectors (wk1x,wk1y) and (wk3x,wk3y)
given as input, we can write (with some rearrangement
of [1] and [2])
[3] w3x - w1x = px = w2x - w4x
[4] w3y - w1y = py = w2y - w4y
[5] sqrt[w3*tanh(w3)] - sqrt[w1*tanh(w1)] = q
= sqrt[w2*tanh(w2)] - sqrt[w4*tanh(w4)]
With dimensionless vector (px,py) = (w3x-w1x,w3y-w1y) [magnitude
p = sqrt(px**2+py**2), direction atan2(py,px)] and dimensionless
frequency difference q = sqrt(w3*tanh(w3)] - sqrt(w1*tanh(w1)]
defined by input parameters, we see from [3] and [4] that
(w4x,w4y) = (w2x-px,w2y-py) [magnitude w4 = sqrt((w2x-px)**2 +
(w2y-py)**2)] and thus from [5] we must basically find elements
w2x and w2y that satisfy
[6] sqrt[sqrt(w2x**2+w2y**2)*tanh(sqrt(w2x**2+w2y**2))] -
sqrt[sqrt((w2x-px)**2+(w2y-py)**2) *
tanh(sqrt((w2x-px)**2+(w2y-py)**2] = q
The locus curve defined by the set of pts (w2x,w2y) crosses the
p-vector axis at two points; one with magnitude w2=rmin*p with
0.5 < rmin < 1.0 and one with magnitude w2=rmax*p with rmax > 1.
We first isolate rmin, rmax using various iterative algorithms,
and then find locus pts that are not on the p-vector axis with
another iterative scheme. At the end, we un-normalize the w2
and w4 vectors to find the wk2 and wk4 vectors.| [in] | dep | |
| [in] | wk1x | |
| [in] | wk1y | |
| [in] | wk3x | |
| [in] | wk3y |
Definition at line 2306 of file w3snl4md.F90.
References ds, w3servmd::extcde(), w3odatmd::ndse, np2p1, npts, wk2x, wk2y, wk4x, and wk4y.
Referenced by gridsetr().
| subroutine w3snl4md::shloxr | ( | real, intent(in) | dep, |
| real, intent(in) | wk1x, | ||
| real, intent(in) | wk1y, | ||
| real, intent(in) | wk3x, | ||
| real, intent(in) | wk3y | ||
| ) |
General locus solution for input vectors (wk1x,wk1y).
General locus solution for input vectors (wk1x,wk1y) and
(wk3x,wk3y) of the same magnitude but NOT in the same direction
(or singularness will occur), output vectors (wk2x,wk2y) and
(wk4x,wk4y), and element length ds along locus curve:
With wavenumber vector n identified by (wknx,wkny), its magnitude
given by wkn = sqrt(wknx**2+wkny**2) and its associated radian
frequency given by sign = sqrt[g*wkn*tanh(wkn*dep)], where g is
gravitational acceleration and dep is water depth, the four-wave
resonance condition is satisfied along a locus of pts defined by
[1] (wk1x,wk1y) + (wk2x,wk2y) - (wk3x,wk3y) - (wk4x,wk4y) = 0
[2] sig1 + sig2 - sig3 - sig4 = 0
In the case where k1 [= sqrt(wk1x**2+wk1y**2)] is equal to k3
[= sqrt(wk3x**2+wk3y**2)], we have by dispersion,
[3] sig1 = sqrt[g*k1*tanh(k1*h)] = sqrt[g*k3*tanh(k3*h)] = sig3
so sig1 - sig3 = 0 and [2] becomes sig2 = sig4, where, again by
dispersion,
[4] sig2 = sqrt(g*k2*tanh(k2*h)] = sig4 = sqrt(g*k4*tanh(k4*h)]
and consequently k2 = k4. This simplifies the locus solution
considerably, and it can be shown that the (wk2x,wk2y) locus is
along the perpendicular bisector of the (px,py) vector given by
[5] (px,py) = (wk3x-wk1x,wk3y-wk1y)
and thereby from [1]
[6] (wk4x,wk4y) = (wk2x,wk2y) - (px,py)
We note that these loci are independent of depth, although depth
is used to set the length of the locus line by requiring that its
range on either side of the p vector correspond to a wave with a
wkx freq four times that of the k1 vector (the locus line is made
up of npts segments of length ds; the outer edges of the terminal
segments satisfy the length constraint; vectors k2 and k4 extend
to segment centers and will sufficiently approximate the length
constraint). As compared to srshlocr.f, we can do all
calculations here in dimensional space.| [in] | dep | |
| [in] | wk1x | |
| [in] | wk1y | |
| [in] | wk3x | |
| [in] | wk3y |
Definition at line 2011 of file w3snl4md.F90.
References ds, np2p1, npts, twopi, wk2x, wk2y, wk4x, wk4y, and wkfnc().
Referenced by gridsetr().
| subroutine w3snl4md::snlr_fbi | ( | real, dimension(nrng), intent(in) | pha, |
| integer, intent(in) | ialt | ||
| ) |
For a given Action Density array dens1(k,theta), computes the rate-of-change array sumint(k,theta) = dN(k,theta)/dt owing to wave-wave interaction.
For a given Action Density array dens1(k,theta), computes the rate-of-change array sumint(k,theta) = dN(k,theta)/dt owing to wave-wave interaction, as well as some ancillary arrays relating to positive and negative fluxes and their integrals.
| [in] | pha | Pha = k*dk*dtheta. |
| [in] | ialt | Integer switch. |
Definition at line 3758 of file w3snl4md.F90.
References dens1, dens2, diag2, fbi, grad, interp2(), jref2, jref4, kref2, kref4, kzone, npts, tfac2, tfac4, wta2, wta4, wtk2, and wtk4.
Referenced by w3snl4().
| subroutine w3snl4md::snlr_tsa | ( | real, dimension(nrng), intent(in) | pha, |
| integer, intent(in) | ialt | ||
| ) |
For a given Action Density array dens1(k,theta), computes the rate-of-change array sumint(k,theta) = dN(k,theta)/dt owing to wave-wave interaction.
For a given Action Density array dens1(k,theta), computes the rate-of-change array sumint(k,theta) = dN(k,theta)/dt owing to wave-wave interaction, as well as some ancillary arrays relating to positive and negative fluxes and their integrals.
| [in] | pha | Pha = k*dk*dtheta. |
| [in] | ialt | Integer switch. |
Definition at line 4391 of file w3snl4md.F90.
References dens1, dens2, diag, grad, interp2(), jref2, jref4, kref2, kref4, kzone, npts, tfac2, tfac4, tsa, wta2, wta4, wtk2, and wtk4.
Referenced by w3snl4().
| subroutine w3snl4md::w3snl4 | ( | real, dimension(nth,nk), intent(in) | A, |
| real, dimension(nk), intent(in) | CG, | ||
| real, dimension(nk), intent(in) | WN, | ||
| real, intent(in) | DEPTH, | ||
| real, dimension(nth,nk), intent(out) | S, | ||
| real, dimension(nth,nk), intent(out) | D | ||
| ) |
Interface module for TSA type nonlinear interactions.
Based on Resio and Perrie (2008) and Perrie and Resio (2009).
| [in,out] | A | 2D Action Density A(NTH,NK) as function of direction (rad) and wavenumber (theta,k). |
| [in,out] | CG | Group velocities. |
| [in,out] | WN | Wavenumbers. |
| [in,out] | DEPTH | Water depth (m). |
| [in,out] | S | Source term. |
| [in,out] | D | Diagonal term of derivative. |
Definition at line 611 of file w3snl4md.F90.
References ainc, angl, cosan, dens1, dens2, dep_tbl, dfrq, diag, diag2, ds, w3gdatmd::dth, w3gdatmd::ecos, ef1, ef2, w3gdatmd::esin, w3servmd::extcde(), f0, fbi, frqa, grad, grad_tbl, w3gdatmd::ialt, insnl4(), w3gdatmd::itsa, jref2, jref2_tbl, jref4, jref4_tbl, kref2, kref2_tbl, kref4, kref4_tbl, kzone, na2p1, nang, nb2fp, ndep, w3odatmd::ndse, w3odatmd::ndso, w3odatmd::ndst, w3gdatmd::nk, np2p1, npts, nrng, w3gdatmd::nth, nzz, oma, optsa2(), pha_tbl, w3gdatmd::sig, sinan, snlr_fbi(), snlr_tsa(), w3servmd::strace(), tfac2, tfac2_tbl, tfac4, tfac4_tbl, w3gdatmd::th, constants::tpi, tsa, twopi, wk2x, wk2y, wk4x, wk4y, wta2, wta2_tbl, wta4, wta4_tbl, wtk2, wtk2_tbl, wtk4, wtk4_tbl, and w3gdatmd::xfr.
Referenced by gxexpo(), w3exnc(), w3expo(), and w3srcemd::w3srce().
| real function w3snl4md::wkfnc | ( | real, intent(in) | f, |
| real, intent(in) | dep | ||
| ) |
Calculate the Wavenumber k (rad/m) as function of frequency 'f' (Hz) and depth 'dep' (m).
Using what looks like a "Pade approximation" of an inversion
of the linear wave dispersion relation.
sigma^2 = gk*tanh(kd), sigma = 2*pi*f
Wavenumber k (rad/m) is returned in "wkfnc"| f | Frequency (Hz). |
| dep | Depth (m). |
Definition at line 5299 of file w3snl4md.F90.
References twopi.
| real w3snl4md::ainc |
Definition at line 142 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), optsa2(), and w3snl4().
| real, dimension(:), allocatable w3snl4md::angl |
Definition at line 144 of file w3snl4md.F90.
Referenced by w3snl4().
| real, dimension(:), allocatable w3snl4md::cosan |
Definition at line 144 of file w3snl4md.F90.
Referenced by gridsetr(), and w3snl4().
| real, dimension(:,:), allocatable w3snl4md::dens1 |
Definition at line 188 of file w3snl4md.F90.
Referenced by optsa2(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:,:), allocatable w3snl4md::dens2 |
Definition at line 188 of file w3snl4md.F90.
Referenced by optsa2(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:), allocatable w3snl4md::dep_tbl |
Definition at line 145 of file w3snl4md.F90.
| real w3snl4md::dfrq |
Definition at line 141 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), and w3snl4().
| real, dimension(:,:), allocatable w3snl4md::diag |
Definition at line 195 of file w3snl4md.F90.
Referenced by snlr_tsa(), and w3snl4().
| real, dimension(:,:), allocatable w3snl4md::diag2 |
Definition at line 196 of file w3snl4md.F90.
Referenced by snlr_fbi(), and w3snl4().
| real, dimension(:), allocatable w3snl4md::ds |
Definition at line 173 of file w3snl4md.F90.
Referenced by gridsetr(), shlocr(), shloxr(), and w3snl4().
| real, dimension(:), allocatable w3snl4md::ef1 |
Definition at line 181 of file w3snl4md.F90.
| real, dimension(:,:), allocatable w3snl4md::ef2 |
Definition at line 180 of file w3snl4md.F90.
| real w3snl4md::f0 |
Definition at line 141 of file w3snl4md.F90.
Referenced by gridsetr(), and w3snl4().
| real, dimension(:,:), allocatable w3snl4md::fbi |
Definition at line 196 of file w3snl4md.F90.
Referenced by snlr_fbi(), and w3snl4().
| real, dimension(:), allocatable w3snl4md::frqa |
Definition at line 143 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), optsa2(), and w3snl4().
| real, dimension(:,:,:), allocatable w3snl4md::grad |
Definition at line 167 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:,:,:,:), allocatable w3snl4md::grad_tbl |
Definition at line 156 of file w3snl4md.F90.
| integer, parameter w3snl4md::ismo = 1 |
Definition at line 126 of file w3snl4md.F90.
Referenced by interp2().
| integer, dimension(:,:,:), allocatable w3snl4md::jref2 |
Definition at line 163 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| integer, dimension(:,:,:,:), allocatable w3snl4md::jref2_tbl |
Definition at line 152 of file w3snl4md.F90.
| integer, dimension(:,:,:), allocatable w3snl4md::jref4 |
Definition at line 163 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| integer, dimension(:,:,:,:), allocatable w3snl4md::jref4_tbl |
Definition at line 152 of file w3snl4md.F90.
| integer, dimension(:,:,:), allocatable w3snl4md::kref2 |
Definition at line 162 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| integer, dimension(:,:,:,:), allocatable w3snl4md::kref2_tbl |
Definition at line 151 of file w3snl4md.F90.
| integer, dimension(:,:,:), allocatable w3snl4md::kref4 |
Definition at line 162 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| integer, dimension(:,:,:,:), allocatable w3snl4md::kref4_tbl |
Definition at line 151 of file w3snl4md.F90.
| integer w3snl4md::kzone |
Definition at line 138 of file w3snl4md.F90.
Referenced by gridsetr(), snlr_fbi(), snlr_tsa(), and w3snl4().
| integer w3snl4md::na2p1 |
Definition at line 139 of file w3snl4md.F90.
Referenced by w3snl4().
| integer w3snl4md::nang |
Definition at line 139 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), and w3snl4().
| integer w3snl4md::nb2fp |
Definition at line 138 of file w3snl4md.F90.
Referenced by w3snl4().
| integer, parameter w3snl4md::ndep = 37 |
Definition at line 131 of file w3snl4md.F90.
| integer w3snl4md::np2p1 |
Definition at line 140 of file w3snl4md.F90.
Referenced by gridsetr(), shlocr(), shloxr(), and w3snl4().
| integer, parameter w3snl4md::npts = 30 |
Definition at line 129 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), shlocr(), shloxr(), snlr_fbi(), snlr_tsa(), and w3snl4().
| integer w3snl4md::nrng |
Definition at line 138 of file w3snl4md.F90.
Referenced by w3snl4().
| integer w3snl4md::nzz |
Definition at line 138 of file w3snl4md.F90.
Referenced by w3snl4().
| real, dimension(:), allocatable w3snl4md::oma |
Definition at line 143 of file w3snl4md.F90.
| real, dimension(:,:), allocatable w3snl4md::pha_tbl |
Definition at line 157 of file w3snl4md.F90.
| real, dimension(:), allocatable w3snl4md::sinan |
Definition at line 144 of file w3snl4md.F90.
Referenced by gridsetr(), optsa2(), and w3snl4().
| real, dimension(:,:,:), allocatable w3snl4md::tfac2 |
Definition at line 166 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:,:,:,:), allocatable w3snl4md::tfac2_tbl |
Definition at line 155 of file w3snl4md.F90.
| real, dimension(:,:,:), allocatable w3snl4md::tfac4 |
Definition at line 166 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:,:,:,:), allocatable w3snl4md::tfac4_tbl |
Definition at line 155 of file w3snl4md.F90.
| real, dimension(:,:), allocatable w3snl4md::tsa |
Definition at line 195 of file w3snl4md.F90.
Referenced by snlr_tsa(), and w3snl4().
| real w3snl4md::twopi |
Definition at line 142 of file w3snl4md.F90.
Referenced by cgfnc(), gridsetr(), optsa2(), shloxr(), w3snl4(), and wkfnc().
| real, dimension(:), allocatable w3snl4md::wk2x |
Definition at line 172 of file w3snl4md.F90.
Referenced by gridsetr(), shlocr(), shloxr(), and w3snl4().
| real, dimension(:), allocatable w3snl4md::wk2y |
Definition at line 172 of file w3snl4md.F90.
Referenced by gridsetr(), shlocr(), shloxr(), and w3snl4().
| real, dimension(:), allocatable w3snl4md::wk4x |
Definition at line 173 of file w3snl4md.F90.
Referenced by gridsetr(), shlocr(), shloxr(), and w3snl4().
| real, dimension(:), allocatable w3snl4md::wk4y |
Definition at line 173 of file w3snl4md.F90.
Referenced by gridsetr(), shlocr(), shloxr(), and w3snl4().
| real, dimension(:,:,:), allocatable w3snl4md::wta2 |
Definition at line 165 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:,:,:,:), allocatable w3snl4md::wta2_tbl |
Definition at line 154 of file w3snl4md.F90.
| real, dimension(:,:,:), allocatable w3snl4md::wta4 |
Definition at line 165 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:,:,:,:), allocatable w3snl4md::wta4_tbl |
Definition at line 154 of file w3snl4md.F90.
| real, dimension(:,:,:), allocatable w3snl4md::wtk2 |
Definition at line 164 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:,:,:,:), allocatable w3snl4md::wtk2_tbl |
Definition at line 153 of file w3snl4md.F90.
| real, dimension(:,:,:), allocatable w3snl4md::wtk4 |
Definition at line 164 of file w3snl4md.F90.
Referenced by gridsetr(), insnl4(), snlr_fbi(), snlr_tsa(), and w3snl4().
| real, dimension(:,:,:,:), allocatable w3snl4md::wtk4_tbl |
Definition at line 153 of file w3snl4md.F90.