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