atl_initialize_state_der Subroutine

public subroutine atl_initialize_state_der(state_der)

This routine is used to initialize an array in an OpenMP PARALLEL region. Usually this is done using a WORKSHARE directive, but due to a bug in Intel 15 we cannot make use of WORKSHARE.

This routine is specifically made to initialize the state_der array of the atl_kerneldata_type, which is a three-dimensional array.

With these dimension we then can calculate the number of elements in the array. This number is then used in a collapsed loop to initialize the array elements.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(inout) :: state_der(:,:,:)

The state derivates of the kerneldata.


Called by

proc~~atl_initialize_state_der~~CalledByGraph proc~atl_initialize_state_der atl_initialize_state_der proc~modg_1d_compute_project_physflux modg_1d_compute_project_physFlux proc~modg_1d_compute_project_physflux->proc~atl_initialize_state_der proc~modg_2d_compute_project_physflux modg_2d_compute_project_physFlux proc~modg_2d_compute_project_physflux->proc~atl_initialize_state_der proc~modg_compute_project_physflux modg_compute_project_physFlux proc~modg_compute_project_physflux->proc~atl_initialize_state_der proc~compute_rhs_cubes_modg_2d compute_rhs_cubes_modg_2d proc~compute_rhs_cubes_modg_2d->proc~modg_2d_compute_project_physflux proc~compute_rhs_cubes_modg_1d compute_rhs_cubes_modg_1d proc~compute_rhs_cubes_modg_1d->proc~modg_1d_compute_project_physflux proc~compute_rhs_cubes_modg compute_rhs_cubes_modg proc~compute_rhs_cubes_modg->proc~modg_compute_project_physflux proc~compute_rhs_cubes compute_rhs_cubes proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg_2d proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg_1d proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg interface~atl_compute_rhs atl_compute_rhs interface~atl_compute_rhs->proc~compute_rhs_cubes

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: lb(3)

First we get the extents for the different dimensions.

integer, private :: ub(3)

First we get the extents for the different dimensions.

integer, private :: length

First we get the extents for the different dimensions.

integer, private :: n

First we get the extents for the different dimensions.

integer, private :: x

First we get the extents for the different dimensions.

integer, private :: y

First we get the extents for the different dimensions.

integer, private :: z

First we get the extents for the different dimensions.