|
SABER
|
NICAS data block derived type. More...
Data Types | |
| type | balldata_type |
| type | nicas_blk_type |
Functions/Subroutines | |
| subroutine | balldata_alloc (balldata) |
| Allocation. More... | |
| subroutine | balldata_dealloc (balldata) |
| Release memory. More... | |
| subroutine | balldata_pack (balldata, mpl, nc1u, nl1, val) |
| Pack data into balldata object. More... | |
| subroutine | nicas_blk_partial_dealloc (nicas_blk) |
| Release memory (partial) More... | |
| subroutine | nicas_blk_dealloc (nicas_blk) |
| Release memory (full) More... | |
| subroutine | nicas_blk_read (nicas_blk, mpl, nam, geom, bpar, ncid) |
| Read. More... | |
| subroutine | nicas_blk_write (nicas_blk, mpl, nam, geom, bpar, ncid) |
| Write. More... | |
| subroutine | nicas_blk_write_grids (nicas_blk, mpl, ncid) |
| Write NICAS grids. More... | |
| subroutine | nicas_blk_buffer_size (nicas_blk, mpl, nam, geom, bpar, nbufi, nbufr, nbufl) |
| Buffer size. More... | |
| subroutine | nicas_blk_serialize (nicas_blk, mpl, nam, geom, bpar, nbufi, nbufr, nbufl, bufi, bufr, bufl) |
| Serialize. More... | |
| subroutine | nicas_blk_deserialize (nicas_blk, mpl, nam, geom, bpar, nbufi, nbufr, nbufl, bufi, bufr, bufl) |
| Deserialize. More... | |
| subroutine | nicas_blk_compute_parameters (nicas_blk, mpl, rng, nam, geom, cmat_blk, sqrt_rescaling) |
| Compute NICAS parameters. More... | |
| subroutine | nicas_blk_compute_parameters_horizontal_smoother (nicas_blk, mpl, rng, nam, geom, rhflt) |
| Compute NICAS parameters for a horizontal smoother. More... | |
| subroutine | nicas_blk_compute_sampling_c1 (nicas_blk, mpl, rng, nam, geom, cmat_blk) |
| Compute NICAS sampling, subset Sc1. More... | |
| subroutine | nicas_blk_compute_sampling_v (nicas_blk, mpl, nam, geom, cmat_blk) |
| Compute NICAS sampling, vertical dimension. More... | |
| subroutine | nicas_blk_compute_mpi_a (nicas_blk, mpl, geom) |
| Compute NICAS MPI distribution, halos A. More... | |
| subroutine | nicas_blk_compute_sampling_c2 (nicas_blk, mpl, rng, nam, geom, cmat_blk) |
| Compute NICAS sampling, subset Sc2. More... | |
| subroutine | nicas_blk_compute_mpi_ab (nicas_blk, mpl, rng, nam, geom) |
| Compute NICAS MPI distribution, halos A-B. More... | |
| subroutine | nicas_blk_compute_interp_v (nicas_blk, geom) |
| Compute vertical interpolation. More... | |
| subroutine | nicas_blk_compute_convol (nicas_blk, mpl, rng, nam, geom, cmat_blk) |
| Compute convolution. More... | |
| subroutine | nicas_blk_compute_convol_network (nicas_blk, mpl, rng, nam, geom) |
| Compute convolution with a network approach. More... | |
| subroutine | nicas_blk_compute_convol_distance (nicas_blk, mpl, nam, geom) |
| Compute convolution with a distance approach. More... | |
| subroutine | nicas_blk_compute_convol_weights (nicas_blk, mpl, geom, ctmp) |
| Compute convolution weights. More... | |
| subroutine | nicas_blk_compute_mpi_c (nicas_blk, mpl) |
| Compute NICAS MPI distribution, halo C. More... | |
| subroutine | nicas_blk_compute_internal_normalization (nicas_blk, mpl) |
| Compute internal normalization. More... | |
| subroutine | nicas_blk_compute_normalization (nicas_blk, mpl, nam, geom) |
| Compute normalization. More... | |
| subroutine | nicas_blk_compute_grids (nicas_blk, nam) |
| Compute grids. More... | |
| subroutine | nicas_blk_apply (nicas_blk, mpl, geom, fld) |
| Apply NICAS method. More... | |
| subroutine | nicas_blk_apply_from_sqrt (nicas_blk, mpl, geom, fld) |
| Apply NICAS method from its square-root formulation. More... | |
| subroutine | nicas_blk_apply_sqrt (nicas_blk, mpl, geom, alpha, fld) |
| Apply NICAS method square-root. More... | |
| subroutine | nicas_blk_apply_sqrt_ad (nicas_blk, mpl, geom, fld, alpha) |
| Apply NICAS method square-root adjoint. More... | |
| subroutine | nicas_blk_apply_interp (nicas_blk, mpl, geom, alpha, fld) |
| Apply interpolation. More... | |
| subroutine | nicas_blk_apply_interp_ad (nicas_blk, mpl, geom, fld, alpha) |
| Apply interpolation adjoint. More... | |
| subroutine | nicas_blk_apply_interp_h (nicas_blk, mpl, geom, delta, fld) |
| Apply horizontal interpolation. More... | |
| subroutine | nicas_blk_apply_interp_h_ad (nicas_blk, mpl, geom, fld, delta) |
| Apply horizontal interpolation adjoint. More... | |
| subroutine | nicas_blk_apply_interp_v (nicas_blk, mpl, geom, gamma, delta) |
| Apply vertical interpolation. More... | |
| subroutine | nicas_blk_apply_interp_v_ad (nicas_blk, mpl, geom, delta, gamma) |
| Apply vertical interpolation adjoint. More... | |
| subroutine | nicas_blk_apply_interp_s (nicas_blk, mpl, alpha, gamma) |
| Apply subsampling interpolation. More... | |
| subroutine | nicas_blk_apply_interp_s_ad (nicas_blk, mpl, gamma, alpha) |
| Apply subsampling interpolation adjoint. More... | |
| subroutine | nicas_blk_apply_convol (nicas_blk, mpl, alpha) |
| Apply convolution. More... | |
| subroutine | nicas_blk_test_adjoint (nicas_blk, mpl, rng, geom) |
| Test NICAS adjoint accuracy. More... | |
| subroutine | nicas_blk_test_dirac (nicas_blk, mpl, nam, geom, bpar, io) |
| Apply NICAS to diracs. More... | |
Variables | |
| real(kind_real), parameter | sqrt_r = 0.725_kind_real |
| real(kind_real), parameter | sqrt_h = 0.725_kind_real |
| real(kind_real), parameter | s_inf = 1.0e-2_kind_real |
NICAS data block derived type.
|
private |
|
private |
Release memory.
| [in,out] | balldata | Ball data |
Definition at line 278 of file type_nicas_blk.F90.
|
private |
Pack data into balldata object.
| [in,out] | balldata | Ball data |
| [in,out] | mpl | MPI data |
| [in] | nc1u | Horizontal box size |
| [in] | nl1 | Vertical box size |
| [in] | val | Box value |
Definition at line 296 of file type_nicas_blk.F90.
|
private |
Apply NICAS method.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in,out] | fld | Field |
Definition at line 3762 of file type_nicas_blk.F90.
|
private |
Apply convolution.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | alpha | Subgrid field |
Definition at line 4239 of file type_nicas_blk.F90.
|
private |
Apply NICAS method from its square-root formulation.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in,out] | fld | Field |
Definition at line 3841 of file type_nicas_blk.F90.
|
private |
Apply interpolation.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in] | alpha | Subgrid field |
| [out] | fld | Field |
Definition at line 3957 of file type_nicas_blk.F90.
|
private |
Apply interpolation adjoint.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in] | fld | Field |
| [out] | alpha | Subgrid field |
Definition at line 3986 of file type_nicas_blk.F90.
|
private |
Apply horizontal interpolation.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in] | delta | Subset Sc1 field, full levels |
| [out] | fld | Field |
Definition at line 4015 of file type_nicas_blk.F90.
|
private |
Apply horizontal interpolation adjoint.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in] | fld | Field |
| [out] | delta | Subset Sc1 field, full levels |
Definition at line 4046 of file type_nicas_blk.F90.
|
private |
Apply subsampling interpolation.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | alpha | Subgrid field |
| [out] | gamma | Subset Sc1 field, limited levels |
Definition at line 4168 of file type_nicas_blk.F90.
|
private |
Apply subsampling interpolation adjoint.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | gamma | Subset Sc1 field, limited levels |
| [out] | alpha | Subgrid field |
Definition at line 4205 of file type_nicas_blk.F90.
|
private |
Apply vertical interpolation.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in] | gamma | Subset Sc1 field, limited levels |
| [out] | delta | Subset Sc1 field, full levels |
Definition at line 4076 of file type_nicas_blk.F90.
|
private |
Apply vertical interpolation adjoint.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in] | delta | Subset Sc1 field, full levels |
| [out] | gamma | Subset Sc1 field, limited levels |
Definition at line 4125 of file type_nicas_blk.F90.
|
private |
Apply NICAS method square-root.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in] | alpha | Subgrid field |
| [out] | fld | Field |
Definition at line 3866 of file type_nicas_blk.F90.
|
private |
Apply NICAS method square-root adjoint.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in] | fld | Field |
| [out] | alpha | Subgrid field |
Definition at line 3910 of file type_nicas_blk.F90.
|
private |
Buffer size.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | bpar | Block parameters |
| [out] | nbufi | Buffer size (integer) |
| [out] | nbufr | Buffer size (real) |
| [out] | nbufl | Buffer size (logical) |
Definition at line 775 of file type_nicas_blk.F90.
|
private |
Compute convolution.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | rng | Random number generator |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | cmat_blk | C matrix data block |
Definition at line 2262 of file type_nicas_blk.F90.
|
private |
Compute convolution with a distance approach.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
Definition at line 2932 of file type_nicas_blk.F90.
|
private |
Compute convolution with a network approach.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | rng | Random number generator |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
Definition at line 2686 of file type_nicas_blk.F90.
|
private |
Compute convolution weights.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
| [in,out] | ctmp | Convolution operator |
Definition at line 3118 of file type_nicas_blk.F90.
|
private |
Compute grids.
| [in,out] | nicas_blk | NICAS data block |
| [in] | nam | Namelist |
Definition at line 3693 of file type_nicas_blk.F90.
|
private |
Compute internal normalization.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
Definition at line 3374 of file type_nicas_blk.F90.
|
private |
Compute vertical interpolation.
| [in,out] | nicas_blk | NICAS data block |
| [in] | geom | Geometry |
Definition at line 2179 of file type_nicas_blk.F90.
|
private |
Compute NICAS MPI distribution, halos A.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | geom | Geometry |
Definition at line 1715 of file type_nicas_blk.F90.
|
private |
Compute NICAS MPI distribution, halos A-B.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | rng | Random number generator |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
Definition at line 1915 of file type_nicas_blk.F90.
|
private |
Compute NICAS MPI distribution, halo C.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
Definition at line 3224 of file type_nicas_blk.F90.
|
private |
Compute normalization.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
Definition at line 3444 of file type_nicas_blk.F90.
|
private |
Compute NICAS parameters.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | rng | Random number generator |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | cmat_blk | C matrix data block |
| [in] | sqrt_rescaling | Square-root rescaling flag |
Definition at line 1246 of file type_nicas_blk.F90.

|
private |
Compute NICAS parameters for a horizontal smoother.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | rng | Random number generator |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | rhflt | Horizontal support radius profile |
Definition at line 1389 of file type_nicas_blk.F90.

|
private |
Compute NICAS sampling, subset Sc1.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | rng | Random number generator |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | cmat_blk | C matrix data block |
Definition at line 1463 of file type_nicas_blk.F90.
|
private |
Compute NICAS sampling, subset Sc2.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | rng | Random number generator |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | cmat_blk | C matrix data block |
Definition at line 1785 of file type_nicas_blk.F90.
|
private |
Compute NICAS sampling, vertical dimension.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | cmat_blk | C matrix data block |
Definition at line 1619 of file type_nicas_blk.F90.
|
private |
Release memory (full)
| [in,out] | nicas_blk | NICAS data block |
Definition at line 419 of file type_nicas_blk.F90.
|
private |
Deserialize.
| [in,out] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | bpar | Block parameters |
| [in] | nbufi | Buffer size (integer) |
| [in] | nbufr | Buffer size (real) |
| [in] | nbufl | Buffer size (logical) |
| [in] | bufi | Buffer (integer) |
| [in] | bufr | Buffer (real) |
| [in] | bufl | Buffer (logical) |
Definition at line 1024 of file type_nicas_blk.F90.
|
private |
Release memory (partial)
| [in,out] | nicas_blk | NICAS data block |
Definition at line 335 of file type_nicas_blk.F90.
|
private |
Read.
| [in,out] | nicas_blk | NICAS data |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | bpar | Block parameters |
| [in] | ncid | NetCDF file |
Definition at line 473 of file type_nicas_blk.F90.
|
private |
Serialize.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | bpar | Block parameters |
| [in] | nbufi | Buffer size (integer) |
| [in] | nbufr | Buffer size (real) |
| [in] | nbufl | Buffer size (logical) |
| [out] | bufi | Buffer (integer) |
| [out] | bufr | Buffer (real) |
| [out] | bufl | Buffer (logical) |
Definition at line 848 of file type_nicas_blk.F90.
|
private |
Test NICAS adjoint accuracy.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in,out] | rng | Random number generator |
| [in] | geom | Geometry |
Definition at line 4273 of file type_nicas_blk.F90.
|
private |
Apply NICAS to diracs.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | bpar | Block parameters |
| [in] | io | I/O |
Definition at line 4509 of file type_nicas_blk.F90.
|
private |
Write.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | nam | Namelist |
| [in] | geom | Geometry |
| [in] | bpar | Block parameters |
| [in] | ncid | NetCDF file |
Definition at line 609 of file type_nicas_blk.F90.
|
private |
Write NICAS grids.
| [in] | nicas_blk | NICAS data block |
| [in,out] | mpl | MPI data |
| [in] | ncid | NetCDF file |
Definition at line 717 of file type_nicas_blk.F90.
| real(kind_real), parameter type_nicas_blk::s_inf = 1.0e-2_kind_real |
Definition at line 35 of file type_nicas_blk.F90.
| real(kind_real), parameter type_nicas_blk::sqrt_h = 0.725_kind_real |
Definition at line 34 of file type_nicas_blk.F90.
| real(kind_real), parameter type_nicas_blk::sqrt_r = 0.725_kind_real |
Definition at line 33 of file type_nicas_blk.F90.