SABER
|
Linear operator derived type. More...
Data Types | |
type | interp_type |
type | linop_type |
Functions/Subroutines | |
subroutine | interp_dealloc (interp_data) |
Release memory. More... | |
subroutine | linop_alloc (linop, nvec) |
Allocation. More... | |
subroutine | linop_dealloc (linop) |
Release memory. More... | |
subroutine | linop_copy (linop_out, linop_in, n_s) |
Copy. More... | |
subroutine | linop_read (linop, mpl, ncid) |
Read. More... | |
subroutine | linop_write (linop, mpl, ncid) |
Write. More... | |
subroutine | linop_buffer_size (linop, nbufi, nbufr) |
Buffer size. More... | |
subroutine | linop_serialize (linop, mpl, nbufi, nbufr, bufi, bufr) |
Serialize. More... | |
subroutine | linop_deserialize (linop, mpl, nbufi, nbufr, bufi, bufr) |
Deserialize. More... | |
subroutine | linop_apply (linop, mpl, fld_src, fld_dst, ivec, mssrc, msdst) |
Apply linear operator. More... | |
subroutine | linop_apply_ad (linop, mpl, fld_dst, fld_src, ivec) |
Apply linear operator, adjoint. More... | |
subroutine | linop_apply_sym (linop, mpl, fld, ivec) |
Apply linear operator, symmetric. More... | |
subroutine | linop_add_op (linop, n_s, row, col, S) |
Add operation. More... | |
subroutine | linop_gather (linop, mpl, n_s_arr, linop_arr) |
Gather data from OpenMP threads. More... | |
subroutine | linop_interp (linop, mpl, rng, nam, geom, il0, n_src, lon_src, lat_src, mask_src, n_dst, lon_dst, lat_dst, mask_dst, ifmt) |
Compute horizontal interpolation. More... | |
Variables | |
logical, parameter | check_data = .false. |
real(kind_real), parameter | s_inf = 1.0e-2_kind_real |
Linear operator derived type.
|
private |
Release memory.
[in,out] | interp_data | Interpolation data |
Definition at line 79 of file type_linop.F90.
|
private |
Add operation.
[in,out] | linop | Linear operators |
[in,out] | n_s | Number of operations |
[in] | row | Row index |
[in] | col | Column index |
[in] | s | Value |
Definition at line 697 of file type_linop.F90.
|
private |
Allocation.
[in,out] | linop | Linear operator |
[in] | nvec | Size of the vector of linear operators with similar row and col |
Definition at line 99 of file type_linop.F90.
|
private |
Apply linear operator.
[in] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in] | fld_src | Source vector |
[out] | fld_dst | Destination vector |
[in] | ivec | Index of the vector of linear operators with similar row and col |
[in] | mssrc | Check for missing source |
[in] | msdst | Check for missing destination |
Definition at line 467 of file type_linop.F90.
|
private |
Apply linear operator, adjoint.
[in] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in] | fld_dst | Destination vector |
[out] | fld_src | Source vector |
[in] | ivec | Index of the vector of linear operators with similar row and col |
Definition at line 574 of file type_linop.F90.
|
private |
Apply linear operator, symmetric.
[in] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in,out] | fld | Source/destination vector |
[in] | ivec | Index of the vector of linear operators with similar row and col |
Definition at line 630 of file type_linop.F90.
|
private |
Buffer size.
[in] | linop | Linear operator |
[out] | nbufi | Buffer size (integer) |
[out] | nbufr | Buffer size (real) |
Definition at line 294 of file type_linop.F90.
|
private |
Copy.
[in,out] | linop_out | Output linear operator |
[in] | linop_in | Input linear operator |
[in] | n_s | Number of operations to copy |
Definition at line 149 of file type_linop.F90.
|
private |
Release memory.
[in,out] | linop | Linear operator |
Definition at line 129 of file type_linop.F90.
|
private |
Deserialize.
[in,out] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in] | nbufi | Buffer size (integer) |
[in] | nbufr | Buffer size (real) |
[in] | bufi | Buffer (integer) |
[in] | bufr | Buffer (real) |
Definition at line 389 of file type_linop.F90.
|
private |
Gather data from OpenMP threads.
[in,out] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in] | n_s_arr | Number of operations |
[in] | linop_arr | Linear operator array |
Definition at line 742 of file type_linop.F90.
|
private |
Compute horizontal interpolation.
[in,out] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in,out] | rng | Random number generator |
[in] | nam | Namelist |
[in] | geom | Geometry |
[in] | il0 | Level |
[in] | n_src | Source size |
[in] | lon_src | Source longitudes |
[in] | lat_src | Source latitudes |
[in] | mask_src | Source mask |
[in] | n_dst | Destination size |
[in] | lon_dst | Destination longitudes |
[in] | lat_dst | Destination latitudes |
[in] | mask_dst | Destination mask |
[in] | ifmt | Format indentation |
Definition at line 781 of file type_linop.F90.
|
private |
Read.
[in,out] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in] | ncid | NetCDF file |
Definition at line 191 of file type_linop.F90.
|
private |
Serialize.
[in] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in] | nbufi | Buffer size (integer) |
[in] | nbufr | Buffer size (real) |
[out] | bufi | Buffer (integer) |
[out] | bufr | Buffer (real) |
Definition at line 317 of file type_linop.F90.
|
private |
Write.
[in] | linop | Linear operator |
[in,out] | mpl | MPI data |
[in] | ncid | NetCDF file |
Definition at line 243 of file type_linop.F90.
logical, parameter type_linop::check_data = .false. |
Definition at line 23 of file type_linop.F90.
real(kind_real), parameter type_linop::s_inf = 1.0e-2_kind_real |
Definition at line 24 of file type_linop.F90.