dyn_grid 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 reads and uses the information from MPAS mesh to initialize various model grids (e.g., dynamics, physics) for CAM-SIMA in terms of dynamics decomposition.


Uses

    • cam_grid_support
  • module~~dyn_grid~~UsesGraph module~dyn_grid dyn_grid cam_grid_support cam_grid_support module~dyn_grid->cam_grid_support

Variables

Type Visibility Attributes Name Initial
character(len=*), public, parameter :: dyn_grid_name(*) = [character(max_hcoordname_len)::'mpas_cell', 'cam_cell', 'mpas_edge', 'mpas_vertex']

Functions

public pure function dyn_grid_id(name)

Helper function for returning grid id given its name. (KCW, 2024-03-27)

Arguments

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

Return Value integer


Subroutines

private subroutine define_cam_grid()

This subroutine defines and registers four variants of dynamics grids in terms of dynamics decomposition. Their names are listed in dyn_grid_name and their corresponding ids can be determined by calling dyn_grid_id. * "mpas_cell": Grid that is centered at MPAS "cell" points. * "cam_cell": Grid that is also centered at MPAS "cell" points but uses standard CAM-SIMA coordinate and dimension names. * "mpas_edge": Grid that is centered at MPAS "edge" points. * "mpas_vertex": Grid that is centered at MPAS "vertex" points. (KCW, 2024-03-28)

Arguments

None

private subroutine init_physics_grid()

Initialize physics grid in terms of dynamics decomposition. Provide grid and mapping information between global and local indexes to physics by calling phys_grid_init. (KCW, 2024-03-27)

Arguments

None

private subroutine init_reference_pressure()

Initialize reference pressure for use by physics. (KCW, 2024-03-25)

Arguments

None

public subroutine model_grid_init()

Initialize various model grids (e.g., dynamics, physics) in terms of dynamics decomposition. Additionally, MPAS framework initialization and reading time-invariant (e.g., grid/mesh) variables are also being completed in this subroutine. (KCW, 2024-03-29)

Arguments

None