dyn_comp_impl Submodule

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_impl~~UsesGraph module~dyn_comp_impl dyn_comp_impl module~dyn_comp dyn_comp module~dyn_comp_impl->module~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

Subroutines

subroutine check_topography_data(pio_file)

Check for consistency in topography data. The presence of topography file is inferred from the pio_file pointer. If topography file is used, check that the "PHIS" variable, which denotes surface geopotential, is consistent with the surface geometric height in MPAS. Otherwise, if topography file is not used, check that the surface geometric height in MPAS is zero. (KCW, 2024-05-10)

Arguments

Type IntentOptional Attributes Name
type(file_desc_t), intent(in), pointer :: pio_file

subroutine dyn_variable_dump()

Arguments

None

Mark everything in the physics_types module along with constituents as initialized to prevent physics from attempting to read them from a file. (KCW, 2024-05-23)

Arguments

None

Set analytic initial condition for MPAS. (KCW, 2024-05-22)

Arguments

None

Inform CAM-SIMA about the index mapping between MPAS scalars and CAM-SIMA constituents. (KCW, 2025-07-17)

Arguments

None

Set the thermodynamic energy formula of dynamical core to MPAS. (KCW, 2025-07-17)

Arguments

None

Module Subroutines

module subroutine dyn_debug_print(level, message, printer)

Print a debug message at a debug level. The debug message will be prefixed by "MPAS Interface (N): ", where N is the MPI rank. The debug level is one of the debugout_* constants from the cam_logfile module. If printer is not supplied, the MPI root rank will print. Otherwise, the designated MPI rank will print instead. (KCW, 2024-02-03)

Arguments

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

module subroutine dyn_final()

Finalize MPAS dynamical core as well as its framework. (KCW, 2024-10-04)

Arguments

None

module subroutine dyn_init(cam_runtime_opts, dyn_in, dyn_out)

Initialize MPAS dynamical core by one of the following: 1. Setting analytic initial condition; 2. Reading initial condition from a file; 3. Restarting from a file. (KCW, 2024-05-28)

Arguments

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

module subroutine dyn_readnl(namelist_path)

Read MPAS namelist from the supplied path. Additionally, perform early initialization of MPAS dynamical core. (KCW, 2024-02-09)

Arguments

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

module subroutine dyn_run()

Run MPAS dynamical core to integrate the dynamical states with time. (KCW, 2024-07-11)

Arguments

None