SABER
tools_func.F90 File Reference

Go to the source code of this file.

Data Types

interface  tools_func::c_fletcher32
 
interface  tools_func::fletcher32
 
interface  tools_func::lonlatmod
 
interface  tools_func::gridhash
 
interface  tools_func::independent_levels
 
interface  tools_func::sphere_dist
 
interface  tools_func::cart_dist
 
interface  tools_func::lonlat2xyz
 
interface  tools_func::xyz2lonlat
 
interface  tools_func::vector_product
 
interface  tools_func::det
 
interface  tools_func::inside
 
interface  tools_func::order_cc
 
interface  tools_func::add
 
interface  tools_func::divide
 
interface  tools_func::vert_interp_size
 
interface  tools_func::vert_interp_setup
 
interface  tools_func::vert_interp
 
interface  tools_func::fit_diag
 
interface  tools_func::gc99
 
interface  tools_func::fit_func
 
interface  tools_func::fit_lct
 
interface  tools_func::lct_d2h
 
interface  tools_func::lct_h2r
 
interface  tools_func::lct_r2d
 
interface  tools_func::check_cond
 
interface  tools_func::matern
 
interface  tools_func::cholesky
 
interface  tools_func::syminv
 
interface  tools_func::histogram
 
interface  tools_func::cx_to_cxa
 
interface  tools_func::cx_to_proc
 
interface  tools_func::cx_to_cxu
 
interface  tools_func::convert_i2l
 
interface  tools_func::convert_l2i
 
interface  tools_func::zss_maxval
 
interface  tools_func::zss_minval
 
interface  tools_func::zss_sum
 
interface  tools_func::zss_count
 

Modules

module  tools_func
 Subroutines/functions list.
 

Functions/Subroutines

integer function tools_func::func_fletcher32 (var)
 Fletcher-32 checksum algorithm. More...
 
subroutine tools_func::func_lonlatmod (lon, lat)
 Set latitude between -pi/2 and pi/2 and longitude between -pi and pi. More...
 
subroutine tools_func::func_gridhash (ncx, nlx, lon_cx, lat_cx, mask_cx, grid_hash)
 Compute grid hash profile. More...
 
subroutine tools_func::func_independent_levels (mpl, nlx, grid_hash, nlxi, lx_to_lxi, lxi_to_lx, ifmt)
 Compute independent levels. More...
 
subroutine tools_func::func_cart_dist (x_i, y_i, z_i, x_f, y_f, z_f, dist)
 Compute the cartesian distance between two points. More...
 
subroutine tools_func::func_sphere_dist (lon_i, lat_i, lon_f, lat_f, dist)
 Compute the great-circle distance between two points. More...
 
subroutine tools_func::func_lonlat2xyz (mpl, lon, lat, x, y, z)
 Convert longitude/latitude to cartesian coordinates. More...
 
subroutine tools_func::func_xyz2lonlat (mpl, x, y, z, lon, lat)
 Convert longitude/latitude to cartesian coordinates. More...
 
subroutine tools_func::func_vector_product (v1, v2, vp)
 Compute normalized vector product. More...
 
subroutine tools_func::func_det (v1, v2, v3, p, cflag)
 Compute determinant (vector triple product) More...
 
subroutine tools_func::func_inside (mpl, vbnd, lon, lat, inside_hull)
 Find whether a point is inside the hull boundaries or not. More...
 
subroutine tools_func::func_order_cc (mpl, lon, lat, n, x, y, z, order, diff)
 Order points in counter-clockwise order with respect to a central point. More...
 
subroutine tools_func::func_add (mpl, val, cumul, num, wgt)
 Check if value missing and add if not missing. More...
 
subroutine tools_func::func_divide (mpl, val, num)
 Check if value missing and divide if not missing. More...
 
subroutine tools_func::func_vert_interp_size (nl0, dl0, nl1)
 Count vertical interpolation levels. More...
 
subroutine tools_func::func_vert_interp_setup (nl0, dl0, nl1, il0_interp, il1inf, il1sup, rinf, rsup)
 Setup vertical interpolation levels and weights. More...
 
subroutine tools_func::func_vert_interp (mpl, nl1, var_l1, nl0, il1inf, il1sup, rinf, rsup, var_l0)
 Apply vertical interpolation. More...
 
subroutine tools_func::func_fit_diag (mpl, nc3, nl0r, disth, distv, coef, rh, rv, fit)
 Compute diagnostic fit function. More...
 
real(kind_real) function tools_func::func_gc99 (distnorm)
 Gaspari and Cohn (1999) function, with the support radius as a parameter. More...
 
real(kind_real) function tools_func::func_fit_func (mpl, distnorm)
 Fit_function. More...
 
subroutine tools_func::func_fit_lct (mpl, nc3, nl0r, dxsq, dysq, dxdy, dzsq, dmask, nscales, D, coef, fit)
 LCT fit. More...
 
subroutine tools_func::func_lct_d2h (mpl, D11, D22, D33, D12, H11, H22, H33, H12)
 From D (Daley tensor) to H (local correlation tensor) More...
 
subroutine tools_func::func_lct_h2r (mpl, H11, H22, H33, H12, rh, rv)
 From H (local correlation tensor) to support radii. More...
 
subroutine tools_func::func_lct_r2d (r, D)
 From support radius to Daley tensor diagonal element. More...
 
subroutine tools_func::func_check_cond (d1, d2, nod, valid)
 Check tensor conditioning. More...
 
real(kind_real) function tools_func::func_matern (mpl, M, x)
 Compute the normalized diffusion function from eq. (55) of Mirouze and Weaver (2013), for the 3d case (d = 3) More...
 
subroutine tools_func::func_cholesky (mpl, n, a, u)
 Compute cholesky decomposition. More...
 
subroutine tools_func::func_syminv (mpl, n, a, c)
 Compute inverse of a symmetric matrix. More...
 
subroutine tools_func::func_histogram (mpl, nlist, list, nbins, histmin, histmax, bins, hist)
 Compute bins and histogram from a list of values. More...
 
integer function tools_func::func_cx_to_cxa (nproc, proc_to_cx_offset, icx)
 Conversion from global to halo A on subset Scx. More...
 
integer function tools_func::func_cx_to_proc (nproc, proc_to_cx_offset, icx)
 Conversion from global to processor on subset Scx. More...
 
integer function tools_func::func_cx_to_cxu (nproc, proc_to_cx_offset, proc_to_ncxa, myuniverse, icx)
 Conversion from global to universe on subset Scx. More...
 
subroutine tools_func::func_convert_i2l_r0 (mpl, fldi, fldl)
 Convert integer to logical. More...
 
subroutine tools_func::func_convert_i2l_r1 (mpl, fldi, fldl)
 Convert integer to logical. More...
 
subroutine tools_func::func_convert_i2l_r2 (mpl, fldi, fldl)
 Convert integer to logical. More...
 
subroutine tools_func::func_convert_i2l_r3 (mpl, fldi, fldl)
 Convert integer to logical. More...
 
subroutine tools_func::func_convert_i2l_r4 (mpl, fldi, fldl)
 Convert integer to logical. More...
 
subroutine tools_func::func_convert_l2i_r0 (fldl, fldi)
 Convert logical to integer. More...
 
subroutine tools_func::func_convert_l2i_r1 (fldl, fldi)
 Convert logical to integer. More...
 
subroutine tools_func::func_convert_l2i_r2 (fldl, fldi)
 Convert logical to integer. More...
 
subroutine tools_func::func_convert_l2i_r3 (fldl, fldi)
 Convert logical to integer. More...
 
subroutine tools_func::func_convert_l2i_r4 (fldl, fldi)
 Convert logical to integer. More...
 
integer(kind_int) function tools_func::func_zss_maxval_int_r1 (array, mask)
 Zero-size-safe maxval function. More...
 
integer(kind_int) function tools_func::func_zss_maxval_int_r2 (array, mask)
 Zero-size-safe maxval function. More...
 
integer(kind_int) function tools_func::func_zss_maxval_int_r3 (array, mask)
 Zero-size-safe maxval function. More...
 
integer(kind_int) function tools_func::func_zss_maxval_int_r4 (array, mask)
 Zero-size-safe maxval function. More...
 
integer(kind_int) function tools_func::func_zss_maxval_int_r5 (array, mask)
 Zero-size-safe maxval function. More...
 
integer(kind_int) function tools_func::func_zss_maxval_int_r6 (array, mask)
 Zero-size-safe maxval function. More...
 
real(kind_real) function tools_func::func_zss_maxval_real_r1 (array, mask)
 Zero-size-safe maxval function. More...
 
real(kind_real) function tools_func::func_zss_maxval_real_r2 (array, mask)
 Zero-size-safe maxval function. More...
 
real(kind_real) function tools_func::func_zss_maxval_real_r3 (array, mask)
 Zero-size-safe maxval function. More...
 
real(kind_real) function tools_func::func_zss_maxval_real_r4 (array, mask)
 Zero-size-safe maxval function. More...
 
real(kind_real) function tools_func::func_zss_maxval_real_r5 (array, mask)
 Zero-size-safe maxval function. More...
 
real(kind_real) function tools_func::func_zss_maxval_real_r6 (array, mask)
 Zero-size-safe maxval function. More...
 
integer(kind_int) function tools_func::func_zss_minval_int_r1 (array, mask)
 Zero-size-safe minval function. More...
 
integer(kind_int) function tools_func::func_zss_minval_int_r2 (array, mask)
 Zero-size-safe minval function. More...
 
integer(kind_int) function tools_func::func_zss_minval_int_r3 (array, mask)
 Zero-size-safe minval function. More...
 
integer(kind_int) function tools_func::func_zss_minval_int_r4 (array, mask)
 Zero-size-safe minval function. More...
 
integer(kind_int) function tools_func::func_zss_minval_int_r5 (array, mask)
 Zero-size-safe minval function. More...
 
integer(kind_int) function tools_func::func_zss_minval_int_r6 (array, mask)
 Zero-size-safe minval function. More...
 
real(kind_real) function tools_func::func_zss_minval_real_r1 (array, mask)
 Zero-size-safe minval function. More...
 
real(kind_real) function tools_func::func_zss_minval_real_r2 (array, mask)
 Zero-size-safe minval function. More...
 
real(kind_real) function tools_func::func_zss_minval_real_r3 (array, mask)
 Zero-size-safe minval function. More...
 
real(kind_real) function tools_func::func_zss_minval_real_r4 (array, mask)
 Zero-size-safe minval function. More...
 
real(kind_real) function tools_func::func_zss_minval_real_r5 (array, mask)
 Zero-size-safe minval function. More...
 
real(kind_real) function tools_func::func_zss_minval_real_r6 (array, mask)
 Zero-size-safe minval function. More...
 
integer(kind_int) function tools_func::func_zss_sum_int_r1 (array, mask)
 Zero-size-safe sum function. More...
 
integer(kind_int) function tools_func::func_zss_sum_int_r2 (array, mask)
 Zero-size-safe sum function. More...
 
integer(kind_int) function tools_func::func_zss_sum_int_r3 (array, mask)
 Zero-size-safe sum function. More...
 
integer(kind_int) function tools_func::func_zss_sum_int_r4 (array, mask)
 Zero-size-safe sum function. More...
 
integer(kind_int) function tools_func::func_zss_sum_int_r5 (array, mask)
 Zero-size-safe sum function. More...
 
integer(kind_int) function tools_func::func_zss_sum_int_r6 (array, mask)
 Zero-size-safe sum function. More...
 
real(kind_real) function tools_func::func_zss_sum_real_r1 (array, mask)
 Zero-size-safe sum function. More...
 
real(kind_real) function tools_func::func_zss_sum_real_r2 (array, mask)
 Zero-size-safe sum function. More...
 
real(kind_real) function tools_func::func_zss_sum_real_r3 (array, mask)
 Zero-size-safe sum function. More...
 
real(kind_real) function tools_func::func_zss_sum_real_r4 (array, mask)
 Zero-size-safe sum function. More...
 
real(kind_real) function tools_func::func_zss_sum_real_r5 (array, mask)
 Zero-size-safe sum function. More...
 
real(kind_real) function tools_func::func_zss_sum_real_r6 (array, mask)
 Zero-size-safe sum function. More...
 
integer function tools_func::func_zss_count_r1 (array)
 Zero-size-safe count function. More...
 
integer function tools_func::func_zss_count_r2 (array)
 Zero-size-safe count function. More...
 
integer function tools_func::func_zss_count_r3 (array)
 Zero-size-safe count function. More...
 
integer function tools_func::func_zss_count_r4 (array)
 Zero-size-safe count function. More...
 
integer function tools_func::func_zss_count_r5 (array)
 Zero-size-safe count function. More...
 
integer function tools_func::func_zss_count_r6 (array)
 Zero-size-safe count function. More...
 

Variables

real(kind_real), parameter, public tools_func::gc2gau = 0.28_kind_real
 GC99 support radius to Gaussian Daley length-scale (empirical) More...
 
real(kind_real), parameter, public tools_func::gau2gc = one/gc2gau
 Gaussian Daley length-scale to GC99 support radius (empirical) More...
 
real(kind_real), parameter, public tools_func::dmin = 1.0e-12_kind_real
 Minimum tensor diagonal value. More...
 
real(kind_real), parameter tools_func::condmax = thousand
 Maximum tensor conditioning number. More...
 
integer, parameter, public tools_func::m = 0
 Number of implicit iteration for the Matern function (-1: GC99, 0: Gaussian, >0: Matern) More...