mus_calcAuxFieldAndExchange Subroutine

public subroutine mus_calcAuxFieldAndExchange(auxField, calcAuxField, state, pdfData, nFields, field, globSrc, stencil, varSys, derVarPos, phyConvFac, general, iLevel, minLevel, schemeHeader, quantities)

This routine compute auxField variable from pre-collision pdf and exchange halos

Arguments

Type IntentOptional Attributes Name
type(mus_auxFieldVar_type), intent(inout) :: auxField

auxilary field array

procedure(mus_proc_calcAuxField), intent(in), pointer :: calcAuxField

function pointer to calculate auxField

real(kind=rk), intent(in) :: state(:)

state array

type(pdf_data_type), intent(in) :: pdfData

contains neigh array and nElems on current level

integer, intent(in) :: nFields

Number of fields

type(mus_field_type), intent(inout) :: field(nFields)

contains sources of all fields

type(mus_source_type), intent(inout) :: globSrc

global source

type(tem_stencilHeader_type), intent(in) :: stencil

stencil header

type(tem_varSys_type), intent(in) :: varSys

variable system

type(mus_derVarPos_type), intent(in) :: derVarPos(:)

contains auxField position of all fields in varSys

type(mus_convertFac_type), intent(in) :: phyConvFac

physics conversion factors for this level

type(tem_general_type), intent(in) :: general

contains commPattern, MPI communicator and simControl

integer, intent(in) :: iLevel

current level

integer, intent(in) :: minLevel

minlevel

type(mus_scheme_header_type), intent(in) :: schemeHeader

scheme header

type(mus_scheme_derived_quantities_type), intent(in) :: quantities

Class that contains pointers to the proper derived quantities functions


Calls

proc~~mus_calcauxfieldandexchange~~CallsGraph proc~mus_calcauxfieldandexchange mus_calcAuxFieldAndExchange exchange_real exchange_real proc~mus_calcauxfieldandexchange->exchange_real

Called by

proc~~mus_calcauxfieldandexchange~~CalledByGraph proc~mus_calcauxfieldandexchange mus_calcAuxFieldAndExchange proc~do_benchmark do_benchmark proc~do_benchmark->proc~mus_calcauxfieldandexchange proc~do_fast_singlelevel do_fast_singleLevel proc~do_fast_singlelevel->proc~mus_calcauxfieldandexchange proc~do_recursive_multilevel do_recursive_multiLevel proc~do_recursive_multilevel->proc~mus_calcauxfieldandexchange proc~mus_reset_aux mus_reset_aux proc~mus_reset_aux->proc~mus_calcauxfieldandexchange proc~mus_perform_dynloadbal mus_perform_dynLoadBal proc~mus_perform_dynloadbal->proc~mus_reset_aux proc~mus_solve mus_solve proc~mus_solve->proc~mus_perform_dynloadbal program~musubi musubi program~musubi->proc~mus_solve