SABER
type_nicas_blk Module Reference

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
 

Detailed Description

NICAS data block derived type.

Function/Subroutine Documentation

◆ balldata_alloc()

subroutine type_nicas_blk::balldata_alloc ( class(balldata_type), intent(inout)  balldata)
private

Allocation.

Parameters
[in,out]balldataBall data

Definition at line 260 of file type_nicas_blk.F90.

◆ balldata_dealloc()

subroutine type_nicas_blk::balldata_dealloc ( class(balldata_type), intent(inout)  balldata)
private

Release memory.

Parameters
[in,out]balldataBall data

Definition at line 278 of file type_nicas_blk.F90.

◆ balldata_pack()

subroutine type_nicas_blk::balldata_pack ( class(balldata_type), intent(inout)  balldata,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  nc1u,
integer, intent(in)  nl1,
real(kind_real), dimension(nc1u,nl1), intent(in)  val 
)
private

Pack data into balldata object.

Parameters
[in,out]balldataBall data
[in,out]mplMPI data
[in]nc1uHorizontal box size
[in]nl1Vertical box size
[in]valBox value

Definition at line 296 of file type_nicas_blk.F90.

◆ nicas_blk_apply()

subroutine type_nicas_blk::nicas_blk_apply ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(inout)  fld 
)
private

Apply NICAS method.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in,out]fldField

Definition at line 3762 of file type_nicas_blk.F90.

◆ nicas_blk_apply_convol()

subroutine type_nicas_blk::nicas_blk_apply_convol ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(nicas_blk%nsc), intent(inout)  alpha 
)
private

Apply convolution.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]alphaSubgrid field

Definition at line 4239 of file type_nicas_blk.F90.

◆ nicas_blk_apply_from_sqrt()

subroutine type_nicas_blk::nicas_blk_apply_from_sqrt ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(inout)  fld 
)
private

Apply NICAS method from its square-root formulation.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in,out]fldField

Definition at line 3841 of file type_nicas_blk.F90.

◆ nicas_blk_apply_interp()

subroutine type_nicas_blk::nicas_blk_apply_interp ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(nicas_blk%nsb), intent(in)  alpha,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(out)  fld 
)
private

Apply interpolation.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in]alphaSubgrid field
[out]fldField

Definition at line 3957 of file type_nicas_blk.F90.

◆ nicas_blk_apply_interp_ad()

subroutine type_nicas_blk::nicas_blk_apply_interp_ad ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(in)  fld,
real(kind_real), dimension(nicas_blk%nsb), intent(out)  alpha 
)
private

Apply interpolation adjoint.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in]fldField
[out]alphaSubgrid field

Definition at line 3986 of file type_nicas_blk.F90.

◆ nicas_blk_apply_interp_h()

subroutine type_nicas_blk::nicas_blk_apply_interp_h ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(nicas_blk%nc1b,geom%nl0), intent(in)  delta,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(out)  fld 
)
private

Apply horizontal interpolation.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in]deltaSubset Sc1 field, full levels
[out]fldField

Definition at line 4015 of file type_nicas_blk.F90.

◆ nicas_blk_apply_interp_h_ad()

subroutine type_nicas_blk::nicas_blk_apply_interp_h_ad ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(in)  fld,
real(kind_real), dimension(nicas_blk%nc1b,geom%nl0), intent(out)  delta 
)
private

Apply horizontal interpolation adjoint.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in]fldField
[out]deltaSubset Sc1 field, full levels

Definition at line 4046 of file type_nicas_blk.F90.

◆ nicas_blk_apply_interp_s()

subroutine type_nicas_blk::nicas_blk_apply_interp_s ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(nicas_blk%nsb), intent(in)  alpha,
real(kind_real), dimension(nicas_blk%nc1b,nicas_blk%nl1), intent(out)  gamma 
)
private

Apply subsampling interpolation.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]alphaSubgrid field
[out]gammaSubset Sc1 field, limited levels

Definition at line 4168 of file type_nicas_blk.F90.

◆ nicas_blk_apply_interp_s_ad()

subroutine type_nicas_blk::nicas_blk_apply_interp_s_ad ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
real(kind_real), dimension(nicas_blk%nc1b,nicas_blk%nl1), intent(in)  gamma,
real(kind_real), dimension(nicas_blk%nsb), intent(out)  alpha 
)
private

Apply subsampling interpolation adjoint.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]gammaSubset Sc1 field, limited levels
[out]alphaSubgrid field

Definition at line 4205 of file type_nicas_blk.F90.

◆ nicas_blk_apply_interp_v()

subroutine type_nicas_blk::nicas_blk_apply_interp_v ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(nicas_blk%nc1b,nicas_blk%nl1), intent(in)  gamma,
real(kind_real), dimension(nicas_blk%nc1b,geom%nl0), intent(out)  delta 
)
private

Apply vertical interpolation.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in]gammaSubset Sc1 field, limited levels
[out]deltaSubset Sc1 field, full levels

Definition at line 4076 of file type_nicas_blk.F90.

◆ nicas_blk_apply_interp_v_ad()

subroutine type_nicas_blk::nicas_blk_apply_interp_v_ad ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(nicas_blk%nc1b,geom%nl0), intent(in)  delta,
real(kind_real), dimension(nicas_blk%nc1b,nicas_blk%nl1), intent(out)  gamma 
)
private

Apply vertical interpolation adjoint.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in]deltaSubset Sc1 field, full levels
[out]gammaSubset Sc1 field, limited levels

Definition at line 4125 of file type_nicas_blk.F90.

◆ nicas_blk_apply_sqrt()

subroutine type_nicas_blk::nicas_blk_apply_sqrt ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(nicas_blk%nsa), intent(in)  alpha,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(out)  fld 
)
private

Apply NICAS method square-root.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in]alphaSubgrid field
[out]fldField

Definition at line 3866 of file type_nicas_blk.F90.

◆ nicas_blk_apply_sqrt_ad()

subroutine type_nicas_blk::nicas_blk_apply_sqrt_ad ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(geom%nc0a,geom%nl0), intent(in)  fld,
real(kind_real), dimension(nicas_blk%nsa), intent(out)  alpha 
)
private

Apply NICAS method square-root adjoint.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in]fldField
[out]alphaSubgrid field

Definition at line 3910 of file type_nicas_blk.F90.

◆ nicas_blk_buffer_size()

subroutine type_nicas_blk::nicas_blk_buffer_size ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(bpar_type), intent(in)  bpar,
integer, intent(out)  nbufi,
integer, intent(out)  nbufr,
integer, intent(out)  nbufl 
)
private

Buffer size.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]bparBlock parameters
[out]nbufiBuffer size (integer)
[out]nbufrBuffer size (real)
[out]nbuflBuffer size (logical)

Definition at line 775 of file type_nicas_blk.F90.

◆ nicas_blk_compute_convol()

subroutine type_nicas_blk::nicas_blk_compute_convol ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(cmat_blk_type), intent(in)  cmat_blk 
)
private

Compute convolution.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]namNamelist
[in]geomGeometry
[in]cmat_blkC matrix data block

Definition at line 2262 of file type_nicas_blk.F90.

◆ nicas_blk_compute_convol_distance()

subroutine type_nicas_blk::nicas_blk_compute_convol_distance ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Compute convolution with a distance approach.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry

Definition at line 2932 of file type_nicas_blk.F90.

◆ nicas_blk_compute_convol_network()

subroutine type_nicas_blk::nicas_blk_compute_convol_network ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Compute convolution with a network approach.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]namNamelist
[in]geomGeometry

Definition at line 2686 of file type_nicas_blk.F90.

◆ nicas_blk_compute_convol_weights()

subroutine type_nicas_blk::nicas_blk_compute_convol_weights ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
type(linop_type), intent(inout)  ctmp 
)
private

Compute convolution weights.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry
[in,out]ctmpConvolution operator

Definition at line 3118 of file type_nicas_blk.F90.

◆ nicas_blk_compute_grids()

subroutine type_nicas_blk::nicas_blk_compute_grids ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(nam_type), intent(in)  nam 
)
private

Compute grids.

Parameters
[in,out]nicas_blkNICAS data block
[in]namNamelist

Definition at line 3693 of file type_nicas_blk.F90.

◆ nicas_blk_compute_internal_normalization()

subroutine type_nicas_blk::nicas_blk_compute_internal_normalization ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl 
)
private

Compute internal normalization.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data

Definition at line 3374 of file type_nicas_blk.F90.

◆ nicas_blk_compute_interp_v()

subroutine type_nicas_blk::nicas_blk_compute_interp_v ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(geom_type), intent(in)  geom 
)
private

Compute vertical interpolation.

Parameters
[in,out]nicas_blkNICAS data block
[in]geomGeometry

Definition at line 2179 of file type_nicas_blk.F90.

◆ nicas_blk_compute_mpi_a()

subroutine type_nicas_blk::nicas_blk_compute_mpi_a ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom 
)
private

Compute NICAS MPI distribution, halos A.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in]geomGeometry

Definition at line 1715 of file type_nicas_blk.F90.

◆ nicas_blk_compute_mpi_ab()

subroutine type_nicas_blk::nicas_blk_compute_mpi_ab ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Compute NICAS MPI distribution, halos A-B.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]namNamelist
[in]geomGeometry

Definition at line 1915 of file type_nicas_blk.F90.

◆ nicas_blk_compute_mpi_c()

subroutine type_nicas_blk::nicas_blk_compute_mpi_c ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl 
)
private

Compute NICAS MPI distribution, halo C.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data

Definition at line 3224 of file type_nicas_blk.F90.

◆ nicas_blk_compute_normalization()

subroutine type_nicas_blk::nicas_blk_compute_normalization ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom 
)
private

Compute normalization.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry

Definition at line 3444 of file type_nicas_blk.F90.

◆ nicas_blk_compute_parameters()

subroutine type_nicas_blk::nicas_blk_compute_parameters ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(cmat_blk_type), intent(in)  cmat_blk,
logical, intent(in), optional  sqrt_rescaling 
)
private

Compute NICAS parameters.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]namNamelist
[in]geomGeometry
[in]cmat_blkC matrix data block
[in]sqrt_rescalingSquare-root rescaling flag

Definition at line 1246 of file type_nicas_blk.F90.

Here is the caller graph for this function:

◆ nicas_blk_compute_parameters_horizontal_smoother()

subroutine type_nicas_blk::nicas_blk_compute_parameters_horizontal_smoother ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
real(kind_real), dimension(geom%nl0), intent(in)  rhflt 
)
private

Compute NICAS parameters for a horizontal smoother.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]namNamelist
[in]geomGeometry
[in]rhfltHorizontal support radius profile

Definition at line 1389 of file type_nicas_blk.F90.

Here is the caller graph for this function:

◆ nicas_blk_compute_sampling_c1()

subroutine type_nicas_blk::nicas_blk_compute_sampling_c1 ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(cmat_blk_type), intent(in)  cmat_blk 
)
private

Compute NICAS sampling, subset Sc1.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]namNamelist
[in]geomGeometry
[in]cmat_blkC matrix data block

Definition at line 1463 of file type_nicas_blk.F90.

◆ nicas_blk_compute_sampling_c2()

subroutine type_nicas_blk::nicas_blk_compute_sampling_c2 ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(cmat_blk_type), intent(in)  cmat_blk 
)
private

Compute NICAS sampling, subset Sc2.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]namNamelist
[in]geomGeometry
[in]cmat_blkC matrix data block

Definition at line 1785 of file type_nicas_blk.F90.

◆ nicas_blk_compute_sampling_v()

subroutine type_nicas_blk::nicas_blk_compute_sampling_v ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(cmat_blk_type), intent(in)  cmat_blk 
)
private

Compute NICAS sampling, vertical dimension.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]cmat_blkC matrix data block

Definition at line 1619 of file type_nicas_blk.F90.

◆ nicas_blk_dealloc()

subroutine type_nicas_blk::nicas_blk_dealloc ( class(nicas_blk_type), intent(inout)  nicas_blk)
private

Release memory (full)

Parameters
[in,out]nicas_blkNICAS data block

Definition at line 419 of file type_nicas_blk.F90.

◆ nicas_blk_deserialize()

subroutine type_nicas_blk::nicas_blk_deserialize ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(bpar_type), intent(in)  bpar,
integer, intent(in)  nbufi,
integer, intent(in)  nbufr,
integer, intent(in)  nbufl,
integer, dimension(nbufi), intent(in)  bufi,
real(kind_real), dimension(nbufr), intent(in)  bufr,
logical, dimension(nbufl), intent(in)  bufl 
)
private

Deserialize.

Parameters
[in,out]nicas_blkNICAS data block
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]bparBlock parameters
[in]nbufiBuffer size (integer)
[in]nbufrBuffer size (real)
[in]nbuflBuffer size (logical)
[in]bufiBuffer (integer)
[in]bufrBuffer (real)
[in]buflBuffer (logical)

Definition at line 1024 of file type_nicas_blk.F90.

◆ nicas_blk_partial_dealloc()

subroutine type_nicas_blk::nicas_blk_partial_dealloc ( class(nicas_blk_type), intent(inout)  nicas_blk)
private

Release memory (partial)

Parameters
[in,out]nicas_blkNICAS data block

Definition at line 335 of file type_nicas_blk.F90.

◆ nicas_blk_read()

subroutine type_nicas_blk::nicas_blk_read ( class(nicas_blk_type), intent(inout)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(bpar_type), intent(in)  bpar,
integer, intent(in)  ncid 
)
private

Read.

Parameters
[in,out]nicas_blkNICAS data
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]bparBlock parameters
[in]ncidNetCDF file

Definition at line 473 of file type_nicas_blk.F90.

◆ nicas_blk_serialize()

subroutine type_nicas_blk::nicas_blk_serialize ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(bpar_type), intent(in)  bpar,
integer, intent(in)  nbufi,
integer, intent(in)  nbufr,
integer, intent(in)  nbufl,
integer, dimension(nbufi), intent(out)  bufi,
real(kind_real), dimension(nbufr), intent(out)  bufr,
logical, dimension(nbufl), intent(out)  bufl 
)
private

Serialize.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]bparBlock parameters
[in]nbufiBuffer size (integer)
[in]nbufrBuffer size (real)
[in]nbuflBuffer size (logical)
[out]bufiBuffer (integer)
[out]bufrBuffer (real)
[out]buflBuffer (logical)

Definition at line 848 of file type_nicas_blk.F90.

◆ nicas_blk_test_adjoint()

subroutine type_nicas_blk::nicas_blk_test_adjoint ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(geom_type), intent(in)  geom 
)
private

Test NICAS adjoint accuracy.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in,out]rngRandom number generator
[in]geomGeometry

Definition at line 4273 of file type_nicas_blk.F90.

◆ nicas_blk_test_dirac()

subroutine type_nicas_blk::nicas_blk_test_dirac ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(bpar_type), intent(in)  bpar,
type(io_type), intent(in)  io 
)
private

Apply NICAS to diracs.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]bparBlock parameters
[in]ioI/O

Definition at line 4509 of file type_nicas_blk.F90.

◆ nicas_blk_write()

subroutine type_nicas_blk::nicas_blk_write ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
type(nam_type), intent(in)  nam,
type(geom_type), intent(in)  geom,
type(bpar_type), intent(in)  bpar,
integer, intent(in)  ncid 
)
private

Write.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]namNamelist
[in]geomGeometry
[in]bparBlock parameters
[in]ncidNetCDF file

Definition at line 609 of file type_nicas_blk.F90.

◆ nicas_blk_write_grids()

subroutine type_nicas_blk::nicas_blk_write_grids ( class(nicas_blk_type), intent(in)  nicas_blk,
type(mpl_type), intent(inout)  mpl,
integer, intent(in)  ncid 
)
private

Write NICAS grids.

Parameters
[in]nicas_blkNICAS data block
[in,out]mplMPI data
[in]ncidNetCDF file

Definition at line 717 of file type_nicas_blk.F90.

Variable Documentation

◆ s_inf

real(kind_real), parameter type_nicas_blk::s_inf = 1.0e-2_kind_real

Definition at line 35 of file type_nicas_blk.F90.

◆ sqrt_h

real(kind_real), parameter type_nicas_blk::sqrt_h = 0.725_kind_real

Definition at line 34 of file type_nicas_blk.F90.

◆ sqrt_r

real(kind_real), parameter type_nicas_blk::sqrt_r = 0.725_kind_real

Definition at line 33 of file type_nicas_blk.F90.