SABER
|
Subroutines/functions list. More...
Data Types | |
interface | c_fletcher32 |
interface | fletcher32 |
interface | lonlatmod |
interface | gridhash |
interface | independent_levels |
interface | lonlathash |
interface | sphere_dist |
interface | lonlat2xyz |
interface | xyz2lonlat |
interface | vector_product |
interface | det |
interface | order_cc |
interface | add |
interface | divide |
interface | fit_diag |
interface | gc99 |
interface | fit_func |
interface | fit_lct |
interface | lct_d2h |
interface | lct_h2r |
interface | lct_r2d |
interface | check_cond |
interface | matern |
interface | cholesky |
interface | syminv |
interface | histogram |
interface | cx_to_cxa |
interface | cx_to_proc |
interface | cx_to_cxu |
Functions/Subroutines | |
integer function | func_fletcher32 (var) |
Fletcher-32 checksum algorithm. More... | |
subroutine | func_lonlatmod (lon, lat) |
Set latitude between -pi/2 and pi/2 and longitude between -pi and pi. More... | |
subroutine | func_gridhash (ncx, nlx, lon_cx, lat_cx, mask_cx, grid_hash) |
Compute grid hash profile. More... | |
subroutine | func_independent_levels (mpl, nlx, grid_hash, nlxi, lx_to_lxi, lxi_to_lx, ifmt) |
Compute independent levels. More... | |
real(kind_real) function | func_lonlathash (lon, lat, il) |
Define a unique real from a lon/lat pair. More... | |
subroutine | func_sphere_dist (lon_i, lat_i, lon_f, lat_f, dist) |
Compute the great-circle distance between two points. More... | |
subroutine | func_lonlat2xyz (mpl, lon, lat, x, y, z) |
Convert longitude/latitude to cartesian coordinates. More... | |
subroutine | func_xyz2lonlat (mpl, x, y, z, lon, lat) |
Convert longitude/latitude to cartesian coordinates. More... | |
subroutine | func_vector_product (v1, v2, vp) |
Compute normalized vector product. More... | |
subroutine | func_det (v1, v2, v3, p, cflag) |
Compute determinant (vector triple product) More... | |
subroutine | 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 | func_add (mpl, val, cumul, num, wgt) |
Check if value missing and add if not missing. More... | |
subroutine | func_divide (mpl, val, num) |
Check if value missing and divide if not missing. More... | |
subroutine | func_fit_diag (mpl, nc3, nl0r, nl0, l0rl0_to_l0, disth, distv, coef, rh, rv, fit) |
Compute diagnostic fit function. More... | |
real(kind_real) function | func_gc99 (distnorm) |
Gaspari and Cohn (1999) function, with the support radius as a parameter. More... | |
real(kind_real) function | func_fit_func (mpl, distnorm) |
Fit_function. More... | |
subroutine | func_fit_lct (mpl, nc, nl0, dxsq, dysq, dxdy, dzsq, dmask, nscales, D, coef, fit) |
LCT fit. More... | |
subroutine | func_lct_d2h (mpl, D11, D22, D33, D12, H11, H22, H33, H12) |
From D (Daley tensor) to H (local correlation tensor) More... | |
subroutine | func_lct_h2r (mpl, H11, H22, H33, H12, rh, rv) |
From H (local correlation tensor) to support radii. More... | |
subroutine | func_lct_r2d (r, D) |
From support radius to Daley tensor diagonal element. More... | |
subroutine | func_check_cond (d1, d2, nod, valid) |
Check tensor conditioning. More... | |
real(kind_real) function | 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 | func_cholesky (mpl, n, a, u) |
Compute cholesky decomposition. More... | |
subroutine | func_syminv (mpl, n, a, c) |
Compute inverse of a symmetric matrix. More... | |
subroutine | func_histogram (mpl, nlist, list, nbins, histmin, histmax, bins, hist) |
Compute bins and histogram from a list of values. More... | |
integer function | func_cx_to_cxa (nproc, proc_to_cx_offset, icx) |
Conversion from global to halo A on subset Scx. More... | |
integer function | func_cx_to_proc (nproc, proc_to_cx_offset, icx) |
Conversion from global to processor on subset Scx. More... | |
integer function | func_cx_to_cxu (nproc, proc_to_cx_offset, proc_to_ncxa, myuniverse, icx) |
Conversion from global to universe on subset Scx. More... | |
Variables | |
real(kind_real), parameter, public | gc2gau = 0.28_kind_real |
GC99 support radius to Gaussian Daley length-scale (empirical) More... | |
real(kind_real), parameter, public | gau2gc = 3.57_kind_real |
Gaussian Daley length-scale to GC99 support radius (empirical) More... | |
real(kind_real), parameter, public | dmin = 1.0e-12_kind_real |
Minimum tensor diagonal value. More... | |
real(kind_real), parameter | condmax = thousand |
Maximum tensor conditioning number. More... | |
integer, parameter, public | m = 0 |
Number of implicit iteration for the Matern function (0: Gaussian) More... | |
Subroutines/functions list.
Instrumentation functions Usual functions
|
private |
Check if value missing and add if not missing.
[in] | mpl | MPI data |
[in] | val | Value to add |
[in,out] | num | Number of values |
[in] | wgt | Weight |
Definition at line 705 of file tools_func.F90.
|
private |
Check tensor conditioning.
[in] | d1 | First diagonal coefficient |
[in] | d2 | Second diagonal coefficient |
[in] | nod | Normalized off-diagonal coefficient |
[out] | valid | Conditioning validity |
Definition at line 1252 of file tools_func.F90.
|
private |
Compute cholesky decomposition.
[in,out] | mpl | MPI data |
[in] | n | Matrix rank |
[in] | a | Matrix |
[out] | u | Matrix square-root |
Definition at line 1357 of file tools_func.F90.
|
private |
Conversion from global to halo A on subset Scx.
[in] | nproc | Number of processors |
[in] | proc_to_cx_offset | Processor to offset on subset Scx |
[in] | icx | Global index |
Definition at line 1553 of file tools_func.F90.
|
private |
Conversion from global to universe on subset Scx.
[in] | nproc | Number of processors |
[in] | proc_to_cx_offset | Processor to offset on subset Scx |
[in] | proc_to_ncxa | Processor to halo A size for subset Scx |
[in] | myuniverse | Task universe |
[in] | icx | Global index |
Definition at line 1624 of file tools_func.F90.
|
private |
Conversion from global to processor on subset Scx.
[in] | nproc | Number of processors |
[in] | proc_to_cx_offset | Processor to offset on subset Scx |
[in] | icx | Global index |
Definition at line 1589 of file tools_func.F90.
|
private |
Compute determinant (vector triple product)
[in] | v1 | First vector |
[in] | v2 | Second vector |
[in] | v3 | Third vector |
[out] | p | Determinant |
[out] | cflag | Confidence flag |
Definition at line 583 of file tools_func.F90.
|
private |
Check if value missing and divide if not missing.
[in] | mpl | MPI data |
[in,out] | val | Value to divide |
[in] | num | Divider |
Definition at line 744 of file tools_func.F90.
|
private |
Compute diagnostic fit function.
[in,out] | mpl | MPI data |
[in] | nc3 | Number of classes |
[in] | nl0r | Effective number of levels |
[in] | nl0 | Number of levels |
[in] | l0rl0_to_l0 | Effective level to level |
[in] | disth | Horizontal distance |
[in] | distv | Vertical distance |
[in] | coef | Diagonal coefficient |
[in] | rh | Horizontal support radius |
[in] | rv | Vertical support radius |
Definition at line 775 of file tools_func.F90.
|
private |
Fit_function.
[in,out] | mpl | MPI data |
[in] | distnorm | Normalized distance |
Definition at line 1004 of file tools_func.F90.
|
private |
LCT fit.
[in,out] | mpl | MPI data |
[in] | nc | Number of classes |
[in] | nl0 | Number of levels |
[in] | dxsq | Zonal separation squared |
[in] | dysq | Meridian separation squared |
[in] | dxdy | Zonal x meridian separations product |
[in] | dzsq | Vertical separation squared |
[in] | dmask | Mask |
[in] | nscales | Number of LCT scales |
[in] | d | LCT components |
[in] | coef | LCT coefficients |
Definition at line 1037 of file tools_func.F90.
|
private |
Fletcher-32 checksum algorithm.
[in] | var | Variable |
Definition at line 156 of file tools_func.F90.
|
private |
Gaspari and Cohn (1999) function, with the support radius as a parameter.
[in] | distnorm | Normalized distance |
Definition at line 963 of file tools_func.F90.
|
private |
Compute grid hash profile.
[in] | ncx | Number of points |
[in] | nlx | Number of levels |
[in] | lon_cx | Longitude (radians) |
[in] | lat_cx | Latitude (radians) |
[in] | mask_cx | Mask |
[out] | grid_hash | Grid hash profile |
Definition at line 226 of file tools_func.F90.
|
private |
Compute bins and histogram from a list of values.
[in,out] | mpl | MPI data |
[in] | nlist | List size |
[in] | nbins | Number of bins |
[in] | histmin | Histogram minimum |
[in] | histmax | Histogram maximum |
[out] | hist | Histogram |
Definition at line 1478 of file tools_func.F90.
|
private |
Compute independent levels.
[in,out] | mpl | MPI data |
[in] | nlx | Number of levels |
[in] | grid_hash | Grid hash profile |
[out] | nlxi | Number of independent levels |
[out] | lx_to_lxi | Levels to independent levels |
[out] | lxi_to_lx | Independent levels to levels |
[in] | ifmt | Indentation |
Definition at line 289 of file tools_func.F90.
|
private |
From D (Daley tensor) to H (local correlation tensor)
[in,out] | mpl | MPI data |
[in] | d11 | Daley tensor component 11 |
[in] | d22 | Daley tensor component 22 |
[in] | d33 | Daley tensor component 33 |
[in] | d12 | Daley tensor component 12 |
[out] | h11 | Local correlation tensor component 11 |
[out] | h22 | Local correlation tensor component 22 |
[out] | h33 | Local correlation tensor component 33 |
[out] | h12 | Local correlation tensor component 12 |
Definition at line 1117 of file tools_func.F90.
|
private |
From H (local correlation tensor) to support radii.
[in,out] | mpl | MPI data |
[in] | h11 | Local correlation tensor component 11 |
[in] | h22 | Local correlation tensor component 22 |
[in] | h33 | Local correlation tensor component 33 |
[in] | h12 | Local correlation tensor component 12 |
[out] | rh | Horizontal support radius |
[out] | rv | Vertical support radius |
Definition at line 1167 of file tools_func.F90.
|
private |
From support radius to Daley tensor diagonal element.
[in] | r | Support radius |
[out] | d | Daley tensor diagonal element |
Definition at line 1226 of file tools_func.F90.
|
private |
Convert longitude/latitude to cartesian coordinates.
[in,out] | mpl | MPI data |
[in] | lon | Longitude (radians) |
[in] | lat | Latitude (radians) |
[out] | x | X coordinate |
[out] | y | Y coordinate |
[out] | z | Z coordinate |
Definition at line 454 of file tools_func.F90.
|
private |
Define a unique real from a lon/lat pair.
[in] | lon | Longitude (radians) |
[in] | lat | Latitude (radians) |
[in] | il | Level |
Definition at line 380 of file tools_func.F90.
|
private |
Set latitude between -pi/2 and pi/2 and longitude between -pi and pi.
[in,out] | lon | Longitude (radians) |
[in,out] | lat | Latitude (radians) |
Definition at line 184 of file tools_func.F90.
|
private |
Compute the normalized diffusion function from eq. (55) of Mirouze and Weaver (2013), for the 3d case (d = 3)
[in,out] | mpl | MPI data |
[in] | m | Matern function order |
[in] | x | Argument |
Definition at line 1302 of file tools_func.F90.
|
private |
Order points in counter-clockwise order with respect to a central point.
[in,out] | mpl | MPI data |
[in] | lon | Longitude of the central point |
[in] | lat | Latitude of the central point |
n | Number of points | |
[in] | x | List of X-coordinates |
[in] | y | List of Y-coordinates |
[in] | z | List of Z-coordinates |
[out] | order | Counter-clockwise order |
[out] | diff | Angles differences |
Definition at line 630 of file tools_func.F90.
|
private |
Compute the great-circle distance between two points.
[in] | lon_i | Initial point longitude (radians) |
[in] | lat_i | Initial point latitude (radians) |
[in] | lon_f | Final point longitude (radians) |
[in] | lat_f | Final point latitude (radians) |
[out] | dist | Great-circle distance |
Definition at line 419 of file tools_func.F90.
|
private |
Compute inverse of a symmetric matrix.
[in,out] | mpl | MPI data |
[in] | n | Matrix rank |
[in] | a | Matrix |
[out] | c | Matrix inverse |
Definition at line 1418 of file tools_func.F90.
|
private |
Compute normalized vector product.
[in] | v1 | First vector |
[in] | v2 | Second vector |
[out] | vp | Vector product |
Definition at line 547 of file tools_func.F90.
|
private |
Convert longitude/latitude to cartesian coordinates.
[in] | mpl | MPI data |
[in] | x | X coordinate |
[in] | y | Y coordinate |
[in] | z | Z coordinate |
[out] | lon | Longitude (radians) |
[out] | lat | Latitude (radians) |
Definition at line 501 of file tools_func.F90.
real(kind_real), parameter tools_func::condmax = thousand |
Maximum tensor conditioning number.
Definition at line 48 of file tools_func.F90.
real(kind_real), parameter, public tools_func::dmin = 1.0e-12_kind_real |
Minimum tensor diagonal value.
Definition at line 47 of file tools_func.F90.
real(kind_real), parameter, public tools_func::gau2gc = 3.57_kind_real |
Gaussian Daley length-scale to GC99 support radius (empirical)
Definition at line 46 of file tools_func.F90.
real(kind_real), parameter, public tools_func::gc2gau = 0.28_kind_real |
GC99 support radius to Gaussian Daley length-scale (empirical)
Definition at line 45 of file tools_func.F90.
integer, parameter, public tools_func::m = 0 |
Number of implicit iteration for the Matern function (0: Gaussian)
Definition at line 49 of file tools_func.F90.