| 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.