dyn_comp Module

This module, part of the MPAS interface, integrates MPAS dynamical core with CAM-SIMA by implementing the necessary APIs and managing their interaction.

It contains the instance of MPAS dynamical core, which is used extensively throughout CAM-SIMA. It provides core functionalities such as the initialization, running, and finalization of MPAS dynamical core.


Uses

  • module~~dyn_comp~~UsesGraph module~dyn_comp dyn_comp module~dyn_mpas_subdriver dyn_mpas_subdriver module~dyn_comp->module~dyn_mpas_subdriver iso_fortran_env iso_fortran_env module~dyn_mpas_subdriver->iso_fortran_env mpas_derived_types mpas_derived_types module~dyn_mpas_subdriver->mpas_derived_types mpas_kind_types mpas_kind_types module~dyn_mpas_subdriver->mpas_kind_types mpi mpi module~dyn_mpas_subdriver->mpi

Used by

  • module~~dyn_comp~~UsedByGraph module~dyn_comp dyn_comp module~dyn_comp_impl dyn_comp_impl module~dyn_comp_impl->module~dyn_comp module~dyn_grid dyn_grid module~dyn_grid->module~dyn_comp none~init_shared_variables init_shared_variables none~init_shared_variables->module~dyn_comp none~init_shared_variables~2 init_shared_variables none~init_shared_variables~2->module~dyn_comp none~init_shared_variables~2->module~dyn_grid none~set_mpas_physics_tendency_rho set_mpas_physics_tendency_rho none~set_mpas_physics_tendency_rho->module~dyn_comp none~set_mpas_physics_tendency_rho->module~dyn_grid none~set_mpas_physics_tendency_rtheta set_mpas_physics_tendency_rtheta none~set_mpas_physics_tendency_rtheta->module~dyn_comp none~set_mpas_physics_tendency_rtheta->module~dyn_grid none~set_mpas_physics_tendency_ru set_mpas_physics_tendency_ru none~set_mpas_physics_tendency_ru->module~dyn_comp none~set_mpas_physics_tendency_ru->module~dyn_grid none~set_physics_state_external set_physics_state_external none~set_physics_state_external->module~dyn_comp proc~define_cam_grid define_cam_grid proc~define_cam_grid->module~dyn_comp proc~dyn_exchange_constituent_states dyn_exchange_constituent_states proc~dyn_exchange_constituent_states->module~dyn_comp proc~dyn_exchange_constituent_states->module~dyn_grid proc~dyn_inquire_mesh_dimensions dyn_inquire_mesh_dimensions proc~dyn_inquire_mesh_dimensions->module~dyn_comp proc~dynamics_to_physics_coupling dynamics_to_physics_coupling proc~dynamics_to_physics_coupling->module~dyn_comp proc~dynamics_to_physics_coupling->module~dyn_grid proc~init_physics_grid init_physics_grid proc~init_physics_grid->module~dyn_comp proc~init_reference_pressure init_reference_pressure proc~init_reference_pressure->module~dyn_comp proc~model_grid_init model_grid_init proc~model_grid_init->module~dyn_comp proc~physics_to_dynamics_coupling physics_to_dynamics_coupling proc~physics_to_dynamics_coupling->module~dyn_comp proc~stepon_final stepon_final proc~stepon_final->module~dyn_comp proc~stepon_init stepon_init proc~stepon_init->module~dyn_comp proc~stepon_run2 stepon_run2 proc~stepon_run2->module~dyn_comp proc~stepon_run3 stepon_run3 proc~stepon_run3->module~dyn_comp proc~stepon_timestep_init stepon_timestep_init proc~stepon_timestep_init->module~dyn_comp module~dyn_grid_impl dyn_grid_impl module~dyn_grid_impl->module~dyn_grid none~init_shared_variables~3 init_shared_variables none~init_shared_variables~3->module~dyn_grid none~set_mpas_state_rho_base_theta_base set_mpas_state_rho_base_theta_base none~set_mpas_state_rho_base_theta_base->module~dyn_grid none~set_mpas_state_rho_theta set_mpas_state_rho_theta none~set_mpas_state_rho_theta->module~dyn_grid none~set_mpas_state_scalars set_mpas_state_scalars none~set_mpas_state_scalars->module~dyn_grid none~set_mpas_state_u set_mpas_state_u none~set_mpas_state_u->module~dyn_grid none~set_mpas_state_w set_mpas_state_w none~set_mpas_state_w->module~dyn_grid proc~check_topography_data check_topography_data proc~check_topography_data->module~dyn_grid proc~dyn_variable_dump dyn_variable_dump proc~dyn_variable_dump->module~dyn_grid

Variables

Type Visibility Attributes Name Initial
integer, public, allocatable :: advected_constituent_index(:)

CAM-SIMA holds information about all constituents. However, MPAS dynamical core only knows about the advected ones. This array contains the indexes of constituents advected by MPAS dynamical core. For example, if CAM-SIMA has 5 constituents in total, and MPAS dynamical core only advects the 1st, 3rd, and 4th ones, then this array will be [1, 3, 4].

type(mpas_dynamical_core_type), public :: mpas_dynamical_core

The "instance/object" of MPAS dynamical core.


Interfaces

interface

  • public module subroutine dyn_debug_print(level, message, printer)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: level
    character(len=*), intent(in) :: message
    integer, intent(in), optional :: printer

interface

interface

  • public module subroutine dyn_init(cam_runtime_opts, dyn_in, dyn_out)

    Arguments

    Type IntentOptional Attributes Name
    type(runtime_options), intent(inout) :: cam_runtime_opts
    type(dyn_import_t), intent(in) :: dyn_in
    type(dyn_export_t), intent(in) :: dyn_out

interface

  • public module subroutine dyn_readnl(namelist_path)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: namelist_path

interface


Derived Types

type, public :: dyn_export_t

This derived type is not used by MPAS dynamical core. It exists only as a placeholder because CAM-SIMA requires it. Developers/Maintainers/Users who wish to interact with MPAS dynamical core may do so by using the "instance/object" below.

type, public :: dyn_import_t

This derived type is not used by MPAS dynamical core. It exists only as a placeholder because CAM-SIMA requires it. Developers/Maintainers/Users who wish to interact with MPAS dynamical core may do so by using the "instance/object" below.