|
logical function, public | mom_neutral_diffusion::neutral_diffusion_init (Time, G, param_file, diag, CS) |
| Read parameters and allocate control structure for neutral_diffusion module. More...
|
|
subroutine, public | mom_neutral_diffusion::neutral_diffusion_diag_init (Time, G, diag, C_p, Reg, CS) |
| Diagnostic handles for neutral diffusion tendencies. More...
|
|
subroutine, public | mom_neutral_diffusion::neutral_diffusion_calc_coeffs (G, GV, h, T, S, EOS, CS) |
| Calculate remapping factors for u/v columns used to map adjoining columns to a shared coordinate space. More...
|
|
subroutine, public | mom_neutral_diffusion::neutral_diffusion (G, GV, h, Coef_x, Coef_y, Tracer, m, dt, name, CS) |
| Update tracer concentration due to neutral diffusion; layer thickness unchanged by this update. More...
|
|
subroutine | mom_neutral_diffusion::interface_scalar (nk, h, S, Si, i_method) |
| Returns interface scalar, Si, for a column of layer values, S. More...
|
|
real function | mom_neutral_diffusion::ppm_edge (hkm1, hk, hkp1, hkp2, Ak, Akp1, Pk, Pkp1) |
| Returns the PPM quasi-fourth order edge value at k+1/2 following equation 1.6 in Colella & Woodward, 1984: JCP 54, 174-201. More...
|
|
real function | mom_neutral_diffusion::ppm_ave (xL, xR, aL, aR, aMean) |
| Returns the average of a PPM reconstruction between two fractional positions. More...
|
|
real function | mom_neutral_diffusion::signum (a, x) |
| A true signum function that returns either -abs(a), when x<0; or abs(a) when x>0; or 0 when x=0. More...
|
|
subroutine | mom_neutral_diffusion::plm_diff (nk, h, S, c_method, b_method, diff) |
| Returns PLM slopes for a column where the slopes are the difference in value across each cell. The limiting follows equation 1.8 in Colella & Woodward, 1984: JCP 54, 174-201. More...
|
|
real function | mom_neutral_diffusion::fv_diff (hkm1, hk, hkp1, Skm1, Sk, Skp1) |
| Returns the cell-centered second-order finite volume (unlimited PLM) slope using three consecutive cell widths and average values. Slope is returned as a difference across the central cell (i.e. units of scalar S). Discretization follows equation 1.7 in Colella & Woodward, 1984: JCP 54, 174-201. More...
|
|
real function | mom_neutral_diffusion::fvlsq_slope (hkm1, hk, hkp1, Skm1, Sk, Skp1) |
| Returns the cell-centered second-order weighted least squares slope using three consecutive cell widths and average values. Slope is returned as a gradient (i.e. units of scalar S over width units). More...
|
|
subroutine | mom_neutral_diffusion::find_neutral_surface_positions (nk, Pl, Tl, Sl, dRdTl, dRdSl, Pr, Tr, Sr, dRdTr, dRdSr, PoL, PoR, KoL, KoR, hEff) |
| Returns positions within left/right columns of combined interfaces. More...
|
|
real function | mom_neutral_diffusion::absolute_position (n, Pint, Karr, NParr, k_surface) |
| Converts non-dimensional position within a layer to absolute position (for debugging) More...
|
|
real function, dimension(2 *n+2) | mom_neutral_diffusion::absolute_positions (n, Pint, Karr, NParr) |
| Converts non-dimensional positions within layers to absolute positions (for debugging) More...
|
|
real function | mom_neutral_diffusion::interpolate_for_nondim_position (dRhoNeg, Pneg, dRhoPos, Ppos) |
| Returns the non-dimensional position between Pneg and Ppos where the interpolated density difference equals zero. The result is always bounded to be between 0 and 1. More...
|
|
subroutine | mom_neutral_diffusion::neutral_surface_flux (nk, hl, hr, Tl, Tr, PiL, PiR, KoL, KoR, hEff, Flx) |
| Returns a single column of neutral diffusion fluxes of a tracer. More...
|
|
logical function, public | mom_neutral_diffusion::neutral_diffusion_unit_tests (verbose) |
| Returns true if unit tests of neutral_diffusion functions fail. Otherwise returns false. More...
|
|
logical function | mom_neutral_diffusion::test_fv_diff (verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title) |
| Returns true if a test of fv_diff() fails, and conditionally writes results to stream. More...
|
|
logical function | mom_neutral_diffusion::test_fvlsq_slope (verbose, hkm1, hk, hkp1, Skm1, Sk, Skp1, Ptrue, title) |
| Returns true if a test of fvlsq_slope() fails, and conditionally writes results to stream. More...
|
|
logical function | mom_neutral_diffusion::test_ifndp (verbose, rhoNeg, Pneg, rhoPos, Ppos, Ptrue, title) |
| Returns true if a test of interpolate_for_nondim_position() fails, and conditionally writes results to stream. More...
|
|
logical function | mom_neutral_diffusion::test_data1d (verbose, nk, Po, Ptrue, title) |
| Returns true if comparison of Po and Ptrue fails, and conditionally writes results to stream. More...
|
|
logical function | mom_neutral_diffusion::test_data1di (verbose, nk, Po, Ptrue, title) |
| Returns true if comparison of Po and Ptrue fails, and conditionally writes results to stream. More...
|
|
logical function | mom_neutral_diffusion::test_nsp (verbose, nk, KoL, KoR, pL, pR, hEff, KoL0, KoR0, pL0, pR0, hEff0, title) |
| Returns true if output of find_neutral_surface_positions() does not match correct values, and conditionally writes results to stream. More...
|
|
logical function | mom_neutral_diffusion::compare_nsp_row (KoL, KoR, pL, pR, KoL0, KoR0, pL0, pR0) |
| Compares a single row, k, of output from find_neutral_surface_positions() More...
|
|
subroutine, public | mom_neutral_diffusion::neutral_diffusion_end (CS) |
| Deallocates neutral_diffusion control structure. More...
|
|