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.