Line data Source code
1 : module dyn_internal_state 2 : 3 : ! Container for the FV dynamics internal state. 4 : 5 : use dynamics_vars, only : t_fvdycore_state, t_fvdycore_grid, & 6 : t_fvdycore_constants, t_fvdycore_vars 7 : 8 : implicit none 9 : private 10 : save 11 : 12 : public :: & 13 : get_dyn_state, & 14 : get_dyn_state_grid, & 15 : get_dyn_state_vars, & 16 : get_dyn_state_constants 17 : 18 : type (t_fvdycore_state), target :: dyn_state 19 : 20 : !======================================================================================== 21 : contains 22 : !======================================================================================== 23 : 24 68352 : function get_dyn_state() result(dynstate) 25 : type(t_fvdycore_state), pointer :: dynstate 26 68352 : dynstate => dyn_state 27 68352 : end function get_dyn_state 28 : 29 : !======================================================================================== 30 : 31 19968 : function get_dyn_state_grid() result(grid) 32 : type(t_fvdycore_grid), pointer :: grid 33 19968 : grid => dyn_state%grid 34 19968 : end function get_dyn_state_grid 35 : 36 : !======================================================================================== 37 : 38 0 : function get_dyn_state_vars() result(vars) 39 : type(t_fvdycore_vars), pointer :: vars 40 0 : vars => dyn_state%vars 41 0 : end function get_dyn_state_vars 42 : 43 : !======================================================================================== 44 : 45 0 : function get_dyn_state_constants() result(constants) 46 : type(t_fvdycore_constants), pointer :: constants 47 0 : constants => dyn_state%constants 48 0 : end function get_dyn_state_constants 49 : 50 : !======================================================================================== 51 : 52 : end module dyn_internal_state