Module for computing the quadruplet interaction. More...
Functions/Subroutines | |
| 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 interaction. More... | |
| 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 (Webb/Resio/Tracy/Van Vledder). More... | |
| subroutine | q_allocate |
| Check configuration for non-linear transfer. More... | |
| subroutine | q_chkconfig |
| Check configuration for computation of non-linear transfer. More... | |
| subroutine | q_chkcons (xnl, nk, ndir, sum_e, sum_a, sum_mx, sum_my) |
| Check conservation laws of non-linear transfer. More... | |
| subroutine | q_chkres (k1x, k1y, k2x, k2y, k3x, k3y, k4x, k4y, dep, sum_kx, sum_ky, sum_w) |
| Check resonance conditions of 4 interacting wave numbers for a given water depth and dispersion relation. More... | |
| subroutine | q_cmplocus (ka, kb, km, kw, loclen) |
| Compute locus function used for the determination of the resonnance condition. More... | |
| subroutine | q_ctrgrid (itask, igrid) |
| Control of interaction grid administration. More... | |
| subroutine | q_dscale (n, sigma, angle, nsig, nang, depth, grav, q_dfac) |
| Compute scaling factor for nonlinear transfer in finite depth. More... | |
| subroutine | q_error (err_type, err_name, err_msg) |
| Error handling routine. More... | |
| subroutine | q_getlocus (ik1, ia1, ik3, ia3, ifnd) |
| Retrieve locus from basic locus as stored in the database. More... | |
| subroutine | q_init |
| Initializing module for quadruplets and setting default settings. More... | |
| subroutine | q_locpos (ka, kb, km, kw, loclen) |
| Compute characteristics of locus used to optimize its acutal computation. More... | |
| subroutine | q_makegrid |
| Set-up grid for computation of loci. More... | |
| subroutine | q_modify |
| Modify points along the locus, such that they are evenly distributed only when intended, i.e. More... | |
| subroutine | q_polar2 (kmin, kmax, kx_beg, ky_beg, kx_end, ky_end, loclen, ierr) |
| Compute position of locus for given k1-k3 vector. More... | |
| subroutine | q_setconfig (iquad) |
| Set settings for computing the nonlinear interactions. More... | |
| subroutine | q_searchgrid (depth, igrid) |
| Search nearest valid grid, read grid file and scale factor. More... | |
| subroutine | q_setversion |
| Subroutine has automatically been written by MODULE5. More... | |
| subroutine | q_stack (mod_name) |
| Add or remove mod_name name from module stack. More... | |
| subroutine | q_summary |
| Write summary of GurboQuad settings to print file. More... | |
| subroutine | q_symmetry (k1x, k1y, k3x, k3y, k4x, k4y, symfac, nloc) |
| Compute symmetry factor to reduce integration. More... | |
| subroutine | q_t13v4 (ik1, ia1, ik3, ia3, t13, diagk1, diagk3) |
| Compute the function T13, defined as a line integral around a locus. More... | |
| subroutine | q_weight |
| Compute interpolation weights of locus. More... | |
| subroutine | q_loc_w1w3 (k1x, k1y, k3x, k3y, npts, k2x, k2y, k4x, k4y, s) |
| Compute locus for the special case w1=w3. More... | |
| subroutine | q_xnl4v4 (aspec, sigma, angle, nsig, nang, depth, xnl, diag, ierr) |
| Compute nonlinear transfer for a given action density spectrum on a given wave number and direction grid. More... | |
| real function | x_cosk (k) |
| Compute cosine of points on locus for given wave number k. More... | |
| real function | x_cple (k1x, k1y, k2x, k2y, k3x, k3y, k4x, k4y, iq_cple, depth, grav) |
| Compute coupling coefficient between a quadruplet of interacting wave numbers. More... | |
| real function | x_flocus (kxx, kyy) |
| Compute locus function used for the determination of the resonance condition. More... | |
| real function | x_jacobian (x2, y2, x4, y4) |
| Compute gradient/Jacobian term for a given point on the locus. More... | |
| real function | x_disper (k, d) |
| Compute radian frequency for a given wave number and water depth. More... | |
| real function | x_locus1 (k2) |
| Compute locus function along symmetry axis. More... | |
| real function | x_locus2 (lambda) |
| Compute locus function perpendicluar to symmetry axis. More... | |
| real function | xc_hh (w1x0, w1y0, w2x0, w2y0, w3x0, w3y0, z4x, z4y, h) |
| N/A. More... | |
| real function | tanz (x) |
| N/A. More... | |
| real function | cosz (x) |
| N/A. More... | |
| real function | xc_webb (k1x, k1y, k2x, k2y, k3x, k3y, k4x, k4y, grav) |
| Compute deep water coupling coefficient for non-linear quadruplet interactions. More... | |
Variables | |
| character(len=60) | q_version |
| version string More... | |
| character(len=20) | sub_name |
| Name of active subroutine. More... | |
| character(len=20) | qbase |
| base name for I/O files More... | |
| character(len=20) | qf_error |
| name of file with error messages More... | |
| integer | iufind |
| Specifies handling of unit numbers, see Z_FILEIO. More... | |
| integer | iscreen |
| identifier for screen, set in XNL_INIT More... | |
| integer | luq_bqf |
| binary file storing and retrieving precomputed loci More... | |
| integer | luq_cfg |
| user defined configuration More... | |
| integer | luq_err |
| file with error messages More... | |
| integer | luq_fil |
| test output for filtering More... | |
| integer | luq_grd |
| ASCII file storing and retrieving precomputed loci. More... | |
| integer | luq_int |
| test file for test output of integration More... | |
| integer | luq_loc |
| statistics about computed loci More... | |
| integer | luq_log |
| logging More... | |
| integer | luq_prt |
| general print file for quadruplets More... | |
| integer | luq_trf |
| testing transformation of loci More... | |
| integer | luq_tst |
| test file for quadruplets More... | |
| integer | luq_txt |
| reading (error) text file More... | |
| integer | luq_t13 |
| test of basis integration More... | |
| real | q_grav |
| gravitational acceleration (Earth = 9.81 m/s^2) More... | |
| real | qf_tail |
| power of spectral tail of E(f), e.g. More... | |
| real | qf_krat |
| maximum ratio of the interacting wave numbers k1 and k3 More... | |
| real | qf_dmax |
| maximum directional difference between k1 and k3 More... | |
| real | qf_frac |
| fraction of maximum action density to filter More... | |
| integer | iq_compact |
| switch to compact data == 0, do not compact == 1, compact data by elimiting zero contribution along locus More... | |
| integer | iq_cple |
| type of coupling coefficient == 1, deep water coefficient of Webb == 2, deep water coefficient of Zakharov == 3, finite depth coefficient of Hasselmann & Herterich == 4, finite depth coefficient of Zakharov == 5, finite depth coefficient of Lin & Perrie More... | |
| integer | iq_disp |
| type of dispersion relation, viz. More... | |
| integer | iq_dscale |
| switch to activate depth scaling according to Herterich and Hasselmann == 0, No depth scaling == 1, depth scaling activated More... | |
| integer | iq_filt |
| switch to activate filtering in wave number space ==0, no filtering ==1, filtering activated More... | |
| integer | iq_gauleg |
switch for Gauss-Legendre interpolation == 0, No Gauss-Legendre, default More... | |
| integer | iq_geom |
| type of scaling == 0, no geometric scaling, only directional scaling of loci == 1, geometric scaling using Resio/Tracy method only possible in the case IQ_DISP=1 More... | |
| integer | iq_grid |
| type of spectral grid == 1, sector & symmetric around zero == 2, sector & symmetric around zero & non-symmetric == 3, full circle & non-symmetric More... | |
| integer | iq_integ |
| option to output integration results ==0 no output of integration ==1 only sum per locus ==2 also information per point on locus ==3 only basic line integrals More... | |
| integer | iq_interp |
| type of interpolation to retrieve action density == 1, bi-linear interpolation in discrete spectrum (default) == 2, take nearest bins, on the basis of maximum weight More... | |
| integer | iq_locus |
| Option for computation of locus ==1, explicit polar method with fixed k-step ==2, explicit polar method with adpative k-stepping ==3, explicit polar method with geometric k-spacing. More... | |
| integer | iq_log |
| switch to activate logging to file QBASE//.LOG == 0, No print output == 1, print output More... | |
| integer | iq_lump |
| switch to activate lumping on locus == 0, No lumping == 1, Lumping along locus More... | |
| integer | iq_make |
| option to make quadruplet grid == 1, make when needed (default) == 2, always make quadruplet grid == 3, only make grid file More... | |
| integer | iq_mod |
| option to redistribute points on locus == 0, Points will be used as computed by tracing algortihm == 1, Equi-distant spacing on points along locus (NLOC1) More... | |
| integer | iq_prt |
| switch to activate print output, to file QBASE//.PRT == 0, No print output == 1, print output More... | |
| integer | iq_search |
| switch to determine search for a proper grid == 0, no search is carried out == 1, search nearest (relative) interaction grid More... | |
| integer | iq_screen |
| option to send output to the screen == 0, no output is send to screen == 1, output is send to screen More... | |
| integer | iq_sym |
| switch to activate use of symmetry reduction == 0, no symmetries are used == 1, symmetry activated (default) More... | |
| integer | iq_test |
| test level, output is directed to unit luqtst == 0, no test output == 1, output of basic I/O == 2, extensive test output More... | |
| integer | iq_trace |
trace option == 0, no trace of subroutine calls
< 0, as for >0 but now output is send to the screen More... | |
| integer | iq_trf |
| option to print transformed loci to special output file == 0, no output to data file unit luqtrf == 1, test output from routine Q_GETLOCUS More... | |
| integer | iq_t13 |
| option to output T13 integration ==0, no output ==1, test output of T13 per locus More... | |
| integer | iq_xdia |
switch to activate output to extended DIA data file == 0, no output
activated More... | |
| character(len=13) | aqname |
| name of ASCII grid file More... | |
| character(len=13) | bqname |
| name of binary quadruplet grid file More... | |
| character(len=13) | lastquadfile |
| name of last retrieved BQF file More... | |
| character(len=21) | q_header |
| header of Binary Quadruplet File as intended in BQF-file More... | |
| character(len=21) | r_header |
| header of Binary Quadruplet File as exists in BQF-file More... | |
| logical | lq_grid |
| flag to make (new) interaction grid More... | |
| integer | nkq |
| number of wave numbers of quad-grid More... | |
| integer | naq |
| number of angles of quad-grad More... | |
| integer | ncirc |
| number of angles on a full circle More... | |
| integer | ia_k1 |
| integer | ik_k1 |
| indices of main loop variables More... | |
| integer | ia_k3 |
| integer | ik_k3 |
| indices of main loop variables More... | |
| real | fqmin |
| lowest frequency in Hz More... | |
| real | fqmax |
| highest frequency in Hz More... | |
| real | q_sector |
| half plane width in degrees (for iq_grid=1,2) More... | |
| real | q_dstep |
| step size for generating BQF files More... | |
| integer, parameter | mq_stack =10 |
| maximum number of elements in stack More... | |
| integer | mlocus |
| maximum number of points on locus for defining arrays More... | |
| integer | nlocus0 |
| preferred number of points on locus More... | |
| integer | nlocus1 |
| number of points on locus as computed in Q_CMPLOCUS More... | |
| integer | klocus |
| number of points on locus as stored in quadruplet database based on nlocus0, iq_gauleg and iq_lump (without compacting) used in Q_ALLOCATE to define size of data arrays More... | |
| integer | nlocus |
| number of points on locus, equal to klocus More... | |
| integer | nlocusx |
| number of points on locus for use in computation (nlocusx <= nlocus) More... | |
| real | kqmin |
| lowest wave number More... | |
| real | kqmax |
| highest wave number More... | |
| real | wk_max |
| maximum weight for wave number interpolation, set in Q_INIT More... | |
| real | k0x |
| real | k0y |
| real | dk0 |
| components of initial wave number of locus, More... | |
| real | krefx |
| real | krefy |
| components of reference wave number for quad-grid More... | |
| real | k1x |
| real | k1y |
| components of k1 wave number More... | |
| real | k2x |
| real | k2y |
| components of k2 wave number More... | |
| real | k3x |
| real | k3y |
| components of k3 wave number More... | |
| real | k4x |
| real | k4y |
| components of k4 wave number More... | |
| real | px |
| real | py |
| components of difference k1-k3 wave number More... | |
| real | pmag |
| magnitude of P-vector More... | |
| real | pang |
| angle related of P-vector, Pang = atan2(py,px), (radians) More... | |
| real | sang |
| angle of symmytry axis of locus, SANG = PANG +/ pi° (radians) More... | |
| real | xang |
| angle of locus for the case that w1=w3, Xang=atan2(-px,py), (radians) More... | |
| real | q |
| difference of radian frequencies, used in Resio-Tracy method More... | |
| real | kmin_loc |
| minimum wave number of locus along symmetry axis More... | |
| real | kmax_loc |
| maximum wave number of locus along symmetry axis More... | |
| real | kmid |
| wave number at midpoint of locus along symmetry axis More... | |
| real | kmidx |
| x-component of wave number at midpoint of locus along symmetry axis More... | |
| real | kmidy |
| y-component of wave number at midpoint of locus along symmetry axis More... | |
| real | loc_crf |
| circumference of locus in (kx,ky)-space More... | |
| real | loc_area |
| area of locus, measured in (kx-ky)- space More... | |
| real | loc_xz |
| x-coordinate of center of gravity of locus in (kx,ky)-space More... | |
| real | loc_yz |
| y-coordinate of center of gravity of locus in (kx,ky)-space More... | |
| integer, dimension(:,:), allocatable | quad_nloc |
| number of points on locus More... | |
| integer, dimension(:,:,:), allocatable | quad_ik2 |
| lower wave number index of k2 More... | |
| integer, dimension(:,:,:), allocatable | quad_ia2 |
| lower direction index of k2 More... | |
| integer, dimension(:,:,:), allocatable | quad_ik4 |
| lower wave number index of k4 More... | |
| integer, dimension(:,:,:), allocatable | quad_ia4 |
| lower direction index of k4 More... | |
| real, dimension(:,:,:), allocatable | quad_w1k2 |
| weight 1 of k2 More... | |
| real, dimension(:,:,:), allocatable | quad_w2k2 |
| weight 2 of k2 More... | |
| real, dimension(:,:,:), allocatable | quad_w3k2 |
| weight 3 of k2 More... | |
| real, dimension(:,:,:), allocatable | quad_w4k2 |
| weight 4 of k2 More... | |
| real, dimension(:,:,:), allocatable | quad_w1k4 |
| weight 1 of k4 More... | |
| real, dimension(:,:,:), allocatable | quad_w2k4 |
| weight 2 of k4 More... | |
| real, dimension(:,:,:), allocatable | quad_w3k4 |
| weight 3 of k4 More... | |
| real, dimension(:,:,:), allocatable | quad_w4k4 |
| weight 4 of k4 More... | |
| real, dimension(:,:,:), allocatable | quad_zz |
| compound product of cple*ds*sym/jac More... | |
| real, dimension(:), allocatable | x2_loc |
| k2x coordinates around locus More... | |
| real, dimension(:), allocatable | y2_loc |
| k2y coordinates around locus More... | |
| real, dimension(:), allocatable | z_loc |
| data value around locus More... | |
| real, dimension(:), allocatable | s_loc |
| coordinate along locus More... | |
| real, dimension(:), allocatable | x4_loc |
| k4x coordinates around locus More... | |
| real, dimension(:), allocatable | y4_loc |
| k4y coordinates around locus More... | |
| real, dimension(:), allocatable | ds_loc |
| step size around locus More... | |
| real, dimension(:), allocatable | jac_loc |
| jacobian term around locus More... | |
| real, dimension(:), allocatable | cple_loc |
| coupling coefficient around locus More... | |
| real, dimension(:), allocatable | sym_loc |
| factor for symmetry between k3 and k4 More... | |
| real, dimension(:), allocatable | k_pol |
| wave numbers during polar generation of locus More... | |
| real, dimension(:), allocatable | c_pol |
| cosines during polar generation of locus More... | |
| real, dimension(:), allocatable | a_pol |
| angles of polar locus More... | |
| real, dimension(:), allocatable | x2_mod |
| k2x coordinates along locus More... | |
| real, dimension(:), allocatable | y2_mod |
| k2y coordinates along locus More... | |
| real, dimension(:), allocatable | x4_mod |
| k4x coordinates along locus More... | |
| real, dimension(:), allocatable | y4_mod |
| k4y coordinates along locus More... | |
| real, dimension(:), allocatable | z_mod |
| data value around locus More... | |
| real, dimension(:), allocatable | s_mod |
| coordinate along locus More... | |
| real, dimension(:), allocatable | ds_mod |
| step size around locus More... | |
| real, dimension(:), allocatable | jac_mod |
| jacobian term around locus More... | |
| real, dimension(:), allocatable | cple_mod |
| coupling coefficient around locus More... | |
| real, dimension(:), allocatable | sym_mod |
| factor for symmetry between k3 and k4 More... | |
| real, dimension(:), allocatable | k2m_mod |
| k2 magnitude around locus More... | |
| real, dimension(:), allocatable | k2a_mod |
| k2 angle around locus More... | |
| real, dimension(:), allocatable | k4m_mod |
| k4 magnitude around locus More... | |
| real, dimension(:), allocatable | k4a_mod |
| k4 angle around locus More... | |
| real, dimension(:), allocatable | wk_k2 |
| position of k2 and k4 wave number More... | |
| real, dimension(:), allocatable | wk_k4 |
| w.r.t. More... | |
| real, dimension(:), allocatable | wa_k2 |
| position of k2 and k4 wave number More... | |
| real, dimension(:), allocatable | wa_k4 |
| w.r.t. More... | |
| real, dimension(:), allocatable | wt_k2 |
| weight factor in tail, More... | |
| real, dimension(:), allocatable | wt_k4 |
| wt==1 for wave numbers inside k-grid More... | |
| integer, dimension(:), allocatable | t_ik2 |
| transformed weight for k2-magnitude More... | |
| integer, dimension(:), allocatable | t_ia2 |
| transformed direction for k2 More... | |
| integer, dimension(:), allocatable | t_ik4 |
| transformed tail factor for k2 More... | |
| integer, dimension(:), allocatable | t_ia4 |
| transformed weight for k4 More... | |
| real, dimension(:), allocatable | t_w1k2 |
| transformed weight 1 for k2 More... | |
| real, dimension(:), allocatable | t_w2k2 |
| transformed weight 2 for k2 More... | |
| real, dimension(:), allocatable | t_w3k2 |
| transformed weight 3 for k2 More... | |
| real, dimension(:), allocatable | t_w4k2 |
| transformed weight 4 for k2 More... | |
| real, dimension(:), allocatable | t_w1k4 |
| transformed weight 1 for k4 More... | |
| real, dimension(:), allocatable | t_w2k4 |
| transformed weight 2 for k4 More... | |
| real, dimension(:), allocatable | t_w3k4 |
| transformed weight 3 for k4 More... | |
| real, dimension(:), allocatable | t_w4k4 |
| transformed weight 4 for k4 More... | |
| real, dimension(:), allocatable | t_zz |
| product term More... | |
| integer, dimension(:), allocatable | r_ik2 |
| corresponding declarations r_ik2 More... | |
| integer, dimension(:), allocatable | r_ia2 |
| corresponding declarations r_ia2 More... | |
| integer, dimension(:), allocatable | r_ik4 |
| corresponding declarations r_ik4 More... | |
| integer, dimension(:), allocatable | r_ia4 |
| corresponding declarations r_ia4 More... | |
| real, dimension(:), allocatable | r_w1k2 |
| real, dimension(:), allocatable | r_w2k2 |
| real, dimension(:), allocatable | r_w3k2 |
| real, dimension(:), allocatable | r_w4k2 |
| corresponding declarations More... | |
| real, dimension(:), allocatable | r_w1k4 |
| real, dimension(:), allocatable | r_w2k4 |
| real, dimension(:), allocatable | r_w3k4 |
| real, dimension(:), allocatable | r_w4k4 |
| corresponding declarations More... | |
| real, dimension(:), allocatable | r_zz |
| real, dimension(:), allocatable | r_jac |
| real, dimension(:), allocatable | r_cple |
| real, dimension(:), allocatable | r_sym |
| real, dimension(:), allocatable | r_ws |
| corresponding declarations More... | |
| real, dimension(:), allocatable | dt13 |
| increment along locus More... | |
| real, dimension(:), allocatable | q_xk |
| extended wave number array starting at index 0 More... | |
| real, dimension(:), allocatable | q_sk |
| step size of extended wave number array More... | |
| real | sk_max |
| maximum wave number in extended array More... | |
| real, dimension(:), allocatable | q_k |
| wave number grid [1/m] More... | |
| real, dimension(:), allocatable | q_dk |
| width of wave number bins [1/m] More... | |
| real, dimension(:), allocatable | q_kpow |
| wave number to a certain power, used in filtering More... | |
| real, dimension(:), allocatable | q_f |
| frequencies accociated to wave number/depth More... | |
| real, dimension(:), allocatable | q_df |
| step size of frequency grid More... | |
| real, dimension(:), allocatable | q_sig |
| radian frequencies associated to wave number/depth More... | |
| real, dimension(:), allocatable | q_dsig |
| step size of radian frequency grid More... | |
| real, dimension(:), allocatable | q_cg |
| group velocity (m/s) More... | |
| real, dimension(:), allocatable | q_a |
| directions of quadruplet grid in radians More... | |
| real, dimension(:), allocatable | q_ad |
| directions of quadruplet grid in degrees More... | |
| real, dimension(:,:), allocatable | a |
| Action density on wave number grid A(sigma,theta) More... | |
| real, dimension(:,:), allocatable | nspec |
| Action density on wave number grid N(kx,ky) More... | |
| real, dimension(:), allocatable | nk1d |
| Internal 1d action density spectrum N(k) More... | |
| real, dimension(:,:), allocatable | qnl |
| Nonlinear energy transfer Snl(k,theta) More... | |
| integer | id_facmax |
| Factor for determining range of depth search (Q_SEARCHGRID) More... | |
| real | q_dird1 |
| real | q_dird2 |
| first and last direction of host model (via XNL_INIT) degrees More... | |
| real | q_depth |
| local water depth in m More... | |
| real | q_maxdepth |
| maximum water depth, set in XNL_INIT, used in Q_CTRGRID More... | |
| real | q_mindepth |
| minimum water depth, set in XNL_INIT, used in Q_CTRGRID More... | |
| real | q_lambda |
| geometric scaling factor for 'deep' water loci More... | |
| real | q_scale |
| additional scale factor resulting from SEARCH for neasrest grid More... | |
| real | eps_q |
| absolute accuracy for check of Q More... | |
| real | eps_k |
| absolute accuracy for equality check of k More... | |
| real | rel_k |
| relative accuracy for equality check of k More... | |
| integer | iq_stack |
| Sequence number of stack with subroutine calls. More... | |
| character(len=21), dimension(mq_stack) | cstack |
| Stack with module names. More... | |
| real | crf1 |
| estimated circumference of locus More... | |
| integer | iaref |
| index of first angle of reference wave numbers More... | |
| integer | iamax |
| maximum difference in indices for sector grids More... | |
| integer | iaq1 |
| integer | iaq2 |
| indices of do-loop for directions More... | |
| integer | iag1 |
| integer | iag2 |
| range of directions for precomputed interaction grid More... | |
| real | q_ang1 |
| real | q_ang2 |
| lower and upper angle of grid in degrees More... | |
| real | q_delta |
| directional spacing of angular grid in radians More... | |
| real | q_deltad |
| directional spacing of angular grid in degrees More... | |
| real | q_ffac |
| geometric factor between subsequent frequencies More... | |
| real | q_kfac |
| geometric factor between subsequent wave numbers (only valid for IQ_IDISP==1) More... | |
| real | qk_tail |
| power of spectral tail of N(k), computed from qf_tail More... | |
| integer | iq_type |
| method for computing the nonlinear interactions depending on the value of iq_type a number of settings for other processes or schematizations are set in Q_COMPU iq_type==1: deep water, symmetric spectrum, Webb coupling coefficient 2: deep water computation with WAM depth scaling based on Herterich and Hasselmann (1980) 3: finite depth transfer More... | |
| integer | iq_err |
| counts the number of errors if no error occurred, IQ_ERR = 0 for each occuring error, iq_err is incremented errors are always terminating routine Q_ERROR handles the reporting on the error More... | |
| integer | iq_warn |
| counts the number of warnings More... | |
Module for computing the quadruplet interaction.
| real function m_xnldata::cosz | ( | real | x | ) |
N/A.
| x |
Definition at line 7827 of file mod_xnl4v5.f90.
Referenced by xc_hh().
| subroutine m_xnldata::q_allocate |
Check configuration for non-linear transfer.
Allocate data arrays.
Definition at line 1012 of file mod_xnl4v5.f90.
References a, a_pol, c_pol, cple_loc, cple_mod, ds_loc, ds_mod, dt13, iq_geom, iq_log, jac_loc, jac_mod, k2a_mod, k2m_mod, k4a_mod, k4m_mod, k_pol, klocus, luq_log, mlocus, naq, nk1d, nkq, nlocus0, nspec, q_a, q_ad, q_cg, q_df, q_dk, q_dsig, q_f, q_k, q_kpow, q_sig, q_sk, q_stack(), q_xk, quad_ia2, quad_ia4, quad_ik2, quad_ik4, quad_nloc, quad_w1k2, quad_w1k4, quad_w2k2, quad_w2k4, quad_w3k2, quad_w3k4, quad_w4k2, quad_w4k4, quad_zz, r_ia2, r_ia4, r_ik2, r_ik4, r_w1k2, r_w1k4, r_w2k2, r_w2k4, r_w3k2, r_w3k4, r_w4k2, r_w4k4, r_zz, s_loc, s_mod, sym_loc, sym_mod, t_ia2, t_ia4, t_ik2, t_ik4, t_w1k2, t_w1k4, t_w2k2, t_w2k4, t_w3k2, t_w3k4, t_w4k2, t_w4k4, t_zz, wa_k2, wa_k4, wk_k2, wk_k4, wt_k2, wt_k4, x2_loc, x2_mod, x4_loc, x4_mod, y2_loc, y2_mod, y4_loc, y4_mod, z_loc, and z_mod.
Referenced by xnl_init().
| subroutine m_xnldata::q_chkconfig |
Check configuration for computation of non-linear transfer.
Check each parameter setting.
Definition at line 1237 of file mod_xnl4v5.f90.
References fqmax, fqmin, iq_compact, iq_cple, iq_disp, iq_dscale, iq_filt, iq_gauleg, iq_geom, iq_grid, iq_integ, iq_interp, iq_locus, iq_log, iq_lump, iq_make, iq_mod, iq_prt, iq_sym, iq_test, iq_trf, klocus, luq_err, naq, nkq, nlocus0, q_error(), q_sector, q_stack(), and qf_tail.
Referenced by xnl_init().
| subroutine m_xnldata::q_chkcons | ( | real, dimension(nk,ndir), intent(in) | xnl, |
| integer, intent(in) | nk, | ||
| integer, intent(in) | ndir, | ||
| real, intent(out) | sum_e, | ||
| real, intent(out) | sum_a, | ||
| real, intent(out) | sum_mx, | ||
| real, intent(out) | sum_my | ||
| ) |
Check conservation laws of non-linear transfer.
The following conservation laws should be fulfilled:
Wave Energy SUME=0
Wave Action SUMA=0
Momentum vector SUMMX,SUMMY=0| [in] | xnl | Transfer rate. |
| [in] | nk | Number of wave numbers. |
| [in] | ndir | Number of directions. |
| [out] | sum_e | Sum of wave energy. |
| [out] | sum_a | Sum of wave action. |
| [out] | sum_mx | Sum of momentum in x-direction. |
| [out] | sum_my | Sum of momentum in y-direction. |
Definition at line 1435 of file mod_xnl4v5.f90.
References naq, nkq, q_a, q_delta, q_dk, q_k, q_sig, and q_stack().
Referenced by xnl_main().
| subroutine m_xnldata::q_chkres | ( | real, intent(in) | k1x, |
| real, intent(in) | k1y, | ||
| real, intent(in) | k2x, | ||
| real, intent(in) | k2y, | ||
| real, intent(in) | k3x, | ||
| real, intent(in) | k3y, | ||
| real, intent(in) | k4x, | ||
| real, intent(in) | k4y, | ||
| real, intent(in) | dep, | ||
| real, intent(out) | sum_kx, | ||
| real, intent(out) | sum_ky, | ||
| real, intent(out) | sum_w | ||
| ) |
Check resonance conditions of 4 interacting wave numbers for a given water depth and dispersion relation.
The sum of wave number vectors and associated radian frequencies are computed:
k1 + k2 - (k3 + k4)
w1 + w2 - (w3 + w4)
in which w_i = g k_i tanh(k_i d)| [in,out] | k1x | X-component of wave number vector k1 |
| [in,out] | k1y | Y-component of wave number vector k1 |
| [in,out] | k2x | X-component of wave number vector k2 |
| [in,out] | k2y | Y-component of wave number vector k2 |
| [in,out] | k3x | X-component of wave number vector k3 |
| [in,out] | k3y | Y-component of wave number vector k3 |
| [in,out] | k4x | X-component of wave number vector k4 |
| [in,out] | k4y | Y-component of wave number vector k4 |
| [in,out] | dep | Depth in m |
| [in,out] | sum_kx | Sum of x-components of quadruplet |
| [in,out] | sum_ky | Sum of y-components of quadruplet |
| [in,out] | sum_w | Sum of radian frequencies |
Definition at line 1574 of file mod_xnl4v5.f90.
References x_disper().
| subroutine m_xnldata::q_cmplocus | ( | real, intent(out) | ka, |
| real, intent(out) | kb, | ||
| real, intent(out) | km, | ||
| real, intent(out) | kw, | ||
| real, intent(out) | loclen | ||
| ) |
Compute locus function used for the determination of the resonnance condition.
See ALKYON, 1999.
| [out] | ka | Lowest wave number magnitude of k2-locus. |
| [out] | kb | Highest wave number magnitude of k2-locus. |
| [out] | km | Wave number magnitude at mid point. |
| [out] | kw | Half width of locus. |
| [out] | loclen | Estimated length of locus. |
Definition at line 1677 of file mod_xnl4v5.f90.
References cple_loc, ds_loc, eps_q, iq_cple, iq_err, iq_test, jac_loc, k1x, k1y, k2x, k2y, k3x, k3y, k4x, k4y, luq_err, luq_tst, nlocus0, nlocus1, pang, m_constants::pi, pmag, px, py, q, q_depth, q_error(), q_grav, q_loc_w1w3(), q_locpos(), q_polar2(), q_stack(), s_loc, sang, x2_loc, x4_loc, x_cple(), x_disper(), x_jacobian(), xang, y2_loc, y4_loc, and serv_xnl4v5::z_polyarea().
Referenced by q_makegrid().
| subroutine m_xnldata::q_ctrgrid | ( | integer, intent(in) | itask, |
| integer, intent(out) | igrid | ||
| ) |
Control of interaction grid administration.
The generation of the database file depend on the control varaible of IQ_MAKE
if IQ_MAKE==1, make a grid when needed
2, always make grid
3, make a grid and stop, useful for test purposes
The maximum number of points on the locus, as stored in the BQF file
is read from the header and stored in the variable NLOCUS.
Input parameter values:
itask - task to perform by Q_CTRGRID
==1: read and check header block
==2: read and write grid file, according to setting of IQ_MAKE
igrid - status of grid checking
==0: a proper grid exists
==1: grid file does not exist
==2: grid file exists, but it is incorrect
==3: read error in accessing grid information| [in] | itask | Task to perform by Q_CTRGRID. |
| [out] | igrid | Status of grid checking. |
Definition at line 1968 of file mod_xnl4v5.f90.
References bqname, iq_cple, iq_disp, iq_err, iq_geom, iq_grid, iq_interp, iq_locus, iq_log, iq_make, iq_prt, iq_screen, iscreen, iufind, lastquadfile, lq_grid, luq_bqf, luq_err, luq_log, luq_prt, naq, nkq, nlocus, nlocus0, q_ad, q_depth, q_dstep, q_error(), q_header, q_makegrid(), q_maxdepth, q_sig, q_stack(), quad_ia2, quad_ia4, quad_ik2, quad_ik4, quad_nloc, quad_w1k2, quad_w1k4, quad_w2k2, quad_w2k4, quad_w3k2, quad_w3k4, quad_w4k2, quad_w4k4, quad_zz, r_header, m_fileio::z_fclose(), and m_fileio::z_fileio().
Referenced by q_searchgrid(), q_xnl4v4(), and xnl_init().
| subroutine m_xnldata::q_dscale | ( | real, dimension(nsig,nang), intent(in) | n, |
| real, dimension(nsig), intent(in) | sigma, | ||
| real, dimension(nang), intent(in) | angle, | ||
| integer, intent(in) | nsig, | ||
| integer, intent(in) | nang, | ||
| real, intent(in) | depth, | ||
| real, intent(in) | grav, | ||
| real, intent(out) | q_dfac | ||
| ) |
Compute scaling factor for nonlinear transfer in finite depth.
Compute mean wave number km.
Compute scale factor based on parameterized function of (km*d) according to Herterich and Hasselmann and parameterisation from WAM model.
| [in] | n | Number of sigma-values. |
| [in] | sigma | Number of directions. |
| [in] | angle | N(nsig,nang) Action density. |
| [in] | nsig | Sigma values. |
| [in] | nang | Directions in (radians). |
| [in] | depth | Depth (m). |
| [in] | grav | Gravitational acceleration. |
| [out] | q_dfac | Scale factor. |
Definition at line 2397 of file mod_xnl4v5.f90.
References q_stack(), serv_xnl4v5::z_steps(), and serv_xnl4v5::z_wnumb().
Referenced by q_searchgrid(), and xnl_main().
| subroutine m_xnldata::q_error | ( | character(len=1), intent(in) | err_type, |
| character(len=*), intent(in) | err_name, | ||
| character(len=*), intent(in) | err_msg | ||
| ) |
Error handling routine.
Produces a warning to an error that has occured prints the error message and print module stack to trace the origin of the error.
| [in] | err_type | Type of error. |
| [in] | err_name | Reference to error message. |
| [in] | err_msg | Optional additional error message. |
Definition at line 2544 of file mod_xnl4v5.f90.
References cstack, iq_err, iq_log, iq_stack, iq_warn, iufind, luq_err, luq_log, luq_txt, q_version, qbase, qf_error, and m_fileio::z_fileio().
Referenced by q_chkconfig(), q_cmplocus(), q_ctrgrid(), q_getlocus(), q_locpos(), q_modify(), q_searchgrid(), q_setconfig(), q_stack(), q_xnl4v4(), xnl_init(), and xnl_main().
| subroutine m_xnldata::q_getlocus | ( | integer, intent(in) | ik1, |
| integer, intent(in) | ia1, | ||
| integer, intent(in) | ik3, | ||
| integer, intent(in) | ia3, | ||
| integer, intent(out) | ifnd | ||
| ) |
Retrieve locus from basic locus as stored in the database.
In the case of geometric scaling, k-scaling is used using scale laws described by Tracy.
Directional transformation using linear transformations, shifting and mirror imaging.
| [in] | ik1 | K-index of wave number k1. |
| [in] | ia1 | Theta-index of wave number k1. |
| [in] | ik3 | K-index of wave number k3. |
| [in] | ia3 | Theta-index of wave number k3. |
| [out] | ifnd | Indicator if reference locus exists in database. |
Definition at line 2742 of file mod_xnl4v5.f90.
References iamax, iaref, iq_geom, iq_grid, naq, nkq, nlocusx, q_ad, q_deltad, q_error(), q_kfac, q_stack(), quad_ia2, quad_ia4, quad_ik2, quad_ik4, quad_nloc, quad_w1k2, quad_w1k4, quad_w2k2, quad_w2k4, quad_w3k2, quad_w3k4, quad_w4k2, quad_w4k4, quad_zz, r_ia2, r_ia4, r_ik2, r_ik4, r_w1k2, r_w1k4, r_w2k2, r_w2k4, r_w3k2, r_w3k4, r_w4k2, r_w4k4, r_zz, t_ia2, t_ia4, t_ik2, t_ik4, t_w1k2, t_w1k4, t_w2k2, t_w2k4, t_w3k2, t_w3k4, t_w4k2, t_w4k4, and t_zz.
Referenced by q_t13v4().
| subroutine m_xnldata::q_init |
Initializing module for quadruplets and setting default settings.
Conversion of power of spectral tail from E(f) to N(k) using the following relations:
E(f) ~ f^qf_tail
N(k) ~ k^qk_tail
qk_tail = qf_tail/2 -1
See also Note 13 of G.Ph. van Vledder
Definition at line 3121 of file mod_xnl4v5.f90.
References m_constants::dera, eps_k, eps_q, fqmax, fqmin, iag1, iag2, iamax, iaq1, iaq2, iaref, iq_grid, iq_prt, kqmax, kqmin, luq_prt, naq, ncirc, nkq, m_constants::pi, q_a, q_ad, q_ang1, q_ang2, q_cg, q_delta, q_deltad, q_depth, q_df, q_dird1, q_dird2, q_dk, q_dsig, q_f, q_ffac, q_grav, q_k, q_kfac, q_kpow, q_sector, q_sig, q_sk, q_stack(), q_xk, qf_tail, qk_tail, rel_k, sk_max, wk_max, serv_xnl4v5::z_cmpcg(), serv_xnl4v5::z_steps(), and serv_xnl4v5::z_wnumb().
Referenced by q_xnl4v4(), and xnl_init().
| subroutine m_xnldata::q_loc_w1w3 | ( | real, intent(in) | k1x, |
| real, intent(in) | k1y, | ||
| real, intent(in) | k3x, | ||
| real, intent(in) | k3y, | ||
| integer, intent(in) | npts, | ||
| real, dimension(npts), intent(out) | k2x, | ||
| real, dimension(npts), intent(out) | k2y, | ||
| real, dimension(npts), intent(out) | k4x, | ||
| real, dimension(npts), intent(out) | k4y, | ||
| real, dimension(npts), intent(out) | s | ||
| ) |
Compute locus for the special case w1=w3.
For this case, the k2-locus consists of a straight line.
| [in,out] | k1x | X-component of wave number k1. |
| [in,out] | k1y | Y-component of wave number k1. |
| [in,out] | k3x | X-component of wave number k3. |
| [in,out] | k3y | Y-component of wave number k3. |
| [in,out] | npts | Number of points. |
| [in,out] | k2x | X-component of wave number k2. |
| [in,out] | k2y | Y-component of wave number k2. |
| [in,out] | k4x | X-component of wave number k4. |
| [in,out] | k4y | Y-component of wave number k4. |
| [in,out] | s | Distance along locus. |
Definition at line 6221 of file mod_xnl4v5.f90.
Referenced by q_cmplocus().
| subroutine m_xnldata::q_locpos | ( | real, intent(out) | ka, |
| real, intent(out) | kb, | ||
| real, intent(out) | km, | ||
| real, intent(out) | kw, | ||
| real, intent(out) | loclen | ||
| ) |
Compute characteristics of locus used to optimize its acutal computation.
| [out] | ka | Minimum k along symmetry axis. |
| [out] | kb | Maximum k along symmetry axis. |
| [out] | km | Wave number at midpoint. |
| [out] | kw | Half width of locus at midpoint. |
| [out] | loclen | Estimated length of locus. |
Definition at line 3414 of file mod_xnl4v5.f90.
References iq_disp, iq_test, kmid, kmidx, kmidy, luq_tst, pang, m_constants::pi, pmag, px, py, q, q_error(), q_stack(), m_constants::sqrtg, x_flocus(), x_locus1(), x_locus2(), and serv_xnl4v5::z_root2().
Referenced by q_cmplocus().
| subroutine m_xnldata::q_makegrid |
Set-up grid for computation of loci.
Generate data file with basic loci for computation of nonlinear quadruplet interactions.
Definition at line 3764 of file mod_xnl4v5.f90.
References aqname, bqname, cple_mod, crf1, m_constants::dera, ds_mod, ia_k1, ia_k3, iag1, iag2, iaq1, iaref, ik_k1, ik_k3, iq_compact, iq_disp, iq_err, iq_geom, iq_log, iq_prt, iq_screen, iq_test, iscreen, jac_mod, k1x, k1y, k3x, k3y, krefx, krefy, lastquadfile, luq_bqf, luq_log, luq_prt, mlocus, naq, nkq, nlocus, q_ad, q_cmplocus(), q_depth, q_header, q_k, q_modify(), q_sig, q_stack(), q_weight(), quad_ia2, quad_ia4, quad_ik2, quad_ik4, quad_nloc, quad_w1k2, quad_w1k4, quad_w2k2, quad_w2k4, quad_w3k2, quad_w3k4, quad_w4k2, quad_w4k4, quad_zz, sym_mod, wa_k2, wa_k4, wk_k2, wk_k4, wt_k2, and wt_k4.
Referenced by q_ctrgrid().
| subroutine m_xnldata::q_modify |
Modify points along the locus, such that they are evenly distributed only when intended, i.e.
when IQ_LOCUS==2.
Compute new spacing along locus. Redistribute points and coefficient at new spacing using linear interpolation. Output DIA configuration when also lumping active.
If no redistribution is needed, then copy relevant data.
Definition at line 4149 of file mod_xnl4v5.f90.
References cple_loc, cple_mod, ds_loc, ds_mod, iq_err, iq_gauleg, iq_lump, iq_mod, iq_test, iq_xdia, jac_loc, jac_mod, k1x, k1y, k2a_mod, k2m_mod, k2x, k2y, k3x, k3y, k4a_mod, k4m_mod, k4x, k4y, luq_err, luq_tst, nlocus, nlocus0, nlocus1, q, q_error(), q_stack(), q_symmetry(), m_constants::rade, s_loc, s_mod, sym_loc, sym_mod, x2_loc, x2_mod, x4_loc, x4_mod, y2_loc, y2_mod, y4_loc, y4_mod, serv_xnl4v5::y_gauleg(), and serv_xnl4v5::z_intp1().
Referenced by q_makegrid().
| subroutine m_xnldata::q_polar2 | ( | real, intent(in) | kmin, |
| real, intent(in) | kmax, | ||
| real, intent(in) | kx_beg, | ||
| real, intent(in) | ky_beg, | ||
| real, intent(in) | kx_end, | ||
| real, intent(in) | ky_end, | ||
| real, intent(in) | loclen, | ||
| integer, intent(out) | ierr | ||
| ) |
Compute position of locus for given k1-k3 vector.
Explicit polar method, see Van Vledder 2000, Monterey paper. Optionally using a fixed k-step, geometric k-step or adaptive stepping.
| [in] | kmin | Minimum wave number on locus. |
| [in] | kmax | Maximum wave number on locus. |
| [in] | kx_beg | X-coordinate of begin point. |
| [in] | ky_beg | Y-coordinate of begin point. |
| [in] | kx_end | X-coordinate of end point. |
| [in] | ky_end | Y-coordinate of end point. |
| [in] | loclen | Estimated length of locus. |
| [out] | ierr | Error condition. |
Definition at line 4535 of file mod_xnl4v5.f90.
References a_pol, c_pol, dk0, iq_locus, k_pol, mlocus, nlocus0, nlocus1, pang, q_stack(), x2_loc, x_cosk(), y2_loc, and serv_xnl4v5::z_wnumb().
Referenced by q_cmplocus().
| subroutine m_xnldata::q_searchgrid | ( | real, intent(in) | depth, |
| integer, intent(out) | igrid | ||
| ) |
Search nearest valid grid, read grid file and scale factor.
Using the actual water depth all possible interaction grids are checked in upward and downward direction.
| [in] | depth | Depth for which grid file must be found. |
| [out] | igrid | Status of grid checking. |
Definition at line 5051 of file mod_xnl4v5.f90.
References a, id_facmax, iq_prt, iq_screen, iscreen, luq_prt, naq, nkq, q_a, q_ctrgrid(), q_depth, q_dscale(), q_error(), q_grav, q_maxdepth, q_mindepth, q_scale, q_sig, and q_stack().
Referenced by q_xnl4v4().
| subroutine m_xnldata::q_setconfig | ( | integer, intent(in) | iquad | ) |
Set settings for computing the nonlinear interactions.
Set optimal basic settings. Set some settings based on the value of IQUAD.
Based on the value of IQUAD a number of settings are preset. In the case the file [qbase].CFG exists, this file is analyzed and possibly some settings are reset.
| [in] | iquad | Indicator for a specific choice of settings for computing the nonlinear interactions. |
Definition at line 4795 of file mod_xnl4v5.f90.
References fqmax, fqmin, id_facmax, iq_compact, iq_cple, iq_disp, iq_dscale, iq_filt, iq_gauleg, iq_geom, iq_grid, iq_integ, iq_interp, iq_locus, iq_log, iq_lump, iq_make, iq_mod, iq_prt, iq_screen, iq_search, iq_sym, iq_t13, iq_test, iq_trace, iq_trf, iq_xdia, iscreen, iufind, luq_cfg, luq_err, luq_log, luq_prt, nlocus0, q_depth, q_dstep, q_error(), q_sector, q_stack(), qbase, qf_dmax, qf_frac, qf_krat, m_fileio::z_fileio(), and serv_xnl4v5::z_upper().
Referenced by xnl_init().
| subroutine m_xnldata::q_setversion |
Subroutine has automatically been written by MODULE5.
Source code options:S. Do not use m_xnldata.
Definition at line 5279 of file mod_xnl4v5.f90.
References q_version.
Referenced by xnl_init().
| subroutine m_xnldata::q_stack | ( | character(len=*), intent(in) | mod_name | ) |
Add or remove mod_name name from module stack.
Mod_name must be preceeded by a '+' , '-'.
The module name is pushed to the stack when preceeded by '+' and removed if mname starts with '-'.
In case an error is active,the module name is not removed from the stack if mname starts with a '-'. The module is always removed from the stack if mname starts with '!'.
| [in] | mod_name | Module name. |
Definition at line 5310 of file mod_xnl4v5.f90.
References cstack, iq_prt, iq_screen, iq_stack, iq_test, iq_trace, iscreen, luq_err, luq_prt, luq_tst, mq_stack, q_error(), and sub_name.
Referenced by q_allocate(), q_chkconfig(), q_chkcons(), q_cmplocus(), q_ctrgrid(), q_dscale(), q_getlocus(), q_init(), q_locpos(), q_makegrid(), q_modify(), q_polar2(), q_searchgrid(), q_setconfig(), q_summary(), q_symmetry(), q_t13v4(), q_weight(), q_xnl4v4(), and xnl_main().
| subroutine m_xnldata::q_summary |
Write summary of GurboQuad settings to print file.
Based on the value of IQUAD a number of settings are preset. In the case the file [qbase].CFG exists, this file is analyzed and possibly some settings are reset.
Definition at line 5431 of file mod_xnl4v5.f90.
References fqmax, fqmin, iq_compact, iq_cple, iq_disp, iq_dscale, iq_filt, iq_gauleg, iq_grid, iq_interp, iq_locus, iq_log, iq_lump, iq_make, iq_mod, iq_prt, iq_screen, iq_search, iq_sym, iq_test, iq_trace, iq_trf, iq_type, luq_prt, naq, nkq, nlocus0, q_depth, q_dstep, q_grav, q_stack(), qf_dmax, qf_frac, and qf_krat.
Referenced by xnl_init().
| subroutine m_xnldata::q_symmetry | ( | real, intent(in) | k1x, |
| real, intent(in) | k1y, | ||
| real, intent(in) | k3x, | ||
| real, intent(in) | k3y, | ||
| real, dimension(nloc), intent(in) | k4x, | ||
| real, dimension(nloc), intent(in) | k4y, | ||
| real, dimension(nloc), intent(out) | symfac, | ||
| integer, intent(in) | nloc | ||
| ) |
Compute symmetry factor to reduce integration.
Compute distance between k1 and k3, and between k4 and k1.
| [in] | k1x | X-component of wave number k1. |
| [in] | k1y | Y-component of wave number k1. |
| [in] | k3x | X-component of wave number k3. |
| [in] | k3y | Y-component of wave number k3. |
| [in] | k4x | X-components of wave number k4. |
| [in] | k4y | Y-components of wave number k4. |
| [out] | symfac | Symmetry factor. |
| [in] | nloc | Number of points in array with wave number. |
Definition at line 5649 of file mod_xnl4v5.f90.
References iq_sym, and q_stack().
Referenced by q_modify().
| subroutine m_xnldata::q_t13v4 | ( | integer, intent(in) | ik1, |
| integer, intent(in) | ia1, | ||
| integer, intent(in) | ik3, | ||
| integer, intent(in) | ia3, | ||
| real, intent(out) | t13, | ||
| real, intent(out) | diagk1, | ||
| real, intent(out) | diagk3 | ||
| ) |
Compute the function T13, defined as a line integral around a locus.
See Tracy and Resio (1982) and Van Vledder (1999).
| [in] | ik1 | Index of k-component of wave number k1 |
| [in] | ia1 | Index of a-component of wave number k1. |
| [in] | ik3 | Index of k-component of wave number k3. |
| [in] | ia3 | Index of a-component of wave number k3. |
| [out] | t13 | Value of line integral over a specific locus. |
| [out] | diagk1 | Contribution to diagonal term of k1. |
| [out] | diagk3 | Contribution to diagonal term of k3. |
Definition at line 5746 of file mod_xnl4v5.f90.
References iq_grid, naq, nkq, nlocusx, nspec, q_getlocus(), q_stack(), t_ia2, t_ia4, t_ik2, t_ik4, t_w1k2, t_w1k4, t_w2k2, t_w2k4, t_w3k2, t_w3k4, t_w4k2, t_w4k4, and t_zz.
Referenced by q_xnl4v4().
| subroutine m_xnldata::q_weight |
Compute interpolation weights of locus.
Compute position of wave number in wave number grid. Usable for linear interpolation.
Definition at line 5998 of file mod_xnl4v5.f90.
References iq_disp, iq_geom, iq_test, k2a_mod, k2m_mod, k4a_mod, k4m_mod, kqmin, nkq, nlocus, q_ang1, q_deltad, q_k, q_kfac, q_sk, q_stack(), qk_tail, wa_k2, wa_k4, wk_k2, wk_k4, wk_max, wt_k2, and wt_k4.
Referenced by q_makegrid().
| subroutine m_xnldata::q_xnl4v4 | ( | real, dimension(nsig,nang), intent(in) | aspec, |
| real, dimension(nsig), intent(in) | sigma, | ||
| real, dimension(nang), intent(in) | angle, | ||
| integer, intent(in) | nsig, | ||
| integer, intent(in) | nang, | ||
| real, intent(in) | depth, | ||
| real, dimension(nsig,nang), intent(out) | xnl, | ||
| real, dimension(nsig,nang), intent(out) | diag, | ||
| integer, intent(out) | ierr | ||
| ) |
Compute nonlinear transfer for a given action density spectrum on a given wave number and direction grid.
Compute nonlinear transfer in a surface gravity wave spectrum due to resonant four wave-wave interactions.
Methods: Webb/Resio/Tracy/VanVledder.
| [in] | aspec | Action density spectrum as a function of (sigma,theta). |
| [in] | sigma | Radian frequencies. |
| [in] | angle | Directions in radians (sector or full circle). |
| [in] | nsig | Number of radian frequencies. |
| [in] | nang | Number of directions. |
| [in] | depth | Water depth in m. |
| [out] | xnl | Nonlinear quadruplet interaction computed with a certain exact method (k,theta). |
| [out] | diag | Diagonal term for WAM based implicit integration scheme. |
| [out] | ierr | Error indicator. |
Definition at line 6373 of file mod_xnl4v5.f90.
References iaq1, iaq2, iaref, iq_err, iq_filt, iq_grid, iq_make, iq_screen, iq_search, iq_sym, iq_type, iscreen, naq, nkq, nspec, q_ad, q_ctrgrid(), q_delta, q_depth, q_dk, q_error(), q_grav, q_init(), q_k, q_kpow, q_maxdepth, q_scale, q_searchgrid(), q_stack(), q_t13v4(), qf_dmax, qf_frac, qf_krat, and serv_xnl4v5::z_cmpcg().
Referenced by xnl_main().
| real function m_xnldata::tanz | ( | real | x | ) |
N/A.
| x |
Definition at line 7809 of file mod_xnl4v5.f90.
Referenced by xc_hh().
| real function m_xnldata::x_cosk | ( | real, intent(in) | k | ) |
Compute cosine of points on locus for given wave number k.
Explicit polar method, see Van Vledder 2000, Monterey paper. Optionally using a fixed k-step, geometric k-step or adaptive stepping.
| k | Wave number along symmetry axis of locus. |
Definition at line 6753 of file mod_xnl4v5.f90.
References iq_disp, pmag, q, q_depth, q_grav, x_disper(), and serv_xnl4v5::z_wnumb().
Referenced by q_polar2().
| real function m_xnldata::x_cple | ( | real, intent(in) | k1x, |
| real, intent(in) | k1y, | ||
| real, intent(in) | k2x, | ||
| real, intent(in) | k2y, | ||
| real, intent(in) | k3x, | ||
| real, intent(in) | k3y, | ||
| real, intent(in) | k4x, | ||
| real, intent(in) | k4y, | ||
| integer, intent(in) | iq_cple, | ||
| real, intent(in) | depth, | ||
| real, intent(in) | grav | ||
| ) |
Compute coupling coefficient between a quadruplet of interacting wave numbers.
| k1x | X-component of wave number k1. |
| k1y | Y-component of wave number k1. |
| k2x | X-component of wave number k2. |
| k2y | Y-component of wave number k2. |
| k3x | X-component of wave number k3. |
| k3y | Y-component of wave number k3. |
| k4x | X-component of wave number k4. |
| k4y | Y-component of wave number k4. |
| iq_cple | Type of coupling coefficient. |
| depth | Water depth in meters. |
| grav | Gravitational acceleration. |
Definition at line 6855 of file mod_xnl4v5.f90.
References iq_cple, k1x, k1y, k2x, k2y, k3x, k3y, k4x, k4y, xc_hh(), and xc_webb().
Referenced by q_cmplocus().
| real function m_xnldata::x_disper | ( | real, intent(in) | k, |
| real, intent(in) | d | ||
| ) |
Compute radian frequency for a given wave number and water depth.
Depending on the value of the parameter iq_disp the radian
wave number is computed as:
1) deep water
2) finite depth linear dispersion relation
3) finited depth non-linear dispersion relation (NOT YET implemented)| k | Wave number. |
| d | Water depth in m. |
Definition at line 7191 of file mod_xnl4v5.f90.
References iq_disp, and q_grav.
Referenced by q_chkres(), q_cmplocus(), x_cosk(), x_flocus(), x_locus1(), and x_locus2().
| real function m_xnldata::x_flocus | ( | real, intent(in) | kxx, |
| real, intent(in) | kyy | ||
| ) |
Compute locus function used for the determination of the resonance condition.
Explicit function evaluation.
| kxx | X-component of wave number. |
| kyy | Y-component of wave number. |
Definition at line 6965 of file mod_xnl4v5.f90.
References iq_disp, px, py, q, q_depth, m_constants::sqrtg, and x_disper().
Referenced by q_locpos().
| real function m_xnldata::x_jacobian | ( | real, intent(in) | x2, |
| real, intent(in) | y2, | ||
| real, intent(in) | x4, | ||
| real, intent(in) | y4 | ||
| ) |
Compute gradient/Jacobian term for a given point on the locus.
Explicit expressions for gradient term. Using expression of Rasmussen (1998). J = |cg2-cg4|.
| x2 | X-component of wave number k2. |
| y2 | Y-component of wave number k2. |
| x4 | X-component of wave number k4. |
| y4 | Y-component of wave number k4. |
Definition at line 7073 of file mod_xnl4v5.f90.
References q_depth, and q_grav.
Referenced by q_cmplocus().
| real function m_xnldata::x_locus1 | ( | real, intent(in) | k2 | ) |
Compute locus function along symmetry axis.
See ALKYON, 1999.
| k2 | Magnitude of wave number k2. |
Definition at line 7286 of file mod_xnl4v5.f90.
References iq_disp, pmag, q, q_depth, m_constants::sqrtg, and x_disper().
Referenced by q_locpos().
| real function m_xnldata::x_locus2 | ( | real, intent(in) | lambda | ) |
Compute locus function perpendicluar to symmetry axis.
See ALKYON, 1999.
| lambda |
Definition at line 7382 of file mod_xnl4v5.f90.
References iq_disp, kmidx, kmidy, px, py, q, q_depth, m_constants::sqrtg, and x_disper().
Referenced by q_locpos().
| real function m_xnldata::xc_hh | ( | real | w1x0, |
| real | w1y0, | ||
| real | w2x0, | ||
| real | w2y0, | ||
| real | w3x0, | ||
| real | w3y0, | ||
| real | z4x, | ||
| real | z4y, | ||
| real | h | ||
| ) |
| real function m_xnldata::xc_webb | ( | real, intent(in) | k1x, |
| real, intent(in) | k1y, | ||
| real, intent(in) | k2x, | ||
| real, intent(in) | k2y, | ||
| real, intent(in) | k3x, | ||
| real, intent(in) | k3y, | ||
| real, intent(in) | k4x, | ||
| real, intent(in) | k4y, | ||
| real, intent(in) | grav | ||
| ) |
Compute deep water coupling coefficient for non-linear quadruplet interactions.
Webb (1978) and modified and corrected by Dungey and Hui (1979).
| k1x | X-component of wave number k1. |
| k1y | Y-component of wave number k1. |
| k2x | X-component of wave number k2. |
| k2y | Y-component of wave number k2. |
| k3x | X-component of wave number k3. |
| k3y | Y-component of wave number k3. |
| k4x | X-component of wave number k4. |
| k4y | Y-component of wave number k4. |
| grav | gravitational acceleration m/s^2. |
Definition at line 7856 of file mod_xnl4v5.f90.
References k1x, k1y, k2x, k2y, k3x, k3y, k4x, and k4y.
Referenced by x_cple().
| subroutine m_xnldata::xnl_init | ( | real, dimension(nsigma), intent(in) | sigma, |
| real, dimension(ndir), intent(in) | dird, | ||
| integer, intent(in) | nsigma, | ||
| integer, intent(in) | ndir, | ||
| real, intent(in) | pftail, | ||
| real, intent(in) | x_grav, | ||
| real, dimension(ndepth), intent(in) | depth, | ||
| integer, intent(in) | ndepth, | ||
| integer, intent(in) | iquad, | ||
| integer, intent(in) | iqgrid, | ||
| integer, intent(in) | iproc, | ||
| integer, intent(out) | ierr | ||
| ) |
Initialize coefficients, integration space, file i/o for computation nonlinear quadruplet wave-wave interaction.
Set version number. Set unit unit numbers. Open quad related files. Optionally reset configuration by a back door option. Compute integration spaces for given water depths.
| [in] | sigma | Radian frequencies |
| [in] | dird | Directions (degrees) |
| [in] | nsigma | Number of sigma values |
| [in] | ndir | Number of directions |
| [in] | pftail | power of spectral tail, e.g. -4 or -5 |
| [in] | x_grav | gravitational acceleration |
| [in] | depth | depths for which integration space must be computed |
| [in] | ndepth | Number of water depths |
| [in] | iquad | Type of method for computing nonlinear interactions |
| [in] | iqgrid | Type of grid for computing nonlinear interactions |
| [in] | iproc | Processor number, controls output file for MPI |
| [out] | ierr | Error indicator. If no errors are detected IERR=0 |
Definition at line 465 of file mod_xnl4v5.f90.
References fqmax, fqmin, iq_err, iq_gauleg, iq_grid, iq_interp, iq_log, iq_lump, iq_prt, iq_screen, iq_stack, iq_test, iq_trace, iq_type, iscreen, iufind, klocus, lastquadfile, luq_bqf, luq_cfg, luq_err, luq_fil, luq_grd, luq_int, luq_loc, luq_log, luq_prt, luq_t13, luq_trf, luq_tst, luq_txt, naq, nkq, nlocus0, m_constants::pi, q_allocate(), q_chkconfig(), q_ctrgrid(), q_depth, q_dird1, q_dird2, q_dstep, q_error(), q_grav, q_init(), q_maxdepth, q_mindepth, q_setconfig(), q_setversion(), q_summary(), q_version, qbase, qf_error, qf_tail, and m_fileio::z_fileio().
Referenced by w3snl2md::insnl2().
| subroutine m_xnldata::xnl_main | ( | real, dimension(nsig,ndir), intent(in) | aspec, |
| real, dimension(nsig), intent(in) | sigma, | ||
| real, dimension(ndir), intent(in) | angle, | ||
| integer, intent(in) | nsig, | ||
| integer, intent(in) | ndir, | ||
| real, intent(in) | depth, | ||
| integer, intent(in) | iquad, | ||
| real, dimension(nsig,ndir), intent(out) | xnl, | ||
| real, dimension(nsig,ndir), intent(out) | diag, | ||
| integer, intent(in) | iproc, | ||
| integer, intent(out) | ierr | ||
| ) |
Compute nonlinear transfer for a given action density spectrum on a given sigma and direction grid (Webb/Resio/Tracy/Van Vledder).
| [in] | aspec | Action density spectrum as a function of (sigma,theta) |
| [in] | sigma | radian frequencies |
| [in] | angle | directions in radians (sector or full circle) |
| [in] | nsig | number of frequencies (sigma) |
| [in] | ndir | number of directions |
| [in] | depth | water depth |
| [in] | iquad | method of computing nonlinear quadruplet interactions |
| [out] | xnl | nonlinear quadruplet interaction computed with a certain exact method (k,theta) |
| [out] | diag | diagonal term for semi-implicit integration |
| [in] | iproc | MPI processor number |
| [out] | ierr | error indicator |
Definition at line 810 of file mod_xnl4v5.f90.
References a, iq_dscale, iq_err, iq_log, iq_prt, iq_stack, iq_warn, luq_log, luq_prt, q_chkcons(), q_depth, q_dscale(), q_error(), q_grav, q_mindepth, q_stack(), and q_xnl4v4().
Referenced by w3snl2md::w3snl2().
| real, dimension(:,:), allocatable m_xnldata::a |
Action density on wave number grid A(sigma,theta)
Definition at line 358 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_searchgrid(), and xnl_main().
| real, dimension(:), allocatable m_xnldata::a_pol |
angles of polar locus
Definition at line 289 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_polar2().
| character(len=13) m_xnldata::aqname |
| character(len=13) m_xnldata::bqname |
name of binary quadruplet grid file
Definition at line 193 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), and q_makegrid().
| real, dimension(:), allocatable m_xnldata::c_pol |
cosines during polar generation of locus
Definition at line 288 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_polar2().
| real, dimension(:), allocatable m_xnldata::cple_loc |
coupling coefficient around locus
Definition at line 284 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_cmplocus(), and q_modify().
| real, dimension(:), allocatable m_xnldata::cple_mod |
coupling coefficient around locus
Definition at line 301 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_modify().
| real m_xnldata::crf1 |
estimated circumference of locus
Definition at line 380 of file mod_xnl4v5.f90.
Referenced by q_makegrid().
| character(len=21), dimension(mq_stack) m_xnldata::cstack |
Stack with module names.
Definition at line 376 of file mod_xnl4v5.f90.
| real m_xnldata::dk0 |
components of initial wave number of locus,
Definition at line 226 of file mod_xnl4v5.f90.
Referenced by q_polar2().
| real, dimension(:), allocatable m_xnldata::ds_loc |
step size around locus
Definition at line 282 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_cmplocus(), and q_modify().
| real, dimension(:), allocatable m_xnldata::ds_mod |
step size around locus
Definition at line 299 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_modify().
| real, dimension(:), allocatable m_xnldata::dt13 |
| real m_xnldata::eps_k |
absolute accuracy for equality check of k
Definition at line 372 of file mod_xnl4v5.f90.
Referenced by q_init().
| real m_xnldata::eps_q |
absolute accuracy for check of Q
Definition at line 371 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), and q_init().
| real m_xnldata::fqmax |
highest frequency in Hz
Definition at line 207 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_init(), q_setconfig(), q_summary(), and xnl_init().
| real m_xnldata::fqmin |
lowest frequency in Hz
Definition at line 206 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_init(), q_setconfig(), q_summary(), and xnl_init().
| integer m_xnldata::ia_k1 |
| integer m_xnldata::ia_k3 |
| integer m_xnldata::iag1 |
Definition at line 388 of file mod_xnl4v5.f90.
Referenced by q_init(), and q_makegrid().
| integer m_xnldata::iag2 |
range of directions for precomputed interaction grid
Definition at line 388 of file mod_xnl4v5.f90.
Referenced by q_init(), and q_makegrid().
| integer m_xnldata::iamax |
maximum difference in indices for sector grids
Definition at line 386 of file mod_xnl4v5.f90.
Referenced by q_getlocus(), and q_init().
| integer m_xnldata::iaq1 |
Definition at line 387 of file mod_xnl4v5.f90.
Referenced by q_init(), q_makegrid(), and q_xnl4v4().
| integer m_xnldata::iaq2 |
indices of do-loop for directions
Definition at line 387 of file mod_xnl4v5.f90.
Referenced by q_init(), and q_xnl4v4().
| integer m_xnldata::iaref |
index of first angle of reference wave numbers
Definition at line 385 of file mod_xnl4v5.f90.
Referenced by q_getlocus(), q_init(), q_makegrid(), and q_xnl4v4().
| integer m_xnldata::id_facmax |
Factor for determining range of depth search (Q_SEARCHGRID)
Definition at line 363 of file mod_xnl4v5.f90.
Referenced by q_searchgrid(), and q_setconfig().
| integer m_xnldata::ik_k1 |
indices of main loop variables
Definition at line 203 of file mod_xnl4v5.f90.
Referenced by q_makegrid().
| integer m_xnldata::ik_k3 |
indices of main loop variables
Definition at line 204 of file mod_xnl4v5.f90.
Referenced by q_makegrid().
| integer m_xnldata::iq_compact |
switch to compact data == 0, do not compact == 1, compact data by elimiting zero contribution along locus
Definition at line 78 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_makegrid(), q_setconfig(), and q_summary().
| integer m_xnldata::iq_cple |
type of coupling coefficient == 1, deep water coefficient of Webb == 2, deep water coefficient of Zakharov == 3, finite depth coefficient of Hasselmann & Herterich == 4, finite depth coefficient of Zakharov == 5, finite depth coefficient of Lin & Perrie
Definition at line 82 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_cmplocus(), q_ctrgrid(), q_setconfig(), q_summary(), and x_cple().
| integer m_xnldata::iq_disp |
type of dispersion relation, viz.
depth dependency == 1, deep water, possibly with geometric scaling == 2, linear dispersion relation, w^2 = g.k.tanh(kd) == 3, nonlinear dispersion relation
Definition at line 89 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_ctrgrid(), q_locpos(), q_makegrid(), q_setconfig(), q_summary(), q_weight(), x_cosk(), x_disper(), x_flocus(), x_locus1(), and x_locus2().
| integer m_xnldata::iq_dscale |
switch to activate depth scaling according to Herterich and Hasselmann == 0, No depth scaling == 1, depth scaling activated
Definition at line 94 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_setconfig(), q_summary(), and xnl_main().
| integer m_xnldata::iq_err |
counts the number of errors if no error occurred, IQ_ERR = 0 for each occuring error, iq_err is incremented errors are always terminating routine Q_ERROR handles the reporting on the error
Definition at line 422 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_ctrgrid(), q_error(), q_makegrid(), q_modify(), q_xnl4v4(), xnl_init(), and xnl_main().
| integer m_xnldata::iq_filt |
switch to activate filtering in wave number space ==0, no filtering ==1, filtering activated
Definition at line 99 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_setconfig(), q_summary(), and q_xnl4v4().
| integer m_xnldata::iq_gauleg |
switch for Gauss-Legendre interpolation == 0, No Gauss-Legendre, default
0 Gauss-Legendre, iq_gauleg is number of points
Definition at line 103 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_modify(), q_setconfig(), q_summary(), and xnl_init().
| integer m_xnldata::iq_geom |
type of scaling == 0, no geometric scaling, only directional scaling of loci == 1, geometric scaling using Resio/Tracy method only possible in the case IQ_DISP=1
Definition at line 107 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkconfig(), q_ctrgrid(), q_getlocus(), q_makegrid(), q_setconfig(), and q_weight().
| integer m_xnldata::iq_grid |
type of spectral grid == 1, sector & symmetric around zero == 2, sector & symmetric around zero & non-symmetric == 3, full circle & non-symmetric
Definition at line 112 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_ctrgrid(), q_getlocus(), q_init(), q_setconfig(), q_summary(), q_t13v4(), q_xnl4v4(), and xnl_init().
| integer m_xnldata::iq_integ |
option to output integration results ==0 no output of integration ==1 only sum per locus ==2 also information per point on locus ==3 only basic line integrals
Definition at line 117 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), and q_setconfig().
| integer m_xnldata::iq_interp |
type of interpolation to retrieve action density == 1, bi-linear interpolation in discrete spectrum (default) == 2, take nearest bins, on the basis of maximum weight
Definition at line 123 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_ctrgrid(), q_setconfig(), q_summary(), and xnl_init().
| integer m_xnldata::iq_locus |
Option for computation of locus ==1, explicit polar method with fixed k-step ==2, explicit polar method with adpative k-stepping ==3, explicit polar method with geometric k-spacing.
Definition at line 127 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_ctrgrid(), q_polar2(), q_setconfig(), and q_summary().
| integer m_xnldata::iq_log |
switch to activate logging to file QBASE//.LOG == 0, No print output == 1, print output
Definition at line 132 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkconfig(), q_ctrgrid(), q_error(), q_makegrid(), q_setconfig(), q_summary(), xnl_init(), and xnl_main().
| integer m_xnldata::iq_lump |
switch to activate lumping on locus == 0, No lumping == 1, Lumping along locus
Definition at line 136 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_modify(), q_setconfig(), q_summary(), and xnl_init().
| integer m_xnldata::iq_make |
option to make quadruplet grid == 1, make when needed (default) == 2, always make quadruplet grid == 3, only make grid file
Definition at line 140 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_ctrgrid(), q_setconfig(), q_summary(), and q_xnl4v4().
| integer m_xnldata::iq_mod |
option to redistribute points on locus == 0, Points will be used as computed by tracing algortihm == 1, Equi-distant spacing on points along locus (NLOC1)
Definition at line 145 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_modify(), q_setconfig(), and q_summary().
| integer m_xnldata::iq_prt |
switch to activate print output, to file QBASE//.PRT == 0, No print output == 1, print output
Definition at line 149 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_ctrgrid(), q_init(), q_makegrid(), q_searchgrid(), q_setconfig(), q_stack(), q_summary(), xnl_init(), and xnl_main().
| integer m_xnldata::iq_screen |
option to send output to the screen == 0, no output is send to screen == 1, output is send to screen
Definition at line 157 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_makegrid(), q_searchgrid(), q_setconfig(), q_stack(), q_summary(), q_xnl4v4(), and xnl_init().
| integer m_xnldata::iq_search |
switch to determine search for a proper grid == 0, no search is carried out == 1, search nearest (relative) interaction grid
Definition at line 153 of file mod_xnl4v5.f90.
Referenced by q_setconfig(), q_summary(), and q_xnl4v4().
| integer m_xnldata::iq_stack |
Sequence number of stack with subroutine calls.
Definition at line 375 of file mod_xnl4v5.f90.
Referenced by q_error(), q_stack(), xnl_init(), and xnl_main().
| integer m_xnldata::iq_sym |
switch to activate use of symmetry reduction == 0, no symmetries are used == 1, symmetry activated (default)
Definition at line 161 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_setconfig(), q_summary(), q_symmetry(), and q_xnl4v4().
| integer m_xnldata::iq_t13 |
option to output T13 integration ==0, no output ==1, test output of T13 per locus
Definition at line 179 of file mod_xnl4v5.f90.
Referenced by q_setconfig().
| integer m_xnldata::iq_test |
test level, output is directed to unit luqtst == 0, no test output == 1, output of basic I/O == 2, extensive test output
Definition at line 165 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_cmplocus(), q_locpos(), q_makegrid(), q_modify(), q_setconfig(), q_stack(), q_summary(), q_weight(), and xnl_init().
| integer m_xnldata::iq_trace |
trace option == 0, no trace of subroutine calls
0, maximum number of traces per subroutine
< 0, as for >0 but now output is send to the screen
Definition at line 170 of file mod_xnl4v5.f90.
Referenced by q_setconfig(), q_stack(), q_summary(), and xnl_init().
| integer m_xnldata::iq_trf |
option to print transformed loci to special output file == 0, no output to data file unit luqtrf == 1, test output from routine Q_GETLOCUS
Definition at line 175 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_setconfig(), and q_summary().
| integer m_xnldata::iq_type |
method for computing the nonlinear interactions depending on the value of iq_type a number of settings for other processes or schematizations are set in Q_COMPU iq_type==1: deep water, symmetric spectrum, Webb coupling coefficient 2: deep water computation with WAM depth scaling based on Herterich and Hasselmann (1980) 3: finite depth transfer
Definition at line 414 of file mod_xnl4v5.f90.
Referenced by q_summary(), q_xnl4v4(), and xnl_init().
| integer m_xnldata::iq_warn |
counts the number of warnings
Definition at line 428 of file mod_xnl4v5.f90.
Referenced by q_error(), and xnl_main().
| integer m_xnldata::iq_xdia |
switch to activate output to extended DIA data file == 0, no output
0, output to data file, but only when lumping is also
activated
Definition at line 183 of file mod_xnl4v5.f90.
Referenced by q_modify(), and q_setconfig().
| integer m_xnldata::iscreen |
identifier for screen, set in XNL_INIT
Definition at line 46 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_makegrid(), q_searchgrid(), q_setconfig(), q_stack(), q_xnl4v4(), and xnl_init().
| integer m_xnldata::iufind |
Specifies handling of unit numbers, see Z_FILEIO.
Definition at line 45 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_error(), q_setconfig(), and xnl_init().
| real, dimension(:), allocatable m_xnldata::jac_loc |
jacobian term around locus
Definition at line 283 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_cmplocus(), and q_modify().
| real, dimension(:), allocatable m_xnldata::jac_mod |
jacobian term around locus
Definition at line 300 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_modify().
| real m_xnldata::k0x |
Definition at line 226 of file mod_xnl4v5.f90.
| real m_xnldata::k0y |
Definition at line 226 of file mod_xnl4v5.f90.
| real m_xnldata::k1x |
Definition at line 228 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_makegrid(), q_modify(), x_cple(), xc_hh(), and xc_webb().
| real m_xnldata::k1y |
components of k1 wave number
Definition at line 228 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_makegrid(), q_modify(), x_cple(), xc_hh(), and xc_webb().
| real, dimension(:), allocatable m_xnldata::k2a_mod |
k2 angle around locus
Definition at line 305 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_modify(), and q_weight().
| real, dimension(:), allocatable m_xnldata::k2m_mod |
k2 magnitude around locus
Definition at line 304 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_modify(), and q_weight().
| real m_xnldata::k2x |
Definition at line 229 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_modify(), x_cple(), xc_hh(), and xc_webb().
| real m_xnldata::k2y |
components of k2 wave number
Definition at line 229 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_modify(), x_cple(), xc_hh(), and xc_webb().
| real m_xnldata::k3x |
Definition at line 230 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_makegrid(), q_modify(), x_cple(), xc_hh(), and xc_webb().
| real m_xnldata::k3y |
components of k3 wave number
Definition at line 230 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_makegrid(), q_modify(), x_cple(), xc_hh(), and xc_webb().
| real, dimension(:), allocatable m_xnldata::k4a_mod |
k4 angle around locus
Definition at line 307 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_modify(), and q_weight().
| real, dimension(:), allocatable m_xnldata::k4m_mod |
k4 magnitude around locus
Definition at line 306 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_modify(), and q_weight().
| real m_xnldata::k4x |
Definition at line 231 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_modify(), x_cple(), and xc_webb().
| real m_xnldata::k4y |
components of k4 wave number
Definition at line 231 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_modify(), x_cple(), and xc_webb().
| real, dimension(:), allocatable m_xnldata::k_pol |
wave numbers during polar generation of locus
Definition at line 287 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_polar2().
| integer m_xnldata::klocus |
number of points on locus as stored in quadruplet database based on nlocus0, iq_gauleg and iq_lump (without compacting) used in Q_ALLOCATE to define size of data arrays
Definition at line 216 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkconfig(), and xnl_init().
| real m_xnldata::kmax_loc |
maximum wave number of locus along symmetry axis
Definition at line 239 of file mod_xnl4v5.f90.
| real m_xnldata::kmid |
wave number at midpoint of locus along symmetry axis
Definition at line 240 of file mod_xnl4v5.f90.
Referenced by q_locpos().
| real m_xnldata::kmidx |
x-component of wave number at midpoint of locus along symmetry axis
Definition at line 241 of file mod_xnl4v5.f90.
Referenced by q_locpos(), and x_locus2().
| real m_xnldata::kmidy |
y-component of wave number at midpoint of locus along symmetry axis
Definition at line 242 of file mod_xnl4v5.f90.
Referenced by q_locpos(), and x_locus2().
| real m_xnldata::kmin_loc |
minimum wave number of locus along symmetry axis
Definition at line 238 of file mod_xnl4v5.f90.
| real m_xnldata::kqmax |
| real m_xnldata::kqmin |
lowest wave number
Definition at line 222 of file mod_xnl4v5.f90.
Referenced by q_init(), and q_weight().
| real m_xnldata::krefx |
| real m_xnldata::krefy |
components of reference wave number for quad-grid
Definition at line 227 of file mod_xnl4v5.f90.
Referenced by q_makegrid().
| character(len=13) m_xnldata::lastquadfile |
name of last retrieved BQF file
Definition at line 194 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_makegrid(), and xnl_init().
| real m_xnldata::loc_area |
area of locus, measured in (kx-ky)- space
Definition at line 244 of file mod_xnl4v5.f90.
| real m_xnldata::loc_crf |
circumference of locus in (kx,ky)-space
Definition at line 243 of file mod_xnl4v5.f90.
| real m_xnldata::loc_xz |
x-coordinate of center of gravity of locus in (kx,ky)-space
Definition at line 245 of file mod_xnl4v5.f90.
| real m_xnldata::loc_yz |
y-coordinate of center of gravity of locus in (kx,ky)-space
Definition at line 246 of file mod_xnl4v5.f90.
| logical m_xnldata::lq_grid |
flag to make (new) interaction grid
Definition at line 197 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid().
| integer m_xnldata::luq_bqf |
binary file storing and retrieving precomputed loci
Definition at line 50 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_makegrid(), and xnl_init().
| integer m_xnldata::luq_cfg |
user defined configuration
Definition at line 51 of file mod_xnl4v5.f90.
Referenced by q_setconfig(), and xnl_init().
| integer m_xnldata::luq_err |
file with error messages
Definition at line 52 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_cmplocus(), q_ctrgrid(), q_error(), q_modify(), q_setconfig(), q_stack(), and xnl_init().
| integer m_xnldata::luq_fil |
| integer m_xnldata::luq_grd |
ASCII file storing and retrieving precomputed loci.
Definition at line 54 of file mod_xnl4v5.f90.
Referenced by xnl_init().
| integer m_xnldata::luq_int |
test file for test output of integration
Definition at line 55 of file mod_xnl4v5.f90.
Referenced by xnl_init().
| integer m_xnldata::luq_loc |
statistics about computed loci
Definition at line 56 of file mod_xnl4v5.f90.
Referenced by xnl_init().
| integer m_xnldata::luq_log |
logging
Definition at line 57 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_error(), q_makegrid(), q_setconfig(), xnl_init(), and xnl_main().
| integer m_xnldata::luq_prt |
general print file for quadruplets
Definition at line 58 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_init(), q_makegrid(), q_searchgrid(), q_setconfig(), q_stack(), q_summary(), xnl_init(), and xnl_main().
| integer m_xnldata::luq_t13 |
| integer m_xnldata::luq_trf |
testing transformation of loci
Definition at line 59 of file mod_xnl4v5.f90.
Referenced by xnl_init().
| integer m_xnldata::luq_tst |
test file for quadruplets
Definition at line 60 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_locpos(), q_modify(), q_stack(), and xnl_init().
| integer m_xnldata::luq_txt |
reading (error) text file
Definition at line 61 of file mod_xnl4v5.f90.
Referenced by q_error(), and xnl_init().
| integer m_xnldata::mlocus |
maximum number of points on locus for defining arrays
Definition at line 213 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_polar2().
| integer, parameter m_xnldata::mq_stack =10 |
maximum number of elements in stack
Definition at line 211 of file mod_xnl4v5.f90.
Referenced by q_stack().
| integer m_xnldata::naq |
number of angles of quad-grad
Definition at line 200 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkconfig(), q_chkcons(), q_ctrgrid(), q_getlocus(), q_init(), q_makegrid(), q_searchgrid(), q_summary(), q_t13v4(), q_xnl4v4(), and xnl_init().
| integer m_xnldata::ncirc |
number of angles on a full circle
Definition at line 201 of file mod_xnl4v5.f90.
Referenced by q_init().
| real, dimension(:), allocatable m_xnldata::nk1d |
Internal 1d action density spectrum N(k)
Definition at line 360 of file mod_xnl4v5.f90.
Referenced by q_allocate().
| integer m_xnldata::nkq |
number of wave numbers of quad-grid
Definition at line 199 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkconfig(), q_chkcons(), q_ctrgrid(), q_getlocus(), q_init(), q_makegrid(), q_searchgrid(), q_summary(), q_t13v4(), q_weight(), q_xnl4v4(), and xnl_init().
| integer m_xnldata::nlocus |
number of points on locus, equal to klocus
Definition at line 219 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_makegrid(), q_modify(), and q_weight().
| integer m_xnldata::nlocus0 |
preferred number of points on locus
Definition at line 214 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkconfig(), q_cmplocus(), q_ctrgrid(), q_modify(), q_polar2(), q_setconfig(), q_summary(), and xnl_init().
| integer m_xnldata::nlocus1 |
number of points on locus as computed in Q_CMPLOCUS
Definition at line 215 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_modify(), and q_polar2().
| integer m_xnldata::nlocusx |
number of points on locus for use in computation (nlocusx <= nlocus)
Definition at line 220 of file mod_xnl4v5.f90.
Referenced by q_getlocus(), and q_t13v4().
| real, dimension(:,:), allocatable m_xnldata::nspec |
Action density on wave number grid N(kx,ky)
Definition at line 359 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_t13v4(), and q_xnl4v4().
| real m_xnldata::pang |
angle related of P-vector, Pang = atan2(py,px), (radians)
Definition at line 234 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_locpos(), and q_polar2().
| real m_xnldata::pmag |
magnitude of P-vector
Definition at line 233 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_locpos(), x_cosk(), and x_locus1().
| real m_xnldata::px |
Definition at line 232 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_locpos(), x_flocus(), and x_locus2().
| real m_xnldata::py |
components of difference k1-k3 wave number
Definition at line 232 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_locpos(), x_flocus(), and x_locus2().
| real m_xnldata::q |
difference of radian frequencies, used in Resio-Tracy method
Definition at line 237 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_locpos(), q_modify(), x_cosk(), x_flocus(), x_locus1(), and x_locus2().
| real, dimension(:), allocatable m_xnldata::q_a |
directions of quadruplet grid in radians
Definition at line 356 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkcons(), q_init(), and q_searchgrid().
| real, dimension(:), allocatable m_xnldata::q_ad |
directions of quadruplet grid in degrees
Definition at line 357 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), q_init(), q_makegrid(), and q_xnl4v4().
| real m_xnldata::q_ang1 |
Definition at line 389 of file mod_xnl4v5.f90.
Referenced by q_init(), and q_weight().
| real m_xnldata::q_ang2 |
lower and upper angle of grid in degrees
Definition at line 389 of file mod_xnl4v5.f90.
Referenced by q_init().
| real, dimension(:), allocatable m_xnldata::q_cg |
group velocity (m/s)
Definition at line 355 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_init().
| real m_xnldata::q_delta |
directional spacing of angular grid in radians
Definition at line 390 of file mod_xnl4v5.f90.
Referenced by q_chkcons(), q_init(), and q_xnl4v4().
| real m_xnldata::q_deltad |
directional spacing of angular grid in degrees
Definition at line 391 of file mod_xnl4v5.f90.
Referenced by q_getlocus(), q_init(), and q_weight().
| real m_xnldata::q_depth |
local water depth in m
Definition at line 365 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_ctrgrid(), q_init(), q_makegrid(), q_searchgrid(), q_setconfig(), q_summary(), q_xnl4v4(), x_cosk(), x_flocus(), x_jacobian(), x_locus1(), x_locus2(), xnl_init(), and xnl_main().
| real, dimension(:), allocatable m_xnldata::q_df |
step size of frequency grid
Definition at line 352 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_init().
| real m_xnldata::q_dird1 |
Definition at line 364 of file mod_xnl4v5.f90.
Referenced by q_init(), and xnl_init().
| real m_xnldata::q_dird2 |
first and last direction of host model (via XNL_INIT) degrees
Definition at line 364 of file mod_xnl4v5.f90.
Referenced by q_init(), and xnl_init().
| real, dimension(:), allocatable m_xnldata::q_dk |
width of wave number bins [1/m]
Definition at line 349 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkcons(), q_init(), and q_xnl4v4().
| real, dimension(:), allocatable m_xnldata::q_dsig |
step size of radian frequency grid
Definition at line 354 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_init().
| real m_xnldata::q_dstep |
step size for generating BQF files
Definition at line 209 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_setconfig(), q_summary(), and xnl_init().
| real, dimension(:), allocatable m_xnldata::q_f |
frequencies accociated to wave number/depth
Definition at line 351 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_init().
| real m_xnldata::q_ffac |
geometric factor between subsequent frequencies
Definition at line 393 of file mod_xnl4v5.f90.
Referenced by q_init().
| real m_xnldata::q_grav |
gravitational acceleration (Earth = 9.81 m/s^2)
Definition at line 66 of file mod_xnl4v5.f90.
Referenced by q_cmplocus(), q_init(), q_searchgrid(), q_summary(), q_xnl4v4(), x_cosk(), x_disper(), x_jacobian(), xnl_init(), and xnl_main().
| character(len=21) m_xnldata::q_header |
header of Binary Quadruplet File as intended in BQF-file
Definition at line 195 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), and q_makegrid().
| real, dimension(:), allocatable m_xnldata::q_k |
wave number grid [1/m]
Definition at line 348 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkcons(), q_init(), q_makegrid(), q_weight(), and q_xnl4v4().
| real m_xnldata::q_kfac |
geometric factor between subsequent wave numbers (only valid for IQ_IDISP==1)
Definition at line 394 of file mod_xnl4v5.f90.
Referenced by q_getlocus(), q_init(), and q_weight().
| real, dimension(:), allocatable m_xnldata::q_kpow |
wave number to a certain power, used in filtering
Definition at line 350 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_init(), and q_xnl4v4().
| real m_xnldata::q_lambda |
geometric scaling factor for 'deep' water loci
Definition at line 368 of file mod_xnl4v5.f90.
| real m_xnldata::q_maxdepth |
maximum water depth, set in XNL_INIT, used in Q_CTRGRID
Definition at line 366 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid(), q_searchgrid(), q_xnl4v4(), and xnl_init().
| real m_xnldata::q_mindepth |
minimum water depth, set in XNL_INIT, used in Q_CTRGRID
Definition at line 367 of file mod_xnl4v5.f90.
Referenced by q_searchgrid(), xnl_init(), and xnl_main().
| real m_xnldata::q_scale |
additional scale factor resulting from SEARCH for neasrest grid
Definition at line 369 of file mod_xnl4v5.f90.
Referenced by q_searchgrid(), and q_xnl4v4().
| real m_xnldata::q_sector |
half plane width in degrees (for iq_grid=1,2)
Definition at line 208 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_init(), and q_setconfig().
| real, dimension(:), allocatable m_xnldata::q_sig |
radian frequencies associated to wave number/depth
Definition at line 353 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_chkcons(), q_ctrgrid(), q_init(), q_makegrid(), and q_searchgrid().
| real, dimension(:), allocatable m_xnldata::q_sk |
step size of extended wave number array
Definition at line 345 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_init(), and q_weight().
| character(len=60) m_xnldata::q_version |
version string
Definition at line 39 of file mod_xnl4v5.f90.
Referenced by q_error(), q_setversion(), and xnl_init().
| real, dimension(:), allocatable m_xnldata::q_xk |
extended wave number array starting at index 0
Definition at line 344 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_init().
| character(len=20) m_xnldata::qbase |
base name for I/O files
Definition at line 42 of file mod_xnl4v5.f90.
Referenced by q_error(), q_setconfig(), and xnl_init().
| real m_xnldata::qf_dmax |
maximum directional difference between k1 and k3
Definition at line 73 of file mod_xnl4v5.f90.
Referenced by q_setconfig(), q_summary(), and q_xnl4v4().
| character(len=20) m_xnldata::qf_error |
name of file with error messages
Definition at line 43 of file mod_xnl4v5.f90.
Referenced by q_error(), and xnl_init().
| real m_xnldata::qf_frac |
fraction of maximum action density to filter
Definition at line 74 of file mod_xnl4v5.f90.
Referenced by q_setconfig(), q_summary(), and q_xnl4v4().
| real m_xnldata::qf_krat |
maximum ratio of the interacting wave numbers k1 and k3
Definition at line 72 of file mod_xnl4v5.f90.
Referenced by q_setconfig(), q_summary(), and q_xnl4v4().
| real m_xnldata::qf_tail |
power of spectral tail of E(f), e.g.
-4,, -4.5, -5 these values must be set in the interface routine
Definition at line 67 of file mod_xnl4v5.f90.
Referenced by q_chkconfig(), q_init(), and xnl_init().
| real m_xnldata::qk_tail |
power of spectral tail of N(k), computed from qf_tail
Definition at line 396 of file mod_xnl4v5.f90.
Referenced by q_init(), and q_weight().
| real, dimension(:,:), allocatable m_xnldata::qnl |
Nonlinear energy transfer Snl(k,theta)
Definition at line 361 of file mod_xnl4v5.f90.
| integer, dimension(:,:,:), allocatable m_xnldata::quad_ia2 |
lower direction index of k2
Definition at line 261 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| integer, dimension(:,:,:), allocatable m_xnldata::quad_ia4 |
lower direction index of k4
Definition at line 263 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| integer, dimension(:,:,:), allocatable m_xnldata::quad_ik2 |
lower wave number index of k2
Definition at line 260 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| integer, dimension(:,:,:), allocatable m_xnldata::quad_ik4 |
lower wave number index of k4
Definition at line 262 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| integer, dimension(:,:), allocatable m_xnldata::quad_nloc |
number of points on locus
Definition at line 259 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:,:,:), allocatable m_xnldata::quad_w1k2 |
weight 1 of k2
Definition at line 264 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:,:,:), allocatable m_xnldata::quad_w1k4 |
weight 1 of k4
Definition at line 268 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:,:,:), allocatable m_xnldata::quad_w2k2 |
weight 2 of k2
Definition at line 265 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:,:,:), allocatable m_xnldata::quad_w2k4 |
weight 2 of k4
Definition at line 269 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:,:,:), allocatable m_xnldata::quad_w3k2 |
weight 3 of k2
Definition at line 266 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:,:,:), allocatable m_xnldata::quad_w3k4 |
weight 3 of k4
Definition at line 270 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:,:,:), allocatable m_xnldata::quad_w4k2 |
weight 4 of k2
Definition at line 267 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:,:,:), allocatable m_xnldata::quad_w4k4 |
weight 4 of k4
Definition at line 271 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension (:,:,:), allocatable m_xnldata::quad_zz |
compound product of cple*ds*sym/jac
Definition at line 272 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_ctrgrid(), q_getlocus(), and q_makegrid().
| real, dimension(:), allocatable m_xnldata::r_cple |
Definition at line 340 of file mod_xnl4v5.f90.
| character(len=21) m_xnldata::r_header |
header of Binary Quadruplet File as exists in BQF-file
Definition at line 196 of file mod_xnl4v5.f90.
Referenced by q_ctrgrid().
| integer, dimension(:), allocatable m_xnldata::r_ia2 |
corresponding declarations r_ia2
Definition at line 335 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| integer, dimension(:), allocatable m_xnldata::r_ia4 |
corresponding declarations r_ia4
Definition at line 337 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| integer, dimension(:), allocatable m_xnldata::r_ik2 |
corresponding declarations r_ik2
Definition at line 334 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| integer, dimension(:), allocatable m_xnldata::r_ik4 |
corresponding declarations r_ik4
Definition at line 336 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_jac |
Definition at line 340 of file mod_xnl4v5.f90.
| real, dimension(:), allocatable m_xnldata::r_sym |
Definition at line 340 of file mod_xnl4v5.f90.
| real, dimension(:), allocatable m_xnldata::r_w1k2 |
Definition at line 338 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_w1k4 |
Definition at line 339 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_w2k2 |
Definition at line 338 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_w2k4 |
Definition at line 339 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_w3k2 |
Definition at line 338 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_w3k4 |
Definition at line 339 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_w4k2 |
corresponding declarations
Definition at line 338 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_w4k4 |
corresponding declarations
Definition at line 339 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real, dimension(:), allocatable m_xnldata::r_ws |
corresponding declarations
Definition at line 340 of file mod_xnl4v5.f90.
| real, dimension(:), allocatable m_xnldata::r_zz |
Definition at line 340 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_getlocus().
| real m_xnldata::rel_k |
relative accuracy for equality check of k
Definition at line 373 of file mod_xnl4v5.f90.
Referenced by q_init().
| real, dimension(:), allocatable m_xnldata::s_loc |
coordinate along locus
Definition at line 279 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_cmplocus(), and q_modify().
| real, dimension(:), allocatable m_xnldata::s_mod |
coordinate along locus
Definition at line 298 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_modify().
| real m_xnldata::sang |
angle of symmytry axis of locus, SANG = PANG +/ pi° (radians)
Definition at line 235 of file mod_xnl4v5.f90.
Referenced by q_cmplocus().
| real m_xnldata::sk_max |
maximum wave number in extended array
Definition at line 346 of file mod_xnl4v5.f90.
Referenced by q_init().
| character(len=20) m_xnldata::sub_name |
| real, dimension(:), allocatable m_xnldata::sym_loc |
factor for symmetry between k3 and k4
Definition at line 285 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_modify().
| real, dimension(:), allocatable m_xnldata::sym_mod |
factor for symmetry between k3 and k4
Definition at line 302 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_modify().
| integer, dimension(:), allocatable m_xnldata::t_ia2 |
transformed direction for k2
Definition at line 319 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| integer, dimension(:), allocatable m_xnldata::t_ia4 |
transformed weight for k4
Definition at line 321 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| integer, dimension(:), allocatable m_xnldata::t_ik2 |
transformed weight for k2-magnitude
Definition at line 318 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| integer, dimension(:), allocatable m_xnldata::t_ik4 |
transformed tail factor for k2
Definition at line 320 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_w1k2 |
transformed weight 1 for k2
Definition at line 322 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_w1k4 |
transformed weight 1 for k4
Definition at line 326 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_w2k2 |
transformed weight 2 for k2
Definition at line 323 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_w2k4 |
transformed weight 2 for k4
Definition at line 327 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_w3k2 |
transformed weight 3 for k2
Definition at line 324 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_w3k4 |
transformed weight 3 for k4
Definition at line 328 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_w4k2 |
transformed weight 4 for k2
Definition at line 325 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_w4k4 |
transformed weight 4 for k4
Definition at line 329 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::t_zz |
product term
Definition at line 330 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_getlocus(), and q_t13v4().
| real, dimension(:), allocatable m_xnldata::wa_k2 |
position of k2 and k4 wave number
Definition at line 313 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_weight().
| real, dimension(:), allocatable m_xnldata::wa_k4 |
w.r.t.
discrete a-grid
Definition at line 314 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_weight().
| real, dimension(:), allocatable m_xnldata::wk_k2 |
position of k2 and k4 wave number
Definition at line 311 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_weight().
| real, dimension(:), allocatable m_xnldata::wk_k4 |
w.r.t.
discrete k-grid
Definition at line 312 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_weight().
| real m_xnldata::wk_max |
maximum weight for wave number interpolation, set in Q_INIT
Definition at line 224 of file mod_xnl4v5.f90.
Referenced by q_init(), and q_weight().
| real, dimension(:), allocatable m_xnldata::wt_k2 |
weight factor in tail,
Definition at line 315 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_weight().
| real, dimension(:), allocatable m_xnldata::wt_k4 |
wt==1 for wave numbers inside k-grid
Definition at line 316 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_makegrid(), and q_weight().
| real, dimension(:), allocatable m_xnldata::x2_loc |
k2x coordinates around locus
Definition at line 276 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_cmplocus(), q_modify(), and q_polar2().
| real, dimension(:), allocatable m_xnldata::x2_mod |
k2x coordinates along locus
Definition at line 293 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_modify().
| real, dimension(:), allocatable m_xnldata::x4_loc |
k4x coordinates around locus
Definition at line 280 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_cmplocus(), and q_modify().
| real, dimension(:), allocatable m_xnldata::x4_mod |
k4x coordinates along locus
Definition at line 295 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_modify().
| real m_xnldata::xang |
angle of locus for the case that w1=w3, Xang=atan2(-px,py), (radians)
Definition at line 236 of file mod_xnl4v5.f90.
Referenced by q_cmplocus().
| real, dimension(:), allocatable m_xnldata::y2_loc |
k2y coordinates around locus
Definition at line 277 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_cmplocus(), q_modify(), and q_polar2().
| real, dimension(:), allocatable m_xnldata::y2_mod |
k2y coordinates along locus
Definition at line 294 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_modify().
| real, dimension(:), allocatable m_xnldata::y4_loc |
k4y coordinates around locus
Definition at line 281 of file mod_xnl4v5.f90.
Referenced by q_allocate(), q_cmplocus(), and q_modify().
| real, dimension(:), allocatable m_xnldata::y4_mod |
k4y coordinates along locus
Definition at line 296 of file mod_xnl4v5.f90.
Referenced by q_allocate(), and q_modify().
| real, dimension(:), allocatable m_xnldata::z_loc |
| real, dimension(:), allocatable m_xnldata::z_mod |