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

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