https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_arrayStrip@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 624 624 100.0 %
Date: 2024-04-08 03:18:57 Functions: 390 390 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_arrayStrip](@ref pm_arrayStrip).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, 3:48 AM, October 13, 2017, Institute for Computational Engineering and Sciences, Austin, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arrayStrip) routines ! LCOV_EXCL_LINE
      28             : 
      29             : #if CHECK_ENABLED
      30             :     use pm_err, only: getFine
      31             :     use pm_val2str, only: getStr
      32             :     use pm_err, only: setAsserted
      33             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      34             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      35             : #else
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      37             : #endif
      38             : 
      39             :     implicit none
      40             : 
      41             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      42             : 
      43             : contains
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : #define getStripped_ENABLED 1
      48             : 
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             : 
      53             : #define SB_ENABLED 1
      54             : 
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             : 
      59             : #define DefCom_ENABLED 1
      60             : 
      61             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      62             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      63             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      64             : 
      65             : #define D0_D0_ENABLED 1
      66             : 
      67             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      68             : 
      69             : #define SK_ENABLED 1
      70             : 
      71             : #if SK5_ENABLED
      72             :     module procedure getStrippedDefComB_D0_D0_SK5
      73             :         use pm_kind, only: SKC => SK5
      74             : #include "pm_arrayStrip@routines.inc.F90"
      75             :     end procedure
      76             : #endif
      77             : 
      78             : #if SK4_ENABLED
      79             :     module procedure getStrippedDefComB_D0_D0_SK4
      80             :         use pm_kind, only: SKC => SK4
      81             : #include "pm_arrayStrip@routines.inc.F90"
      82             :     end procedure
      83             : #endif
      84             : 
      85             : #if SK3_ENABLED
      86             :     module procedure getStrippedDefComB_D0_D0_SK3
      87             :         use pm_kind, only: SKC => SK3
      88             : #include "pm_arrayStrip@routines.inc.F90"
      89             :     end procedure
      90             : #endif
      91             : 
      92             : #if SK2_ENABLED
      93             :     module procedure getStrippedDefComB_D0_D0_SK2
      94             :         use pm_kind, only: SKC => SK2
      95             : #include "pm_arrayStrip@routines.inc.F90"
      96             :     end procedure
      97             : #endif
      98             : 
      99             : #if SK1_ENABLED
     100      194204 :     module procedure getStrippedDefComB_D0_D0_SK1
     101             :         use pm_kind, only: SKC => SK1
     102             : #include "pm_arrayStrip@routines.inc.F90"
     103      194204 :     end procedure
     104             : #endif
     105             : 
     106             : #undef SK_ENABLED
     107             : 
     108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     109             : 
     110             : #undef D0_D0_ENABLED
     111             : 
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     115             : 
     116             : #define D1_D0_ENABLED 1
     117             : 
     118             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     119             : 
     120             : #define SK_ENABLED 1
     121             : 
     122             : #if SK5_ENABLED
     123             :     module procedure getStrippedDefComB_D1_D0_SK5
     124             :         use pm_kind, only: SKC => SK5
     125             : #include "pm_arrayStrip@routines.inc.F90"
     126             :     end procedure
     127             : #endif
     128             : 
     129             : #if SK4_ENABLED
     130             :     module procedure getStrippedDefComB_D1_D0_SK4
     131             :         use pm_kind, only: SKC => SK4
     132             : #include "pm_arrayStrip@routines.inc.F90"
     133             :     end procedure
     134             : #endif
     135             : 
     136             : #if SK3_ENABLED
     137             :     module procedure getStrippedDefComB_D1_D0_SK3
     138             :         use pm_kind, only: SKC => SK3
     139             : #include "pm_arrayStrip@routines.inc.F90"
     140             :     end procedure
     141             : #endif
     142             : 
     143             : #if SK2_ENABLED
     144             :     module procedure getStrippedDefComB_D1_D0_SK2
     145             :         use pm_kind, only: SKC => SK2
     146             : #include "pm_arrayStrip@routines.inc.F90"
     147             :     end procedure
     148             : #endif
     149             : 
     150             : #if SK1_ENABLED
     151         906 :     module procedure getStrippedDefComB_D1_D0_SK1
     152             :         use pm_kind, only: SKC => SK1
     153             : #include "pm_arrayStrip@routines.inc.F90"
     154         906 :     end procedure
     155             : #endif
     156             : 
     157             : #undef SK_ENABLED
     158             : 
     159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     160             : 
     161             : #define IK_ENABLED 1
     162             : 
     163             : #if IK5_ENABLED
     164         900 :     module procedure getStrippedDefComB_D1_D0_IK5
     165             :         use pm_kind, only: IKC => IK5
     166             : #include "pm_arrayStrip@routines.inc.F90"
     167         900 :     end procedure
     168             : #endif
     169             : 
     170             : #if IK4_ENABLED
     171         900 :     module procedure getStrippedDefComB_D1_D0_IK4
     172             :         use pm_kind, only: IKC => IK4
     173             : #include "pm_arrayStrip@routines.inc.F90"
     174         900 :     end procedure
     175             : #endif
     176             : 
     177             : #if IK3_ENABLED
     178         904 :     module procedure getStrippedDefComB_D1_D0_IK3
     179             :         use pm_kind, only: IKC => IK3
     180             : #include "pm_arrayStrip@routines.inc.F90"
     181         904 :     end procedure
     182             : #endif
     183             : 
     184             : #if IK2_ENABLED
     185         900 :     module procedure getStrippedDefComB_D1_D0_IK2
     186             :         use pm_kind, only: IKC => IK2
     187             : #include "pm_arrayStrip@routines.inc.F90"
     188         900 :     end procedure
     189             : #endif
     190             : 
     191             : #if IK1_ENABLED
     192         900 :     module procedure getStrippedDefComB_D1_D0_IK1
     193             :         use pm_kind, only: IKC => IK1
     194             : #include "pm_arrayStrip@routines.inc.F90"
     195         900 :     end procedure
     196             : #endif
     197             : 
     198             : #undef IK_ENABLED
     199             : 
     200             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     201             : 
     202             : #define LK_ENABLED 1
     203             : 
     204             : #if LK5_ENABLED
     205         900 :     module procedure getStrippedDefComB_D1_D0_LK5
     206             :         use pm_kind, only: LKC => LK5
     207             : #include "pm_arrayStrip@routines.inc.F90"
     208         900 :     end procedure
     209             : #endif
     210             : 
     211             : #if LK4_ENABLED
     212         900 :     module procedure getStrippedDefComB_D1_D0_LK4
     213             :         use pm_kind, only: LKC => LK4
     214             : #include "pm_arrayStrip@routines.inc.F90"
     215         900 :     end procedure
     216             : #endif
     217             : 
     218             : #if LK3_ENABLED
     219         904 :     module procedure getStrippedDefComB_D1_D0_LK3
     220             :         use pm_kind, only: LKC => LK3
     221             : #include "pm_arrayStrip@routines.inc.F90"
     222         904 :     end procedure
     223             : #endif
     224             : 
     225             : #if LK2_ENABLED
     226         900 :     module procedure getStrippedDefComB_D1_D0_LK2
     227             :         use pm_kind, only: LKC => LK2
     228             : #include "pm_arrayStrip@routines.inc.F90"
     229         900 :     end procedure
     230             : #endif
     231             : 
     232             : #if LK1_ENABLED
     233         900 :     module procedure getStrippedDefComB_D1_D0_LK1
     234             :         use pm_kind, only: LKC => LK1
     235             : #include "pm_arrayStrip@routines.inc.F90"
     236         900 :     end procedure
     237             : #endif
     238             : 
     239             : #undef LK_ENABLED
     240             : 
     241             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     242             : 
     243             : #define CK_ENABLED 1
     244             : 
     245             : #if CK5_ENABLED
     246             :     module procedure getStrippedDefComB_D1_D0_CK5
     247             :         use pm_kind, only: CKC => CK5
     248             : #include "pm_arrayStrip@routines.inc.F90"
     249             :     end procedure
     250             : #endif
     251             : 
     252             : #if CK4_ENABLED
     253         900 :     module procedure getStrippedDefComB_D1_D0_CK4
     254             :         use pm_kind, only: CKC => CK4
     255             : #include "pm_arrayStrip@routines.inc.F90"
     256         900 :     end procedure
     257             : #endif
     258             : 
     259             : #if CK3_ENABLED
     260         900 :     module procedure getStrippedDefComB_D1_D0_CK3
     261             :         use pm_kind, only: CKC => CK3
     262             : #include "pm_arrayStrip@routines.inc.F90"
     263         900 :     end procedure
     264             : #endif
     265             : 
     266             : #if CK2_ENABLED
     267         900 :     module procedure getStrippedDefComB_D1_D0_CK2
     268             :         use pm_kind, only: CKC => CK2
     269             : #include "pm_arrayStrip@routines.inc.F90"
     270         900 :     end procedure
     271             : #endif
     272             : 
     273             : #if CK1_ENABLED
     274         904 :     module procedure getStrippedDefComB_D1_D0_CK1
     275             :         use pm_kind, only: CKC => CK1
     276             : #include "pm_arrayStrip@routines.inc.F90"
     277         904 :     end procedure
     278             : #endif
     279             : 
     280             : #undef CK_ENABLED
     281             : 
     282             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     283             : 
     284             : #define RK_ENABLED 1
     285             : 
     286             : #if RK5_ENABLED
     287             :     module procedure getStrippedDefComB_D1_D0_RK5
     288             :         use pm_kind, only: RKC => RK5
     289             : #include "pm_arrayStrip@routines.inc.F90"
     290             :     end procedure
     291             : #endif
     292             : 
     293             : #if RK4_ENABLED
     294         900 :     module procedure getStrippedDefComB_D1_D0_RK4
     295             :         use pm_kind, only: RKC => RK4
     296             : #include "pm_arrayStrip@routines.inc.F90"
     297         900 :     end procedure
     298             : #endif
     299             : 
     300             : #if RK3_ENABLED
     301         900 :     module procedure getStrippedDefComB_D1_D0_RK3
     302             :         use pm_kind, only: RKC => RK3
     303             : #include "pm_arrayStrip@routines.inc.F90"
     304         900 :     end procedure
     305             : #endif
     306             : 
     307             : #if RK2_ENABLED
     308         900 :     module procedure getStrippedDefComB_D1_D0_RK2
     309             :         use pm_kind, only: RKC => RK2
     310             : #include "pm_arrayStrip@routines.inc.F90"
     311         900 :     end procedure
     312             : #endif
     313             : 
     314             : #if RK1_ENABLED
     315         902 :     module procedure getStrippedDefComB_D1_D0_RK1
     316             :         use pm_kind, only: RKC => RK1
     317             : #include "pm_arrayStrip@routines.inc.F90"
     318         902 :     end procedure
     319             : #endif
     320             : 
     321             : #undef RK_ENABLED
     322             : 
     323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     324             : 
     325             : #undef D1_D0_ENABLED
     326             : 
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     330             : 
     331             : #define D1_D1_ENABLED 1
     332             : 
     333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     334             : 
     335             : #define SK_ENABLED 1
     336             : 
     337             : #if SK5_ENABLED
     338             :     module procedure getStrippedDefComB_D1_D1_SK5
     339             :         use pm_kind, only: SKC => SK5
     340             : #include "pm_arrayStrip@routines.inc.F90"
     341             :     end procedure
     342             : #endif
     343             : 
     344             : #if SK4_ENABLED
     345             :     module procedure getStrippedDefComB_D1_D1_SK4
     346             :         use pm_kind, only: SKC => SK4
     347             : #include "pm_arrayStrip@routines.inc.F90"
     348             :     end procedure
     349             : #endif
     350             : 
     351             : #if SK3_ENABLED
     352             :     module procedure getStrippedDefComB_D1_D1_SK3
     353             :         use pm_kind, only: SKC => SK3
     354             : #include "pm_arrayStrip@routines.inc.F90"
     355             :     end procedure
     356             : #endif
     357             : 
     358             : #if SK2_ENABLED
     359             :     module procedure getStrippedDefComB_D1_D1_SK2
     360             :         use pm_kind, only: SKC => SK2
     361             : #include "pm_arrayStrip@routines.inc.F90"
     362             :     end procedure
     363             : #endif
     364             : 
     365             : #if SK1_ENABLED
     366         912 :     module procedure getStrippedDefComB_D1_D1_SK1
     367             :         use pm_kind, only: SKC => SK1
     368             : #include "pm_arrayStrip@routines.inc.F90"
     369         912 :     end procedure
     370             : #endif
     371             : 
     372             : #undef SK_ENABLED
     373             : 
     374             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     375             : 
     376             : #define IK_ENABLED 1
     377             : 
     378             : #if IK5_ENABLED
     379         900 :     module procedure getStrippedDefComB_D1_D1_IK5
     380             :         use pm_kind, only: IKC => IK5
     381             : #include "pm_arrayStrip@routines.inc.F90"
     382         900 :     end procedure
     383             : #endif
     384             : 
     385             : #if IK4_ENABLED
     386         900 :     module procedure getStrippedDefComB_D1_D1_IK4
     387             :         use pm_kind, only: IKC => IK4
     388             : #include "pm_arrayStrip@routines.inc.F90"
     389         900 :     end procedure
     390             : #endif
     391             : 
     392             : #if IK3_ENABLED
     393         913 :     module procedure getStrippedDefComB_D1_D1_IK3
     394             :         use pm_kind, only: IKC => IK3
     395             : #include "pm_arrayStrip@routines.inc.F90"
     396         913 :     end procedure
     397             : #endif
     398             : 
     399             : #if IK2_ENABLED
     400         900 :     module procedure getStrippedDefComB_D1_D1_IK2
     401             :         use pm_kind, only: IKC => IK2
     402             : #include "pm_arrayStrip@routines.inc.F90"
     403         900 :     end procedure
     404             : #endif
     405             : 
     406             : #if IK1_ENABLED
     407         900 :     module procedure getStrippedDefComB_D1_D1_IK1
     408             :         use pm_kind, only: IKC => IK1
     409             : #include "pm_arrayStrip@routines.inc.F90"
     410         900 :     end procedure
     411             : #endif
     412             : 
     413             : #undef IK_ENABLED
     414             : 
     415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     416             : 
     417             : #define LK_ENABLED 1
     418             : 
     419             : #if LK5_ENABLED
     420         900 :     module procedure getStrippedDefComB_D1_D1_LK5
     421             :         use pm_kind, only: LKC => LK5
     422             : #include "pm_arrayStrip@routines.inc.F90"
     423         900 :     end procedure
     424             : #endif
     425             : 
     426             : #if LK4_ENABLED
     427         900 :     module procedure getStrippedDefComB_D1_D1_LK4
     428             :         use pm_kind, only: LKC => LK4
     429             : #include "pm_arrayStrip@routines.inc.F90"
     430         900 :     end procedure
     431             : #endif
     432             : 
     433             : #if LK3_ENABLED
     434         914 :     module procedure getStrippedDefComB_D1_D1_LK3
     435             :         use pm_kind, only: LKC => LK3
     436             : #include "pm_arrayStrip@routines.inc.F90"
     437         914 :     end procedure
     438             : #endif
     439             : 
     440             : #if LK2_ENABLED
     441         900 :     module procedure getStrippedDefComB_D1_D1_LK2
     442             :         use pm_kind, only: LKC => LK2
     443             : #include "pm_arrayStrip@routines.inc.F90"
     444         900 :     end procedure
     445             : #endif
     446             : 
     447             : #if LK1_ENABLED
     448         900 :     module procedure getStrippedDefComB_D1_D1_LK1
     449             :         use pm_kind, only: LKC => LK1
     450             : #include "pm_arrayStrip@routines.inc.F90"
     451         900 :     end procedure
     452             : #endif
     453             : 
     454             : #undef LK_ENABLED
     455             : 
     456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     457             : 
     458             : #define CK_ENABLED 1
     459             : 
     460             : #if CK5_ENABLED
     461             :     module procedure getStrippedDefComB_D1_D1_CK5
     462             :         use pm_kind, only: CKC => CK5
     463             : #include "pm_arrayStrip@routines.inc.F90"
     464             :     end procedure
     465             : #endif
     466             : 
     467             : #if CK4_ENABLED
     468         900 :     module procedure getStrippedDefComB_D1_D1_CK4
     469             :         use pm_kind, only: CKC => CK4
     470             : #include "pm_arrayStrip@routines.inc.F90"
     471         900 :     end procedure
     472             : #endif
     473             : 
     474             : #if CK3_ENABLED
     475         900 :     module procedure getStrippedDefComB_D1_D1_CK3
     476             :         use pm_kind, only: CKC => CK3
     477             : #include "pm_arrayStrip@routines.inc.F90"
     478         900 :     end procedure
     479             : #endif
     480             : 
     481             : #if CK2_ENABLED
     482         900 :     module procedure getStrippedDefComB_D1_D1_CK2
     483             :         use pm_kind, only: CKC => CK2
     484             : #include "pm_arrayStrip@routines.inc.F90"
     485         900 :     end procedure
     486             : #endif
     487             : 
     488             : #if CK1_ENABLED
     489         914 :     module procedure getStrippedDefComB_D1_D1_CK1
     490             :         use pm_kind, only: CKC => CK1
     491             : #include "pm_arrayStrip@routines.inc.F90"
     492         914 :     end procedure
     493             : #endif
     494             : 
     495             : #undef CK_ENABLED
     496             : 
     497             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     498             : 
     499             : #define RK_ENABLED 1
     500             : 
     501             : #if RK5_ENABLED
     502             :     module procedure getStrippedDefComB_D1_D1_RK5
     503             :         use pm_kind, only: RKC => RK5
     504             : #include "pm_arrayStrip@routines.inc.F90"
     505             :     end procedure
     506             : #endif
     507             : 
     508             : #if RK4_ENABLED
     509         900 :     module procedure getStrippedDefComB_D1_D1_RK4
     510             :         use pm_kind, only: RKC => RK4
     511             : #include "pm_arrayStrip@routines.inc.F90"
     512         900 :     end procedure
     513             : #endif
     514             : 
     515             : #if RK3_ENABLED
     516         900 :     module procedure getStrippedDefComB_D1_D1_RK3
     517             :         use pm_kind, only: RKC => RK3
     518             : #include "pm_arrayStrip@routines.inc.F90"
     519         900 :     end procedure
     520             : #endif
     521             : 
     522             : #if RK2_ENABLED
     523         900 :     module procedure getStrippedDefComB_D1_D1_RK2
     524             :         use pm_kind, only: RKC => RK2
     525             : #include "pm_arrayStrip@routines.inc.F90"
     526         900 :     end procedure
     527             : #endif
     528             : 
     529             : #if RK1_ENABLED
     530         914 :     module procedure getStrippedDefComB_D1_D1_RK1
     531             :         use pm_kind, only: RKC => RK1
     532             : #include "pm_arrayStrip@routines.inc.F90"
     533         914 :     end procedure
     534             : #endif
     535             : 
     536             : #undef RK_ENABLED
     537             : 
     538             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     539             : 
     540             : #undef D1_D1_ENABLED
     541             : 
     542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     543             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     544             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     545             : 
     546             : #undef DefCom_ENABLED
     547             : 
     548             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     549             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     551             : 
     552             : #define CusCom_ENABLED 1
     553             : 
     554             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     557             : 
     558             : #define D0_D0_ENABLED 1
     559             : 
     560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     561             : 
     562             : #define SK_ENABLED 1
     563             : 
     564             : #if SK5_ENABLED
     565             :     module procedure getStrippedCusComLR_D0_D0_SK5
     566             :         use pm_kind, only: SKC => SK5
     567             : #include "pm_arrayStrip@routines.inc.F90"
     568             :     end procedure
     569             : #endif
     570             : 
     571             : #if SK4_ENABLED
     572             :     module procedure getStrippedCusComLR_D0_D0_SK4
     573             :         use pm_kind, only: SKC => SK4
     574             : #include "pm_arrayStrip@routines.inc.F90"
     575             :     end procedure
     576             : #endif
     577             : 
     578             : #if SK3_ENABLED
     579             :     module procedure getStrippedCusComLR_D0_D0_SK3
     580             :         use pm_kind, only: SKC => SK3
     581             : #include "pm_arrayStrip@routines.inc.F90"
     582             :     end procedure
     583             : #endif
     584             : 
     585             : #if SK2_ENABLED
     586             :     module procedure getStrippedCusComLR_D0_D0_SK2
     587             :         use pm_kind, only: SKC => SK2
     588             : #include "pm_arrayStrip@routines.inc.F90"
     589             :     end procedure
     590             : #endif
     591             : 
     592             : #if SK1_ENABLED
     593         301 :     module procedure getStrippedCusComLR_D0_D0_SK1
     594             :         use pm_kind, only: SKC => SK1
     595             : #include "pm_arrayStrip@routines.inc.F90"
     596         301 :     end procedure
     597             : #endif
     598             : 
     599             : #undef SK_ENABLED
     600             : 
     601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     602             : 
     603             : #undef D0_D0_ENABLED
     604             : 
     605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     606             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     608             : 
     609             : #define D1_D0_ENABLED 1
     610             : 
     611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     612             : 
     613             : #define SK_ENABLED 1
     614             : 
     615             : #if SK5_ENABLED
     616             :     module procedure getStrippedCusComLR_D1_D0_SK5
     617             :         use pm_kind, only: SKC => SK5
     618             : #include "pm_arrayStrip@routines.inc.F90"
     619             :     end procedure
     620             : #endif
     621             : 
     622             : #if SK4_ENABLED
     623             :     module procedure getStrippedCusComLR_D1_D0_SK4
     624             :         use pm_kind, only: SKC => SK4
     625             : #include "pm_arrayStrip@routines.inc.F90"
     626             :     end procedure
     627             : #endif
     628             : 
     629             : #if SK3_ENABLED
     630             :     module procedure getStrippedCusComLR_D1_D0_SK3
     631             :         use pm_kind, only: SKC => SK3
     632             : #include "pm_arrayStrip@routines.inc.F90"
     633             :     end procedure
     634             : #endif
     635             : 
     636             : #if SK2_ENABLED
     637             :     module procedure getStrippedCusComLR_D1_D0_SK2
     638             :         use pm_kind, only: SKC => SK2
     639             : #include "pm_arrayStrip@routines.inc.F90"
     640             :     end procedure
     641             : #endif
     642             : 
     643             : #if SK1_ENABLED
     644         302 :     module procedure getStrippedCusComLR_D1_D0_SK1
     645             :         use pm_kind, only: SKC => SK1
     646             : #include "pm_arrayStrip@routines.inc.F90"
     647         302 :     end procedure
     648             : #endif
     649             : 
     650             : #undef SK_ENABLED
     651             : 
     652             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     653             : 
     654             : #define IK_ENABLED 1
     655             : 
     656             : #if IK5_ENABLED
     657         300 :     module procedure getStrippedCusComLR_D1_D0_IK5
     658             :         use pm_kind, only: IKC => IK5
     659             : #include "pm_arrayStrip@routines.inc.F90"
     660         300 :     end procedure
     661             : #endif
     662             : 
     663             : #if IK4_ENABLED
     664         300 :     module procedure getStrippedCusComLR_D1_D0_IK4
     665             :         use pm_kind, only: IKC => IK4
     666             : #include "pm_arrayStrip@routines.inc.F90"
     667         300 :     end procedure
     668             : #endif
     669             : 
     670             : #if IK3_ENABLED
     671         302 :     module procedure getStrippedCusComLR_D1_D0_IK3
     672             :         use pm_kind, only: IKC => IK3
     673             : #include "pm_arrayStrip@routines.inc.F90"
     674         302 :     end procedure
     675             : #endif
     676             : 
     677             : #if IK2_ENABLED
     678         300 :     module procedure getStrippedCusComLR_D1_D0_IK2
     679             :         use pm_kind, only: IKC => IK2
     680             : #include "pm_arrayStrip@routines.inc.F90"
     681         300 :     end procedure
     682             : #endif
     683             : 
     684             : #if IK1_ENABLED
     685         300 :     module procedure getStrippedCusComLR_D1_D0_IK1
     686             :         use pm_kind, only: IKC => IK1
     687             : #include "pm_arrayStrip@routines.inc.F90"
     688         300 :     end procedure
     689             : #endif
     690             : 
     691             : #undef IK_ENABLED
     692             : 
     693             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     694             : 
     695             : #define LK_ENABLED 1
     696             : 
     697             : #if LK5_ENABLED
     698         300 :     module procedure getStrippedCusComLR_D1_D0_LK5
     699             :         use pm_kind, only: LKC => LK5
     700             : #include "pm_arrayStrip@routines.inc.F90"
     701         300 :     end procedure
     702             : #endif
     703             : 
     704             : #if LK4_ENABLED
     705         300 :     module procedure getStrippedCusComLR_D1_D0_LK4
     706             :         use pm_kind, only: LKC => LK4
     707             : #include "pm_arrayStrip@routines.inc.F90"
     708         300 :     end procedure
     709             : #endif
     710             : 
     711             : #if LK3_ENABLED
     712         302 :     module procedure getStrippedCusComLR_D1_D0_LK3
     713             :         use pm_kind, only: LKC => LK3
     714             : #include "pm_arrayStrip@routines.inc.F90"
     715         302 :     end procedure
     716             : #endif
     717             : 
     718             : #if LK2_ENABLED
     719         300 :     module procedure getStrippedCusComLR_D1_D0_LK2
     720             :         use pm_kind, only: LKC => LK2
     721             : #include "pm_arrayStrip@routines.inc.F90"
     722         300 :     end procedure
     723             : #endif
     724             : 
     725             : #if LK1_ENABLED
     726         300 :     module procedure getStrippedCusComLR_D1_D0_LK1
     727             :         use pm_kind, only: LKC => LK1
     728             : #include "pm_arrayStrip@routines.inc.F90"
     729         300 :     end procedure
     730             : #endif
     731             : 
     732             : #undef LK_ENABLED
     733             : 
     734             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     735             : 
     736             : #define CK_ENABLED 1
     737             : 
     738             : #if CK5_ENABLED
     739             :     module procedure getStrippedCusComLR_D1_D0_CK5
     740             :         use pm_kind, only: CKC => CK5
     741             : #include "pm_arrayStrip@routines.inc.F90"
     742             :     end procedure
     743             : #endif
     744             : 
     745             : #if CK4_ENABLED
     746         300 :     module procedure getStrippedCusComLR_D1_D0_CK4
     747             :         use pm_kind, only: CKC => CK4
     748             : #include "pm_arrayStrip@routines.inc.F90"
     749         300 :     end procedure
     750             : #endif
     751             : 
     752             : #if CK3_ENABLED
     753         300 :     module procedure getStrippedCusComLR_D1_D0_CK3
     754             :         use pm_kind, only: CKC => CK3
     755             : #include "pm_arrayStrip@routines.inc.F90"
     756         300 :     end procedure
     757             : #endif
     758             : 
     759             : #if CK2_ENABLED
     760         300 :     module procedure getStrippedCusComLR_D1_D0_CK2
     761             :         use pm_kind, only: CKC => CK2
     762             : #include "pm_arrayStrip@routines.inc.F90"
     763         300 :     end procedure
     764             : #endif
     765             : 
     766             : #if CK1_ENABLED
     767         302 :     module procedure getStrippedCusComLR_D1_D0_CK1
     768             :         use pm_kind, only: CKC => CK1
     769             : #include "pm_arrayStrip@routines.inc.F90"
     770         302 :     end procedure
     771             : #endif
     772             : 
     773             : #undef CK_ENABLED
     774             : 
     775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     776             : 
     777             : #define RK_ENABLED 1
     778             : 
     779             : #if RK5_ENABLED
     780             :     module procedure getStrippedCusComLR_D1_D0_RK5
     781             :         use pm_kind, only: RKC => RK5
     782             : #include "pm_arrayStrip@routines.inc.F90"
     783             :     end procedure
     784             : #endif
     785             : 
     786             : #if RK4_ENABLED
     787         300 :     module procedure getStrippedCusComLR_D1_D0_RK4
     788             :         use pm_kind, only: RKC => RK4
     789             : #include "pm_arrayStrip@routines.inc.F90"
     790         300 :     end procedure
     791             : #endif
     792             : 
     793             : #if RK3_ENABLED
     794         300 :     module procedure getStrippedCusComLR_D1_D0_RK3
     795             :         use pm_kind, only: RKC => RK3
     796             : #include "pm_arrayStrip@routines.inc.F90"
     797         300 :     end procedure
     798             : #endif
     799             : 
     800             : #if RK2_ENABLED
     801         300 :     module procedure getStrippedCusComLR_D1_D0_RK2
     802             :         use pm_kind, only: RKC => RK2
     803             : #include "pm_arrayStrip@routines.inc.F90"
     804         300 :     end procedure
     805             : #endif
     806             : 
     807             : #if RK1_ENABLED
     808         301 :     module procedure getStrippedCusComLR_D1_D0_RK1
     809             :         use pm_kind, only: RKC => RK1
     810             : #include "pm_arrayStrip@routines.inc.F90"
     811         301 :     end procedure
     812             : #endif
     813             : 
     814             : #undef RK_ENABLED
     815             : 
     816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     817             : 
     818             : #undef D1_D0_ENABLED
     819             : 
     820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     823             : 
     824             : #define D1_D1_ENABLED 1
     825             : 
     826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     827             : 
     828             : #define SK_ENABLED 1
     829             : 
     830             : #if SK5_ENABLED
     831             :     module procedure getStrippedCusComLR_D1_D1_SK5
     832             :         use pm_kind, only: SKC => SK5
     833             : #include "pm_arrayStrip@routines.inc.F90"
     834             :     end procedure
     835             : #endif
     836             : 
     837             : #if SK4_ENABLED
     838             :     module procedure getStrippedCusComLR_D1_D1_SK4
     839             :         use pm_kind, only: SKC => SK4
     840             : #include "pm_arrayStrip@routines.inc.F90"
     841             :     end procedure
     842             : #endif
     843             : 
     844             : #if SK3_ENABLED
     845             :     module procedure getStrippedCusComLR_D1_D1_SK3
     846             :         use pm_kind, only: SKC => SK3
     847             : #include "pm_arrayStrip@routines.inc.F90"
     848             :     end procedure
     849             : #endif
     850             : 
     851             : #if SK2_ENABLED
     852             :     module procedure getStrippedCusComLR_D1_D1_SK2
     853             :         use pm_kind, only: SKC => SK2
     854             : #include "pm_arrayStrip@routines.inc.F90"
     855             :     end procedure
     856             : #endif
     857             : 
     858             : #if SK1_ENABLED
     859         302 :     module procedure getStrippedCusComLR_D1_D1_SK1
     860             :         use pm_kind, only: SKC => SK1
     861             : #include "pm_arrayStrip@routines.inc.F90"
     862         302 :     end procedure
     863             : #endif
     864             : 
     865             : #undef SK_ENABLED
     866             : 
     867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     868             : 
     869             : #define IK_ENABLED 1
     870             : 
     871             : #if IK5_ENABLED
     872         300 :     module procedure getStrippedCusComLR_D1_D1_IK5
     873             :         use pm_kind, only: IKC => IK5
     874             : #include "pm_arrayStrip@routines.inc.F90"
     875         300 :     end procedure
     876             : #endif
     877             : 
     878             : #if IK4_ENABLED
     879         300 :     module procedure getStrippedCusComLR_D1_D1_IK4
     880             :         use pm_kind, only: IKC => IK4
     881             : #include "pm_arrayStrip@routines.inc.F90"
     882         300 :     end procedure
     883             : #endif
     884             : 
     885             : #if IK3_ENABLED
     886         302 :     module procedure getStrippedCusComLR_D1_D1_IK3
     887             :         use pm_kind, only: IKC => IK3
     888             : #include "pm_arrayStrip@routines.inc.F90"
     889         302 :     end procedure
     890             : #endif
     891             : 
     892             : #if IK2_ENABLED
     893         300 :     module procedure getStrippedCusComLR_D1_D1_IK2
     894             :         use pm_kind, only: IKC => IK2
     895             : #include "pm_arrayStrip@routines.inc.F90"
     896         300 :     end procedure
     897             : #endif
     898             : 
     899             : #if IK1_ENABLED
     900         300 :     module procedure getStrippedCusComLR_D1_D1_IK1
     901             :         use pm_kind, only: IKC => IK1
     902             : #include "pm_arrayStrip@routines.inc.F90"
     903         300 :     end procedure
     904             : #endif
     905             : 
     906             : #undef IK_ENABLED
     907             : 
     908             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     909             : 
     910             : #define LK_ENABLED 1
     911             : 
     912             : #if LK5_ENABLED
     913         300 :     module procedure getStrippedCusComLR_D1_D1_LK5
     914             :         use pm_kind, only: LKC => LK5
     915             : #include "pm_arrayStrip@routines.inc.F90"
     916         300 :     end procedure
     917             : #endif
     918             : 
     919             : #if LK4_ENABLED
     920         300 :     module procedure getStrippedCusComLR_D1_D1_LK4
     921             :         use pm_kind, only: LKC => LK4
     922             : #include "pm_arrayStrip@routines.inc.F90"
     923         300 :     end procedure
     924             : #endif
     925             : 
     926             : #if LK3_ENABLED
     927         302 :     module procedure getStrippedCusComLR_D1_D1_LK3
     928             :         use pm_kind, only: LKC => LK3
     929             : #include "pm_arrayStrip@routines.inc.F90"
     930         302 :     end procedure
     931             : #endif
     932             : 
     933             : #if LK2_ENABLED
     934         300 :     module procedure getStrippedCusComLR_D1_D1_LK2
     935             :         use pm_kind, only: LKC => LK2
     936             : #include "pm_arrayStrip@routines.inc.F90"
     937         300 :     end procedure
     938             : #endif
     939             : 
     940             : #if LK1_ENABLED
     941         300 :     module procedure getStrippedCusComLR_D1_D1_LK1
     942             :         use pm_kind, only: LKC => LK1
     943             : #include "pm_arrayStrip@routines.inc.F90"
     944         300 :     end procedure
     945             : #endif
     946             : 
     947             : #undef LK_ENABLED
     948             : 
     949             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     950             : 
     951             : #define CK_ENABLED 1
     952             : 
     953             : #if CK5_ENABLED
     954             :     module procedure getStrippedCusComLR_D1_D1_CK5
     955             :         use pm_kind, only: CKC => CK5
     956             : #include "pm_arrayStrip@routines.inc.F90"
     957             :     end procedure
     958             : #endif
     959             : 
     960             : #if CK4_ENABLED
     961         300 :     module procedure getStrippedCusComLR_D1_D1_CK4
     962             :         use pm_kind, only: CKC => CK4
     963             : #include "pm_arrayStrip@routines.inc.F90"
     964         300 :     end procedure
     965             : #endif
     966             : 
     967             : #if CK3_ENABLED
     968         300 :     module procedure getStrippedCusComLR_D1_D1_CK3
     969             :         use pm_kind, only: CKC => CK3
     970             : #include "pm_arrayStrip@routines.inc.F90"
     971         300 :     end procedure
     972             : #endif
     973             : 
     974             : #if CK2_ENABLED
     975         300 :     module procedure getStrippedCusComLR_D1_D1_CK2
     976             :         use pm_kind, only: CKC => CK2
     977             : #include "pm_arrayStrip@routines.inc.F90"
     978         300 :     end procedure
     979             : #endif
     980             : 
     981             : #if CK1_ENABLED
     982         302 :     module procedure getStrippedCusComLR_D1_D1_CK1
     983             :         use pm_kind, only: CKC => CK1
     984             : #include "pm_arrayStrip@routines.inc.F90"
     985         302 :     end procedure
     986             : #endif
     987             : 
     988             : #undef CK_ENABLED
     989             : 
     990             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     991             : 
     992             : #define RK_ENABLED 1
     993             : 
     994             : #if RK5_ENABLED
     995             :     module procedure getStrippedCusComLR_D1_D1_RK5
     996             :         use pm_kind, only: RKC => RK5
     997             : #include "pm_arrayStrip@routines.inc.F90"
     998             :     end procedure
     999             : #endif
    1000             : 
    1001             : #if RK4_ENABLED
    1002         300 :     module procedure getStrippedCusComLR_D1_D1_RK4
    1003             :         use pm_kind, only: RKC => RK4
    1004             : #include "pm_arrayStrip@routines.inc.F90"
    1005         300 :     end procedure
    1006             : #endif
    1007             : 
    1008             : #if RK3_ENABLED
    1009         300 :     module procedure getStrippedCusComLR_D1_D1_RK3
    1010             :         use pm_kind, only: RKC => RK3
    1011             : #include "pm_arrayStrip@routines.inc.F90"
    1012         300 :     end procedure
    1013             : #endif
    1014             : 
    1015             : #if RK2_ENABLED
    1016         300 :     module procedure getStrippedCusComLR_D1_D1_RK2
    1017             :         use pm_kind, only: RKC => RK2
    1018             : #include "pm_arrayStrip@routines.inc.F90"
    1019         300 :     end procedure
    1020             : #endif
    1021             : 
    1022             : #if RK1_ENABLED
    1023         302 :     module procedure getStrippedCusComLR_D1_D1_RK1
    1024             :         use pm_kind, only: RKC => RK1
    1025             : #include "pm_arrayStrip@routines.inc.F90"
    1026         302 :     end procedure
    1027             : #endif
    1028             : 
    1029             : #undef RK_ENABLED
    1030             : 
    1031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1032             : 
    1033             : #undef D1_D1_ENABLED
    1034             : 
    1035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1037             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1038             : 
    1039             : #undef CusCom_ENABLED
    1040             : 
    1041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1042             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1043             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1044             : 
    1045             : #undef SB_ENABLED
    1046             : 
    1047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1050             : 
    1051             : #undef getStripped_ENABLED
    1052             : 
    1053             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1054             : 
    1055             : #define getStripped_ENABLED 1
    1056             : 
    1057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1058             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1059             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1060             : 
    1061             : #define SL_ENABLED 1
    1062             : 
    1063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1064             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1066             : 
    1067             : #define DefCom_ENABLED 1
    1068             : 
    1069             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1070             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1071             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1072             : 
    1073             : #define D0_D0_ENABLED 1
    1074             : 
    1075             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1076             : 
    1077             : #define SK_ENABLED 1
    1078             : 
    1079             : #if SK5_ENABLED
    1080             :     module procedure getStrippedDefComSL_D0_D0_SK5
    1081             :         use pm_kind, only: SKC => SK5
    1082             : #include "pm_arrayStrip@routines.inc.F90"
    1083             :     end procedure
    1084             : #endif
    1085             : 
    1086             : #if SK4_ENABLED
    1087             :     module procedure getStrippedDefComSL_D0_D0_SK4
    1088             :         use pm_kind, only: SKC => SK4
    1089             : #include "pm_arrayStrip@routines.inc.F90"
    1090             :     end procedure
    1091             : #endif
    1092             : 
    1093             : #if SK3_ENABLED
    1094             :     module procedure getStrippedDefComSL_D0_D0_SK3
    1095             :         use pm_kind, only: SKC => SK3
    1096             : #include "pm_arrayStrip@routines.inc.F90"
    1097             :     end procedure
    1098             : #endif
    1099             : 
    1100             : #if SK2_ENABLED
    1101             :     module procedure getStrippedDefComSL_D0_D0_SK2
    1102             :         use pm_kind, only: SKC => SK2
    1103             : #include "pm_arrayStrip@routines.inc.F90"
    1104             :     end procedure
    1105             : #endif
    1106             : 
    1107             : #if SK1_ENABLED
    1108         306 :     module procedure getStrippedDefComSL_D0_D0_SK1
    1109             :         use pm_kind, only: SKC => SK1
    1110             : #include "pm_arrayStrip@routines.inc.F90"
    1111         306 :     end procedure
    1112             : #endif
    1113             : 
    1114             : #undef SK_ENABLED
    1115             : 
    1116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1117             : 
    1118             : #undef D0_D0_ENABLED
    1119             : 
    1120             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1121             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1122             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1123             : 
    1124             : #define D1_D0_ENABLED 1
    1125             : 
    1126             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1127             : 
    1128             : #define SK_ENABLED 1
    1129             : 
    1130             : #if SK5_ENABLED
    1131             :     module procedure getStrippedDefComSL_D1_D0_SK5
    1132             :         use pm_kind, only: SKC => SK5
    1133             : #include "pm_arrayStrip@routines.inc.F90"
    1134             :     end procedure
    1135             : #endif
    1136             : 
    1137             : #if SK4_ENABLED
    1138             :     module procedure getStrippedDefComSL_D1_D0_SK4
    1139             :         use pm_kind, only: SKC => SK4
    1140             : #include "pm_arrayStrip@routines.inc.F90"
    1141             :     end procedure
    1142             : #endif
    1143             : 
    1144             : #if SK3_ENABLED
    1145             :     module procedure getStrippedDefComSL_D1_D0_SK3
    1146             :         use pm_kind, only: SKC => SK3
    1147             : #include "pm_arrayStrip@routines.inc.F90"
    1148             :     end procedure
    1149             : #endif
    1150             : 
    1151             : #if SK2_ENABLED
    1152             :     module procedure getStrippedDefComSL_D1_D0_SK2
    1153             :         use pm_kind, only: SKC => SK2
    1154             : #include "pm_arrayStrip@routines.inc.F90"
    1155             :     end procedure
    1156             : #endif
    1157             : 
    1158             : #if SK1_ENABLED
    1159         303 :     module procedure getStrippedDefComSL_D1_D0_SK1
    1160             :         use pm_kind, only: SKC => SK1
    1161             : #include "pm_arrayStrip@routines.inc.F90"
    1162         303 :     end procedure
    1163             : #endif
    1164             : 
    1165             : #undef SK_ENABLED
    1166             : 
    1167             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1168             : 
    1169             : #define IK_ENABLED 1
    1170             : 
    1171             : #if IK5_ENABLED
    1172         300 :     module procedure getStrippedDefComSL_D1_D0_IK5
    1173             :         use pm_kind, only: IKC => IK5
    1174             : #include "pm_arrayStrip@routines.inc.F90"
    1175         300 :     end procedure
    1176             : #endif
    1177             : 
    1178             : #if IK4_ENABLED
    1179         300 :     module procedure getStrippedDefComSL_D1_D0_IK4
    1180             :         use pm_kind, only: IKC => IK4
    1181             : #include "pm_arrayStrip@routines.inc.F90"
    1182         300 :     end procedure
    1183             : #endif
    1184             : 
    1185             : #if IK3_ENABLED
    1186         302 :     module procedure getStrippedDefComSL_D1_D0_IK3
    1187             :         use pm_kind, only: IKC => IK3
    1188             : #include "pm_arrayStrip@routines.inc.F90"
    1189         302 :     end procedure
    1190             : #endif
    1191             : 
    1192             : #if IK2_ENABLED
    1193         300 :     module procedure getStrippedDefComSL_D1_D0_IK2
    1194             :         use pm_kind, only: IKC => IK2
    1195             : #include "pm_arrayStrip@routines.inc.F90"
    1196         300 :     end procedure
    1197             : #endif
    1198             : 
    1199             : #if IK1_ENABLED
    1200         300 :     module procedure getStrippedDefComSL_D1_D0_IK1
    1201             :         use pm_kind, only: IKC => IK1
    1202             : #include "pm_arrayStrip@routines.inc.F90"
    1203         300 :     end procedure
    1204             : #endif
    1205             : 
    1206             : #undef IK_ENABLED
    1207             : 
    1208             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1209             : 
    1210             : #define LK_ENABLED 1
    1211             : 
    1212             : #if LK5_ENABLED
    1213         300 :     module procedure getStrippedDefComSL_D1_D0_LK5
    1214             :         use pm_kind, only: LKC => LK5
    1215             : #include "pm_arrayStrip@routines.inc.F90"
    1216         300 :     end procedure
    1217             : #endif
    1218             : 
    1219             : #if LK4_ENABLED
    1220         300 :     module procedure getStrippedDefComSL_D1_D0_LK4
    1221             :         use pm_kind, only: LKC => LK4
    1222             : #include "pm_arrayStrip@routines.inc.F90"
    1223         300 :     end procedure
    1224             : #endif
    1225             : 
    1226             : #if LK3_ENABLED
    1227         302 :     module procedure getStrippedDefComSL_D1_D0_LK3
    1228             :         use pm_kind, only: LKC => LK3
    1229             : #include "pm_arrayStrip@routines.inc.F90"
    1230         302 :     end procedure
    1231             : #endif
    1232             : 
    1233             : #if LK2_ENABLED
    1234         300 :     module procedure getStrippedDefComSL_D1_D0_LK2
    1235             :         use pm_kind, only: LKC => LK2
    1236             : #include "pm_arrayStrip@routines.inc.F90"
    1237         300 :     end procedure
    1238             : #endif
    1239             : 
    1240             : #if LK1_ENABLED
    1241         300 :     module procedure getStrippedDefComSL_D1_D0_LK1
    1242             :         use pm_kind, only: LKC => LK1
    1243             : #include "pm_arrayStrip@routines.inc.F90"
    1244         300 :     end procedure
    1245             : #endif
    1246             : 
    1247             : #undef LK_ENABLED
    1248             : 
    1249             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1250             : 
    1251             : #define CK_ENABLED 1
    1252             : 
    1253             : #if CK5_ENABLED
    1254             :     module procedure getStrippedDefComSL_D1_D0_CK5
    1255             :         use pm_kind, only: CKC => CK5
    1256             : #include "pm_arrayStrip@routines.inc.F90"
    1257             :     end procedure
    1258             : #endif
    1259             : 
    1260             : #if CK4_ENABLED
    1261         300 :     module procedure getStrippedDefComSL_D1_D0_CK4
    1262             :         use pm_kind, only: CKC => CK4
    1263             : #include "pm_arrayStrip@routines.inc.F90"
    1264         300 :     end procedure
    1265             : #endif
    1266             : 
    1267             : #if CK3_ENABLED
    1268         300 :     module procedure getStrippedDefComSL_D1_D0_CK3
    1269             :         use pm_kind, only: CKC => CK3
    1270             : #include "pm_arrayStrip@routines.inc.F90"
    1271         300 :     end procedure
    1272             : #endif
    1273             : 
    1274             : #if CK2_ENABLED
    1275         300 :     module procedure getStrippedDefComSL_D1_D0_CK2
    1276             :         use pm_kind, only: CKC => CK2
    1277             : #include "pm_arrayStrip@routines.inc.F90"
    1278         300 :     end procedure
    1279             : #endif
    1280             : 
    1281             : #if CK1_ENABLED
    1282         302 :     module procedure getStrippedDefComSL_D1_D0_CK1
    1283             :         use pm_kind, only: CKC => CK1
    1284             : #include "pm_arrayStrip@routines.inc.F90"
    1285         302 :     end procedure
    1286             : #endif
    1287             : 
    1288             : #undef CK_ENABLED
    1289             : 
    1290             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1291             : 
    1292             : #define RK_ENABLED 1
    1293             : 
    1294             : #if RK5_ENABLED
    1295             :     module procedure getStrippedDefComSL_D1_D0_RK5
    1296             :         use pm_kind, only: RKC => RK5
    1297             : #include "pm_arrayStrip@routines.inc.F90"
    1298             :     end procedure
    1299             : #endif
    1300             : 
    1301             : #if RK4_ENABLED
    1302         300 :     module procedure getStrippedDefComSL_D1_D0_RK4
    1303             :         use pm_kind, only: RKC => RK4
    1304             : #include "pm_arrayStrip@routines.inc.F90"
    1305         300 :     end procedure
    1306             : #endif
    1307             : 
    1308             : #if RK3_ENABLED
    1309         300 :     module procedure getStrippedDefComSL_D1_D0_RK3
    1310             :         use pm_kind, only: RKC => RK3
    1311             : #include "pm_arrayStrip@routines.inc.F90"
    1312         300 :     end procedure
    1313             : #endif
    1314             : 
    1315             : #if RK2_ENABLED
    1316         300 :     module procedure getStrippedDefComSL_D1_D0_RK2
    1317             :         use pm_kind, only: RKC => RK2
    1318             : #include "pm_arrayStrip@routines.inc.F90"
    1319         300 :     end procedure
    1320             : #endif
    1321             : 
    1322             : #if RK1_ENABLED
    1323         301 :     module procedure getStrippedDefComSL_D1_D0_RK1
    1324             :         use pm_kind, only: RKC => RK1
    1325             : #include "pm_arrayStrip@routines.inc.F90"
    1326         301 :     end procedure
    1327             : #endif
    1328             : 
    1329             : #undef RK_ENABLED
    1330             : 
    1331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1332             : 
    1333             : #undef D1_D0_ENABLED
    1334             : 
    1335             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1336             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1337             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1338             : 
    1339             : #define D1_D1_ENABLED 1
    1340             : 
    1341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1342             : 
    1343             : #define SK_ENABLED 1
    1344             : 
    1345             : #if SK5_ENABLED
    1346             :     module procedure getStrippedDefComSL_D1_D1_SK5
    1347             :         use pm_kind, only: SKC => SK5
    1348             : #include "pm_arrayStrip@routines.inc.F90"
    1349             :     end procedure
    1350             : #endif
    1351             : 
    1352             : #if SK4_ENABLED
    1353             :     module procedure getStrippedDefComSL_D1_D1_SK4
    1354             :         use pm_kind, only: SKC => SK4
    1355             : #include "pm_arrayStrip@routines.inc.F90"
    1356             :     end procedure
    1357             : #endif
    1358             : 
    1359             : #if SK3_ENABLED
    1360             :     module procedure getStrippedDefComSL_D1_D1_SK3
    1361             :         use pm_kind, only: SKC => SK3
    1362             : #include "pm_arrayStrip@routines.inc.F90"
    1363             :     end procedure
    1364             : #endif
    1365             : 
    1366             : #if SK2_ENABLED
    1367             :     module procedure getStrippedDefComSL_D1_D1_SK2
    1368             :         use pm_kind, only: SKC => SK2
    1369             : #include "pm_arrayStrip@routines.inc.F90"
    1370             :     end procedure
    1371             : #endif
    1372             : 
    1373             : #if SK1_ENABLED
    1374         306 :     module procedure getStrippedDefComSL_D1_D1_SK1
    1375             :         use pm_kind, only: SKC => SK1
    1376             : #include "pm_arrayStrip@routines.inc.F90"
    1377         306 :     end procedure
    1378             : #endif
    1379             : 
    1380             : #undef SK_ENABLED
    1381             : 
    1382             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1383             : 
    1384             : #define IK_ENABLED 1
    1385             : 
    1386             : #if IK5_ENABLED
    1387         300 :     module procedure getStrippedDefComSL_D1_D1_IK5
    1388             :         use pm_kind, only: IKC => IK5
    1389             : #include "pm_arrayStrip@routines.inc.F90"
    1390         300 :     end procedure
    1391             : #endif
    1392             : 
    1393             : #if IK4_ENABLED
    1394         300 :     module procedure getStrippedDefComSL_D1_D1_IK4
    1395             :         use pm_kind, only: IKC => IK4
    1396             : #include "pm_arrayStrip@routines.inc.F90"
    1397         300 :     end procedure
    1398             : #endif
    1399             : 
    1400             : #if IK3_ENABLED
    1401         306 :     module procedure getStrippedDefComSL_D1_D1_IK3
    1402             :         use pm_kind, only: IKC => IK3
    1403             : #include "pm_arrayStrip@routines.inc.F90"
    1404         306 :     end procedure
    1405             : #endif
    1406             : 
    1407             : #if IK2_ENABLED
    1408         300 :     module procedure getStrippedDefComSL_D1_D1_IK2
    1409             :         use pm_kind, only: IKC => IK2
    1410             : #include "pm_arrayStrip@routines.inc.F90"
    1411         300 :     end procedure
    1412             : #endif
    1413             : 
    1414             : #if IK1_ENABLED
    1415         300 :     module procedure getStrippedDefComSL_D1_D1_IK1
    1416             :         use pm_kind, only: IKC => IK1
    1417             : #include "pm_arrayStrip@routines.inc.F90"
    1418         300 :     end procedure
    1419             : #endif
    1420             : 
    1421             : #undef IK_ENABLED
    1422             : 
    1423             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1424             : 
    1425             : #define LK_ENABLED 1
    1426             : 
    1427             : #if LK5_ENABLED
    1428         300 :     module procedure getStrippedDefComSL_D1_D1_LK5
    1429             :         use pm_kind, only: LKC => LK5
    1430             : #include "pm_arrayStrip@routines.inc.F90"
    1431         300 :     end procedure
    1432             : #endif
    1433             : 
    1434             : #if LK4_ENABLED
    1435         300 :     module procedure getStrippedDefComSL_D1_D1_LK4
    1436             :         use pm_kind, only: LKC => LK4
    1437             : #include "pm_arrayStrip@routines.inc.F90"
    1438         300 :     end procedure
    1439             : #endif
    1440             : 
    1441             : #if LK3_ENABLED
    1442         307 :     module procedure getStrippedDefComSL_D1_D1_LK3
    1443             :         use pm_kind, only: LKC => LK3
    1444             : #include "pm_arrayStrip@routines.inc.F90"
    1445         307 :     end procedure
    1446             : #endif
    1447             : 
    1448             : #if LK2_ENABLED
    1449         300 :     module procedure getStrippedDefComSL_D1_D1_LK2
    1450             :         use pm_kind, only: LKC => LK2
    1451             : #include "pm_arrayStrip@routines.inc.F90"
    1452         300 :     end procedure
    1453             : #endif
    1454             : 
    1455             : #if LK1_ENABLED
    1456         300 :     module procedure getStrippedDefComSL_D1_D1_LK1
    1457             :         use pm_kind, only: LKC => LK1
    1458             : #include "pm_arrayStrip@routines.inc.F90"
    1459         300 :     end procedure
    1460             : #endif
    1461             : 
    1462             : #undef LK_ENABLED
    1463             : 
    1464             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1465             : 
    1466             : #define CK_ENABLED 1
    1467             : 
    1468             : #if CK5_ENABLED
    1469             :     module procedure getStrippedDefComSL_D1_D1_CK5
    1470             :         use pm_kind, only: CKC => CK5
    1471             : #include "pm_arrayStrip@routines.inc.F90"
    1472             :     end procedure
    1473             : #endif
    1474             : 
    1475             : #if CK4_ENABLED
    1476         300 :     module procedure getStrippedDefComSL_D1_D1_CK4
    1477             :         use pm_kind, only: CKC => CK4
    1478             : #include "pm_arrayStrip@routines.inc.F90"
    1479         300 :     end procedure
    1480             : #endif
    1481             : 
    1482             : #if CK3_ENABLED
    1483         300 :     module procedure getStrippedDefComSL_D1_D1_CK3
    1484             :         use pm_kind, only: CKC => CK3
    1485             : #include "pm_arrayStrip@routines.inc.F90"
    1486         300 :     end procedure
    1487             : #endif
    1488             : 
    1489             : #if CK2_ENABLED
    1490         300 :     module procedure getStrippedDefComSL_D1_D1_CK2
    1491             :         use pm_kind, only: CKC => CK2
    1492             : #include "pm_arrayStrip@routines.inc.F90"
    1493         300 :     end procedure
    1494             : #endif
    1495             : 
    1496             : #if CK1_ENABLED
    1497         307 :     module procedure getStrippedDefComSL_D1_D1_CK1
    1498             :         use pm_kind, only: CKC => CK1
    1499             : #include "pm_arrayStrip@routines.inc.F90"
    1500         307 :     end procedure
    1501             : #endif
    1502             : 
    1503             : #undef CK_ENABLED
    1504             : 
    1505             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1506             : 
    1507             : #define RK_ENABLED 1
    1508             : 
    1509             : #if RK5_ENABLED
    1510             :     module procedure getStrippedDefComSL_D1_D1_RK5
    1511             :         use pm_kind, only: RKC => RK5
    1512             : #include "pm_arrayStrip@routines.inc.F90"
    1513             :     end procedure
    1514             : #endif
    1515             : 
    1516             : #if RK4_ENABLED
    1517         300 :     module procedure getStrippedDefComSL_D1_D1_RK4
    1518             :         use pm_kind, only: RKC => RK4
    1519             : #include "pm_arrayStrip@routines.inc.F90"
    1520         300 :     end procedure
    1521             : #endif
    1522             : 
    1523             : #if RK3_ENABLED
    1524         300 :     module procedure getStrippedDefComSL_D1_D1_RK3
    1525             :         use pm_kind, only: RKC => RK3
    1526             : #include "pm_arrayStrip@routines.inc.F90"
    1527         300 :     end procedure
    1528             : #endif
    1529             : 
    1530             : #if RK2_ENABLED
    1531         300 :     module procedure getStrippedDefComSL_D1_D1_RK2
    1532             :         use pm_kind, only: RKC => RK2
    1533             : #include "pm_arrayStrip@routines.inc.F90"
    1534         300 :     end procedure
    1535             : #endif
    1536             : 
    1537             : #if RK1_ENABLED
    1538         307 :     module procedure getStrippedDefComSL_D1_D1_RK1
    1539             :         use pm_kind, only: RKC => RK1
    1540             : #include "pm_arrayStrip@routines.inc.F90"
    1541         307 :     end procedure
    1542             : #endif
    1543             : 
    1544             : #undef RK_ENABLED
    1545             : 
    1546             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1547             : 
    1548             : #undef D1_D1_ENABLED
    1549             : 
    1550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1551             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1552             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1553             : 
    1554             : #undef DefCom_ENABLED
    1555             : 
    1556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1557             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1558             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1559             : 
    1560             : #define CusCom_ENABLED 1
    1561             : 
    1562             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1565             : 
    1566             : #define D0_D0_ENABLED 1
    1567             : 
    1568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1569             : 
    1570             : #define SK_ENABLED 1
    1571             : 
    1572             : #if SK5_ENABLED
    1573             :     module procedure getStrippedCusComSL_D0_D0_SK5
    1574             :         use pm_kind, only: SKC => SK5
    1575             : #include "pm_arrayStrip@routines.inc.F90"
    1576             :     end procedure
    1577             : #endif
    1578             : 
    1579             : #if SK4_ENABLED
    1580             :     module procedure getStrippedCusComSL_D0_D0_SK4
    1581             :         use pm_kind, only: SKC => SK4
    1582             : #include "pm_arrayStrip@routines.inc.F90"
    1583             :     end procedure
    1584             : #endif
    1585             : 
    1586             : #if SK3_ENABLED
    1587             :     module procedure getStrippedCusComSL_D0_D0_SK3
    1588             :         use pm_kind, only: SKC => SK3
    1589             : #include "pm_arrayStrip@routines.inc.F90"
    1590             :     end procedure
    1591             : #endif
    1592             : 
    1593             : #if SK2_ENABLED
    1594             :     module procedure getStrippedCusComSL_D0_D0_SK2
    1595             :         use pm_kind, only: SKC => SK2
    1596             : #include "pm_arrayStrip@routines.inc.F90"
    1597             :     end procedure
    1598             : #endif
    1599             : 
    1600             : #if SK1_ENABLED
    1601         300 :     module procedure getStrippedCusComSL_D0_D0_SK1
    1602             :         use pm_kind, only: SKC => SK1
    1603             : #include "pm_arrayStrip@routines.inc.F90"
    1604         300 :     end procedure
    1605             : #endif
    1606             : 
    1607             : #undef SK_ENABLED
    1608             : 
    1609             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1610             : 
    1611             : #undef D0_D0_ENABLED
    1612             : 
    1613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1614             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1616             : 
    1617             : #define D1_D0_ENABLED 1
    1618             : 
    1619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1620             : 
    1621             : #define SK_ENABLED 1
    1622             : 
    1623             : #if SK5_ENABLED
    1624             :     module procedure getStrippedCusComSL_D1_D0_SK5
    1625             :         use pm_kind, only: SKC => SK5
    1626             : #include "pm_arrayStrip@routines.inc.F90"
    1627             :     end procedure
    1628             : #endif
    1629             : 
    1630             : #if SK4_ENABLED
    1631             :     module procedure getStrippedCusComSL_D1_D0_SK4
    1632             :         use pm_kind, only: SKC => SK4
    1633             : #include "pm_arrayStrip@routines.inc.F90"
    1634             :     end procedure
    1635             : #endif
    1636             : 
    1637             : #if SK3_ENABLED
    1638             :     module procedure getStrippedCusComSL_D1_D0_SK3
    1639             :         use pm_kind, only: SKC => SK3
    1640             : #include "pm_arrayStrip@routines.inc.F90"
    1641             :     end procedure
    1642             : #endif
    1643             : 
    1644             : #if SK2_ENABLED
    1645             :     module procedure getStrippedCusComSL_D1_D0_SK2
    1646             :         use pm_kind, only: SKC => SK2
    1647             : #include "pm_arrayStrip@routines.inc.F90"
    1648             :     end procedure
    1649             : #endif
    1650             : 
    1651             : #if SK1_ENABLED
    1652         301 :     module procedure getStrippedCusComSL_D1_D0_SK1
    1653             :         use pm_kind, only: SKC => SK1
    1654             : #include "pm_arrayStrip@routines.inc.F90"
    1655         301 :     end procedure
    1656             : #endif
    1657             : 
    1658             : #undef SK_ENABLED
    1659             : 
    1660             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1661             : 
    1662             : #define IK_ENABLED 1
    1663             : 
    1664             : #if IK5_ENABLED
    1665         300 :     module procedure getStrippedCusComSL_D1_D0_IK5
    1666             :         use pm_kind, only: IKC => IK5
    1667             : #include "pm_arrayStrip@routines.inc.F90"
    1668         300 :     end procedure
    1669             : #endif
    1670             : 
    1671             : #if IK4_ENABLED
    1672         300 :     module procedure getStrippedCusComSL_D1_D0_IK4
    1673             :         use pm_kind, only: IKC => IK4
    1674             : #include "pm_arrayStrip@routines.inc.F90"
    1675         300 :     end procedure
    1676             : #endif
    1677             : 
    1678             : #if IK3_ENABLED
    1679         301 :     module procedure getStrippedCusComSL_D1_D0_IK3
    1680             :         use pm_kind, only: IKC => IK3
    1681             : #include "pm_arrayStrip@routines.inc.F90"
    1682         301 :     end procedure
    1683             : #endif
    1684             : 
    1685             : #if IK2_ENABLED
    1686         300 :     module procedure getStrippedCusComSL_D1_D0_IK2
    1687             :         use pm_kind, only: IKC => IK2
    1688             : #include "pm_arrayStrip@routines.inc.F90"
    1689         300 :     end procedure
    1690             : #endif
    1691             : 
    1692             : #if IK1_ENABLED
    1693         300 :     module procedure getStrippedCusComSL_D1_D0_IK1
    1694             :         use pm_kind, only: IKC => IK1
    1695             : #include "pm_arrayStrip@routines.inc.F90"
    1696         300 :     end procedure
    1697             : #endif
    1698             : 
    1699             : #undef IK_ENABLED
    1700             : 
    1701             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1702             : 
    1703             : #define LK_ENABLED 1
    1704             : 
    1705             : #if LK5_ENABLED
    1706         300 :     module procedure getStrippedCusComSL_D1_D0_LK5
    1707             :         use pm_kind, only: LKC => LK5
    1708             : #include "pm_arrayStrip@routines.inc.F90"
    1709         300 :     end procedure
    1710             : #endif
    1711             : 
    1712             : #if LK4_ENABLED
    1713         300 :     module procedure getStrippedCusComSL_D1_D0_LK4
    1714             :         use pm_kind, only: LKC => LK4
    1715             : #include "pm_arrayStrip@routines.inc.F90"
    1716         300 :     end procedure
    1717             : #endif
    1718             : 
    1719             : #if LK3_ENABLED
    1720         301 :     module procedure getStrippedCusComSL_D1_D0_LK3
    1721             :         use pm_kind, only: LKC => LK3
    1722             : #include "pm_arrayStrip@routines.inc.F90"
    1723         301 :     end procedure
    1724             : #endif
    1725             : 
    1726             : #if LK2_ENABLED
    1727         300 :     module procedure getStrippedCusComSL_D1_D0_LK2
    1728             :         use pm_kind, only: LKC => LK2
    1729             : #include "pm_arrayStrip@routines.inc.F90"
    1730         300 :     end procedure
    1731             : #endif
    1732             : 
    1733             : #if LK1_ENABLED
    1734         300 :     module procedure getStrippedCusComSL_D1_D0_LK1
    1735             :         use pm_kind, only: LKC => LK1
    1736             : #include "pm_arrayStrip@routines.inc.F90"
    1737         300 :     end procedure
    1738             : #endif
    1739             : 
    1740             : #undef LK_ENABLED
    1741             : 
    1742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1743             : 
    1744             : #define CK_ENABLED 1
    1745             : 
    1746             : #if CK5_ENABLED
    1747             :     module procedure getStrippedCusComSL_D1_D0_CK5
    1748             :         use pm_kind, only: CKC => CK5
    1749             : #include "pm_arrayStrip@routines.inc.F90"
    1750             :     end procedure
    1751             : #endif
    1752             : 
    1753             : #if CK4_ENABLED
    1754         300 :     module procedure getStrippedCusComSL_D1_D0_CK4
    1755             :         use pm_kind, only: CKC => CK4
    1756             : #include "pm_arrayStrip@routines.inc.F90"
    1757         300 :     end procedure
    1758             : #endif
    1759             : 
    1760             : #if CK3_ENABLED
    1761         300 :     module procedure getStrippedCusComSL_D1_D0_CK3
    1762             :         use pm_kind, only: CKC => CK3
    1763             : #include "pm_arrayStrip@routines.inc.F90"
    1764         300 :     end procedure
    1765             : #endif
    1766             : 
    1767             : #if CK2_ENABLED
    1768         300 :     module procedure getStrippedCusComSL_D1_D0_CK2
    1769             :         use pm_kind, only: CKC => CK2
    1770             : #include "pm_arrayStrip@routines.inc.F90"
    1771         300 :     end procedure
    1772             : #endif
    1773             : 
    1774             : #if CK1_ENABLED
    1775         301 :     module procedure getStrippedCusComSL_D1_D0_CK1
    1776             :         use pm_kind, only: CKC => CK1
    1777             : #include "pm_arrayStrip@routines.inc.F90"
    1778         301 :     end procedure
    1779             : #endif
    1780             : 
    1781             : #undef CK_ENABLED
    1782             : 
    1783             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1784             : 
    1785             : #define RK_ENABLED 1
    1786             : 
    1787             : #if RK5_ENABLED
    1788             :     module procedure getStrippedCusComSL_D1_D0_RK5
    1789             :         use pm_kind, only: RKC => RK5
    1790             : #include "pm_arrayStrip@routines.inc.F90"
    1791             :     end procedure
    1792             : #endif
    1793             : 
    1794             : #if RK4_ENABLED
    1795         300 :     module procedure getStrippedCusComSL_D1_D0_RK4
    1796             :         use pm_kind, only: RKC => RK4
    1797             : #include "pm_arrayStrip@routines.inc.F90"
    1798         300 :     end procedure
    1799             : #endif
    1800             : 
    1801             : #if RK3_ENABLED
    1802         300 :     module procedure getStrippedCusComSL_D1_D0_RK3
    1803             :         use pm_kind, only: RKC => RK3
    1804             : #include "pm_arrayStrip@routines.inc.F90"
    1805         300 :     end procedure
    1806             : #endif
    1807             : 
    1808             : #if RK2_ENABLED
    1809         300 :     module procedure getStrippedCusComSL_D1_D0_RK2
    1810             :         use pm_kind, only: RKC => RK2
    1811             : #include "pm_arrayStrip@routines.inc.F90"
    1812         300 :     end procedure
    1813             : #endif
    1814             : 
    1815             : #if RK1_ENABLED
    1816         300 :     module procedure getStrippedCusComSL_D1_D0_RK1
    1817             :         use pm_kind, only: RKC => RK1
    1818             : #include "pm_arrayStrip@routines.inc.F90"
    1819         300 :     end procedure
    1820             : #endif
    1821             : 
    1822             : #undef RK_ENABLED
    1823             : 
    1824             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1825             : 
    1826             : #undef D1_D0_ENABLED
    1827             : 
    1828             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1829             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1830             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1831             : 
    1832             : #define D1_D1_ENABLED 1
    1833             : 
    1834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1835             : 
    1836             : #define SK_ENABLED 1
    1837             : 
    1838             : #if SK5_ENABLED
    1839             :     module procedure getStrippedCusComSL_D1_D1_SK5
    1840             :         use pm_kind, only: SKC => SK5
    1841             : #include "pm_arrayStrip@routines.inc.F90"
    1842             :     end procedure
    1843             : #endif
    1844             : 
    1845             : #if SK4_ENABLED
    1846             :     module procedure getStrippedCusComSL_D1_D1_SK4
    1847             :         use pm_kind, only: SKC => SK4
    1848             : #include "pm_arrayStrip@routines.inc.F90"
    1849             :     end procedure
    1850             : #endif
    1851             : 
    1852             : #if SK3_ENABLED
    1853             :     module procedure getStrippedCusComSL_D1_D1_SK3
    1854             :         use pm_kind, only: SKC => SK3
    1855             : #include "pm_arrayStrip@routines.inc.F90"
    1856             :     end procedure
    1857             : #endif
    1858             : 
    1859             : #if SK2_ENABLED
    1860             :     module procedure getStrippedCusComSL_D1_D1_SK2
    1861             :         use pm_kind, only: SKC => SK2
    1862             : #include "pm_arrayStrip@routines.inc.F90"
    1863             :     end procedure
    1864             : #endif
    1865             : 
    1866             : #if SK1_ENABLED
    1867         301 :     module procedure getStrippedCusComSL_D1_D1_SK1
    1868             :         use pm_kind, only: SKC => SK1
    1869             : #include "pm_arrayStrip@routines.inc.F90"
    1870         301 :     end procedure
    1871             : #endif
    1872             : 
    1873             : #undef SK_ENABLED
    1874             : 
    1875             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1876             : 
    1877             : #define IK_ENABLED 1
    1878             : 
    1879             : #if IK5_ENABLED
    1880         300 :     module procedure getStrippedCusComSL_D1_D1_IK5
    1881             :         use pm_kind, only: IKC => IK5
    1882             : #include "pm_arrayStrip@routines.inc.F90"
    1883         300 :     end procedure
    1884             : #endif
    1885             : 
    1886             : #if IK4_ENABLED
    1887         300 :     module procedure getStrippedCusComSL_D1_D1_IK4
    1888             :         use pm_kind, only: IKC => IK4
    1889             : #include "pm_arrayStrip@routines.inc.F90"
    1890         300 :     end procedure
    1891             : #endif
    1892             : 
    1893             : #if IK3_ENABLED
    1894         301 :     module procedure getStrippedCusComSL_D1_D1_IK3
    1895             :         use pm_kind, only: IKC => IK3
    1896             : #include "pm_arrayStrip@routines.inc.F90"
    1897         301 :     end procedure
    1898             : #endif
    1899             : 
    1900             : #if IK2_ENABLED
    1901         300 :     module procedure getStrippedCusComSL_D1_D1_IK2
    1902             :         use pm_kind, only: IKC => IK2
    1903             : #include "pm_arrayStrip@routines.inc.F90"
    1904         300 :     end procedure
    1905             : #endif
    1906             : 
    1907             : #if IK1_ENABLED
    1908         300 :     module procedure getStrippedCusComSL_D1_D1_IK1
    1909             :         use pm_kind, only: IKC => IK1
    1910             : #include "pm_arrayStrip@routines.inc.F90"
    1911         300 :     end procedure
    1912             : #endif
    1913             : 
    1914             : #undef IK_ENABLED
    1915             : 
    1916             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1917             : 
    1918             : #define LK_ENABLED 1
    1919             : 
    1920             : #if LK5_ENABLED
    1921         300 :     module procedure getStrippedCusComSL_D1_D1_LK5
    1922             :         use pm_kind, only: LKC => LK5
    1923             : #include "pm_arrayStrip@routines.inc.F90"
    1924         300 :     end procedure
    1925             : #endif
    1926             : 
    1927             : #if LK4_ENABLED
    1928         300 :     module procedure getStrippedCusComSL_D1_D1_LK4
    1929             :         use pm_kind, only: LKC => LK4
    1930             : #include "pm_arrayStrip@routines.inc.F90"
    1931         300 :     end procedure
    1932             : #endif
    1933             : 
    1934             : #if LK3_ENABLED
    1935         301 :     module procedure getStrippedCusComSL_D1_D1_LK3
    1936             :         use pm_kind, only: LKC => LK3
    1937             : #include "pm_arrayStrip@routines.inc.F90"
    1938         301 :     end procedure
    1939             : #endif
    1940             : 
    1941             : #if LK2_ENABLED
    1942         300 :     module procedure getStrippedCusComSL_D1_D1_LK2
    1943             :         use pm_kind, only: LKC => LK2
    1944             : #include "pm_arrayStrip@routines.inc.F90"
    1945         300 :     end procedure
    1946             : #endif
    1947             : 
    1948             : #if LK1_ENABLED
    1949         300 :     module procedure getStrippedCusComSL_D1_D1_LK1
    1950             :         use pm_kind, only: LKC => LK1
    1951             : #include "pm_arrayStrip@routines.inc.F90"
    1952         300 :     end procedure
    1953             : #endif
    1954             : 
    1955             : #undef LK_ENABLED
    1956             : 
    1957             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1958             : 
    1959             : #define CK_ENABLED 1
    1960             : 
    1961             : #if CK5_ENABLED
    1962             :     module procedure getStrippedCusComSL_D1_D1_CK5
    1963             :         use pm_kind, only: CKC => CK5
    1964             : #include "pm_arrayStrip@routines.inc.F90"
    1965             :     end procedure
    1966             : #endif
    1967             : 
    1968             : #if CK4_ENABLED
    1969         300 :     module procedure getStrippedCusComSL_D1_D1_CK4
    1970             :         use pm_kind, only: CKC => CK4
    1971             : #include "pm_arrayStrip@routines.inc.F90"
    1972         300 :     end procedure
    1973             : #endif
    1974             : 
    1975             : #if CK3_ENABLED
    1976         300 :     module procedure getStrippedCusComSL_D1_D1_CK3
    1977             :         use pm_kind, only: CKC => CK3
    1978             : #include "pm_arrayStrip@routines.inc.F90"
    1979         300 :     end procedure
    1980             : #endif
    1981             : 
    1982             : #if CK2_ENABLED
    1983         300 :     module procedure getStrippedCusComSL_D1_D1_CK2
    1984             :         use pm_kind, only: CKC => CK2
    1985             : #include "pm_arrayStrip@routines.inc.F90"
    1986         300 :     end procedure
    1987             : #endif
    1988             : 
    1989             : #if CK1_ENABLED
    1990         301 :     module procedure getStrippedCusComSL_D1_D1_CK1
    1991             :         use pm_kind, only: CKC => CK1
    1992             : #include "pm_arrayStrip@routines.inc.F90"
    1993         301 :     end procedure
    1994             : #endif
    1995             : 
    1996             : #undef CK_ENABLED
    1997             : 
    1998             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1999             : 
    2000             : #define RK_ENABLED 1
    2001             : 
    2002             : #if RK5_ENABLED
    2003             :     module procedure getStrippedCusComSL_D1_D1_RK5
    2004             :         use pm_kind, only: RKC => RK5
    2005             : #include "pm_arrayStrip@routines.inc.F90"
    2006             :     end procedure
    2007             : #endif
    2008             : 
    2009             : #if RK4_ENABLED
    2010         300 :     module procedure getStrippedCusComSL_D1_D1_RK4
    2011             :         use pm_kind, only: RKC => RK4
    2012             : #include "pm_arrayStrip@routines.inc.F90"
    2013         300 :     end procedure
    2014             : #endif
    2015             : 
    2016             : #if RK3_ENABLED
    2017         300 :     module procedure getStrippedCusComSL_D1_D1_RK3
    2018             :         use pm_kind, only: RKC => RK3
    2019             : #include "pm_arrayStrip@routines.inc.F90"
    2020         300 :     end procedure
    2021             : #endif
    2022             : 
    2023             : #if RK2_ENABLED
    2024         300 :     module procedure getStrippedCusComSL_D1_D1_RK2
    2025             :         use pm_kind, only: RKC => RK2
    2026             : #include "pm_arrayStrip@routines.inc.F90"
    2027         300 :     end procedure
    2028             : #endif
    2029             : 
    2030             : #if RK1_ENABLED
    2031         301 :     module procedure getStrippedCusComSL_D1_D1_RK1
    2032             :         use pm_kind, only: RKC => RK1
    2033             : #include "pm_arrayStrip@routines.inc.F90"
    2034         301 :     end procedure
    2035             : #endif
    2036             : 
    2037             : #undef RK_ENABLED
    2038             : 
    2039             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2040             : 
    2041             : #undef D1_D1_ENABLED
    2042             : 
    2043             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2044             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2045             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2046             : 
    2047             : #undef CusCom_ENABLED
    2048             : 
    2049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2052             : 
    2053             : #undef SL_ENABLED
    2054             : 
    2055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2058             : 
    2059             : #undef getStripped_ENABLED
    2060             : 
    2061             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2062             : 
    2063             : #define getStripped_ENABLED 1
    2064             : 
    2065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2066             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2067             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2068             : 
    2069             : #define SR_ENABLED 1
    2070             : 
    2071             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2073             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2074             : 
    2075             : #define DefCom_ENABLED 1
    2076             : 
    2077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2078             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2079             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2080             : 
    2081             : #define D0_D0_ENABLED 1
    2082             : 
    2083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2084             : 
    2085             : #define SK_ENABLED 1
    2086             : 
    2087             : #if SK5_ENABLED
    2088             :     module procedure getStrippedDefComSR_D0_D0_SK5
    2089             :         use pm_kind, only: SKC => SK5
    2090             : #include "pm_arrayStrip@routines.inc.F90"
    2091             :     end procedure
    2092             : #endif
    2093             : 
    2094             : #if SK4_ENABLED
    2095             :     module procedure getStrippedDefComSR_D0_D0_SK4
    2096             :         use pm_kind, only: SKC => SK4
    2097             : #include "pm_arrayStrip@routines.inc.F90"
    2098             :     end procedure
    2099             : #endif
    2100             : 
    2101             : #if SK3_ENABLED
    2102             :     module procedure getStrippedDefComSR_D0_D0_SK3
    2103             :         use pm_kind, only: SKC => SK3
    2104             : #include "pm_arrayStrip@routines.inc.F90"
    2105             :     end procedure
    2106             : #endif
    2107             : 
    2108             : #if SK2_ENABLED
    2109             :     module procedure getStrippedDefComSR_D0_D0_SK2
    2110             :         use pm_kind, only: SKC => SK2
    2111             : #include "pm_arrayStrip@routines.inc.F90"
    2112             :     end procedure
    2113             : #endif
    2114             : 
    2115             : #if SK1_ENABLED
    2116         332 :     module procedure getStrippedDefComSR_D0_D0_SK1
    2117             :         use pm_kind, only: SKC => SK1
    2118             : #include "pm_arrayStrip@routines.inc.F90"
    2119         332 :     end procedure
    2120             : #endif
    2121             : 
    2122             : #undef SK_ENABLED
    2123             : 
    2124             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2125             : 
    2126             : #undef D0_D0_ENABLED
    2127             : 
    2128             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2129             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2130             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2131             : 
    2132             : #define D1_D0_ENABLED 1
    2133             : 
    2134             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2135             : 
    2136             : #define SK_ENABLED 1
    2137             : 
    2138             : #if SK5_ENABLED
    2139             :     module procedure getStrippedDefComSR_D1_D0_SK5
    2140             :         use pm_kind, only: SKC => SK5
    2141             : #include "pm_arrayStrip@routines.inc.F90"
    2142             :     end procedure
    2143             : #endif
    2144             : 
    2145             : #if SK4_ENABLED
    2146             :     module procedure getStrippedDefComSR_D1_D0_SK4
    2147             :         use pm_kind, only: SKC => SK4
    2148             : #include "pm_arrayStrip@routines.inc.F90"
    2149             :     end procedure
    2150             : #endif
    2151             : 
    2152             : #if SK3_ENABLED
    2153             :     module procedure getStrippedDefComSR_D1_D0_SK3
    2154             :         use pm_kind, only: SKC => SK3
    2155             : #include "pm_arrayStrip@routines.inc.F90"
    2156             :     end procedure
    2157             : #endif
    2158             : 
    2159             : #if SK2_ENABLED
    2160             :     module procedure getStrippedDefComSR_D1_D0_SK2
    2161             :         use pm_kind, only: SKC => SK2
    2162             : #include "pm_arrayStrip@routines.inc.F90"
    2163             :     end procedure
    2164             : #endif
    2165             : 
    2166             : #if SK1_ENABLED
    2167         303 :     module procedure getStrippedDefComSR_D1_D0_SK1
    2168             :         use pm_kind, only: SKC => SK1
    2169             : #include "pm_arrayStrip@routines.inc.F90"
    2170         303 :     end procedure
    2171             : #endif
    2172             : 
    2173             : #undef SK_ENABLED
    2174             : 
    2175             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2176             : 
    2177             : #define IK_ENABLED 1
    2178             : 
    2179             : #if IK5_ENABLED
    2180         300 :     module procedure getStrippedDefComSR_D1_D0_IK5
    2181             :         use pm_kind, only: IKC => IK5
    2182             : #include "pm_arrayStrip@routines.inc.F90"
    2183         300 :     end procedure
    2184             : #endif
    2185             : 
    2186             : #if IK4_ENABLED
    2187         300 :     module procedure getStrippedDefComSR_D1_D0_IK4
    2188             :         use pm_kind, only: IKC => IK4
    2189             : #include "pm_arrayStrip@routines.inc.F90"
    2190         300 :     end procedure
    2191             : #endif
    2192             : 
    2193             : #if IK3_ENABLED
    2194         302 :     module procedure getStrippedDefComSR_D1_D0_IK3
    2195             :         use pm_kind, only: IKC => IK3
    2196             : #include "pm_arrayStrip@routines.inc.F90"
    2197         302 :     end procedure
    2198             : #endif
    2199             : 
    2200             : #if IK2_ENABLED
    2201         300 :     module procedure getStrippedDefComSR_D1_D0_IK2
    2202             :         use pm_kind, only: IKC => IK2
    2203             : #include "pm_arrayStrip@routines.inc.F90"
    2204         300 :     end procedure
    2205             : #endif
    2206             : 
    2207             : #if IK1_ENABLED
    2208         300 :     module procedure getStrippedDefComSR_D1_D0_IK1
    2209             :         use pm_kind, only: IKC => IK1
    2210             : #include "pm_arrayStrip@routines.inc.F90"
    2211         300 :     end procedure
    2212             : #endif
    2213             : 
    2214             : #undef IK_ENABLED
    2215             : 
    2216             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2217             : 
    2218             : #define LK_ENABLED 1
    2219             : 
    2220             : #if LK5_ENABLED
    2221         300 :     module procedure getStrippedDefComSR_D1_D0_LK5
    2222             :         use pm_kind, only: LKC => LK5
    2223             : #include "pm_arrayStrip@routines.inc.F90"
    2224         300 :     end procedure
    2225             : #endif
    2226             : 
    2227             : #if LK4_ENABLED
    2228         300 :     module procedure getStrippedDefComSR_D1_D0_LK4
    2229             :         use pm_kind, only: LKC => LK4
    2230             : #include "pm_arrayStrip@routines.inc.F90"
    2231         300 :     end procedure
    2232             : #endif
    2233             : 
    2234             : #if LK3_ENABLED
    2235         302 :     module procedure getStrippedDefComSR_D1_D0_LK3
    2236             :         use pm_kind, only: LKC => LK3
    2237             : #include "pm_arrayStrip@routines.inc.F90"
    2238         302 :     end procedure
    2239             : #endif
    2240             : 
    2241             : #if LK2_ENABLED
    2242         300 :     module procedure getStrippedDefComSR_D1_D0_LK2
    2243             :         use pm_kind, only: LKC => LK2
    2244             : #include "pm_arrayStrip@routines.inc.F90"
    2245         300 :     end procedure
    2246             : #endif
    2247             : 
    2248             : #if LK1_ENABLED
    2249         300 :     module procedure getStrippedDefComSR_D1_D0_LK1
    2250             :         use pm_kind, only: LKC => LK1
    2251             : #include "pm_arrayStrip@routines.inc.F90"
    2252         300 :     end procedure
    2253             : #endif
    2254             : 
    2255             : #undef LK_ENABLED
    2256             : 
    2257             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2258             : 
    2259             : #define CK_ENABLED 1
    2260             : 
    2261             : #if CK5_ENABLED
    2262             :     module procedure getStrippedDefComSR_D1_D0_CK5
    2263             :         use pm_kind, only: CKC => CK5
    2264             : #include "pm_arrayStrip@routines.inc.F90"
    2265             :     end procedure
    2266             : #endif
    2267             : 
    2268             : #if CK4_ENABLED
    2269         300 :     module procedure getStrippedDefComSR_D1_D0_CK4
    2270             :         use pm_kind, only: CKC => CK4
    2271             : #include "pm_arrayStrip@routines.inc.F90"
    2272         300 :     end procedure
    2273             : #endif
    2274             : 
    2275             : #if CK3_ENABLED
    2276         300 :     module procedure getStrippedDefComSR_D1_D0_CK3
    2277             :         use pm_kind, only: CKC => CK3
    2278             : #include "pm_arrayStrip@routines.inc.F90"
    2279         300 :     end procedure
    2280             : #endif
    2281             : 
    2282             : #if CK2_ENABLED
    2283         300 :     module procedure getStrippedDefComSR_D1_D0_CK2
    2284             :         use pm_kind, only: CKC => CK2
    2285             : #include "pm_arrayStrip@routines.inc.F90"
    2286         300 :     end procedure
    2287             : #endif
    2288             : 
    2289             : #if CK1_ENABLED
    2290         302 :     module procedure getStrippedDefComSR_D1_D0_CK1
    2291             :         use pm_kind, only: CKC => CK1
    2292             : #include "pm_arrayStrip@routines.inc.F90"
    2293         302 :     end procedure
    2294             : #endif
    2295             : 
    2296             : #undef CK_ENABLED
    2297             : 
    2298             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2299             : 
    2300             : #define RK_ENABLED 1
    2301             : 
    2302             : #if RK5_ENABLED
    2303             :     module procedure getStrippedDefComSR_D1_D0_RK5
    2304             :         use pm_kind, only: RKC => RK5
    2305             : #include "pm_arrayStrip@routines.inc.F90"
    2306             :     end procedure
    2307             : #endif
    2308             : 
    2309             : #if RK4_ENABLED
    2310         300 :     module procedure getStrippedDefComSR_D1_D0_RK4
    2311             :         use pm_kind, only: RKC => RK4
    2312             : #include "pm_arrayStrip@routines.inc.F90"
    2313         300 :     end procedure
    2314             : #endif
    2315             : 
    2316             : #if RK3_ENABLED
    2317         300 :     module procedure getStrippedDefComSR_D1_D0_RK3
    2318             :         use pm_kind, only: RKC => RK3
    2319             : #include "pm_arrayStrip@routines.inc.F90"
    2320         300 :     end procedure
    2321             : #endif
    2322             : 
    2323             : #if RK2_ENABLED
    2324         300 :     module procedure getStrippedDefComSR_D1_D0_RK2
    2325             :         use pm_kind, only: RKC => RK2
    2326             : #include "pm_arrayStrip@routines.inc.F90"
    2327         300 :     end procedure
    2328             : #endif
    2329             : 
    2330             : #if RK1_ENABLED
    2331         301 :     module procedure getStrippedDefComSR_D1_D0_RK1
    2332             :         use pm_kind, only: RKC => RK1
    2333             : #include "pm_arrayStrip@routines.inc.F90"
    2334         301 :     end procedure
    2335             : #endif
    2336             : 
    2337             : #undef RK_ENABLED
    2338             : 
    2339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2340             : 
    2341             : #undef D1_D0_ENABLED
    2342             : 
    2343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2344             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2346             : 
    2347             : #define D1_D1_ENABLED 1
    2348             : 
    2349             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2350             : 
    2351             : #define SK_ENABLED 1
    2352             : 
    2353             : #if SK5_ENABLED
    2354             :     module procedure getStrippedDefComSR_D1_D1_SK5
    2355             :         use pm_kind, only: SKC => SK5
    2356             : #include "pm_arrayStrip@routines.inc.F90"
    2357             :     end procedure
    2358             : #endif
    2359             : 
    2360             : #if SK4_ENABLED
    2361             :     module procedure getStrippedDefComSR_D1_D1_SK4
    2362             :         use pm_kind, only: SKC => SK4
    2363             : #include "pm_arrayStrip@routines.inc.F90"
    2364             :     end procedure
    2365             : #endif
    2366             : 
    2367             : #if SK3_ENABLED
    2368             :     module procedure getStrippedDefComSR_D1_D1_SK3
    2369             :         use pm_kind, only: SKC => SK3
    2370             : #include "pm_arrayStrip@routines.inc.F90"
    2371             :     end procedure
    2372             : #endif
    2373             : 
    2374             : #if SK2_ENABLED
    2375             :     module procedure getStrippedDefComSR_D1_D1_SK2
    2376             :         use pm_kind, only: SKC => SK2
    2377             : #include "pm_arrayStrip@routines.inc.F90"
    2378             :     end procedure
    2379             : #endif
    2380             : 
    2381             : #if SK1_ENABLED
    2382         306 :     module procedure getStrippedDefComSR_D1_D1_SK1
    2383             :         use pm_kind, only: SKC => SK1
    2384             : #include "pm_arrayStrip@routines.inc.F90"
    2385         306 :     end procedure
    2386             : #endif
    2387             : 
    2388             : #undef SK_ENABLED
    2389             : 
    2390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2391             : 
    2392             : #define IK_ENABLED 1
    2393             : 
    2394             : #if IK5_ENABLED
    2395         300 :     module procedure getStrippedDefComSR_D1_D1_IK5
    2396             :         use pm_kind, only: IKC => IK5
    2397             : #include "pm_arrayStrip@routines.inc.F90"
    2398         300 :     end procedure
    2399             : #endif
    2400             : 
    2401             : #if IK4_ENABLED
    2402         300 :     module procedure getStrippedDefComSR_D1_D1_IK4
    2403             :         use pm_kind, only: IKC => IK4
    2404             : #include "pm_arrayStrip@routines.inc.F90"
    2405         300 :     end procedure
    2406             : #endif
    2407             : 
    2408             : #if IK3_ENABLED
    2409         306 :     module procedure getStrippedDefComSR_D1_D1_IK3
    2410             :         use pm_kind, only: IKC => IK3
    2411             : #include "pm_arrayStrip@routines.inc.F90"
    2412         306 :     end procedure
    2413             : #endif
    2414             : 
    2415             : #if IK2_ENABLED
    2416         300 :     module procedure getStrippedDefComSR_D1_D1_IK2
    2417             :         use pm_kind, only: IKC => IK2
    2418             : #include "pm_arrayStrip@routines.inc.F90"
    2419         300 :     end procedure
    2420             : #endif
    2421             : 
    2422             : #if IK1_ENABLED
    2423         300 :     module procedure getStrippedDefComSR_D1_D1_IK1
    2424             :         use pm_kind, only: IKC => IK1
    2425             : #include "pm_arrayStrip@routines.inc.F90"
    2426         300 :     end procedure
    2427             : #endif
    2428             : 
    2429             : #undef IK_ENABLED
    2430             : 
    2431             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2432             : 
    2433             : #define LK_ENABLED 1
    2434             : 
    2435             : #if LK5_ENABLED
    2436         300 :     module procedure getStrippedDefComSR_D1_D1_LK5
    2437             :         use pm_kind, only: LKC => LK5
    2438             : #include "pm_arrayStrip@routines.inc.F90"
    2439         300 :     end procedure
    2440             : #endif
    2441             : 
    2442             : #if LK4_ENABLED
    2443         300 :     module procedure getStrippedDefComSR_D1_D1_LK4
    2444             :         use pm_kind, only: LKC => LK4
    2445             : #include "pm_arrayStrip@routines.inc.F90"
    2446         300 :     end procedure
    2447             : #endif
    2448             : 
    2449             : #if LK3_ENABLED
    2450         307 :     module procedure getStrippedDefComSR_D1_D1_LK3
    2451             :         use pm_kind, only: LKC => LK3
    2452             : #include "pm_arrayStrip@routines.inc.F90"
    2453         307 :     end procedure
    2454             : #endif
    2455             : 
    2456             : #if LK2_ENABLED
    2457         300 :     module procedure getStrippedDefComSR_D1_D1_LK2
    2458             :         use pm_kind, only: LKC => LK2
    2459             : #include "pm_arrayStrip@routines.inc.F90"
    2460         300 :     end procedure
    2461             : #endif
    2462             : 
    2463             : #if LK1_ENABLED
    2464         300 :     module procedure getStrippedDefComSR_D1_D1_LK1
    2465             :         use pm_kind, only: LKC => LK1
    2466             : #include "pm_arrayStrip@routines.inc.F90"
    2467         300 :     end procedure
    2468             : #endif
    2469             : 
    2470             : #undef LK_ENABLED
    2471             : 
    2472             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2473             : 
    2474             : #define CK_ENABLED 1
    2475             : 
    2476             : #if CK5_ENABLED
    2477             :     module procedure getStrippedDefComSR_D1_D1_CK5
    2478             :         use pm_kind, only: CKC => CK5
    2479             : #include "pm_arrayStrip@routines.inc.F90"
    2480             :     end procedure
    2481             : #endif
    2482             : 
    2483             : #if CK4_ENABLED
    2484         300 :     module procedure getStrippedDefComSR_D1_D1_CK4
    2485             :         use pm_kind, only: CKC => CK4
    2486             : #include "pm_arrayStrip@routines.inc.F90"
    2487         300 :     end procedure
    2488             : #endif
    2489             : 
    2490             : #if CK3_ENABLED
    2491         300 :     module procedure getStrippedDefComSR_D1_D1_CK3
    2492             :         use pm_kind, only: CKC => CK3
    2493             : #include "pm_arrayStrip@routines.inc.F90"
    2494         300 :     end procedure
    2495             : #endif
    2496             : 
    2497             : #if CK2_ENABLED
    2498         300 :     module procedure getStrippedDefComSR_D1_D1_CK2
    2499             :         use pm_kind, only: CKC => CK2
    2500             : #include "pm_arrayStrip@routines.inc.F90"
    2501         300 :     end procedure
    2502             : #endif
    2503             : 
    2504             : #if CK1_ENABLED
    2505         307 :     module procedure getStrippedDefComSR_D1_D1_CK1
    2506             :         use pm_kind, only: CKC => CK1
    2507             : #include "pm_arrayStrip@routines.inc.F90"
    2508         307 :     end procedure
    2509             : #endif
    2510             : 
    2511             : #undef CK_ENABLED
    2512             : 
    2513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2514             : 
    2515             : #define RK_ENABLED 1
    2516             : 
    2517             : #if RK5_ENABLED
    2518             :     module procedure getStrippedDefComSR_D1_D1_RK5
    2519             :         use pm_kind, only: RKC => RK5
    2520             : #include "pm_arrayStrip@routines.inc.F90"
    2521             :     end procedure
    2522             : #endif
    2523             : 
    2524             : #if RK4_ENABLED
    2525         300 :     module procedure getStrippedDefComSR_D1_D1_RK4
    2526             :         use pm_kind, only: RKC => RK4
    2527             : #include "pm_arrayStrip@routines.inc.F90"
    2528         300 :     end procedure
    2529             : #endif
    2530             : 
    2531             : #if RK3_ENABLED
    2532         300 :     module procedure getStrippedDefComSR_D1_D1_RK3
    2533             :         use pm_kind, only: RKC => RK3
    2534             : #include "pm_arrayStrip@routines.inc.F90"
    2535         300 :     end procedure
    2536             : #endif
    2537             : 
    2538             : #if RK2_ENABLED
    2539         300 :     module procedure getStrippedDefComSR_D1_D1_RK2
    2540             :         use pm_kind, only: RKC => RK2
    2541             : #include "pm_arrayStrip@routines.inc.F90"
    2542         300 :     end procedure
    2543             : #endif
    2544             : 
    2545             : #if RK1_ENABLED
    2546         307 :     module procedure getStrippedDefComSR_D1_D1_RK1
    2547             :         use pm_kind, only: RKC => RK1
    2548             : #include "pm_arrayStrip@routines.inc.F90"
    2549         307 :     end procedure
    2550             : #endif
    2551             : 
    2552             : #undef RK_ENABLED
    2553             : 
    2554             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2555             : 
    2556             : #undef D1_D1_ENABLED
    2557             : 
    2558             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2559             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2561             : 
    2562             : #undef DefCom_ENABLED
    2563             : 
    2564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2565             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2566             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2567             : 
    2568             : #define CusCom_ENABLED 1
    2569             : 
    2570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2571             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2572             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2573             : 
    2574             : #define D0_D0_ENABLED 1
    2575             : 
    2576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2577             : 
    2578             : #define SK_ENABLED 1
    2579             : 
    2580             : #if SK5_ENABLED
    2581             :     module procedure getStrippedCusComSR_D0_D0_SK5
    2582             :         use pm_kind, only: SKC => SK5
    2583             : #include "pm_arrayStrip@routines.inc.F90"
    2584             :     end procedure
    2585             : #endif
    2586             : 
    2587             : #if SK4_ENABLED
    2588             :     module procedure getStrippedCusComSR_D0_D0_SK4
    2589             :         use pm_kind, only: SKC => SK4
    2590             : #include "pm_arrayStrip@routines.inc.F90"
    2591             :     end procedure
    2592             : #endif
    2593             : 
    2594             : #if SK3_ENABLED
    2595             :     module procedure getStrippedCusComSR_D0_D0_SK3
    2596             :         use pm_kind, only: SKC => SK3
    2597             : #include "pm_arrayStrip@routines.inc.F90"
    2598             :     end procedure
    2599             : #endif
    2600             : 
    2601             : #if SK2_ENABLED
    2602             :     module procedure getStrippedCusComSR_D0_D0_SK2
    2603             :         use pm_kind, only: SKC => SK2
    2604             : #include "pm_arrayStrip@routines.inc.F90"
    2605             :     end procedure
    2606             : #endif
    2607             : 
    2608             : #if SK1_ENABLED
    2609         300 :     module procedure getStrippedCusComSR_D0_D0_SK1
    2610             :         use pm_kind, only: SKC => SK1
    2611             : #include "pm_arrayStrip@routines.inc.F90"
    2612         300 :     end procedure
    2613             : #endif
    2614             : 
    2615             : #undef SK_ENABLED
    2616             : 
    2617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2618             : 
    2619             : #undef D0_D0_ENABLED
    2620             : 
    2621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2622             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2624             : 
    2625             : #define D1_D0_ENABLED 1
    2626             : 
    2627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2628             : 
    2629             : #define SK_ENABLED 1
    2630             : 
    2631             : #if SK5_ENABLED
    2632             :     module procedure getStrippedCusComSR_D1_D0_SK5
    2633             :         use pm_kind, only: SKC => SK5
    2634             : #include "pm_arrayStrip@routines.inc.F90"
    2635             :     end procedure
    2636             : #endif
    2637             : 
    2638             : #if SK4_ENABLED
    2639             :     module procedure getStrippedCusComSR_D1_D0_SK4
    2640             :         use pm_kind, only: SKC => SK4
    2641             : #include "pm_arrayStrip@routines.inc.F90"
    2642             :     end procedure
    2643             : #endif
    2644             : 
    2645             : #if SK3_ENABLED
    2646             :     module procedure getStrippedCusComSR_D1_D0_SK3
    2647             :         use pm_kind, only: SKC => SK3
    2648             : #include "pm_arrayStrip@routines.inc.F90"
    2649             :     end procedure
    2650             : #endif
    2651             : 
    2652             : #if SK2_ENABLED
    2653             :     module procedure getStrippedCusComSR_D1_D0_SK2
    2654             :         use pm_kind, only: SKC => SK2
    2655             : #include "pm_arrayStrip@routines.inc.F90"
    2656             :     end procedure
    2657             : #endif
    2658             : 
    2659             : #if SK1_ENABLED
    2660         301 :     module procedure getStrippedCusComSR_D1_D0_SK1
    2661             :         use pm_kind, only: SKC => SK1
    2662             : #include "pm_arrayStrip@routines.inc.F90"
    2663         301 :     end procedure
    2664             : #endif
    2665             : 
    2666             : #undef SK_ENABLED
    2667             : 
    2668             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2669             : 
    2670             : #define IK_ENABLED 1
    2671             : 
    2672             : #if IK5_ENABLED
    2673         300 :     module procedure getStrippedCusComSR_D1_D0_IK5
    2674             :         use pm_kind, only: IKC => IK5
    2675             : #include "pm_arrayStrip@routines.inc.F90"
    2676         300 :     end procedure
    2677             : #endif
    2678             : 
    2679             : #if IK4_ENABLED
    2680         300 :     module procedure getStrippedCusComSR_D1_D0_IK4
    2681             :         use pm_kind, only: IKC => IK4
    2682             : #include "pm_arrayStrip@routines.inc.F90"
    2683         300 :     end procedure
    2684             : #endif
    2685             : 
    2686             : #if IK3_ENABLED
    2687         301 :     module procedure getStrippedCusComSR_D1_D0_IK3
    2688             :         use pm_kind, only: IKC => IK3
    2689             : #include "pm_arrayStrip@routines.inc.F90"
    2690         301 :     end procedure
    2691             : #endif
    2692             : 
    2693             : #if IK2_ENABLED
    2694         300 :     module procedure getStrippedCusComSR_D1_D0_IK2
    2695             :         use pm_kind, only: IKC => IK2
    2696             : #include "pm_arrayStrip@routines.inc.F90"
    2697         300 :     end procedure
    2698             : #endif
    2699             : 
    2700             : #if IK1_ENABLED
    2701         300 :     module procedure getStrippedCusComSR_D1_D0_IK1
    2702             :         use pm_kind, only: IKC => IK1
    2703             : #include "pm_arrayStrip@routines.inc.F90"
    2704         300 :     end procedure
    2705             : #endif
    2706             : 
    2707             : #undef IK_ENABLED
    2708             : 
    2709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2710             : 
    2711             : #define LK_ENABLED 1
    2712             : 
    2713             : #if LK5_ENABLED
    2714         300 :     module procedure getStrippedCusComSR_D1_D0_LK5
    2715             :         use pm_kind, only: LKC => LK5
    2716             : #include "pm_arrayStrip@routines.inc.F90"
    2717         300 :     end procedure
    2718             : #endif
    2719             : 
    2720             : #if LK4_ENABLED
    2721         300 :     module procedure getStrippedCusComSR_D1_D0_LK4
    2722             :         use pm_kind, only: LKC => LK4
    2723             : #include "pm_arrayStrip@routines.inc.F90"
    2724         300 :     end procedure
    2725             : #endif
    2726             : 
    2727             : #if LK3_ENABLED
    2728         301 :     module procedure getStrippedCusComSR_D1_D0_LK3
    2729             :         use pm_kind, only: LKC => LK3
    2730             : #include "pm_arrayStrip@routines.inc.F90"
    2731         301 :     end procedure
    2732             : #endif
    2733             : 
    2734             : #if LK2_ENABLED
    2735         300 :     module procedure getStrippedCusComSR_D1_D0_LK2
    2736             :         use pm_kind, only: LKC => LK2
    2737             : #include "pm_arrayStrip@routines.inc.F90"
    2738         300 :     end procedure
    2739             : #endif
    2740             : 
    2741             : #if LK1_ENABLED
    2742         300 :     module procedure getStrippedCusComSR_D1_D0_LK1
    2743             :         use pm_kind, only: LKC => LK1
    2744             : #include "pm_arrayStrip@routines.inc.F90"
    2745         300 :     end procedure
    2746             : #endif
    2747             : 
    2748             : #undef LK_ENABLED
    2749             : 
    2750             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2751             : 
    2752             : #define CK_ENABLED 1
    2753             : 
    2754             : #if CK5_ENABLED
    2755             :     module procedure getStrippedCusComSR_D1_D0_CK5
    2756             :         use pm_kind, only: CKC => CK5
    2757             : #include "pm_arrayStrip@routines.inc.F90"
    2758             :     end procedure
    2759             : #endif
    2760             : 
    2761             : #if CK4_ENABLED
    2762         300 :     module procedure getStrippedCusComSR_D1_D0_CK4
    2763             :         use pm_kind, only: CKC => CK4
    2764             : #include "pm_arrayStrip@routines.inc.F90"
    2765         300 :     end procedure
    2766             : #endif
    2767             : 
    2768             : #if CK3_ENABLED
    2769         300 :     module procedure getStrippedCusComSR_D1_D0_CK3
    2770             :         use pm_kind, only: CKC => CK3
    2771             : #include "pm_arrayStrip@routines.inc.F90"
    2772         300 :     end procedure
    2773             : #endif
    2774             : 
    2775             : #if CK2_ENABLED
    2776         300 :     module procedure getStrippedCusComSR_D1_D0_CK2
    2777             :         use pm_kind, only: CKC => CK2
    2778             : #include "pm_arrayStrip@routines.inc.F90"
    2779         300 :     end procedure
    2780             : #endif
    2781             : 
    2782             : #if CK1_ENABLED
    2783         301 :     module procedure getStrippedCusComSR_D1_D0_CK1
    2784             :         use pm_kind, only: CKC => CK1
    2785             : #include "pm_arrayStrip@routines.inc.F90"
    2786         301 :     end procedure
    2787             : #endif
    2788             : 
    2789             : #undef CK_ENABLED
    2790             : 
    2791             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2792             : 
    2793             : #define RK_ENABLED 1
    2794             : 
    2795             : #if RK5_ENABLED
    2796             :     module procedure getStrippedCusComSR_D1_D0_RK5
    2797             :         use pm_kind, only: RKC => RK5
    2798             : #include "pm_arrayStrip@routines.inc.F90"
    2799             :     end procedure
    2800             : #endif
    2801             : 
    2802             : #if RK4_ENABLED
    2803         300 :     module procedure getStrippedCusComSR_D1_D0_RK4
    2804             :         use pm_kind, only: RKC => RK4
    2805             : #include "pm_arrayStrip@routines.inc.F90"
    2806         300 :     end procedure
    2807             : #endif
    2808             : 
    2809             : #if RK3_ENABLED
    2810         300 :     module procedure getStrippedCusComSR_D1_D0_RK3
    2811             :         use pm_kind, only: RKC => RK3
    2812             : #include "pm_arrayStrip@routines.inc.F90"
    2813         300 :     end procedure
    2814             : #endif
    2815             : 
    2816             : #if RK2_ENABLED
    2817         300 :     module procedure getStrippedCusComSR_D1_D0_RK2
    2818             :         use pm_kind, only: RKC => RK2
    2819             : #include "pm_arrayStrip@routines.inc.F90"
    2820         300 :     end procedure
    2821             : #endif
    2822             : 
    2823             : #if RK1_ENABLED
    2824         300 :     module procedure getStrippedCusComSR_D1_D0_RK1
    2825             :         use pm_kind, only: RKC => RK1
    2826             : #include "pm_arrayStrip@routines.inc.F90"
    2827         300 :     end procedure
    2828             : #endif
    2829             : 
    2830             : #undef RK_ENABLED
    2831             : 
    2832             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2833             : 
    2834             : #undef D1_D0_ENABLED
    2835             : 
    2836             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2837             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2838             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2839             : 
    2840             : #define D1_D1_ENABLED 1
    2841             : 
    2842             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2843             : 
    2844             : #define SK_ENABLED 1
    2845             : 
    2846             : #if SK5_ENABLED
    2847             :     module procedure getStrippedCusComSR_D1_D1_SK5
    2848             :         use pm_kind, only: SKC => SK5
    2849             : #include "pm_arrayStrip@routines.inc.F90"
    2850             :     end procedure
    2851             : #endif
    2852             : 
    2853             : #if SK4_ENABLED
    2854             :     module procedure getStrippedCusComSR_D1_D1_SK4
    2855             :         use pm_kind, only: SKC => SK4
    2856             : #include "pm_arrayStrip@routines.inc.F90"
    2857             :     end procedure
    2858             : #endif
    2859             : 
    2860             : #if SK3_ENABLED
    2861             :     module procedure getStrippedCusComSR_D1_D1_SK3
    2862             :         use pm_kind, only: SKC => SK3
    2863             : #include "pm_arrayStrip@routines.inc.F90"
    2864             :     end procedure
    2865             : #endif
    2866             : 
    2867             : #if SK2_ENABLED
    2868             :     module procedure getStrippedCusComSR_D1_D1_SK2
    2869             :         use pm_kind, only: SKC => SK2
    2870             : #include "pm_arrayStrip@routines.inc.F90"
    2871             :     end procedure
    2872             : #endif
    2873             : 
    2874             : #if SK1_ENABLED
    2875         301 :     module procedure getStrippedCusComSR_D1_D1_SK1
    2876             :         use pm_kind, only: SKC => SK1
    2877             : #include "pm_arrayStrip@routines.inc.F90"
    2878         301 :     end procedure
    2879             : #endif
    2880             : 
    2881             : #undef SK_ENABLED
    2882             : 
    2883             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2884             : 
    2885             : #define IK_ENABLED 1
    2886             : 
    2887             : #if IK5_ENABLED
    2888         300 :     module procedure getStrippedCusComSR_D1_D1_IK5
    2889             :         use pm_kind, only: IKC => IK5
    2890             : #include "pm_arrayStrip@routines.inc.F90"
    2891         300 :     end procedure
    2892             : #endif
    2893             : 
    2894             : #if IK4_ENABLED
    2895         300 :     module procedure getStrippedCusComSR_D1_D1_IK4
    2896             :         use pm_kind, only: IKC => IK4
    2897             : #include "pm_arrayStrip@routines.inc.F90"
    2898         300 :     end procedure
    2899             : #endif
    2900             : 
    2901             : #if IK3_ENABLED
    2902         301 :     module procedure getStrippedCusComSR_D1_D1_IK3
    2903             :         use pm_kind, only: IKC => IK3
    2904             : #include "pm_arrayStrip@routines.inc.F90"
    2905         301 :     end procedure
    2906             : #endif
    2907             : 
    2908             : #if IK2_ENABLED
    2909         300 :     module procedure getStrippedCusComSR_D1_D1_IK2
    2910             :         use pm_kind, only: IKC => IK2
    2911             : #include "pm_arrayStrip@routines.inc.F90"
    2912         300 :     end procedure
    2913             : #endif
    2914             : 
    2915             : #if IK1_ENABLED
    2916         300 :     module procedure getStrippedCusComSR_D1_D1_IK1
    2917             :         use pm_kind, only: IKC => IK1
    2918             : #include "pm_arrayStrip@routines.inc.F90"
    2919         300 :     end procedure
    2920             : #endif
    2921             : 
    2922             : #undef IK_ENABLED
    2923             : 
    2924             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2925             : 
    2926             : #define LK_ENABLED 1
    2927             : 
    2928             : #if LK5_ENABLED
    2929         300 :     module procedure getStrippedCusComSR_D1_D1_LK5
    2930             :         use pm_kind, only: LKC => LK5
    2931             : #include "pm_arrayStrip@routines.inc.F90"
    2932         300 :     end procedure
    2933             : #endif
    2934             : 
    2935             : #if LK4_ENABLED
    2936         300 :     module procedure getStrippedCusComSR_D1_D1_LK4
    2937             :         use pm_kind, only: LKC => LK4
    2938             : #include "pm_arrayStrip@routines.inc.F90"
    2939         300 :     end procedure
    2940             : #endif
    2941             : 
    2942             : #if LK3_ENABLED
    2943         301 :     module procedure getStrippedCusComSR_D1_D1_LK3
    2944             :         use pm_kind, only: LKC => LK3
    2945             : #include "pm_arrayStrip@routines.inc.F90"
    2946         301 :     end procedure
    2947             : #endif
    2948             : 
    2949             : #if LK2_ENABLED
    2950         300 :     module procedure getStrippedCusComSR_D1_D1_LK2
    2951             :         use pm_kind, only: LKC => LK2
    2952             : #include "pm_arrayStrip@routines.inc.F90"
    2953         300 :     end procedure
    2954             : #endif
    2955             : 
    2956             : #if LK1_ENABLED
    2957         300 :     module procedure getStrippedCusComSR_D1_D1_LK1
    2958             :         use pm_kind, only: LKC => LK1
    2959             : #include "pm_arrayStrip@routines.inc.F90"
    2960         300 :     end procedure
    2961             : #endif
    2962             : 
    2963             : #undef LK_ENABLED
    2964             : 
    2965             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2966             : 
    2967             : #define CK_ENABLED 1
    2968             : 
    2969             : #if CK5_ENABLED
    2970             :     module procedure getStrippedCusComSR_D1_D1_CK5
    2971             :         use pm_kind, only: CKC => CK5
    2972             : #include "pm_arrayStrip@routines.inc.F90"
    2973             :     end procedure
    2974             : #endif
    2975             : 
    2976             : #if CK4_ENABLED
    2977         300 :     module procedure getStrippedCusComSR_D1_D1_CK4
    2978             :         use pm_kind, only: CKC => CK4
    2979             : #include "pm_arrayStrip@routines.inc.F90"
    2980         300 :     end procedure
    2981             : #endif
    2982             : 
    2983             : #if CK3_ENABLED
    2984         300 :     module procedure getStrippedCusComSR_D1_D1_CK3
    2985             :         use pm_kind, only: CKC => CK3
    2986             : #include "pm_arrayStrip@routines.inc.F90"
    2987         300 :     end procedure
    2988             : #endif
    2989             : 
    2990             : #if CK2_ENABLED
    2991         300 :     module procedure getStrippedCusComSR_D1_D1_CK2
    2992             :         use pm_kind, only: CKC => CK2
    2993             : #include "pm_arrayStrip@routines.inc.F90"
    2994         300 :     end procedure
    2995             : #endif
    2996             : 
    2997             : #if CK1_ENABLED
    2998         301 :     module procedure getStrippedCusComSR_D1_D1_CK1
    2999             :         use pm_kind, only: CKC => CK1
    3000             : #include "pm_arrayStrip@routines.inc.F90"
    3001         301 :     end procedure
    3002             : #endif
    3003             : 
    3004             : #undef CK_ENABLED
    3005             : 
    3006             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3007             : 
    3008             : #define RK_ENABLED 1
    3009             : 
    3010             : #if RK5_ENABLED
    3011             :     module procedure getStrippedCusComSR_D1_D1_RK5
    3012             :         use pm_kind, only: RKC => RK5
    3013             : #include "pm_arrayStrip@routines.inc.F90"
    3014             :     end procedure
    3015             : #endif
    3016             : 
    3017             : #if RK4_ENABLED
    3018         300 :     module procedure getStrippedCusComSR_D1_D1_RK4
    3019             :         use pm_kind, only: RKC => RK4
    3020             : #include "pm_arrayStrip@routines.inc.F90"
    3021         300 :     end procedure
    3022             : #endif
    3023             : 
    3024             : #if RK3_ENABLED
    3025         300 :     module procedure getStrippedCusComSR_D1_D1_RK3
    3026             :         use pm_kind, only: RKC => RK3
    3027             : #include "pm_arrayStrip@routines.inc.F90"
    3028         300 :     end procedure
    3029             : #endif
    3030             : 
    3031             : #if RK2_ENABLED
    3032         300 :     module procedure getStrippedCusComSR_D1_D1_RK2
    3033             :         use pm_kind, only: RKC => RK2
    3034             : #include "pm_arrayStrip@routines.inc.F90"
    3035         300 :     end procedure
    3036             : #endif
    3037             : 
    3038             : #if RK1_ENABLED
    3039         301 :     module procedure getStrippedCusComSR_D1_D1_RK1
    3040             :         use pm_kind, only: RKC => RK1
    3041             : #include "pm_arrayStrip@routines.inc.F90"
    3042         301 :     end procedure
    3043             : #endif
    3044             : 
    3045             : #undef RK_ENABLED
    3046             : 
    3047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3048             : 
    3049             : #undef D1_D1_ENABLED
    3050             : 
    3051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3052             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3054             : 
    3055             : #undef CusCom_ENABLED
    3056             : 
    3057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3058             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3059             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3060             : 
    3061             : #undef SR_ENABLED
    3062             : 
    3063             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3064             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3065             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3066             : 
    3067             : #undef getStripped_ENABLED
    3068             : 
    3069             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3070             : 
    3071             : #define getSIL_ENABLED 1
    3072             : 
    3073             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3074             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3075             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3076             : 
    3077             : #define DefCom_ENABLED 1
    3078             : 
    3079             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3080             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3082             : 
    3083             : #define D0_D0_ENABLED 1
    3084             : 
    3085             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3086             : 
    3087             : #define SK_ENABLED 1
    3088             : 
    3089             : #if SK5_ENABLED
    3090             :     module procedure getSILDefCom_D0_D0_SK5
    3091             :         use pm_kind, only: SKC => SK5
    3092             : #include "pm_arrayStrip@routines.inc.F90"
    3093             :     end procedure
    3094             : #endif
    3095             : 
    3096             : #if SK4_ENABLED
    3097             :     module procedure getSILDefCom_D0_D0_SK4
    3098             :         use pm_kind, only: SKC => SK4
    3099             : #include "pm_arrayStrip@routines.inc.F90"
    3100             :     end procedure
    3101             : #endif
    3102             : 
    3103             : #if SK3_ENABLED
    3104             :     module procedure getSILDefCom_D0_D0_SK3
    3105             :         use pm_kind, only: SKC => SK3
    3106             : #include "pm_arrayStrip@routines.inc.F90"
    3107             :     end procedure
    3108             : #endif
    3109             : 
    3110             : #if SK2_ENABLED
    3111             :     module procedure getSILDefCom_D0_D0_SK2
    3112             :         use pm_kind, only: SKC => SK2
    3113             : #include "pm_arrayStrip@routines.inc.F90"
    3114             :     end procedure
    3115             : #endif
    3116             : 
    3117             : #if SK1_ENABLED
    3118      582896 :     module procedure getSILDefCom_D0_D0_SK1
    3119             :         use pm_kind, only: SKC => SK1
    3120             : #include "pm_arrayStrip@routines.inc.F90"
    3121             :     end procedure
    3122             : #endif
    3123             : 
    3124             : #undef SK_ENABLED
    3125             : 
    3126             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3127             : 
    3128             : #undef D0_D0_ENABLED
    3129             : 
    3130             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3131             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3132             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3133             : 
    3134             : #define D1_D0_ENABLED 1
    3135             : 
    3136             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3137             : 
    3138             : #define SK_ENABLED 1
    3139             : 
    3140             : #if SK5_ENABLED
    3141             :     module procedure getSILDefCom_D1_D0_SK5
    3142             :         use pm_kind, only: SKC => SK5
    3143             : #include "pm_arrayStrip@routines.inc.F90"
    3144             :     end procedure
    3145             : #endif
    3146             : 
    3147             : #if SK4_ENABLED
    3148             :     module procedure getSILDefCom_D1_D0_SK4
    3149             :         use pm_kind, only: SKC => SK4
    3150             : #include "pm_arrayStrip@routines.inc.F90"
    3151             :     end procedure
    3152             : #endif
    3153             : 
    3154             : #if SK3_ENABLED
    3155             :     module procedure getSILDefCom_D1_D0_SK3
    3156             :         use pm_kind, only: SKC => SK3
    3157             : #include "pm_arrayStrip@routines.inc.F90"
    3158             :     end procedure
    3159             : #endif
    3160             : 
    3161             : #if SK2_ENABLED
    3162             :     module procedure getSILDefCom_D1_D0_SK2
    3163             :         use pm_kind, only: SKC => SK2
    3164             : #include "pm_arrayStrip@routines.inc.F90"
    3165             :     end procedure
    3166             : #endif
    3167             : 
    3168             : #if SK1_ENABLED
    3169        2012 :     module procedure getSILDefCom_D1_D0_SK1
    3170             :         use pm_kind, only: SKC => SK1
    3171             : #include "pm_arrayStrip@routines.inc.F90"
    3172             :     end procedure
    3173             : #endif
    3174             : 
    3175             : #undef SK_ENABLED
    3176             : 
    3177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3178             : 
    3179             : #define IK_ENABLED 1
    3180             : 
    3181             : #if IK5_ENABLED
    3182        2000 :     module procedure getSILDefCom_D1_D0_IK5
    3183             :         use pm_kind, only: IKC => IK5
    3184             : #include "pm_arrayStrip@routines.inc.F90"
    3185             :     end procedure
    3186             : #endif
    3187             : 
    3188             : #if IK4_ENABLED
    3189        2000 :     module procedure getSILDefCom_D1_D0_IK4
    3190             :         use pm_kind, only: IKC => IK4
    3191             : #include "pm_arrayStrip@routines.inc.F90"
    3192             :     end procedure
    3193             : #endif
    3194             : 
    3195             : #if IK3_ENABLED
    3196        2008 :     module procedure getSILDefCom_D1_D0_IK3
    3197             :         use pm_kind, only: IKC => IK3
    3198             : #include "pm_arrayStrip@routines.inc.F90"
    3199             :     end procedure
    3200             : #endif
    3201             : 
    3202             : #if IK2_ENABLED
    3203        2000 :     module procedure getSILDefCom_D1_D0_IK2
    3204             :         use pm_kind, only: IKC => IK2
    3205             : #include "pm_arrayStrip@routines.inc.F90"
    3206             :     end procedure
    3207             : #endif
    3208             : 
    3209             : #if IK1_ENABLED
    3210        2000 :     module procedure getSILDefCom_D1_D0_IK1
    3211             :         use pm_kind, only: IKC => IK1
    3212             : #include "pm_arrayStrip@routines.inc.F90"
    3213             :     end procedure
    3214             : #endif
    3215             : 
    3216             : #undef IK_ENABLED
    3217             : 
    3218             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3219             : 
    3220             : #define LK_ENABLED 1
    3221             : 
    3222             : #if LK5_ENABLED
    3223        2000 :     module procedure getSILDefCom_D1_D0_LK5
    3224             :         use pm_kind, only: LKC => LK5
    3225             : #include "pm_arrayStrip@routines.inc.F90"
    3226             :     end procedure
    3227             : #endif
    3228             : 
    3229             : #if LK4_ENABLED
    3230        2000 :     module procedure getSILDefCom_D1_D0_LK4
    3231             :         use pm_kind, only: LKC => LK4
    3232             : #include "pm_arrayStrip@routines.inc.F90"
    3233             :     end procedure
    3234             : #endif
    3235             : 
    3236             : #if LK3_ENABLED
    3237        2008 :     module procedure getSILDefCom_D1_D0_LK3
    3238             :         use pm_kind, only: LKC => LK3
    3239             : #include "pm_arrayStrip@routines.inc.F90"
    3240             :     end procedure
    3241             : #endif
    3242             : 
    3243             : #if LK2_ENABLED
    3244        2000 :     module procedure getSILDefCom_D1_D0_LK2
    3245             :         use pm_kind, only: LKC => LK2
    3246             : #include "pm_arrayStrip@routines.inc.F90"
    3247             :     end procedure
    3248             : #endif
    3249             : 
    3250             : #if LK1_ENABLED
    3251        2000 :     module procedure getSILDefCom_D1_D0_LK1
    3252             :         use pm_kind, only: LKC => LK1
    3253             : #include "pm_arrayStrip@routines.inc.F90"
    3254             :     end procedure
    3255             : #endif
    3256             : 
    3257             : #undef LK_ENABLED
    3258             : 
    3259             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3260             : 
    3261             : #define CK_ENABLED 1
    3262             : 
    3263             : #if CK5_ENABLED
    3264             :     module procedure getSILDefCom_D1_D0_CK5
    3265             :         use pm_kind, only: CKC => CK5
    3266             : #include "pm_arrayStrip@routines.inc.F90"
    3267             :     end procedure
    3268             : #endif
    3269             : 
    3270             : #if CK4_ENABLED
    3271        2000 :     module procedure getSILDefCom_D1_D0_CK4
    3272             :         use pm_kind, only: CKC => CK4
    3273             : #include "pm_arrayStrip@routines.inc.F90"
    3274             :     end procedure
    3275             : #endif
    3276             : 
    3277             : #if CK3_ENABLED
    3278        2000 :     module procedure getSILDefCom_D1_D0_CK3
    3279             :         use pm_kind, only: CKC => CK3
    3280             : #include "pm_arrayStrip@routines.inc.F90"
    3281             :     end procedure
    3282             : #endif
    3283             : 
    3284             : #if CK2_ENABLED
    3285        2000 :     module procedure getSILDefCom_D1_D0_CK2
    3286             :         use pm_kind, only: CKC => CK2
    3287             : #include "pm_arrayStrip@routines.inc.F90"
    3288             :     end procedure
    3289             : #endif
    3290             : 
    3291             : #if CK1_ENABLED
    3292        2008 :     module procedure getSILDefCom_D1_D0_CK1
    3293             :         use pm_kind, only: CKC => CK1
    3294             : #include "pm_arrayStrip@routines.inc.F90"
    3295             :     end procedure
    3296             : #endif
    3297             : 
    3298             : #undef CK_ENABLED
    3299             : 
    3300             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3301             : 
    3302             : #define RK_ENABLED 1
    3303             : 
    3304             : #if RK5_ENABLED
    3305             :     module procedure getSILDefCom_D1_D0_RK5
    3306             :         use pm_kind, only: RKC => RK5
    3307             : #include "pm_arrayStrip@routines.inc.F90"
    3308             :     end procedure
    3309             : #endif
    3310             : 
    3311             : #if RK4_ENABLED
    3312        2000 :     module procedure getSILDefCom_D1_D0_RK4
    3313             :         use pm_kind, only: RKC => RK4
    3314             : #include "pm_arrayStrip@routines.inc.F90"
    3315             :     end procedure
    3316             : #endif
    3317             : 
    3318             : #if RK3_ENABLED
    3319        2000 :     module procedure getSILDefCom_D1_D0_RK3
    3320             :         use pm_kind, only: RKC => RK3
    3321             : #include "pm_arrayStrip@routines.inc.F90"
    3322             :     end procedure
    3323             : #endif
    3324             : 
    3325             : #if RK2_ENABLED
    3326        2000 :     module procedure getSILDefCom_D1_D0_RK2
    3327             :         use pm_kind, only: RKC => RK2
    3328             : #include "pm_arrayStrip@routines.inc.F90"
    3329             :     end procedure
    3330             : #endif
    3331             : 
    3332             : #if RK1_ENABLED
    3333        2005 :     module procedure getSILDefCom_D1_D0_RK1
    3334             :         use pm_kind, only: RKC => RK1
    3335             : #include "pm_arrayStrip@routines.inc.F90"
    3336             :     end procedure
    3337             : #endif
    3338             : 
    3339             : #undef RK_ENABLED
    3340             : 
    3341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3342             : 
    3343             : #undef D1_D0_ENABLED
    3344             : 
    3345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3346             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3348             : 
    3349             : #define D1_D1_ENABLED 1
    3350             : 
    3351             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3352             : 
    3353             : #define SK_ENABLED 1
    3354             : 
    3355             : #if SK5_ENABLED
    3356             :     module procedure getSILDefCom_D1_D1_SK5
    3357             :         use pm_kind, only: SKC => SK5
    3358             : #include "pm_arrayStrip@routines.inc.F90"
    3359             :     end procedure
    3360             : #endif
    3361             : 
    3362             : #if SK4_ENABLED
    3363             :     module procedure getSILDefCom_D1_D1_SK4
    3364             :         use pm_kind, only: SKC => SK4
    3365             : #include "pm_arrayStrip@routines.inc.F90"
    3366             :     end procedure
    3367             : #endif
    3368             : 
    3369             : #if SK3_ENABLED
    3370             :     module procedure getSILDefCom_D1_D1_SK3
    3371             :         use pm_kind, only: SKC => SK3
    3372             : #include "pm_arrayStrip@routines.inc.F90"
    3373             :     end procedure
    3374             : #endif
    3375             : 
    3376             : #if SK2_ENABLED
    3377             :     module procedure getSILDefCom_D1_D1_SK2
    3378             :         use pm_kind, only: SKC => SK2
    3379             : #include "pm_arrayStrip@routines.inc.F90"
    3380             :     end procedure
    3381             : #endif
    3382             : 
    3383             : #if SK1_ENABLED
    3384        2032 :     module procedure getSILDefCom_D1_D1_SK1
    3385             :         use pm_kind, only: SKC => SK1
    3386             : #include "pm_arrayStrip@routines.inc.F90"
    3387             :     end procedure
    3388             : #endif
    3389             : 
    3390             : #undef SK_ENABLED
    3391             : 
    3392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3393             : 
    3394             : #define IK_ENABLED 1
    3395             : 
    3396             : #if IK5_ENABLED
    3397        2008 :     module procedure getSILDefCom_D1_D1_IK5
    3398             :         use pm_kind, only: IKC => IK5
    3399             : #include "pm_arrayStrip@routines.inc.F90"
    3400             :     end procedure
    3401             : #endif
    3402             : 
    3403             : #if IK4_ENABLED
    3404        2008 :     module procedure getSILDefCom_D1_D1_IK4
    3405             :         use pm_kind, only: IKC => IK4
    3406             : #include "pm_arrayStrip@routines.inc.F90"
    3407             :     end procedure
    3408             : #endif
    3409             : 
    3410             : #if IK3_ENABLED
    3411        2034 :     module procedure getSILDefCom_D1_D1_IK3
    3412             :         use pm_kind, only: IKC => IK3
    3413             : #include "pm_arrayStrip@routines.inc.F90"
    3414             :     end procedure
    3415             : #endif
    3416             : 
    3417             : #if IK2_ENABLED
    3418        2008 :     module procedure getSILDefCom_D1_D1_IK2
    3419             :         use pm_kind, only: IKC => IK2
    3420             : #include "pm_arrayStrip@routines.inc.F90"
    3421             :     end procedure
    3422             : #endif
    3423             : 
    3424             : #if IK1_ENABLED
    3425        2008 :     module procedure getSILDefCom_D1_D1_IK1
    3426             :         use pm_kind, only: IKC => IK1
    3427             : #include "pm_arrayStrip@routines.inc.F90"
    3428             :     end procedure
    3429             : #endif
    3430             : 
    3431             : #undef IK_ENABLED
    3432             : 
    3433             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3434             : 
    3435             : #define LK_ENABLED 1
    3436             : 
    3437             : #if LK5_ENABLED
    3438        2008 :     module procedure getSILDefCom_D1_D1_LK5
    3439             :         use pm_kind, only: LKC => LK5
    3440             : #include "pm_arrayStrip@routines.inc.F90"
    3441             :     end procedure
    3442             : #endif
    3443             : 
    3444             : #if LK4_ENABLED
    3445        2008 :     module procedure getSILDefCom_D1_D1_LK4
    3446             :         use pm_kind, only: LKC => LK4
    3447             : #include "pm_arrayStrip@routines.inc.F90"
    3448             :     end procedure
    3449             : #endif
    3450             : 
    3451             : #if LK3_ENABLED
    3452        2036 :     module procedure getSILDefCom_D1_D1_LK3
    3453             :         use pm_kind, only: LKC => LK3
    3454             : #include "pm_arrayStrip@routines.inc.F90"
    3455             :     end procedure
    3456             : #endif
    3457             : 
    3458             : #if LK2_ENABLED
    3459        2008 :     module procedure getSILDefCom_D1_D1_LK2
    3460             :         use pm_kind, only: LKC => LK2
    3461             : #include "pm_arrayStrip@routines.inc.F90"
    3462             :     end procedure
    3463             : #endif
    3464             : 
    3465             : #if LK1_ENABLED
    3466        2008 :     module procedure getSILDefCom_D1_D1_LK1
    3467             :         use pm_kind, only: LKC => LK1
    3468             : #include "pm_arrayStrip@routines.inc.F90"
    3469             :     end procedure
    3470             : #endif
    3471             : 
    3472             : #undef LK_ENABLED
    3473             : 
    3474             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3475             : 
    3476             : #define CK_ENABLED 1
    3477             : 
    3478             : #if CK5_ENABLED
    3479             :     module procedure getSILDefCom_D1_D1_CK5
    3480             :         use pm_kind, only: CKC => CK5
    3481             : #include "pm_arrayStrip@routines.inc.F90"
    3482             :     end procedure
    3483             : #endif
    3484             : 
    3485             : #if CK4_ENABLED
    3486        2008 :     module procedure getSILDefCom_D1_D1_CK4
    3487             :         use pm_kind, only: CKC => CK4
    3488             : #include "pm_arrayStrip@routines.inc.F90"
    3489             :     end procedure
    3490             : #endif
    3491             : 
    3492             : #if CK3_ENABLED
    3493        2008 :     module procedure getSILDefCom_D1_D1_CK3
    3494             :         use pm_kind, only: CKC => CK3
    3495             : #include "pm_arrayStrip@routines.inc.F90"
    3496             :     end procedure
    3497             : #endif
    3498             : 
    3499             : #if CK2_ENABLED
    3500        2008 :     module procedure getSILDefCom_D1_D1_CK2
    3501             :         use pm_kind, only: CKC => CK2
    3502             : #include "pm_arrayStrip@routines.inc.F90"
    3503             :     end procedure
    3504             : #endif
    3505             : 
    3506             : #if CK1_ENABLED
    3507        2036 :     module procedure getSILDefCom_D1_D1_CK1
    3508             :         use pm_kind, only: CKC => CK1
    3509             : #include "pm_arrayStrip@routines.inc.F90"
    3510             :     end procedure
    3511             : #endif
    3512             : 
    3513             : #undef CK_ENABLED
    3514             : 
    3515             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3516             : 
    3517             : #define RK_ENABLED 1
    3518             : 
    3519             : #if RK5_ENABLED
    3520             :     module procedure getSILDefCom_D1_D1_RK5
    3521             :         use pm_kind, only: RKC => RK5
    3522             : #include "pm_arrayStrip@routines.inc.F90"
    3523             :     end procedure
    3524             : #endif
    3525             : 
    3526             : #if RK4_ENABLED
    3527        2008 :     module procedure getSILDefCom_D1_D1_RK4
    3528             :         use pm_kind, only: RKC => RK4
    3529             : #include "pm_arrayStrip@routines.inc.F90"
    3530             :     end procedure
    3531             : #endif
    3532             : 
    3533             : #if RK3_ENABLED
    3534        2008 :     module procedure getSILDefCom_D1_D1_RK3
    3535             :         use pm_kind, only: RKC => RK3
    3536             : #include "pm_arrayStrip@routines.inc.F90"
    3537             :     end procedure
    3538             : #endif
    3539             : 
    3540             : #if RK2_ENABLED
    3541        2008 :     module procedure getSILDefCom_D1_D1_RK2
    3542             :         use pm_kind, only: RKC => RK2
    3543             : #include "pm_arrayStrip@routines.inc.F90"
    3544             :     end procedure
    3545             : #endif
    3546             : 
    3547             : #if RK1_ENABLED
    3548        2036 :     module procedure getSILDefCom_D1_D1_RK1
    3549             :         use pm_kind, only: RKC => RK1
    3550             : #include "pm_arrayStrip@routines.inc.F90"
    3551             :     end procedure
    3552             : #endif
    3553             : 
    3554             : #undef RK_ENABLED
    3555             : 
    3556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3557             : 
    3558             : #undef D1_D1_ENABLED
    3559             : 
    3560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3561             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3562             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3563             : 
    3564             : #undef DefCom_ENABLED
    3565             : 
    3566             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3567             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3569             : 
    3570             : #define CusCom_ENABLED 1
    3571             : 
    3572             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3573             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3574             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3575             : 
    3576             : #define D0_D0_ENABLED 1
    3577             : 
    3578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3579             : 
    3580             : #define SK_ENABLED 1
    3581             : 
    3582             : #if SK5_ENABLED
    3583             :     module procedure getSILCusCom_D0_D0_SK5
    3584             :         use pm_kind, only: SKC => SK5
    3585             : #include "pm_arrayStrip@routines.inc.F90"
    3586             :     end procedure
    3587             : #endif
    3588             : 
    3589             : #if SK4_ENABLED
    3590             :     module procedure getSILCusCom_D0_D0_SK4
    3591             :         use pm_kind, only: SKC => SK4
    3592             : #include "pm_arrayStrip@routines.inc.F90"
    3593             :     end procedure
    3594             : #endif
    3595             : 
    3596             : #if SK3_ENABLED
    3597             :     module procedure getSILCusCom_D0_D0_SK3
    3598             :         use pm_kind, only: SKC => SK3
    3599             : #include "pm_arrayStrip@routines.inc.F90"
    3600             :     end procedure
    3601             : #endif
    3602             : 
    3603             : #if SK2_ENABLED
    3604             :     module procedure getSILCusCom_D0_D0_SK2
    3605             :         use pm_kind, only: SKC => SK2
    3606             : #include "pm_arrayStrip@routines.inc.F90"
    3607             :     end procedure
    3608             : #endif
    3609             : 
    3610             : #if SK1_ENABLED
    3611        1210 :     module procedure getSILCusCom_D0_D0_SK1
    3612             :         use pm_kind, only: SKC => SK1
    3613             : #include "pm_arrayStrip@routines.inc.F90"
    3614             :     end procedure
    3615             : #endif
    3616             : 
    3617             : #undef SK_ENABLED
    3618             : 
    3619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3620             : 
    3621             : #undef D0_D0_ENABLED
    3622             : 
    3623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3626             : 
    3627             : #define D1_D0_ENABLED 1
    3628             : 
    3629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3630             : 
    3631             : #define SK_ENABLED 1
    3632             : 
    3633             : #if SK5_ENABLED
    3634             :     module procedure getSILCusCom_D1_D0_SK5
    3635             :         use pm_kind, only: SKC => SK5
    3636             : #include "pm_arrayStrip@routines.inc.F90"
    3637             :     end procedure
    3638             : #endif
    3639             : 
    3640             : #if SK4_ENABLED
    3641             :     module procedure getSILCusCom_D1_D0_SK4
    3642             :         use pm_kind, only: SKC => SK4
    3643             : #include "pm_arrayStrip@routines.inc.F90"
    3644             :     end procedure
    3645             : #endif
    3646             : 
    3647             : #if SK3_ENABLED
    3648             :     module procedure getSILCusCom_D1_D0_SK3
    3649             :         use pm_kind, only: SKC => SK3
    3650             : #include "pm_arrayStrip@routines.inc.F90"
    3651             :     end procedure
    3652             : #endif
    3653             : 
    3654             : #if SK2_ENABLED
    3655             :     module procedure getSILCusCom_D1_D0_SK2
    3656             :         use pm_kind, only: SKC => SK2
    3657             : #include "pm_arrayStrip@routines.inc.F90"
    3658             :     end procedure
    3659             : #endif
    3660             : 
    3661             : #if SK1_ENABLED
    3662        1404 :     module procedure getSILCusCom_D1_D0_SK1
    3663             :         use pm_kind, only: SKC => SK1
    3664             : #include "pm_arrayStrip@routines.inc.F90"
    3665             :     end procedure
    3666             : #endif
    3667             : 
    3668             : #undef SK_ENABLED
    3669             : 
    3670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3671             : 
    3672             : #define IK_ENABLED 1
    3673             : 
    3674             : #if IK5_ENABLED
    3675        1400 :     module procedure getSILCusCom_D1_D0_IK5
    3676             :         use pm_kind, only: IKC => IK5
    3677             : #include "pm_arrayStrip@routines.inc.F90"
    3678             :     end procedure
    3679             : #endif
    3680             : 
    3681             : #if IK4_ENABLED
    3682        1400 :     module procedure getSILCusCom_D1_D0_IK4
    3683             :         use pm_kind, only: IKC => IK4
    3684             : #include "pm_arrayStrip@routines.inc.F90"
    3685             :     end procedure
    3686             : #endif
    3687             : 
    3688             : #if IK3_ENABLED
    3689        1404 :     module procedure getSILCusCom_D1_D0_IK3
    3690             :         use pm_kind, only: IKC => IK3
    3691             : #include "pm_arrayStrip@routines.inc.F90"
    3692             :     end procedure
    3693             : #endif
    3694             : 
    3695             : #if IK2_ENABLED
    3696        1400 :     module procedure getSILCusCom_D1_D0_IK2
    3697             :         use pm_kind, only: IKC => IK2
    3698             : #include "pm_arrayStrip@routines.inc.F90"
    3699             :     end procedure
    3700             : #endif
    3701             : 
    3702             : #if IK1_ENABLED
    3703        1400 :     module procedure getSILCusCom_D1_D0_IK1
    3704             :         use pm_kind, only: IKC => IK1
    3705             : #include "pm_arrayStrip@routines.inc.F90"
    3706             :     end procedure
    3707             : #endif
    3708             : 
    3709             : #undef IK_ENABLED
    3710             : 
    3711             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3712             : 
    3713             : #define LK_ENABLED 1
    3714             : 
    3715             : #if LK5_ENABLED
    3716        1400 :     module procedure getSILCusCom_D1_D0_LK5
    3717             :         use pm_kind, only: LKC => LK5
    3718             : #include "pm_arrayStrip@routines.inc.F90"
    3719             :     end procedure
    3720             : #endif
    3721             : 
    3722             : #if LK4_ENABLED
    3723        1400 :     module procedure getSILCusCom_D1_D0_LK4
    3724             :         use pm_kind, only: LKC => LK4
    3725             : #include "pm_arrayStrip@routines.inc.F90"
    3726             :     end procedure
    3727             : #endif
    3728             : 
    3729             : #if LK3_ENABLED
    3730        1404 :     module procedure getSILCusCom_D1_D0_LK3
    3731             :         use pm_kind, only: LKC => LK3
    3732             : #include "pm_arrayStrip@routines.inc.F90"
    3733             :     end procedure
    3734             : #endif
    3735             : 
    3736             : #if LK2_ENABLED
    3737        1400 :     module procedure getSILCusCom_D1_D0_LK2
    3738             :         use pm_kind, only: LKC => LK2
    3739             : #include "pm_arrayStrip@routines.inc.F90"
    3740             :     end procedure
    3741             : #endif
    3742             : 
    3743             : #if LK1_ENABLED
    3744        1400 :     module procedure getSILCusCom_D1_D0_LK1
    3745             :         use pm_kind, only: LKC => LK1
    3746             : #include "pm_arrayStrip@routines.inc.F90"
    3747             :     end procedure
    3748             : #endif
    3749             : 
    3750             : #undef LK_ENABLED
    3751             : 
    3752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3753             : 
    3754             : #define CK_ENABLED 1
    3755             : 
    3756             : #if CK5_ENABLED
    3757             :     module procedure getSILCusCom_D1_D0_CK5
    3758             :         use pm_kind, only: CKC => CK5
    3759             : #include "pm_arrayStrip@routines.inc.F90"
    3760             :     end procedure
    3761             : #endif
    3762             : 
    3763             : #if CK4_ENABLED
    3764        1400 :     module procedure getSILCusCom_D1_D0_CK4
    3765             :         use pm_kind, only: CKC => CK4
    3766             : #include "pm_arrayStrip@routines.inc.F90"
    3767             :     end procedure
    3768             : #endif
    3769             : 
    3770             : #if CK3_ENABLED
    3771        1400 :     module procedure getSILCusCom_D1_D0_CK3
    3772             :         use pm_kind, only: CKC => CK3
    3773             : #include "pm_arrayStrip@routines.inc.F90"
    3774             :     end procedure
    3775             : #endif
    3776             : 
    3777             : #if CK2_ENABLED
    3778        1400 :     module procedure getSILCusCom_D1_D0_CK2
    3779             :         use pm_kind, only: CKC => CK2
    3780             : #include "pm_arrayStrip@routines.inc.F90"
    3781             :     end procedure
    3782             : #endif
    3783             : 
    3784             : #if CK1_ENABLED
    3785        1404 :     module procedure getSILCusCom_D1_D0_CK1
    3786             :         use pm_kind, only: CKC => CK1
    3787             : #include "pm_arrayStrip@routines.inc.F90"
    3788             :     end procedure
    3789             : #endif
    3790             : 
    3791             : #undef CK_ENABLED
    3792             : 
    3793             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3794             : 
    3795             : #define RK_ENABLED 1
    3796             : 
    3797             : #if RK5_ENABLED
    3798             :     module procedure getSILCusCom_D1_D0_RK5
    3799             :         use pm_kind, only: RKC => RK5
    3800             : #include "pm_arrayStrip@routines.inc.F90"
    3801             :     end procedure
    3802             : #endif
    3803             : 
    3804             : #if RK4_ENABLED
    3805        1400 :     module procedure getSILCusCom_D1_D0_RK4
    3806             :         use pm_kind, only: RKC => RK4
    3807             : #include "pm_arrayStrip@routines.inc.F90"
    3808             :     end procedure
    3809             : #endif
    3810             : 
    3811             : #if RK3_ENABLED
    3812        1400 :     module procedure getSILCusCom_D1_D0_RK3
    3813             :         use pm_kind, only: RKC => RK3
    3814             : #include "pm_arrayStrip@routines.inc.F90"
    3815             :     end procedure
    3816             : #endif
    3817             : 
    3818             : #if RK2_ENABLED
    3819        1400 :     module procedure getSILCusCom_D1_D0_RK2
    3820             :         use pm_kind, only: RKC => RK2
    3821             : #include "pm_arrayStrip@routines.inc.F90"
    3822             :     end procedure
    3823             : #endif
    3824             : 
    3825             : #if RK1_ENABLED
    3826        1402 :     module procedure getSILCusCom_D1_D0_RK1
    3827             :         use pm_kind, only: RKC => RK1
    3828             : #include "pm_arrayStrip@routines.inc.F90"
    3829             :     end procedure
    3830             : #endif
    3831             : 
    3832             : #undef RK_ENABLED
    3833             : 
    3834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3835             : 
    3836             : #undef D1_D0_ENABLED
    3837             : 
    3838             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3839             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3841             : 
    3842             : #define D1_D1_ENABLED 1
    3843             : 
    3844             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3845             : 
    3846             : #define SK_ENABLED 1
    3847             : 
    3848             : #if SK5_ENABLED
    3849             :     module procedure getSILCusCom_D1_D1_SK5
    3850             :         use pm_kind, only: SKC => SK5
    3851             : #include "pm_arrayStrip@routines.inc.F90"
    3852             :     end procedure
    3853             : #endif
    3854             : 
    3855             : #if SK4_ENABLED
    3856             :     module procedure getSILCusCom_D1_D1_SK4
    3857             :         use pm_kind, only: SKC => SK4
    3858             : #include "pm_arrayStrip@routines.inc.F90"
    3859             :     end procedure
    3860             : #endif
    3861             : 
    3862             : #if SK3_ENABLED
    3863             :     module procedure getSILCusCom_D1_D1_SK3
    3864             :         use pm_kind, only: SKC => SK3
    3865             : #include "pm_arrayStrip@routines.inc.F90"
    3866             :     end procedure
    3867             : #endif
    3868             : 
    3869             : #if SK2_ENABLED
    3870             :     module procedure getSILCusCom_D1_D1_SK2
    3871             :         use pm_kind, only: SKC => SK2
    3872             : #include "pm_arrayStrip@routines.inc.F90"
    3873             :     end procedure
    3874             : #endif
    3875             : 
    3876             : #if SK1_ENABLED
    3877        1412 :     module procedure getSILCusCom_D1_D1_SK1
    3878             :         use pm_kind, only: SKC => SK1
    3879             : #include "pm_arrayStrip@routines.inc.F90"
    3880             :     end procedure
    3881             : #endif
    3882             : 
    3883             : #undef SK_ENABLED
    3884             : 
    3885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3886             : 
    3887             : #define IK_ENABLED 1
    3888             : 
    3889             : #if IK5_ENABLED
    3890        1408 :     module procedure getSILCusCom_D1_D1_IK5
    3891             :         use pm_kind, only: IKC => IK5
    3892             : #include "pm_arrayStrip@routines.inc.F90"
    3893             :     end procedure
    3894             : #endif
    3895             : 
    3896             : #if IK4_ENABLED
    3897        1408 :     module procedure getSILCusCom_D1_D1_IK4
    3898             :         use pm_kind, only: IKC => IK4
    3899             : #include "pm_arrayStrip@routines.inc.F90"
    3900             :     end procedure
    3901             : #endif
    3902             : 
    3903             : #if IK3_ENABLED
    3904        1412 :     module procedure getSILCusCom_D1_D1_IK3
    3905             :         use pm_kind, only: IKC => IK3
    3906             : #include "pm_arrayStrip@routines.inc.F90"
    3907             :     end procedure
    3908             : #endif
    3909             : 
    3910             : #if IK2_ENABLED
    3911        1408 :     module procedure getSILCusCom_D1_D1_IK2
    3912             :         use pm_kind, only: IKC => IK2
    3913             : #include "pm_arrayStrip@routines.inc.F90"
    3914             :     end procedure
    3915             : #endif
    3916             : 
    3917             : #if IK1_ENABLED
    3918        1408 :     module procedure getSILCusCom_D1_D1_IK1
    3919             :         use pm_kind, only: IKC => IK1
    3920             : #include "pm_arrayStrip@routines.inc.F90"
    3921             :     end procedure
    3922             : #endif
    3923             : 
    3924             : #undef IK_ENABLED
    3925             : 
    3926             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3927             : 
    3928             : #define LK_ENABLED 1
    3929             : 
    3930             : #if LK5_ENABLED
    3931        1408 :     module procedure getSILCusCom_D1_D1_LK5
    3932             :         use pm_kind, only: LKC => LK5
    3933             : #include "pm_arrayStrip@routines.inc.F90"
    3934             :     end procedure
    3935             : #endif
    3936             : 
    3937             : #if LK4_ENABLED
    3938        1408 :     module procedure getSILCusCom_D1_D1_LK4
    3939             :         use pm_kind, only: LKC => LK4
    3940             : #include "pm_arrayStrip@routines.inc.F90"
    3941             :     end procedure
    3942             : #endif
    3943             : 
    3944             : #if LK3_ENABLED
    3945        1412 :     module procedure getSILCusCom_D1_D1_LK3
    3946             :         use pm_kind, only: LKC => LK3
    3947             : #include "pm_arrayStrip@routines.inc.F90"
    3948             :     end procedure
    3949             : #endif
    3950             : 
    3951             : #if LK2_ENABLED
    3952        1408 :     module procedure getSILCusCom_D1_D1_LK2
    3953             :         use pm_kind, only: LKC => LK2
    3954             : #include "pm_arrayStrip@routines.inc.F90"
    3955             :     end procedure
    3956             : #endif
    3957             : 
    3958             : #if LK1_ENABLED
    3959        1408 :     module procedure getSILCusCom_D1_D1_LK1
    3960             :         use pm_kind, only: LKC => LK1
    3961             : #include "pm_arrayStrip@routines.inc.F90"
    3962             :     end procedure
    3963             : #endif
    3964             : 
    3965             : #undef LK_ENABLED
    3966             : 
    3967             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3968             : 
    3969             : #define CK_ENABLED 1
    3970             : 
    3971             : #if CK5_ENABLED
    3972             :     module procedure getSILCusCom_D1_D1_CK5
    3973             :         use pm_kind, only: CKC => CK5
    3974             : #include "pm_arrayStrip@routines.inc.F90"
    3975             :     end procedure
    3976             : #endif
    3977             : 
    3978             : #if CK4_ENABLED
    3979        1408 :     module procedure getSILCusCom_D1_D1_CK4
    3980             :         use pm_kind, only: CKC => CK4
    3981             : #include "pm_arrayStrip@routines.inc.F90"
    3982             :     end procedure
    3983             : #endif
    3984             : 
    3985             : #if CK3_ENABLED
    3986        1408 :     module procedure getSILCusCom_D1_D1_CK3
    3987             :         use pm_kind, only: CKC => CK3
    3988             : #include "pm_arrayStrip@routines.inc.F90"
    3989             :     end procedure
    3990             : #endif
    3991             : 
    3992             : #if CK2_ENABLED
    3993        1408 :     module procedure getSILCusCom_D1_D1_CK2
    3994             :         use pm_kind, only: CKC => CK2
    3995             : #include "pm_arrayStrip@routines.inc.F90"
    3996             :     end procedure
    3997             : #endif
    3998             : 
    3999             : #if CK1_ENABLED
    4000        1412 :     module procedure getSILCusCom_D1_D1_CK1
    4001             :         use pm_kind, only: CKC => CK1
    4002             : #include "pm_arrayStrip@routines.inc.F90"
    4003             :     end procedure
    4004             : #endif
    4005             : 
    4006             : #undef CK_ENABLED
    4007             : 
    4008             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4009             : 
    4010             : #define RK_ENABLED 1
    4011             : 
    4012             : #if RK5_ENABLED
    4013             :     module procedure getSILCusCom_D1_D1_RK5
    4014             :         use pm_kind, only: RKC => RK5
    4015             : #include "pm_arrayStrip@routines.inc.F90"
    4016             :     end procedure
    4017             : #endif
    4018             : 
    4019             : #if RK4_ENABLED
    4020        1408 :     module procedure getSILCusCom_D1_D1_RK4
    4021             :         use pm_kind, only: RKC => RK4
    4022             : #include "pm_arrayStrip@routines.inc.F90"
    4023             :     end procedure
    4024             : #endif
    4025             : 
    4026             : #if RK3_ENABLED
    4027        1408 :     module procedure getSILCusCom_D1_D1_RK3
    4028             :         use pm_kind, only: RKC => RK3
    4029             : #include "pm_arrayStrip@routines.inc.F90"
    4030             :     end procedure
    4031             : #endif
    4032             : 
    4033             : #if RK2_ENABLED
    4034        1408 :     module procedure getSILCusCom_D1_D1_RK2
    4035             :         use pm_kind, only: RKC => RK2
    4036             : #include "pm_arrayStrip@routines.inc.F90"
    4037             :     end procedure
    4038             : #endif
    4039             : 
    4040             : #if RK1_ENABLED
    4041        1412 :     module procedure getSILCusCom_D1_D1_RK1
    4042             :         use pm_kind, only: RKC => RK1
    4043             : #include "pm_arrayStrip@routines.inc.F90"
    4044             :     end procedure
    4045             : #endif
    4046             : 
    4047             : #undef RK_ENABLED
    4048             : 
    4049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4050             : 
    4051             : #undef D1_D1_ENABLED
    4052             : 
    4053             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4056             : 
    4057             : #undef CusCom_ENABLED
    4058             : 
    4059             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4060             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4061             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4062             : 
    4063             : #undef getSIL_ENABLED
    4064             : 
    4065             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4066             : 
    4067             : #define getSIR_ENABLED 1
    4068             : 
    4069             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4070             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4071             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4072             : 
    4073             : #define DefCom_ENABLED 1
    4074             : 
    4075             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4076             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4078             : 
    4079             : #define D0_D0_ENABLED 1
    4080             : 
    4081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4082             : 
    4083             : #define SK_ENABLED 1
    4084             : 
    4085             : #if SK5_ENABLED
    4086             :     module procedure getSIRDefCom_D0_D0_SK5
    4087             :         use pm_kind, only: SKC => SK5
    4088             : #include "pm_arrayStrip@routines.inc.F90"
    4089             :     end procedure
    4090             : #endif
    4091             : 
    4092             : #if SK4_ENABLED
    4093             :     module procedure getSIRDefCom_D0_D0_SK4
    4094             :         use pm_kind, only: SKC => SK4
    4095             : #include "pm_arrayStrip@routines.inc.F90"
    4096             :     end procedure
    4097             : #endif
    4098             : 
    4099             : #if SK3_ENABLED
    4100             :     module procedure getSIRDefCom_D0_D0_SK3
    4101             :         use pm_kind, only: SKC => SK3
    4102             : #include "pm_arrayStrip@routines.inc.F90"
    4103             :     end procedure
    4104             : #endif
    4105             : 
    4106             : #if SK2_ENABLED
    4107             :     module procedure getSIRDefCom_D0_D0_SK2
    4108             :         use pm_kind, only: SKC => SK2
    4109             : #include "pm_arrayStrip@routines.inc.F90"
    4110             :     end procedure
    4111             : #endif
    4112             : 
    4113             : #if SK1_ENABLED
    4114      582922 :     module procedure getSIRDefCom_D0_D0_SK1
    4115             :         use pm_kind, only: SKC => SK1
    4116             : #include "pm_arrayStrip@routines.inc.F90"
    4117             :     end procedure
    4118             : #endif
    4119             : 
    4120             : #undef SK_ENABLED
    4121             : 
    4122             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4123             : 
    4124             : #undef D0_D0_ENABLED
    4125             : 
    4126             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4127             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4128             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4129             : 
    4130             : #define D1_D0_ENABLED 1
    4131             : 
    4132             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4133             : 
    4134             : #define SK_ENABLED 1
    4135             : 
    4136             : #if SK5_ENABLED
    4137             :     module procedure getSIRDefCom_D1_D0_SK5
    4138             :         use pm_kind, only: SKC => SK5
    4139             : #include "pm_arrayStrip@routines.inc.F90"
    4140             :     end procedure
    4141             : #endif
    4142             : 
    4143             : #if SK4_ENABLED
    4144             :     module procedure getSIRDefCom_D1_D0_SK4
    4145             :         use pm_kind, only: SKC => SK4
    4146             : #include "pm_arrayStrip@routines.inc.F90"
    4147             :     end procedure
    4148             : #endif
    4149             : 
    4150             : #if SK3_ENABLED
    4151             :     module procedure getSIRDefCom_D1_D0_SK3
    4152             :         use pm_kind, only: SKC => SK3
    4153             : #include "pm_arrayStrip@routines.inc.F90"
    4154             :     end procedure
    4155             : #endif
    4156             : 
    4157             : #if SK2_ENABLED
    4158             :     module procedure getSIRDefCom_D1_D0_SK2
    4159             :         use pm_kind, only: SKC => SK2
    4160             : #include "pm_arrayStrip@routines.inc.F90"
    4161             :     end procedure
    4162             : #endif
    4163             : 
    4164             : #if SK1_ENABLED
    4165        2012 :     module procedure getSIRDefCom_D1_D0_SK1
    4166             :         use pm_kind, only: SKC => SK1
    4167             : #include "pm_arrayStrip@routines.inc.F90"
    4168             :     end procedure
    4169             : #endif
    4170             : 
    4171             : #undef SK_ENABLED
    4172             : 
    4173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4174             : 
    4175             : #define IK_ENABLED 1
    4176             : 
    4177             : #if IK5_ENABLED
    4178        2000 :     module procedure getSIRDefCom_D1_D0_IK5
    4179             :         use pm_kind, only: IKC => IK5
    4180             : #include "pm_arrayStrip@routines.inc.F90"
    4181             :     end procedure
    4182             : #endif
    4183             : 
    4184             : #if IK4_ENABLED
    4185        2000 :     module procedure getSIRDefCom_D1_D0_IK4
    4186             :         use pm_kind, only: IKC => IK4
    4187             : #include "pm_arrayStrip@routines.inc.F90"
    4188             :     end procedure
    4189             : #endif
    4190             : 
    4191             : #if IK3_ENABLED
    4192        2008 :     module procedure getSIRDefCom_D1_D0_IK3
    4193             :         use pm_kind, only: IKC => IK3
    4194             : #include "pm_arrayStrip@routines.inc.F90"
    4195             :     end procedure
    4196             : #endif
    4197             : 
    4198             : #if IK2_ENABLED
    4199        2000 :     module procedure getSIRDefCom_D1_D0_IK2
    4200             :         use pm_kind, only: IKC => IK2
    4201             : #include "pm_arrayStrip@routines.inc.F90"
    4202             :     end procedure
    4203             : #endif
    4204             : 
    4205             : #if IK1_ENABLED
    4206        2000 :     module procedure getSIRDefCom_D1_D0_IK1
    4207             :         use pm_kind, only: IKC => IK1
    4208             : #include "pm_arrayStrip@routines.inc.F90"
    4209             :     end procedure
    4210             : #endif
    4211             : 
    4212             : #undef IK_ENABLED
    4213             : 
    4214             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4215             : 
    4216             : #define LK_ENABLED 1
    4217             : 
    4218             : #if LK5_ENABLED
    4219        2000 :     module procedure getSIRDefCom_D1_D0_LK5
    4220             :         use pm_kind, only: LKC => LK5
    4221             : #include "pm_arrayStrip@routines.inc.F90"
    4222             :     end procedure
    4223             : #endif
    4224             : 
    4225             : #if LK4_ENABLED
    4226        2000 :     module procedure getSIRDefCom_D1_D0_LK4
    4227             :         use pm_kind, only: LKC => LK4
    4228             : #include "pm_arrayStrip@routines.inc.F90"
    4229             :     end procedure
    4230             : #endif
    4231             : 
    4232             : #if LK3_ENABLED
    4233        2008 :     module procedure getSIRDefCom_D1_D0_LK3
    4234             :         use pm_kind, only: LKC => LK3
    4235             : #include "pm_arrayStrip@routines.inc.F90"
    4236             :     end procedure
    4237             : #endif
    4238             : 
    4239             : #if LK2_ENABLED
    4240        2000 :     module procedure getSIRDefCom_D1_D0_LK2
    4241             :         use pm_kind, only: LKC => LK2
    4242             : #include "pm_arrayStrip@routines.inc.F90"
    4243             :     end procedure
    4244             : #endif
    4245             : 
    4246             : #if LK1_ENABLED
    4247        2000 :     module procedure getSIRDefCom_D1_D0_LK1
    4248             :         use pm_kind, only: LKC => LK1
    4249             : #include "pm_arrayStrip@routines.inc.F90"
    4250             :     end procedure
    4251             : #endif
    4252             : 
    4253             : #undef LK_ENABLED
    4254             : 
    4255             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4256             : 
    4257             : #define CK_ENABLED 1
    4258             : 
    4259             : #if CK5_ENABLED
    4260             :     module procedure getSIRDefCom_D1_D0_CK5
    4261             :         use pm_kind, only: CKC => CK5
    4262             : #include "pm_arrayStrip@routines.inc.F90"
    4263             :     end procedure
    4264             : #endif
    4265             : 
    4266             : #if CK4_ENABLED
    4267        2000 :     module procedure getSIRDefCom_D1_D0_CK4
    4268             :         use pm_kind, only: CKC => CK4
    4269             : #include "pm_arrayStrip@routines.inc.F90"
    4270             :     end procedure
    4271             : #endif
    4272             : 
    4273             : #if CK3_ENABLED
    4274        2000 :     module procedure getSIRDefCom_D1_D0_CK3
    4275             :         use pm_kind, only: CKC => CK3
    4276             : #include "pm_arrayStrip@routines.inc.F90"
    4277             :     end procedure
    4278             : #endif
    4279             : 
    4280             : #if CK2_ENABLED
    4281        2000 :     module procedure getSIRDefCom_D1_D0_CK2
    4282             :         use pm_kind, only: CKC => CK2
    4283             : #include "pm_arrayStrip@routines.inc.F90"
    4284             :     end procedure
    4285             : #endif
    4286             : 
    4287             : #if CK1_ENABLED
    4288        2008 :     module procedure getSIRDefCom_D1_D0_CK1
    4289             :         use pm_kind, only: CKC => CK1
    4290             : #include "pm_arrayStrip@routines.inc.F90"
    4291             :     end procedure
    4292             : #endif
    4293             : 
    4294             : #undef CK_ENABLED
    4295             : 
    4296             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4297             : 
    4298             : #define RK_ENABLED 1
    4299             : 
    4300             : #if RK5_ENABLED
    4301             :     module procedure getSIRDefCom_D1_D0_RK5
    4302             :         use pm_kind, only: RKC => RK5
    4303             : #include "pm_arrayStrip@routines.inc.F90"
    4304             :     end procedure
    4305             : #endif
    4306             : 
    4307             : #if RK4_ENABLED
    4308        2000 :     module procedure getSIRDefCom_D1_D0_RK4
    4309             :         use pm_kind, only: RKC => RK4
    4310             : #include "pm_arrayStrip@routines.inc.F90"
    4311             :     end procedure
    4312             : #endif
    4313             : 
    4314             : #if RK3_ENABLED
    4315        2000 :     module procedure getSIRDefCom_D1_D0_RK3
    4316             :         use pm_kind, only: RKC => RK3
    4317             : #include "pm_arrayStrip@routines.inc.F90"
    4318             :     end procedure
    4319             : #endif
    4320             : 
    4321             : #if RK2_ENABLED
    4322        2000 :     module procedure getSIRDefCom_D1_D0_RK2
    4323             :         use pm_kind, only: RKC => RK2
    4324             : #include "pm_arrayStrip@routines.inc.F90"
    4325             :     end procedure
    4326             : #endif
    4327             : 
    4328             : #if RK1_ENABLED
    4329        2005 :     module procedure getSIRDefCom_D1_D0_RK1
    4330             :         use pm_kind, only: RKC => RK1
    4331             : #include "pm_arrayStrip@routines.inc.F90"
    4332             :     end procedure
    4333             : #endif
    4334             : 
    4335             : #undef RK_ENABLED
    4336             : 
    4337             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4338             : 
    4339             : #undef D1_D0_ENABLED
    4340             : 
    4341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4344             : 
    4345             : #define D1_D1_ENABLED 1
    4346             : 
    4347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4348             : 
    4349             : #define SK_ENABLED 1
    4350             : 
    4351             : #if SK5_ENABLED
    4352             :     module procedure getSIRDefCom_D1_D1_SK5
    4353             :         use pm_kind, only: SKC => SK5
    4354             : #include "pm_arrayStrip@routines.inc.F90"
    4355             :     end procedure
    4356             : #endif
    4357             : 
    4358             : #if SK4_ENABLED
    4359             :     module procedure getSIRDefCom_D1_D1_SK4
    4360             :         use pm_kind, only: SKC => SK4
    4361             : #include "pm_arrayStrip@routines.inc.F90"
    4362             :     end procedure
    4363             : #endif
    4364             : 
    4365             : #if SK3_ENABLED
    4366             :     module procedure getSIRDefCom_D1_D1_SK3
    4367             :         use pm_kind, only: SKC => SK3
    4368             : #include "pm_arrayStrip@routines.inc.F90"
    4369             :     end procedure
    4370             : #endif
    4371             : 
    4372             : #if SK2_ENABLED
    4373             :     module procedure getSIRDefCom_D1_D1_SK2
    4374             :         use pm_kind, only: SKC => SK2
    4375             : #include "pm_arrayStrip@routines.inc.F90"
    4376             :     end procedure
    4377             : #endif
    4378             : 
    4379             : #if SK1_ENABLED
    4380        2032 :     module procedure getSIRDefCom_D1_D1_SK1
    4381             :         use pm_kind, only: SKC => SK1
    4382             : #include "pm_arrayStrip@routines.inc.F90"
    4383             :     end procedure
    4384             : #endif
    4385             : 
    4386             : #undef SK_ENABLED
    4387             : 
    4388             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4389             : 
    4390             : #define IK_ENABLED 1
    4391             : 
    4392             : #if IK5_ENABLED
    4393        2008 :     module procedure getSIRDefCom_D1_D1_IK5
    4394             :         use pm_kind, only: IKC => IK5
    4395             : #include "pm_arrayStrip@routines.inc.F90"
    4396             :     end procedure
    4397             : #endif
    4398             : 
    4399             : #if IK4_ENABLED
    4400        2008 :     module procedure getSIRDefCom_D1_D1_IK4
    4401             :         use pm_kind, only: IKC => IK4
    4402             : #include "pm_arrayStrip@routines.inc.F90"
    4403             :     end procedure
    4404             : #endif
    4405             : 
    4406             : #if IK3_ENABLED
    4407        2034 :     module procedure getSIRDefCom_D1_D1_IK3
    4408             :         use pm_kind, only: IKC => IK3
    4409             : #include "pm_arrayStrip@routines.inc.F90"
    4410             :     end procedure
    4411             : #endif
    4412             : 
    4413             : #if IK2_ENABLED
    4414        2008 :     module procedure getSIRDefCom_D1_D1_IK2
    4415             :         use pm_kind, only: IKC => IK2
    4416             : #include "pm_arrayStrip@routines.inc.F90"
    4417             :     end procedure
    4418             : #endif
    4419             : 
    4420             : #if IK1_ENABLED
    4421        2008 :     module procedure getSIRDefCom_D1_D1_IK1
    4422             :         use pm_kind, only: IKC => IK1
    4423             : #include "pm_arrayStrip@routines.inc.F90"
    4424             :     end procedure
    4425             : #endif
    4426             : 
    4427             : #undef IK_ENABLED
    4428             : 
    4429             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4430             : 
    4431             : #define LK_ENABLED 1
    4432             : 
    4433             : #if LK5_ENABLED
    4434        2008 :     module procedure getSIRDefCom_D1_D1_LK5
    4435             :         use pm_kind, only: LKC => LK5
    4436             : #include "pm_arrayStrip@routines.inc.F90"
    4437             :     end procedure
    4438             : #endif
    4439             : 
    4440             : #if LK4_ENABLED
    4441        2008 :     module procedure getSIRDefCom_D1_D1_LK4
    4442             :         use pm_kind, only: LKC => LK4
    4443             : #include "pm_arrayStrip@routines.inc.F90"
    4444             :     end procedure
    4445             : #endif
    4446             : 
    4447             : #if LK3_ENABLED
    4448        2036 :     module procedure getSIRDefCom_D1_D1_LK3
    4449             :         use pm_kind, only: LKC => LK3
    4450             : #include "pm_arrayStrip@routines.inc.F90"
    4451             :     end procedure
    4452             : #endif
    4453             : 
    4454             : #if LK2_ENABLED
    4455        2008 :     module procedure getSIRDefCom_D1_D1_LK2
    4456             :         use pm_kind, only: LKC => LK2
    4457             : #include "pm_arrayStrip@routines.inc.F90"
    4458             :     end procedure
    4459             : #endif
    4460             : 
    4461             : #if LK1_ENABLED
    4462        2008 :     module procedure getSIRDefCom_D1_D1_LK1
    4463             :         use pm_kind, only: LKC => LK1
    4464             : #include "pm_arrayStrip@routines.inc.F90"
    4465             :     end procedure
    4466             : #endif
    4467             : 
    4468             : #undef LK_ENABLED
    4469             : 
    4470             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4471             : 
    4472             : #define CK_ENABLED 1
    4473             : 
    4474             : #if CK5_ENABLED
    4475             :     module procedure getSIRDefCom_D1_D1_CK5
    4476             :         use pm_kind, only: CKC => CK5
    4477             : #include "pm_arrayStrip@routines.inc.F90"
    4478             :     end procedure
    4479             : #endif
    4480             : 
    4481             : #if CK4_ENABLED
    4482        2008 :     module procedure getSIRDefCom_D1_D1_CK4
    4483             :         use pm_kind, only: CKC => CK4
    4484             : #include "pm_arrayStrip@routines.inc.F90"
    4485             :     end procedure
    4486             : #endif
    4487             : 
    4488             : #if CK3_ENABLED
    4489        2008 :     module procedure getSIRDefCom_D1_D1_CK3
    4490             :         use pm_kind, only: CKC => CK3
    4491             : #include "pm_arrayStrip@routines.inc.F90"
    4492             :     end procedure
    4493             : #endif
    4494             : 
    4495             : #if CK2_ENABLED
    4496        2008 :     module procedure getSIRDefCom_D1_D1_CK2
    4497             :         use pm_kind, only: CKC => CK2
    4498             : #include "pm_arrayStrip@routines.inc.F90"
    4499             :     end procedure
    4500             : #endif
    4501             : 
    4502             : #if CK1_ENABLED
    4503        2036 :     module procedure getSIRDefCom_D1_D1_CK1
    4504             :         use pm_kind, only: CKC => CK1
    4505             : #include "pm_arrayStrip@routines.inc.F90"
    4506             :     end procedure
    4507             : #endif
    4508             : 
    4509             : #undef CK_ENABLED
    4510             : 
    4511             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4512             : 
    4513             : #define RK_ENABLED 1
    4514             : 
    4515             : #if RK5_ENABLED
    4516             :     module procedure getSIRDefCom_D1_D1_RK5
    4517             :         use pm_kind, only: RKC => RK5
    4518             : #include "pm_arrayStrip@routines.inc.F90"
    4519             :     end procedure
    4520             : #endif
    4521             : 
    4522             : #if RK4_ENABLED
    4523        2008 :     module procedure getSIRDefCom_D1_D1_RK4
    4524             :         use pm_kind, only: RKC => RK4
    4525             : #include "pm_arrayStrip@routines.inc.F90"
    4526             :     end procedure
    4527             : #endif
    4528             : 
    4529             : #if RK3_ENABLED
    4530        2008 :     module procedure getSIRDefCom_D1_D1_RK3
    4531             :         use pm_kind, only: RKC => RK3
    4532             : #include "pm_arrayStrip@routines.inc.F90"
    4533             :     end procedure
    4534             : #endif
    4535             : 
    4536             : #if RK2_ENABLED
    4537        2008 :     module procedure getSIRDefCom_D1_D1_RK2
    4538             :         use pm_kind, only: RKC => RK2
    4539             : #include "pm_arrayStrip@routines.inc.F90"
    4540             :     end procedure
    4541             : #endif
    4542             : 
    4543             : #if RK1_ENABLED
    4544        2036 :     module procedure getSIRDefCom_D1_D1_RK1
    4545             :         use pm_kind, only: RKC => RK1
    4546             : #include "pm_arrayStrip@routines.inc.F90"
    4547             :     end procedure
    4548             : #endif
    4549             : 
    4550             : #undef RK_ENABLED
    4551             : 
    4552             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4553             : 
    4554             : #undef D1_D1_ENABLED
    4555             : 
    4556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4557             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4558             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4559             : 
    4560             : #undef DefCom_ENABLED
    4561             : 
    4562             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4564             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4565             : 
    4566             : #define CusCom_ENABLED 1
    4567             : 
    4568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4569             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4571             : 
    4572             : #define D0_D0_ENABLED 1
    4573             : 
    4574             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4575             : 
    4576             : #define SK_ENABLED 1
    4577             : 
    4578             : #if SK5_ENABLED
    4579             :     module procedure getSIRCusCom_D0_D0_SK5
    4580             :         use pm_kind, only: SKC => SK5
    4581             : #include "pm_arrayStrip@routines.inc.F90"
    4582             :     end procedure
    4583             : #endif
    4584             : 
    4585             : #if SK4_ENABLED
    4586             :     module procedure getSIRCusCom_D0_D0_SK4
    4587             :         use pm_kind, only: SKC => SK4
    4588             : #include "pm_arrayStrip@routines.inc.F90"
    4589             :     end procedure
    4590             : #endif
    4591             : 
    4592             : #if SK3_ENABLED
    4593             :     module procedure getSIRCusCom_D0_D0_SK3
    4594             :         use pm_kind, only: SKC => SK3
    4595             : #include "pm_arrayStrip@routines.inc.F90"
    4596             :     end procedure
    4597             : #endif
    4598             : 
    4599             : #if SK2_ENABLED
    4600             :     module procedure getSIRCusCom_D0_D0_SK2
    4601             :         use pm_kind, only: SKC => SK2
    4602             : #include "pm_arrayStrip@routines.inc.F90"
    4603             :     end procedure
    4604             : #endif
    4605             : 
    4606             : #if SK1_ENABLED
    4607        1210 :     module procedure getSIRCusCom_D0_D0_SK1
    4608             :         use pm_kind, only: SKC => SK1
    4609             : #include "pm_arrayStrip@routines.inc.F90"
    4610             :     end procedure
    4611             : #endif
    4612             : 
    4613             : #undef SK_ENABLED
    4614             : 
    4615             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4616             : 
    4617             : #undef D0_D0_ENABLED
    4618             : 
    4619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4620             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4622             : 
    4623             : #define D1_D0_ENABLED 1
    4624             : 
    4625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4626             : 
    4627             : #define SK_ENABLED 1
    4628             : 
    4629             : #if SK5_ENABLED
    4630             :     module procedure getSIRCusCom_D1_D0_SK5
    4631             :         use pm_kind, only: SKC => SK5
    4632             : #include "pm_arrayStrip@routines.inc.F90"
    4633             :     end procedure
    4634             : #endif
    4635             : 
    4636             : #if SK4_ENABLED
    4637             :     module procedure getSIRCusCom_D1_D0_SK4
    4638             :         use pm_kind, only: SKC => SK4
    4639             : #include "pm_arrayStrip@routines.inc.F90"
    4640             :     end procedure
    4641             : #endif
    4642             : 
    4643             : #if SK3_ENABLED
    4644             :     module procedure getSIRCusCom_D1_D0_SK3
    4645             :         use pm_kind, only: SKC => SK3
    4646             : #include "pm_arrayStrip@routines.inc.F90"
    4647             :     end procedure
    4648             : #endif
    4649             : 
    4650             : #if SK2_ENABLED
    4651             :     module procedure getSIRCusCom_D1_D0_SK2
    4652             :         use pm_kind, only: SKC => SK2
    4653             : #include "pm_arrayStrip@routines.inc.F90"
    4654             :     end procedure
    4655             : #endif
    4656             : 
    4657             : #if SK1_ENABLED
    4658        1404 :     module procedure getSIRCusCom_D1_D0_SK1
    4659             :         use pm_kind, only: SKC => SK1
    4660             : #include "pm_arrayStrip@routines.inc.F90"
    4661             :     end procedure
    4662             : #endif
    4663             : 
    4664             : #undef SK_ENABLED
    4665             : 
    4666             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4667             : 
    4668             : #define IK_ENABLED 1
    4669             : 
    4670             : #if IK5_ENABLED
    4671        1400 :     module procedure getSIRCusCom_D1_D0_IK5
    4672             :         use pm_kind, only: IKC => IK5
    4673             : #include "pm_arrayStrip@routines.inc.F90"
    4674             :     end procedure
    4675             : #endif
    4676             : 
    4677             : #if IK4_ENABLED
    4678        1400 :     module procedure getSIRCusCom_D1_D0_IK4
    4679             :         use pm_kind, only: IKC => IK4
    4680             : #include "pm_arrayStrip@routines.inc.F90"
    4681             :     end procedure
    4682             : #endif
    4683             : 
    4684             : #if IK3_ENABLED
    4685        1404 :     module procedure getSIRCusCom_D1_D0_IK3
    4686             :         use pm_kind, only: IKC => IK3
    4687             : #include "pm_arrayStrip@routines.inc.F90"
    4688             :     end procedure
    4689             : #endif
    4690             : 
    4691             : #if IK2_ENABLED
    4692        1400 :     module procedure getSIRCusCom_D1_D0_IK2
    4693             :         use pm_kind, only: IKC => IK2
    4694             : #include "pm_arrayStrip@routines.inc.F90"
    4695             :     end procedure
    4696             : #endif
    4697             : 
    4698             : #if IK1_ENABLED
    4699        1400 :     module procedure getSIRCusCom_D1_D0_IK1
    4700             :         use pm_kind, only: IKC => IK1
    4701             : #include "pm_arrayStrip@routines.inc.F90"
    4702             :     end procedure
    4703             : #endif
    4704             : 
    4705             : #undef IK_ENABLED
    4706             : 
    4707             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4708             : 
    4709             : #define LK_ENABLED 1
    4710             : 
    4711             : #if LK5_ENABLED
    4712        1400 :     module procedure getSIRCusCom_D1_D0_LK5
    4713             :         use pm_kind, only: LKC => LK5
    4714             : #include "pm_arrayStrip@routines.inc.F90"
    4715             :     end procedure
    4716             : #endif
    4717             : 
    4718             : #if LK4_ENABLED
    4719        1400 :     module procedure getSIRCusCom_D1_D0_LK4
    4720             :         use pm_kind, only: LKC => LK4
    4721             : #include "pm_arrayStrip@routines.inc.F90"
    4722             :     end procedure
    4723             : #endif
    4724             : 
    4725             : #if LK3_ENABLED
    4726        1404 :     module procedure getSIRCusCom_D1_D0_LK3
    4727             :         use pm_kind, only: LKC => LK3
    4728             : #include "pm_arrayStrip@routines.inc.F90"
    4729             :     end procedure
    4730             : #endif
    4731             : 
    4732             : #if LK2_ENABLED
    4733        1400 :     module procedure getSIRCusCom_D1_D0_LK2
    4734             :         use pm_kind, only: LKC => LK2
    4735             : #include "pm_arrayStrip@routines.inc.F90"
    4736             :     end procedure
    4737             : #endif
    4738             : 
    4739             : #if LK1_ENABLED
    4740        1400 :     module procedure getSIRCusCom_D1_D0_LK1
    4741             :         use pm_kind, only: LKC => LK1
    4742             : #include "pm_arrayStrip@routines.inc.F90"
    4743             :     end procedure
    4744             : #endif
    4745             : 
    4746             : #undef LK_ENABLED
    4747             : 
    4748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4749             : 
    4750             : #define CK_ENABLED 1
    4751             : 
    4752             : #if CK5_ENABLED
    4753             :     module procedure getSIRCusCom_D1_D0_CK5
    4754             :         use pm_kind, only: CKC => CK5
    4755             : #include "pm_arrayStrip@routines.inc.F90"
    4756             :     end procedure
    4757             : #endif
    4758             : 
    4759             : #if CK4_ENABLED
    4760        1400 :     module procedure getSIRCusCom_D1_D0_CK4
    4761             :         use pm_kind, only: CKC => CK4
    4762             : #include "pm_arrayStrip@routines.inc.F90"
    4763             :     end procedure
    4764             : #endif
    4765             : 
    4766             : #if CK3_ENABLED
    4767        1400 :     module procedure getSIRCusCom_D1_D0_CK3
    4768             :         use pm_kind, only: CKC => CK3
    4769             : #include "pm_arrayStrip@routines.inc.F90"
    4770             :     end procedure
    4771             : #endif
    4772             : 
    4773             : #if CK2_ENABLED
    4774        1400 :     module procedure getSIRCusCom_D1_D0_CK2
    4775             :         use pm_kind, only: CKC => CK2
    4776             : #include "pm_arrayStrip@routines.inc.F90"
    4777             :     end procedure
    4778             : #endif
    4779             : 
    4780             : #if CK1_ENABLED
    4781        1404 :     module procedure getSIRCusCom_D1_D0_CK1
    4782             :         use pm_kind, only: CKC => CK1
    4783             : #include "pm_arrayStrip@routines.inc.F90"
    4784             :     end procedure
    4785             : #endif
    4786             : 
    4787             : #undef CK_ENABLED
    4788             : 
    4789             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4790             : 
    4791             : #define RK_ENABLED 1
    4792             : 
    4793             : #if RK5_ENABLED
    4794             :     module procedure getSIRCusCom_D1_D0_RK5
    4795             :         use pm_kind, only: RKC => RK5
    4796             : #include "pm_arrayStrip@routines.inc.F90"
    4797             :     end procedure
    4798             : #endif
    4799             : 
    4800             : #if RK4_ENABLED
    4801        1400 :     module procedure getSIRCusCom_D1_D0_RK4
    4802             :         use pm_kind, only: RKC => RK4
    4803             : #include "pm_arrayStrip@routines.inc.F90"
    4804             :     end procedure
    4805             : #endif
    4806             : 
    4807             : #if RK3_ENABLED
    4808        1400 :     module procedure getSIRCusCom_D1_D0_RK3
    4809             :         use pm_kind, only: RKC => RK3
    4810             : #include "pm_arrayStrip@routines.inc.F90"
    4811             :     end procedure
    4812             : #endif
    4813             : 
    4814             : #if RK2_ENABLED
    4815        1400 :     module procedure getSIRCusCom_D1_D0_RK2
    4816             :         use pm_kind, only: RKC => RK2
    4817             : #include "pm_arrayStrip@routines.inc.F90"
    4818             :     end procedure
    4819             : #endif
    4820             : 
    4821             : #if RK1_ENABLED
    4822        1402 :     module procedure getSIRCusCom_D1_D0_RK1
    4823             :         use pm_kind, only: RKC => RK1
    4824             : #include "pm_arrayStrip@routines.inc.F90"
    4825             :     end procedure
    4826             : #endif
    4827             : 
    4828             : #undef RK_ENABLED
    4829             : 
    4830             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4831             : 
    4832             : #undef D1_D0_ENABLED
    4833             : 
    4834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4835             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4836             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4837             : 
    4838             : #define D1_D1_ENABLED 1
    4839             : 
    4840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4841             : 
    4842             : #define SK_ENABLED 1
    4843             : 
    4844             : #if SK5_ENABLED
    4845             :     module procedure getSIRCusCom_D1_D1_SK5
    4846             :         use pm_kind, only: SKC => SK5
    4847             : #include "pm_arrayStrip@routines.inc.F90"
    4848             :     end procedure
    4849             : #endif
    4850             : 
    4851             : #if SK4_ENABLED
    4852             :     module procedure getSIRCusCom_D1_D1_SK4
    4853             :         use pm_kind, only: SKC => SK4
    4854             : #include "pm_arrayStrip@routines.inc.F90"
    4855             :     end procedure
    4856             : #endif
    4857             : 
    4858             : #if SK3_ENABLED
    4859             :     module procedure getSIRCusCom_D1_D1_SK3
    4860             :         use pm_kind, only: SKC => SK3
    4861             : #include "pm_arrayStrip@routines.inc.F90"
    4862             :     end procedure
    4863             : #endif
    4864             : 
    4865             : #if SK2_ENABLED
    4866             :     module procedure getSIRCusCom_D1_D1_SK2
    4867             :         use pm_kind, only: SKC => SK2
    4868             : #include "pm_arrayStrip@routines.inc.F90"
    4869             :     end procedure
    4870             : #endif
    4871             : 
    4872             : #if SK1_ENABLED
    4873        1412 :     module procedure getSIRCusCom_D1_D1_SK1
    4874             :         use pm_kind, only: SKC => SK1
    4875             : #include "pm_arrayStrip@routines.inc.F90"
    4876             :     end procedure
    4877             : #endif
    4878             : 
    4879             : #undef SK_ENABLED
    4880             : 
    4881             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4882             : 
    4883             : #define IK_ENABLED 1
    4884             : 
    4885             : #if IK5_ENABLED
    4886        1408 :     module procedure getSIRCusCom_D1_D1_IK5
    4887             :         use pm_kind, only: IKC => IK5
    4888             : #include "pm_arrayStrip@routines.inc.F90"
    4889             :     end procedure
    4890             : #endif
    4891             : 
    4892             : #if IK4_ENABLED
    4893        1408 :     module procedure getSIRCusCom_D1_D1_IK4
    4894             :         use pm_kind, only: IKC => IK4
    4895             : #include "pm_arrayStrip@routines.inc.F90"
    4896             :     end procedure
    4897             : #endif
    4898             : 
    4899             : #if IK3_ENABLED
    4900        1412 :     module procedure getSIRCusCom_D1_D1_IK3
    4901             :         use pm_kind, only: IKC => IK3
    4902             : #include "pm_arrayStrip@routines.inc.F90"
    4903             :     end procedure
    4904             : #endif
    4905             : 
    4906             : #if IK2_ENABLED
    4907        1408 :     module procedure getSIRCusCom_D1_D1_IK2
    4908             :         use pm_kind, only: IKC => IK2
    4909             : #include "pm_arrayStrip@routines.inc.F90"
    4910             :     end procedure
    4911             : #endif
    4912             : 
    4913             : #if IK1_ENABLED
    4914        1408 :     module procedure getSIRCusCom_D1_D1_IK1
    4915             :         use pm_kind, only: IKC => IK1
    4916             : #include "pm_arrayStrip@routines.inc.F90"
    4917             :     end procedure
    4918             : #endif
    4919             : 
    4920             : #undef IK_ENABLED
    4921             : 
    4922             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4923             : 
    4924             : #define LK_ENABLED 1
    4925             : 
    4926             : #if LK5_ENABLED
    4927        1408 :     module procedure getSIRCusCom_D1_D1_LK5
    4928             :         use pm_kind, only: LKC => LK5
    4929             : #include "pm_arrayStrip@routines.inc.F90"
    4930             :     end procedure
    4931             : #endif
    4932             : 
    4933             : #if LK4_ENABLED
    4934        1408 :     module procedure getSIRCusCom_D1_D1_LK4
    4935             :         use pm_kind, only: LKC => LK4
    4936             : #include "pm_arrayStrip@routines.inc.F90"
    4937             :     end procedure
    4938             : #endif
    4939             : 
    4940             : #if LK3_ENABLED
    4941        1412 :     module procedure getSIRCusCom_D1_D1_LK3
    4942             :         use pm_kind, only: LKC => LK3
    4943             : #include "pm_arrayStrip@routines.inc.F90"
    4944             :     end procedure
    4945             : #endif
    4946             : 
    4947             : #if LK2_ENABLED
    4948        1408 :     module procedure getSIRCusCom_D1_D1_LK2
    4949             :         use pm_kind, only: LKC => LK2
    4950             : #include "pm_arrayStrip@routines.inc.F90"
    4951             :     end procedure
    4952             : #endif
    4953             : 
    4954             : #if LK1_ENABLED
    4955        1408 :     module procedure getSIRCusCom_D1_D1_LK1
    4956             :         use pm_kind, only: LKC => LK1
    4957             : #include "pm_arrayStrip@routines.inc.F90"
    4958             :     end procedure
    4959             : #endif
    4960             : 
    4961             : #undef LK_ENABLED
    4962             : 
    4963             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4964             : 
    4965             : #define CK_ENABLED 1
    4966             : 
    4967             : #if CK5_ENABLED
    4968             :     module procedure getSIRCusCom_D1_D1_CK5
    4969             :         use pm_kind, only: CKC => CK5
    4970             : #include "pm_arrayStrip@routines.inc.F90"
    4971             :     end procedure
    4972             : #endif
    4973             : 
    4974             : #if CK4_ENABLED
    4975        1408 :     module procedure getSIRCusCom_D1_D1_CK4
    4976             :         use pm_kind, only: CKC => CK4
    4977             : #include "pm_arrayStrip@routines.inc.F90"
    4978             :     end procedure
    4979             : #endif
    4980             : 
    4981             : #if CK3_ENABLED
    4982        1408 :     module procedure getSIRCusCom_D1_D1_CK3
    4983             :         use pm_kind, only: CKC => CK3
    4984             : #include "pm_arrayStrip@routines.inc.F90"
    4985             :     end procedure
    4986             : #endif
    4987             : 
    4988             : #if CK2_ENABLED
    4989        1408 :     module procedure getSIRCusCom_D1_D1_CK2
    4990             :         use pm_kind, only: CKC => CK2
    4991             : #include "pm_arrayStrip@routines.inc.F90"
    4992             :     end procedure
    4993             : #endif
    4994             : 
    4995             : #if CK1_ENABLED
    4996        1412 :     module procedure getSIRCusCom_D1_D1_CK1
    4997             :         use pm_kind, only: CKC => CK1
    4998             : #include "pm_arrayStrip@routines.inc.F90"
    4999             :     end procedure
    5000             : #endif
    5001             : 
    5002             : #undef CK_ENABLED
    5003             : 
    5004             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5005             : 
    5006             : #define RK_ENABLED 1
    5007             : 
    5008             : #if RK5_ENABLED
    5009             :     module procedure getSIRCusCom_D1_D1_RK5
    5010             :         use pm_kind, only: RKC => RK5
    5011             : #include "pm_arrayStrip@routines.inc.F90"
    5012             :     end procedure
    5013             : #endif
    5014             : 
    5015             : #if RK4_ENABLED
    5016        1408 :     module procedure getSIRCusCom_D1_D1_RK4
    5017             :         use pm_kind, only: RKC => RK4
    5018             : #include "pm_arrayStrip@routines.inc.F90"
    5019             :     end procedure
    5020             : #endif
    5021             : 
    5022             : #if RK3_ENABLED
    5023        1408 :     module procedure getSIRCusCom_D1_D1_RK3
    5024             :         use pm_kind, only: RKC => RK3
    5025             : #include "pm_arrayStrip@routines.inc.F90"
    5026             :     end procedure
    5027             : #endif
    5028             : 
    5029             : #if RK2_ENABLED
    5030        1408 :     module procedure getSIRCusCom_D1_D1_RK2
    5031             :         use pm_kind, only: RKC => RK2
    5032             : #include "pm_arrayStrip@routines.inc.F90"
    5033             :     end procedure
    5034             : #endif
    5035             : 
    5036             : #if RK1_ENABLED
    5037        1412 :     module procedure getSIRCusCom_D1_D1_RK1
    5038             :         use pm_kind, only: RKC => RK1
    5039             : #include "pm_arrayStrip@routines.inc.F90"
    5040             :     end procedure
    5041             : #endif
    5042             : 
    5043             : #undef RK_ENABLED
    5044             : 
    5045             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5046             : 
    5047             : #undef D1_D1_ENABLED
    5048             : 
    5049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5052             : 
    5053             : #undef CusCom_ENABLED
    5054             : 
    5055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5056             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5057             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5058             : 
    5059             : #undef getSIR_ENABLED
    5060             : 
    5061             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5062             : 
    5063             : #undef CHECK_ASSERTION
    5064             : 
    5065             : end submodule routines

ParaMonte: Parallel Monte Carlo and Machine Learning Library 
The Computational Data Science Lab
© Copyright 2012 - 2024