LCOV - code coverage report
Current view: | top level - physics/clubb/src/CLUBB_core - stats_lh_sfc_module.F90 (source / functions) |  |  | Hit | Total | Coverage
Test: | coverage.info |  | Lines: | 0 | 26 | 0.0 %
Date: | 2024-12-17 22:39:59 |  | Functions: | 0 | 1 | 0.0 %

              Line data    Source code
           1             : !-----------------------------------------------------------------------
           2             : ! $Id$
           3             : !===============================================================================
           4             :
           5             : module stats_lh_sfc_module
           6             :
           7             :   implicit none
           8             :
           9             :   private ! Set Default Scope
          10             :
          11             :   public :: stats_init_lh_sfc
          12             :
          13             :   ! Constant parameters
          14             :   integer, parameter, public :: nvarmax_lh_sfc = 10  ! Maximum variables allowed
          15             :
          16             :   contains
          17             :
          18             : !-----------------------------------------------------------------------
          19           0 :   subroutine stats_init_lh_sfc( vars_lh_sfc,                    & ! intent(in)
          20             :                                 l_error,                        & ! intent(inout)
          21             :                                 stats_metadata, stats_lh_sfc )    ! intent(inout)
          22             :
          23             : ! Description:
          24             : !   Initializes array indices for stats_lh_sfc
          25             : ! References:
          26             : !   None
          27             : !-----------------------------------------------------------------------
          28             :
          29             :     use constants_clubb, only: &
          30             :         fstderr ! Constant(s)
          31             :
          32             :     use stats_type_utilities, only: &
          33             :         stat_assign ! Procedure
          34             :
          35             :     use stats_type, only: &
          36             :         stats ! Type
          37             :
          38             :     use stats_variables, only: &
          39             :         stats_metadata_type
          40             :
          41             :     implicit none
          42             :
          43             :     ! External
          44             :     intrinsic :: trim
          45             :
          46             :     !--------------------- Input Variable ---------------------
          47             :     character(len= * ), dimension(nvarmax_lh_sfc), intent(in) :: vars_lh_sfc
          48             :
          49             :     !--------------------- InOut Variables ---------------------
          50             :     type (stats_metadata_type), intent(inout) :: &
          51             :       stats_metadata
          52             :
          53             :     type (stats), target, intent(inout) :: &
          54             :       stats_lh_sfc
          55             :
          56             :     logical, intent(inout) :: l_error
          57             :
          58             :     !--------------------- Local Varables ---------------------
          59             :     integer :: i, k
          60             :
          61             :     !--------------------- Begin Code ---------------------
          62             :
          63             :     ! Default initialization for array indices for stats_sfc is zero (see module
          64             :     ! stats_variables)
          65             :
          66             :     ! Assign pointers for statistics variables stats_sfc
          67             :
          68           0 :     k = 1
          69           0 :     do i = 1, stats_lh_sfc%num_output_fields
          70             :
          71           0 :       select case ( trim( vars_lh_sfc(i) ) )
          72             :
          73             :       case ( 'lh_morr_snow_rate' )
          74           0 :         stats_metadata%ilh_morr_snow_rate = k
          75             :         call stat_assign( var_index=stats_metadata%ilh_morr_snow_rate, var_name="lh_morr_snow_rate", & !intent(in)
          76             :              var_description="Snow+Ice+Graupel fallout rate from Morrison scheme [mm/day]", & ! In
          77             :              var_units="mm/day", l_silhs=.true., & ! intent(in)
          78           0 :              grid_kind=stats_lh_sfc ) ! intent(inout)
          79           0 :         k = k + 1
          80             :
          81             :       case ( 'lh_vwp' )
          82           0 :         stats_metadata%ilh_vwp = k
          83             :         call stat_assign( var_index=stats_metadata%ilh_vwp, var_name="lh_vwp", & ! intent(in)
          84             :              var_description="Vapor water path [kg/m^2]", var_units="kg/m^2", & ! intent(in)
          85             :              l_silhs=.true., & ! intent(in)
          86           0 :              grid_kind=stats_lh_sfc ) ! intent(inout)
          87           0 :         k = k + 1
          88             :
          89             :       case ( 'lh_lwp' )
          90           0 :         stats_metadata%ilh_lwp = k
          91             :         call stat_assign( var_index=stats_metadata%ilh_lwp, var_name="lh_lwp", & ! intent(in)
          92             :              var_description="Liquid water path [kg/m^2]", var_units="kg/m^2", & ! intent(in)
          93             :              l_silhs=.true., & ! intent(in)
          94           0 :              grid_kind=stats_lh_sfc ) ! intent(inout)
          95           0 :         k = k + 1
          96             :
          97             :       case ( 'k_lh_start' )
          98           0 :         stats_metadata%ik_lh_start = k
          99             :         call stat_assign( var_index=stats_metadata%ik_lh_start, var_name="k_lh_start", & ! intent(in)
         100             :              var_description="Index of height level for SILHS sampling preferentially within &
         101             :                              &cloud [integer]", var_units="integer", l_silhs=.true., &
         102           0 :              grid_kind=stats_lh_sfc ) ! intent(inout)
         103           0 :         k = k + 1
         104             :
         105             :       case ( 'lh_sample_weights_sum' )
         106           0 :         stats_metadata%ilh_sample_weights_sum = k
         107             :         call stat_assign( var_index=stats_metadata%ilh_sample_weights_sum, & ! intent(in)
         108             :              var_name="lh_sample_weights_sum", & ! intent(in)
         109             :              var_description="Sum of the sample point weights [-]", var_units="-", & ! intent(in)
         110             :              l_silhs=.true., & ! intent(in)
         111           0 :              grid_kind=stats_lh_sfc ) ! intent(inout)
         112           0 :         k = k + 1
         113             :
         114             :       case ( 'lh_sample_weights_avg' )
         115           0 :         stats_metadata%ilh_sample_weights_avg = k
         116             :         call stat_assign( var_index=stats_metadata%ilh_sample_weights_avg, & ! intent(in)
         117             :              var_name="lh_sample_weights_avg", & ! intent(in)
         118             :              var_description="Average of the sample point weights [-]", &  ! intent(in)
         119             :              var_units="-", & ! intent(in)
         120             :              l_silhs=.true., &  ! intent(in)
         121           0 :              grid_kind=stats_lh_sfc ) ! intent(inout)
         122           0 :         k = k + 1
         123             :
         124             :       case default
         125           0 :         write(fstderr,*) 'Error:  unrecognized variable in vars_lh_sfc:  ',  &
         126           0 :               trim( vars_lh_sfc(i) )
         127           0 :         l_error = .true.  ! This will stop the run.
         128             :
         129             :       end select
         130             :
         131             :     end do ! i = 1, stats_lh_sfc%num_output_fields
         132             :
         133           0 :     return
         134             :   end subroutine stats_init_lh_sfc
         135             :
         136             : end module stats_lh_sfc_module
         137             :

Generated by: LCOV version 1.14