https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_arrayReplace@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 648 648 100.0 %
Date: 2024-04-08 03:18:57 Functions: 616 616 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_arrayReplace](@ref pm_arrayReplace).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arrayReplace) routines ! LCOV_EXCL_LINE
      28             : 
      29             :     use pm_arrayUnique, only: getUnique
      30             :     use pm_arraySort, only: setSorted
      31             : 
      32             : #if CHECK_ENABLED
      33             :     use pm_err, only: getFine
      34             :     use pm_val2str, only: getStr
      35             :     use pm_err, only: setAsserted
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      37             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      38             : #else
      39             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      40             : #endif
      41             : 
      42             :     implicit none
      43             : 
      44             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      45             : 
      46             : contains
      47             : 
      48             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      49             : 
      50             : #define getReplaced_ENABLED 1
      51             : 
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      55             : 
      56             : #define DefCom_ENABLED 1
      57             : #define DefIns_ENABLED 1
      58             : 
      59             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      60             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      61             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      62             : 
      63             : #define D0_D0_D0_ENABLED 1
      64             : 
      65             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      66             : 
      67             : #define SK_ENABLED 1
      68             : 
      69             : #if SK5_ENABLED
      70             :     module procedure getReplacedDefComDefIns_D0_D0_D0_SK5
      71             :         use pm_kind, only: SKC => SK5
      72             : #include "pm_arrayReplace@routines.inc.F90"
      73             :     end procedure
      74             : #endif
      75             : 
      76             : #if SK4_ENABLED
      77             :     module procedure getReplacedDefComDefIns_D0_D0_D0_SK4
      78             :         use pm_kind, only: SKC => SK4
      79             : #include "pm_arrayReplace@routines.inc.F90"
      80             :     end procedure
      81             : #endif
      82             : 
      83             : #if SK3_ENABLED
      84             :     module procedure getReplacedDefComDefIns_D0_D0_D0_SK3
      85             :         use pm_kind, only: SKC => SK3
      86             : #include "pm_arrayReplace@routines.inc.F90"
      87             :     end procedure
      88             : #endif
      89             : 
      90             : #if SK2_ENABLED
      91             :     module procedure getReplacedDefComDefIns_D0_D0_D0_SK2
      92             :         use pm_kind, only: SKC => SK2
      93             : #include "pm_arrayReplace@routines.inc.F90"
      94             :     end procedure
      95             : #endif
      96             : 
      97             : #if SK1_ENABLED
      98         919 :     module procedure getReplacedDefComDefIns_D0_D0_D0_SK1
      99             :         use pm_kind, only: SKC => SK1
     100             : #include "pm_arrayReplace@routines.inc.F90"
     101        1838 :     end procedure
     102             : #endif
     103             : 
     104             : #undef SK_ENABLED
     105             : 
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             : 
     108             : #undef D0_D0_D0_ENABLED
     109             : 
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             : 
     114             : #define D1_D0_D0_ENABLED 1
     115             : 
     116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     117             : 
     118             : #define SK_ENABLED 1
     119             : 
     120             : #if SK5_ENABLED
     121             :     module procedure getReplacedDefComDefIns_D1_D0_D0_SK5
     122             :         use pm_kind, only: SKC => SK5
     123             : #include "pm_arrayReplace@routines.inc.F90"
     124             :     end procedure
     125             : #endif
     126             : 
     127             : #if SK4_ENABLED
     128             :     module procedure getReplacedDefComDefIns_D1_D0_D0_SK4
     129             :         use pm_kind, only: SKC => SK4
     130             : #include "pm_arrayReplace@routines.inc.F90"
     131             :     end procedure
     132             : #endif
     133             : 
     134             : #if SK3_ENABLED
     135             :     module procedure getReplacedDefComDefIns_D1_D0_D0_SK3
     136             :         use pm_kind, only: SKC => SK3
     137             : #include "pm_arrayReplace@routines.inc.F90"
     138             :     end procedure
     139             : #endif
     140             : 
     141             : #if SK2_ENABLED
     142             :     module procedure getReplacedDefComDefIns_D1_D0_D0_SK2
     143             :         use pm_kind, only: SKC => SK2
     144             : #include "pm_arrayReplace@routines.inc.F90"
     145             :     end procedure
     146             : #endif
     147             : 
     148             : #if SK1_ENABLED
     149          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_SK1
     150             :         use pm_kind, only: SKC => SK1
     151             : #include "pm_arrayReplace@routines.inc.F90"
     152          20 :     end procedure
     153             : #endif
     154             : 
     155             : #undef SK_ENABLED
     156             : 
     157             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     158             : 
     159             : #define IK_ENABLED 1
     160             : 
     161             : #if IK5_ENABLED
     162          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_IK5
     163             :         use pm_kind, only: IKC => IK5
     164             : #include "pm_arrayReplace@routines.inc.F90"
     165             :     end procedure
     166             : #endif
     167             : 
     168             : #if IK4_ENABLED
     169          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_IK4
     170             :         use pm_kind, only: IKC => IK4
     171             : #include "pm_arrayReplace@routines.inc.F90"
     172             :     end procedure
     173             : #endif
     174             : 
     175             : #if IK3_ENABLED
     176          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_IK3
     177             :         use pm_kind, only: IKC => IK3
     178             : #include "pm_arrayReplace@routines.inc.F90"
     179             :     end procedure
     180             : #endif
     181             : 
     182             : #if IK2_ENABLED
     183          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_IK2
     184             :         use pm_kind, only: IKC => IK2
     185             : #include "pm_arrayReplace@routines.inc.F90"
     186             :     end procedure
     187             : #endif
     188             : 
     189             : #if IK1_ENABLED
     190          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_IK1
     191             :         use pm_kind, only: IKC => IK1
     192             : #include "pm_arrayReplace@routines.inc.F90"
     193             :     end procedure
     194             : #endif
     195             : 
     196             : #undef IK_ENABLED
     197             : 
     198             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     199             : 
     200             : #define LK_ENABLED 1
     201             : 
     202             : #if LK5_ENABLED
     203          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_LK5
     204             :         use pm_kind, only: LKC => LK5
     205             : #include "pm_arrayReplace@routines.inc.F90"
     206             :     end procedure
     207             : #endif
     208             : 
     209             : #if LK4_ENABLED
     210          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_LK4
     211             :         use pm_kind, only: LKC => LK4
     212             : #include "pm_arrayReplace@routines.inc.F90"
     213             :     end procedure
     214             : #endif
     215             : 
     216             : #if LK3_ENABLED
     217          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_LK3
     218             :         use pm_kind, only: LKC => LK3
     219             : #include "pm_arrayReplace@routines.inc.F90"
     220             :     end procedure
     221             : #endif
     222             : 
     223             : #if LK2_ENABLED
     224          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_LK2
     225             :         use pm_kind, only: LKC => LK2
     226             : #include "pm_arrayReplace@routines.inc.F90"
     227             :     end procedure
     228             : #endif
     229             : 
     230             : #if LK1_ENABLED
     231          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_LK1
     232             :         use pm_kind, only: LKC => LK1
     233             : #include "pm_arrayReplace@routines.inc.F90"
     234             :     end procedure
     235             : #endif
     236             : 
     237             : #undef LK_ENABLED
     238             : 
     239             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     240             : 
     241             : #define CK_ENABLED 1
     242             : 
     243             : #if CK5_ENABLED
     244             :     module procedure getReplacedDefComDefIns_D1_D0_D0_CK5
     245             :         use pm_kind, only: CKC => CK5
     246             : #include "pm_arrayReplace@routines.inc.F90"
     247             :     end procedure
     248             : #endif
     249             : 
     250             : #if CK4_ENABLED
     251          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_CK4
     252             :         use pm_kind, only: CKC => CK4
     253             : #include "pm_arrayReplace@routines.inc.F90"
     254             :     end procedure
     255             : #endif
     256             : 
     257             : #if CK3_ENABLED
     258          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_CK3
     259             :         use pm_kind, only: CKC => CK3
     260             : #include "pm_arrayReplace@routines.inc.F90"
     261             :     end procedure
     262             : #endif
     263             : 
     264             : #if CK2_ENABLED
     265          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_CK2
     266             :         use pm_kind, only: CKC => CK2
     267             : #include "pm_arrayReplace@routines.inc.F90"
     268             :     end procedure
     269             : #endif
     270             : 
     271             : #if CK1_ENABLED
     272          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_CK1
     273             :         use pm_kind, only: CKC => CK1
     274             : #include "pm_arrayReplace@routines.inc.F90"
     275             :     end procedure
     276             : #endif
     277             : 
     278             : #undef CK_ENABLED
     279             : 
     280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     281             : 
     282             : #define RK_ENABLED 1
     283             : 
     284             : #if RK5_ENABLED
     285             :     module procedure getReplacedDefComDefIns_D1_D0_D0_RK5
     286             :         use pm_kind, only: RKC => RK5
     287             : #include "pm_arrayReplace@routines.inc.F90"
     288             :     end procedure
     289             : #endif
     290             : 
     291             : #if RK4_ENABLED
     292          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_RK4
     293             :         use pm_kind, only: RKC => RK4
     294             : #include "pm_arrayReplace@routines.inc.F90"
     295             :     end procedure
     296             : #endif
     297             : 
     298             : #if RK3_ENABLED
     299          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_RK3
     300             :         use pm_kind, only: RKC => RK3
     301             : #include "pm_arrayReplace@routines.inc.F90"
     302             :     end procedure
     303             : #endif
     304             : 
     305             : #if RK2_ENABLED
     306          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_RK2
     307             :         use pm_kind, only: RKC => RK2
     308             : #include "pm_arrayReplace@routines.inc.F90"
     309             :     end procedure
     310             : #endif
     311             : 
     312             : #if RK1_ENABLED
     313          20 :     module procedure getReplacedDefComDefIns_D1_D0_D0_RK1
     314             :         use pm_kind, only: RKC => RK1
     315             : #include "pm_arrayReplace@routines.inc.F90"
     316             :     end procedure
     317             : #endif
     318             : 
     319             : #undef RK_ENABLED
     320             : 
     321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     322             : 
     323             : #undef D1_D0_D0_ENABLED
     324             : 
     325             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     326             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             : 
     329             : #define D1_D0_D1_ENABLED 1
     330             : 
     331             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     332             : 
     333             : #define SK_ENABLED 1
     334             : 
     335             : #if SK5_ENABLED
     336             :     module procedure getReplacedDefComDefIns_D1_D0_D1_SK5
     337             :         use pm_kind, only: SKC => SK5
     338             : #include "pm_arrayReplace@routines.inc.F90"
     339             :     end procedure
     340             : #endif
     341             : 
     342             : #if SK4_ENABLED
     343             :     module procedure getReplacedDefComDefIns_D1_D0_D1_SK4
     344             :         use pm_kind, only: SKC => SK4
     345             : #include "pm_arrayReplace@routines.inc.F90"
     346             :     end procedure
     347             : #endif
     348             : 
     349             : #if SK3_ENABLED
     350             :     module procedure getReplacedDefComDefIns_D1_D0_D1_SK3
     351             :         use pm_kind, only: SKC => SK3
     352             : #include "pm_arrayReplace@routines.inc.F90"
     353             :     end procedure
     354             : #endif
     355             : 
     356             : #if SK2_ENABLED
     357             :     module procedure getReplacedDefComDefIns_D1_D0_D1_SK2
     358             :         use pm_kind, only: SKC => SK2
     359             : #include "pm_arrayReplace@routines.inc.F90"
     360             :     end procedure
     361             : #endif
     362             : 
     363             : #if SK1_ENABLED
     364          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_SK1
     365             :         use pm_kind, only: SKC => SK1
     366             : #include "pm_arrayReplace@routines.inc.F90"
     367             :     end procedure
     368             : #endif
     369             : 
     370             : #undef SK_ENABLED
     371             : 
     372             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     373             : 
     374             : #define IK_ENABLED 1
     375             : 
     376             : #if IK5_ENABLED
     377          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_IK5
     378             :         use pm_kind, only: IKC => IK5
     379             : #include "pm_arrayReplace@routines.inc.F90"
     380             :     end procedure
     381             : #endif
     382             : 
     383             : #if IK4_ENABLED
     384          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_IK4
     385             :         use pm_kind, only: IKC => IK4
     386             : #include "pm_arrayReplace@routines.inc.F90"
     387             :     end procedure
     388             : #endif
     389             : 
     390             : #if IK3_ENABLED
     391          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_IK3
     392             :         use pm_kind, only: IKC => IK3
     393             : #include "pm_arrayReplace@routines.inc.F90"
     394             :     end procedure
     395             : #endif
     396             : 
     397             : #if IK2_ENABLED
     398          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_IK2
     399             :         use pm_kind, only: IKC => IK2
     400             : #include "pm_arrayReplace@routines.inc.F90"
     401             :     end procedure
     402             : #endif
     403             : 
     404             : #if IK1_ENABLED
     405          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_IK1
     406             :         use pm_kind, only: IKC => IK1
     407             : #include "pm_arrayReplace@routines.inc.F90"
     408             :     end procedure
     409             : #endif
     410             : 
     411             : #undef IK_ENABLED
     412             : 
     413             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     414             : 
     415             : #define LK_ENABLED 1
     416             : 
     417             : #if LK5_ENABLED
     418          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_LK5
     419             :         use pm_kind, only: LKC => LK5
     420             : #include "pm_arrayReplace@routines.inc.F90"
     421             :     end procedure
     422             : #endif
     423             : 
     424             : #if LK4_ENABLED
     425          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_LK4
     426             :         use pm_kind, only: LKC => LK4
     427             : #include "pm_arrayReplace@routines.inc.F90"
     428             :     end procedure
     429             : #endif
     430             : 
     431             : #if LK3_ENABLED
     432          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_LK3
     433             :         use pm_kind, only: LKC => LK3
     434             : #include "pm_arrayReplace@routines.inc.F90"
     435             :     end procedure
     436             : #endif
     437             : 
     438             : #if LK2_ENABLED
     439          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_LK2
     440             :         use pm_kind, only: LKC => LK2
     441             : #include "pm_arrayReplace@routines.inc.F90"
     442             :     end procedure
     443             : #endif
     444             : 
     445             : #if LK1_ENABLED
     446          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_LK1
     447             :         use pm_kind, only: LKC => LK1
     448             : #include "pm_arrayReplace@routines.inc.F90"
     449             :     end procedure
     450             : #endif
     451             : 
     452             : #undef LK_ENABLED
     453             : 
     454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     455             : 
     456             : #define CK_ENABLED 1
     457             : 
     458             : #if CK5_ENABLED
     459             :     module procedure getReplacedDefComDefIns_D1_D0_D1_CK5
     460             :         use pm_kind, only: CKC => CK5
     461             : #include "pm_arrayReplace@routines.inc.F90"
     462             :     end procedure
     463             : #endif
     464             : 
     465             : #if CK4_ENABLED
     466          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_CK4
     467             :         use pm_kind, only: CKC => CK4
     468             : #include "pm_arrayReplace@routines.inc.F90"
     469             :     end procedure
     470             : #endif
     471             : 
     472             : #if CK3_ENABLED
     473          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_CK3
     474             :         use pm_kind, only: CKC => CK3
     475             : #include "pm_arrayReplace@routines.inc.F90"
     476             :     end procedure
     477             : #endif
     478             : 
     479             : #if CK2_ENABLED
     480          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_CK2
     481             :         use pm_kind, only: CKC => CK2
     482             : #include "pm_arrayReplace@routines.inc.F90"
     483             :     end procedure
     484             : #endif
     485             : 
     486             : #if CK1_ENABLED
     487          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_CK1
     488             :         use pm_kind, only: CKC => CK1
     489             : #include "pm_arrayReplace@routines.inc.F90"
     490             :     end procedure
     491             : #endif
     492             : 
     493             : #undef CK_ENABLED
     494             : 
     495             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     496             : 
     497             : #define RK_ENABLED 1
     498             : 
     499             : #if RK5_ENABLED
     500             :     module procedure getReplacedDefComDefIns_D1_D0_D1_RK5
     501             :         use pm_kind, only: RKC => RK5
     502             : #include "pm_arrayReplace@routines.inc.F90"
     503             :     end procedure
     504             : #endif
     505             : 
     506             : #if RK4_ENABLED
     507          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_RK4
     508             :         use pm_kind, only: RKC => RK4
     509             : #include "pm_arrayReplace@routines.inc.F90"
     510             :     end procedure
     511             : #endif
     512             : 
     513             : #if RK3_ENABLED
     514          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_RK3
     515             :         use pm_kind, only: RKC => RK3
     516             : #include "pm_arrayReplace@routines.inc.F90"
     517             :     end procedure
     518             : #endif
     519             : 
     520             : #if RK2_ENABLED
     521          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_RK2
     522             :         use pm_kind, only: RKC => RK2
     523             : #include "pm_arrayReplace@routines.inc.F90"
     524             :     end procedure
     525             : #endif
     526             : 
     527             : #if RK1_ENABLED
     528          20 :     module procedure getReplacedDefComDefIns_D1_D0_D1_RK1
     529             :         use pm_kind, only: RKC => RK1
     530             : #include "pm_arrayReplace@routines.inc.F90"
     531             :     end procedure
     532             : #endif
     533             : 
     534             : #undef RK_ENABLED
     535             : 
     536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     537             : 
     538             : #undef D1_D0_D1_ENABLED
     539             : 
     540             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     541             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     543             : 
     544             : #define D1_D1_D0_ENABLED 1
     545             : 
     546             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     547             : 
     548             : #define SK_ENABLED 1
     549             : 
     550             : #if SK5_ENABLED
     551             :     module procedure getReplacedDefComDefIns_D1_D1_D0_SK5
     552             :         use pm_kind, only: SKC => SK5
     553             : #include "pm_arrayReplace@routines.inc.F90"
     554             :     end procedure
     555             : #endif
     556             : 
     557             : #if SK4_ENABLED
     558             :     module procedure getReplacedDefComDefIns_D1_D1_D0_SK4
     559             :         use pm_kind, only: SKC => SK4
     560             : #include "pm_arrayReplace@routines.inc.F90"
     561             :     end procedure
     562             : #endif
     563             : 
     564             : #if SK3_ENABLED
     565             :     module procedure getReplacedDefComDefIns_D1_D1_D0_SK3
     566             :         use pm_kind, only: SKC => SK3
     567             : #include "pm_arrayReplace@routines.inc.F90"
     568             :     end procedure
     569             : #endif
     570             : 
     571             : #if SK2_ENABLED
     572             :     module procedure getReplacedDefComDefIns_D1_D1_D0_SK2
     573             :         use pm_kind, only: SKC => SK2
     574             : #include "pm_arrayReplace@routines.inc.F90"
     575             :     end procedure
     576             : #endif
     577             : 
     578             : #if SK1_ENABLED
     579          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_SK1
     580             :         use pm_kind, only: SKC => SK1
     581             : #include "pm_arrayReplace@routines.inc.F90"
     582          20 :     end procedure
     583             : #endif
     584             : 
     585             : #undef SK_ENABLED
     586             : 
     587             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     588             : 
     589             : #define IK_ENABLED 1
     590             : 
     591             : #if IK5_ENABLED
     592          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_IK5
     593             :         use pm_kind, only: IKC => IK5
     594             : #include "pm_arrayReplace@routines.inc.F90"
     595             :     end procedure
     596             : #endif
     597             : 
     598             : #if IK4_ENABLED
     599          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_IK4
     600             :         use pm_kind, only: IKC => IK4
     601             : #include "pm_arrayReplace@routines.inc.F90"
     602             :     end procedure
     603             : #endif
     604             : 
     605             : #if IK3_ENABLED
     606          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_IK3
     607             :         use pm_kind, only: IKC => IK3
     608             : #include "pm_arrayReplace@routines.inc.F90"
     609             :     end procedure
     610             : #endif
     611             : 
     612             : #if IK2_ENABLED
     613          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_IK2
     614             :         use pm_kind, only: IKC => IK2
     615             : #include "pm_arrayReplace@routines.inc.F90"
     616             :     end procedure
     617             : #endif
     618             : 
     619             : #if IK1_ENABLED
     620          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_IK1
     621             :         use pm_kind, only: IKC => IK1
     622             : #include "pm_arrayReplace@routines.inc.F90"
     623             :     end procedure
     624             : #endif
     625             : 
     626             : #undef IK_ENABLED
     627             : 
     628             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     629             : 
     630             : #define LK_ENABLED 1
     631             : 
     632             : #if LK5_ENABLED
     633          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_LK5
     634             :         use pm_kind, only: LKC => LK5
     635             : #include "pm_arrayReplace@routines.inc.F90"
     636             :     end procedure
     637             : #endif
     638             : 
     639             : #if LK4_ENABLED
     640          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_LK4
     641             :         use pm_kind, only: LKC => LK4
     642             : #include "pm_arrayReplace@routines.inc.F90"
     643             :     end procedure
     644             : #endif
     645             : 
     646             : #if LK3_ENABLED
     647          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_LK3
     648             :         use pm_kind, only: LKC => LK3
     649             : #include "pm_arrayReplace@routines.inc.F90"
     650             :     end procedure
     651             : #endif
     652             : 
     653             : #if LK2_ENABLED
     654          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_LK2
     655             :         use pm_kind, only: LKC => LK2
     656             : #include "pm_arrayReplace@routines.inc.F90"
     657             :     end procedure
     658             : #endif
     659             : 
     660             : #if LK1_ENABLED
     661          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_LK1
     662             :         use pm_kind, only: LKC => LK1
     663             : #include "pm_arrayReplace@routines.inc.F90"
     664             :     end procedure
     665             : #endif
     666             : 
     667             : #undef LK_ENABLED
     668             : 
     669             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     670             : 
     671             : #define CK_ENABLED 1
     672             : 
     673             : #if CK5_ENABLED
     674             :     module procedure getReplacedDefComDefIns_D1_D1_D0_CK5
     675             :         use pm_kind, only: CKC => CK5
     676             : #include "pm_arrayReplace@routines.inc.F90"
     677             :     end procedure
     678             : #endif
     679             : 
     680             : #if CK4_ENABLED
     681          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_CK4
     682             :         use pm_kind, only: CKC => CK4
     683             : #include "pm_arrayReplace@routines.inc.F90"
     684             :     end procedure
     685             : #endif
     686             : 
     687             : #if CK3_ENABLED
     688          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_CK3
     689             :         use pm_kind, only: CKC => CK3
     690             : #include "pm_arrayReplace@routines.inc.F90"
     691             :     end procedure
     692             : #endif
     693             : 
     694             : #if CK2_ENABLED
     695          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_CK2
     696             :         use pm_kind, only: CKC => CK2
     697             : #include "pm_arrayReplace@routines.inc.F90"
     698             :     end procedure
     699             : #endif
     700             : 
     701             : #if CK1_ENABLED
     702          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_CK1
     703             :         use pm_kind, only: CKC => CK1
     704             : #include "pm_arrayReplace@routines.inc.F90"
     705             :     end procedure
     706             : #endif
     707             : 
     708             : #undef CK_ENABLED
     709             : 
     710             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     711             : 
     712             : #define RK_ENABLED 1
     713             : 
     714             : #if RK5_ENABLED
     715             :     module procedure getReplacedDefComDefIns_D1_D1_D0_RK5
     716             :         use pm_kind, only: RKC => RK5
     717             : #include "pm_arrayReplace@routines.inc.F90"
     718             :     end procedure
     719             : #endif
     720             : 
     721             : #if RK4_ENABLED
     722          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_RK4
     723             :         use pm_kind, only: RKC => RK4
     724             : #include "pm_arrayReplace@routines.inc.F90"
     725             :     end procedure
     726             : #endif
     727             : 
     728             : #if RK3_ENABLED
     729          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_RK3
     730             :         use pm_kind, only: RKC => RK3
     731             : #include "pm_arrayReplace@routines.inc.F90"
     732             :     end procedure
     733             : #endif
     734             : 
     735             : #if RK2_ENABLED
     736          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_RK2
     737             :         use pm_kind, only: RKC => RK2
     738             : #include "pm_arrayReplace@routines.inc.F90"
     739             :     end procedure
     740             : #endif
     741             : 
     742             : #if RK1_ENABLED
     743          20 :     module procedure getReplacedDefComDefIns_D1_D1_D0_RK1
     744             :         use pm_kind, only: RKC => RK1
     745             : #include "pm_arrayReplace@routines.inc.F90"
     746             :     end procedure
     747             : #endif
     748             : 
     749             : #undef RK_ENABLED
     750             : 
     751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     752             : 
     753             : #undef D1_D1_D0_ENABLED
     754             : 
     755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     756             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     758             : 
     759             : #define D1_D1_D1_ENABLED 1
     760             : 
     761             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     762             : 
     763             : #define SK_ENABLED 1
     764             : 
     765             : #if SK5_ENABLED
     766             :     module procedure getReplacedDefComDefIns_D1_D1_D1_SK5
     767             :         use pm_kind, only: SKC => SK5
     768             : #include "pm_arrayReplace@routines.inc.F90"
     769             :     end procedure
     770             : #endif
     771             : 
     772             : #if SK4_ENABLED
     773             :     module procedure getReplacedDefComDefIns_D1_D1_D1_SK4
     774             :         use pm_kind, only: SKC => SK4
     775             : #include "pm_arrayReplace@routines.inc.F90"
     776             :     end procedure
     777             : #endif
     778             : 
     779             : #if SK3_ENABLED
     780             :     module procedure getReplacedDefComDefIns_D1_D1_D1_SK3
     781             :         use pm_kind, only: SKC => SK3
     782             : #include "pm_arrayReplace@routines.inc.F90"
     783             :     end procedure
     784             : #endif
     785             : 
     786             : #if SK2_ENABLED
     787             :     module procedure getReplacedDefComDefIns_D1_D1_D1_SK2
     788             :         use pm_kind, only: SKC => SK2
     789             : #include "pm_arrayReplace@routines.inc.F90"
     790             :     end procedure
     791             : #endif
     792             : 
     793             : #if SK1_ENABLED
     794         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_SK1
     795             :         use pm_kind, only: SKC => SK1
     796             : #include "pm_arrayReplace@routines.inc.F90"
     797             :     end procedure
     798             : #endif
     799             : 
     800             : #undef SK_ENABLED
     801             : 
     802             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     803             : 
     804             : #define IK_ENABLED 1
     805             : 
     806             : #if IK5_ENABLED
     807         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_IK5
     808             :         use pm_kind, only: IKC => IK5
     809             : #include "pm_arrayReplace@routines.inc.F90"
     810             :     end procedure
     811             : #endif
     812             : 
     813             : #if IK4_ENABLED
     814         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_IK4
     815             :         use pm_kind, only: IKC => IK4
     816             : #include "pm_arrayReplace@routines.inc.F90"
     817             :     end procedure
     818             : #endif
     819             : 
     820             : #if IK3_ENABLED
     821         131 :     module procedure getReplacedDefComDefIns_D1_D1_D1_IK3
     822             :         use pm_kind, only: IKC => IK3
     823             : #include "pm_arrayReplace@routines.inc.F90"
     824             :     end procedure
     825             : #endif
     826             : 
     827             : #if IK2_ENABLED
     828         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_IK2
     829             :         use pm_kind, only: IKC => IK2
     830             : #include "pm_arrayReplace@routines.inc.F90"
     831             :     end procedure
     832             : #endif
     833             : 
     834             : #if IK1_ENABLED
     835         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_IK1
     836             :         use pm_kind, only: IKC => IK1
     837             : #include "pm_arrayReplace@routines.inc.F90"
     838             :     end procedure
     839             : #endif
     840             : 
     841             : #undef IK_ENABLED
     842             : 
     843             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     844             : 
     845             : #define LK_ENABLED 1
     846             : 
     847             : #if LK5_ENABLED
     848         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_LK5
     849             :         use pm_kind, only: LKC => LK5
     850             : #include "pm_arrayReplace@routines.inc.F90"
     851             :     end procedure
     852             : #endif
     853             : 
     854             : #if LK4_ENABLED
     855         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_LK4
     856             :         use pm_kind, only: LKC => LK4
     857             : #include "pm_arrayReplace@routines.inc.F90"
     858             :     end procedure
     859             : #endif
     860             : 
     861             : #if LK3_ENABLED
     862         131 :     module procedure getReplacedDefComDefIns_D1_D1_D1_LK3
     863             :         use pm_kind, only: LKC => LK3
     864             : #include "pm_arrayReplace@routines.inc.F90"
     865             :     end procedure
     866             : #endif
     867             : 
     868             : #if LK2_ENABLED
     869         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_LK2
     870             :         use pm_kind, only: LKC => LK2
     871             : #include "pm_arrayReplace@routines.inc.F90"
     872             :     end procedure
     873             : #endif
     874             : 
     875             : #if LK1_ENABLED
     876         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_LK1
     877             :         use pm_kind, only: LKC => LK1
     878             : #include "pm_arrayReplace@routines.inc.F90"
     879             :     end procedure
     880             : #endif
     881             : 
     882             : #undef LK_ENABLED
     883             : 
     884             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     885             : 
     886             : #define CK_ENABLED 1
     887             : 
     888             : #if CK5_ENABLED
     889             :     module procedure getReplacedDefComDefIns_D1_D1_D1_CK5
     890             :         use pm_kind, only: CKC => CK5
     891             : #include "pm_arrayReplace@routines.inc.F90"
     892             :     end procedure
     893             : #endif
     894             : 
     895             : #if CK4_ENABLED
     896         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_CK4
     897             :         use pm_kind, only: CKC => CK4
     898             : #include "pm_arrayReplace@routines.inc.F90"
     899             :     end procedure
     900             : #endif
     901             : 
     902             : #if CK3_ENABLED
     903         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_CK3
     904             :         use pm_kind, only: CKC => CK3
     905             : #include "pm_arrayReplace@routines.inc.F90"
     906             :     end procedure
     907             : #endif
     908             : 
     909             : #if CK2_ENABLED
     910         131 :     module procedure getReplacedDefComDefIns_D1_D1_D1_CK2
     911             :         use pm_kind, only: CKC => CK2
     912             : #include "pm_arrayReplace@routines.inc.F90"
     913             :     end procedure
     914             : #endif
     915             : 
     916             : #if CK1_ENABLED
     917         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_CK1
     918             :         use pm_kind, only: CKC => CK1
     919             : #include "pm_arrayReplace@routines.inc.F90"
     920             :     end procedure
     921             : #endif
     922             : 
     923             : #undef CK_ENABLED
     924             : 
     925             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     926             : 
     927             : #define RK_ENABLED 1
     928             : 
     929             : #if RK5_ENABLED
     930             :     module procedure getReplacedDefComDefIns_D1_D1_D1_RK5
     931             :         use pm_kind, only: RKC => RK5
     932             : #include "pm_arrayReplace@routines.inc.F90"
     933             :     end procedure
     934             : #endif
     935             : 
     936             : #if RK4_ENABLED
     937         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_RK4
     938             :         use pm_kind, only: RKC => RK4
     939             : #include "pm_arrayReplace@routines.inc.F90"
     940             :     end procedure
     941             : #endif
     942             : 
     943             : #if RK3_ENABLED
     944         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_RK3
     945             :         use pm_kind, only: RKC => RK3
     946             : #include "pm_arrayReplace@routines.inc.F90"
     947             :     end procedure
     948             : #endif
     949             : 
     950             : #if RK2_ENABLED
     951         131 :     module procedure getReplacedDefComDefIns_D1_D1_D1_RK2
     952             :         use pm_kind, only: RKC => RK2
     953             : #include "pm_arrayReplace@routines.inc.F90"
     954             :     end procedure
     955             : #endif
     956             : 
     957             : #if RK1_ENABLED
     958         130 :     module procedure getReplacedDefComDefIns_D1_D1_D1_RK1
     959             :         use pm_kind, only: RKC => RK1
     960             : #include "pm_arrayReplace@routines.inc.F90"
     961             :     end procedure
     962             : #endif
     963             : 
     964             : #undef RK_ENABLED
     965             : 
     966             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     967             : 
     968             : #undef D1_D1_D1_ENABLED
     969             : 
     970             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     971             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     972             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     973             : 
     974             : #undef DefCom_ENABLED
     975             : #undef DefIns_ENABLED
     976             : 
     977             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     979             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     980             : 
     981             : #define CusCom_ENABLED 1
     982             : #define DefIns_ENABLED 1
     983             : 
     984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     985             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     986             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     987             : 
     988             : #define D0_D0_D0_ENABLED 1
     989             : 
     990             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     991             : 
     992             : #define SK_ENABLED 1
     993             : 
     994             : #if SK5_ENABLED
     995             :     module procedure getReplacedCusComDefIns_D0_D0_D0_SK5
     996             :         use pm_kind, only: SKC => SK5
     997             : #include "pm_arrayReplace@routines.inc.F90"
     998             :     end procedure
     999             : #endif
    1000             : 
    1001             : #if SK4_ENABLED
    1002             :     module procedure getReplacedCusComDefIns_D0_D0_D0_SK4
    1003             :         use pm_kind, only: SKC => SK4
    1004             : #include "pm_arrayReplace@routines.inc.F90"
    1005             :     end procedure
    1006             : #endif
    1007             : 
    1008             : #if SK3_ENABLED
    1009             :     module procedure getReplacedCusComDefIns_D0_D0_D0_SK3
    1010             :         use pm_kind, only: SKC => SK3
    1011             : #include "pm_arrayReplace@routines.inc.F90"
    1012             :     end procedure
    1013             : #endif
    1014             : 
    1015             : #if SK2_ENABLED
    1016             :     module procedure getReplacedCusComDefIns_D0_D0_D0_SK2
    1017             :         use pm_kind, only: SKC => SK2
    1018             : #include "pm_arrayReplace@routines.inc.F90"
    1019             :     end procedure
    1020             : #endif
    1021             : 
    1022             : #if SK1_ENABLED
    1023          11 :     module procedure getReplacedCusComDefIns_D0_D0_D0_SK1
    1024             :         use pm_kind, only: SKC => SK1
    1025             : #include "pm_arrayReplace@routines.inc.F90"
    1026          22 :     end procedure
    1027             : #endif
    1028             : 
    1029             : #undef SK_ENABLED
    1030             : 
    1031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1032             : 
    1033             : #undef D0_D0_D0_ENABLED
    1034             : 
    1035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1037             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1038             : 
    1039             : #define D1_D0_D0_ENABLED 1
    1040             : 
    1041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1042             : 
    1043             : #define SK_ENABLED 1
    1044             : 
    1045             : #if SK5_ENABLED
    1046             :     module procedure getReplacedCusComDefIns_D1_D0_D0_SK5
    1047             :         use pm_kind, only: SKC => SK5
    1048             : #include "pm_arrayReplace@routines.inc.F90"
    1049             :     end procedure
    1050             : #endif
    1051             : 
    1052             : #if SK4_ENABLED
    1053             :     module procedure getReplacedCusComDefIns_D1_D0_D0_SK4
    1054             :         use pm_kind, only: SKC => SK4
    1055             : #include "pm_arrayReplace@routines.inc.F90"
    1056             :     end procedure
    1057             : #endif
    1058             : 
    1059             : #if SK3_ENABLED
    1060             :     module procedure getReplacedCusComDefIns_D1_D0_D0_SK3
    1061             :         use pm_kind, only: SKC => SK3
    1062             : #include "pm_arrayReplace@routines.inc.F90"
    1063             :     end procedure
    1064             : #endif
    1065             : 
    1066             : #if SK2_ENABLED
    1067             :     module procedure getReplacedCusComDefIns_D1_D0_D0_SK2
    1068             :         use pm_kind, only: SKC => SK2
    1069             : #include "pm_arrayReplace@routines.inc.F90"
    1070             :     end procedure
    1071             : #endif
    1072             : 
    1073             : #if SK1_ENABLED
    1074          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_SK1
    1075             :         use pm_kind, only: SKC => SK1
    1076             : #include "pm_arrayReplace@routines.inc.F90"
    1077          20 :     end procedure
    1078             : #endif
    1079             : 
    1080             : #undef SK_ENABLED
    1081             : 
    1082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1083             : 
    1084             : #define IK_ENABLED 1
    1085             : 
    1086             : #if IK5_ENABLED
    1087          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_IK5
    1088             :         use pm_kind, only: IKC => IK5
    1089             : #include "pm_arrayReplace@routines.inc.F90"
    1090             :     end procedure
    1091             : #endif
    1092             : 
    1093             : #if IK4_ENABLED
    1094          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_IK4
    1095             :         use pm_kind, only: IKC => IK4
    1096             : #include "pm_arrayReplace@routines.inc.F90"
    1097             :     end procedure
    1098             : #endif
    1099             : 
    1100             : #if IK3_ENABLED
    1101          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_IK3
    1102             :         use pm_kind, only: IKC => IK3
    1103             : #include "pm_arrayReplace@routines.inc.F90"
    1104             :     end procedure
    1105             : #endif
    1106             : 
    1107             : #if IK2_ENABLED
    1108          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_IK2
    1109             :         use pm_kind, only: IKC => IK2
    1110             : #include "pm_arrayReplace@routines.inc.F90"
    1111             :     end procedure
    1112             : #endif
    1113             : 
    1114             : #if IK1_ENABLED
    1115          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_IK1
    1116             :         use pm_kind, only: IKC => IK1
    1117             : #include "pm_arrayReplace@routines.inc.F90"
    1118             :     end procedure
    1119             : #endif
    1120             : 
    1121             : #undef IK_ENABLED
    1122             : 
    1123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1124             : 
    1125             : #define LK_ENABLED 1
    1126             : 
    1127             : #if LK5_ENABLED
    1128          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_LK5
    1129             :         use pm_kind, only: LKC => LK5
    1130             : #include "pm_arrayReplace@routines.inc.F90"
    1131             :     end procedure
    1132             : #endif
    1133             : 
    1134             : #if LK4_ENABLED
    1135          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_LK4
    1136             :         use pm_kind, only: LKC => LK4
    1137             : #include "pm_arrayReplace@routines.inc.F90"
    1138             :     end procedure
    1139             : #endif
    1140             : 
    1141             : #if LK3_ENABLED
    1142          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_LK3
    1143             :         use pm_kind, only: LKC => LK3
    1144             : #include "pm_arrayReplace@routines.inc.F90"
    1145             :     end procedure
    1146             : #endif
    1147             : 
    1148             : #if LK2_ENABLED
    1149          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_LK2
    1150             :         use pm_kind, only: LKC => LK2
    1151             : #include "pm_arrayReplace@routines.inc.F90"
    1152             :     end procedure
    1153             : #endif
    1154             : 
    1155             : #if LK1_ENABLED
    1156          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_LK1
    1157             :         use pm_kind, only: LKC => LK1
    1158             : #include "pm_arrayReplace@routines.inc.F90"
    1159             :     end procedure
    1160             : #endif
    1161             : 
    1162             : #undef LK_ENABLED
    1163             : 
    1164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1165             : 
    1166             : #define CK_ENABLED 1
    1167             : 
    1168             : #if CK5_ENABLED
    1169             :     module procedure getReplacedCusComDefIns_D1_D0_D0_CK5
    1170             :         use pm_kind, only: CKC => CK5
    1171             : #include "pm_arrayReplace@routines.inc.F90"
    1172             :     end procedure
    1173             : #endif
    1174             : 
    1175             : #if CK4_ENABLED
    1176          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_CK4
    1177             :         use pm_kind, only: CKC => CK4
    1178             : #include "pm_arrayReplace@routines.inc.F90"
    1179             :     end procedure
    1180             : #endif
    1181             : 
    1182             : #if CK3_ENABLED
    1183          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_CK3
    1184             :         use pm_kind, only: CKC => CK3
    1185             : #include "pm_arrayReplace@routines.inc.F90"
    1186             :     end procedure
    1187             : #endif
    1188             : 
    1189             : #if CK2_ENABLED
    1190          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_CK2
    1191             :         use pm_kind, only: CKC => CK2
    1192             : #include "pm_arrayReplace@routines.inc.F90"
    1193             :     end procedure
    1194             : #endif
    1195             : 
    1196             : #if CK1_ENABLED
    1197          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_CK1
    1198             :         use pm_kind, only: CKC => CK1
    1199             : #include "pm_arrayReplace@routines.inc.F90"
    1200             :     end procedure
    1201             : #endif
    1202             : 
    1203             : #undef CK_ENABLED
    1204             : 
    1205             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1206             : 
    1207             : #define RK_ENABLED 1
    1208             : 
    1209             : #if RK5_ENABLED
    1210             :     module procedure getReplacedCusComDefIns_D1_D0_D0_RK5
    1211             :         use pm_kind, only: RKC => RK5
    1212             : #include "pm_arrayReplace@routines.inc.F90"
    1213             :     end procedure
    1214             : #endif
    1215             : 
    1216             : #if RK4_ENABLED
    1217          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_RK4
    1218             :         use pm_kind, only: RKC => RK4
    1219             : #include "pm_arrayReplace@routines.inc.F90"
    1220             :     end procedure
    1221             : #endif
    1222             : 
    1223             : #if RK3_ENABLED
    1224          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_RK3
    1225             :         use pm_kind, only: RKC => RK3
    1226             : #include "pm_arrayReplace@routines.inc.F90"
    1227             :     end procedure
    1228             : #endif
    1229             : 
    1230             : #if RK2_ENABLED
    1231          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_RK2
    1232             :         use pm_kind, only: RKC => RK2
    1233             : #include "pm_arrayReplace@routines.inc.F90"
    1234             :     end procedure
    1235             : #endif
    1236             : 
    1237             : #if RK1_ENABLED
    1238          20 :     module procedure getReplacedCusComDefIns_D1_D0_D0_RK1
    1239             :         use pm_kind, only: RKC => RK1
    1240             : #include "pm_arrayReplace@routines.inc.F90"
    1241             :     end procedure
    1242             : #endif
    1243             : 
    1244             : #undef RK_ENABLED
    1245             : 
    1246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1247             : 
    1248             : #undef D1_D0_D0_ENABLED
    1249             : 
    1250             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1251             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1252             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1253             : 
    1254             : #define D1_D0_D1_ENABLED 1
    1255             : 
    1256             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1257             : 
    1258             : #define SK_ENABLED 1
    1259             : 
    1260             : #if SK5_ENABLED
    1261             :     module procedure getReplacedCusComDefIns_D1_D0_D1_SK5
    1262             :         use pm_kind, only: SKC => SK5
    1263             : #include "pm_arrayReplace@routines.inc.F90"
    1264             :     end procedure
    1265             : #endif
    1266             : 
    1267             : #if SK4_ENABLED
    1268             :     module procedure getReplacedCusComDefIns_D1_D0_D1_SK4
    1269             :         use pm_kind, only: SKC => SK4
    1270             : #include "pm_arrayReplace@routines.inc.F90"
    1271             :     end procedure
    1272             : #endif
    1273             : 
    1274             : #if SK3_ENABLED
    1275             :     module procedure getReplacedCusComDefIns_D1_D0_D1_SK3
    1276             :         use pm_kind, only: SKC => SK3
    1277             : #include "pm_arrayReplace@routines.inc.F90"
    1278             :     end procedure
    1279             : #endif
    1280             : 
    1281             : #if SK2_ENABLED
    1282             :     module procedure getReplacedCusComDefIns_D1_D0_D1_SK2
    1283             :         use pm_kind, only: SKC => SK2
    1284             : #include "pm_arrayReplace@routines.inc.F90"
    1285             :     end procedure
    1286             : #endif
    1287             : 
    1288             : #if SK1_ENABLED
    1289          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_SK1
    1290             :         use pm_kind, only: SKC => SK1
    1291             : #include "pm_arrayReplace@routines.inc.F90"
    1292             :     end procedure
    1293             : #endif
    1294             : 
    1295             : #undef SK_ENABLED
    1296             : 
    1297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1298             : 
    1299             : #define IK_ENABLED 1
    1300             : 
    1301             : #if IK5_ENABLED
    1302          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_IK5
    1303             :         use pm_kind, only: IKC => IK5
    1304             : #include "pm_arrayReplace@routines.inc.F90"
    1305             :     end procedure
    1306             : #endif
    1307             : 
    1308             : #if IK4_ENABLED
    1309          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_IK4
    1310             :         use pm_kind, only: IKC => IK4
    1311             : #include "pm_arrayReplace@routines.inc.F90"
    1312             :     end procedure
    1313             : #endif
    1314             : 
    1315             : #if IK3_ENABLED
    1316          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_IK3
    1317             :         use pm_kind, only: IKC => IK3
    1318             : #include "pm_arrayReplace@routines.inc.F90"
    1319             :     end procedure
    1320             : #endif
    1321             : 
    1322             : #if IK2_ENABLED
    1323          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_IK2
    1324             :         use pm_kind, only: IKC => IK2
    1325             : #include "pm_arrayReplace@routines.inc.F90"
    1326             :     end procedure
    1327             : #endif
    1328             : 
    1329             : #if IK1_ENABLED
    1330          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_IK1
    1331             :         use pm_kind, only: IKC => IK1
    1332             : #include "pm_arrayReplace@routines.inc.F90"
    1333             :     end procedure
    1334             : #endif
    1335             : 
    1336             : #undef IK_ENABLED
    1337             : 
    1338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1339             : 
    1340             : #define LK_ENABLED 1
    1341             : 
    1342             : #if LK5_ENABLED
    1343          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_LK5
    1344             :         use pm_kind, only: LKC => LK5
    1345             : #include "pm_arrayReplace@routines.inc.F90"
    1346             :     end procedure
    1347             : #endif
    1348             : 
    1349             : #if LK4_ENABLED
    1350          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_LK4
    1351             :         use pm_kind, only: LKC => LK4
    1352             : #include "pm_arrayReplace@routines.inc.F90"
    1353             :     end procedure
    1354             : #endif
    1355             : 
    1356             : #if LK3_ENABLED
    1357          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_LK3
    1358             :         use pm_kind, only: LKC => LK3
    1359             : #include "pm_arrayReplace@routines.inc.F90"
    1360             :     end procedure
    1361             : #endif
    1362             : 
    1363             : #if LK2_ENABLED
    1364          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_LK2
    1365             :         use pm_kind, only: LKC => LK2
    1366             : #include "pm_arrayReplace@routines.inc.F90"
    1367             :     end procedure
    1368             : #endif
    1369             : 
    1370             : #if LK1_ENABLED
    1371          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_LK1
    1372             :         use pm_kind, only: LKC => LK1
    1373             : #include "pm_arrayReplace@routines.inc.F90"
    1374             :     end procedure
    1375             : #endif
    1376             : 
    1377             : #undef LK_ENABLED
    1378             : 
    1379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1380             : 
    1381             : #define CK_ENABLED 1
    1382             : 
    1383             : #if CK5_ENABLED
    1384             :     module procedure getReplacedCusComDefIns_D1_D0_D1_CK5
    1385             :         use pm_kind, only: CKC => CK5
    1386             : #include "pm_arrayReplace@routines.inc.F90"
    1387             :     end procedure
    1388             : #endif
    1389             : 
    1390             : #if CK4_ENABLED
    1391          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_CK4
    1392             :         use pm_kind, only: CKC => CK4
    1393             : #include "pm_arrayReplace@routines.inc.F90"
    1394             :     end procedure
    1395             : #endif
    1396             : 
    1397             : #if CK3_ENABLED
    1398          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_CK3
    1399             :         use pm_kind, only: CKC => CK3
    1400             : #include "pm_arrayReplace@routines.inc.F90"
    1401             :     end procedure
    1402             : #endif
    1403             : 
    1404             : #if CK2_ENABLED
    1405          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_CK2
    1406             :         use pm_kind, only: CKC => CK2
    1407             : #include "pm_arrayReplace@routines.inc.F90"
    1408             :     end procedure
    1409             : #endif
    1410             : 
    1411             : #if CK1_ENABLED
    1412          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_CK1
    1413             :         use pm_kind, only: CKC => CK1
    1414             : #include "pm_arrayReplace@routines.inc.F90"
    1415             :     end procedure
    1416             : #endif
    1417             : 
    1418             : #undef CK_ENABLED
    1419             : 
    1420             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1421             : 
    1422             : #define RK_ENABLED 1
    1423             : 
    1424             : #if RK5_ENABLED
    1425             :     module procedure getReplacedCusComDefIns_D1_D0_D1_RK5
    1426             :         use pm_kind, only: RKC => RK5
    1427             : #include "pm_arrayReplace@routines.inc.F90"
    1428             :     end procedure
    1429             : #endif
    1430             : 
    1431             : #if RK4_ENABLED
    1432          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_RK4
    1433             :         use pm_kind, only: RKC => RK4
    1434             : #include "pm_arrayReplace@routines.inc.F90"
    1435             :     end procedure
    1436             : #endif
    1437             : 
    1438             : #if RK3_ENABLED
    1439          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_RK3
    1440             :         use pm_kind, only: RKC => RK3
    1441             : #include "pm_arrayReplace@routines.inc.F90"
    1442             :     end procedure
    1443             : #endif
    1444             : 
    1445             : #if RK2_ENABLED
    1446          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_RK2
    1447             :         use pm_kind, only: RKC => RK2
    1448             : #include "pm_arrayReplace@routines.inc.F90"
    1449             :     end procedure
    1450             : #endif
    1451             : 
    1452             : #if RK1_ENABLED
    1453          20 :     module procedure getReplacedCusComDefIns_D1_D0_D1_RK1
    1454             :         use pm_kind, only: RKC => RK1
    1455             : #include "pm_arrayReplace@routines.inc.F90"
    1456             :     end procedure
    1457             : #endif
    1458             : 
    1459             : #undef RK_ENABLED
    1460             : 
    1461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1462             : 
    1463             : #undef D1_D0_D1_ENABLED
    1464             : 
    1465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1468             : 
    1469             : #define D1_D1_D0_ENABLED 1
    1470             : 
    1471             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1472             : 
    1473             : #define SK_ENABLED 1
    1474             : 
    1475             : #if SK5_ENABLED
    1476             :     module procedure getReplacedCusComDefIns_D1_D1_D0_SK5
    1477             :         use pm_kind, only: SKC => SK5
    1478             : #include "pm_arrayReplace@routines.inc.F90"
    1479             :     end procedure
    1480             : #endif
    1481             : 
    1482             : #if SK4_ENABLED
    1483             :     module procedure getReplacedCusComDefIns_D1_D1_D0_SK4
    1484             :         use pm_kind, only: SKC => SK4
    1485             : #include "pm_arrayReplace@routines.inc.F90"
    1486             :     end procedure
    1487             : #endif
    1488             : 
    1489             : #if SK3_ENABLED
    1490             :     module procedure getReplacedCusComDefIns_D1_D1_D0_SK3
    1491             :         use pm_kind, only: SKC => SK3
    1492             : #include "pm_arrayReplace@routines.inc.F90"
    1493             :     end procedure
    1494             : #endif
    1495             : 
    1496             : #if SK2_ENABLED
    1497             :     module procedure getReplacedCusComDefIns_D1_D1_D0_SK2
    1498             :         use pm_kind, only: SKC => SK2
    1499             : #include "pm_arrayReplace@routines.inc.F90"
    1500             :     end procedure
    1501             : #endif
    1502             : 
    1503             : #if SK1_ENABLED
    1504          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_SK1
    1505             :         use pm_kind, only: SKC => SK1
    1506             : #include "pm_arrayReplace@routines.inc.F90"
    1507          20 :     end procedure
    1508             : #endif
    1509             : 
    1510             : #undef SK_ENABLED
    1511             : 
    1512             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1513             : 
    1514             : #define IK_ENABLED 1
    1515             : 
    1516             : #if IK5_ENABLED
    1517          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_IK5
    1518             :         use pm_kind, only: IKC => IK5
    1519             : #include "pm_arrayReplace@routines.inc.F90"
    1520             :     end procedure
    1521             : #endif
    1522             : 
    1523             : #if IK4_ENABLED
    1524          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_IK4
    1525             :         use pm_kind, only: IKC => IK4
    1526             : #include "pm_arrayReplace@routines.inc.F90"
    1527             :     end procedure
    1528             : #endif
    1529             : 
    1530             : #if IK3_ENABLED
    1531          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_IK3
    1532             :         use pm_kind, only: IKC => IK3
    1533             : #include "pm_arrayReplace@routines.inc.F90"
    1534             :     end procedure
    1535             : #endif
    1536             : 
    1537             : #if IK2_ENABLED
    1538          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_IK2
    1539             :         use pm_kind, only: IKC => IK2
    1540             : #include "pm_arrayReplace@routines.inc.F90"
    1541             :     end procedure
    1542             : #endif
    1543             : 
    1544             : #if IK1_ENABLED
    1545          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_IK1
    1546             :         use pm_kind, only: IKC => IK1
    1547             : #include "pm_arrayReplace@routines.inc.F90"
    1548             :     end procedure
    1549             : #endif
    1550             : 
    1551             : #undef IK_ENABLED
    1552             : 
    1553             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1554             : 
    1555             : #define LK_ENABLED 1
    1556             : 
    1557             : #if LK5_ENABLED
    1558          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_LK5
    1559             :         use pm_kind, only: LKC => LK5
    1560             : #include "pm_arrayReplace@routines.inc.F90"
    1561             :     end procedure
    1562             : #endif
    1563             : 
    1564             : #if LK4_ENABLED
    1565          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_LK4
    1566             :         use pm_kind, only: LKC => LK4
    1567             : #include "pm_arrayReplace@routines.inc.F90"
    1568             :     end procedure
    1569             : #endif
    1570             : 
    1571             : #if LK3_ENABLED
    1572          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_LK3
    1573             :         use pm_kind, only: LKC => LK3
    1574             : #include "pm_arrayReplace@routines.inc.F90"
    1575             :     end procedure
    1576             : #endif
    1577             : 
    1578             : #if LK2_ENABLED
    1579          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_LK2
    1580             :         use pm_kind, only: LKC => LK2
    1581             : #include "pm_arrayReplace@routines.inc.F90"
    1582             :     end procedure
    1583             : #endif
    1584             : 
    1585             : #if LK1_ENABLED
    1586          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_LK1
    1587             :         use pm_kind, only: LKC => LK1
    1588             : #include "pm_arrayReplace@routines.inc.F90"
    1589             :     end procedure
    1590             : #endif
    1591             : 
    1592             : #undef LK_ENABLED
    1593             : 
    1594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1595             : 
    1596             : #define CK_ENABLED 1
    1597             : 
    1598             : #if CK5_ENABLED
    1599             :     module procedure getReplacedCusComDefIns_D1_D1_D0_CK5
    1600             :         use pm_kind, only: CKC => CK5
    1601             : #include "pm_arrayReplace@routines.inc.F90"
    1602             :     end procedure
    1603             : #endif
    1604             : 
    1605             : #if CK4_ENABLED
    1606          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_CK4
    1607             :         use pm_kind, only: CKC => CK4
    1608             : #include "pm_arrayReplace@routines.inc.F90"
    1609             :     end procedure
    1610             : #endif
    1611             : 
    1612             : #if CK3_ENABLED
    1613          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_CK3
    1614             :         use pm_kind, only: CKC => CK3
    1615             : #include "pm_arrayReplace@routines.inc.F90"
    1616             :     end procedure
    1617             : #endif
    1618             : 
    1619             : #if CK2_ENABLED
    1620          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_CK2
    1621             :         use pm_kind, only: CKC => CK2
    1622             : #include "pm_arrayReplace@routines.inc.F90"
    1623             :     end procedure
    1624             : #endif
    1625             : 
    1626             : #if CK1_ENABLED
    1627          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_CK1
    1628             :         use pm_kind, only: CKC => CK1
    1629             : #include "pm_arrayReplace@routines.inc.F90"
    1630             :     end procedure
    1631             : #endif
    1632             : 
    1633             : #undef CK_ENABLED
    1634             : 
    1635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1636             : 
    1637             : #define RK_ENABLED 1
    1638             : 
    1639             : #if RK5_ENABLED
    1640             :     module procedure getReplacedCusComDefIns_D1_D1_D0_RK5
    1641             :         use pm_kind, only: RKC => RK5
    1642             : #include "pm_arrayReplace@routines.inc.F90"
    1643             :     end procedure
    1644             : #endif
    1645             : 
    1646             : #if RK4_ENABLED
    1647          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_RK4
    1648             :         use pm_kind, only: RKC => RK4
    1649             : #include "pm_arrayReplace@routines.inc.F90"
    1650             :     end procedure
    1651             : #endif
    1652             : 
    1653             : #if RK3_ENABLED
    1654          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_RK3
    1655             :         use pm_kind, only: RKC => RK3
    1656             : #include "pm_arrayReplace@routines.inc.F90"
    1657             :     end procedure
    1658             : #endif
    1659             : 
    1660             : #if RK2_ENABLED
    1661          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_RK2
    1662             :         use pm_kind, only: RKC => RK2
    1663             : #include "pm_arrayReplace@routines.inc.F90"
    1664             :     end procedure
    1665             : #endif
    1666             : 
    1667             : #if RK1_ENABLED
    1668          20 :     module procedure getReplacedCusComDefIns_D1_D1_D0_RK1
    1669             :         use pm_kind, only: RKC => RK1
    1670             : #include "pm_arrayReplace@routines.inc.F90"
    1671             :     end procedure
    1672             : #endif
    1673             : 
    1674             : #undef RK_ENABLED
    1675             : 
    1676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1677             : 
    1678             : #undef D1_D1_D0_ENABLED
    1679             : 
    1680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1681             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1682             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1683             : 
    1684             : #define D1_D1_D1_ENABLED 1
    1685             : 
    1686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1687             : 
    1688             : #define SK_ENABLED 1
    1689             : 
    1690             : #if SK5_ENABLED
    1691             :     module procedure getReplacedCusComDefIns_D1_D1_D1_SK5
    1692             :         use pm_kind, only: SKC => SK5
    1693             : #include "pm_arrayReplace@routines.inc.F90"
    1694             :     end procedure
    1695             : #endif
    1696             : 
    1697             : #if SK4_ENABLED
    1698             :     module procedure getReplacedCusComDefIns_D1_D1_D1_SK4
    1699             :         use pm_kind, only: SKC => SK4
    1700             : #include "pm_arrayReplace@routines.inc.F90"
    1701             :     end procedure
    1702             : #endif
    1703             : 
    1704             : #if SK3_ENABLED
    1705             :     module procedure getReplacedCusComDefIns_D1_D1_D1_SK3
    1706             :         use pm_kind, only: SKC => SK3
    1707             : #include "pm_arrayReplace@routines.inc.F90"
    1708             :     end procedure
    1709             : #endif
    1710             : 
    1711             : #if SK2_ENABLED
    1712             :     module procedure getReplacedCusComDefIns_D1_D1_D1_SK2
    1713             :         use pm_kind, only: SKC => SK2
    1714             : #include "pm_arrayReplace@routines.inc.F90"
    1715             :     end procedure
    1716             : #endif
    1717             : 
    1718             : #if SK1_ENABLED
    1719         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_SK1
    1720             :         use pm_kind, only: SKC => SK1
    1721             : #include "pm_arrayReplace@routines.inc.F90"
    1722             :     end procedure
    1723             : #endif
    1724             : 
    1725             : #undef SK_ENABLED
    1726             : 
    1727             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1728             : 
    1729             : #define IK_ENABLED 1
    1730             : 
    1731             : #if IK5_ENABLED
    1732         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_IK5
    1733             :         use pm_kind, only: IKC => IK5
    1734             : #include "pm_arrayReplace@routines.inc.F90"
    1735             :     end procedure
    1736             : #endif
    1737             : 
    1738             : #if IK4_ENABLED
    1739         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_IK4
    1740             :         use pm_kind, only: IKC => IK4
    1741             : #include "pm_arrayReplace@routines.inc.F90"
    1742             :     end procedure
    1743             : #endif
    1744             : 
    1745             : #if IK3_ENABLED
    1746         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_IK3
    1747             :         use pm_kind, only: IKC => IK3
    1748             : #include "pm_arrayReplace@routines.inc.F90"
    1749             :     end procedure
    1750             : #endif
    1751             : 
    1752             : #if IK2_ENABLED
    1753         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_IK2
    1754             :         use pm_kind, only: IKC => IK2
    1755             : #include "pm_arrayReplace@routines.inc.F90"
    1756             :     end procedure
    1757             : #endif
    1758             : 
    1759             : #if IK1_ENABLED
    1760         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_IK1
    1761             :         use pm_kind, only: IKC => IK1
    1762             : #include "pm_arrayReplace@routines.inc.F90"
    1763             :     end procedure
    1764             : #endif
    1765             : 
    1766             : #undef IK_ENABLED
    1767             : 
    1768             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1769             : 
    1770             : #define LK_ENABLED 1
    1771             : 
    1772             : #if LK5_ENABLED
    1773         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_LK5
    1774             :         use pm_kind, only: LKC => LK5
    1775             : #include "pm_arrayReplace@routines.inc.F90"
    1776             :     end procedure
    1777             : #endif
    1778             : 
    1779             : #if LK4_ENABLED
    1780         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_LK4
    1781             :         use pm_kind, only: LKC => LK4
    1782             : #include "pm_arrayReplace@routines.inc.F90"
    1783             :     end procedure
    1784             : #endif
    1785             : 
    1786             : #if LK3_ENABLED
    1787         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_LK3
    1788             :         use pm_kind, only: LKC => LK3
    1789             : #include "pm_arrayReplace@routines.inc.F90"
    1790             :     end procedure
    1791             : #endif
    1792             : 
    1793             : #if LK2_ENABLED
    1794         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_LK2
    1795             :         use pm_kind, only: LKC => LK2
    1796             : #include "pm_arrayReplace@routines.inc.F90"
    1797             :     end procedure
    1798             : #endif
    1799             : 
    1800             : #if LK1_ENABLED
    1801         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_LK1
    1802             :         use pm_kind, only: LKC => LK1
    1803             : #include "pm_arrayReplace@routines.inc.F90"
    1804             :     end procedure
    1805             : #endif
    1806             : 
    1807             : #undef LK_ENABLED
    1808             : 
    1809             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1810             : 
    1811             : #define CK_ENABLED 1
    1812             : 
    1813             : #if CK5_ENABLED
    1814             :     module procedure getReplacedCusComDefIns_D1_D1_D1_CK5
    1815             :         use pm_kind, only: CKC => CK5
    1816             : #include "pm_arrayReplace@routines.inc.F90"
    1817             :     end procedure
    1818             : #endif
    1819             : 
    1820             : #if CK4_ENABLED
    1821         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_CK4
    1822             :         use pm_kind, only: CKC => CK4
    1823             : #include "pm_arrayReplace@routines.inc.F90"
    1824             :     end procedure
    1825             : #endif
    1826             : 
    1827             : #if CK3_ENABLED
    1828         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_CK3
    1829             :         use pm_kind, only: CKC => CK3
    1830             : #include "pm_arrayReplace@routines.inc.F90"
    1831             :     end procedure
    1832             : #endif
    1833             : 
    1834             : #if CK2_ENABLED
    1835         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_CK2
    1836             :         use pm_kind, only: CKC => CK2
    1837             : #include "pm_arrayReplace@routines.inc.F90"
    1838             :     end procedure
    1839             : #endif
    1840             : 
    1841             : #if CK1_ENABLED
    1842         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_CK1
    1843             :         use pm_kind, only: CKC => CK1
    1844             : #include "pm_arrayReplace@routines.inc.F90"
    1845             :     end procedure
    1846             : #endif
    1847             : 
    1848             : #undef CK_ENABLED
    1849             : 
    1850             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1851             : 
    1852             : #define RK_ENABLED 1
    1853             : 
    1854             : #if RK5_ENABLED
    1855             :     module procedure getReplacedCusComDefIns_D1_D1_D1_RK5
    1856             :         use pm_kind, only: RKC => RK5
    1857             : #include "pm_arrayReplace@routines.inc.F90"
    1858             :     end procedure
    1859             : #endif
    1860             : 
    1861             : #if RK4_ENABLED
    1862         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_RK4
    1863             :         use pm_kind, only: RKC => RK4
    1864             : #include "pm_arrayReplace@routines.inc.F90"
    1865             :     end procedure
    1866             : #endif
    1867             : 
    1868             : #if RK3_ENABLED
    1869         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_RK3
    1870             :         use pm_kind, only: RKC => RK3
    1871             : #include "pm_arrayReplace@routines.inc.F90"
    1872             :     end procedure
    1873             : #endif
    1874             : 
    1875             : #if RK2_ENABLED
    1876         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_RK2
    1877             :         use pm_kind, only: RKC => RK2
    1878             : #include "pm_arrayReplace@routines.inc.F90"
    1879             :     end procedure
    1880             : #endif
    1881             : 
    1882             : #if RK1_ENABLED
    1883         130 :     module procedure getReplacedCusComDefIns_D1_D1_D1_RK1
    1884             :         use pm_kind, only: RKC => RK1
    1885             : #include "pm_arrayReplace@routines.inc.F90"
    1886             :     end procedure
    1887             : #endif
    1888             : 
    1889             : #undef RK_ENABLED
    1890             : 
    1891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1892             : 
    1893             : #undef D1_D1_D1_ENABLED
    1894             : 
    1895             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1896             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1897             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1898             : 
    1899             : #undef CusCom_ENABLED
    1900             : #undef DefIns_ENABLED
    1901             : 
    1902             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1903             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1904             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1905             : 
    1906             : #define DefCom_ENABLED 1
    1907             : #define CusIns_ENABLED 1
    1908             : 
    1909             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1910             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1911             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1912             : 
    1913             : #define D0_D0_D0_ENABLED 1
    1914             : 
    1915             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1916             : 
    1917             : #define SK_ENABLED 1
    1918             : 
    1919             : #if SK5_ENABLED
    1920             :     module procedure getReplacedDefComCusIns_D0_D0_D0_SK5
    1921             :         use pm_kind, only: SKC => SK5
    1922             : #include "pm_arrayReplace@routines.inc.F90"
    1923             :     end procedure
    1924             : #endif
    1925             : 
    1926             : #if SK4_ENABLED
    1927             :     module procedure getReplacedDefComCusIns_D0_D0_D0_SK4
    1928             :         use pm_kind, only: SKC => SK4
    1929             : #include "pm_arrayReplace@routines.inc.F90"
    1930             :     end procedure
    1931             : #endif
    1932             : 
    1933             : #if SK3_ENABLED
    1934             :     module procedure getReplacedDefComCusIns_D0_D0_D0_SK3
    1935             :         use pm_kind, only: SKC => SK3
    1936             : #include "pm_arrayReplace@routines.inc.F90"
    1937             :     end procedure
    1938             : #endif
    1939             : 
    1940             : #if SK2_ENABLED
    1941             :     module procedure getReplacedDefComCusIns_D0_D0_D0_SK2
    1942             :         use pm_kind, only: SKC => SK2
    1943             : #include "pm_arrayReplace@routines.inc.F90"
    1944             :     end procedure
    1945             : #endif
    1946             : 
    1947             : #if SK1_ENABLED
    1948         133 :     module procedure getReplacedDefComCusIns_D0_D0_D0_SK1
    1949             :         use pm_kind, only: SKC => SK1
    1950             : #include "pm_arrayReplace@routines.inc.F90"
    1951         266 :     end procedure
    1952             : #endif
    1953             : 
    1954             : #undef SK_ENABLED
    1955             : 
    1956             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1957             : 
    1958             : #undef D0_D0_D0_ENABLED
    1959             : 
    1960             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1961             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1962             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1963             : 
    1964             : #define D1_D0_D0_ENABLED 1
    1965             : 
    1966             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1967             : 
    1968             : #define SK_ENABLED 1
    1969             : 
    1970             : #if SK5_ENABLED
    1971             :     module procedure getReplacedDefComCusIns_D1_D0_D0_SK5
    1972             :         use pm_kind, only: SKC => SK5
    1973             : #include "pm_arrayReplace@routines.inc.F90"
    1974             :     end procedure
    1975             : #endif
    1976             : 
    1977             : #if SK4_ENABLED
    1978             :     module procedure getReplacedDefComCusIns_D1_D0_D0_SK4
    1979             :         use pm_kind, only: SKC => SK4
    1980             : #include "pm_arrayReplace@routines.inc.F90"
    1981             :     end procedure
    1982             : #endif
    1983             : 
    1984             : #if SK3_ENABLED
    1985             :     module procedure getReplacedDefComCusIns_D1_D0_D0_SK3
    1986             :         use pm_kind, only: SKC => SK3
    1987             : #include "pm_arrayReplace@routines.inc.F90"
    1988             :     end procedure
    1989             : #endif
    1990             : 
    1991             : #if SK2_ENABLED
    1992             :     module procedure getReplacedDefComCusIns_D1_D0_D0_SK2
    1993             :         use pm_kind, only: SKC => SK2
    1994             : #include "pm_arrayReplace@routines.inc.F90"
    1995             :     end procedure
    1996             : #endif
    1997             : 
    1998             : #if SK1_ENABLED
    1999         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_SK1
    2000             :         use pm_kind, only: SKC => SK1
    2001             : #include "pm_arrayReplace@routines.inc.F90"
    2002         180 :     end procedure
    2003             : #endif
    2004             : 
    2005             : #undef SK_ENABLED
    2006             : 
    2007             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2008             : 
    2009             : #define IK_ENABLED 1
    2010             : 
    2011             : #if IK5_ENABLED
    2012         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_IK5
    2013             :         use pm_kind, only: IKC => IK5
    2014             : #include "pm_arrayReplace@routines.inc.F90"
    2015             :     end procedure
    2016             : #endif
    2017             : 
    2018             : #if IK4_ENABLED
    2019         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_IK4
    2020             :         use pm_kind, only: IKC => IK4
    2021             : #include "pm_arrayReplace@routines.inc.F90"
    2022             :     end procedure
    2023             : #endif
    2024             : 
    2025             : #if IK3_ENABLED
    2026         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_IK3
    2027             :         use pm_kind, only: IKC => IK3
    2028             : #include "pm_arrayReplace@routines.inc.F90"
    2029             :     end procedure
    2030             : #endif
    2031             : 
    2032             : #if IK2_ENABLED
    2033         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_IK2
    2034             :         use pm_kind, only: IKC => IK2
    2035             : #include "pm_arrayReplace@routines.inc.F90"
    2036             :     end procedure
    2037             : #endif
    2038             : 
    2039             : #if IK1_ENABLED
    2040         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_IK1
    2041             :         use pm_kind, only: IKC => IK1
    2042             : #include "pm_arrayReplace@routines.inc.F90"
    2043             :     end procedure
    2044             : #endif
    2045             : 
    2046             : #undef IK_ENABLED
    2047             : 
    2048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2049             : 
    2050             : #define LK_ENABLED 1
    2051             : 
    2052             : #if LK5_ENABLED
    2053         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_LK5
    2054             :         use pm_kind, only: LKC => LK5
    2055             : #include "pm_arrayReplace@routines.inc.F90"
    2056             :     end procedure
    2057             : #endif
    2058             : 
    2059             : #if LK4_ENABLED
    2060         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_LK4
    2061             :         use pm_kind, only: LKC => LK4
    2062             : #include "pm_arrayReplace@routines.inc.F90"
    2063             :     end procedure
    2064             : #endif
    2065             : 
    2066             : #if LK3_ENABLED
    2067         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_LK3
    2068             :         use pm_kind, only: LKC => LK3
    2069             : #include "pm_arrayReplace@routines.inc.F90"
    2070             :     end procedure
    2071             : #endif
    2072             : 
    2073             : #if LK2_ENABLED
    2074         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_LK2
    2075             :         use pm_kind, only: LKC => LK2
    2076             : #include "pm_arrayReplace@routines.inc.F90"
    2077             :     end procedure
    2078             : #endif
    2079             : 
    2080             : #if LK1_ENABLED
    2081         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_LK1
    2082             :         use pm_kind, only: LKC => LK1
    2083             : #include "pm_arrayReplace@routines.inc.F90"
    2084             :     end procedure
    2085             : #endif
    2086             : 
    2087             : #undef LK_ENABLED
    2088             : 
    2089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2090             : 
    2091             : #define CK_ENABLED 1
    2092             : 
    2093             : #if CK5_ENABLED
    2094             :     module procedure getReplacedDefComCusIns_D1_D0_D0_CK5
    2095             :         use pm_kind, only: CKC => CK5
    2096             : #include "pm_arrayReplace@routines.inc.F90"
    2097             :     end procedure
    2098             : #endif
    2099             : 
    2100             : #if CK4_ENABLED
    2101         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_CK4
    2102             :         use pm_kind, only: CKC => CK4
    2103             : #include "pm_arrayReplace@routines.inc.F90"
    2104             :     end procedure
    2105             : #endif
    2106             : 
    2107             : #if CK3_ENABLED
    2108         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_CK3
    2109             :         use pm_kind, only: CKC => CK3
    2110             : #include "pm_arrayReplace@routines.inc.F90"
    2111             :     end procedure
    2112             : #endif
    2113             : 
    2114             : #if CK2_ENABLED
    2115         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_CK2
    2116             :         use pm_kind, only: CKC => CK2
    2117             : #include "pm_arrayReplace@routines.inc.F90"
    2118             :     end procedure
    2119             : #endif
    2120             : 
    2121             : #if CK1_ENABLED
    2122         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_CK1
    2123             :         use pm_kind, only: CKC => CK1
    2124             : #include "pm_arrayReplace@routines.inc.F90"
    2125             :     end procedure
    2126             : #endif
    2127             : 
    2128             : #undef CK_ENABLED
    2129             : 
    2130             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2131             : 
    2132             : #define RK_ENABLED 1
    2133             : 
    2134             : #if RK5_ENABLED
    2135             :     module procedure getReplacedDefComCusIns_D1_D0_D0_RK5
    2136             :         use pm_kind, only: RKC => RK5
    2137             : #include "pm_arrayReplace@routines.inc.F90"
    2138             :     end procedure
    2139             : #endif
    2140             : 
    2141             : #if RK4_ENABLED
    2142         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_RK4
    2143             :         use pm_kind, only: RKC => RK4
    2144             : #include "pm_arrayReplace@routines.inc.F90"
    2145             :     end procedure
    2146             : #endif
    2147             : 
    2148             : #if RK3_ENABLED
    2149         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_RK3
    2150             :         use pm_kind, only: RKC => RK3
    2151             : #include "pm_arrayReplace@routines.inc.F90"
    2152             :     end procedure
    2153             : #endif
    2154             : 
    2155             : #if RK2_ENABLED
    2156         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_RK2
    2157             :         use pm_kind, only: RKC => RK2
    2158             : #include "pm_arrayReplace@routines.inc.F90"
    2159             :     end procedure
    2160             : #endif
    2161             : 
    2162             : #if RK1_ENABLED
    2163         180 :     module procedure getReplacedDefComCusIns_D1_D0_D0_RK1
    2164             :         use pm_kind, only: RKC => RK1
    2165             : #include "pm_arrayReplace@routines.inc.F90"
    2166             :     end procedure
    2167             : #endif
    2168             : 
    2169             : #undef RK_ENABLED
    2170             : 
    2171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2172             : 
    2173             : #undef D1_D0_D0_ENABLED
    2174             : 
    2175             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2178             : 
    2179             : #define D1_D0_D1_ENABLED 1
    2180             : 
    2181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2182             : 
    2183             : #define SK_ENABLED 1
    2184             : 
    2185             : #if SK5_ENABLED
    2186             :     module procedure getReplacedDefComCusIns_D1_D0_D1_SK5
    2187             :         use pm_kind, only: SKC => SK5
    2188             : #include "pm_arrayReplace@routines.inc.F90"
    2189             :     end procedure
    2190             : #endif
    2191             : 
    2192             : #if SK4_ENABLED
    2193             :     module procedure getReplacedDefComCusIns_D1_D0_D1_SK4
    2194             :         use pm_kind, only: SKC => SK4
    2195             : #include "pm_arrayReplace@routines.inc.F90"
    2196             :     end procedure
    2197             : #endif
    2198             : 
    2199             : #if SK3_ENABLED
    2200             :     module procedure getReplacedDefComCusIns_D1_D0_D1_SK3
    2201             :         use pm_kind, only: SKC => SK3
    2202             : #include "pm_arrayReplace@routines.inc.F90"
    2203             :     end procedure
    2204             : #endif
    2205             : 
    2206             : #if SK2_ENABLED
    2207             :     module procedure getReplacedDefComCusIns_D1_D0_D1_SK2
    2208             :         use pm_kind, only: SKC => SK2
    2209             : #include "pm_arrayReplace@routines.inc.F90"
    2210             :     end procedure
    2211             : #endif
    2212             : 
    2213             : #if SK1_ENABLED
    2214         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_SK1
    2215             :         use pm_kind, only: SKC => SK1
    2216             : #include "pm_arrayReplace@routines.inc.F90"
    2217             :     end procedure
    2218             : #endif
    2219             : 
    2220             : #undef SK_ENABLED
    2221             : 
    2222             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2223             : 
    2224             : #define IK_ENABLED 1
    2225             : 
    2226             : #if IK5_ENABLED
    2227         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_IK5
    2228             :         use pm_kind, only: IKC => IK5
    2229             : #include "pm_arrayReplace@routines.inc.F90"
    2230             :     end procedure
    2231             : #endif
    2232             : 
    2233             : #if IK4_ENABLED
    2234         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_IK4
    2235             :         use pm_kind, only: IKC => IK4
    2236             : #include "pm_arrayReplace@routines.inc.F90"
    2237             :     end procedure
    2238             : #endif
    2239             : 
    2240             : #if IK3_ENABLED
    2241         181 :     module procedure getReplacedDefComCusIns_D1_D0_D1_IK3
    2242             :         use pm_kind, only: IKC => IK3
    2243             : #include "pm_arrayReplace@routines.inc.F90"
    2244             :     end procedure
    2245             : #endif
    2246             : 
    2247             : #if IK2_ENABLED
    2248         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_IK2
    2249             :         use pm_kind, only: IKC => IK2
    2250             : #include "pm_arrayReplace@routines.inc.F90"
    2251             :     end procedure
    2252             : #endif
    2253             : 
    2254             : #if IK1_ENABLED
    2255         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_IK1
    2256             :         use pm_kind, only: IKC => IK1
    2257             : #include "pm_arrayReplace@routines.inc.F90"
    2258             :     end procedure
    2259             : #endif
    2260             : 
    2261             : #undef IK_ENABLED
    2262             : 
    2263             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2264             : 
    2265             : #define LK_ENABLED 1
    2266             : 
    2267             : #if LK5_ENABLED
    2268         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_LK5
    2269             :         use pm_kind, only: LKC => LK5
    2270             : #include "pm_arrayReplace@routines.inc.F90"
    2271             :     end procedure
    2272             : #endif
    2273             : 
    2274             : #if LK4_ENABLED
    2275         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_LK4
    2276             :         use pm_kind, only: LKC => LK4
    2277             : #include "pm_arrayReplace@routines.inc.F90"
    2278             :     end procedure
    2279             : #endif
    2280             : 
    2281             : #if LK3_ENABLED
    2282         181 :     module procedure getReplacedDefComCusIns_D1_D0_D1_LK3
    2283             :         use pm_kind, only: LKC => LK3
    2284             : #include "pm_arrayReplace@routines.inc.F90"
    2285             :     end procedure
    2286             : #endif
    2287             : 
    2288             : #if LK2_ENABLED
    2289         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_LK2
    2290             :         use pm_kind, only: LKC => LK2
    2291             : #include "pm_arrayReplace@routines.inc.F90"
    2292             :     end procedure
    2293             : #endif
    2294             : 
    2295             : #if LK1_ENABLED
    2296         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_LK1
    2297             :         use pm_kind, only: LKC => LK1
    2298             : #include "pm_arrayReplace@routines.inc.F90"
    2299             :     end procedure
    2300             : #endif
    2301             : 
    2302             : #undef LK_ENABLED
    2303             : 
    2304             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2305             : 
    2306             : #define CK_ENABLED 1
    2307             : 
    2308             : #if CK5_ENABLED
    2309             :     module procedure getReplacedDefComCusIns_D1_D0_D1_CK5
    2310             :         use pm_kind, only: CKC => CK5
    2311             : #include "pm_arrayReplace@routines.inc.F90"
    2312             :     end procedure
    2313             : #endif
    2314             : 
    2315             : #if CK4_ENABLED
    2316         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_CK4
    2317             :         use pm_kind, only: CKC => CK4
    2318             : #include "pm_arrayReplace@routines.inc.F90"
    2319             :     end procedure
    2320             : #endif
    2321             : 
    2322             : #if CK3_ENABLED
    2323         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_CK3
    2324             :         use pm_kind, only: CKC => CK3
    2325             : #include "pm_arrayReplace@routines.inc.F90"
    2326             :     end procedure
    2327             : #endif
    2328             : 
    2329             : #if CK2_ENABLED
    2330         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_CK2
    2331             :         use pm_kind, only: CKC => CK2
    2332             : #include "pm_arrayReplace@routines.inc.F90"
    2333             :     end procedure
    2334             : #endif
    2335             : 
    2336             : #if CK1_ENABLED
    2337         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_CK1
    2338             :         use pm_kind, only: CKC => CK1
    2339             : #include "pm_arrayReplace@routines.inc.F90"
    2340             :     end procedure
    2341             : #endif
    2342             : 
    2343             : #undef CK_ENABLED
    2344             : 
    2345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2346             : 
    2347             : #define RK_ENABLED 1
    2348             : 
    2349             : #if RK5_ENABLED
    2350             :     module procedure getReplacedDefComCusIns_D1_D0_D1_RK5
    2351             :         use pm_kind, only: RKC => RK5
    2352             : #include "pm_arrayReplace@routines.inc.F90"
    2353             :     end procedure
    2354             : #endif
    2355             : 
    2356             : #if RK4_ENABLED
    2357         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_RK4
    2358             :         use pm_kind, only: RKC => RK4
    2359             : #include "pm_arrayReplace@routines.inc.F90"
    2360             :     end procedure
    2361             : #endif
    2362             : 
    2363             : #if RK3_ENABLED
    2364         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_RK3
    2365             :         use pm_kind, only: RKC => RK3
    2366             : #include "pm_arrayReplace@routines.inc.F90"
    2367             :     end procedure
    2368             : #endif
    2369             : 
    2370             : #if RK2_ENABLED
    2371         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_RK2
    2372             :         use pm_kind, only: RKC => RK2
    2373             : #include "pm_arrayReplace@routines.inc.F90"
    2374             :     end procedure
    2375             : #endif
    2376             : 
    2377             : #if RK1_ENABLED
    2378         180 :     module procedure getReplacedDefComCusIns_D1_D0_D1_RK1
    2379             :         use pm_kind, only: RKC => RK1
    2380             : #include "pm_arrayReplace@routines.inc.F90"
    2381             :     end procedure
    2382             : #endif
    2383             : 
    2384             : #undef RK_ENABLED
    2385             : 
    2386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2387             : 
    2388             : #undef D1_D0_D1_ENABLED
    2389             : 
    2390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2393             : 
    2394             : #define D1_D1_D0_ENABLED 1
    2395             : 
    2396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2397             : 
    2398             : #define SK_ENABLED 1
    2399             : 
    2400             : #if SK5_ENABLED
    2401             :     module procedure getReplacedDefComCusIns_D1_D1_D0_SK5
    2402             :         use pm_kind, only: SKC => SK5
    2403             : #include "pm_arrayReplace@routines.inc.F90"
    2404             :     end procedure
    2405             : #endif
    2406             : 
    2407             : #if SK4_ENABLED
    2408             :     module procedure getReplacedDefComCusIns_D1_D1_D0_SK4
    2409             :         use pm_kind, only: SKC => SK4
    2410             : #include "pm_arrayReplace@routines.inc.F90"
    2411             :     end procedure
    2412             : #endif
    2413             : 
    2414             : #if SK3_ENABLED
    2415             :     module procedure getReplacedDefComCusIns_D1_D1_D0_SK3
    2416             :         use pm_kind, only: SKC => SK3
    2417             : #include "pm_arrayReplace@routines.inc.F90"
    2418             :     end procedure
    2419             : #endif
    2420             : 
    2421             : #if SK2_ENABLED
    2422             :     module procedure getReplacedDefComCusIns_D1_D1_D0_SK2
    2423             :         use pm_kind, only: SKC => SK2
    2424             : #include "pm_arrayReplace@routines.inc.F90"
    2425             :     end procedure
    2426             : #endif
    2427             : 
    2428             : #if SK1_ENABLED
    2429         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_SK1
    2430             :         use pm_kind, only: SKC => SK1
    2431             : #include "pm_arrayReplace@routines.inc.F90"
    2432         180 :     end procedure
    2433             : #endif
    2434             : 
    2435             : #undef SK_ENABLED
    2436             : 
    2437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2438             : 
    2439             : #define IK_ENABLED 1
    2440             : 
    2441             : #if IK5_ENABLED
    2442         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_IK5
    2443             :         use pm_kind, only: IKC => IK5
    2444             : #include "pm_arrayReplace@routines.inc.F90"
    2445             :     end procedure
    2446             : #endif
    2447             : 
    2448             : #if IK4_ENABLED
    2449         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_IK4
    2450             :         use pm_kind, only: IKC => IK4
    2451             : #include "pm_arrayReplace@routines.inc.F90"
    2452             :     end procedure
    2453             : #endif
    2454             : 
    2455             : #if IK3_ENABLED
    2456         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_IK3
    2457             :         use pm_kind, only: IKC => IK3
    2458             : #include "pm_arrayReplace@routines.inc.F90"
    2459             :     end procedure
    2460             : #endif
    2461             : 
    2462             : #if IK2_ENABLED
    2463         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_IK2
    2464             :         use pm_kind, only: IKC => IK2
    2465             : #include "pm_arrayReplace@routines.inc.F90"
    2466             :     end procedure
    2467             : #endif
    2468             : 
    2469             : #if IK1_ENABLED
    2470         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_IK1
    2471             :         use pm_kind, only: IKC => IK1
    2472             : #include "pm_arrayReplace@routines.inc.F90"
    2473             :     end procedure
    2474             : #endif
    2475             : 
    2476             : #undef IK_ENABLED
    2477             : 
    2478             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2479             : 
    2480             : #define LK_ENABLED 1
    2481             : 
    2482             : #if LK5_ENABLED
    2483         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_LK5
    2484             :         use pm_kind, only: LKC => LK5
    2485             : #include "pm_arrayReplace@routines.inc.F90"
    2486             :     end procedure
    2487             : #endif
    2488             : 
    2489             : #if LK4_ENABLED
    2490         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_LK4
    2491             :         use pm_kind, only: LKC => LK4
    2492             : #include "pm_arrayReplace@routines.inc.F90"
    2493             :     end procedure
    2494             : #endif
    2495             : 
    2496             : #if LK3_ENABLED
    2497         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_LK3
    2498             :         use pm_kind, only: LKC => LK3
    2499             : #include "pm_arrayReplace@routines.inc.F90"
    2500             :     end procedure
    2501             : #endif
    2502             : 
    2503             : #if LK2_ENABLED
    2504         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_LK2
    2505             :         use pm_kind, only: LKC => LK2
    2506             : #include "pm_arrayReplace@routines.inc.F90"
    2507             :     end procedure
    2508             : #endif
    2509             : 
    2510             : #if LK1_ENABLED
    2511         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_LK1
    2512             :         use pm_kind, only: LKC => LK1
    2513             : #include "pm_arrayReplace@routines.inc.F90"
    2514             :     end procedure
    2515             : #endif
    2516             : 
    2517             : #undef LK_ENABLED
    2518             : 
    2519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2520             : 
    2521             : #define CK_ENABLED 1
    2522             : 
    2523             : #if CK5_ENABLED
    2524             :     module procedure getReplacedDefComCusIns_D1_D1_D0_CK5
    2525             :         use pm_kind, only: CKC => CK5
    2526             : #include "pm_arrayReplace@routines.inc.F90"
    2527             :     end procedure
    2528             : #endif
    2529             : 
    2530             : #if CK4_ENABLED
    2531         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_CK4
    2532             :         use pm_kind, only: CKC => CK4
    2533             : #include "pm_arrayReplace@routines.inc.F90"
    2534             :     end procedure
    2535             : #endif
    2536             : 
    2537             : #if CK3_ENABLED
    2538         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_CK3
    2539             :         use pm_kind, only: CKC => CK3
    2540             : #include "pm_arrayReplace@routines.inc.F90"
    2541             :     end procedure
    2542             : #endif
    2543             : 
    2544             : #if CK2_ENABLED
    2545         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_CK2
    2546             :         use pm_kind, only: CKC => CK2
    2547             : #include "pm_arrayReplace@routines.inc.F90"
    2548             :     end procedure
    2549             : #endif
    2550             : 
    2551             : #if CK1_ENABLED
    2552         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_CK1
    2553             :         use pm_kind, only: CKC => CK1
    2554             : #include "pm_arrayReplace@routines.inc.F90"
    2555             :     end procedure
    2556             : #endif
    2557             : 
    2558             : #undef CK_ENABLED
    2559             : 
    2560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2561             : 
    2562             : #define RK_ENABLED 1
    2563             : 
    2564             : #if RK5_ENABLED
    2565             :     module procedure getReplacedDefComCusIns_D1_D1_D0_RK5
    2566             :         use pm_kind, only: RKC => RK5
    2567             : #include "pm_arrayReplace@routines.inc.F90"
    2568             :     end procedure
    2569             : #endif
    2570             : 
    2571             : #if RK4_ENABLED
    2572         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_RK4
    2573             :         use pm_kind, only: RKC => RK4
    2574             : #include "pm_arrayReplace@routines.inc.F90"
    2575             :     end procedure
    2576             : #endif
    2577             : 
    2578             : #if RK3_ENABLED
    2579         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_RK3
    2580             :         use pm_kind, only: RKC => RK3
    2581             : #include "pm_arrayReplace@routines.inc.F90"
    2582             :     end procedure
    2583             : #endif
    2584             : 
    2585             : #if RK2_ENABLED
    2586         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_RK2
    2587             :         use pm_kind, only: RKC => RK2
    2588             : #include "pm_arrayReplace@routines.inc.F90"
    2589             :     end procedure
    2590             : #endif
    2591             : 
    2592             : #if RK1_ENABLED
    2593         180 :     module procedure getReplacedDefComCusIns_D1_D1_D0_RK1
    2594             :         use pm_kind, only: RKC => RK1
    2595             : #include "pm_arrayReplace@routines.inc.F90"
    2596             :     end procedure
    2597             : #endif
    2598             : 
    2599             : #undef RK_ENABLED
    2600             : 
    2601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2602             : 
    2603             : #undef D1_D1_D0_ENABLED
    2604             : 
    2605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2606             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2608             : 
    2609             : #define D1_D1_D1_ENABLED 1
    2610             : 
    2611             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2612             : 
    2613             : #define SK_ENABLED 1
    2614             : 
    2615             : #if SK5_ENABLED
    2616             :     module procedure getReplacedDefComCusIns_D1_D1_D1_SK5
    2617             :         use pm_kind, only: SKC => SK5
    2618             : #include "pm_arrayReplace@routines.inc.F90"
    2619             :     end procedure
    2620             : #endif
    2621             : 
    2622             : #if SK4_ENABLED
    2623             :     module procedure getReplacedDefComCusIns_D1_D1_D1_SK4
    2624             :         use pm_kind, only: SKC => SK4
    2625             : #include "pm_arrayReplace@routines.inc.F90"
    2626             :     end procedure
    2627             : #endif
    2628             : 
    2629             : #if SK3_ENABLED
    2630             :     module procedure getReplacedDefComCusIns_D1_D1_D1_SK3
    2631             :         use pm_kind, only: SKC => SK3
    2632             : #include "pm_arrayReplace@routines.inc.F90"
    2633             :     end procedure
    2634             : #endif
    2635             : 
    2636             : #if SK2_ENABLED
    2637             :     module procedure getReplacedDefComCusIns_D1_D1_D1_SK2
    2638             :         use pm_kind, only: SKC => SK2
    2639             : #include "pm_arrayReplace@routines.inc.F90"
    2640             :     end procedure
    2641             : #endif
    2642             : 
    2643             : #if SK1_ENABLED
    2644        1213 :     module procedure getReplacedDefComCusIns_D1_D1_D1_SK1
    2645             :         use pm_kind, only: SKC => SK1
    2646             : #include "pm_arrayReplace@routines.inc.F90"
    2647             :     end procedure
    2648             : #endif
    2649             : 
    2650             : #undef SK_ENABLED
    2651             : 
    2652             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2653             : 
    2654             : #define IK_ENABLED 1
    2655             : 
    2656             : #if IK5_ENABLED
    2657        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_IK5
    2658             :         use pm_kind, only: IKC => IK5
    2659             : #include "pm_arrayReplace@routines.inc.F90"
    2660             :     end procedure
    2661             : #endif
    2662             : 
    2663             : #if IK4_ENABLED
    2664        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_IK4
    2665             :         use pm_kind, only: IKC => IK4
    2666             : #include "pm_arrayReplace@routines.inc.F90"
    2667             :     end procedure
    2668             : #endif
    2669             : 
    2670             : #if IK3_ENABLED
    2671        1213 :     module procedure getReplacedDefComCusIns_D1_D1_D1_IK3
    2672             :         use pm_kind, only: IKC => IK3
    2673             : #include "pm_arrayReplace@routines.inc.F90"
    2674             :     end procedure
    2675             : #endif
    2676             : 
    2677             : #if IK2_ENABLED
    2678        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_IK2
    2679             :         use pm_kind, only: IKC => IK2
    2680             : #include "pm_arrayReplace@routines.inc.F90"
    2681             :     end procedure
    2682             : #endif
    2683             : 
    2684             : #if IK1_ENABLED
    2685        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_IK1
    2686             :         use pm_kind, only: IKC => IK1
    2687             : #include "pm_arrayReplace@routines.inc.F90"
    2688             :     end procedure
    2689             : #endif
    2690             : 
    2691             : #undef IK_ENABLED
    2692             : 
    2693             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2694             : 
    2695             : #define LK_ENABLED 1
    2696             : 
    2697             : #if LK5_ENABLED
    2698        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_LK5
    2699             :         use pm_kind, only: LKC => LK5
    2700             : #include "pm_arrayReplace@routines.inc.F90"
    2701             :     end procedure
    2702             : #endif
    2703             : 
    2704             : #if LK4_ENABLED
    2705        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_LK4
    2706             :         use pm_kind, only: LKC => LK4
    2707             : #include "pm_arrayReplace@routines.inc.F90"
    2708             :     end procedure
    2709             : #endif
    2710             : 
    2711             : #if LK3_ENABLED
    2712        1213 :     module procedure getReplacedDefComCusIns_D1_D1_D1_LK3
    2713             :         use pm_kind, only: LKC => LK3
    2714             : #include "pm_arrayReplace@routines.inc.F90"
    2715             :     end procedure
    2716             : #endif
    2717             : 
    2718             : #if LK2_ENABLED
    2719        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_LK2
    2720             :         use pm_kind, only: LKC => LK2
    2721             : #include "pm_arrayReplace@routines.inc.F90"
    2722             :     end procedure
    2723             : #endif
    2724             : 
    2725             : #if LK1_ENABLED
    2726        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_LK1
    2727             :         use pm_kind, only: LKC => LK1
    2728             : #include "pm_arrayReplace@routines.inc.F90"
    2729             :     end procedure
    2730             : #endif
    2731             : 
    2732             : #undef LK_ENABLED
    2733             : 
    2734             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2735             : 
    2736             : #define CK_ENABLED 1
    2737             : 
    2738             : #if CK5_ENABLED
    2739             :     module procedure getReplacedDefComCusIns_D1_D1_D1_CK5
    2740             :         use pm_kind, only: CKC => CK5
    2741             : #include "pm_arrayReplace@routines.inc.F90"
    2742             :     end procedure
    2743             : #endif
    2744             : 
    2745             : #if CK4_ENABLED
    2746        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_CK4
    2747             :         use pm_kind, only: CKC => CK4
    2748             : #include "pm_arrayReplace@routines.inc.F90"
    2749             :     end procedure
    2750             : #endif
    2751             : 
    2752             : #if CK3_ENABLED
    2753        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_CK3
    2754             :         use pm_kind, only: CKC => CK3
    2755             : #include "pm_arrayReplace@routines.inc.F90"
    2756             :     end procedure
    2757             : #endif
    2758             : 
    2759             : #if CK2_ENABLED
    2760        1213 :     module procedure getReplacedDefComCusIns_D1_D1_D1_CK2
    2761             :         use pm_kind, only: CKC => CK2
    2762             : #include "pm_arrayReplace@routines.inc.F90"
    2763             :     end procedure
    2764             : #endif
    2765             : 
    2766             : #if CK1_ENABLED
    2767        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_CK1
    2768             :         use pm_kind, only: CKC => CK1
    2769             : #include "pm_arrayReplace@routines.inc.F90"
    2770             :     end procedure
    2771             : #endif
    2772             : 
    2773             : #undef CK_ENABLED
    2774             : 
    2775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2776             : 
    2777             : #define RK_ENABLED 1
    2778             : 
    2779             : #if RK5_ENABLED
    2780             :     module procedure getReplacedDefComCusIns_D1_D1_D1_RK5
    2781             :         use pm_kind, only: RKC => RK5
    2782             : #include "pm_arrayReplace@routines.inc.F90"
    2783             :     end procedure
    2784             : #endif
    2785             : 
    2786             : #if RK4_ENABLED
    2787        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_RK4
    2788             :         use pm_kind, only: RKC => RK4
    2789             : #include "pm_arrayReplace@routines.inc.F90"
    2790             :     end procedure
    2791             : #endif
    2792             : 
    2793             : #if RK3_ENABLED
    2794        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_RK3
    2795             :         use pm_kind, only: RKC => RK3
    2796             : #include "pm_arrayReplace@routines.inc.F90"
    2797             :     end procedure
    2798             : #endif
    2799             : 
    2800             : #if RK2_ENABLED
    2801        1213 :     module procedure getReplacedDefComCusIns_D1_D1_D1_RK2
    2802             :         use pm_kind, only: RKC => RK2
    2803             : #include "pm_arrayReplace@routines.inc.F90"
    2804             :     end procedure
    2805             : #endif
    2806             : 
    2807             : #if RK1_ENABLED
    2808        1212 :     module procedure getReplacedDefComCusIns_D1_D1_D1_RK1
    2809             :         use pm_kind, only: RKC => RK1
    2810             : #include "pm_arrayReplace@routines.inc.F90"
    2811             :     end procedure
    2812             : #endif
    2813             : 
    2814             : #undef RK_ENABLED
    2815             : 
    2816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2817             : 
    2818             : #undef D1_D1_D1_ENABLED
    2819             : 
    2820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2823             : 
    2824             : #undef DefCom_ENABLED
    2825             : #undef CusIns_ENABLED
    2826             : 
    2827             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2828             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2829             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2830             : 
    2831             : #define CusCom_ENABLED 1
    2832             : #define CusIns_ENABLED 1
    2833             : 
    2834             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2835             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2836             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2837             : 
    2838             : #define D0_D0_D0_ENABLED 1
    2839             : 
    2840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2841             : 
    2842             : #define SK_ENABLED 1
    2843             : 
    2844             : #if SK5_ENABLED
    2845             :     module procedure getReplacedCusComCusIns_D0_D0_D0_SK5
    2846             :         use pm_kind, only: SKC => SK5
    2847             : #include "pm_arrayReplace@routines.inc.F90"
    2848             :     end procedure
    2849             : #endif
    2850             : 
    2851             : #if SK4_ENABLED
    2852             :     module procedure getReplacedCusComCusIns_D0_D0_D0_SK4
    2853             :         use pm_kind, only: SKC => SK4
    2854             : #include "pm_arrayReplace@routines.inc.F90"
    2855             :     end procedure
    2856             : #endif
    2857             : 
    2858             : #if SK3_ENABLED
    2859             :     module procedure getReplacedCusComCusIns_D0_D0_D0_SK3
    2860             :         use pm_kind, only: SKC => SK3
    2861             : #include "pm_arrayReplace@routines.inc.F90"
    2862             :     end procedure
    2863             : #endif
    2864             : 
    2865             : #if SK2_ENABLED
    2866             :     module procedure getReplacedCusComCusIns_D0_D0_D0_SK2
    2867             :         use pm_kind, only: SKC => SK2
    2868             : #include "pm_arrayReplace@routines.inc.F90"
    2869             :     end procedure
    2870             : #endif
    2871             : 
    2872             : #if SK1_ENABLED
    2873         132 :     module procedure getReplacedCusComCusIns_D0_D0_D0_SK1
    2874             :         use pm_kind, only: SKC => SK1
    2875             : #include "pm_arrayReplace@routines.inc.F90"
    2876         264 :     end procedure
    2877             : #endif
    2878             : 
    2879             : #undef SK_ENABLED
    2880             : 
    2881             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2882             : 
    2883             : #undef D0_D0_D0_ENABLED
    2884             : 
    2885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2887             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2888             : 
    2889             : #define D1_D0_D0_ENABLED 1
    2890             : 
    2891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2892             : 
    2893             : #define SK_ENABLED 1
    2894             : 
    2895             : #if SK5_ENABLED
    2896             :     module procedure getReplacedCusComCusIns_D1_D0_D0_SK5
    2897             :         use pm_kind, only: SKC => SK5
    2898             : #include "pm_arrayReplace@routines.inc.F90"
    2899             :     end procedure
    2900             : #endif
    2901             : 
    2902             : #if SK4_ENABLED
    2903             :     module procedure getReplacedCusComCusIns_D1_D0_D0_SK4
    2904             :         use pm_kind, only: SKC => SK4
    2905             : #include "pm_arrayReplace@routines.inc.F90"
    2906             :     end procedure
    2907             : #endif
    2908             : 
    2909             : #if SK3_ENABLED
    2910             :     module procedure getReplacedCusComCusIns_D1_D0_D0_SK3
    2911             :         use pm_kind, only: SKC => SK3
    2912             : #include "pm_arrayReplace@routines.inc.F90"
    2913             :     end procedure
    2914             : #endif
    2915             : 
    2916             : #if SK2_ENABLED
    2917             :     module procedure getReplacedCusComCusIns_D1_D0_D0_SK2
    2918             :         use pm_kind, only: SKC => SK2
    2919             : #include "pm_arrayReplace@routines.inc.F90"
    2920             :     end procedure
    2921             : #endif
    2922             : 
    2923             : #if SK1_ENABLED
    2924         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_SK1
    2925             :         use pm_kind, only: SKC => SK1
    2926             : #include "pm_arrayReplace@routines.inc.F90"
    2927         180 :     end procedure
    2928             : #endif
    2929             : 
    2930             : #undef SK_ENABLED
    2931             : 
    2932             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2933             : 
    2934             : #define IK_ENABLED 1
    2935             : 
    2936             : #if IK5_ENABLED
    2937         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_IK5
    2938             :         use pm_kind, only: IKC => IK5
    2939             : #include "pm_arrayReplace@routines.inc.F90"
    2940             :     end procedure
    2941             : #endif
    2942             : 
    2943             : #if IK4_ENABLED
    2944         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_IK4
    2945             :         use pm_kind, only: IKC => IK4
    2946             : #include "pm_arrayReplace@routines.inc.F90"
    2947             :     end procedure
    2948             : #endif
    2949             : 
    2950             : #if IK3_ENABLED
    2951         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_IK3
    2952             :         use pm_kind, only: IKC => IK3
    2953             : #include "pm_arrayReplace@routines.inc.F90"
    2954             :     end procedure
    2955             : #endif
    2956             : 
    2957             : #if IK2_ENABLED
    2958         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_IK2
    2959             :         use pm_kind, only: IKC => IK2
    2960             : #include "pm_arrayReplace@routines.inc.F90"
    2961             :     end procedure
    2962             : #endif
    2963             : 
    2964             : #if IK1_ENABLED
    2965         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_IK1
    2966             :         use pm_kind, only: IKC => IK1
    2967             : #include "pm_arrayReplace@routines.inc.F90"
    2968             :     end procedure
    2969             : #endif
    2970             : 
    2971             : #undef IK_ENABLED
    2972             : 
    2973             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2974             : 
    2975             : #define LK_ENABLED 1
    2976             : 
    2977             : #if LK5_ENABLED
    2978         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_LK5
    2979             :         use pm_kind, only: LKC => LK5
    2980             : #include "pm_arrayReplace@routines.inc.F90"
    2981             :     end procedure
    2982             : #endif
    2983             : 
    2984             : #if LK4_ENABLED
    2985         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_LK4
    2986             :         use pm_kind, only: LKC => LK4
    2987             : #include "pm_arrayReplace@routines.inc.F90"
    2988             :     end procedure
    2989             : #endif
    2990             : 
    2991             : #if LK3_ENABLED
    2992         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_LK3
    2993             :         use pm_kind, only: LKC => LK3
    2994             : #include "pm_arrayReplace@routines.inc.F90"
    2995             :     end procedure
    2996             : #endif
    2997             : 
    2998             : #if LK2_ENABLED
    2999         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_LK2
    3000             :         use pm_kind, only: LKC => LK2
    3001             : #include "pm_arrayReplace@routines.inc.F90"
    3002             :     end procedure
    3003             : #endif
    3004             : 
    3005             : #if LK1_ENABLED
    3006         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_LK1
    3007             :         use pm_kind, only: LKC => LK1
    3008             : #include "pm_arrayReplace@routines.inc.F90"
    3009             :     end procedure
    3010             : #endif
    3011             : 
    3012             : #undef LK_ENABLED
    3013             : 
    3014             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3015             : 
    3016             : #define CK_ENABLED 1
    3017             : 
    3018             : #if CK5_ENABLED
    3019             :     module procedure getReplacedCusComCusIns_D1_D0_D0_CK5
    3020             :         use pm_kind, only: CKC => CK5
    3021             : #include "pm_arrayReplace@routines.inc.F90"
    3022             :     end procedure
    3023             : #endif
    3024             : 
    3025             : #if CK4_ENABLED
    3026         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_CK4
    3027             :         use pm_kind, only: CKC => CK4
    3028             : #include "pm_arrayReplace@routines.inc.F90"
    3029             :     end procedure
    3030             : #endif
    3031             : 
    3032             : #if CK3_ENABLED
    3033         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_CK3
    3034             :         use pm_kind, only: CKC => CK3
    3035             : #include "pm_arrayReplace@routines.inc.F90"
    3036             :     end procedure
    3037             : #endif
    3038             : 
    3039             : #if CK2_ENABLED
    3040         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_CK2
    3041             :         use pm_kind, only: CKC => CK2
    3042             : #include "pm_arrayReplace@routines.inc.F90"
    3043             :     end procedure
    3044             : #endif
    3045             : 
    3046             : #if CK1_ENABLED
    3047         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_CK1
    3048             :         use pm_kind, only: CKC => CK1
    3049             : #include "pm_arrayReplace@routines.inc.F90"
    3050             :     end procedure
    3051             : #endif
    3052             : 
    3053             : #undef CK_ENABLED
    3054             : 
    3055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3056             : 
    3057             : #define RK_ENABLED 1
    3058             : 
    3059             : #if RK5_ENABLED
    3060             :     module procedure getReplacedCusComCusIns_D1_D0_D0_RK5
    3061             :         use pm_kind, only: RKC => RK5
    3062             : #include "pm_arrayReplace@routines.inc.F90"
    3063             :     end procedure
    3064             : #endif
    3065             : 
    3066             : #if RK4_ENABLED
    3067         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_RK4
    3068             :         use pm_kind, only: RKC => RK4
    3069             : #include "pm_arrayReplace@routines.inc.F90"
    3070             :     end procedure
    3071             : #endif
    3072             : 
    3073             : #if RK3_ENABLED
    3074         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_RK3
    3075             :         use pm_kind, only: RKC => RK3
    3076             : #include "pm_arrayReplace@routines.inc.F90"
    3077             :     end procedure
    3078             : #endif
    3079             : 
    3080             : #if RK2_ENABLED
    3081         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_RK2
    3082             :         use pm_kind, only: RKC => RK2
    3083             : #include "pm_arrayReplace@routines.inc.F90"
    3084             :     end procedure
    3085             : #endif
    3086             : 
    3087             : #if RK1_ENABLED
    3088         180 :     module procedure getReplacedCusComCusIns_D1_D0_D0_RK1
    3089             :         use pm_kind, only: RKC => RK1
    3090             : #include "pm_arrayReplace@routines.inc.F90"
    3091             :     end procedure
    3092             : #endif
    3093             : 
    3094             : #undef RK_ENABLED
    3095             : 
    3096             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3097             : 
    3098             : #undef D1_D0_D0_ENABLED
    3099             : 
    3100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3103             : 
    3104             : #define D1_D0_D1_ENABLED 1
    3105             : 
    3106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3107             : 
    3108             : #define SK_ENABLED 1
    3109             : 
    3110             : #if SK5_ENABLED
    3111             :     module procedure getReplacedCusComCusIns_D1_D0_D1_SK5
    3112             :         use pm_kind, only: SKC => SK5
    3113             : #include "pm_arrayReplace@routines.inc.F90"
    3114             :     end procedure
    3115             : #endif
    3116             : 
    3117             : #if SK4_ENABLED
    3118             :     module procedure getReplacedCusComCusIns_D1_D0_D1_SK4
    3119             :         use pm_kind, only: SKC => SK4
    3120             : #include "pm_arrayReplace@routines.inc.F90"
    3121             :     end procedure
    3122             : #endif
    3123             : 
    3124             : #if SK3_ENABLED
    3125             :     module procedure getReplacedCusComCusIns_D1_D0_D1_SK3
    3126             :         use pm_kind, only: SKC => SK3
    3127             : #include "pm_arrayReplace@routines.inc.F90"
    3128             :     end procedure
    3129             : #endif
    3130             : 
    3131             : #if SK2_ENABLED
    3132             :     module procedure getReplacedCusComCusIns_D1_D0_D1_SK2
    3133             :         use pm_kind, only: SKC => SK2
    3134             : #include "pm_arrayReplace@routines.inc.F90"
    3135             :     end procedure
    3136             : #endif
    3137             : 
    3138             : #if SK1_ENABLED
    3139         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_SK1
    3140             :         use pm_kind, only: SKC => SK1
    3141             : #include "pm_arrayReplace@routines.inc.F90"
    3142             :     end procedure
    3143             : #endif
    3144             : 
    3145             : #undef SK_ENABLED
    3146             : 
    3147             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3148             : 
    3149             : #define IK_ENABLED 1
    3150             : 
    3151             : #if IK5_ENABLED
    3152         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_IK5
    3153             :         use pm_kind, only: IKC => IK5
    3154             : #include "pm_arrayReplace@routines.inc.F90"
    3155             :     end procedure
    3156             : #endif
    3157             : 
    3158             : #if IK4_ENABLED
    3159         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_IK4
    3160             :         use pm_kind, only: IKC => IK4
    3161             : #include "pm_arrayReplace@routines.inc.F90"
    3162             :     end procedure
    3163             : #endif
    3164             : 
    3165             : #if IK3_ENABLED
    3166         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_IK3
    3167             :         use pm_kind, only: IKC => IK3
    3168             : #include "pm_arrayReplace@routines.inc.F90"
    3169             :     end procedure
    3170             : #endif
    3171             : 
    3172             : #if IK2_ENABLED
    3173         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_IK2
    3174             :         use pm_kind, only: IKC => IK2
    3175             : #include "pm_arrayReplace@routines.inc.F90"
    3176             :     end procedure
    3177             : #endif
    3178             : 
    3179             : #if IK1_ENABLED
    3180         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_IK1
    3181             :         use pm_kind, only: IKC => IK1
    3182             : #include "pm_arrayReplace@routines.inc.F90"
    3183             :     end procedure
    3184             : #endif
    3185             : 
    3186             : #undef IK_ENABLED
    3187             : 
    3188             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3189             : 
    3190             : #define LK_ENABLED 1
    3191             : 
    3192             : #if LK5_ENABLED
    3193         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_LK5
    3194             :         use pm_kind, only: LKC => LK5
    3195             : #include "pm_arrayReplace@routines.inc.F90"
    3196             :     end procedure
    3197             : #endif
    3198             : 
    3199             : #if LK4_ENABLED
    3200         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_LK4
    3201             :         use pm_kind, only: LKC => LK4
    3202             : #include "pm_arrayReplace@routines.inc.F90"
    3203             :     end procedure
    3204             : #endif
    3205             : 
    3206             : #if LK3_ENABLED
    3207         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_LK3
    3208             :         use pm_kind, only: LKC => LK3
    3209             : #include "pm_arrayReplace@routines.inc.F90"
    3210             :     end procedure
    3211             : #endif
    3212             : 
    3213             : #if LK2_ENABLED
    3214         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_LK2
    3215             :         use pm_kind, only: LKC => LK2
    3216             : #include "pm_arrayReplace@routines.inc.F90"
    3217             :     end procedure
    3218             : #endif
    3219             : 
    3220             : #if LK1_ENABLED
    3221         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_LK1
    3222             :         use pm_kind, only: LKC => LK1
    3223             : #include "pm_arrayReplace@routines.inc.F90"
    3224             :     end procedure
    3225             : #endif
    3226             : 
    3227             : #undef LK_ENABLED
    3228             : 
    3229             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3230             : 
    3231             : #define CK_ENABLED 1
    3232             : 
    3233             : #if CK5_ENABLED
    3234             :     module procedure getReplacedCusComCusIns_D1_D0_D1_CK5
    3235             :         use pm_kind, only: CKC => CK5
    3236             : #include "pm_arrayReplace@routines.inc.F90"
    3237             :     end procedure
    3238             : #endif
    3239             : 
    3240             : #if CK4_ENABLED
    3241         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_CK4
    3242             :         use pm_kind, only: CKC => CK4
    3243             : #include "pm_arrayReplace@routines.inc.F90"
    3244             :     end procedure
    3245             : #endif
    3246             : 
    3247             : #if CK3_ENABLED
    3248         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_CK3
    3249             :         use pm_kind, only: CKC => CK3
    3250             : #include "pm_arrayReplace@routines.inc.F90"
    3251             :     end procedure
    3252             : #endif
    3253             : 
    3254             : #if CK2_ENABLED
    3255         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_CK2
    3256             :         use pm_kind, only: CKC => CK2
    3257             : #include "pm_arrayReplace@routines.inc.F90"
    3258             :     end procedure
    3259             : #endif
    3260             : 
    3261             : #if CK1_ENABLED
    3262         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_CK1
    3263             :         use pm_kind, only: CKC => CK1
    3264             : #include "pm_arrayReplace@routines.inc.F90"
    3265             :     end procedure
    3266             : #endif
    3267             : 
    3268             : #undef CK_ENABLED
    3269             : 
    3270             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3271             : 
    3272             : #define RK_ENABLED 1
    3273             : 
    3274             : #if RK5_ENABLED
    3275             :     module procedure getReplacedCusComCusIns_D1_D0_D1_RK5
    3276             :         use pm_kind, only: RKC => RK5
    3277             : #include "pm_arrayReplace@routines.inc.F90"
    3278             :     end procedure
    3279             : #endif
    3280             : 
    3281             : #if RK4_ENABLED
    3282         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_RK4
    3283             :         use pm_kind, only: RKC => RK4
    3284             : #include "pm_arrayReplace@routines.inc.F90"
    3285             :     end procedure
    3286             : #endif
    3287             : 
    3288             : #if RK3_ENABLED
    3289         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_RK3
    3290             :         use pm_kind, only: RKC => RK3
    3291             : #include "pm_arrayReplace@routines.inc.F90"
    3292             :     end procedure
    3293             : #endif
    3294             : 
    3295             : #if RK2_ENABLED
    3296         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_RK2
    3297             :         use pm_kind, only: RKC => RK2
    3298             : #include "pm_arrayReplace@routines.inc.F90"
    3299             :     end procedure
    3300             : #endif
    3301             : 
    3302             : #if RK1_ENABLED
    3303         180 :     module procedure getReplacedCusComCusIns_D1_D0_D1_RK1
    3304             :         use pm_kind, only: RKC => RK1
    3305             : #include "pm_arrayReplace@routines.inc.F90"
    3306             :     end procedure
    3307             : #endif
    3308             : 
    3309             : #undef RK_ENABLED
    3310             : 
    3311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3312             : 
    3313             : #undef D1_D0_D1_ENABLED
    3314             : 
    3315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3318             : 
    3319             : #define D1_D1_D0_ENABLED 1
    3320             : 
    3321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3322             : 
    3323             : #define SK_ENABLED 1
    3324             : 
    3325             : #if SK5_ENABLED
    3326             :     module procedure getReplacedCusComCusIns_D1_D1_D0_SK5
    3327             :         use pm_kind, only: SKC => SK5
    3328             : #include "pm_arrayReplace@routines.inc.F90"
    3329             :     end procedure
    3330             : #endif
    3331             : 
    3332             : #if SK4_ENABLED
    3333             :     module procedure getReplacedCusComCusIns_D1_D1_D0_SK4
    3334             :         use pm_kind, only: SKC => SK4
    3335             : #include "pm_arrayReplace@routines.inc.F90"
    3336             :     end procedure
    3337             : #endif
    3338             : 
    3339             : #if SK3_ENABLED
    3340             :     module procedure getReplacedCusComCusIns_D1_D1_D0_SK3
    3341             :         use pm_kind, only: SKC => SK3
    3342             : #include "pm_arrayReplace@routines.inc.F90"
    3343             :     end procedure
    3344             : #endif
    3345             : 
    3346             : #if SK2_ENABLED
    3347             :     module procedure getReplacedCusComCusIns_D1_D1_D0_SK2
    3348             :         use pm_kind, only: SKC => SK2
    3349             : #include "pm_arrayReplace@routines.inc.F90"
    3350             :     end procedure
    3351             : #endif
    3352             : 
    3353             : #if SK1_ENABLED
    3354         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_SK1
    3355             :         use pm_kind, only: SKC => SK1
    3356             : #include "pm_arrayReplace@routines.inc.F90"
    3357         180 :     end procedure
    3358             : #endif
    3359             : 
    3360             : #undef SK_ENABLED
    3361             : 
    3362             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3363             : 
    3364             : #define IK_ENABLED 1
    3365             : 
    3366             : #if IK5_ENABLED
    3367         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_IK5
    3368             :         use pm_kind, only: IKC => IK5
    3369             : #include "pm_arrayReplace@routines.inc.F90"
    3370             :     end procedure
    3371             : #endif
    3372             : 
    3373             : #if IK4_ENABLED
    3374         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_IK4
    3375             :         use pm_kind, only: IKC => IK4
    3376             : #include "pm_arrayReplace@routines.inc.F90"
    3377             :     end procedure
    3378             : #endif
    3379             : 
    3380             : #if IK3_ENABLED
    3381         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_IK3
    3382             :         use pm_kind, only: IKC => IK3
    3383             : #include "pm_arrayReplace@routines.inc.F90"
    3384             :     end procedure
    3385             : #endif
    3386             : 
    3387             : #if IK2_ENABLED
    3388         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_IK2
    3389             :         use pm_kind, only: IKC => IK2
    3390             : #include "pm_arrayReplace@routines.inc.F90"
    3391             :     end procedure
    3392             : #endif
    3393             : 
    3394             : #if IK1_ENABLED
    3395         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_IK1
    3396             :         use pm_kind, only: IKC => IK1
    3397             : #include "pm_arrayReplace@routines.inc.F90"
    3398             :     end procedure
    3399             : #endif
    3400             : 
    3401             : #undef IK_ENABLED
    3402             : 
    3403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3404             : 
    3405             : #define LK_ENABLED 1
    3406             : 
    3407             : #if LK5_ENABLED
    3408         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_LK5
    3409             :         use pm_kind, only: LKC => LK5
    3410             : #include "pm_arrayReplace@routines.inc.F90"
    3411             :     end procedure
    3412             : #endif
    3413             : 
    3414             : #if LK4_ENABLED
    3415         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_LK4
    3416             :         use pm_kind, only: LKC => LK4
    3417             : #include "pm_arrayReplace@routines.inc.F90"
    3418             :     end procedure
    3419             : #endif
    3420             : 
    3421             : #if LK3_ENABLED
    3422         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_LK3
    3423             :         use pm_kind, only: LKC => LK3
    3424             : #include "pm_arrayReplace@routines.inc.F90"
    3425             :     end procedure
    3426             : #endif
    3427             : 
    3428             : #if LK2_ENABLED
    3429         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_LK2
    3430             :         use pm_kind, only: LKC => LK2
    3431             : #include "pm_arrayReplace@routines.inc.F90"
    3432             :     end procedure
    3433             : #endif
    3434             : 
    3435             : #if LK1_ENABLED
    3436         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_LK1
    3437             :         use pm_kind, only: LKC => LK1
    3438             : #include "pm_arrayReplace@routines.inc.F90"
    3439             :     end procedure
    3440             : #endif
    3441             : 
    3442             : #undef LK_ENABLED
    3443             : 
    3444             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3445             : 
    3446             : #define CK_ENABLED 1
    3447             : 
    3448             : #if CK5_ENABLED
    3449             :     module procedure getReplacedCusComCusIns_D1_D1_D0_CK5
    3450             :         use pm_kind, only: CKC => CK5
    3451             : #include "pm_arrayReplace@routines.inc.F90"
    3452             :     end procedure
    3453             : #endif
    3454             : 
    3455             : #if CK4_ENABLED
    3456         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_CK4
    3457             :         use pm_kind, only: CKC => CK4
    3458             : #include "pm_arrayReplace@routines.inc.F90"
    3459             :     end procedure
    3460             : #endif
    3461             : 
    3462             : #if CK3_ENABLED
    3463         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_CK3
    3464             :         use pm_kind, only: CKC => CK3
    3465             : #include "pm_arrayReplace@routines.inc.F90"
    3466             :     end procedure
    3467             : #endif
    3468             : 
    3469             : #if CK2_ENABLED
    3470         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_CK2
    3471             :         use pm_kind, only: CKC => CK2
    3472             : #include "pm_arrayReplace@routines.inc.F90"
    3473             :     end procedure
    3474             : #endif
    3475             : 
    3476             : #if CK1_ENABLED
    3477         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_CK1
    3478             :         use pm_kind, only: CKC => CK1
    3479             : #include "pm_arrayReplace@routines.inc.F90"
    3480             :     end procedure
    3481             : #endif
    3482             : 
    3483             : #undef CK_ENABLED
    3484             : 
    3485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3486             : 
    3487             : #define RK_ENABLED 1
    3488             : 
    3489             : #if RK5_ENABLED
    3490             :     module procedure getReplacedCusComCusIns_D1_D1_D0_RK5
    3491             :         use pm_kind, only: RKC => RK5
    3492             : #include "pm_arrayReplace@routines.inc.F90"
    3493             :     end procedure
    3494             : #endif
    3495             : 
    3496             : #if RK4_ENABLED
    3497         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_RK4
    3498             :         use pm_kind, only: RKC => RK4
    3499             : #include "pm_arrayReplace@routines.inc.F90"
    3500             :     end procedure
    3501             : #endif
    3502             : 
    3503             : #if RK3_ENABLED
    3504         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_RK3
    3505             :         use pm_kind, only: RKC => RK3
    3506             : #include "pm_arrayReplace@routines.inc.F90"
    3507             :     end procedure
    3508             : #endif
    3509             : 
    3510             : #if RK2_ENABLED
    3511         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_RK2
    3512             :         use pm_kind, only: RKC => RK2
    3513             : #include "pm_arrayReplace@routines.inc.F90"
    3514             :     end procedure
    3515             : #endif
    3516             : 
    3517             : #if RK1_ENABLED
    3518         180 :     module procedure getReplacedCusComCusIns_D1_D1_D0_RK1
    3519             :         use pm_kind, only: RKC => RK1
    3520             : #include "pm_arrayReplace@routines.inc.F90"
    3521             :     end procedure
    3522             : #endif
    3523             : 
    3524             : #undef RK_ENABLED
    3525             : 
    3526             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3527             : 
    3528             : #undef D1_D1_D0_ENABLED
    3529             : 
    3530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3533             : 
    3534             : #define D1_D1_D1_ENABLED 1
    3535             : 
    3536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3537             : 
    3538             : #define SK_ENABLED 1
    3539             : 
    3540             : #if SK5_ENABLED
    3541             :     module procedure getReplacedCusComCusIns_D1_D1_D1_SK5
    3542             :         use pm_kind, only: SKC => SK5
    3543             : #include "pm_arrayReplace@routines.inc.F90"
    3544             :     end procedure
    3545             : #endif
    3546             : 
    3547             : #if SK4_ENABLED
    3548             :     module procedure getReplacedCusComCusIns_D1_D1_D1_SK4
    3549             :         use pm_kind, only: SKC => SK4
    3550             : #include "pm_arrayReplace@routines.inc.F90"
    3551             :     end procedure
    3552             : #endif
    3553             : 
    3554             : #if SK3_ENABLED
    3555             :     module procedure getReplacedCusComCusIns_D1_D1_D1_SK3
    3556             :         use pm_kind, only: SKC => SK3
    3557             : #include "pm_arrayReplace@routines.inc.F90"
    3558             :     end procedure
    3559             : #endif
    3560             : 
    3561             : #if SK2_ENABLED
    3562             :     module procedure getReplacedCusComCusIns_D1_D1_D1_SK2
    3563             :         use pm_kind, only: SKC => SK2
    3564             : #include "pm_arrayReplace@routines.inc.F90"
    3565             :     end procedure
    3566             : #endif
    3567             : 
    3568             : #if SK1_ENABLED
    3569        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_SK1
    3570             :         use pm_kind, only: SKC => SK1
    3571             : #include "pm_arrayReplace@routines.inc.F90"
    3572             :     end procedure
    3573             : #endif
    3574             : 
    3575             : #undef SK_ENABLED
    3576             : 
    3577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3578             : 
    3579             : #define IK_ENABLED 1
    3580             : 
    3581             : #if IK5_ENABLED
    3582        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_IK5
    3583             :         use pm_kind, only: IKC => IK5
    3584             : #include "pm_arrayReplace@routines.inc.F90"
    3585             :     end procedure
    3586             : #endif
    3587             : 
    3588             : #if IK4_ENABLED
    3589        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_IK4
    3590             :         use pm_kind, only: IKC => IK4
    3591             : #include "pm_arrayReplace@routines.inc.F90"
    3592             :     end procedure
    3593             : #endif
    3594             : 
    3595             : #if IK3_ENABLED
    3596        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_IK3
    3597             :         use pm_kind, only: IKC => IK3
    3598             : #include "pm_arrayReplace@routines.inc.F90"
    3599             :     end procedure
    3600             : #endif
    3601             : 
    3602             : #if IK2_ENABLED
    3603        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_IK2
    3604             :         use pm_kind, only: IKC => IK2
    3605             : #include "pm_arrayReplace@routines.inc.F90"
    3606             :     end procedure
    3607             : #endif
    3608             : 
    3609             : #if IK1_ENABLED
    3610        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_IK1
    3611             :         use pm_kind, only: IKC => IK1
    3612             : #include "pm_arrayReplace@routines.inc.F90"
    3613             :     end procedure
    3614             : #endif
    3615             : 
    3616             : #undef IK_ENABLED
    3617             : 
    3618             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3619             : 
    3620             : #define LK_ENABLED 1
    3621             : 
    3622             : #if LK5_ENABLED
    3623        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_LK5
    3624             :         use pm_kind, only: LKC => LK5
    3625             : #include "pm_arrayReplace@routines.inc.F90"
    3626             :     end procedure
    3627             : #endif
    3628             : 
    3629             : #if LK4_ENABLED
    3630        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_LK4
    3631             :         use pm_kind, only: LKC => LK4
    3632             : #include "pm_arrayReplace@routines.inc.F90"
    3633             :     end procedure
    3634             : #endif
    3635             : 
    3636             : #if LK3_ENABLED
    3637        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_LK3
    3638             :         use pm_kind, only: LKC => LK3
    3639             : #include "pm_arrayReplace@routines.inc.F90"
    3640             :     end procedure
    3641             : #endif
    3642             : 
    3643             : #if LK2_ENABLED
    3644        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_LK2
    3645             :         use pm_kind, only: LKC => LK2
    3646             : #include "pm_arrayReplace@routines.inc.F90"
    3647             :     end procedure
    3648             : #endif
    3649             : 
    3650             : #if LK1_ENABLED
    3651        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_LK1
    3652             :         use pm_kind, only: LKC => LK1
    3653             : #include "pm_arrayReplace@routines.inc.F90"
    3654             :     end procedure
    3655             : #endif
    3656             : 
    3657             : #undef LK_ENABLED
    3658             : 
    3659             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3660             : 
    3661             : #define CK_ENABLED 1
    3662             : 
    3663             : #if CK5_ENABLED
    3664             :     module procedure getReplacedCusComCusIns_D1_D1_D1_CK5
    3665             :         use pm_kind, only: CKC => CK5
    3666             : #include "pm_arrayReplace@routines.inc.F90"
    3667             :     end procedure
    3668             : #endif
    3669             : 
    3670             : #if CK4_ENABLED
    3671        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_CK4
    3672             :         use pm_kind, only: CKC => CK4
    3673             : #include "pm_arrayReplace@routines.inc.F90"
    3674             :     end procedure
    3675             : #endif
    3676             : 
    3677             : #if CK3_ENABLED
    3678        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_CK3
    3679             :         use pm_kind, only: CKC => CK3
    3680             : #include "pm_arrayReplace@routines.inc.F90"
    3681             :     end procedure
    3682             : #endif
    3683             : 
    3684             : #if CK2_ENABLED
    3685        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_CK2
    3686             :         use pm_kind, only: CKC => CK2
    3687             : #include "pm_arrayReplace@routines.inc.F90"
    3688             :     end procedure
    3689             : #endif
    3690             : 
    3691             : #if CK1_ENABLED
    3692        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_CK1
    3693             :         use pm_kind, only: CKC => CK1
    3694             : #include "pm_arrayReplace@routines.inc.F90"
    3695             :     end procedure
    3696             : #endif
    3697             : 
    3698             : #undef CK_ENABLED
    3699             : 
    3700             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3701             : 
    3702             : #define RK_ENABLED 1
    3703             : 
    3704             : #if RK5_ENABLED
    3705             :     module procedure getReplacedCusComCusIns_D1_D1_D1_RK5
    3706             :         use pm_kind, only: RKC => RK5
    3707             : #include "pm_arrayReplace@routines.inc.F90"
    3708             :     end procedure
    3709             : #endif
    3710             : 
    3711             : #if RK4_ENABLED
    3712        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_RK4
    3713             :         use pm_kind, only: RKC => RK4
    3714             : #include "pm_arrayReplace@routines.inc.F90"
    3715             :     end procedure
    3716             : #endif
    3717             : 
    3718             : #if RK3_ENABLED
    3719        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_RK3
    3720             :         use pm_kind, only: RKC => RK3
    3721             : #include "pm_arrayReplace@routines.inc.F90"
    3722             :     end procedure
    3723             : #endif
    3724             : 
    3725             : #if RK2_ENABLED
    3726        1213 :     module procedure getReplacedCusComCusIns_D1_D1_D1_RK2
    3727             :         use pm_kind, only: RKC => RK2
    3728             : #include "pm_arrayReplace@routines.inc.F90"
    3729             :     end procedure
    3730             : #endif
    3731             : 
    3732             : #if RK1_ENABLED
    3733        1212 :     module procedure getReplacedCusComCusIns_D1_D1_D1_RK1
    3734             :         use pm_kind, only: RKC => RK1
    3735             : #include "pm_arrayReplace@routines.inc.F90"
    3736             :     end procedure
    3737             : #endif
    3738             : 
    3739             : #undef RK_ENABLED
    3740             : 
    3741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3742             : 
    3743             : #undef D1_D1_D1_ENABLED
    3744             : 
    3745             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3748             : 
    3749             : #undef CusCom_ENABLED
    3750             : #undef CusIns_ENABLED
    3751             : 
    3752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3754             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3755             : 
    3756             : #undef getReplaced_ENABLED
    3757             : 
    3758             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3759             : 
    3760             : #define setReplaced_ENABLED 1
    3761             : 
    3762             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3765             : 
    3766             : #define DefCom_ENABLED 1
    3767             : #define DefIns_ENABLED 1
    3768             : 
    3769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3771             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3772             : 
    3773             : #define D0_D0_D0_ENABLED 1
    3774             : 
    3775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3776             : 
    3777             : #define SK_ENABLED 1
    3778             : 
    3779             : #if SK5_ENABLED
    3780             :     module procedure setReplacedDefComDefIns_D0_D0_D0_SK5
    3781             :         use pm_kind, only: SKC => SK5
    3782             : #include "pm_arrayReplace@routines.inc.F90"
    3783             :     end procedure
    3784             : #endif
    3785             : 
    3786             : #if SK4_ENABLED
    3787             :     module procedure setReplacedDefComDefIns_D0_D0_D0_SK4
    3788             :         use pm_kind, only: SKC => SK4
    3789             : #include "pm_arrayReplace@routines.inc.F90"
    3790             :     end procedure
    3791             : #endif
    3792             : 
    3793             : #if SK3_ENABLED
    3794             :     module procedure setReplacedDefComDefIns_D0_D0_D0_SK3
    3795             :         use pm_kind, only: SKC => SK3
    3796             : #include "pm_arrayReplace@routines.inc.F90"
    3797             :     end procedure
    3798             : #endif
    3799             : 
    3800             : #if SK2_ENABLED
    3801             :     module procedure setReplacedDefComDefIns_D0_D0_D0_SK2
    3802             :         use pm_kind, only: SKC => SK2
    3803             : #include "pm_arrayReplace@routines.inc.F90"
    3804             :     end procedure
    3805             : #endif
    3806             : 
    3807             : #if SK1_ENABLED
    3808          11 :     module procedure setReplacedDefComDefIns_D0_D0_D0_SK1
    3809             :         use pm_kind, only: SKC => SK1
    3810             : #include "pm_arrayReplace@routines.inc.F90"
    3811          11 :     end procedure
    3812             : #endif
    3813             : 
    3814             : #undef SK_ENABLED
    3815             : 
    3816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3817             : 
    3818             : #undef D0_D0_D0_ENABLED
    3819             : 
    3820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3823             : 
    3824             : #define D1_D0_D0_ENABLED 1
    3825             : 
    3826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3827             : 
    3828             : #define SK_ENABLED 1
    3829             : 
    3830             : #if SK5_ENABLED
    3831             :     module procedure setReplacedDefComDefIns_D1_D0_D0_SK5
    3832             :         use pm_kind, only: SKC => SK5
    3833             : #include "pm_arrayReplace@routines.inc.F90"
    3834             :     end procedure
    3835             : #endif
    3836             : 
    3837             : #if SK4_ENABLED
    3838             :     module procedure setReplacedDefComDefIns_D1_D0_D0_SK4
    3839             :         use pm_kind, only: SKC => SK4
    3840             : #include "pm_arrayReplace@routines.inc.F90"
    3841             :     end procedure
    3842             : #endif
    3843             : 
    3844             : #if SK3_ENABLED
    3845             :     module procedure setReplacedDefComDefIns_D1_D0_D0_SK3
    3846             :         use pm_kind, only: SKC => SK3
    3847             : #include "pm_arrayReplace@routines.inc.F90"
    3848             :     end procedure
    3849             : #endif
    3850             : 
    3851             : #if SK2_ENABLED
    3852             :     module procedure setReplacedDefComDefIns_D1_D0_D0_SK2
    3853             :         use pm_kind, only: SKC => SK2
    3854             : #include "pm_arrayReplace@routines.inc.F90"
    3855             :     end procedure
    3856             : #endif
    3857             : 
    3858             : #if SK1_ENABLED
    3859          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_SK1
    3860             :         use pm_kind, only: SKC => SK1
    3861             : #include "pm_arrayReplace@routines.inc.F90"
    3862          20 :     end procedure
    3863             : #endif
    3864             : 
    3865             : #undef SK_ENABLED
    3866             : 
    3867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3868             : 
    3869             : #define IK_ENABLED 1
    3870             : 
    3871             : #if IK5_ENABLED
    3872          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_IK5
    3873             :         use pm_kind, only: IKC => IK5
    3874             : #include "pm_arrayReplace@routines.inc.F90"
    3875             :     end procedure
    3876             : #endif
    3877             : 
    3878             : #if IK4_ENABLED
    3879          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_IK4
    3880             :         use pm_kind, only: IKC => IK4
    3881             : #include "pm_arrayReplace@routines.inc.F90"
    3882             :     end procedure
    3883             : #endif
    3884             : 
    3885             : #if IK3_ENABLED
    3886          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_IK3
    3887             :         use pm_kind, only: IKC => IK3
    3888             : #include "pm_arrayReplace@routines.inc.F90"
    3889             :     end procedure
    3890             : #endif
    3891             : 
    3892             : #if IK2_ENABLED
    3893          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_IK2
    3894             :         use pm_kind, only: IKC => IK2
    3895             : #include "pm_arrayReplace@routines.inc.F90"
    3896             :     end procedure
    3897             : #endif
    3898             : 
    3899             : #if IK1_ENABLED
    3900          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_IK1
    3901             :         use pm_kind, only: IKC => IK1
    3902             : #include "pm_arrayReplace@routines.inc.F90"
    3903             :     end procedure
    3904             : #endif
    3905             : 
    3906             : #undef IK_ENABLED
    3907             : 
    3908             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3909             : 
    3910             : #define LK_ENABLED 1
    3911             : 
    3912             : #if LK5_ENABLED
    3913          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_LK5
    3914             :         use pm_kind, only: LKC => LK5
    3915             : #include "pm_arrayReplace@routines.inc.F90"
    3916             :     end procedure
    3917             : #endif
    3918             : 
    3919             : #if LK4_ENABLED
    3920          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_LK4
    3921             :         use pm_kind, only: LKC => LK4
    3922             : #include "pm_arrayReplace@routines.inc.F90"
    3923             :     end procedure
    3924             : #endif
    3925             : 
    3926             : #if LK3_ENABLED
    3927          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_LK3
    3928             :         use pm_kind, only: LKC => LK3
    3929             : #include "pm_arrayReplace@routines.inc.F90"
    3930             :     end procedure
    3931             : #endif
    3932             : 
    3933             : #if LK2_ENABLED
    3934          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_LK2
    3935             :         use pm_kind, only: LKC => LK2
    3936             : #include "pm_arrayReplace@routines.inc.F90"
    3937             :     end procedure
    3938             : #endif
    3939             : 
    3940             : #if LK1_ENABLED
    3941          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_LK1
    3942             :         use pm_kind, only: LKC => LK1
    3943             : #include "pm_arrayReplace@routines.inc.F90"
    3944             :     end procedure
    3945             : #endif
    3946             : 
    3947             : #undef LK_ENABLED
    3948             : 
    3949             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3950             : 
    3951             : #define CK_ENABLED 1
    3952             : 
    3953             : #if CK5_ENABLED
    3954             :     module procedure setReplacedDefComDefIns_D1_D0_D0_CK5
    3955             :         use pm_kind, only: CKC => CK5
    3956             : #include "pm_arrayReplace@routines.inc.F90"
    3957             :     end procedure
    3958             : #endif
    3959             : 
    3960             : #if CK4_ENABLED
    3961          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_CK4
    3962             :         use pm_kind, only: CKC => CK4
    3963             : #include "pm_arrayReplace@routines.inc.F90"
    3964             :     end procedure
    3965             : #endif
    3966             : 
    3967             : #if CK3_ENABLED
    3968          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_CK3
    3969             :         use pm_kind, only: CKC => CK3
    3970             : #include "pm_arrayReplace@routines.inc.F90"
    3971             :     end procedure
    3972             : #endif
    3973             : 
    3974             : #if CK2_ENABLED
    3975          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_CK2
    3976             :         use pm_kind, only: CKC => CK2
    3977             : #include "pm_arrayReplace@routines.inc.F90"
    3978             :     end procedure
    3979             : #endif
    3980             : 
    3981             : #if CK1_ENABLED
    3982          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_CK1
    3983             :         use pm_kind, only: CKC => CK1
    3984             : #include "pm_arrayReplace@routines.inc.F90"
    3985             :     end procedure
    3986             : #endif
    3987             : 
    3988             : #undef CK_ENABLED
    3989             : 
    3990             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3991             : 
    3992             : #define RK_ENABLED 1
    3993             : 
    3994             : #if RK5_ENABLED
    3995             :     module procedure setReplacedDefComDefIns_D1_D0_D0_RK5
    3996             :         use pm_kind, only: RKC => RK5
    3997             : #include "pm_arrayReplace@routines.inc.F90"
    3998             :     end procedure
    3999             : #endif
    4000             : 
    4001             : #if RK4_ENABLED
    4002          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_RK4
    4003             :         use pm_kind, only: RKC => RK4
    4004             : #include "pm_arrayReplace@routines.inc.F90"
    4005             :     end procedure
    4006             : #endif
    4007             : 
    4008             : #if RK3_ENABLED
    4009          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_RK3
    4010             :         use pm_kind, only: RKC => RK3
    4011             : #include "pm_arrayReplace@routines.inc.F90"
    4012             :     end procedure
    4013             : #endif
    4014             : 
    4015             : #if RK2_ENABLED
    4016          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_RK2
    4017             :         use pm_kind, only: RKC => RK2
    4018             : #include "pm_arrayReplace@routines.inc.F90"
    4019             :     end procedure
    4020             : #endif
    4021             : 
    4022             : #if RK1_ENABLED
    4023          20 :     module procedure setReplacedDefComDefIns_D1_D0_D0_RK1
    4024             :         use pm_kind, only: RKC => RK1
    4025             : #include "pm_arrayReplace@routines.inc.F90"
    4026             :     end procedure
    4027             : #endif
    4028             : 
    4029             : #undef RK_ENABLED
    4030             : 
    4031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4032             : 
    4033             : #undef D1_D0_D0_ENABLED
    4034             : 
    4035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4037             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4038             : 
    4039             : #define D1_D0_D1_ENABLED 1
    4040             : 
    4041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4042             : 
    4043             : #define SK_ENABLED 1
    4044             : 
    4045             : #if SK5_ENABLED
    4046             :     module procedure setReplacedDefComDefIns_D1_D0_D1_SK5
    4047             :         use pm_kind, only: SKC => SK5
    4048             : #include "pm_arrayReplace@routines.inc.F90"
    4049             :     end procedure
    4050             : #endif
    4051             : 
    4052             : #if SK4_ENABLED
    4053             :     module procedure setReplacedDefComDefIns_D1_D0_D1_SK4
    4054             :         use pm_kind, only: SKC => SK4
    4055             : #include "pm_arrayReplace@routines.inc.F90"
    4056             :     end procedure
    4057             : #endif
    4058             : 
    4059             : #if SK3_ENABLED
    4060             :     module procedure setReplacedDefComDefIns_D1_D0_D1_SK3
    4061             :         use pm_kind, only: SKC => SK3
    4062             : #include "pm_arrayReplace@routines.inc.F90"
    4063             :     end procedure
    4064             : #endif
    4065             : 
    4066             : #if SK2_ENABLED
    4067             :     module procedure setReplacedDefComDefIns_D1_D0_D1_SK2
    4068             :         use pm_kind, only: SKC => SK2
    4069             : #include "pm_arrayReplace@routines.inc.F90"
    4070             :     end procedure
    4071             : #endif
    4072             : 
    4073             : #if SK1_ENABLED
    4074          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_SK1
    4075             :         use pm_kind, only: SKC => SK1
    4076             : #include "pm_arrayReplace@routines.inc.F90"
    4077          20 :     end procedure
    4078             : #endif
    4079             : 
    4080             : #undef SK_ENABLED
    4081             : 
    4082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4083             : 
    4084             : #define IK_ENABLED 1
    4085             : 
    4086             : #if IK5_ENABLED
    4087          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_IK5
    4088             :         use pm_kind, only: IKC => IK5
    4089             : #include "pm_arrayReplace@routines.inc.F90"
    4090             :     end procedure
    4091             : #endif
    4092             : 
    4093             : #if IK4_ENABLED
    4094          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_IK4
    4095             :         use pm_kind, only: IKC => IK4
    4096             : #include "pm_arrayReplace@routines.inc.F90"
    4097             :     end procedure
    4098             : #endif
    4099             : 
    4100             : #if IK3_ENABLED
    4101          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_IK3
    4102             :         use pm_kind, only: IKC => IK3
    4103             : #include "pm_arrayReplace@routines.inc.F90"
    4104             :     end procedure
    4105             : #endif
    4106             : 
    4107             : #if IK2_ENABLED
    4108          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_IK2
    4109             :         use pm_kind, only: IKC => IK2
    4110             : #include "pm_arrayReplace@routines.inc.F90"
    4111             :     end procedure
    4112             : #endif
    4113             : 
    4114             : #if IK1_ENABLED
    4115          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_IK1
    4116             :         use pm_kind, only: IKC => IK1
    4117             : #include "pm_arrayReplace@routines.inc.F90"
    4118             :     end procedure
    4119             : #endif
    4120             : 
    4121             : #undef IK_ENABLED
    4122             : 
    4123             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4124             : 
    4125             : #define LK_ENABLED 1
    4126             : 
    4127             : #if LK5_ENABLED
    4128          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_LK5
    4129             :         use pm_kind, only: LKC => LK5
    4130             : #include "pm_arrayReplace@routines.inc.F90"
    4131             :     end procedure
    4132             : #endif
    4133             : 
    4134             : #if LK4_ENABLED
    4135          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_LK4
    4136             :         use pm_kind, only: LKC => LK4
    4137             : #include "pm_arrayReplace@routines.inc.F90"
    4138             :     end procedure
    4139             : #endif
    4140             : 
    4141             : #if LK3_ENABLED
    4142          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_LK3
    4143             :         use pm_kind, only: LKC => LK3
    4144             : #include "pm_arrayReplace@routines.inc.F90"
    4145             :     end procedure
    4146             : #endif
    4147             : 
    4148             : #if LK2_ENABLED
    4149          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_LK2
    4150             :         use pm_kind, only: LKC => LK2
    4151             : #include "pm_arrayReplace@routines.inc.F90"
    4152             :     end procedure
    4153             : #endif
    4154             : 
    4155             : #if LK1_ENABLED
    4156          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_LK1
    4157             :         use pm_kind, only: LKC => LK1
    4158             : #include "pm_arrayReplace@routines.inc.F90"
    4159             :     end procedure
    4160             : #endif
    4161             : 
    4162             : #undef LK_ENABLED
    4163             : 
    4164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4165             : 
    4166             : #define CK_ENABLED 1
    4167             : 
    4168             : #if CK5_ENABLED
    4169             :     module procedure setReplacedDefComDefIns_D1_D0_D1_CK5
    4170             :         use pm_kind, only: CKC => CK5
    4171             : #include "pm_arrayReplace@routines.inc.F90"
    4172             :     end procedure
    4173             : #endif
    4174             : 
    4175             : #if CK4_ENABLED
    4176          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_CK4
    4177             :         use pm_kind, only: CKC => CK4
    4178             : #include "pm_arrayReplace@routines.inc.F90"
    4179             :     end procedure
    4180             : #endif
    4181             : 
    4182             : #if CK3_ENABLED
    4183          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_CK3
    4184             :         use pm_kind, only: CKC => CK3
    4185             : #include "pm_arrayReplace@routines.inc.F90"
    4186             :     end procedure
    4187             : #endif
    4188             : 
    4189             : #if CK2_ENABLED
    4190          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_CK2
    4191             :         use pm_kind, only: CKC => CK2
    4192             : #include "pm_arrayReplace@routines.inc.F90"
    4193             :     end procedure
    4194             : #endif
    4195             : 
    4196             : #if CK1_ENABLED
    4197          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_CK1
    4198             :         use pm_kind, only: CKC => CK1
    4199             : #include "pm_arrayReplace@routines.inc.F90"
    4200             :     end procedure
    4201             : #endif
    4202             : 
    4203             : #undef CK_ENABLED
    4204             : 
    4205             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4206             : 
    4207             : #define RK_ENABLED 1
    4208             : 
    4209             : #if RK5_ENABLED
    4210             :     module procedure setReplacedDefComDefIns_D1_D0_D1_RK5
    4211             :         use pm_kind, only: RKC => RK5
    4212             : #include "pm_arrayReplace@routines.inc.F90"
    4213             :     end procedure
    4214             : #endif
    4215             : 
    4216             : #if RK4_ENABLED
    4217          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_RK4
    4218             :         use pm_kind, only: RKC => RK4
    4219             : #include "pm_arrayReplace@routines.inc.F90"
    4220             :     end procedure
    4221             : #endif
    4222             : 
    4223             : #if RK3_ENABLED
    4224          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_RK3
    4225             :         use pm_kind, only: RKC => RK3
    4226             : #include "pm_arrayReplace@routines.inc.F90"
    4227             :     end procedure
    4228             : #endif
    4229             : 
    4230             : #if RK2_ENABLED
    4231          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_RK2
    4232             :         use pm_kind, only: RKC => RK2
    4233             : #include "pm_arrayReplace@routines.inc.F90"
    4234             :     end procedure
    4235             : #endif
    4236             : 
    4237             : #if RK1_ENABLED
    4238          20 :     module procedure setReplacedDefComDefIns_D1_D0_D1_RK1
    4239             :         use pm_kind, only: RKC => RK1
    4240             : #include "pm_arrayReplace@routines.inc.F90"
    4241             :     end procedure
    4242             : #endif
    4243             : 
    4244             : #undef RK_ENABLED
    4245             : 
    4246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4247             : 
    4248             : #undef D1_D0_D1_ENABLED
    4249             : 
    4250             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4251             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4252             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4253             : 
    4254             : #define D1_D1_D0_ENABLED 1
    4255             : 
    4256             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4257             : 
    4258             : #define SK_ENABLED 1
    4259             : 
    4260             : #if SK5_ENABLED
    4261             :     module procedure setReplacedDefComDefIns_D1_D1_D0_SK5
    4262             :         use pm_kind, only: SKC => SK5
    4263             : #include "pm_arrayReplace@routines.inc.F90"
    4264             :     end procedure
    4265             : #endif
    4266             : 
    4267             : #if SK4_ENABLED
    4268             :     module procedure setReplacedDefComDefIns_D1_D1_D0_SK4
    4269             :         use pm_kind, only: SKC => SK4
    4270             : #include "pm_arrayReplace@routines.inc.F90"
    4271             :     end procedure
    4272             : #endif
    4273             : 
    4274             : #if SK3_ENABLED
    4275             :     module procedure setReplacedDefComDefIns_D1_D1_D0_SK3
    4276             :         use pm_kind, only: SKC => SK3
    4277             : #include "pm_arrayReplace@routines.inc.F90"
    4278             :     end procedure
    4279             : #endif
    4280             : 
    4281             : #if SK2_ENABLED
    4282             :     module procedure setReplacedDefComDefIns_D1_D1_D0_SK2
    4283             :         use pm_kind, only: SKC => SK2
    4284             : #include "pm_arrayReplace@routines.inc.F90"
    4285             :     end procedure
    4286             : #endif
    4287             : 
    4288             : #if SK1_ENABLED
    4289          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_SK1
    4290             :         use pm_kind, only: SKC => SK1
    4291             : #include "pm_arrayReplace@routines.inc.F90"
    4292          20 :     end procedure
    4293             : #endif
    4294             : 
    4295             : #undef SK_ENABLED
    4296             : 
    4297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4298             : 
    4299             : #define IK_ENABLED 1
    4300             : 
    4301             : #if IK5_ENABLED
    4302          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_IK5
    4303             :         use pm_kind, only: IKC => IK5
    4304             : #include "pm_arrayReplace@routines.inc.F90"
    4305             :     end procedure
    4306             : #endif
    4307             : 
    4308             : #if IK4_ENABLED
    4309          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_IK4
    4310             :         use pm_kind, only: IKC => IK4
    4311             : #include "pm_arrayReplace@routines.inc.F90"
    4312             :     end procedure
    4313             : #endif
    4314             : 
    4315             : #if IK3_ENABLED
    4316          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_IK3
    4317             :         use pm_kind, only: IKC => IK3
    4318             : #include "pm_arrayReplace@routines.inc.F90"
    4319             :     end procedure
    4320             : #endif
    4321             : 
    4322             : #if IK2_ENABLED
    4323          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_IK2
    4324             :         use pm_kind, only: IKC => IK2
    4325             : #include "pm_arrayReplace@routines.inc.F90"
    4326             :     end procedure
    4327             : #endif
    4328             : 
    4329             : #if IK1_ENABLED
    4330          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_IK1
    4331             :         use pm_kind, only: IKC => IK1
    4332             : #include "pm_arrayReplace@routines.inc.F90"
    4333             :     end procedure
    4334             : #endif
    4335             : 
    4336             : #undef IK_ENABLED
    4337             : 
    4338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4339             : 
    4340             : #define LK_ENABLED 1
    4341             : 
    4342             : #if LK5_ENABLED
    4343          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_LK5
    4344             :         use pm_kind, only: LKC => LK5
    4345             : #include "pm_arrayReplace@routines.inc.F90"
    4346             :     end procedure
    4347             : #endif
    4348             : 
    4349             : #if LK4_ENABLED
    4350          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_LK4
    4351             :         use pm_kind, only: LKC => LK4
    4352             : #include "pm_arrayReplace@routines.inc.F90"
    4353             :     end procedure
    4354             : #endif
    4355             : 
    4356             : #if LK3_ENABLED
    4357          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_LK3
    4358             :         use pm_kind, only: LKC => LK3
    4359             : #include "pm_arrayReplace@routines.inc.F90"
    4360             :     end procedure
    4361             : #endif
    4362             : 
    4363             : #if LK2_ENABLED
    4364          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_LK2
    4365             :         use pm_kind, only: LKC => LK2
    4366             : #include "pm_arrayReplace@routines.inc.F90"
    4367             :     end procedure
    4368             : #endif
    4369             : 
    4370             : #if LK1_ENABLED
    4371          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_LK1
    4372             :         use pm_kind, only: LKC => LK1
    4373             : #include "pm_arrayReplace@routines.inc.F90"
    4374             :     end procedure
    4375             : #endif
    4376             : 
    4377             : #undef LK_ENABLED
    4378             : 
    4379             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4380             : 
    4381             : #define CK_ENABLED 1
    4382             : 
    4383             : #if CK5_ENABLED
    4384             :     module procedure setReplacedDefComDefIns_D1_D1_D0_CK5
    4385             :         use pm_kind, only: CKC => CK5
    4386             : #include "pm_arrayReplace@routines.inc.F90"
    4387             :     end procedure
    4388             : #endif
    4389             : 
    4390             : #if CK4_ENABLED
    4391          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_CK4
    4392             :         use pm_kind, only: CKC => CK4
    4393             : #include "pm_arrayReplace@routines.inc.F90"
    4394             :     end procedure
    4395             : #endif
    4396             : 
    4397             : #if CK3_ENABLED
    4398          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_CK3
    4399             :         use pm_kind, only: CKC => CK3
    4400             : #include "pm_arrayReplace@routines.inc.F90"
    4401             :     end procedure
    4402             : #endif
    4403             : 
    4404             : #if CK2_ENABLED
    4405          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_CK2
    4406             :         use pm_kind, only: CKC => CK2
    4407             : #include "pm_arrayReplace@routines.inc.F90"
    4408             :     end procedure
    4409             : #endif
    4410             : 
    4411             : #if CK1_ENABLED
    4412          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_CK1
    4413             :         use pm_kind, only: CKC => CK1
    4414             : #include "pm_arrayReplace@routines.inc.F90"
    4415             :     end procedure
    4416             : #endif
    4417             : 
    4418             : #undef CK_ENABLED
    4419             : 
    4420             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4421             : 
    4422             : #define RK_ENABLED 1
    4423             : 
    4424             : #if RK5_ENABLED
    4425             :     module procedure setReplacedDefComDefIns_D1_D1_D0_RK5
    4426             :         use pm_kind, only: RKC => RK5
    4427             : #include "pm_arrayReplace@routines.inc.F90"
    4428             :     end procedure
    4429             : #endif
    4430             : 
    4431             : #if RK4_ENABLED
    4432          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_RK4
    4433             :         use pm_kind, only: RKC => RK4
    4434             : #include "pm_arrayReplace@routines.inc.F90"
    4435             :     end procedure
    4436             : #endif
    4437             : 
    4438             : #if RK3_ENABLED
    4439          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_RK3
    4440             :         use pm_kind, only: RKC => RK3
    4441             : #include "pm_arrayReplace@routines.inc.F90"
    4442             :     end procedure
    4443             : #endif
    4444             : 
    4445             : #if RK2_ENABLED
    4446          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_RK2
    4447             :         use pm_kind, only: RKC => RK2
    4448             : #include "pm_arrayReplace@routines.inc.F90"
    4449             :     end procedure
    4450             : #endif
    4451             : 
    4452             : #if RK1_ENABLED
    4453          20 :     module procedure setReplacedDefComDefIns_D1_D1_D0_RK1
    4454             :         use pm_kind, only: RKC => RK1
    4455             : #include "pm_arrayReplace@routines.inc.F90"
    4456             :     end procedure
    4457             : #endif
    4458             : 
    4459             : #undef RK_ENABLED
    4460             : 
    4461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4462             : 
    4463             : #undef D1_D1_D0_ENABLED
    4464             : 
    4465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4467             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4468             : 
    4469             : #define D1_D1_D1_ENABLED 1
    4470             : 
    4471             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4472             : 
    4473             : #define SK_ENABLED 1
    4474             : 
    4475             : #if SK5_ENABLED
    4476             :     module procedure setReplacedDefComDefIns_D1_D1_D1_SK5
    4477             :         use pm_kind, only: SKC => SK5
    4478             : #include "pm_arrayReplace@routines.inc.F90"
    4479             :     end procedure
    4480             : #endif
    4481             : 
    4482             : #if SK4_ENABLED
    4483             :     module procedure setReplacedDefComDefIns_D1_D1_D1_SK4
    4484             :         use pm_kind, only: SKC => SK4
    4485             : #include "pm_arrayReplace@routines.inc.F90"
    4486             :     end procedure
    4487             : #endif
    4488             : 
    4489             : #if SK3_ENABLED
    4490             :     module procedure setReplacedDefComDefIns_D1_D1_D1_SK3
    4491             :         use pm_kind, only: SKC => SK3
    4492             : #include "pm_arrayReplace@routines.inc.F90"
    4493             :     end procedure
    4494             : #endif
    4495             : 
    4496             : #if SK2_ENABLED
    4497             :     module procedure setReplacedDefComDefIns_D1_D1_D1_SK2
    4498             :         use pm_kind, only: SKC => SK2
    4499             : #include "pm_arrayReplace@routines.inc.F90"
    4500             :     end procedure
    4501             : #endif
    4502             : 
    4503             : #if SK1_ENABLED
    4504          11 :     module procedure setReplacedDefComDefIns_D1_D1_D1_SK1
    4505             :         use pm_kind, only: SKC => SK1
    4506             : #include "pm_arrayReplace@routines.inc.F90"
    4507          11 :     end procedure
    4508             : #endif
    4509             : 
    4510             : #undef SK_ENABLED
    4511             : 
    4512             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4513             : 
    4514             : #define IK_ENABLED 1
    4515             : 
    4516             : #if IK5_ENABLED
    4517          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_IK5
    4518             :         use pm_kind, only: IKC => IK5
    4519             : #include "pm_arrayReplace@routines.inc.F90"
    4520             :     end procedure
    4521             : #endif
    4522             : 
    4523             : #if IK4_ENABLED
    4524          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_IK4
    4525             :         use pm_kind, only: IKC => IK4
    4526             : #include "pm_arrayReplace@routines.inc.F90"
    4527             :     end procedure
    4528             : #endif
    4529             : 
    4530             : #if IK3_ENABLED
    4531          12 :     module procedure setReplacedDefComDefIns_D1_D1_D1_IK3
    4532             :         use pm_kind, only: IKC => IK3
    4533             : #include "pm_arrayReplace@routines.inc.F90"
    4534             :     end procedure
    4535             : #endif
    4536             : 
    4537             : #if IK2_ENABLED
    4538          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_IK2
    4539             :         use pm_kind, only: IKC => IK2
    4540             : #include "pm_arrayReplace@routines.inc.F90"
    4541             :     end procedure
    4542             : #endif
    4543             : 
    4544             : #if IK1_ENABLED
    4545          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_IK1
    4546             :         use pm_kind, only: IKC => IK1
    4547             : #include "pm_arrayReplace@routines.inc.F90"
    4548             :     end procedure
    4549             : #endif
    4550             : 
    4551             : #undef IK_ENABLED
    4552             : 
    4553             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4554             : 
    4555             : #define LK_ENABLED 1
    4556             : 
    4557             : #if LK5_ENABLED
    4558          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_LK5
    4559             :         use pm_kind, only: LKC => LK5
    4560             : #include "pm_arrayReplace@routines.inc.F90"
    4561             :     end procedure
    4562             : #endif
    4563             : 
    4564             : #if LK4_ENABLED
    4565          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_LK4
    4566             :         use pm_kind, only: LKC => LK4
    4567             : #include "pm_arrayReplace@routines.inc.F90"
    4568             :     end procedure
    4569             : #endif
    4570             : 
    4571             : #if LK3_ENABLED
    4572          11 :     module procedure setReplacedDefComDefIns_D1_D1_D1_LK3
    4573             :         use pm_kind, only: LKC => LK3
    4574             : #include "pm_arrayReplace@routines.inc.F90"
    4575             :     end procedure
    4576             : #endif
    4577             : 
    4578             : #if LK2_ENABLED
    4579          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_LK2
    4580             :         use pm_kind, only: LKC => LK2
    4581             : #include "pm_arrayReplace@routines.inc.F90"
    4582             :     end procedure
    4583             : #endif
    4584             : 
    4585             : #if LK1_ENABLED
    4586          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_LK1
    4587             :         use pm_kind, only: LKC => LK1
    4588             : #include "pm_arrayReplace@routines.inc.F90"
    4589             :     end procedure
    4590             : #endif
    4591             : 
    4592             : #undef LK_ENABLED
    4593             : 
    4594             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4595             : 
    4596             : #define CK_ENABLED 1
    4597             : 
    4598             : #if CK5_ENABLED
    4599             :     module procedure setReplacedDefComDefIns_D1_D1_D1_CK5
    4600             :         use pm_kind, only: CKC => CK5
    4601             : #include "pm_arrayReplace@routines.inc.F90"
    4602             :     end procedure
    4603             : #endif
    4604             : 
    4605             : #if CK4_ENABLED
    4606          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_CK4
    4607             :         use pm_kind, only: CKC => CK4
    4608             : #include "pm_arrayReplace@routines.inc.F90"
    4609             :     end procedure
    4610             : #endif
    4611             : 
    4612             : #if CK3_ENABLED
    4613          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_CK3
    4614             :         use pm_kind, only: CKC => CK3
    4615             : #include "pm_arrayReplace@routines.inc.F90"
    4616             :     end procedure
    4617             : #endif
    4618             : 
    4619             : #if CK2_ENABLED
    4620          11 :     module procedure setReplacedDefComDefIns_D1_D1_D1_CK2
    4621             :         use pm_kind, only: CKC => CK2
    4622             : #include "pm_arrayReplace@routines.inc.F90"
    4623             :     end procedure
    4624             : #endif
    4625             : 
    4626             : #if CK1_ENABLED
    4627          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_CK1
    4628             :         use pm_kind, only: CKC => CK1
    4629             : #include "pm_arrayReplace@routines.inc.F90"
    4630             :     end procedure
    4631             : #endif
    4632             : 
    4633             : #undef CK_ENABLED
    4634             : 
    4635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4636             : 
    4637             : #define RK_ENABLED 1
    4638             : 
    4639             : #if RK5_ENABLED
    4640             :     module procedure setReplacedDefComDefIns_D1_D1_D1_RK5
    4641             :         use pm_kind, only: RKC => RK5
    4642             : #include "pm_arrayReplace@routines.inc.F90"
    4643             :     end procedure
    4644             : #endif
    4645             : 
    4646             : #if RK4_ENABLED
    4647          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_RK4
    4648             :         use pm_kind, only: RKC => RK4
    4649             : #include "pm_arrayReplace@routines.inc.F90"
    4650             :     end procedure
    4651             : #endif
    4652             : 
    4653             : #if RK3_ENABLED
    4654          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_RK3
    4655             :         use pm_kind, only: RKC => RK3
    4656             : #include "pm_arrayReplace@routines.inc.F90"
    4657             :     end procedure
    4658             : #endif
    4659             : 
    4660             : #if RK2_ENABLED
    4661          11 :     module procedure setReplacedDefComDefIns_D1_D1_D1_RK2
    4662             :         use pm_kind, only: RKC => RK2
    4663             : #include "pm_arrayReplace@routines.inc.F90"
    4664             :     end procedure
    4665             : #endif
    4666             : 
    4667             : #if RK1_ENABLED
    4668          10 :     module procedure setReplacedDefComDefIns_D1_D1_D1_RK1
    4669             :         use pm_kind, only: RKC => RK1
    4670             : #include "pm_arrayReplace@routines.inc.F90"
    4671             :     end procedure
    4672             : #endif
    4673             : 
    4674             : #undef RK_ENABLED
    4675             : 
    4676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4677             : 
    4678             : #undef D1_D1_D1_ENABLED
    4679             : 
    4680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4681             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4682             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4683             : 
    4684             : #undef DefCom_ENABLED
    4685             : #undef DefIns_ENABLED
    4686             : 
    4687             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4688             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4689             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4690             : 
    4691             : #define CusCom_ENABLED 1
    4692             : #define DefIns_ENABLED 1
    4693             : 
    4694             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4695             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4696             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4697             : 
    4698             : #define D0_D0_D0_ENABLED 1
    4699             : 
    4700             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4701             : 
    4702             : #define SK_ENABLED 1
    4703             : 
    4704             : #if SK5_ENABLED
    4705             :     module procedure setReplacedCusComDefIns_D0_D0_D0_SK5
    4706             :         use pm_kind, only: SKC => SK5
    4707             : #include "pm_arrayReplace@routines.inc.F90"
    4708             :     end procedure
    4709             : #endif
    4710             : 
    4711             : #if SK4_ENABLED
    4712             :     module procedure setReplacedCusComDefIns_D0_D0_D0_SK4
    4713             :         use pm_kind, only: SKC => SK4
    4714             : #include "pm_arrayReplace@routines.inc.F90"
    4715             :     end procedure
    4716             : #endif
    4717             : 
    4718             : #if SK3_ENABLED
    4719             :     module procedure setReplacedCusComDefIns_D0_D0_D0_SK3
    4720             :         use pm_kind, only: SKC => SK3
    4721             : #include "pm_arrayReplace@routines.inc.F90"
    4722             :     end procedure
    4723             : #endif
    4724             : 
    4725             : #if SK2_ENABLED
    4726             :     module procedure setReplacedCusComDefIns_D0_D0_D0_SK2
    4727             :         use pm_kind, only: SKC => SK2
    4728             : #include "pm_arrayReplace@routines.inc.F90"
    4729             :     end procedure
    4730             : #endif
    4731             : 
    4732             : #if SK1_ENABLED
    4733           3 :     module procedure setReplacedCusComDefIns_D0_D0_D0_SK1
    4734             :         use pm_kind, only: SKC => SK1
    4735             : #include "pm_arrayReplace@routines.inc.F90"
    4736          11 :     end procedure
    4737             : #endif
    4738             : 
    4739             : #undef SK_ENABLED
    4740             : 
    4741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4742             : 
    4743             : #undef D0_D0_D0_ENABLED
    4744             : 
    4745             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4748             : 
    4749             : #define D1_D0_D0_ENABLED 1
    4750             : 
    4751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4752             : 
    4753             : #define SK_ENABLED 1
    4754             : 
    4755             : #if SK5_ENABLED
    4756             :     module procedure setReplacedCusComDefIns_D1_D0_D0_SK5
    4757             :         use pm_kind, only: SKC => SK5
    4758             : #include "pm_arrayReplace@routines.inc.F90"
    4759             :     end procedure
    4760             : #endif
    4761             : 
    4762             : #if SK4_ENABLED
    4763             :     module procedure setReplacedCusComDefIns_D1_D0_D0_SK4
    4764             :         use pm_kind, only: SKC => SK4
    4765             : #include "pm_arrayReplace@routines.inc.F90"
    4766             :     end procedure
    4767             : #endif
    4768             : 
    4769             : #if SK3_ENABLED
    4770             :     module procedure setReplacedCusComDefIns_D1_D0_D0_SK3
    4771             :         use pm_kind, only: SKC => SK3
    4772             : #include "pm_arrayReplace@routines.inc.F90"
    4773             :     end procedure
    4774             : #endif
    4775             : 
    4776             : #if SK2_ENABLED
    4777             :     module procedure setReplacedCusComDefIns_D1_D0_D0_SK2
    4778             :         use pm_kind, only: SKC => SK2
    4779             : #include "pm_arrayReplace@routines.inc.F90"
    4780             :     end procedure
    4781             : #endif
    4782             : 
    4783             : #if SK1_ENABLED
    4784          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_SK1
    4785             :         use pm_kind, only: SKC => SK1
    4786             : #include "pm_arrayReplace@routines.inc.F90"
    4787          20 :     end procedure
    4788             : #endif
    4789             : 
    4790             : #undef SK_ENABLED
    4791             : 
    4792             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4793             : 
    4794             : #define IK_ENABLED 1
    4795             : 
    4796             : #if IK5_ENABLED
    4797          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_IK5
    4798             :         use pm_kind, only: IKC => IK5
    4799             : #include "pm_arrayReplace@routines.inc.F90"
    4800             :     end procedure
    4801             : #endif
    4802             : 
    4803             : #if IK4_ENABLED
    4804          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_IK4
    4805             :         use pm_kind, only: IKC => IK4
    4806             : #include "pm_arrayReplace@routines.inc.F90"
    4807             :     end procedure
    4808             : #endif
    4809             : 
    4810             : #if IK3_ENABLED
    4811          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_IK3
    4812             :         use pm_kind, only: IKC => IK3
    4813             : #include "pm_arrayReplace@routines.inc.F90"
    4814             :     end procedure
    4815             : #endif
    4816             : 
    4817             : #if IK2_ENABLED
    4818          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_IK2
    4819             :         use pm_kind, only: IKC => IK2
    4820             : #include "pm_arrayReplace@routines.inc.F90"
    4821             :     end procedure
    4822             : #endif
    4823             : 
    4824             : #if IK1_ENABLED
    4825          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_IK1
    4826             :         use pm_kind, only: IKC => IK1
    4827             : #include "pm_arrayReplace@routines.inc.F90"
    4828             :     end procedure
    4829             : #endif
    4830             : 
    4831             : #undef IK_ENABLED
    4832             : 
    4833             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4834             : 
    4835             : #define LK_ENABLED 1
    4836             : 
    4837             : #if LK5_ENABLED
    4838          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_LK5
    4839             :         use pm_kind, only: LKC => LK5
    4840             : #include "pm_arrayReplace@routines.inc.F90"
    4841             :     end procedure
    4842             : #endif
    4843             : 
    4844             : #if LK4_ENABLED
    4845          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_LK4
    4846             :         use pm_kind, only: LKC => LK4
    4847             : #include "pm_arrayReplace@routines.inc.F90"
    4848             :     end procedure
    4849             : #endif
    4850             : 
    4851             : #if LK3_ENABLED
    4852          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_LK3
    4853             :         use pm_kind, only: LKC => LK3
    4854             : #include "pm_arrayReplace@routines.inc.F90"
    4855             :     end procedure
    4856             : #endif
    4857             : 
    4858             : #if LK2_ENABLED
    4859          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_LK2
    4860             :         use pm_kind, only: LKC => LK2
    4861             : #include "pm_arrayReplace@routines.inc.F90"
    4862             :     end procedure
    4863             : #endif
    4864             : 
    4865             : #if LK1_ENABLED
    4866          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_LK1
    4867             :         use pm_kind, only: LKC => LK1
    4868             : #include "pm_arrayReplace@routines.inc.F90"
    4869             :     end procedure
    4870             : #endif
    4871             : 
    4872             : #undef LK_ENABLED
    4873             : 
    4874             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4875             : 
    4876             : #define CK_ENABLED 1
    4877             : 
    4878             : #if CK5_ENABLED
    4879             :     module procedure setReplacedCusComDefIns_D1_D0_D0_CK5
    4880             :         use pm_kind, only: CKC => CK5
    4881             : #include "pm_arrayReplace@routines.inc.F90"
    4882             :     end procedure
    4883             : #endif
    4884             : 
    4885             : #if CK4_ENABLED
    4886          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_CK4
    4887             :         use pm_kind, only: CKC => CK4
    4888             : #include "pm_arrayReplace@routines.inc.F90"
    4889             :     end procedure
    4890             : #endif
    4891             : 
    4892             : #if CK3_ENABLED
    4893          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_CK3
    4894             :         use pm_kind, only: CKC => CK3
    4895             : #include "pm_arrayReplace@routines.inc.F90"
    4896             :     end procedure
    4897             : #endif
    4898             : 
    4899             : #if CK2_ENABLED
    4900          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_CK2
    4901             :         use pm_kind, only: CKC => CK2
    4902             : #include "pm_arrayReplace@routines.inc.F90"
    4903             :     end procedure
    4904             : #endif
    4905             : 
    4906             : #if CK1_ENABLED
    4907          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_CK1
    4908             :         use pm_kind, only: CKC => CK1
    4909             : #include "pm_arrayReplace@routines.inc.F90"
    4910             :     end procedure
    4911             : #endif
    4912             : 
    4913             : #undef CK_ENABLED
    4914             : 
    4915             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4916             : 
    4917             : #define RK_ENABLED 1
    4918             : 
    4919             : #if RK5_ENABLED
    4920             :     module procedure setReplacedCusComDefIns_D1_D0_D0_RK5
    4921             :         use pm_kind, only: RKC => RK5
    4922             : #include "pm_arrayReplace@routines.inc.F90"
    4923             :     end procedure
    4924             : #endif
    4925             : 
    4926             : #if RK4_ENABLED
    4927          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_RK4
    4928             :         use pm_kind, only: RKC => RK4
    4929             : #include "pm_arrayReplace@routines.inc.F90"
    4930             :     end procedure
    4931             : #endif
    4932             : 
    4933             : #if RK3_ENABLED
    4934          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_RK3
    4935             :         use pm_kind, only: RKC => RK3
    4936             : #include "pm_arrayReplace@routines.inc.F90"
    4937             :     end procedure
    4938             : #endif
    4939             : 
    4940             : #if RK2_ENABLED
    4941          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_RK2
    4942             :         use pm_kind, only: RKC => RK2
    4943             : #include "pm_arrayReplace@routines.inc.F90"
    4944             :     end procedure
    4945             : #endif
    4946             : 
    4947             : #if RK1_ENABLED
    4948          20 :     module procedure setReplacedCusComDefIns_D1_D0_D0_RK1
    4949             :         use pm_kind, only: RKC => RK1
    4950             : #include "pm_arrayReplace@routines.inc.F90"
    4951             :     end procedure
    4952             : #endif
    4953             : 
    4954             : #undef RK_ENABLED
    4955             : 
    4956             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4957             : 
    4958             : #undef D1_D0_D0_ENABLED
    4959             : 
    4960             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4961             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4962             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4963             : 
    4964             : #define D1_D0_D1_ENABLED 1
    4965             : 
    4966             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    4967             : 
    4968             : #define SK_ENABLED 1
    4969             : 
    4970             : #if SK5_ENABLED
    4971             :     module procedure setReplacedCusComDefIns_D1_D0_D1_SK5
    4972             :         use pm_kind, only: SKC => SK5
    4973             : #include "pm_arrayReplace@routines.inc.F90"
    4974             :     end procedure
    4975             : #endif
    4976             : 
    4977             : #if SK4_ENABLED
    4978             :     module procedure setReplacedCusComDefIns_D1_D0_D1_SK4
    4979             :         use pm_kind, only: SKC => SK4
    4980             : #include "pm_arrayReplace@routines.inc.F90"
    4981             :     end procedure
    4982             : #endif
    4983             : 
    4984             : #if SK3_ENABLED
    4985             :     module procedure setReplacedCusComDefIns_D1_D0_D1_SK3
    4986             :         use pm_kind, only: SKC => SK3
    4987             : #include "pm_arrayReplace@routines.inc.F90"
    4988             :     end procedure
    4989             : #endif
    4990             : 
    4991             : #if SK2_ENABLED
    4992             :     module procedure setReplacedCusComDefIns_D1_D0_D1_SK2
    4993             :         use pm_kind, only: SKC => SK2
    4994             : #include "pm_arrayReplace@routines.inc.F90"
    4995             :     end procedure
    4996             : #endif
    4997             : 
    4998             : #if SK1_ENABLED
    4999          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_SK1
    5000             :         use pm_kind, only: SKC => SK1
    5001             : #include "pm_arrayReplace@routines.inc.F90"
    5002          20 :     end procedure
    5003             : #endif
    5004             : 
    5005             : #undef SK_ENABLED
    5006             : 
    5007             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5008             : 
    5009             : #define IK_ENABLED 1
    5010             : 
    5011             : #if IK5_ENABLED
    5012          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_IK5
    5013             :         use pm_kind, only: IKC => IK5
    5014             : #include "pm_arrayReplace@routines.inc.F90"
    5015             :     end procedure
    5016             : #endif
    5017             : 
    5018             : #if IK4_ENABLED
    5019          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_IK4
    5020             :         use pm_kind, only: IKC => IK4
    5021             : #include "pm_arrayReplace@routines.inc.F90"
    5022             :     end procedure
    5023             : #endif
    5024             : 
    5025             : #if IK3_ENABLED
    5026          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_IK3
    5027             :         use pm_kind, only: IKC => IK3
    5028             : #include "pm_arrayReplace@routines.inc.F90"
    5029             :     end procedure
    5030             : #endif
    5031             : 
    5032             : #if IK2_ENABLED
    5033          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_IK2
    5034             :         use pm_kind, only: IKC => IK2
    5035             : #include "pm_arrayReplace@routines.inc.F90"
    5036             :     end procedure
    5037             : #endif
    5038             : 
    5039             : #if IK1_ENABLED
    5040          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_IK1
    5041             :         use pm_kind, only: IKC => IK1
    5042             : #include "pm_arrayReplace@routines.inc.F90"
    5043             :     end procedure
    5044             : #endif
    5045             : 
    5046             : #undef IK_ENABLED
    5047             : 
    5048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5049             : 
    5050             : #define LK_ENABLED 1
    5051             : 
    5052             : #if LK5_ENABLED
    5053          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_LK5
    5054             :         use pm_kind, only: LKC => LK5
    5055             : #include "pm_arrayReplace@routines.inc.F90"
    5056             :     end procedure
    5057             : #endif
    5058             : 
    5059             : #if LK4_ENABLED
    5060          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_LK4
    5061             :         use pm_kind, only: LKC => LK4
    5062             : #include "pm_arrayReplace@routines.inc.F90"
    5063             :     end procedure
    5064             : #endif
    5065             : 
    5066             : #if LK3_ENABLED
    5067          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_LK3
    5068             :         use pm_kind, only: LKC => LK3
    5069             : #include "pm_arrayReplace@routines.inc.F90"
    5070             :     end procedure
    5071             : #endif
    5072             : 
    5073             : #if LK2_ENABLED
    5074          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_LK2
    5075             :         use pm_kind, only: LKC => LK2
    5076             : #include "pm_arrayReplace@routines.inc.F90"
    5077             :     end procedure
    5078             : #endif
    5079             : 
    5080             : #if LK1_ENABLED
    5081          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_LK1
    5082             :         use pm_kind, only: LKC => LK1
    5083             : #include "pm_arrayReplace@routines.inc.F90"
    5084             :     end procedure
    5085             : #endif
    5086             : 
    5087             : #undef LK_ENABLED
    5088             : 
    5089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5090             : 
    5091             : #define CK_ENABLED 1
    5092             : 
    5093             : #if CK5_ENABLED
    5094             :     module procedure setReplacedCusComDefIns_D1_D0_D1_CK5
    5095             :         use pm_kind, only: CKC => CK5
    5096             : #include "pm_arrayReplace@routines.inc.F90"
    5097             :     end procedure
    5098             : #endif
    5099             : 
    5100             : #if CK4_ENABLED
    5101          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_CK4
    5102             :         use pm_kind, only: CKC => CK4
    5103             : #include "pm_arrayReplace@routines.inc.F90"
    5104             :     end procedure
    5105             : #endif
    5106             : 
    5107             : #if CK3_ENABLED
    5108          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_CK3
    5109             :         use pm_kind, only: CKC => CK3
    5110             : #include "pm_arrayReplace@routines.inc.F90"
    5111             :     end procedure
    5112             : #endif
    5113             : 
    5114             : #if CK2_ENABLED
    5115          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_CK2
    5116             :         use pm_kind, only: CKC => CK2
    5117             : #include "pm_arrayReplace@routines.inc.F90"
    5118             :     end procedure
    5119             : #endif
    5120             : 
    5121             : #if CK1_ENABLED
    5122          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_CK1
    5123             :         use pm_kind, only: CKC => CK1
    5124             : #include "pm_arrayReplace@routines.inc.F90"
    5125             :     end procedure
    5126             : #endif
    5127             : 
    5128             : #undef CK_ENABLED
    5129             : 
    5130             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5131             : 
    5132             : #define RK_ENABLED 1
    5133             : 
    5134             : #if RK5_ENABLED
    5135             :     module procedure setReplacedCusComDefIns_D1_D0_D1_RK5
    5136             :         use pm_kind, only: RKC => RK5
    5137             : #include "pm_arrayReplace@routines.inc.F90"
    5138             :     end procedure
    5139             : #endif
    5140             : 
    5141             : #if RK4_ENABLED
    5142          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_RK4
    5143             :         use pm_kind, only: RKC => RK4
    5144             : #include "pm_arrayReplace@routines.inc.F90"
    5145             :     end procedure
    5146             : #endif
    5147             : 
    5148             : #if RK3_ENABLED
    5149          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_RK3
    5150             :         use pm_kind, only: RKC => RK3
    5151             : #include "pm_arrayReplace@routines.inc.F90"
    5152             :     end procedure
    5153             : #endif
    5154             : 
    5155             : #if RK2_ENABLED
    5156          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_RK2
    5157             :         use pm_kind, only: RKC => RK2
    5158             : #include "pm_arrayReplace@routines.inc.F90"
    5159             :     end procedure
    5160             : #endif
    5161             : 
    5162             : #if RK1_ENABLED
    5163          20 :     module procedure setReplacedCusComDefIns_D1_D0_D1_RK1
    5164             :         use pm_kind, only: RKC => RK1
    5165             : #include "pm_arrayReplace@routines.inc.F90"
    5166             :     end procedure
    5167             : #endif
    5168             : 
    5169             : #undef RK_ENABLED
    5170             : 
    5171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5172             : 
    5173             : #undef D1_D0_D1_ENABLED
    5174             : 
    5175             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5178             : 
    5179             : #define D1_D1_D0_ENABLED 1
    5180             : 
    5181             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5182             : 
    5183             : #define SK_ENABLED 1
    5184             : 
    5185             : #if SK5_ENABLED
    5186             :     module procedure setReplacedCusComDefIns_D1_D1_D0_SK5
    5187             :         use pm_kind, only: SKC => SK5
    5188             : #include "pm_arrayReplace@routines.inc.F90"
    5189             :     end procedure
    5190             : #endif
    5191             : 
    5192             : #if SK4_ENABLED
    5193             :     module procedure setReplacedCusComDefIns_D1_D1_D0_SK4
    5194             :         use pm_kind, only: SKC => SK4
    5195             : #include "pm_arrayReplace@routines.inc.F90"
    5196             :     end procedure
    5197             : #endif
    5198             : 
    5199             : #if SK3_ENABLED
    5200             :     module procedure setReplacedCusComDefIns_D1_D1_D0_SK3
    5201             :         use pm_kind, only: SKC => SK3
    5202             : #include "pm_arrayReplace@routines.inc.F90"
    5203             :     end procedure
    5204             : #endif
    5205             : 
    5206             : #if SK2_ENABLED
    5207             :     module procedure setReplacedCusComDefIns_D1_D1_D0_SK2
    5208             :         use pm_kind, only: SKC => SK2
    5209             : #include "pm_arrayReplace@routines.inc.F90"
    5210             :     end procedure
    5211             : #endif
    5212             : 
    5213             : #if SK1_ENABLED
    5214          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_SK1
    5215             :         use pm_kind, only: SKC => SK1
    5216             : #include "pm_arrayReplace@routines.inc.F90"
    5217          20 :     end procedure
    5218             : #endif
    5219             : 
    5220             : #undef SK_ENABLED
    5221             : 
    5222             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5223             : 
    5224             : #define IK_ENABLED 1
    5225             : 
    5226             : #if IK5_ENABLED
    5227          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_IK5
    5228             :         use pm_kind, only: IKC => IK5
    5229             : #include "pm_arrayReplace@routines.inc.F90"
    5230             :     end procedure
    5231             : #endif
    5232             : 
    5233             : #if IK4_ENABLED
    5234          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_IK4
    5235             :         use pm_kind, only: IKC => IK4
    5236             : #include "pm_arrayReplace@routines.inc.F90"
    5237             :     end procedure
    5238             : #endif
    5239             : 
    5240             : #if IK3_ENABLED
    5241          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_IK3
    5242             :         use pm_kind, only: IKC => IK3
    5243             : #include "pm_arrayReplace@routines.inc.F90"
    5244             :     end procedure
    5245             : #endif
    5246             : 
    5247             : #if IK2_ENABLED
    5248          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_IK2
    5249             :         use pm_kind, only: IKC => IK2
    5250             : #include "pm_arrayReplace@routines.inc.F90"
    5251             :     end procedure
    5252             : #endif
    5253             : 
    5254             : #if IK1_ENABLED
    5255          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_IK1
    5256             :         use pm_kind, only: IKC => IK1
    5257             : #include "pm_arrayReplace@routines.inc.F90"
    5258             :     end procedure
    5259             : #endif
    5260             : 
    5261             : #undef IK_ENABLED
    5262             : 
    5263             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5264             : 
    5265             : #define LK_ENABLED 1
    5266             : 
    5267             : #if LK5_ENABLED
    5268          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_LK5
    5269             :         use pm_kind, only: LKC => LK5
    5270             : #include "pm_arrayReplace@routines.inc.F90"
    5271             :     end procedure
    5272             : #endif
    5273             : 
    5274             : #if LK4_ENABLED
    5275          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_LK4
    5276             :         use pm_kind, only: LKC => LK4
    5277             : #include "pm_arrayReplace@routines.inc.F90"
    5278             :     end procedure
    5279             : #endif
    5280             : 
    5281             : #if LK3_ENABLED
    5282          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_LK3
    5283             :         use pm_kind, only: LKC => LK3
    5284             : #include "pm_arrayReplace@routines.inc.F90"
    5285             :     end procedure
    5286             : #endif
    5287             : 
    5288             : #if LK2_ENABLED
    5289          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_LK2
    5290             :         use pm_kind, only: LKC => LK2
    5291             : #include "pm_arrayReplace@routines.inc.F90"
    5292             :     end procedure
    5293             : #endif
    5294             : 
    5295             : #if LK1_ENABLED
    5296          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_LK1
    5297             :         use pm_kind, only: LKC => LK1
    5298             : #include "pm_arrayReplace@routines.inc.F90"
    5299             :     end procedure
    5300             : #endif
    5301             : 
    5302             : #undef LK_ENABLED
    5303             : 
    5304             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5305             : 
    5306             : #define CK_ENABLED 1
    5307             : 
    5308             : #if CK5_ENABLED
    5309             :     module procedure setReplacedCusComDefIns_D1_D1_D0_CK5
    5310             :         use pm_kind, only: CKC => CK5
    5311             : #include "pm_arrayReplace@routines.inc.F90"
    5312             :     end procedure
    5313             : #endif
    5314             : 
    5315             : #if CK4_ENABLED
    5316          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_CK4
    5317             :         use pm_kind, only: CKC => CK4
    5318             : #include "pm_arrayReplace@routines.inc.F90"
    5319             :     end procedure
    5320             : #endif
    5321             : 
    5322             : #if CK3_ENABLED
    5323          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_CK3
    5324             :         use pm_kind, only: CKC => CK3
    5325             : #include "pm_arrayReplace@routines.inc.F90"
    5326             :     end procedure
    5327             : #endif
    5328             : 
    5329             : #if CK2_ENABLED
    5330          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_CK2
    5331             :         use pm_kind, only: CKC => CK2
    5332             : #include "pm_arrayReplace@routines.inc.F90"
    5333             :     end procedure
    5334             : #endif
    5335             : 
    5336             : #if CK1_ENABLED
    5337          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_CK1
    5338             :         use pm_kind, only: CKC => CK1
    5339             : #include "pm_arrayReplace@routines.inc.F90"
    5340             :     end procedure
    5341             : #endif
    5342             : 
    5343             : #undef CK_ENABLED
    5344             : 
    5345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5346             : 
    5347             : #define RK_ENABLED 1
    5348             : 
    5349             : #if RK5_ENABLED
    5350             :     module procedure setReplacedCusComDefIns_D1_D1_D0_RK5
    5351             :         use pm_kind, only: RKC => RK5
    5352             : #include "pm_arrayReplace@routines.inc.F90"
    5353             :     end procedure
    5354             : #endif
    5355             : 
    5356             : #if RK4_ENABLED
    5357          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_RK4
    5358             :         use pm_kind, only: RKC => RK4
    5359             : #include "pm_arrayReplace@routines.inc.F90"
    5360             :     end procedure
    5361             : #endif
    5362             : 
    5363             : #if RK3_ENABLED
    5364          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_RK3
    5365             :         use pm_kind, only: RKC => RK3
    5366             : #include "pm_arrayReplace@routines.inc.F90"
    5367             :     end procedure
    5368             : #endif
    5369             : 
    5370             : #if RK2_ENABLED
    5371          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_RK2
    5372             :         use pm_kind, only: RKC => RK2
    5373             : #include "pm_arrayReplace@routines.inc.F90"
    5374             :     end procedure
    5375             : #endif
    5376             : 
    5377             : #if RK1_ENABLED
    5378          20 :     module procedure setReplacedCusComDefIns_D1_D1_D0_RK1
    5379             :         use pm_kind, only: RKC => RK1
    5380             : #include "pm_arrayReplace@routines.inc.F90"
    5381             :     end procedure
    5382             : #endif
    5383             : 
    5384             : #undef RK_ENABLED
    5385             : 
    5386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5387             : 
    5388             : #undef D1_D1_D0_ENABLED
    5389             : 
    5390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5393             : 
    5394             : #define D1_D1_D1_ENABLED 1
    5395             : 
    5396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5397             : 
    5398             : #define SK_ENABLED 1
    5399             : 
    5400             : #if SK5_ENABLED
    5401             :     module procedure setReplacedCusComDefIns_D1_D1_D1_SK5
    5402             :         use pm_kind, only: SKC => SK5
    5403             : #include "pm_arrayReplace@routines.inc.F90"
    5404             :     end procedure
    5405             : #endif
    5406             : 
    5407             : #if SK4_ENABLED
    5408             :     module procedure setReplacedCusComDefIns_D1_D1_D1_SK4
    5409             :         use pm_kind, only: SKC => SK4
    5410             : #include "pm_arrayReplace@routines.inc.F90"
    5411             :     end procedure
    5412             : #endif
    5413             : 
    5414             : #if SK3_ENABLED
    5415             :     module procedure setReplacedCusComDefIns_D1_D1_D1_SK3
    5416             :         use pm_kind, only: SKC => SK3
    5417             : #include "pm_arrayReplace@routines.inc.F90"
    5418             :     end procedure
    5419             : #endif
    5420             : 
    5421             : #if SK2_ENABLED
    5422             :     module procedure setReplacedCusComDefIns_D1_D1_D1_SK2
    5423             :         use pm_kind, only: SKC => SK2
    5424             : #include "pm_arrayReplace@routines.inc.F90"
    5425             :     end procedure
    5426             : #endif
    5427             : 
    5428             : #if SK1_ENABLED
    5429          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_SK1
    5430             :         use pm_kind, only: SKC => SK1
    5431             : #include "pm_arrayReplace@routines.inc.F90"
    5432          10 :     end procedure
    5433             : #endif
    5434             : 
    5435             : #undef SK_ENABLED
    5436             : 
    5437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5438             : 
    5439             : #define IK_ENABLED 1
    5440             : 
    5441             : #if IK5_ENABLED
    5442          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_IK5
    5443             :         use pm_kind, only: IKC => IK5
    5444             : #include "pm_arrayReplace@routines.inc.F90"
    5445             :     end procedure
    5446             : #endif
    5447             : 
    5448             : #if IK4_ENABLED
    5449          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_IK4
    5450             :         use pm_kind, only: IKC => IK4
    5451             : #include "pm_arrayReplace@routines.inc.F90"
    5452             :     end procedure
    5453             : #endif
    5454             : 
    5455             : #if IK3_ENABLED
    5456          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_IK3
    5457             :         use pm_kind, only: IKC => IK3
    5458             : #include "pm_arrayReplace@routines.inc.F90"
    5459             :     end procedure
    5460             : #endif
    5461             : 
    5462             : #if IK2_ENABLED
    5463          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_IK2
    5464             :         use pm_kind, only: IKC => IK2
    5465             : #include "pm_arrayReplace@routines.inc.F90"
    5466             :     end procedure
    5467             : #endif
    5468             : 
    5469             : #if IK1_ENABLED
    5470          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_IK1
    5471             :         use pm_kind, only: IKC => IK1
    5472             : #include "pm_arrayReplace@routines.inc.F90"
    5473             :     end procedure
    5474             : #endif
    5475             : 
    5476             : #undef IK_ENABLED
    5477             : 
    5478             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5479             : 
    5480             : #define LK_ENABLED 1
    5481             : 
    5482             : #if LK5_ENABLED
    5483          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_LK5
    5484             :         use pm_kind, only: LKC => LK5
    5485             : #include "pm_arrayReplace@routines.inc.F90"
    5486             :     end procedure
    5487             : #endif
    5488             : 
    5489             : #if LK4_ENABLED
    5490          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_LK4
    5491             :         use pm_kind, only: LKC => LK4
    5492             : #include "pm_arrayReplace@routines.inc.F90"
    5493             :     end procedure
    5494             : #endif
    5495             : 
    5496             : #if LK3_ENABLED
    5497          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_LK3
    5498             :         use pm_kind, only: LKC => LK3
    5499             : #include "pm_arrayReplace@routines.inc.F90"
    5500             :     end procedure
    5501             : #endif
    5502             : 
    5503             : #if LK2_ENABLED
    5504          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_LK2
    5505             :         use pm_kind, only: LKC => LK2
    5506             : #include "pm_arrayReplace@routines.inc.F90"
    5507             :     end procedure
    5508             : #endif
    5509             : 
    5510             : #if LK1_ENABLED
    5511          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_LK1
    5512             :         use pm_kind, only: LKC => LK1
    5513             : #include "pm_arrayReplace@routines.inc.F90"
    5514             :     end procedure
    5515             : #endif
    5516             : 
    5517             : #undef LK_ENABLED
    5518             : 
    5519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5520             : 
    5521             : #define CK_ENABLED 1
    5522             : 
    5523             : #if CK5_ENABLED
    5524             :     module procedure setReplacedCusComDefIns_D1_D1_D1_CK5
    5525             :         use pm_kind, only: CKC => CK5
    5526             : #include "pm_arrayReplace@routines.inc.F90"
    5527             :     end procedure
    5528             : #endif
    5529             : 
    5530             : #if CK4_ENABLED
    5531          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_CK4
    5532             :         use pm_kind, only: CKC => CK4
    5533             : #include "pm_arrayReplace@routines.inc.F90"
    5534             :     end procedure
    5535             : #endif
    5536             : 
    5537             : #if CK3_ENABLED
    5538          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_CK3
    5539             :         use pm_kind, only: CKC => CK3
    5540             : #include "pm_arrayReplace@routines.inc.F90"
    5541             :     end procedure
    5542             : #endif
    5543             : 
    5544             : #if CK2_ENABLED
    5545          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_CK2
    5546             :         use pm_kind, only: CKC => CK2
    5547             : #include "pm_arrayReplace@routines.inc.F90"
    5548             :     end procedure
    5549             : #endif
    5550             : 
    5551             : #if CK1_ENABLED
    5552          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_CK1
    5553             :         use pm_kind, only: CKC => CK1
    5554             : #include "pm_arrayReplace@routines.inc.F90"
    5555             :     end procedure
    5556             : #endif
    5557             : 
    5558             : #undef CK_ENABLED
    5559             : 
    5560             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5561             : 
    5562             : #define RK_ENABLED 1
    5563             : 
    5564             : #if RK5_ENABLED
    5565             :     module procedure setReplacedCusComDefIns_D1_D1_D1_RK5
    5566             :         use pm_kind, only: RKC => RK5
    5567             : #include "pm_arrayReplace@routines.inc.F90"
    5568             :     end procedure
    5569             : #endif
    5570             : 
    5571             : #if RK4_ENABLED
    5572          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_RK4
    5573             :         use pm_kind, only: RKC => RK4
    5574             : #include "pm_arrayReplace@routines.inc.F90"
    5575             :     end procedure
    5576             : #endif
    5577             : 
    5578             : #if RK3_ENABLED
    5579          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_RK3
    5580             :         use pm_kind, only: RKC => RK3
    5581             : #include "pm_arrayReplace@routines.inc.F90"
    5582             :     end procedure
    5583             : #endif
    5584             : 
    5585             : #if RK2_ENABLED
    5586          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_RK2
    5587             :         use pm_kind, only: RKC => RK2
    5588             : #include "pm_arrayReplace@routines.inc.F90"
    5589             :     end procedure
    5590             : #endif
    5591             : 
    5592             : #if RK1_ENABLED
    5593          10 :     module procedure setReplacedCusComDefIns_D1_D1_D1_RK1
    5594             :         use pm_kind, only: RKC => RK1
    5595             : #include "pm_arrayReplace@routines.inc.F90"
    5596             :     end procedure
    5597             : #endif
    5598             : 
    5599             : #undef RK_ENABLED
    5600             : 
    5601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5602             : 
    5603             : #undef D1_D1_D1_ENABLED
    5604             : 
    5605             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5606             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5607             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5608             : 
    5609             : #undef CusCom_ENABLED
    5610             : #undef DefIns_ENABLED
    5611             : 
    5612             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5613             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5614             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5615             : 
    5616             : #define DefCom_ENABLED 1
    5617             : #define CusIns_ENABLED 1
    5618             : 
    5619             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5620             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5622             : 
    5623             : #define D0_D0_D0_ENABLED 1
    5624             : 
    5625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5626             : 
    5627             : #define SK_ENABLED 1
    5628             : 
    5629             : #if SK5_ENABLED
    5630             :     module procedure setReplacedDefComCusIns_D0_D0_D0_SK5
    5631             :         use pm_kind, only: SKC => SK5
    5632             : #include "pm_arrayReplace@routines.inc.F90"
    5633             :     end procedure
    5634             : #endif
    5635             : 
    5636             : #if SK4_ENABLED
    5637             :     module procedure setReplacedDefComCusIns_D0_D0_D0_SK4
    5638             :         use pm_kind, only: SKC => SK4
    5639             : #include "pm_arrayReplace@routines.inc.F90"
    5640             :     end procedure
    5641             : #endif
    5642             : 
    5643             : #if SK3_ENABLED
    5644             :     module procedure setReplacedDefComCusIns_D0_D0_D0_SK3
    5645             :         use pm_kind, only: SKC => SK3
    5646             : #include "pm_arrayReplace@routines.inc.F90"
    5647             :     end procedure
    5648             : #endif
    5649             : 
    5650             : #if SK2_ENABLED
    5651             :     module procedure setReplacedDefComCusIns_D0_D0_D0_SK2
    5652             :         use pm_kind, only: SKC => SK2
    5653             : #include "pm_arrayReplace@routines.inc.F90"
    5654             :     end procedure
    5655             : #endif
    5656             : 
    5657             : #if SK1_ENABLED
    5658         133 :     module procedure setReplacedDefComCusIns_D0_D0_D0_SK1
    5659             :         use pm_kind, only: SKC => SK1
    5660             : #include "pm_arrayReplace@routines.inc.F90"
    5661         133 :     end procedure
    5662             : #endif
    5663             : 
    5664             : #undef SK_ENABLED
    5665             : 
    5666             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5667             : 
    5668             : #undef D0_D0_D0_ENABLED
    5669             : 
    5670             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5671             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5672             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5673             : 
    5674             : #define D1_D0_D0_ENABLED 1
    5675             : 
    5676             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5677             : 
    5678             : #define SK_ENABLED 1
    5679             : 
    5680             : #if SK5_ENABLED
    5681             :     module procedure setReplacedDefComCusIns_D1_D0_D0_SK5
    5682             :         use pm_kind, only: SKC => SK5
    5683             : #include "pm_arrayReplace@routines.inc.F90"
    5684             :     end procedure
    5685             : #endif
    5686             : 
    5687             : #if SK4_ENABLED
    5688             :     module procedure setReplacedDefComCusIns_D1_D0_D0_SK4
    5689             :         use pm_kind, only: SKC => SK4
    5690             : #include "pm_arrayReplace@routines.inc.F90"
    5691             :     end procedure
    5692             : #endif
    5693             : 
    5694             : #if SK3_ENABLED
    5695             :     module procedure setReplacedDefComCusIns_D1_D0_D0_SK3
    5696             :         use pm_kind, only: SKC => SK3
    5697             : #include "pm_arrayReplace@routines.inc.F90"
    5698             :     end procedure
    5699             : #endif
    5700             : 
    5701             : #if SK2_ENABLED
    5702             :     module procedure setReplacedDefComCusIns_D1_D0_D0_SK2
    5703             :         use pm_kind, only: SKC => SK2
    5704             : #include "pm_arrayReplace@routines.inc.F90"
    5705             :     end procedure
    5706             : #endif
    5707             : 
    5708             : #if SK1_ENABLED
    5709         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_SK1
    5710             :         use pm_kind, only: SKC => SK1
    5711             : #include "pm_arrayReplace@routines.inc.F90"
    5712         180 :     end procedure
    5713             : #endif
    5714             : 
    5715             : #undef SK_ENABLED
    5716             : 
    5717             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5718             : 
    5719             : #define IK_ENABLED 1
    5720             : 
    5721             : #if IK5_ENABLED
    5722         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_IK5
    5723             :         use pm_kind, only: IKC => IK5
    5724             : #include "pm_arrayReplace@routines.inc.F90"
    5725             :     end procedure
    5726             : #endif
    5727             : 
    5728             : #if IK4_ENABLED
    5729         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_IK4
    5730             :         use pm_kind, only: IKC => IK4
    5731             : #include "pm_arrayReplace@routines.inc.F90"
    5732             :     end procedure
    5733             : #endif
    5734             : 
    5735             : #if IK3_ENABLED
    5736         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_IK3
    5737             :         use pm_kind, only: IKC => IK3
    5738             : #include "pm_arrayReplace@routines.inc.F90"
    5739             :     end procedure
    5740             : #endif
    5741             : 
    5742             : #if IK2_ENABLED
    5743         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_IK2
    5744             :         use pm_kind, only: IKC => IK2
    5745             : #include "pm_arrayReplace@routines.inc.F90"
    5746             :     end procedure
    5747             : #endif
    5748             : 
    5749             : #if IK1_ENABLED
    5750         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_IK1
    5751             :         use pm_kind, only: IKC => IK1
    5752             : #include "pm_arrayReplace@routines.inc.F90"
    5753             :     end procedure
    5754             : #endif
    5755             : 
    5756             : #undef IK_ENABLED
    5757             : 
    5758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5759             : 
    5760             : #define LK_ENABLED 1
    5761             : 
    5762             : #if LK5_ENABLED
    5763         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_LK5
    5764             :         use pm_kind, only: LKC => LK5
    5765             : #include "pm_arrayReplace@routines.inc.F90"
    5766             :     end procedure
    5767             : #endif
    5768             : 
    5769             : #if LK4_ENABLED
    5770         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_LK4
    5771             :         use pm_kind, only: LKC => LK4
    5772             : #include "pm_arrayReplace@routines.inc.F90"
    5773             :     end procedure
    5774             : #endif
    5775             : 
    5776             : #if LK3_ENABLED
    5777         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_LK3
    5778             :         use pm_kind, only: LKC => LK3
    5779             : #include "pm_arrayReplace@routines.inc.F90"
    5780             :     end procedure
    5781             : #endif
    5782             : 
    5783             : #if LK2_ENABLED
    5784         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_LK2
    5785             :         use pm_kind, only: LKC => LK2
    5786             : #include "pm_arrayReplace@routines.inc.F90"
    5787             :     end procedure
    5788             : #endif
    5789             : 
    5790             : #if LK1_ENABLED
    5791         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_LK1
    5792             :         use pm_kind, only: LKC => LK1
    5793             : #include "pm_arrayReplace@routines.inc.F90"
    5794             :     end procedure
    5795             : #endif
    5796             : 
    5797             : #undef LK_ENABLED
    5798             : 
    5799             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5800             : 
    5801             : #define CK_ENABLED 1
    5802             : 
    5803             : #if CK5_ENABLED
    5804             :     module procedure setReplacedDefComCusIns_D1_D0_D0_CK5
    5805             :         use pm_kind, only: CKC => CK5
    5806             : #include "pm_arrayReplace@routines.inc.F90"
    5807             :     end procedure
    5808             : #endif
    5809             : 
    5810             : #if CK4_ENABLED
    5811         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_CK4
    5812             :         use pm_kind, only: CKC => CK4
    5813             : #include "pm_arrayReplace@routines.inc.F90"
    5814             :     end procedure
    5815             : #endif
    5816             : 
    5817             : #if CK3_ENABLED
    5818         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_CK3
    5819             :         use pm_kind, only: CKC => CK3
    5820             : #include "pm_arrayReplace@routines.inc.F90"
    5821             :     end procedure
    5822             : #endif
    5823             : 
    5824             : #if CK2_ENABLED
    5825         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_CK2
    5826             :         use pm_kind, only: CKC => CK2
    5827             : #include "pm_arrayReplace@routines.inc.F90"
    5828             :     end procedure
    5829             : #endif
    5830             : 
    5831             : #if CK1_ENABLED
    5832         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_CK1
    5833             :         use pm_kind, only: CKC => CK1
    5834             : #include "pm_arrayReplace@routines.inc.F90"
    5835             :     end procedure
    5836             : #endif
    5837             : 
    5838             : #undef CK_ENABLED
    5839             : 
    5840             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5841             : 
    5842             : #define RK_ENABLED 1
    5843             : 
    5844             : #if RK5_ENABLED
    5845             :     module procedure setReplacedDefComCusIns_D1_D0_D0_RK5
    5846             :         use pm_kind, only: RKC => RK5
    5847             : #include "pm_arrayReplace@routines.inc.F90"
    5848             :     end procedure
    5849             : #endif
    5850             : 
    5851             : #if RK4_ENABLED
    5852         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_RK4
    5853             :         use pm_kind, only: RKC => RK4
    5854             : #include "pm_arrayReplace@routines.inc.F90"
    5855             :     end procedure
    5856             : #endif
    5857             : 
    5858             : #if RK3_ENABLED
    5859         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_RK3
    5860             :         use pm_kind, only: RKC => RK3
    5861             : #include "pm_arrayReplace@routines.inc.F90"
    5862             :     end procedure
    5863             : #endif
    5864             : 
    5865             : #if RK2_ENABLED
    5866         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_RK2
    5867             :         use pm_kind, only: RKC => RK2
    5868             : #include "pm_arrayReplace@routines.inc.F90"
    5869             :     end procedure
    5870             : #endif
    5871             : 
    5872             : #if RK1_ENABLED
    5873         180 :     module procedure setReplacedDefComCusIns_D1_D0_D0_RK1
    5874             :         use pm_kind, only: RKC => RK1
    5875             : #include "pm_arrayReplace@routines.inc.F90"
    5876             :     end procedure
    5877             : #endif
    5878             : 
    5879             : #undef RK_ENABLED
    5880             : 
    5881             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5882             : 
    5883             : #undef D1_D0_D0_ENABLED
    5884             : 
    5885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5886             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5887             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5888             : 
    5889             : #define D1_D0_D1_ENABLED 1
    5890             : 
    5891             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5892             : 
    5893             : #define SK_ENABLED 1
    5894             : 
    5895             : #if SK5_ENABLED
    5896             :     module procedure setReplacedDefComCusIns_D1_D0_D1_SK5
    5897             :         use pm_kind, only: SKC => SK5
    5898             : #include "pm_arrayReplace@routines.inc.F90"
    5899             :     end procedure
    5900             : #endif
    5901             : 
    5902             : #if SK4_ENABLED
    5903             :     module procedure setReplacedDefComCusIns_D1_D0_D1_SK4
    5904             :         use pm_kind, only: SKC => SK4
    5905             : #include "pm_arrayReplace@routines.inc.F90"
    5906             :     end procedure
    5907             : #endif
    5908             : 
    5909             : #if SK3_ENABLED
    5910             :     module procedure setReplacedDefComCusIns_D1_D0_D1_SK3
    5911             :         use pm_kind, only: SKC => SK3
    5912             : #include "pm_arrayReplace@routines.inc.F90"
    5913             :     end procedure
    5914             : #endif
    5915             : 
    5916             : #if SK2_ENABLED
    5917             :     module procedure setReplacedDefComCusIns_D1_D0_D1_SK2
    5918             :         use pm_kind, only: SKC => SK2
    5919             : #include "pm_arrayReplace@routines.inc.F90"
    5920             :     end procedure
    5921             : #endif
    5922             : 
    5923             : #if SK1_ENABLED
    5924         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_SK1
    5925             :         use pm_kind, only: SKC => SK1
    5926             : #include "pm_arrayReplace@routines.inc.F90"
    5927         180 :     end procedure
    5928             : #endif
    5929             : 
    5930             : #undef SK_ENABLED
    5931             : 
    5932             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5933             : 
    5934             : #define IK_ENABLED 1
    5935             : 
    5936             : #if IK5_ENABLED
    5937         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_IK5
    5938             :         use pm_kind, only: IKC => IK5
    5939             : #include "pm_arrayReplace@routines.inc.F90"
    5940             :     end procedure
    5941             : #endif
    5942             : 
    5943             : #if IK4_ENABLED
    5944         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_IK4
    5945             :         use pm_kind, only: IKC => IK4
    5946             : #include "pm_arrayReplace@routines.inc.F90"
    5947             :     end procedure
    5948             : #endif
    5949             : 
    5950             : #if IK3_ENABLED
    5951         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_IK3
    5952             :         use pm_kind, only: IKC => IK3
    5953             : #include "pm_arrayReplace@routines.inc.F90"
    5954             :     end procedure
    5955             : #endif
    5956             : 
    5957             : #if IK2_ENABLED
    5958         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_IK2
    5959             :         use pm_kind, only: IKC => IK2
    5960             : #include "pm_arrayReplace@routines.inc.F90"
    5961             :     end procedure
    5962             : #endif
    5963             : 
    5964             : #if IK1_ENABLED
    5965         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_IK1
    5966             :         use pm_kind, only: IKC => IK1
    5967             : #include "pm_arrayReplace@routines.inc.F90"
    5968             :     end procedure
    5969             : #endif
    5970             : 
    5971             : #undef IK_ENABLED
    5972             : 
    5973             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5974             : 
    5975             : #define LK_ENABLED 1
    5976             : 
    5977             : #if LK5_ENABLED
    5978         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_LK5
    5979             :         use pm_kind, only: LKC => LK5
    5980             : #include "pm_arrayReplace@routines.inc.F90"
    5981             :     end procedure
    5982             : #endif
    5983             : 
    5984             : #if LK4_ENABLED
    5985         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_LK4
    5986             :         use pm_kind, only: LKC => LK4
    5987             : #include "pm_arrayReplace@routines.inc.F90"
    5988             :     end procedure
    5989             : #endif
    5990             : 
    5991             : #if LK3_ENABLED
    5992         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_LK3
    5993             :         use pm_kind, only: LKC => LK3
    5994             : #include "pm_arrayReplace@routines.inc.F90"
    5995             :     end procedure
    5996             : #endif
    5997             : 
    5998             : #if LK2_ENABLED
    5999         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_LK2
    6000             :         use pm_kind, only: LKC => LK2
    6001             : #include "pm_arrayReplace@routines.inc.F90"
    6002             :     end procedure
    6003             : #endif
    6004             : 
    6005             : #if LK1_ENABLED
    6006         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_LK1
    6007             :         use pm_kind, only: LKC => LK1
    6008             : #include "pm_arrayReplace@routines.inc.F90"
    6009             :     end procedure
    6010             : #endif
    6011             : 
    6012             : #undef LK_ENABLED
    6013             : 
    6014             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6015             : 
    6016             : #define CK_ENABLED 1
    6017             : 
    6018             : #if CK5_ENABLED
    6019             :     module procedure setReplacedDefComCusIns_D1_D0_D1_CK5
    6020             :         use pm_kind, only: CKC => CK5
    6021             : #include "pm_arrayReplace@routines.inc.F90"
    6022             :     end procedure
    6023             : #endif
    6024             : 
    6025             : #if CK4_ENABLED
    6026         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_CK4
    6027             :         use pm_kind, only: CKC => CK4
    6028             : #include "pm_arrayReplace@routines.inc.F90"
    6029             :     end procedure
    6030             : #endif
    6031             : 
    6032             : #if CK3_ENABLED
    6033         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_CK3
    6034             :         use pm_kind, only: CKC => CK3
    6035             : #include "pm_arrayReplace@routines.inc.F90"
    6036             :     end procedure
    6037             : #endif
    6038             : 
    6039             : #if CK2_ENABLED
    6040         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_CK2
    6041             :         use pm_kind, only: CKC => CK2
    6042             : #include "pm_arrayReplace@routines.inc.F90"
    6043             :     end procedure
    6044             : #endif
    6045             : 
    6046             : #if CK1_ENABLED
    6047         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_CK1
    6048             :         use pm_kind, only: CKC => CK1
    6049             : #include "pm_arrayReplace@routines.inc.F90"
    6050             :     end procedure
    6051             : #endif
    6052             : 
    6053             : #undef CK_ENABLED
    6054             : 
    6055             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6056             : 
    6057             : #define RK_ENABLED 1
    6058             : 
    6059             : #if RK5_ENABLED
    6060             :     module procedure setReplacedDefComCusIns_D1_D0_D1_RK5
    6061             :         use pm_kind, only: RKC => RK5
    6062             : #include "pm_arrayReplace@routines.inc.F90"
    6063             :     end procedure
    6064             : #endif
    6065             : 
    6066             : #if RK4_ENABLED
    6067         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_RK4
    6068             :         use pm_kind, only: RKC => RK4
    6069             : #include "pm_arrayReplace@routines.inc.F90"
    6070             :     end procedure
    6071             : #endif
    6072             : 
    6073             : #if RK3_ENABLED
    6074         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_RK3
    6075             :         use pm_kind, only: RKC => RK3
    6076             : #include "pm_arrayReplace@routines.inc.F90"
    6077             :     end procedure
    6078             : #endif
    6079             : 
    6080             : #if RK2_ENABLED
    6081         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_RK2
    6082             :         use pm_kind, only: RKC => RK2
    6083             : #include "pm_arrayReplace@routines.inc.F90"
    6084             :     end procedure
    6085             : #endif
    6086             : 
    6087             : #if RK1_ENABLED
    6088         180 :     module procedure setReplacedDefComCusIns_D1_D0_D1_RK1
    6089             :         use pm_kind, only: RKC => RK1
    6090             : #include "pm_arrayReplace@routines.inc.F90"
    6091             :     end procedure
    6092             : #endif
    6093             : 
    6094             : #undef RK_ENABLED
    6095             : 
    6096             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6097             : 
    6098             : #undef D1_D0_D1_ENABLED
    6099             : 
    6100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6103             : 
    6104             : #define D1_D1_D0_ENABLED 1
    6105             : 
    6106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6107             : 
    6108             : #define SK_ENABLED 1
    6109             : 
    6110             : #if SK5_ENABLED
    6111             :     module procedure setReplacedDefComCusIns_D1_D1_D0_SK5
    6112             :         use pm_kind, only: SKC => SK5
    6113             : #include "pm_arrayReplace@routines.inc.F90"
    6114             :     end procedure
    6115             : #endif
    6116             : 
    6117             : #if SK4_ENABLED
    6118             :     module procedure setReplacedDefComCusIns_D1_D1_D0_SK4
    6119             :         use pm_kind, only: SKC => SK4
    6120             : #include "pm_arrayReplace@routines.inc.F90"
    6121             :     end procedure
    6122             : #endif
    6123             : 
    6124             : #if SK3_ENABLED
    6125             :     module procedure setReplacedDefComCusIns_D1_D1_D0_SK3
    6126             :         use pm_kind, only: SKC => SK3
    6127             : #include "pm_arrayReplace@routines.inc.F90"
    6128             :     end procedure
    6129             : #endif
    6130             : 
    6131             : #if SK2_ENABLED
    6132             :     module procedure setReplacedDefComCusIns_D1_D1_D0_SK2
    6133             :         use pm_kind, only: SKC => SK2
    6134             : #include "pm_arrayReplace@routines.inc.F90"
    6135             :     end procedure
    6136             : #endif
    6137             : 
    6138             : #if SK1_ENABLED
    6139         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_SK1
    6140             :         use pm_kind, only: SKC => SK1
    6141             : #include "pm_arrayReplace@routines.inc.F90"
    6142         180 :     end procedure
    6143             : #endif
    6144             : 
    6145             : #undef SK_ENABLED
    6146             : 
    6147             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6148             : 
    6149             : #define IK_ENABLED 1
    6150             : 
    6151             : #if IK5_ENABLED
    6152         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_IK5
    6153             :         use pm_kind, only: IKC => IK5
    6154             : #include "pm_arrayReplace@routines.inc.F90"
    6155             :     end procedure
    6156             : #endif
    6157             : 
    6158             : #if IK4_ENABLED
    6159         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_IK4
    6160             :         use pm_kind, only: IKC => IK4
    6161             : #include "pm_arrayReplace@routines.inc.F90"
    6162             :     end procedure
    6163             : #endif
    6164             : 
    6165             : #if IK3_ENABLED
    6166         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_IK3
    6167             :         use pm_kind, only: IKC => IK3
    6168             : #include "pm_arrayReplace@routines.inc.F90"
    6169             :     end procedure
    6170             : #endif
    6171             : 
    6172             : #if IK2_ENABLED
    6173         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_IK2
    6174             :         use pm_kind, only: IKC => IK2
    6175             : #include "pm_arrayReplace@routines.inc.F90"
    6176             :     end procedure
    6177             : #endif
    6178             : 
    6179             : #if IK1_ENABLED
    6180         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_IK1
    6181             :         use pm_kind, only: IKC => IK1
    6182             : #include "pm_arrayReplace@routines.inc.F90"
    6183             :     end procedure
    6184             : #endif
    6185             : 
    6186             : #undef IK_ENABLED
    6187             : 
    6188             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6189             : 
    6190             : #define LK_ENABLED 1
    6191             : 
    6192             : #if LK5_ENABLED
    6193         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_LK5
    6194             :         use pm_kind, only: LKC => LK5
    6195             : #include "pm_arrayReplace@routines.inc.F90"
    6196             :     end procedure
    6197             : #endif
    6198             : 
    6199             : #if LK4_ENABLED
    6200         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_LK4
    6201             :         use pm_kind, only: LKC => LK4
    6202             : #include "pm_arrayReplace@routines.inc.F90"
    6203             :     end procedure
    6204             : #endif
    6205             : 
    6206             : #if LK3_ENABLED
    6207         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_LK3
    6208             :         use pm_kind, only: LKC => LK3
    6209             : #include "pm_arrayReplace@routines.inc.F90"
    6210             :     end procedure
    6211             : #endif
    6212             : 
    6213             : #if LK2_ENABLED
    6214         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_LK2
    6215             :         use pm_kind, only: LKC => LK2
    6216             : #include "pm_arrayReplace@routines.inc.F90"
    6217             :     end procedure
    6218             : #endif
    6219             : 
    6220             : #if LK1_ENABLED
    6221         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_LK1
    6222             :         use pm_kind, only: LKC => LK1
    6223             : #include "pm_arrayReplace@routines.inc.F90"
    6224             :     end procedure
    6225             : #endif
    6226             : 
    6227             : #undef LK_ENABLED
    6228             : 
    6229             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6230             : 
    6231             : #define CK_ENABLED 1
    6232             : 
    6233             : #if CK5_ENABLED
    6234             :     module procedure setReplacedDefComCusIns_D1_D1_D0_CK5
    6235             :         use pm_kind, only: CKC => CK5
    6236             : #include "pm_arrayReplace@routines.inc.F90"
    6237             :     end procedure
    6238             : #endif
    6239             : 
    6240             : #if CK4_ENABLED
    6241         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_CK4
    6242             :         use pm_kind, only: CKC => CK4
    6243             : #include "pm_arrayReplace@routines.inc.F90"
    6244             :     end procedure
    6245             : #endif
    6246             : 
    6247             : #if CK3_ENABLED
    6248         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_CK3
    6249             :         use pm_kind, only: CKC => CK3
    6250             : #include "pm_arrayReplace@routines.inc.F90"
    6251             :     end procedure
    6252             : #endif
    6253             : 
    6254             : #if CK2_ENABLED
    6255         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_CK2
    6256             :         use pm_kind, only: CKC => CK2
    6257             : #include "pm_arrayReplace@routines.inc.F90"
    6258             :     end procedure
    6259             : #endif
    6260             : 
    6261             : #if CK1_ENABLED
    6262         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_CK1
    6263             :         use pm_kind, only: CKC => CK1
    6264             : #include "pm_arrayReplace@routines.inc.F90"
    6265             :     end procedure
    6266             : #endif
    6267             : 
    6268             : #undef CK_ENABLED
    6269             : 
    6270             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6271             : 
    6272             : #define RK_ENABLED 1
    6273             : 
    6274             : #if RK5_ENABLED
    6275             :     module procedure setReplacedDefComCusIns_D1_D1_D0_RK5
    6276             :         use pm_kind, only: RKC => RK5
    6277             : #include "pm_arrayReplace@routines.inc.F90"
    6278             :     end procedure
    6279             : #endif
    6280             : 
    6281             : #if RK4_ENABLED
    6282         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_RK4
    6283             :         use pm_kind, only: RKC => RK4
    6284             : #include "pm_arrayReplace@routines.inc.F90"
    6285             :     end procedure
    6286             : #endif
    6287             : 
    6288             : #if RK3_ENABLED
    6289         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_RK3
    6290             :         use pm_kind, only: RKC => RK3
    6291             : #include "pm_arrayReplace@routines.inc.F90"
    6292             :     end procedure
    6293             : #endif
    6294             : 
    6295             : #if RK2_ENABLED
    6296         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_RK2
    6297             :         use pm_kind, only: RKC => RK2
    6298             : #include "pm_arrayReplace@routines.inc.F90"
    6299             :     end procedure
    6300             : #endif
    6301             : 
    6302             : #if RK1_ENABLED
    6303         180 :     module procedure setReplacedDefComCusIns_D1_D1_D0_RK1
    6304             :         use pm_kind, only: RKC => RK1
    6305             : #include "pm_arrayReplace@routines.inc.F90"
    6306             :     end procedure
    6307             : #endif
    6308             : 
    6309             : #undef RK_ENABLED
    6310             : 
    6311             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6312             : 
    6313             : #undef D1_D1_D0_ENABLED
    6314             : 
    6315             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6316             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6318             : 
    6319             : #define D1_D1_D1_ENABLED 1
    6320             : 
    6321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6322             : 
    6323             : #define SK_ENABLED 1
    6324             : 
    6325             : #if SK5_ENABLED
    6326             :     module procedure setReplacedDefComCusIns_D1_D1_D1_SK5
    6327             :         use pm_kind, only: SKC => SK5
    6328             : #include "pm_arrayReplace@routines.inc.F90"
    6329             :     end procedure
    6330             : #endif
    6331             : 
    6332             : #if SK4_ENABLED
    6333             :     module procedure setReplacedDefComCusIns_D1_D1_D1_SK4
    6334             :         use pm_kind, only: SKC => SK4
    6335             : #include "pm_arrayReplace@routines.inc.F90"
    6336             :     end procedure
    6337             : #endif
    6338             : 
    6339             : #if SK3_ENABLED
    6340             :     module procedure setReplacedDefComCusIns_D1_D1_D1_SK3
    6341             :         use pm_kind, only: SKC => SK3
    6342             : #include "pm_arrayReplace@routines.inc.F90"
    6343             :     end procedure
    6344             : #endif
    6345             : 
    6346             : #if SK2_ENABLED
    6347             :     module procedure setReplacedDefComCusIns_D1_D1_D1_SK2
    6348             :         use pm_kind, only: SKC => SK2
    6349             : #include "pm_arrayReplace@routines.inc.F90"
    6350             :     end procedure
    6351             : #endif
    6352             : 
    6353             : #if SK1_ENABLED
    6354         133 :     module procedure setReplacedDefComCusIns_D1_D1_D1_SK1
    6355             :         use pm_kind, only: SKC => SK1
    6356             : #include "pm_arrayReplace@routines.inc.F90"
    6357         133 :     end procedure
    6358             : #endif
    6359             : 
    6360             : #undef SK_ENABLED
    6361             : 
    6362             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6363             : 
    6364             : #define IK_ENABLED 1
    6365             : 
    6366             : #if IK5_ENABLED
    6367         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_IK5
    6368             :         use pm_kind, only: IKC => IK5
    6369             : #include "pm_arrayReplace@routines.inc.F90"
    6370             :     end procedure
    6371             : #endif
    6372             : 
    6373             : #if IK4_ENABLED
    6374         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_IK4
    6375             :         use pm_kind, only: IKC => IK4
    6376             : #include "pm_arrayReplace@routines.inc.F90"
    6377             :     end procedure
    6378             : #endif
    6379             : 
    6380             : #if IK3_ENABLED
    6381         134 :     module procedure setReplacedDefComCusIns_D1_D1_D1_IK3
    6382             :         use pm_kind, only: IKC => IK3
    6383             : #include "pm_arrayReplace@routines.inc.F90"
    6384             :     end procedure
    6385             : #endif
    6386             : 
    6387             : #if IK2_ENABLED
    6388         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_IK2
    6389             :         use pm_kind, only: IKC => IK2
    6390             : #include "pm_arrayReplace@routines.inc.F90"
    6391             :     end procedure
    6392             : #endif
    6393             : 
    6394             : #if IK1_ENABLED
    6395         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_IK1
    6396             :         use pm_kind, only: IKC => IK1
    6397             : #include "pm_arrayReplace@routines.inc.F90"
    6398             :     end procedure
    6399             : #endif
    6400             : 
    6401             : #undef IK_ENABLED
    6402             : 
    6403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6404             : 
    6405             : #define LK_ENABLED 1
    6406             : 
    6407             : #if LK5_ENABLED
    6408         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_LK5
    6409             :         use pm_kind, only: LKC => LK5
    6410             : #include "pm_arrayReplace@routines.inc.F90"
    6411             :     end procedure
    6412             : #endif
    6413             : 
    6414             : #if LK4_ENABLED
    6415         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_LK4
    6416             :         use pm_kind, only: LKC => LK4
    6417             : #include "pm_arrayReplace@routines.inc.F90"
    6418             :     end procedure
    6419             : #endif
    6420             : 
    6421             : #if LK3_ENABLED
    6422         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_LK3
    6423             :         use pm_kind, only: LKC => LK3
    6424             : #include "pm_arrayReplace@routines.inc.F90"
    6425             :     end procedure
    6426             : #endif
    6427             : 
    6428             : #if LK2_ENABLED
    6429         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_LK2
    6430             :         use pm_kind, only: LKC => LK2
    6431             : #include "pm_arrayReplace@routines.inc.F90"
    6432             :     end procedure
    6433             : #endif
    6434             : 
    6435             : #if LK1_ENABLED
    6436         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_LK1
    6437             :         use pm_kind, only: LKC => LK1
    6438             : #include "pm_arrayReplace@routines.inc.F90"
    6439             :     end procedure
    6440             : #endif
    6441             : 
    6442             : #undef LK_ENABLED
    6443             : 
    6444             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6445             : 
    6446             : #define CK_ENABLED 1
    6447             : 
    6448             : #if CK5_ENABLED
    6449             :     module procedure setReplacedDefComCusIns_D1_D1_D1_CK5
    6450             :         use pm_kind, only: CKC => CK5
    6451             : #include "pm_arrayReplace@routines.inc.F90"
    6452             :     end procedure
    6453             : #endif
    6454             : 
    6455             : #if CK4_ENABLED
    6456         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_CK4
    6457             :         use pm_kind, only: CKC => CK4
    6458             : #include "pm_arrayReplace@routines.inc.F90"
    6459             :     end procedure
    6460             : #endif
    6461             : 
    6462             : #if CK3_ENABLED
    6463         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_CK3
    6464             :         use pm_kind, only: CKC => CK3
    6465             : #include "pm_arrayReplace@routines.inc.F90"
    6466             :     end procedure
    6467             : #endif
    6468             : 
    6469             : #if CK2_ENABLED
    6470         133 :     module procedure setReplacedDefComCusIns_D1_D1_D1_CK2
    6471             :         use pm_kind, only: CKC => CK2
    6472             : #include "pm_arrayReplace@routines.inc.F90"
    6473             :     end procedure
    6474             : #endif
    6475             : 
    6476             : #if CK1_ENABLED
    6477         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_CK1
    6478             :         use pm_kind, only: CKC => CK1
    6479             : #include "pm_arrayReplace@routines.inc.F90"
    6480             :     end procedure
    6481             : #endif
    6482             : 
    6483             : #undef CK_ENABLED
    6484             : 
    6485             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6486             : 
    6487             : #define RK_ENABLED 1
    6488             : 
    6489             : #if RK5_ENABLED
    6490             :     module procedure setReplacedDefComCusIns_D1_D1_D1_RK5
    6491             :         use pm_kind, only: RKC => RK5
    6492             : #include "pm_arrayReplace@routines.inc.F90"
    6493             :     end procedure
    6494             : #endif
    6495             : 
    6496             : #if RK4_ENABLED
    6497         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_RK4
    6498             :         use pm_kind, only: RKC => RK4
    6499             : #include "pm_arrayReplace@routines.inc.F90"
    6500             :     end procedure
    6501             : #endif
    6502             : 
    6503             : #if RK3_ENABLED
    6504         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_RK3
    6505             :         use pm_kind, only: RKC => RK3
    6506             : #include "pm_arrayReplace@routines.inc.F90"
    6507             :     end procedure
    6508             : #endif
    6509             : 
    6510             : #if RK2_ENABLED
    6511         133 :     module procedure setReplacedDefComCusIns_D1_D1_D1_RK2
    6512             :         use pm_kind, only: RKC => RK2
    6513             : #include "pm_arrayReplace@routines.inc.F90"
    6514             :     end procedure
    6515             : #endif
    6516             : 
    6517             : #if RK1_ENABLED
    6518         132 :     module procedure setReplacedDefComCusIns_D1_D1_D1_RK1
    6519             :         use pm_kind, only: RKC => RK1
    6520             : #include "pm_arrayReplace@routines.inc.F90"
    6521             :     end procedure
    6522             : #endif
    6523             : 
    6524             : #undef RK_ENABLED
    6525             : 
    6526             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6527             : 
    6528             : #undef D1_D1_D1_ENABLED
    6529             : 
    6530             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6531             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6533             : 
    6534             : #undef DefCom_ENABLED
    6535             : #undef CusIns_ENABLED
    6536             : 
    6537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6538             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6539             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6540             : 
    6541             : #define CusCom_ENABLED 1
    6542             : #define CusIns_ENABLED 1
    6543             : 
    6544             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6545             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6546             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6547             : 
    6548             : #define D0_D0_D0_ENABLED 1
    6549             : 
    6550             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6551             : 
    6552             : #define SK_ENABLED 1
    6553             : 
    6554             : #if SK5_ENABLED
    6555             :     module procedure setReplacedCusComCusIns_D0_D0_D0_SK5
    6556             :         use pm_kind, only: SKC => SK5
    6557             : #include "pm_arrayReplace@routines.inc.F90"
    6558             :     end procedure
    6559             : #endif
    6560             : 
    6561             : #if SK4_ENABLED
    6562             :     module procedure setReplacedCusComCusIns_D0_D0_D0_SK4
    6563             :         use pm_kind, only: SKC => SK4
    6564             : #include "pm_arrayReplace@routines.inc.F90"
    6565             :     end procedure
    6566             : #endif
    6567             : 
    6568             : #if SK3_ENABLED
    6569             :     module procedure setReplacedCusComCusIns_D0_D0_D0_SK3
    6570             :         use pm_kind, only: SKC => SK3
    6571             : #include "pm_arrayReplace@routines.inc.F90"
    6572             :     end procedure
    6573             : #endif
    6574             : 
    6575             : #if SK2_ENABLED
    6576             :     module procedure setReplacedCusComCusIns_D0_D0_D0_SK2
    6577             :         use pm_kind, only: SKC => SK2
    6578             : #include "pm_arrayReplace@routines.inc.F90"
    6579             :     end procedure
    6580             : #endif
    6581             : 
    6582             : #if SK1_ENABLED
    6583           9 :     module procedure setReplacedCusComCusIns_D0_D0_D0_SK1
    6584             :         use pm_kind, only: SKC => SK1
    6585             : #include "pm_arrayReplace@routines.inc.F90"
    6586         132 :     end procedure
    6587             : #endif
    6588             : 
    6589             : #undef SK_ENABLED
    6590             : 
    6591             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6592             : 
    6593             : #undef D0_D0_D0_ENABLED
    6594             : 
    6595             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6596             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6597             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6598             : 
    6599             : #define D1_D0_D0_ENABLED 1
    6600             : 
    6601             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6602             : 
    6603             : #define SK_ENABLED 1
    6604             : 
    6605             : #if SK5_ENABLED
    6606             :     module procedure setReplacedCusComCusIns_D1_D0_D0_SK5
    6607             :         use pm_kind, only: SKC => SK5
    6608             : #include "pm_arrayReplace@routines.inc.F90"
    6609             :     end procedure
    6610             : #endif
    6611             : 
    6612             : #if SK4_ENABLED
    6613             :     module procedure setReplacedCusComCusIns_D1_D0_D0_SK4
    6614             :         use pm_kind, only: SKC => SK4
    6615             : #include "pm_arrayReplace@routines.inc.F90"
    6616             :     end procedure
    6617             : #endif
    6618             : 
    6619             : #if SK3_ENABLED
    6620             :     module procedure setReplacedCusComCusIns_D1_D0_D0_SK3
    6621             :         use pm_kind, only: SKC => SK3
    6622             : #include "pm_arrayReplace@routines.inc.F90"
    6623             :     end procedure
    6624             : #endif
    6625             : 
    6626             : #if SK2_ENABLED
    6627             :     module procedure setReplacedCusComCusIns_D1_D0_D0_SK2
    6628             :         use pm_kind, only: SKC => SK2
    6629             : #include "pm_arrayReplace@routines.inc.F90"
    6630             :     end procedure
    6631             : #endif
    6632             : 
    6633             : #if SK1_ENABLED
    6634         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_SK1
    6635             :         use pm_kind, only: SKC => SK1
    6636             : #include "pm_arrayReplace@routines.inc.F90"
    6637         180 :     end procedure
    6638             : #endif
    6639             : 
    6640             : #undef SK_ENABLED
    6641             : 
    6642             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6643             : 
    6644             : #define IK_ENABLED 1
    6645             : 
    6646             : #if IK5_ENABLED
    6647         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_IK5
    6648             :         use pm_kind, only: IKC => IK5
    6649             : #include "pm_arrayReplace@routines.inc.F90"
    6650             :     end procedure
    6651             : #endif
    6652             : 
    6653             : #if IK4_ENABLED
    6654         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_IK4
    6655             :         use pm_kind, only: IKC => IK4
    6656             : #include "pm_arrayReplace@routines.inc.F90"
    6657             :     end procedure
    6658             : #endif
    6659             : 
    6660             : #if IK3_ENABLED
    6661         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_IK3
    6662             :         use pm_kind, only: IKC => IK3
    6663             : #include "pm_arrayReplace@routines.inc.F90"
    6664             :     end procedure
    6665             : #endif
    6666             : 
    6667             : #if IK2_ENABLED
    6668         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_IK2
    6669             :         use pm_kind, only: IKC => IK2
    6670             : #include "pm_arrayReplace@routines.inc.F90"
    6671             :     end procedure
    6672             : #endif
    6673             : 
    6674             : #if IK1_ENABLED
    6675         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_IK1
    6676             :         use pm_kind, only: IKC => IK1
    6677             : #include "pm_arrayReplace@routines.inc.F90"
    6678             :     end procedure
    6679             : #endif
    6680             : 
    6681             : #undef IK_ENABLED
    6682             : 
    6683             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6684             : 
    6685             : #define LK_ENABLED 1
    6686             : 
    6687             : #if LK5_ENABLED
    6688         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_LK5
    6689             :         use pm_kind, only: LKC => LK5
    6690             : #include "pm_arrayReplace@routines.inc.F90"
    6691             :     end procedure
    6692             : #endif
    6693             : 
    6694             : #if LK4_ENABLED
    6695         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_LK4
    6696             :         use pm_kind, only: LKC => LK4
    6697             : #include "pm_arrayReplace@routines.inc.F90"
    6698             :     end procedure
    6699             : #endif
    6700             : 
    6701             : #if LK3_ENABLED
    6702         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_LK3
    6703             :         use pm_kind, only: LKC => LK3
    6704             : #include "pm_arrayReplace@routines.inc.F90"
    6705             :     end procedure
    6706             : #endif
    6707             : 
    6708             : #if LK2_ENABLED
    6709         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_LK2
    6710             :         use pm_kind, only: LKC => LK2
    6711             : #include "pm_arrayReplace@routines.inc.F90"
    6712             :     end procedure
    6713             : #endif
    6714             : 
    6715             : #if LK1_ENABLED
    6716         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_LK1
    6717             :         use pm_kind, only: LKC => LK1
    6718             : #include "pm_arrayReplace@routines.inc.F90"
    6719             :     end procedure
    6720             : #endif
    6721             : 
    6722             : #undef LK_ENABLED
    6723             : 
    6724             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6725             : 
    6726             : #define CK_ENABLED 1
    6727             : 
    6728             : #if CK5_ENABLED
    6729             :     module procedure setReplacedCusComCusIns_D1_D0_D0_CK5
    6730             :         use pm_kind, only: CKC => CK5
    6731             : #include "pm_arrayReplace@routines.inc.F90"
    6732             :     end procedure
    6733             : #endif
    6734             : 
    6735             : #if CK4_ENABLED
    6736         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_CK4
    6737             :         use pm_kind, only: CKC => CK4
    6738             : #include "pm_arrayReplace@routines.inc.F90"
    6739             :     end procedure
    6740             : #endif
    6741             : 
    6742             : #if CK3_ENABLED
    6743         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_CK3
    6744             :         use pm_kind, only: CKC => CK3
    6745             : #include "pm_arrayReplace@routines.inc.F90"
    6746             :     end procedure
    6747             : #endif
    6748             : 
    6749             : #if CK2_ENABLED
    6750         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_CK2
    6751             :         use pm_kind, only: CKC => CK2
    6752             : #include "pm_arrayReplace@routines.inc.F90"
    6753             :     end procedure
    6754             : #endif
    6755             : 
    6756             : #if CK1_ENABLED
    6757         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_CK1
    6758             :         use pm_kind, only: CKC => CK1
    6759             : #include "pm_arrayReplace@routines.inc.F90"
    6760             :     end procedure
    6761             : #endif
    6762             : 
    6763             : #undef CK_ENABLED
    6764             : 
    6765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6766             : 
    6767             : #define RK_ENABLED 1
    6768             : 
    6769             : #if RK5_ENABLED
    6770             :     module procedure setReplacedCusComCusIns_D1_D0_D0_RK5
    6771             :         use pm_kind, only: RKC => RK5
    6772             : #include "pm_arrayReplace@routines.inc.F90"
    6773             :     end procedure
    6774             : #endif
    6775             : 
    6776             : #if RK4_ENABLED
    6777         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_RK4
    6778             :         use pm_kind, only: RKC => RK4
    6779             : #include "pm_arrayReplace@routines.inc.F90"
    6780             :     end procedure
    6781             : #endif
    6782             : 
    6783             : #if RK3_ENABLED
    6784         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_RK3
    6785             :         use pm_kind, only: RKC => RK3
    6786             : #include "pm_arrayReplace@routines.inc.F90"
    6787             :     end procedure
    6788             : #endif
    6789             : 
    6790             : #if RK2_ENABLED
    6791         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_RK2
    6792             :         use pm_kind, only: RKC => RK2
    6793             : #include "pm_arrayReplace@routines.inc.F90"
    6794             :     end procedure
    6795             : #endif
    6796             : 
    6797             : #if RK1_ENABLED
    6798         180 :     module procedure setReplacedCusComCusIns_D1_D0_D0_RK1
    6799             :         use pm_kind, only: RKC => RK1
    6800             : #include "pm_arrayReplace@routines.inc.F90"
    6801             :     end procedure
    6802             : #endif
    6803             : 
    6804             : #undef RK_ENABLED
    6805             : 
    6806             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6807             : 
    6808             : #undef D1_D0_D0_ENABLED
    6809             : 
    6810             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6811             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6812             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6813             : 
    6814             : #define D1_D0_D1_ENABLED 1
    6815             : 
    6816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6817             : 
    6818             : #define SK_ENABLED 1
    6819             : 
    6820             : #if SK5_ENABLED
    6821             :     module procedure setReplacedCusComCusIns_D1_D0_D1_SK5
    6822             :         use pm_kind, only: SKC => SK5
    6823             : #include "pm_arrayReplace@routines.inc.F90"
    6824             :     end procedure
    6825             : #endif
    6826             : 
    6827             : #if SK4_ENABLED
    6828             :     module procedure setReplacedCusComCusIns_D1_D0_D1_SK4
    6829             :         use pm_kind, only: SKC => SK4
    6830             : #include "pm_arrayReplace@routines.inc.F90"
    6831             :     end procedure
    6832             : #endif
    6833             : 
    6834             : #if SK3_ENABLED
    6835             :     module procedure setReplacedCusComCusIns_D1_D0_D1_SK3
    6836             :         use pm_kind, only: SKC => SK3
    6837             : #include "pm_arrayReplace@routines.inc.F90"
    6838             :     end procedure
    6839             : #endif
    6840             : 
    6841             : #if SK2_ENABLED
    6842             :     module procedure setReplacedCusComCusIns_D1_D0_D1_SK2
    6843             :         use pm_kind, only: SKC => SK2
    6844             : #include "pm_arrayReplace@routines.inc.F90"
    6845             :     end procedure
    6846             : #endif
    6847             : 
    6848             : #if SK1_ENABLED
    6849         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_SK1
    6850             :         use pm_kind, only: SKC => SK1
    6851             : #include "pm_arrayReplace@routines.inc.F90"
    6852         180 :     end procedure
    6853             : #endif
    6854             : 
    6855             : #undef SK_ENABLED
    6856             : 
    6857             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6858             : 
    6859             : #define IK_ENABLED 1
    6860             : 
    6861             : #if IK5_ENABLED
    6862         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_IK5
    6863             :         use pm_kind, only: IKC => IK5
    6864             : #include "pm_arrayReplace@routines.inc.F90"
    6865             :     end procedure
    6866             : #endif
    6867             : 
    6868             : #if IK4_ENABLED
    6869         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_IK4
    6870             :         use pm_kind, only: IKC => IK4
    6871             : #include "pm_arrayReplace@routines.inc.F90"
    6872             :     end procedure
    6873             : #endif
    6874             : 
    6875             : #if IK3_ENABLED
    6876         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_IK3
    6877             :         use pm_kind, only: IKC => IK3
    6878             : #include "pm_arrayReplace@routines.inc.F90"
    6879             :     end procedure
    6880             : #endif
    6881             : 
    6882             : #if IK2_ENABLED
    6883         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_IK2
    6884             :         use pm_kind, only: IKC => IK2
    6885             : #include "pm_arrayReplace@routines.inc.F90"
    6886             :     end procedure
    6887             : #endif
    6888             : 
    6889             : #if IK1_ENABLED
    6890         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_IK1
    6891             :         use pm_kind, only: IKC => IK1
    6892             : #include "pm_arrayReplace@routines.inc.F90"
    6893             :     end procedure
    6894             : #endif
    6895             : 
    6896             : #undef IK_ENABLED
    6897             : 
    6898             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6899             : 
    6900             : #define LK_ENABLED 1
    6901             : 
    6902             : #if LK5_ENABLED
    6903         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_LK5
    6904             :         use pm_kind, only: LKC => LK5
    6905             : #include "pm_arrayReplace@routines.inc.F90"
    6906             :     end procedure
    6907             : #endif
    6908             : 
    6909             : #if LK4_ENABLED
    6910         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_LK4
    6911             :         use pm_kind, only: LKC => LK4
    6912             : #include "pm_arrayReplace@routines.inc.F90"
    6913             :     end procedure
    6914             : #endif
    6915             : 
    6916             : #if LK3_ENABLED
    6917         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_LK3
    6918             :         use pm_kind, only: LKC => LK3
    6919             : #include "pm_arrayReplace@routines.inc.F90"
    6920             :     end procedure
    6921             : #endif
    6922             : 
    6923             : #if LK2_ENABLED
    6924         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_LK2
    6925             :         use pm_kind, only: LKC => LK2
    6926             : #include "pm_arrayReplace@routines.inc.F90"
    6927             :     end procedure
    6928             : #endif
    6929             : 
    6930             : #if LK1_ENABLED
    6931         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_LK1
    6932             :         use pm_kind, only: LKC => LK1
    6933             : #include "pm_arrayReplace@routines.inc.F90"
    6934             :     end procedure
    6935             : #endif
    6936             : 
    6937             : #undef LK_ENABLED
    6938             : 
    6939             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6940             : 
    6941             : #define CK_ENABLED 1
    6942             : 
    6943             : #if CK5_ENABLED
    6944             :     module procedure setReplacedCusComCusIns_D1_D0_D1_CK5
    6945             :         use pm_kind, only: CKC => CK5
    6946             : #include "pm_arrayReplace@routines.inc.F90"
    6947             :     end procedure
    6948             : #endif
    6949             : 
    6950             : #if CK4_ENABLED
    6951         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_CK4
    6952             :         use pm_kind, only: CKC => CK4
    6953             : #include "pm_arrayReplace@routines.inc.F90"
    6954             :     end procedure
    6955             : #endif
    6956             : 
    6957             : #if CK3_ENABLED
    6958         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_CK3
    6959             :         use pm_kind, only: CKC => CK3
    6960             : #include "pm_arrayReplace@routines.inc.F90"
    6961             :     end procedure
    6962             : #endif
    6963             : 
    6964             : #if CK2_ENABLED
    6965         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_CK2
    6966             :         use pm_kind, only: CKC => CK2
    6967             : #include "pm_arrayReplace@routines.inc.F90"
    6968             :     end procedure
    6969             : #endif
    6970             : 
    6971             : #if CK1_ENABLED
    6972         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_CK1
    6973             :         use pm_kind, only: CKC => CK1
    6974             : #include "pm_arrayReplace@routines.inc.F90"
    6975             :     end procedure
    6976             : #endif
    6977             : 
    6978             : #undef CK_ENABLED
    6979             : 
    6980             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    6981             : 
    6982             : #define RK_ENABLED 1
    6983             : 
    6984             : #if RK5_ENABLED
    6985             :     module procedure setReplacedCusComCusIns_D1_D0_D1_RK5
    6986             :         use pm_kind, only: RKC => RK5
    6987             : #include "pm_arrayReplace@routines.inc.F90"
    6988             :     end procedure
    6989             : #endif
    6990             : 
    6991             : #if RK4_ENABLED
    6992         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_RK4
    6993             :         use pm_kind, only: RKC => RK4
    6994             : #include "pm_arrayReplace@routines.inc.F90"
    6995             :     end procedure
    6996             : #endif
    6997             : 
    6998             : #if RK3_ENABLED
    6999         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_RK3
    7000             :         use pm_kind, only: RKC => RK3
    7001             : #include "pm_arrayReplace@routines.inc.F90"
    7002             :     end procedure
    7003             : #endif
    7004             : 
    7005             : #if RK2_ENABLED
    7006         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_RK2
    7007             :         use pm_kind, only: RKC => RK2
    7008             : #include "pm_arrayReplace@routines.inc.F90"
    7009             :     end procedure
    7010             : #endif
    7011             : 
    7012             : #if RK1_ENABLED
    7013         180 :     module procedure setReplacedCusComCusIns_D1_D0_D1_RK1
    7014             :         use pm_kind, only: RKC => RK1
    7015             : #include "pm_arrayReplace@routines.inc.F90"
    7016             :     end procedure
    7017             : #endif
    7018             : 
    7019             : #undef RK_ENABLED
    7020             : 
    7021             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7022             : 
    7023             : #undef D1_D0_D1_ENABLED
    7024             : 
    7025             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7026             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7027             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7028             : 
    7029             : #define D1_D1_D0_ENABLED 1
    7030             : 
    7031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7032             : 
    7033             : #define SK_ENABLED 1
    7034             : 
    7035             : #if SK5_ENABLED
    7036             :     module procedure setReplacedCusComCusIns_D1_D1_D0_SK5
    7037             :         use pm_kind, only: SKC => SK5
    7038             : #include "pm_arrayReplace@routines.inc.F90"
    7039             :     end procedure
    7040             : #endif
    7041             : 
    7042             : #if SK4_ENABLED
    7043             :     module procedure setReplacedCusComCusIns_D1_D1_D0_SK4
    7044             :         use pm_kind, only: SKC => SK4
    7045             : #include "pm_arrayReplace@routines.inc.F90"
    7046             :     end procedure
    7047             : #endif
    7048             : 
    7049             : #if SK3_ENABLED
    7050             :     module procedure setReplacedCusComCusIns_D1_D1_D0_SK3
    7051             :         use pm_kind, only: SKC => SK3
    7052             : #include "pm_arrayReplace@routines.inc.F90"
    7053             :     end procedure
    7054             : #endif
    7055             : 
    7056             : #if SK2_ENABLED
    7057             :     module procedure setReplacedCusComCusIns_D1_D1_D0_SK2
    7058             :         use pm_kind, only: SKC => SK2
    7059             : #include "pm_arrayReplace@routines.inc.F90"
    7060             :     end procedure
    7061             : #endif
    7062             : 
    7063             : #if SK1_ENABLED
    7064         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_SK1
    7065             :         use pm_kind, only: SKC => SK1
    7066             : #include "pm_arrayReplace@routines.inc.F90"
    7067         180 :     end procedure
    7068             : #endif
    7069             : 
    7070             : #undef SK_ENABLED
    7071             : 
    7072             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7073             : 
    7074             : #define IK_ENABLED 1
    7075             : 
    7076             : #if IK5_ENABLED
    7077         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_IK5
    7078             :         use pm_kind, only: IKC => IK5
    7079             : #include "pm_arrayReplace@routines.inc.F90"
    7080             :     end procedure
    7081             : #endif
    7082             : 
    7083             : #if IK4_ENABLED
    7084         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_IK4
    7085             :         use pm_kind, only: IKC => IK4
    7086             : #include "pm_arrayReplace@routines.inc.F90"
    7087             :     end procedure
    7088             : #endif
    7089             : 
    7090             : #if IK3_ENABLED
    7091         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_IK3
    7092             :         use pm_kind, only: IKC => IK3
    7093             : #include "pm_arrayReplace@routines.inc.F90"
    7094             :     end procedure
    7095             : #endif
    7096             : 
    7097             : #if IK2_ENABLED
    7098         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_IK2
    7099             :         use pm_kind, only: IKC => IK2
    7100             : #include "pm_arrayReplace@routines.inc.F90"
    7101             :     end procedure
    7102             : #endif
    7103             : 
    7104             : #if IK1_ENABLED
    7105         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_IK1
    7106             :         use pm_kind, only: IKC => IK1
    7107             : #include "pm_arrayReplace@routines.inc.F90"
    7108             :     end procedure
    7109             : #endif
    7110             : 
    7111             : #undef IK_ENABLED
    7112             : 
    7113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7114             : 
    7115             : #define LK_ENABLED 1
    7116             : 
    7117             : #if LK5_ENABLED
    7118         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_LK5
    7119             :         use pm_kind, only: LKC => LK5
    7120             : #include "pm_arrayReplace@routines.inc.F90"
    7121             :     end procedure
    7122             : #endif
    7123             : 
    7124             : #if LK4_ENABLED
    7125         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_LK4
    7126             :         use pm_kind, only: LKC => LK4
    7127             : #include "pm_arrayReplace@routines.inc.F90"
    7128             :     end procedure
    7129             : #endif
    7130             : 
    7131             : #if LK3_ENABLED
    7132         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_LK3
    7133             :         use pm_kind, only: LKC => LK3
    7134             : #include "pm_arrayReplace@routines.inc.F90"
    7135             :     end procedure
    7136             : #endif
    7137             : 
    7138             : #if LK2_ENABLED
    7139         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_LK2
    7140             :         use pm_kind, only: LKC => LK2
    7141             : #include "pm_arrayReplace@routines.inc.F90"
    7142             :     end procedure
    7143             : #endif
    7144             : 
    7145             : #if LK1_ENABLED
    7146         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_LK1
    7147             :         use pm_kind, only: LKC => LK1
    7148             : #include "pm_arrayReplace@routines.inc.F90"
    7149             :     end procedure
    7150             : #endif
    7151             : 
    7152             : #undef LK_ENABLED
    7153             : 
    7154             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7155             : 
    7156             : #define CK_ENABLED 1
    7157             : 
    7158             : #if CK5_ENABLED
    7159             :     module procedure setReplacedCusComCusIns_D1_D1_D0_CK5
    7160             :         use pm_kind, only: CKC => CK5
    7161             : #include "pm_arrayReplace@routines.inc.F90"
    7162             :     end procedure
    7163             : #endif
    7164             : 
    7165             : #if CK4_ENABLED
    7166         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_CK4
    7167             :         use pm_kind, only: CKC => CK4
    7168             : #include "pm_arrayReplace@routines.inc.F90"
    7169             :     end procedure
    7170             : #endif
    7171             : 
    7172             : #if CK3_ENABLED
    7173         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_CK3
    7174             :         use pm_kind, only: CKC => CK3
    7175             : #include "pm_arrayReplace@routines.inc.F90"
    7176             :     end procedure
    7177             : #endif
    7178             : 
    7179             : #if CK2_ENABLED
    7180         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_CK2
    7181             :         use pm_kind, only: CKC => CK2
    7182             : #include "pm_arrayReplace@routines.inc.F90"
    7183             :     end procedure
    7184             : #endif
    7185             : 
    7186             : #if CK1_ENABLED
    7187         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_CK1
    7188             :         use pm_kind, only: CKC => CK1
    7189             : #include "pm_arrayReplace@routines.inc.F90"
    7190             :     end procedure
    7191             : #endif
    7192             : 
    7193             : #undef CK_ENABLED
    7194             : 
    7195             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7196             : 
    7197             : #define RK_ENABLED 1
    7198             : 
    7199             : #if RK5_ENABLED
    7200             :     module procedure setReplacedCusComCusIns_D1_D1_D0_RK5
    7201             :         use pm_kind, only: RKC => RK5
    7202             : #include "pm_arrayReplace@routines.inc.F90"
    7203             :     end procedure
    7204             : #endif
    7205             : 
    7206             : #if RK4_ENABLED
    7207         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_RK4
    7208             :         use pm_kind, only: RKC => RK4
    7209             : #include "pm_arrayReplace@routines.inc.F90"
    7210             :     end procedure
    7211             : #endif
    7212             : 
    7213             : #if RK3_ENABLED
    7214         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_RK3
    7215             :         use pm_kind, only: RKC => RK3
    7216             : #include "pm_arrayReplace@routines.inc.F90"
    7217             :     end procedure
    7218             : #endif
    7219             : 
    7220             : #if RK2_ENABLED
    7221         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_RK2
    7222             :         use pm_kind, only: RKC => RK2
    7223             : #include "pm_arrayReplace@routines.inc.F90"
    7224             :     end procedure
    7225             : #endif
    7226             : 
    7227             : #if RK1_ENABLED
    7228         180 :     module procedure setReplacedCusComCusIns_D1_D1_D0_RK1
    7229             :         use pm_kind, only: RKC => RK1
    7230             : #include "pm_arrayReplace@routines.inc.F90"
    7231             :     end procedure
    7232             : #endif
    7233             : 
    7234             : #undef RK_ENABLED
    7235             : 
    7236             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7237             : 
    7238             : #undef D1_D1_D0_ENABLED
    7239             : 
    7240             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7241             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7242             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7243             : 
    7244             : #define D1_D1_D1_ENABLED 1
    7245             : 
    7246             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7247             : 
    7248             : #define SK_ENABLED 1
    7249             : 
    7250             : #if SK5_ENABLED
    7251             :     module procedure setReplacedCusComCusIns_D1_D1_D1_SK5
    7252             :         use pm_kind, only: SKC => SK5
    7253             : #include "pm_arrayReplace@routines.inc.F90"
    7254             :     end procedure
    7255             : #endif
    7256             : 
    7257             : #if SK4_ENABLED
    7258             :     module procedure setReplacedCusComCusIns_D1_D1_D1_SK4
    7259             :         use pm_kind, only: SKC => SK4
    7260             : #include "pm_arrayReplace@routines.inc.F90"
    7261             :     end procedure
    7262             : #endif
    7263             : 
    7264             : #if SK3_ENABLED
    7265             :     module procedure setReplacedCusComCusIns_D1_D1_D1_SK3
    7266             :         use pm_kind, only: SKC => SK3
    7267             : #include "pm_arrayReplace@routines.inc.F90"
    7268             :     end procedure
    7269             : #endif
    7270             : 
    7271             : #if SK2_ENABLED
    7272             :     module procedure setReplacedCusComCusIns_D1_D1_D1_SK2
    7273             :         use pm_kind, only: SKC => SK2
    7274             : #include "pm_arrayReplace@routines.inc.F90"
    7275             :     end procedure
    7276             : #endif
    7277             : 
    7278             : #if SK1_ENABLED
    7279         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_SK1
    7280             :         use pm_kind, only: SKC => SK1
    7281             : #include "pm_arrayReplace@routines.inc.F90"
    7282         132 :     end procedure
    7283             : #endif
    7284             : 
    7285             : #undef SK_ENABLED
    7286             : 
    7287             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7288             : 
    7289             : #define IK_ENABLED 1
    7290             : 
    7291             : #if IK5_ENABLED
    7292         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_IK5
    7293             :         use pm_kind, only: IKC => IK5
    7294             : #include "pm_arrayReplace@routines.inc.F90"
    7295             :     end procedure
    7296             : #endif
    7297             : 
    7298             : #if IK4_ENABLED
    7299         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_IK4
    7300             :         use pm_kind, only: IKC => IK4
    7301             : #include "pm_arrayReplace@routines.inc.F90"
    7302             :     end procedure
    7303             : #endif
    7304             : 
    7305             : #if IK3_ENABLED
    7306         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_IK3
    7307             :         use pm_kind, only: IKC => IK3
    7308             : #include "pm_arrayReplace@routines.inc.F90"
    7309             :     end procedure
    7310             : #endif
    7311             : 
    7312             : #if IK2_ENABLED
    7313         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_IK2
    7314             :         use pm_kind, only: IKC => IK2
    7315             : #include "pm_arrayReplace@routines.inc.F90"
    7316             :     end procedure
    7317             : #endif
    7318             : 
    7319             : #if IK1_ENABLED
    7320         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_IK1
    7321             :         use pm_kind, only: IKC => IK1
    7322             : #include "pm_arrayReplace@routines.inc.F90"
    7323             :     end procedure
    7324             : #endif
    7325             : 
    7326             : #undef IK_ENABLED
    7327             : 
    7328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7329             : 
    7330             : #define LK_ENABLED 1
    7331             : 
    7332             : #if LK5_ENABLED
    7333         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_LK5
    7334             :         use pm_kind, only: LKC => LK5
    7335             : #include "pm_arrayReplace@routines.inc.F90"
    7336             :     end procedure
    7337             : #endif
    7338             : 
    7339             : #if LK4_ENABLED
    7340         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_LK4
    7341             :         use pm_kind, only: LKC => LK4
    7342             : #include "pm_arrayReplace@routines.inc.F90"
    7343             :     end procedure
    7344             : #endif
    7345             : 
    7346             : #if LK3_ENABLED
    7347         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_LK3
    7348             :         use pm_kind, only: LKC => LK3
    7349             : #include "pm_arrayReplace@routines.inc.F90"
    7350             :     end procedure
    7351             : #endif
    7352             : 
    7353             : #if LK2_ENABLED
    7354         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_LK2
    7355             :         use pm_kind, only: LKC => LK2
    7356             : #include "pm_arrayReplace@routines.inc.F90"
    7357             :     end procedure
    7358             : #endif
    7359             : 
    7360             : #if LK1_ENABLED
    7361         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_LK1
    7362             :         use pm_kind, only: LKC => LK1
    7363             : #include "pm_arrayReplace@routines.inc.F90"
    7364             :     end procedure
    7365             : #endif
    7366             : 
    7367             : #undef LK_ENABLED
    7368             : 
    7369             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7370             : 
    7371             : #define CK_ENABLED 1
    7372             : 
    7373             : #if CK5_ENABLED
    7374             :     module procedure setReplacedCusComCusIns_D1_D1_D1_CK5
    7375             :         use pm_kind, only: CKC => CK5
    7376             : #include "pm_arrayReplace@routines.inc.F90"
    7377             :     end procedure
    7378             : #endif
    7379             : 
    7380             : #if CK4_ENABLED
    7381         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_CK4
    7382             :         use pm_kind, only: CKC => CK4
    7383             : #include "pm_arrayReplace@routines.inc.F90"
    7384             :     end procedure
    7385             : #endif
    7386             : 
    7387             : #if CK3_ENABLED
    7388         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_CK3
    7389             :         use pm_kind, only: CKC => CK3
    7390             : #include "pm_arrayReplace@routines.inc.F90"
    7391             :     end procedure
    7392             : #endif
    7393             : 
    7394             : #if CK2_ENABLED
    7395         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_CK2
    7396             :         use pm_kind, only: CKC => CK2
    7397             : #include "pm_arrayReplace@routines.inc.F90"
    7398             :     end procedure
    7399             : #endif
    7400             : 
    7401             : #if CK1_ENABLED
    7402         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_CK1
    7403             :         use pm_kind, only: CKC => CK1
    7404             : #include "pm_arrayReplace@routines.inc.F90"
    7405             :     end procedure
    7406             : #endif
    7407             : 
    7408             : #undef CK_ENABLED
    7409             : 
    7410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7411             : 
    7412             : #define RK_ENABLED 1
    7413             : 
    7414             : #if RK5_ENABLED
    7415             :     module procedure setReplacedCusComCusIns_D1_D1_D1_RK5
    7416             :         use pm_kind, only: RKC => RK5
    7417             : #include "pm_arrayReplace@routines.inc.F90"
    7418             :     end procedure
    7419             : #endif
    7420             : 
    7421             : #if RK4_ENABLED
    7422         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_RK4
    7423             :         use pm_kind, only: RKC => RK4
    7424             : #include "pm_arrayReplace@routines.inc.F90"
    7425             :     end procedure
    7426             : #endif
    7427             : 
    7428             : #if RK3_ENABLED
    7429         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_RK3
    7430             :         use pm_kind, only: RKC => RK3
    7431             : #include "pm_arrayReplace@routines.inc.F90"
    7432             :     end procedure
    7433             : #endif
    7434             : 
    7435             : #if RK2_ENABLED
    7436         133 :     module procedure setReplacedCusComCusIns_D1_D1_D1_RK2
    7437             :         use pm_kind, only: RKC => RK2
    7438             : #include "pm_arrayReplace@routines.inc.F90"
    7439             :     end procedure
    7440             : #endif
    7441             : 
    7442             : #if RK1_ENABLED
    7443         132 :     module procedure setReplacedCusComCusIns_D1_D1_D1_RK1
    7444             :         use pm_kind, only: RKC => RK1
    7445             : #include "pm_arrayReplace@routines.inc.F90"
    7446             :     end procedure
    7447             : #endif
    7448             : 
    7449             : #undef RK_ENABLED
    7450             : 
    7451             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7452             : 
    7453             : #undef D1_D1_D1_ENABLED
    7454             : 
    7455             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7458             : 
    7459             : #undef CusCom_ENABLED
    7460             : #undef CusIns_ENABLED
    7461             : 
    7462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7463             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7464             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7465             : 
    7466             : #undef setReplaced_ENABLED
    7467             : 
    7468             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    7469             : 
    7470             : #undef CHECK_ASSERTION
    7471             : 
    7472             : end submodule routines

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