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

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This file contains procedure implementations of [pm_arrayInit](@ref pm_arrayInit).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \FatemehBagheri, Wednesday 12:20 AM, October 13, 2021, Dallas, TX
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_arrayInit) routines ! LCOV_EXCL_LINE
      28             : 
      29             : #if CHECK_ENABLED
      30             :     use pm_err, only: getFine
      31             :     use pm_val2str, only: getStr
      32             :     use pm_err, only: setAsserted
      33             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
      34             : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
      35             : #else
      36             : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
      37             : #endif
      38             : 
      39             :     implicit none
      40             : 
      41             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      42             : 
      43             : contains
      44             : 
      45             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      46             : 
      47             : #define getCoreHalo_ENABLED 1
      48             : 
      49             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      50             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             : 
      53             : #define Arr_ENABLED 1
      54             : 
      55             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      56             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             : 
      59             : #define D0_ENABLED 1
      60             : 
      61             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      62             : 
      63             : #define SK_ENABLED 1
      64             : 
      65             : #if SK5_ENABLED
      66             :     module procedure getCoreHaloArr_D0_SK5
      67             :         use pm_kind, only: SKC => SK5
      68             : #include "pm_arrayInit@routines.inc.F90"
      69             :     end procedure
      70             : #endif
      71             : 
      72             : #if SK4_ENABLED
      73             :     module procedure getCoreHaloArr_D0_SK4
      74             :         use pm_kind, only: SKC => SK4
      75             : #include "pm_arrayInit@routines.inc.F90"
      76             :     end procedure
      77             : #endif
      78             : 
      79             : #if SK3_ENABLED
      80             :     module procedure getCoreHaloArr_D0_SK3
      81             :         use pm_kind, only: SKC => SK3
      82             : #include "pm_arrayInit@routines.inc.F90"
      83             :     end procedure
      84             : #endif
      85             : 
      86             : #if SK2_ENABLED
      87             :     module procedure getCoreHaloArr_D0_SK2
      88             :         use pm_kind, only: SKC => SK2
      89             : #include "pm_arrayInit@routines.inc.F90"
      90             :     end procedure
      91             : #endif
      92             : 
      93             : #if SK1_ENABLED
      94     2419396 :     module procedure getCoreHaloArr_D0_SK1
      95             :         use pm_kind, only: SKC => SK1
      96             : #include "pm_arrayInit@routines.inc.F90"
      97     2419396 :     end procedure
      98             : #endif
      99             : 
     100             : #undef SK_ENABLED
     101             : 
     102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     103             : 
     104             : #undef D0_ENABLED
     105             : 
     106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     108             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     109             : 
     110             : #define D1_ENABLED 1
     111             : 
     112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     113             : 
     114             : #define SK_ENABLED 1
     115             : 
     116             : #if SK5_ENABLED
     117             :     module procedure getCoreHaloArr_D1_SK5
     118             :         use pm_kind, only: SKC => SK5
     119             : #include "pm_arrayInit@routines.inc.F90"
     120             :     end procedure
     121             : #endif
     122             : 
     123             : #if SK4_ENABLED
     124             :     module procedure getCoreHaloArr_D1_SK4
     125             :         use pm_kind, only: SKC => SK4
     126             : #include "pm_arrayInit@routines.inc.F90"
     127             :     end procedure
     128             : #endif
     129             : 
     130             : #if SK3_ENABLED
     131             :     module procedure getCoreHaloArr_D1_SK3
     132             :         use pm_kind, only: SKC => SK3
     133             : #include "pm_arrayInit@routines.inc.F90"
     134             :     end procedure
     135             : #endif
     136             : 
     137             : #if SK2_ENABLED
     138             :     module procedure getCoreHaloArr_D1_SK2
     139             :         use pm_kind, only: SKC => SK2
     140             : #include "pm_arrayInit@routines.inc.F90"
     141             :     end procedure
     142             : #endif
     143             : 
     144             : #if SK1_ENABLED
     145         201 :     module procedure getCoreHaloArr_D1_SK1
     146             :         use pm_kind, only: SKC => SK1
     147             : #include "pm_arrayInit@routines.inc.F90"
     148         201 :     end procedure
     149             : #endif
     150             : 
     151             : #undef SK_ENABLED
     152             : 
     153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     154             : 
     155             : #define IK_ENABLED 1
     156             : 
     157             : #if IK5_ENABLED
     158         200 :     module procedure getCoreHaloArr_D1_IK5
     159             :         use pm_kind, only: IKC => IK5
     160             : #include "pm_arrayInit@routines.inc.F90"
     161         200 :     end procedure
     162             : #endif
     163             : 
     164             : #if IK4_ENABLED
     165         200 :     module procedure getCoreHaloArr_D1_IK4
     166             :         use pm_kind, only: IKC => IK4
     167             : #include "pm_arrayInit@routines.inc.F90"
     168         200 :     end procedure
     169             : #endif
     170             : 
     171             : #if IK3_ENABLED
     172         201 :     module procedure getCoreHaloArr_D1_IK3
     173             :         use pm_kind, only: IKC => IK3
     174             : #include "pm_arrayInit@routines.inc.F90"
     175         201 :     end procedure
     176             : #endif
     177             : 
     178             : #if IK2_ENABLED
     179         200 :     module procedure getCoreHaloArr_D1_IK2
     180             :         use pm_kind, only: IKC => IK2
     181             : #include "pm_arrayInit@routines.inc.F90"
     182         200 :     end procedure
     183             : #endif
     184             : 
     185             : #if IK1_ENABLED
     186         200 :     module procedure getCoreHaloArr_D1_IK1
     187             :         use pm_kind, only: IKC => IK1
     188             : #include "pm_arrayInit@routines.inc.F90"
     189         200 :     end procedure
     190             : #endif
     191             : 
     192             : #undef IK_ENABLED
     193             : 
     194             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     195             : 
     196             : #define LK_ENABLED 1
     197             : 
     198             : #if LK5_ENABLED
     199         200 :     module procedure getCoreHaloArr_D1_LK5
     200             :         use pm_kind, only: LKC => LK5
     201             : #include "pm_arrayInit@routines.inc.F90"
     202         200 :     end procedure
     203             : #endif
     204             : 
     205             : #if LK4_ENABLED
     206         200 :     module procedure getCoreHaloArr_D1_LK4
     207             :         use pm_kind, only: LKC => LK4
     208             : #include "pm_arrayInit@routines.inc.F90"
     209         200 :     end procedure
     210             : #endif
     211             : 
     212             : #if LK3_ENABLED
     213         200 :     module procedure getCoreHaloArr_D1_LK3
     214             :         use pm_kind, only: LKC => LK3
     215             : #include "pm_arrayInit@routines.inc.F90"
     216         200 :     end procedure
     217             : #endif
     218             : 
     219             : #if LK2_ENABLED
     220         200 :     module procedure getCoreHaloArr_D1_LK2
     221             :         use pm_kind, only: LKC => LK2
     222             : #include "pm_arrayInit@routines.inc.F90"
     223         200 :     end procedure
     224             : #endif
     225             : 
     226             : #if LK1_ENABLED
     227         200 :     module procedure getCoreHaloArr_D1_LK1
     228             :         use pm_kind, only: LKC => LK1
     229             : #include "pm_arrayInit@routines.inc.F90"
     230         200 :     end procedure
     231             : #endif
     232             : 
     233             : #undef LK_ENABLED
     234             : 
     235             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     236             : 
     237             : #define CK_ENABLED 1
     238             : 
     239             : #if CK5_ENABLED
     240             :     module procedure getCoreHaloArr_D1_CK5
     241             :         use pm_kind, only: CKC => CK5
     242             : #include "pm_arrayInit@routines.inc.F90"
     243             :     end procedure
     244             : #endif
     245             : 
     246             : #if CK4_ENABLED
     247         200 :     module procedure getCoreHaloArr_D1_CK4
     248             :         use pm_kind, only: CKC => CK4
     249             : #include "pm_arrayInit@routines.inc.F90"
     250         200 :     end procedure
     251             : #endif
     252             : 
     253             : #if CK3_ENABLED
     254         200 :     module procedure getCoreHaloArr_D1_CK3
     255             :         use pm_kind, only: CKC => CK3
     256             : #include "pm_arrayInit@routines.inc.F90"
     257         200 :     end procedure
     258             : #endif
     259             : 
     260             : #if CK2_ENABLED
     261         200 :     module procedure getCoreHaloArr_D1_CK2
     262             :         use pm_kind, only: CKC => CK2
     263             : #include "pm_arrayInit@routines.inc.F90"
     264         200 :     end procedure
     265             : #endif
     266             : 
     267             : #if CK1_ENABLED
     268         200 :     module procedure getCoreHaloArr_D1_CK1
     269             :         use pm_kind, only: CKC => CK1
     270             : #include "pm_arrayInit@routines.inc.F90"
     271         200 :     end procedure
     272             : #endif
     273             : 
     274             : #undef CK_ENABLED
     275             : 
     276             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     277             : 
     278             : #define RK_ENABLED 1
     279             : 
     280             : #if RK5_ENABLED
     281             :     module procedure getCoreHaloArr_D1_RK5
     282             :         use pm_kind, only: RKC => RK5
     283             : #include "pm_arrayInit@routines.inc.F90"
     284             :     end procedure
     285             : #endif
     286             : 
     287             : #if RK4_ENABLED
     288         200 :     module procedure getCoreHaloArr_D1_RK4
     289             :         use pm_kind, only: RKC => RK4
     290             : #include "pm_arrayInit@routines.inc.F90"
     291         200 :     end procedure
     292             : #endif
     293             : 
     294             : #if RK3_ENABLED
     295         200 :     module procedure getCoreHaloArr_D1_RK3
     296             :         use pm_kind, only: RKC => RK3
     297             : #include "pm_arrayInit@routines.inc.F90"
     298         200 :     end procedure
     299             : #endif
     300             : 
     301             : #if RK2_ENABLED
     302         200 :     module procedure getCoreHaloArr_D1_RK2
     303             :         use pm_kind, only: RKC => RK2
     304             : #include "pm_arrayInit@routines.inc.F90"
     305         200 :     end procedure
     306             : #endif
     307             : 
     308             : #if RK1_ENABLED
     309         200 :     module procedure getCoreHaloArr_D1_RK1
     310             :         use pm_kind, only: RKC => RK1
     311             : #include "pm_arrayInit@routines.inc.F90"
     312         200 :     end procedure
     313             : #endif
     314             : 
     315             : #undef RK_ENABLED
     316             : 
     317             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     318             : 
     319             : #undef D1_ENABLED
     320             : 
     321             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     322             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     324             : 
     325             : #define D2_ENABLED 1
     326             : 
     327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     328             : 
     329             : #define SK_ENABLED 1
     330             : 
     331             : #if SK5_ENABLED
     332             :     module procedure getCoreHaloArr_D2_SK5
     333             :         use pm_kind, only: SKC => SK5
     334             : #include "pm_arrayInit@routines.inc.F90"
     335             :     end procedure
     336             : #endif
     337             : 
     338             : #if SK4_ENABLED
     339             :     module procedure getCoreHaloArr_D2_SK4
     340             :         use pm_kind, only: SKC => SK4
     341             : #include "pm_arrayInit@routines.inc.F90"
     342             :     end procedure
     343             : #endif
     344             : 
     345             : #if SK3_ENABLED
     346             :     module procedure getCoreHaloArr_D2_SK3
     347             :         use pm_kind, only: SKC => SK3
     348             : #include "pm_arrayInit@routines.inc.F90"
     349             :     end procedure
     350             : #endif
     351             : 
     352             : #if SK2_ENABLED
     353             :     module procedure getCoreHaloArr_D2_SK2
     354             :         use pm_kind, only: SKC => SK2
     355             : #include "pm_arrayInit@routines.inc.F90"
     356             :     end procedure
     357             : #endif
     358             : 
     359             : #if SK1_ENABLED
     360         200 :     module procedure getCoreHaloArr_D2_SK1
     361             :         use pm_kind, only: SKC => SK1
     362             : #include "pm_arrayInit@routines.inc.F90"
     363         200 :     end procedure
     364             : #endif
     365             : 
     366             : #undef SK_ENABLED
     367             : 
     368             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     369             : 
     370             : #define IK_ENABLED 1
     371             : 
     372             : #if IK5_ENABLED
     373         200 :     module procedure getCoreHaloArr_D2_IK5
     374             :         use pm_kind, only: IKC => IK5
     375             : #include "pm_arrayInit@routines.inc.F90"
     376         200 :     end procedure
     377             : #endif
     378             : 
     379             : #if IK4_ENABLED
     380         200 :     module procedure getCoreHaloArr_D2_IK4
     381             :         use pm_kind, only: IKC => IK4
     382             : #include "pm_arrayInit@routines.inc.F90"
     383         200 :     end procedure
     384             : #endif
     385             : 
     386             : #if IK3_ENABLED
     387         201 :     module procedure getCoreHaloArr_D2_IK3
     388             :         use pm_kind, only: IKC => IK3
     389             : #include "pm_arrayInit@routines.inc.F90"
     390         201 :     end procedure
     391             : #endif
     392             : 
     393             : #if IK2_ENABLED
     394         200 :     module procedure getCoreHaloArr_D2_IK2
     395             :         use pm_kind, only: IKC => IK2
     396             : #include "pm_arrayInit@routines.inc.F90"
     397         200 :     end procedure
     398             : #endif
     399             : 
     400             : #if IK1_ENABLED
     401         200 :     module procedure getCoreHaloArr_D2_IK1
     402             :         use pm_kind, only: IKC => IK1
     403             : #include "pm_arrayInit@routines.inc.F90"
     404         200 :     end procedure
     405             : #endif
     406             : 
     407             : #undef IK_ENABLED
     408             : 
     409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     410             : 
     411             : #define LK_ENABLED 1
     412             : 
     413             : #if LK5_ENABLED
     414         200 :     module procedure getCoreHaloArr_D2_LK5
     415             :         use pm_kind, only: LKC => LK5
     416             : #include "pm_arrayInit@routines.inc.F90"
     417         200 :     end procedure
     418             : #endif
     419             : 
     420             : #if LK4_ENABLED
     421         200 :     module procedure getCoreHaloArr_D2_LK4
     422             :         use pm_kind, only: LKC => LK4
     423             : #include "pm_arrayInit@routines.inc.F90"
     424         200 :     end procedure
     425             : #endif
     426             : 
     427             : #if LK3_ENABLED
     428         201 :     module procedure getCoreHaloArr_D2_LK3
     429             :         use pm_kind, only: LKC => LK3
     430             : #include "pm_arrayInit@routines.inc.F90"
     431         201 :     end procedure
     432             : #endif
     433             : 
     434             : #if LK2_ENABLED
     435         200 :     module procedure getCoreHaloArr_D2_LK2
     436             :         use pm_kind, only: LKC => LK2
     437             : #include "pm_arrayInit@routines.inc.F90"
     438         200 :     end procedure
     439             : #endif
     440             : 
     441             : #if LK1_ENABLED
     442         200 :     module procedure getCoreHaloArr_D2_LK1
     443             :         use pm_kind, only: LKC => LK1
     444             : #include "pm_arrayInit@routines.inc.F90"
     445         200 :     end procedure
     446             : #endif
     447             : 
     448             : #undef LK_ENABLED
     449             : 
     450             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     451             : 
     452             : #define CK_ENABLED 1
     453             : 
     454             : #if CK5_ENABLED
     455             :     module procedure getCoreHaloArr_D2_CK5
     456             :         use pm_kind, only: CKC => CK5
     457             : #include "pm_arrayInit@routines.inc.F90"
     458             :     end procedure
     459             : #endif
     460             : 
     461             : #if CK4_ENABLED
     462         200 :     module procedure getCoreHaloArr_D2_CK4
     463             :         use pm_kind, only: CKC => CK4
     464             : #include "pm_arrayInit@routines.inc.F90"
     465         200 :     end procedure
     466             : #endif
     467             : 
     468             : #if CK3_ENABLED
     469         200 :     module procedure getCoreHaloArr_D2_CK3
     470             :         use pm_kind, only: CKC => CK3
     471             : #include "pm_arrayInit@routines.inc.F90"
     472         200 :     end procedure
     473             : #endif
     474             : 
     475             : #if CK2_ENABLED
     476         200 :     module procedure getCoreHaloArr_D2_CK2
     477             :         use pm_kind, only: CKC => CK2
     478             : #include "pm_arrayInit@routines.inc.F90"
     479         200 :     end procedure
     480             : #endif
     481             : 
     482             : #if CK1_ENABLED
     483         201 :     module procedure getCoreHaloArr_D2_CK1
     484             :         use pm_kind, only: CKC => CK1
     485             : #include "pm_arrayInit@routines.inc.F90"
     486         201 :     end procedure
     487             : #endif
     488             : 
     489             : #undef CK_ENABLED
     490             : 
     491             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     492             : 
     493             : #define RK_ENABLED 1
     494             : 
     495             : #if RK5_ENABLED
     496             :     module procedure getCoreHaloArr_D2_RK5
     497             :         use pm_kind, only: RKC => RK5
     498             : #include "pm_arrayInit@routines.inc.F90"
     499             :     end procedure
     500             : #endif
     501             : 
     502             : #if RK4_ENABLED
     503         200 :     module procedure getCoreHaloArr_D2_RK4
     504             :         use pm_kind, only: RKC => RK4
     505             : #include "pm_arrayInit@routines.inc.F90"
     506         200 :     end procedure
     507             : #endif
     508             : 
     509             : #if RK3_ENABLED
     510         200 :     module procedure getCoreHaloArr_D2_RK3
     511             :         use pm_kind, only: RKC => RK3
     512             : #include "pm_arrayInit@routines.inc.F90"
     513         200 :     end procedure
     514             : #endif
     515             : 
     516             : #if RK2_ENABLED
     517         200 :     module procedure getCoreHaloArr_D2_RK2
     518             :         use pm_kind, only: RKC => RK2
     519             : #include "pm_arrayInit@routines.inc.F90"
     520         200 :     end procedure
     521             : #endif
     522             : 
     523             : #if RK1_ENABLED
     524         201 :     module procedure getCoreHaloArr_D2_RK1
     525             :         use pm_kind, only: RKC => RK1
     526             : #include "pm_arrayInit@routines.inc.F90"
     527         201 :     end procedure
     528             : #endif
     529             : 
     530             : #undef RK_ENABLED
     531             : 
     532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     533             : 
     534             : #undef D2_ENABLED
     535             : 
     536             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     537             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     538             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     539             : 
     540             : #define D3_ENABLED 1
     541             : 
     542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     543             : 
     544             : #define SK_ENABLED 1
     545             : 
     546             : #if SK5_ENABLED
     547             :     module procedure getCoreHaloArr_D3_SK5
     548             :         use pm_kind, only: SKC => SK5
     549             : #include "pm_arrayInit@routines.inc.F90"
     550             :     end procedure
     551             : #endif
     552             : 
     553             : #if SK4_ENABLED
     554             :     module procedure getCoreHaloArr_D3_SK4
     555             :         use pm_kind, only: SKC => SK4
     556             : #include "pm_arrayInit@routines.inc.F90"
     557             :     end procedure
     558             : #endif
     559             : 
     560             : #if SK3_ENABLED
     561             :     module procedure getCoreHaloArr_D3_SK3
     562             :         use pm_kind, only: SKC => SK3
     563             : #include "pm_arrayInit@routines.inc.F90"
     564             :     end procedure
     565             : #endif
     566             : 
     567             : #if SK2_ENABLED
     568             :     module procedure getCoreHaloArr_D3_SK2
     569             :         use pm_kind, only: SKC => SK2
     570             : #include "pm_arrayInit@routines.inc.F90"
     571             :     end procedure
     572             : #endif
     573             : 
     574             : #if SK1_ENABLED
     575         200 :     module procedure getCoreHaloArr_D3_SK1
     576             :         use pm_kind, only: SKC => SK1
     577             : #include "pm_arrayInit@routines.inc.F90"
     578         200 :     end procedure
     579             : #endif
     580             : 
     581             : #undef SK_ENABLED
     582             : 
     583             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     584             : 
     585             : #define IK_ENABLED 1
     586             : 
     587             : #if IK5_ENABLED
     588         200 :     module procedure getCoreHaloArr_D3_IK5
     589             :         use pm_kind, only: IKC => IK5
     590             : #include "pm_arrayInit@routines.inc.F90"
     591         200 :     end procedure
     592             : #endif
     593             : 
     594             : #if IK4_ENABLED
     595         200 :     module procedure getCoreHaloArr_D3_IK4
     596             :         use pm_kind, only: IKC => IK4
     597             : #include "pm_arrayInit@routines.inc.F90"
     598         200 :     end procedure
     599             : #endif
     600             : 
     601             : #if IK3_ENABLED
     602         200 :     module procedure getCoreHaloArr_D3_IK3
     603             :         use pm_kind, only: IKC => IK3
     604             : #include "pm_arrayInit@routines.inc.F90"
     605         200 :     end procedure
     606             : #endif
     607             : 
     608             : #if IK2_ENABLED
     609         200 :     module procedure getCoreHaloArr_D3_IK2
     610             :         use pm_kind, only: IKC => IK2
     611             : #include "pm_arrayInit@routines.inc.F90"
     612         200 :     end procedure
     613             : #endif
     614             : 
     615             : #if IK1_ENABLED
     616         200 :     module procedure getCoreHaloArr_D3_IK1
     617             :         use pm_kind, only: IKC => IK1
     618             : #include "pm_arrayInit@routines.inc.F90"
     619         200 :     end procedure
     620             : #endif
     621             : 
     622             : #undef IK_ENABLED
     623             : 
     624             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     625             : 
     626             : #define LK_ENABLED 1
     627             : 
     628             : #if LK5_ENABLED
     629         200 :     module procedure getCoreHaloArr_D3_LK5
     630             :         use pm_kind, only: LKC => LK5
     631             : #include "pm_arrayInit@routines.inc.F90"
     632         200 :     end procedure
     633             : #endif
     634             : 
     635             : #if LK4_ENABLED
     636         200 :     module procedure getCoreHaloArr_D3_LK4
     637             :         use pm_kind, only: LKC => LK4
     638             : #include "pm_arrayInit@routines.inc.F90"
     639         200 :     end procedure
     640             : #endif
     641             : 
     642             : #if LK3_ENABLED
     643         200 :     module procedure getCoreHaloArr_D3_LK3
     644             :         use pm_kind, only: LKC => LK3
     645             : #include "pm_arrayInit@routines.inc.F90"
     646         200 :     end procedure
     647             : #endif
     648             : 
     649             : #if LK2_ENABLED
     650         200 :     module procedure getCoreHaloArr_D3_LK2
     651             :         use pm_kind, only: LKC => LK2
     652             : #include "pm_arrayInit@routines.inc.F90"
     653         200 :     end procedure
     654             : #endif
     655             : 
     656             : #if LK1_ENABLED
     657         200 :     module procedure getCoreHaloArr_D3_LK1
     658             :         use pm_kind, only: LKC => LK1
     659             : #include "pm_arrayInit@routines.inc.F90"
     660         200 :     end procedure
     661             : #endif
     662             : 
     663             : #undef LK_ENABLED
     664             : 
     665             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     666             : 
     667             : #define CK_ENABLED 1
     668             : 
     669             : #if CK5_ENABLED
     670             :     module procedure getCoreHaloArr_D3_CK5
     671             :         use pm_kind, only: CKC => CK5
     672             : #include "pm_arrayInit@routines.inc.F90"
     673             :     end procedure
     674             : #endif
     675             : 
     676             : #if CK4_ENABLED
     677         200 :     module procedure getCoreHaloArr_D3_CK4
     678             :         use pm_kind, only: CKC => CK4
     679             : #include "pm_arrayInit@routines.inc.F90"
     680         200 :     end procedure
     681             : #endif
     682             : 
     683             : #if CK3_ENABLED
     684         200 :     module procedure getCoreHaloArr_D3_CK3
     685             :         use pm_kind, only: CKC => CK3
     686             : #include "pm_arrayInit@routines.inc.F90"
     687         200 :     end procedure
     688             : #endif
     689             : 
     690             : #if CK2_ENABLED
     691         200 :     module procedure getCoreHaloArr_D3_CK2
     692             :         use pm_kind, only: CKC => CK2
     693             : #include "pm_arrayInit@routines.inc.F90"
     694         200 :     end procedure
     695             : #endif
     696             : 
     697             : #if CK1_ENABLED
     698         200 :     module procedure getCoreHaloArr_D3_CK1
     699             :         use pm_kind, only: CKC => CK1
     700             : #include "pm_arrayInit@routines.inc.F90"
     701         200 :     end procedure
     702             : #endif
     703             : 
     704             : #undef CK_ENABLED
     705             : 
     706             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     707             : 
     708             : #define RK_ENABLED 1
     709             : 
     710             : #if RK5_ENABLED
     711             :     module procedure getCoreHaloArr_D3_RK5
     712             :         use pm_kind, only: RKC => RK5
     713             : #include "pm_arrayInit@routines.inc.F90"
     714             :     end procedure
     715             : #endif
     716             : 
     717             : #if RK4_ENABLED
     718         200 :     module procedure getCoreHaloArr_D3_RK4
     719             :         use pm_kind, only: RKC => RK4
     720             : #include "pm_arrayInit@routines.inc.F90"
     721         200 :     end procedure
     722             : #endif
     723             : 
     724             : #if RK3_ENABLED
     725         200 :     module procedure getCoreHaloArr_D3_RK3
     726             :         use pm_kind, only: RKC => RK3
     727             : #include "pm_arrayInit@routines.inc.F90"
     728         200 :     end procedure
     729             : #endif
     730             : 
     731             : #if RK2_ENABLED
     732         200 :     module procedure getCoreHaloArr_D3_RK2
     733             :         use pm_kind, only: RKC => RK2
     734             : #include "pm_arrayInit@routines.inc.F90"
     735         200 :     end procedure
     736             : #endif
     737             : 
     738             : #if RK1_ENABLED
     739         200 :     module procedure getCoreHaloArr_D3_RK1
     740             :         use pm_kind, only: RKC => RK1
     741             : #include "pm_arrayInit@routines.inc.F90"
     742         200 :     end procedure
     743             : #endif
     744             : 
     745             : #undef RK_ENABLED
     746             : 
     747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     748             : 
     749             : #undef D3_ENABLED
     750             : 
     751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     754             : 
     755             : #undef Arr_ENABLED
     756             : 
     757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     760             : 
     761             : #undef getCoreHalo_ENABLED
     762             : 
     763             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     764             : 
     765             : #define setCoreHalo_ENABLED 1
     766             : 
     767             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     768             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     770             : 
     771             : #define Arr_ENABLED 1
     772             : 
     773             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     774             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     776             : 
     777             : #define D0_ENABLED 1
     778             : 
     779             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     780             : 
     781             : #define SK_ENABLED 1
     782             : 
     783             : #if SK5_ENABLED
     784             :     module procedure setCoreHaloArr_D0_SK5
     785             :         use pm_kind, only: SKC => SK5
     786             : #include "pm_arrayInit@routines.inc.F90"
     787             :     end procedure
     788             : #endif
     789             : 
     790             : #if SK4_ENABLED
     791             :     module procedure setCoreHaloArr_D0_SK4
     792             :         use pm_kind, only: SKC => SK4
     793             : #include "pm_arrayInit@routines.inc.F90"
     794             :     end procedure
     795             : #endif
     796             : 
     797             : #if SK3_ENABLED
     798             :     module procedure setCoreHaloArr_D0_SK3
     799             :         use pm_kind, only: SKC => SK3
     800             : #include "pm_arrayInit@routines.inc.F90"
     801             :     end procedure
     802             : #endif
     803             : 
     804             : #if SK2_ENABLED
     805             :     module procedure setCoreHaloArr_D0_SK2
     806             :         use pm_kind, only: SKC => SK2
     807             : #include "pm_arrayInit@routines.inc.F90"
     808             :     end procedure
     809             : #endif
     810             : 
     811             : #if SK1_ENABLED
     812     2421838 :     module procedure setCoreHaloArr_D0_SK1
     813             :         use pm_kind, only: SKC => SK1
     814             : #include "pm_arrayInit@routines.inc.F90"
     815     2421838 :     end procedure
     816             : #endif
     817             : 
     818             : #undef SK_ENABLED
     819             : 
     820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     821             : 
     822             : #undef D0_ENABLED
     823             : 
     824             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     825             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     827             : 
     828             : #define D1_ENABLED 1
     829             : 
     830             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     831             : 
     832             : #define SK_ENABLED 1
     833             : 
     834             : #if SK5_ENABLED
     835             :     module procedure setCoreHaloArr_D1_SK5
     836             :         use pm_kind, only: SKC => SK5
     837             : #include "pm_arrayInit@routines.inc.F90"
     838             :     end procedure
     839             : #endif
     840             : 
     841             : #if SK4_ENABLED
     842             :     module procedure setCoreHaloArr_D1_SK4
     843             :         use pm_kind, only: SKC => SK4
     844             : #include "pm_arrayInit@routines.inc.F90"
     845             :     end procedure
     846             : #endif
     847             : 
     848             : #if SK3_ENABLED
     849             :     module procedure setCoreHaloArr_D1_SK3
     850             :         use pm_kind, only: SKC => SK3
     851             : #include "pm_arrayInit@routines.inc.F90"
     852             :     end procedure
     853             : #endif
     854             : 
     855             : #if SK2_ENABLED
     856             :     module procedure setCoreHaloArr_D1_SK2
     857             :         use pm_kind, only: SKC => SK2
     858             : #include "pm_arrayInit@routines.inc.F90"
     859             :     end procedure
     860             : #endif
     861             : 
     862             : #if SK1_ENABLED
     863       61443 :     module procedure setCoreHaloArr_D1_SK1
     864             :         use pm_kind, only: SKC => SK1
     865             : #include "pm_arrayInit@routines.inc.F90"
     866       61443 :     end procedure
     867             : #endif
     868             : 
     869             : #undef SK_ENABLED
     870             : 
     871             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     872             : 
     873             : #define IK_ENABLED 1
     874             : 
     875             : #if IK5_ENABLED
     876       60605 :     module procedure setCoreHaloArr_D1_IK5
     877             :         use pm_kind, only: IKC => IK5
     878             : #include "pm_arrayInit@routines.inc.F90"
     879       60605 :     end procedure
     880             : #endif
     881             : 
     882             : #if IK4_ENABLED
     883       60082 :     module procedure setCoreHaloArr_D1_IK4
     884             :         use pm_kind, only: IKC => IK4
     885             : #include "pm_arrayInit@routines.inc.F90"
     886       60082 :     end procedure
     887             : #endif
     888             : 
     889             : #if IK3_ENABLED
     890       59478 :     module procedure setCoreHaloArr_D1_IK3
     891             :         use pm_kind, only: IKC => IK3
     892             : #include "pm_arrayInit@routines.inc.F90"
     893       59478 :     end procedure
     894             : #endif
     895             : 
     896             : #if IK2_ENABLED
     897       61109 :     module procedure setCoreHaloArr_D1_IK2
     898             :         use pm_kind, only: IKC => IK2
     899             : #include "pm_arrayInit@routines.inc.F90"
     900       61109 :     end procedure
     901             : #endif
     902             : 
     903             : #if IK1_ENABLED
     904       60061 :     module procedure setCoreHaloArr_D1_IK1
     905             :         use pm_kind, only: IKC => IK1
     906             : #include "pm_arrayInit@routines.inc.F90"
     907       60061 :     end procedure
     908             : #endif
     909             : 
     910             : #undef IK_ENABLED
     911             : 
     912             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     913             : 
     914             : #define LK_ENABLED 1
     915             : 
     916             : #if LK5_ENABLED
     917       56094 :     module procedure setCoreHaloArr_D1_LK5
     918             :         use pm_kind, only: LKC => LK5
     919             : #include "pm_arrayInit@routines.inc.F90"
     920       56094 :     end procedure
     921             : #endif
     922             : 
     923             : #if LK4_ENABLED
     924       56293 :     module procedure setCoreHaloArr_D1_LK4
     925             :         use pm_kind, only: LKC => LK4
     926             : #include "pm_arrayInit@routines.inc.F90"
     927       56293 :     end procedure
     928             : #endif
     929             : 
     930             : #if LK3_ENABLED
     931       58045 :     module procedure setCoreHaloArr_D1_LK3
     932             :         use pm_kind, only: LKC => LK3
     933             : #include "pm_arrayInit@routines.inc.F90"
     934       58045 :     end procedure
     935             : #endif
     936             : 
     937             : #if LK2_ENABLED
     938       57894 :     module procedure setCoreHaloArr_D1_LK2
     939             :         use pm_kind, only: LKC => LK2
     940             : #include "pm_arrayInit@routines.inc.F90"
     941       57894 :     end procedure
     942             : #endif
     943             : 
     944             : #if LK1_ENABLED
     945       55135 :     module procedure setCoreHaloArr_D1_LK1
     946             :         use pm_kind, only: LKC => LK1
     947             : #include "pm_arrayInit@routines.inc.F90"
     948       55135 :     end procedure
     949             : #endif
     950             : 
     951             : #undef LK_ENABLED
     952             : 
     953             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     954             : 
     955             : #define CK_ENABLED 1
     956             : 
     957             : #if CK5_ENABLED
     958             :     module procedure setCoreHaloArr_D1_CK5
     959             :         use pm_kind, only: CKC => CK5
     960             : #include "pm_arrayInit@routines.inc.F90"
     961             :     end procedure
     962             : #endif
     963             : 
     964             : #if CK4_ENABLED
     965       59611 :     module procedure setCoreHaloArr_D1_CK4
     966             :         use pm_kind, only: CKC => CK4
     967             : #include "pm_arrayInit@routines.inc.F90"
     968       59611 :     end procedure
     969             : #endif
     970             : 
     971             : #if CK3_ENABLED
     972       58382 :     module procedure setCoreHaloArr_D1_CK3
     973             :         use pm_kind, only: CKC => CK3
     974             : #include "pm_arrayInit@routines.inc.F90"
     975       58382 :     end procedure
     976             : #endif
     977             : 
     978             : #if CK2_ENABLED
     979       59391 :     module procedure setCoreHaloArr_D1_CK2
     980             :         use pm_kind, only: CKC => CK2
     981             : #include "pm_arrayInit@routines.inc.F90"
     982       59391 :     end procedure
     983             : #endif
     984             : 
     985             : #if CK1_ENABLED
     986       62081 :     module procedure setCoreHaloArr_D1_CK1
     987             :         use pm_kind, only: CKC => CK1
     988             : #include "pm_arrayInit@routines.inc.F90"
     989       62081 :     end procedure
     990             : #endif
     991             : 
     992             : #undef CK_ENABLED
     993             : 
     994             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     995             : 
     996             : #define RK_ENABLED 1
     997             : 
     998             : #if RK5_ENABLED
     999             :     module procedure setCoreHaloArr_D1_RK5
    1000             :         use pm_kind, only: RKC => RK5
    1001             : #include "pm_arrayInit@routines.inc.F90"
    1002             :     end procedure
    1003             : #endif
    1004             : 
    1005             : #if RK4_ENABLED
    1006       65084 :     module procedure setCoreHaloArr_D1_RK4
    1007             :         use pm_kind, only: RKC => RK4
    1008             : #include "pm_arrayInit@routines.inc.F90"
    1009       65084 :     end procedure
    1010             : #endif
    1011             : 
    1012             : #if RK3_ENABLED
    1013       61687 :     module procedure setCoreHaloArr_D1_RK3
    1014             :         use pm_kind, only: RKC => RK3
    1015             : #include "pm_arrayInit@routines.inc.F90"
    1016       61687 :     end procedure
    1017             : #endif
    1018             : 
    1019             : #if RK2_ENABLED
    1020       61692 :     module procedure setCoreHaloArr_D1_RK2
    1021             :         use pm_kind, only: RKC => RK2
    1022             : #include "pm_arrayInit@routines.inc.F90"
    1023       61692 :     end procedure
    1024             : #endif
    1025             : 
    1026             : #if RK1_ENABLED
    1027       60507 :     module procedure setCoreHaloArr_D1_RK1
    1028             :         use pm_kind, only: RKC => RK1
    1029             : #include "pm_arrayInit@routines.inc.F90"
    1030       60507 :     end procedure
    1031             : #endif
    1032             : 
    1033             : #undef RK_ENABLED
    1034             : 
    1035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1036             : 
    1037             : #undef D1_ENABLED
    1038             : 
    1039             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1040             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1042             : 
    1043             : #define D2_ENABLED 1
    1044             : 
    1045             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1046             : 
    1047             : #define SK_ENABLED 1
    1048             : 
    1049             : #if SK5_ENABLED
    1050             :     module procedure setCoreHaloArr_D2_SK5
    1051             :         use pm_kind, only: SKC => SK5
    1052             : #include "pm_arrayInit@routines.inc.F90"
    1053             :     end procedure
    1054             : #endif
    1055             : 
    1056             : #if SK4_ENABLED
    1057             :     module procedure setCoreHaloArr_D2_SK4
    1058             :         use pm_kind, only: SKC => SK4
    1059             : #include "pm_arrayInit@routines.inc.F90"
    1060             :     end procedure
    1061             : #endif
    1062             : 
    1063             : #if SK3_ENABLED
    1064             :     module procedure setCoreHaloArr_D2_SK3
    1065             :         use pm_kind, only: SKC => SK3
    1066             : #include "pm_arrayInit@routines.inc.F90"
    1067             :     end procedure
    1068             : #endif
    1069             : 
    1070             : #if SK2_ENABLED
    1071             :     module procedure setCoreHaloArr_D2_SK2
    1072             :         use pm_kind, only: SKC => SK2
    1073             : #include "pm_arrayInit@routines.inc.F90"
    1074             :     end procedure
    1075             : #endif
    1076             : 
    1077             : #if SK1_ENABLED
    1078       18222 :     module procedure setCoreHaloArr_D2_SK1
    1079             :         use pm_kind, only: SKC => SK1
    1080             : #include "pm_arrayInit@routines.inc.F90"
    1081       18222 :     end procedure
    1082             : #endif
    1083             : 
    1084             : #undef SK_ENABLED
    1085             : 
    1086             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1087             : 
    1088             : #define IK_ENABLED 1
    1089             : 
    1090             : #if IK5_ENABLED
    1091       18480 :     module procedure setCoreHaloArr_D2_IK5
    1092             :         use pm_kind, only: IKC => IK5
    1093             : #include "pm_arrayInit@routines.inc.F90"
    1094       18480 :     end procedure
    1095             : #endif
    1096             : 
    1097             : #if IK4_ENABLED
    1098       18682 :     module procedure setCoreHaloArr_D2_IK4
    1099             :         use pm_kind, only: IKC => IK4
    1100             : #include "pm_arrayInit@routines.inc.F90"
    1101       18682 :     end procedure
    1102             : #endif
    1103             : 
    1104             : #if IK3_ENABLED
    1105       17929 :     module procedure setCoreHaloArr_D2_IK3
    1106             :         use pm_kind, only: IKC => IK3
    1107             : #include "pm_arrayInit@routines.inc.F90"
    1108       17929 :     end procedure
    1109             : #endif
    1110             : 
    1111             : #if IK2_ENABLED
    1112       18341 :     module procedure setCoreHaloArr_D2_IK2
    1113             :         use pm_kind, only: IKC => IK2
    1114             : #include "pm_arrayInit@routines.inc.F90"
    1115       18341 :     end procedure
    1116             : #endif
    1117             : 
    1118             : #if IK1_ENABLED
    1119       18552 :     module procedure setCoreHaloArr_D2_IK1
    1120             :         use pm_kind, only: IKC => IK1
    1121             : #include "pm_arrayInit@routines.inc.F90"
    1122       18552 :     end procedure
    1123             : #endif
    1124             : 
    1125             : #undef IK_ENABLED
    1126             : 
    1127             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1128             : 
    1129             : #define LK_ENABLED 1
    1130             : 
    1131             : #if LK5_ENABLED
    1132       17480 :     module procedure setCoreHaloArr_D2_LK5
    1133             :         use pm_kind, only: LKC => LK5
    1134             : #include "pm_arrayInit@routines.inc.F90"
    1135       17480 :     end procedure
    1136             : #endif
    1137             : 
    1138             : #if LK4_ENABLED
    1139       17587 :     module procedure setCoreHaloArr_D2_LK4
    1140             :         use pm_kind, only: LKC => LK4
    1141             : #include "pm_arrayInit@routines.inc.F90"
    1142       17587 :     end procedure
    1143             : #endif
    1144             : 
    1145             : #if LK3_ENABLED
    1146       17960 :     module procedure setCoreHaloArr_D2_LK3
    1147             :         use pm_kind, only: LKC => LK3
    1148             : #include "pm_arrayInit@routines.inc.F90"
    1149       17960 :     end procedure
    1150             : #endif
    1151             : 
    1152             : #if LK2_ENABLED
    1153       17708 :     module procedure setCoreHaloArr_D2_LK2
    1154             :         use pm_kind, only: LKC => LK2
    1155             : #include "pm_arrayInit@routines.inc.F90"
    1156       17708 :     end procedure
    1157             : #endif
    1158             : 
    1159             : #if LK1_ENABLED
    1160       17744 :     module procedure setCoreHaloArr_D2_LK1
    1161             :         use pm_kind, only: LKC => LK1
    1162             : #include "pm_arrayInit@routines.inc.F90"
    1163       17744 :     end procedure
    1164             : #endif
    1165             : 
    1166             : #undef LK_ENABLED
    1167             : 
    1168             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1169             : 
    1170             : #define CK_ENABLED 1
    1171             : 
    1172             : #if CK5_ENABLED
    1173             :     module procedure setCoreHaloArr_D2_CK5
    1174             :         use pm_kind, only: CKC => CK5
    1175             : #include "pm_arrayInit@routines.inc.F90"
    1176             :     end procedure
    1177             : #endif
    1178             : 
    1179             : #if CK4_ENABLED
    1180       18490 :     module procedure setCoreHaloArr_D2_CK4
    1181             :         use pm_kind, only: CKC => CK4
    1182             : #include "pm_arrayInit@routines.inc.F90"
    1183       18490 :     end procedure
    1184             : #endif
    1185             : 
    1186             : #if CK3_ENABLED
    1187       17810 :     module procedure setCoreHaloArr_D2_CK3
    1188             :         use pm_kind, only: CKC => CK3
    1189             : #include "pm_arrayInit@routines.inc.F90"
    1190       17810 :     end procedure
    1191             : #endif
    1192             : 
    1193             : #if CK2_ENABLED
    1194       18068 :     module procedure setCoreHaloArr_D2_CK2
    1195             :         use pm_kind, only: CKC => CK2
    1196             : #include "pm_arrayInit@routines.inc.F90"
    1197       18068 :     end procedure
    1198             : #endif
    1199             : 
    1200             : #if CK1_ENABLED
    1201       18068 :     module procedure setCoreHaloArr_D2_CK1
    1202             :         use pm_kind, only: CKC => CK1
    1203             : #include "pm_arrayInit@routines.inc.F90"
    1204       18068 :     end procedure
    1205             : #endif
    1206             : 
    1207             : #undef CK_ENABLED
    1208             : 
    1209             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1210             : 
    1211             : #define RK_ENABLED 1
    1212             : 
    1213             : #if RK5_ENABLED
    1214             :     module procedure setCoreHaloArr_D2_RK5
    1215             :         use pm_kind, only: RKC => RK5
    1216             : #include "pm_arrayInit@routines.inc.F90"
    1217             :     end procedure
    1218             : #endif
    1219             : 
    1220             : #if RK4_ENABLED
    1221       19174 :     module procedure setCoreHaloArr_D2_RK4
    1222             :         use pm_kind, only: RKC => RK4
    1223             : #include "pm_arrayInit@routines.inc.F90"
    1224       19174 :     end procedure
    1225             : #endif
    1226             : 
    1227             : #if RK3_ENABLED
    1228       18258 :     module procedure setCoreHaloArr_D2_RK3
    1229             :         use pm_kind, only: RKC => RK3
    1230             : #include "pm_arrayInit@routines.inc.F90"
    1231       18258 :     end procedure
    1232             : #endif
    1233             : 
    1234             : #if RK2_ENABLED
    1235       19026 :     module procedure setCoreHaloArr_D2_RK2
    1236             :         use pm_kind, only: RKC => RK2
    1237             : #include "pm_arrayInit@routines.inc.F90"
    1238       19026 :     end procedure
    1239             : #endif
    1240             : 
    1241             : #if RK1_ENABLED
    1242       18347 :     module procedure setCoreHaloArr_D2_RK1
    1243             :         use pm_kind, only: RKC => RK1
    1244             : #include "pm_arrayInit@routines.inc.F90"
    1245       18347 :     end procedure
    1246             : #endif
    1247             : 
    1248             : #undef RK_ENABLED
    1249             : 
    1250             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1251             : 
    1252             : #undef D2_ENABLED
    1253             : 
    1254             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1255             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1256             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1257             : 
    1258             : #define D3_ENABLED 1
    1259             : 
    1260             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1261             : 
    1262             : #define SK_ENABLED 1
    1263             : 
    1264             : #if SK5_ENABLED
    1265             :     module procedure setCoreHaloArr_D3_SK5
    1266             :         use pm_kind, only: SKC => SK5
    1267             : #include "pm_arrayInit@routines.inc.F90"
    1268             :     end procedure
    1269             : #endif
    1270             : 
    1271             : #if SK4_ENABLED
    1272             :     module procedure setCoreHaloArr_D3_SK4
    1273             :         use pm_kind, only: SKC => SK4
    1274             : #include "pm_arrayInit@routines.inc.F90"
    1275             :     end procedure
    1276             : #endif
    1277             : 
    1278             : #if SK3_ENABLED
    1279             :     module procedure setCoreHaloArr_D3_SK3
    1280             :         use pm_kind, only: SKC => SK3
    1281             : #include "pm_arrayInit@routines.inc.F90"
    1282             :     end procedure
    1283             : #endif
    1284             : 
    1285             : #if SK2_ENABLED
    1286             :     module procedure setCoreHaloArr_D3_SK2
    1287             :         use pm_kind, only: SKC => SK2
    1288             : #include "pm_arrayInit@routines.inc.F90"
    1289             :     end procedure
    1290             : #endif
    1291             : 
    1292             : #if SK1_ENABLED
    1293        4933 :     module procedure setCoreHaloArr_D3_SK1
    1294             :         use pm_kind, only: SKC => SK1
    1295             : #include "pm_arrayInit@routines.inc.F90"
    1296        4933 :     end procedure
    1297             : #endif
    1298             : 
    1299             : #undef SK_ENABLED
    1300             : 
    1301             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1302             : 
    1303             : #define IK_ENABLED 1
    1304             : 
    1305             : #if IK5_ENABLED
    1306        4911 :     module procedure setCoreHaloArr_D3_IK5
    1307             :         use pm_kind, only: IKC => IK5
    1308             : #include "pm_arrayInit@routines.inc.F90"
    1309        4911 :     end procedure
    1310             : #endif
    1311             : 
    1312             : #if IK4_ENABLED
    1313        4926 :     module procedure setCoreHaloArr_D3_IK4
    1314             :         use pm_kind, only: IKC => IK4
    1315             : #include "pm_arrayInit@routines.inc.F90"
    1316        4926 :     end procedure
    1317             : #endif
    1318             : 
    1319             : #if IK3_ENABLED
    1320        4916 :     module procedure setCoreHaloArr_D3_IK3
    1321             :         use pm_kind, only: IKC => IK3
    1322             : #include "pm_arrayInit@routines.inc.F90"
    1323        4916 :     end procedure
    1324             : #endif
    1325             : 
    1326             : #if IK2_ENABLED
    1327        4875 :     module procedure setCoreHaloArr_D3_IK2
    1328             :         use pm_kind, only: IKC => IK2
    1329             : #include "pm_arrayInit@routines.inc.F90"
    1330        4875 :     end procedure
    1331             : #endif
    1332             : 
    1333             : #if IK1_ENABLED
    1334        4881 :     module procedure setCoreHaloArr_D3_IK1
    1335             :         use pm_kind, only: IKC => IK1
    1336             : #include "pm_arrayInit@routines.inc.F90"
    1337        4881 :     end procedure
    1338             : #endif
    1339             : 
    1340             : #undef IK_ENABLED
    1341             : 
    1342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1343             : 
    1344             : #define LK_ENABLED 1
    1345             : 
    1346             : #if LK5_ENABLED
    1347        4841 :     module procedure setCoreHaloArr_D3_LK5
    1348             :         use pm_kind, only: LKC => LK5
    1349             : #include "pm_arrayInit@routines.inc.F90"
    1350        4841 :     end procedure
    1351             : #endif
    1352             : 
    1353             : #if LK4_ENABLED
    1354        4895 :     module procedure setCoreHaloArr_D3_LK4
    1355             :         use pm_kind, only: LKC => LK4
    1356             : #include "pm_arrayInit@routines.inc.F90"
    1357        4895 :     end procedure
    1358             : #endif
    1359             : 
    1360             : #if LK3_ENABLED
    1361        4886 :     module procedure setCoreHaloArr_D3_LK3
    1362             :         use pm_kind, only: LKC => LK3
    1363             : #include "pm_arrayInit@routines.inc.F90"
    1364        4886 :     end procedure
    1365             : #endif
    1366             : 
    1367             : #if LK2_ENABLED
    1368        4907 :     module procedure setCoreHaloArr_D3_LK2
    1369             :         use pm_kind, only: LKC => LK2
    1370             : #include "pm_arrayInit@routines.inc.F90"
    1371        4907 :     end procedure
    1372             : #endif
    1373             : 
    1374             : #if LK1_ENABLED
    1375        4876 :     module procedure setCoreHaloArr_D3_LK1
    1376             :         use pm_kind, only: LKC => LK1
    1377             : #include "pm_arrayInit@routines.inc.F90"
    1378        4876 :     end procedure
    1379             : #endif
    1380             : 
    1381             : #undef LK_ENABLED
    1382             : 
    1383             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1384             : 
    1385             : #define CK_ENABLED 1
    1386             : 
    1387             : #if CK5_ENABLED
    1388             :     module procedure setCoreHaloArr_D3_CK5
    1389             :         use pm_kind, only: CKC => CK5
    1390             : #include "pm_arrayInit@routines.inc.F90"
    1391             :     end procedure
    1392             : #endif
    1393             : 
    1394             : #if CK4_ENABLED
    1395        4901 :     module procedure setCoreHaloArr_D3_CK4
    1396             :         use pm_kind, only: CKC => CK4
    1397             : #include "pm_arrayInit@routines.inc.F90"
    1398        4901 :     end procedure
    1399             : #endif
    1400             : 
    1401             : #if CK3_ENABLED
    1402        4832 :     module procedure setCoreHaloArr_D3_CK3
    1403             :         use pm_kind, only: CKC => CK3
    1404             : #include "pm_arrayInit@routines.inc.F90"
    1405        4832 :     end procedure
    1406             : #endif
    1407             : 
    1408             : #if CK2_ENABLED
    1409        4822 :     module procedure setCoreHaloArr_D3_CK2
    1410             :         use pm_kind, only: CKC => CK2
    1411             : #include "pm_arrayInit@routines.inc.F90"
    1412        4822 :     end procedure
    1413             : #endif
    1414             : 
    1415             : #if CK1_ENABLED
    1416        4882 :     module procedure setCoreHaloArr_D3_CK1
    1417             :         use pm_kind, only: CKC => CK1
    1418             : #include "pm_arrayInit@routines.inc.F90"
    1419        4882 :     end procedure
    1420             : #endif
    1421             : 
    1422             : #undef CK_ENABLED
    1423             : 
    1424             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1425             : 
    1426             : #define RK_ENABLED 1
    1427             : 
    1428             : #if RK5_ENABLED
    1429             :     module procedure setCoreHaloArr_D3_RK5
    1430             :         use pm_kind, only: RKC => RK5
    1431             : #include "pm_arrayInit@routines.inc.F90"
    1432             :     end procedure
    1433             : #endif
    1434             : 
    1435             : #if RK4_ENABLED
    1436        4986 :     module procedure setCoreHaloArr_D3_RK4
    1437             :         use pm_kind, only: RKC => RK4
    1438             : #include "pm_arrayInit@routines.inc.F90"
    1439        4986 :     end procedure
    1440             : #endif
    1441             : 
    1442             : #if RK3_ENABLED
    1443        4894 :     module procedure setCoreHaloArr_D3_RK3
    1444             :         use pm_kind, only: RKC => RK3
    1445             : #include "pm_arrayInit@routines.inc.F90"
    1446        4894 :     end procedure
    1447             : #endif
    1448             : 
    1449             : #if RK2_ENABLED
    1450        4940 :     module procedure setCoreHaloArr_D3_RK2
    1451             :         use pm_kind, only: RKC => RK2
    1452             : #include "pm_arrayInit@routines.inc.F90"
    1453        4940 :     end procedure
    1454             : #endif
    1455             : 
    1456             : #if RK1_ENABLED
    1457        5021 :     module procedure setCoreHaloArr_D3_RK1
    1458             :         use pm_kind, only: RKC => RK1
    1459             : #include "pm_arrayInit@routines.inc.F90"
    1460        5021 :     end procedure
    1461             : #endif
    1462             : 
    1463             : #undef RK_ENABLED
    1464             : 
    1465             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1466             : 
    1467             : #undef D3_ENABLED
    1468             : 
    1469             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1470             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1471             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1472             : 
    1473             : #undef Arr_ENABLED
    1474             : 
    1475             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1476             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1477             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1478             : 
    1479             : #define Sca_ENABLED 1
    1480             : 
    1481             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1482             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1483             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1484             : 
    1485             : #define D0_ENABLED 1
    1486             : 
    1487             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1488             : 
    1489             : #define SK_ENABLED 1
    1490             : 
    1491             : #if SK5_ENABLED
    1492             :     module procedure setCoreHaloSca_D0_SK5
    1493             :         use pm_kind, only: SKC => SK5
    1494             : #include "pm_arrayInit@routines.inc.F90"
    1495             :     end procedure
    1496             : #endif
    1497             : 
    1498             : #if SK4_ENABLED
    1499             :     module procedure setCoreHaloSca_D0_SK4
    1500             :         use pm_kind, only: SKC => SK4
    1501             : #include "pm_arrayInit@routines.inc.F90"
    1502             :     end procedure
    1503             : #endif
    1504             : 
    1505             : #if SK3_ENABLED
    1506             :     module procedure setCoreHaloSca_D0_SK3
    1507             :         use pm_kind, only: SKC => SK3
    1508             : #include "pm_arrayInit@routines.inc.F90"
    1509             :     end procedure
    1510             : #endif
    1511             : 
    1512             : #if SK2_ENABLED
    1513             :     module procedure setCoreHaloSca_D0_SK2
    1514             :         use pm_kind, only: SKC => SK2
    1515             : #include "pm_arrayInit@routines.inc.F90"
    1516             :     end procedure
    1517             : #endif
    1518             : 
    1519             : #if SK1_ENABLED
    1520         200 :     module procedure setCoreHaloSca_D0_SK1
    1521             :         use pm_kind, only: SKC => SK1
    1522             : #include "pm_arrayInit@routines.inc.F90"
    1523         200 :     end procedure
    1524             : #endif
    1525             : 
    1526             : #undef SK_ENABLED
    1527             : 
    1528             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1529             : 
    1530             : #undef D0_ENABLED
    1531             : 
    1532             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1533             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1534             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1535             : 
    1536             : #define D1_ENABLED 1
    1537             : 
    1538             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1539             : 
    1540             : #define SK_ENABLED 1
    1541             : 
    1542             : #if SK5_ENABLED
    1543             :     module procedure setCoreHaloSca_D1_SK5
    1544             :         use pm_kind, only: SKC => SK5
    1545             : #include "pm_arrayInit@routines.inc.F90"
    1546             :     end procedure
    1547             : #endif
    1548             : 
    1549             : #if SK4_ENABLED
    1550             :     module procedure setCoreHaloSca_D1_SK4
    1551             :         use pm_kind, only: SKC => SK4
    1552             : #include "pm_arrayInit@routines.inc.F90"
    1553             :     end procedure
    1554             : #endif
    1555             : 
    1556             : #if SK3_ENABLED
    1557             :     module procedure setCoreHaloSca_D1_SK3
    1558             :         use pm_kind, only: SKC => SK3
    1559             : #include "pm_arrayInit@routines.inc.F90"
    1560             :     end procedure
    1561             : #endif
    1562             : 
    1563             : #if SK2_ENABLED
    1564             :     module procedure setCoreHaloSca_D1_SK2
    1565             :         use pm_kind, only: SKC => SK2
    1566             : #include "pm_arrayInit@routines.inc.F90"
    1567             :     end procedure
    1568             : #endif
    1569             : 
    1570             : #if SK1_ENABLED
    1571        4365 :     module procedure setCoreHaloSca_D1_SK1
    1572             :         use pm_kind, only: SKC => SK1
    1573             : #include "pm_arrayInit@routines.inc.F90"
    1574        4365 :     end procedure
    1575             : #endif
    1576             : 
    1577             : #undef SK_ENABLED
    1578             : 
    1579             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1580             : 
    1581             : #define IK_ENABLED 1
    1582             : 
    1583             : #if IK5_ENABLED
    1584        4468 :     module procedure setCoreHaloSca_D1_IK5
    1585             :         use pm_kind, only: IKC => IK5
    1586             : #include "pm_arrayInit@routines.inc.F90"
    1587        4468 :     end procedure
    1588             : #endif
    1589             : 
    1590             : #if IK4_ENABLED
    1591        4706 :     module procedure setCoreHaloSca_D1_IK4
    1592             :         use pm_kind, only: IKC => IK4
    1593             : #include "pm_arrayInit@routines.inc.F90"
    1594        4706 :     end procedure
    1595             : #endif
    1596             : 
    1597             : #if IK3_ENABLED
    1598        4362 :     module procedure setCoreHaloSca_D1_IK3
    1599             :         use pm_kind, only: IKC => IK3
    1600             : #include "pm_arrayInit@routines.inc.F90"
    1601        4362 :     end procedure
    1602             : #endif
    1603             : 
    1604             : #if IK2_ENABLED
    1605        4563 :     module procedure setCoreHaloSca_D1_IK2
    1606             :         use pm_kind, only: IKC => IK2
    1607             : #include "pm_arrayInit@routines.inc.F90"
    1608        4563 :     end procedure
    1609             : #endif
    1610             : 
    1611             : #if IK1_ENABLED
    1612        4039 :     module procedure setCoreHaloSca_D1_IK1
    1613             :         use pm_kind, only: IKC => IK1
    1614             : #include "pm_arrayInit@routines.inc.F90"
    1615        4039 :     end procedure
    1616             : #endif
    1617             : 
    1618             : #undef IK_ENABLED
    1619             : 
    1620             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1621             : 
    1622             : #define LK_ENABLED 1
    1623             : 
    1624             : #if LK5_ENABLED
    1625        4619 :     module procedure setCoreHaloSca_D1_LK5
    1626             :         use pm_kind, only: LKC => LK5
    1627             : #include "pm_arrayInit@routines.inc.F90"
    1628        4619 :     end procedure
    1629             : #endif
    1630             : 
    1631             : #if LK4_ENABLED
    1632        4918 :     module procedure setCoreHaloSca_D1_LK4
    1633             :         use pm_kind, only: LKC => LK4
    1634             : #include "pm_arrayInit@routines.inc.F90"
    1635        4918 :     end procedure
    1636             : #endif
    1637             : 
    1638             : #if LK3_ENABLED
    1639        5131 :     module procedure setCoreHaloSca_D1_LK3
    1640             :         use pm_kind, only: LKC => LK3
    1641             : #include "pm_arrayInit@routines.inc.F90"
    1642        5131 :     end procedure
    1643             : #endif
    1644             : 
    1645             : #if LK2_ENABLED
    1646        4557 :     module procedure setCoreHaloSca_D1_LK2
    1647             :         use pm_kind, only: LKC => LK2
    1648             : #include "pm_arrayInit@routines.inc.F90"
    1649        4557 :     end procedure
    1650             : #endif
    1651             : 
    1652             : #if LK1_ENABLED
    1653        4303 :     module procedure setCoreHaloSca_D1_LK1
    1654             :         use pm_kind, only: LKC => LK1
    1655             : #include "pm_arrayInit@routines.inc.F90"
    1656        4303 :     end procedure
    1657             : #endif
    1658             : 
    1659             : #undef LK_ENABLED
    1660             : 
    1661             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1662             : 
    1663             : #define CK_ENABLED 1
    1664             : 
    1665             : #if CK5_ENABLED
    1666             :     module procedure setCoreHaloSca_D1_CK5
    1667             :         use pm_kind, only: CKC => CK5
    1668             : #include "pm_arrayInit@routines.inc.F90"
    1669             :     end procedure
    1670             : #endif
    1671             : 
    1672             : #if CK4_ENABLED
    1673        4292 :     module procedure setCoreHaloSca_D1_CK4
    1674             :         use pm_kind, only: CKC => CK4
    1675             : #include "pm_arrayInit@routines.inc.F90"
    1676        4292 :     end procedure
    1677             : #endif
    1678             : 
    1679             : #if CK3_ENABLED
    1680        5054 :     module procedure setCoreHaloSca_D1_CK3
    1681             :         use pm_kind, only: CKC => CK3
    1682             : #include "pm_arrayInit@routines.inc.F90"
    1683        5054 :     end procedure
    1684             : #endif
    1685             : 
    1686             : #if CK2_ENABLED
    1687        4633 :     module procedure setCoreHaloSca_D1_CK2
    1688             :         use pm_kind, only: CKC => CK2
    1689             : #include "pm_arrayInit@routines.inc.F90"
    1690        4633 :     end procedure
    1691             : #endif
    1692             : 
    1693             : #if CK1_ENABLED
    1694        4520 :     module procedure setCoreHaloSca_D1_CK1
    1695             :         use pm_kind, only: CKC => CK1
    1696             : #include "pm_arrayInit@routines.inc.F90"
    1697        4520 :     end procedure
    1698             : #endif
    1699             : 
    1700             : #undef CK_ENABLED
    1701             : 
    1702             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1703             : 
    1704             : #define RK_ENABLED 1
    1705             : 
    1706             : #if RK5_ENABLED
    1707             :     module procedure setCoreHaloSca_D1_RK5
    1708             :         use pm_kind, only: RKC => RK5
    1709             : #include "pm_arrayInit@routines.inc.F90"
    1710             :     end procedure
    1711             : #endif
    1712             : 
    1713             : #if RK4_ENABLED
    1714        5646 :     module procedure setCoreHaloSca_D1_RK4
    1715             :         use pm_kind, only: RKC => RK4
    1716             : #include "pm_arrayInit@routines.inc.F90"
    1717        5646 :     end procedure
    1718             : #endif
    1719             : 
    1720             : #if RK3_ENABLED
    1721        4996 :     module procedure setCoreHaloSca_D1_RK3
    1722             :         use pm_kind, only: RKC => RK3
    1723             : #include "pm_arrayInit@routines.inc.F90"
    1724        4996 :     end procedure
    1725             : #endif
    1726             : 
    1727             : #if RK2_ENABLED
    1728        4551 :     module procedure setCoreHaloSca_D1_RK2
    1729             :         use pm_kind, only: RKC => RK2
    1730             : #include "pm_arrayInit@routines.inc.F90"
    1731        4551 :     end procedure
    1732             : #endif
    1733             : 
    1734             : #if RK1_ENABLED
    1735        4425 :     module procedure setCoreHaloSca_D1_RK1
    1736             :         use pm_kind, only: RKC => RK1
    1737             : #include "pm_arrayInit@routines.inc.F90"
    1738        4425 :     end procedure
    1739             : #endif
    1740             : 
    1741             : #undef RK_ENABLED
    1742             : 
    1743             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1744             : 
    1745             : #undef D1_ENABLED
    1746             : 
    1747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1749             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1750             : 
    1751             : #define D2_ENABLED 1
    1752             : 
    1753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1754             : 
    1755             : #define SK_ENABLED 1
    1756             : 
    1757             : #if SK5_ENABLED
    1758             :     module procedure setCoreHaloSca_D2_SK5
    1759             :         use pm_kind, only: SKC => SK5
    1760             : #include "pm_arrayInit@routines.inc.F90"
    1761             :     end procedure
    1762             : #endif
    1763             : 
    1764             : #if SK4_ENABLED
    1765             :     module procedure setCoreHaloSca_D2_SK4
    1766             :         use pm_kind, only: SKC => SK4
    1767             : #include "pm_arrayInit@routines.inc.F90"
    1768             :     end procedure
    1769             : #endif
    1770             : 
    1771             : #if SK3_ENABLED
    1772             :     module procedure setCoreHaloSca_D2_SK3
    1773             :         use pm_kind, only: SKC => SK3
    1774             : #include "pm_arrayInit@routines.inc.F90"
    1775             :     end procedure
    1776             : #endif
    1777             : 
    1778             : #if SK2_ENABLED
    1779             :     module procedure setCoreHaloSca_D2_SK2
    1780             :         use pm_kind, only: SKC => SK2
    1781             : #include "pm_arrayInit@routines.inc.F90"
    1782             :     end procedure
    1783             : #endif
    1784             : 
    1785             : #if SK1_ENABLED
    1786         958 :     module procedure setCoreHaloSca_D2_SK1
    1787             :         use pm_kind, only: SKC => SK1
    1788             : #include "pm_arrayInit@routines.inc.F90"
    1789         958 :     end procedure
    1790             : #endif
    1791             : 
    1792             : #undef SK_ENABLED
    1793             : 
    1794             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1795             : 
    1796             : #define IK_ENABLED 1
    1797             : 
    1798             : #if IK5_ENABLED
    1799        1072 :     module procedure setCoreHaloSca_D2_IK5
    1800             :         use pm_kind, only: IKC => IK5
    1801             : #include "pm_arrayInit@routines.inc.F90"
    1802        1072 :     end procedure
    1803             : #endif
    1804             : 
    1805             : #if IK4_ENABLED
    1806         954 :     module procedure setCoreHaloSca_D2_IK4
    1807             :         use pm_kind, only: IKC => IK4
    1808             : #include "pm_arrayInit@routines.inc.F90"
    1809         954 :     end procedure
    1810             : #endif
    1811             : 
    1812             : #if IK3_ENABLED
    1813         977 :     module procedure setCoreHaloSca_D2_IK3
    1814             :         use pm_kind, only: IKC => IK3
    1815             : #include "pm_arrayInit@routines.inc.F90"
    1816         977 :     end procedure
    1817             : #endif
    1818             : 
    1819             : #if IK2_ENABLED
    1820        1061 :     module procedure setCoreHaloSca_D2_IK2
    1821             :         use pm_kind, only: IKC => IK2
    1822             : #include "pm_arrayInit@routines.inc.F90"
    1823        1061 :     end procedure
    1824             : #endif
    1825             : 
    1826             : #if IK1_ENABLED
    1827         985 :     module procedure setCoreHaloSca_D2_IK1
    1828             :         use pm_kind, only: IKC => IK1
    1829             : #include "pm_arrayInit@routines.inc.F90"
    1830         985 :     end procedure
    1831             : #endif
    1832             : 
    1833             : #undef IK_ENABLED
    1834             : 
    1835             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1836             : 
    1837             : #define LK_ENABLED 1
    1838             : 
    1839             : #if LK5_ENABLED
    1840        1002 :     module procedure setCoreHaloSca_D2_LK5
    1841             :         use pm_kind, only: LKC => LK5
    1842             : #include "pm_arrayInit@routines.inc.F90"
    1843        1002 :     end procedure
    1844             : #endif
    1845             : 
    1846             : #if LK4_ENABLED
    1847        1030 :     module procedure setCoreHaloSca_D2_LK4
    1848             :         use pm_kind, only: LKC => LK4
    1849             : #include "pm_arrayInit@routines.inc.F90"
    1850        1030 :     end procedure
    1851             : #endif
    1852             : 
    1853             : #if LK3_ENABLED
    1854        1039 :     module procedure setCoreHaloSca_D2_LK3
    1855             :         use pm_kind, only: LKC => LK3
    1856             : #include "pm_arrayInit@routines.inc.F90"
    1857        1039 :     end procedure
    1858             : #endif
    1859             : 
    1860             : #if LK2_ENABLED
    1861         976 :     module procedure setCoreHaloSca_D2_LK2
    1862             :         use pm_kind, only: LKC => LK2
    1863             : #include "pm_arrayInit@routines.inc.F90"
    1864         976 :     end procedure
    1865             : #endif
    1866             : 
    1867             : #if LK1_ENABLED
    1868         909 :     module procedure setCoreHaloSca_D2_LK1
    1869             :         use pm_kind, only: LKC => LK1
    1870             : #include "pm_arrayInit@routines.inc.F90"
    1871         909 :     end procedure
    1872             : #endif
    1873             : 
    1874             : #undef LK_ENABLED
    1875             : 
    1876             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1877             : 
    1878             : #define CK_ENABLED 1
    1879             : 
    1880             : #if CK5_ENABLED
    1881             :     module procedure setCoreHaloSca_D2_CK5
    1882             :         use pm_kind, only: CKC => CK5
    1883             : #include "pm_arrayInit@routines.inc.F90"
    1884             :     end procedure
    1885             : #endif
    1886             : 
    1887             : #if CK4_ENABLED
    1888        1025 :     module procedure setCoreHaloSca_D2_CK4
    1889             :         use pm_kind, only: CKC => CK4
    1890             : #include "pm_arrayInit@routines.inc.F90"
    1891        1025 :     end procedure
    1892             : #endif
    1893             : 
    1894             : #if CK3_ENABLED
    1895        1021 :     module procedure setCoreHaloSca_D2_CK3
    1896             :         use pm_kind, only: CKC => CK3
    1897             : #include "pm_arrayInit@routines.inc.F90"
    1898        1021 :     end procedure
    1899             : #endif
    1900             : 
    1901             : #if CK2_ENABLED
    1902         988 :     module procedure setCoreHaloSca_D2_CK2
    1903             :         use pm_kind, only: CKC => CK2
    1904             : #include "pm_arrayInit@routines.inc.F90"
    1905         988 :     end procedure
    1906             : #endif
    1907             : 
    1908             : #if CK1_ENABLED
    1909        1015 :     module procedure setCoreHaloSca_D2_CK1
    1910             :         use pm_kind, only: CKC => CK1
    1911             : #include "pm_arrayInit@routines.inc.F90"
    1912        1015 :     end procedure
    1913             : #endif
    1914             : 
    1915             : #undef CK_ENABLED
    1916             : 
    1917             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1918             : 
    1919             : #define RK_ENABLED 1
    1920             : 
    1921             : #if RK5_ENABLED
    1922             :     module procedure setCoreHaloSca_D2_RK5
    1923             :         use pm_kind, only: RKC => RK5
    1924             : #include "pm_arrayInit@routines.inc.F90"
    1925             :     end procedure
    1926             : #endif
    1927             : 
    1928             : #if RK4_ENABLED
    1929        1088 :     module procedure setCoreHaloSca_D2_RK4
    1930             :         use pm_kind, only: RKC => RK4
    1931             : #include "pm_arrayInit@routines.inc.F90"
    1932        1088 :     end procedure
    1933             : #endif
    1934             : 
    1935             : #if RK3_ENABLED
    1936        1121 :     module procedure setCoreHaloSca_D2_RK3
    1937             :         use pm_kind, only: RKC => RK3
    1938             : #include "pm_arrayInit@routines.inc.F90"
    1939        1121 :     end procedure
    1940             : #endif
    1941             : 
    1942             : #if RK2_ENABLED
    1943        1057 :     module procedure setCoreHaloSca_D2_RK2
    1944             :         use pm_kind, only: RKC => RK2
    1945             : #include "pm_arrayInit@routines.inc.F90"
    1946        1057 :     end procedure
    1947             : #endif
    1948             : 
    1949             : #if RK1_ENABLED
    1950         974 :     module procedure setCoreHaloSca_D2_RK1
    1951             :         use pm_kind, only: RKC => RK1
    1952             : #include "pm_arrayInit@routines.inc.F90"
    1953         974 :     end procedure
    1954             : #endif
    1955             : 
    1956             : #undef RK_ENABLED
    1957             : 
    1958             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1959             : 
    1960             : #undef D2_ENABLED
    1961             : 
    1962             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1963             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1964             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1965             : 
    1966             : #define D3_ENABLED 1
    1967             : 
    1968             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1969             : 
    1970             : #define SK_ENABLED 1
    1971             : 
    1972             : #if SK5_ENABLED
    1973             :     module procedure setCoreHaloSca_D3_SK5
    1974             :         use pm_kind, only: SKC => SK5
    1975             : #include "pm_arrayInit@routines.inc.F90"
    1976             :     end procedure
    1977             : #endif
    1978             : 
    1979             : #if SK4_ENABLED
    1980             :     module procedure setCoreHaloSca_D3_SK4
    1981             :         use pm_kind, only: SKC => SK4
    1982             : #include "pm_arrayInit@routines.inc.F90"
    1983             :     end procedure
    1984             : #endif
    1985             : 
    1986             : #if SK3_ENABLED
    1987             :     module procedure setCoreHaloSca_D3_SK3
    1988             :         use pm_kind, only: SKC => SK3
    1989             : #include "pm_arrayInit@routines.inc.F90"
    1990             :     end procedure
    1991             : #endif
    1992             : 
    1993             : #if SK2_ENABLED
    1994             :     module procedure setCoreHaloSca_D3_SK2
    1995             :         use pm_kind, only: SKC => SK2
    1996             : #include "pm_arrayInit@routines.inc.F90"
    1997             :     end procedure
    1998             : #endif
    1999             : 
    2000             : #if SK1_ENABLED
    2001         200 :     module procedure setCoreHaloSca_D3_SK1
    2002             :         use pm_kind, only: SKC => SK1
    2003             : #include "pm_arrayInit@routines.inc.F90"
    2004         200 :     end procedure
    2005             : #endif
    2006             : 
    2007             : #undef SK_ENABLED
    2008             : 
    2009             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2010             : 
    2011             : #define IK_ENABLED 1
    2012             : 
    2013             : #if IK5_ENABLED
    2014         200 :     module procedure setCoreHaloSca_D3_IK5
    2015             :         use pm_kind, only: IKC => IK5
    2016             : #include "pm_arrayInit@routines.inc.F90"
    2017         200 :     end procedure
    2018             : #endif
    2019             : 
    2020             : #if IK4_ENABLED
    2021         200 :     module procedure setCoreHaloSca_D3_IK4
    2022             :         use pm_kind, only: IKC => IK4
    2023             : #include "pm_arrayInit@routines.inc.F90"
    2024         200 :     end procedure
    2025             : #endif
    2026             : 
    2027             : #if IK3_ENABLED
    2028         200 :     module procedure setCoreHaloSca_D3_IK3
    2029             :         use pm_kind, only: IKC => IK3
    2030             : #include "pm_arrayInit@routines.inc.F90"
    2031         200 :     end procedure
    2032             : #endif
    2033             : 
    2034             : #if IK2_ENABLED
    2035         200 :     module procedure setCoreHaloSca_D3_IK2
    2036             :         use pm_kind, only: IKC => IK2
    2037             : #include "pm_arrayInit@routines.inc.F90"
    2038         200 :     end procedure
    2039             : #endif
    2040             : 
    2041             : #if IK1_ENABLED
    2042         200 :     module procedure setCoreHaloSca_D3_IK1
    2043             :         use pm_kind, only: IKC => IK1
    2044             : #include "pm_arrayInit@routines.inc.F90"
    2045         200 :     end procedure
    2046             : #endif
    2047             : 
    2048             : #undef IK_ENABLED
    2049             : 
    2050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2051             : 
    2052             : #define LK_ENABLED 1
    2053             : 
    2054             : #if LK5_ENABLED
    2055         200 :     module procedure setCoreHaloSca_D3_LK5
    2056             :         use pm_kind, only: LKC => LK5
    2057             : #include "pm_arrayInit@routines.inc.F90"
    2058         200 :     end procedure
    2059             : #endif
    2060             : 
    2061             : #if LK4_ENABLED
    2062         200 :     module procedure setCoreHaloSca_D3_LK4
    2063             :         use pm_kind, only: LKC => LK4
    2064             : #include "pm_arrayInit@routines.inc.F90"
    2065         200 :     end procedure
    2066             : #endif
    2067             : 
    2068             : #if LK3_ENABLED
    2069         200 :     module procedure setCoreHaloSca_D3_LK3
    2070             :         use pm_kind, only: LKC => LK3
    2071             : #include "pm_arrayInit@routines.inc.F90"
    2072         200 :     end procedure
    2073             : #endif
    2074             : 
    2075             : #if LK2_ENABLED
    2076         200 :     module procedure setCoreHaloSca_D3_LK2
    2077             :         use pm_kind, only: LKC => LK2
    2078             : #include "pm_arrayInit@routines.inc.F90"
    2079         200 :     end procedure
    2080             : #endif
    2081             : 
    2082             : #if LK1_ENABLED
    2083         200 :     module procedure setCoreHaloSca_D3_LK1
    2084             :         use pm_kind, only: LKC => LK1
    2085             : #include "pm_arrayInit@routines.inc.F90"
    2086         200 :     end procedure
    2087             : #endif
    2088             : 
    2089             : #undef LK_ENABLED
    2090             : 
    2091             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2092             : 
    2093             : #define CK_ENABLED 1
    2094             : 
    2095             : #if CK5_ENABLED
    2096             :     module procedure setCoreHaloSca_D3_CK5
    2097             :         use pm_kind, only: CKC => CK5
    2098             : #include "pm_arrayInit@routines.inc.F90"
    2099             :     end procedure
    2100             : #endif
    2101             : 
    2102             : #if CK4_ENABLED
    2103         200 :     module procedure setCoreHaloSca_D3_CK4
    2104             :         use pm_kind, only: CKC => CK4
    2105             : #include "pm_arrayInit@routines.inc.F90"
    2106         200 :     end procedure
    2107             : #endif
    2108             : 
    2109             : #if CK3_ENABLED
    2110         200 :     module procedure setCoreHaloSca_D3_CK3
    2111             :         use pm_kind, only: CKC => CK3
    2112             : #include "pm_arrayInit@routines.inc.F90"
    2113         200 :     end procedure
    2114             : #endif
    2115             : 
    2116             : #if CK2_ENABLED
    2117         200 :     module procedure setCoreHaloSca_D3_CK2
    2118             :         use pm_kind, only: CKC => CK2
    2119             : #include "pm_arrayInit@routines.inc.F90"
    2120         200 :     end procedure
    2121             : #endif
    2122             : 
    2123             : #if CK1_ENABLED
    2124         200 :     module procedure setCoreHaloSca_D3_CK1
    2125             :         use pm_kind, only: CKC => CK1
    2126             : #include "pm_arrayInit@routines.inc.F90"
    2127         200 :     end procedure
    2128             : #endif
    2129             : 
    2130             : #undef CK_ENABLED
    2131             : 
    2132             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2133             : 
    2134             : #define RK_ENABLED 1
    2135             : 
    2136             : #if RK5_ENABLED
    2137             :     module procedure setCoreHaloSca_D3_RK5
    2138             :         use pm_kind, only: RKC => RK5
    2139             : #include "pm_arrayInit@routines.inc.F90"
    2140             :     end procedure
    2141             : #endif
    2142             : 
    2143             : #if RK4_ENABLED
    2144         200 :     module procedure setCoreHaloSca_D3_RK4
    2145             :         use pm_kind, only: RKC => RK4
    2146             : #include "pm_arrayInit@routines.inc.F90"
    2147         200 :     end procedure
    2148             : #endif
    2149             : 
    2150             : #if RK3_ENABLED
    2151         200 :     module procedure setCoreHaloSca_D3_RK3
    2152             :         use pm_kind, only: RKC => RK3
    2153             : #include "pm_arrayInit@routines.inc.F90"
    2154         200 :     end procedure
    2155             : #endif
    2156             : 
    2157             : #if RK2_ENABLED
    2158         200 :     module procedure setCoreHaloSca_D3_RK2
    2159             :         use pm_kind, only: RKC => RK2
    2160             : #include "pm_arrayInit@routines.inc.F90"
    2161         200 :     end procedure
    2162             : #endif
    2163             : 
    2164             : #if RK1_ENABLED
    2165         200 :     module procedure setCoreHaloSca_D3_RK1
    2166             :         use pm_kind, only: RKC => RK1
    2167             : #include "pm_arrayInit@routines.inc.F90"
    2168         200 :     end procedure
    2169             : #endif
    2170             : 
    2171             : #undef RK_ENABLED
    2172             : 
    2173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2174             : 
    2175             : #undef D3_ENABLED
    2176             : 
    2177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2180             : 
    2181             : #undef Sca_ENABLED
    2182             : 
    2183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2184             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2185             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2186             : 
    2187             : #undef setCoreHalo_ENABLED
    2188             : 
    2189             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2190             : 
    2191             : #undef CHECK_ASSERTION
    2192             : 
    2193             : end submodule routines

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