LCOV - code coverage report
Current view: top level - physics/cam - iondrag.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 10 12 83.3 %
Date: 2024-12-17 22:39:59 Functions: 5 6 83.3 %

          Line data    Source code
       1             : module iondrag
       2             :   !-------------------------------------------------------------------------------
       3             :   !  Dummy interface for waccm/iondrag module
       4             :   !-------------------------------------------------------------------------------
       5             : 
       6             :   use shr_kind_mod, only: r8 => shr_kind_r8
       7             :   use ppgrid       ,only: pver
       8             :   use physics_types,only: physics_state, physics_ptend
       9             :   use physics_buffer ,only: physics_buffer_desc
      10             : 
      11             :   implicit none
      12             : 
      13             :   save
      14             : 
      15             :   private                         ! Make default type private to the module
      16             : 
      17             :   !-------------------------------------------------------------------------------
      18             :   ! Public interfaces:
      19             :   !-------------------------------------------------------------------------------
      20             :   public :: iondrag_register         ! Register variables in pbuf physics buffer
      21             :   public :: iondrag_init             ! Initialization
      22             :   public :: iondrag_calc             ! ion drag tensors lxx,lyy,lxy,lyx
      23             :   public :: iondrag_readnl
      24             :   public :: iondrag_timestep_init
      25             :   public :: do_waccm_ions
      26             : 
      27             :   interface iondrag_calc
      28             :      module procedure iondrag_calc_ions
      29             :      module procedure iondrag_calc_ghg
      30             :   end interface
      31             : 
      32             :   logical, parameter :: do_waccm_ions = .false.
      33             : 
      34             : contains
      35             : 
      36             :   !================================================================================================
      37             : 
      38        1536 :   subroutine iondrag_readnl(nlfile)
      39             : 
      40             :     character(len=*), intent(in) :: nlfile  ! filepath for file containing namelist input
      41             : 
      42        1536 :   end subroutine iondrag_readnl
      43             : 
      44             :   !==============================================================================     
      45             : 
      46        1536 :   subroutine iondrag_register
      47             : 
      48        1536 :   end subroutine iondrag_register
      49             : 
      50             :   !================================================================================================
      51             : 
      52        1536 :   subroutine iondrag_init( pref_mid )
      53             :    
      54             :     !-------------------------------------------------------------------------------
      55             :     ! dummy arguments
      56             :     !-------------------------------------------------------------------------------
      57             :     real(r8), intent(in) :: pref_mid(pver)
      58             : 
      59        1536 :   end subroutine iondrag_init
      60             : 
      61             :   !================================================================================================
      62             : 
      63      370944 :   subroutine iondrag_timestep_init
      64      370944 :   end subroutine iondrag_timestep_init
      65             : 
      66             :   !================================================================================================
      67           0 :   subroutine iondrag_calc_ions( lchnk, ncol, state, ptend, pbuf, delt )
      68             : 
      69             :     !-------------------------------------------------------------------------------
      70             :     ! dummy arguments
      71             :     !-------------------------------------------------------------------------------
      72             :     integer,intent(in)   :: lchnk               ! current chunk index
      73             :     integer,intent(in)   :: ncol                ! number of atmospheric columns
      74             :     real(r8), intent(in) :: delt                ! time step (s)
      75             :     type(physics_state), intent(in), target    :: state ! Physics state variables
      76             :     type(physics_ptend), intent(out)   :: ptend   ! Physics tendencies
      77             :     type(physics_buffer_desc), pointer :: pbuf(:) ! physics buffer
      78             : 
      79           0 :   end subroutine iondrag_calc_ions
      80             : 
      81             :   !=========================================================================
      82             : 
      83    62545392 :   subroutine iondrag_calc_ghg (lchnk,ncol,state,ptend)
      84             : 
      85             :     !--------------------Input arguments------------------------------------
      86             : 
      87             :     integer, intent(in) :: lchnk                   ! chunk identifier
      88             :     integer, intent(in) :: ncol                    ! number of atmospheric columns
      89             : 
      90             :     type(physics_state), intent(in) :: state
      91             :     type(physics_ptend), intent(out):: ptend
      92             : 
      93     1489176 :   end subroutine iondrag_calc_ghg
      94             : 
      95             :   !===================================================================================
      96             : 
      97             : end module iondrag

Generated by: LCOV version 1.14