https://www.cdslab.org/paramonte/fortran/2
Current view: top level - main - pm_polation@routines.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 83 400 20.8 %
Date: 2024-04-08 03:18:57 Functions: 44 208 21.2 %
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_polation](@ref pm_polation).
      19             : !>
      20             : !>  \finmain
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, Apr 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : submodule (pm_polation) 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             :     use pm_arraySort, only: isAscending, isAscendingAll
      40             :     use pm_arraySearch, only: getBin
      41             :     implicit none
      42             : 
      43             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      44             : 
      45             : contains
      46             : 
      47             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      48             : 
      49             : #define getExtrap_ENABLED 1
      50             : 
      51             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      52             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      53             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      54             : 
      55             : #define ND1_ENABLED 1
      56             : 
      57             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      59             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      60             : 
      61             : #define PWLN_ENABLED 1
      62             : 
      63             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      64             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      65             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      66             : 
      67             : #define QD0_ENABLED 1
      68             : 
      69             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      70             : 
      71             : #define RK_ENABLED 1
      72             : 
      73             : #if RK5_ENABLED
      74             :     module procedure getExtrapPWLN_ND1_QD0_RK5
      75             :         use pm_kind, only: RKC => RK5
      76             : #include "pm_polation@routines.inc.F90"
      77             :     end procedure
      78             : #endif
      79             : 
      80             : #if RK4_ENABLED
      81           0 :     module procedure getExtrapPWLN_ND1_QD0_RK4
      82             :         use pm_kind, only: RKC => RK4
      83             : #include "pm_polation@routines.inc.F90"
      84           0 :     end procedure
      85             : #endif
      86             : 
      87             : #if RK3_ENABLED
      88           0 :     module procedure getExtrapPWLN_ND1_QD0_RK3
      89             :         use pm_kind, only: RKC => RK3
      90             : #include "pm_polation@routines.inc.F90"
      91           0 :     end procedure
      92             : #endif
      93             : 
      94             : #if RK2_ENABLED
      95           0 :     module procedure getExtrapPWLN_ND1_QD0_RK2
      96             :         use pm_kind, only: RKC => RK2
      97             : #include "pm_polation@routines.inc.F90"
      98           0 :     end procedure
      99             : #endif
     100             : 
     101             : #if RK1_ENABLED
     102           0 :     module procedure getExtrapPWLN_ND1_QD0_RK1
     103             :         use pm_kind, only: RKC => RK1
     104             : #include "pm_polation@routines.inc.F90"
     105           0 :     end procedure
     106             : #endif
     107             : 
     108             : #undef RK_ENABLED
     109             : 
     110             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     111             : 
     112             : #undef QD0_ENABLED
     113             : 
     114             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     115             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     116             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     117             : 
     118             : #define QD1_ENABLED 1
     119             : 
     120             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     121             : 
     122             : #define RK_ENABLED 1
     123             : 
     124             : #if RK5_ENABLED
     125             :     module procedure getExtrapPWLN_ND1_QD1_RK5
     126             :         use pm_kind, only: RKC => RK5
     127             : #include "pm_polation@routines.inc.F90"
     128             :     end procedure
     129             : #endif
     130             : 
     131             : #if RK4_ENABLED
     132           0 :     module procedure getExtrapPWLN_ND1_QD1_RK4
     133             :         use pm_kind, only: RKC => RK4
     134             : #include "pm_polation@routines.inc.F90"
     135           0 :     end procedure
     136             : #endif
     137             : 
     138             : #if RK3_ENABLED
     139           0 :     module procedure getExtrapPWLN_ND1_QD1_RK3
     140             :         use pm_kind, only: RKC => RK3
     141             : #include "pm_polation@routines.inc.F90"
     142           0 :     end procedure
     143             : #endif
     144             : 
     145             : #if RK2_ENABLED
     146           0 :     module procedure getExtrapPWLN_ND1_QD1_RK2
     147             :         use pm_kind, only: RKC => RK2
     148             : #include "pm_polation@routines.inc.F90"
     149           0 :     end procedure
     150             : #endif
     151             : 
     152             : #if RK1_ENABLED
     153           1 :     module procedure getExtrapPWLN_ND1_QD1_RK1
     154             :         use pm_kind, only: RKC => RK1
     155             : #include "pm_polation@routines.inc.F90"
     156           1 :     end procedure
     157             : #endif
     158             : 
     159             : #undef RK_ENABLED
     160             : 
     161             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     162             : 
     163             : #undef QD1_ENABLED
     164             : 
     165             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     166             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     167             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     168             : 
     169             : #undef PWLN_ENABLED
     170             : 
     171             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     172             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     173             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     174             : 
     175             : #define MEAN_ENABLED 1
     176             : 
     177             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     178             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     179             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     180             : 
     181             : #define QD0_ENABLED 1
     182             : 
     183             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     184             : 
     185             : #define RK_ENABLED 1
     186             : 
     187             : #if RK5_ENABLED
     188             :     module procedure getExtrapMEAN_ND1_QD0_RK5
     189             :         use pm_kind, only: RKC => RK5
     190             : #include "pm_polation@routines.inc.F90"
     191             :     end procedure
     192             : #endif
     193             : 
     194             : #if RK4_ENABLED
     195           0 :     module procedure getExtrapMEAN_ND1_QD0_RK4
     196             :         use pm_kind, only: RKC => RK4
     197             : #include "pm_polation@routines.inc.F90"
     198           0 :     end procedure
     199             : #endif
     200             : 
     201             : #if RK3_ENABLED
     202           0 :     module procedure getExtrapMEAN_ND1_QD0_RK3
     203             :         use pm_kind, only: RKC => RK3
     204             : #include "pm_polation@routines.inc.F90"
     205           0 :     end procedure
     206             : #endif
     207             : 
     208             : #if RK2_ENABLED
     209           0 :     module procedure getExtrapMEAN_ND1_QD0_RK2
     210             :         use pm_kind, only: RKC => RK2
     211             : #include "pm_polation@routines.inc.F90"
     212           0 :     end procedure
     213             : #endif
     214             : 
     215             : #if RK1_ENABLED
     216           0 :     module procedure getExtrapMEAN_ND1_QD0_RK1
     217             :         use pm_kind, only: RKC => RK1
     218             : #include "pm_polation@routines.inc.F90"
     219           0 :     end procedure
     220             : #endif
     221             : 
     222             : #undef RK_ENABLED
     223             : 
     224             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     225             : 
     226             : #undef QD0_ENABLED
     227             : 
     228             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     229             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     230             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     231             : 
     232             : #define QD1_ENABLED 1
     233             : 
     234             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     235             : 
     236             : #define RK_ENABLED 1
     237             : 
     238             : #if RK5_ENABLED
     239             :     module procedure getExtrapMEAN_ND1_QD1_RK5
     240             :         use pm_kind, only: RKC => RK5
     241             : #include "pm_polation@routines.inc.F90"
     242             :     end procedure
     243             : #endif
     244             : 
     245             : #if RK4_ENABLED
     246           0 :     module procedure getExtrapMEAN_ND1_QD1_RK4
     247             :         use pm_kind, only: RKC => RK4
     248             : #include "pm_polation@routines.inc.F90"
     249           0 :     end procedure
     250             : #endif
     251             : 
     252             : #if RK3_ENABLED
     253           0 :     module procedure getExtrapMEAN_ND1_QD1_RK3
     254             :         use pm_kind, only: RKC => RK3
     255             : #include "pm_polation@routines.inc.F90"
     256           0 :     end procedure
     257             : #endif
     258             : 
     259             : #if RK2_ENABLED
     260           0 :     module procedure getExtrapMEAN_ND1_QD1_RK2
     261             :         use pm_kind, only: RKC => RK2
     262             : #include "pm_polation@routines.inc.F90"
     263           0 :     end procedure
     264             : #endif
     265             : 
     266             : #if RK1_ENABLED
     267           1 :     module procedure getExtrapMEAN_ND1_QD1_RK1
     268             :         use pm_kind, only: RKC => RK1
     269             : #include "pm_polation@routines.inc.F90"
     270           1 :     end procedure
     271             : #endif
     272             : 
     273             : #undef RK_ENABLED
     274             : 
     275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     276             : 
     277             : #undef QD1_ENABLED
     278             : 
     279             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     280             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     281             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     282             : 
     283             : #undef MEAN_ENABLED
     284             : 
     285             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     286             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     287             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     288             : 
     289             : #define NEAR_ENABLED 1
     290             : 
     291             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     292             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     293             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     294             : 
     295             : #define QD0_ENABLED 1
     296             : 
     297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     298             : 
     299             : #define RK_ENABLED 1
     300             : 
     301             : #if RK5_ENABLED
     302             :     module procedure getExtrapNEAR_ND1_QD0_RK5
     303             :         use pm_kind, only: RKC => RK5
     304             : #include "pm_polation@routines.inc.F90"
     305             :     end procedure
     306             : #endif
     307             : 
     308             : #if RK4_ENABLED
     309           0 :     module procedure getExtrapNEAR_ND1_QD0_RK4
     310             :         use pm_kind, only: RKC => RK4
     311             : #include "pm_polation@routines.inc.F90"
     312           0 :     end procedure
     313             : #endif
     314             : 
     315             : #if RK3_ENABLED
     316           0 :     module procedure getExtrapNEAR_ND1_QD0_RK3
     317             :         use pm_kind, only: RKC => RK3
     318             : #include "pm_polation@routines.inc.F90"
     319           0 :     end procedure
     320             : #endif
     321             : 
     322             : #if RK2_ENABLED
     323           0 :     module procedure getExtrapNEAR_ND1_QD0_RK2
     324             :         use pm_kind, only: RKC => RK2
     325             : #include "pm_polation@routines.inc.F90"
     326           0 :     end procedure
     327             : #endif
     328             : 
     329             : #if RK1_ENABLED
     330           0 :     module procedure getExtrapNEAR_ND1_QD0_RK1
     331             :         use pm_kind, only: RKC => RK1
     332             : #include "pm_polation@routines.inc.F90"
     333           0 :     end procedure
     334             : #endif
     335             : 
     336             : #undef RK_ENABLED
     337             : 
     338             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     339             : 
     340             : #undef QD0_ENABLED
     341             : 
     342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     343             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     344             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     345             : 
     346             : #define QD1_ENABLED 1
     347             : 
     348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     349             : 
     350             : #define RK_ENABLED 1
     351             : 
     352             : #if RK5_ENABLED
     353             :     module procedure getExtrapNEAR_ND1_QD1_RK5
     354             :         use pm_kind, only: RKC => RK5
     355             : #include "pm_polation@routines.inc.F90"
     356             :     end procedure
     357             : #endif
     358             : 
     359             : #if RK4_ENABLED
     360           0 :     module procedure getExtrapNEAR_ND1_QD1_RK4
     361             :         use pm_kind, only: RKC => RK4
     362             : #include "pm_polation@routines.inc.F90"
     363           0 :     end procedure
     364             : #endif
     365             : 
     366             : #if RK3_ENABLED
     367           0 :     module procedure getExtrapNEAR_ND1_QD1_RK3
     368             :         use pm_kind, only: RKC => RK3
     369             : #include "pm_polation@routines.inc.F90"
     370           0 :     end procedure
     371             : #endif
     372             : 
     373             : #if RK2_ENABLED
     374           0 :     module procedure getExtrapNEAR_ND1_QD1_RK2
     375             :         use pm_kind, only: RKC => RK2
     376             : #include "pm_polation@routines.inc.F90"
     377           0 :     end procedure
     378             : #endif
     379             : 
     380             : #if RK1_ENABLED
     381           1 :     module procedure getExtrapNEAR_ND1_QD1_RK1
     382             :         use pm_kind, only: RKC => RK1
     383             : #include "pm_polation@routines.inc.F90"
     384           1 :     end procedure
     385             : #endif
     386             : 
     387             : #undef RK_ENABLED
     388             : 
     389             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     390             : 
     391             : #undef QD1_ENABLED
     392             : 
     393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     394             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     395             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     396             : 
     397             : #undef NEAR_ENABLED
     398             : 
     399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     400             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     401             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     402             : 
     403             : #define NEXT_ENABLED 1
     404             : 
     405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     406             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     407             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     408             : 
     409             : #define QD0_ENABLED 1
     410             : 
     411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     412             : 
     413             : #define RK_ENABLED 1
     414             : 
     415             : #if RK5_ENABLED
     416             :     module procedure getExtrapNEXT_ND1_QD0_RK5
     417             :         use pm_kind, only: RKC => RK5
     418             : #include "pm_polation@routines.inc.F90"
     419             :     end procedure
     420             : #endif
     421             : 
     422             : #if RK4_ENABLED
     423           0 :     module procedure getExtrapNEXT_ND1_QD0_RK4
     424             :         use pm_kind, only: RKC => RK4
     425             : #include "pm_polation@routines.inc.F90"
     426           0 :     end procedure
     427             : #endif
     428             : 
     429             : #if RK3_ENABLED
     430           0 :     module procedure getExtrapNEXT_ND1_QD0_RK3
     431             :         use pm_kind, only: RKC => RK3
     432             : #include "pm_polation@routines.inc.F90"
     433           0 :     end procedure
     434             : #endif
     435             : 
     436             : #if RK2_ENABLED
     437           0 :     module procedure getExtrapNEXT_ND1_QD0_RK2
     438             :         use pm_kind, only: RKC => RK2
     439             : #include "pm_polation@routines.inc.F90"
     440           0 :     end procedure
     441             : #endif
     442             : 
     443             : #if RK1_ENABLED
     444           0 :     module procedure getExtrapNEXT_ND1_QD0_RK1
     445             :         use pm_kind, only: RKC => RK1
     446             : #include "pm_polation@routines.inc.F90"
     447           0 :     end procedure
     448             : #endif
     449             : 
     450             : #undef RK_ENABLED
     451             : 
     452             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     453             : 
     454             : #undef QD0_ENABLED
     455             : 
     456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     457             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     458             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     459             : 
     460             : #define QD1_ENABLED 1
     461             : 
     462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     463             : 
     464             : #define RK_ENABLED 1
     465             : 
     466             : #if RK5_ENABLED
     467             :     module procedure getExtrapNEXT_ND1_QD1_RK5
     468             :         use pm_kind, only: RKC => RK5
     469             : #include "pm_polation@routines.inc.F90"
     470             :     end procedure
     471             : #endif
     472             : 
     473             : #if RK4_ENABLED
     474           0 :     module procedure getExtrapNEXT_ND1_QD1_RK4
     475             :         use pm_kind, only: RKC => RK4
     476             : #include "pm_polation@routines.inc.F90"
     477           0 :     end procedure
     478             : #endif
     479             : 
     480             : #if RK3_ENABLED
     481           0 :     module procedure getExtrapNEXT_ND1_QD1_RK3
     482             :         use pm_kind, only: RKC => RK3
     483             : #include "pm_polation@routines.inc.F90"
     484           0 :     end procedure
     485             : #endif
     486             : 
     487             : #if RK2_ENABLED
     488           0 :     module procedure getExtrapNEXT_ND1_QD1_RK2
     489             :         use pm_kind, only: RKC => RK2
     490             : #include "pm_polation@routines.inc.F90"
     491           0 :     end procedure
     492             : #endif
     493             : 
     494             : #if RK1_ENABLED
     495           1 :     module procedure getExtrapNEXT_ND1_QD1_RK1
     496             :         use pm_kind, only: RKC => RK1
     497             : #include "pm_polation@routines.inc.F90"
     498           1 :     end procedure
     499             : #endif
     500             : 
     501             : #undef RK_ENABLED
     502             : 
     503             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     504             : 
     505             : #undef QD1_ENABLED
     506             : 
     507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     508             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     509             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     510             : 
     511             : #undef NEXT_ENABLED
     512             : 
     513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     514             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     515             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     516             : 
     517             : #define PREV_ENABLED 1
     518             : 
     519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     520             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     521             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     522             : 
     523             : #define QD0_ENABLED 1
     524             : 
     525             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     526             : 
     527             : #define RK_ENABLED 1
     528             : 
     529             : #if RK5_ENABLED
     530             :     module procedure getExtrapPREV_ND1_QD0_RK5
     531             :         use pm_kind, only: RKC => RK5
     532             : #include "pm_polation@routines.inc.F90"
     533             :     end procedure
     534             : #endif
     535             : 
     536             : #if RK4_ENABLED
     537           0 :     module procedure getExtrapPREV_ND1_QD0_RK4
     538             :         use pm_kind, only: RKC => RK4
     539             : #include "pm_polation@routines.inc.F90"
     540           0 :     end procedure
     541             : #endif
     542             : 
     543             : #if RK3_ENABLED
     544           0 :     module procedure getExtrapPREV_ND1_QD0_RK3
     545             :         use pm_kind, only: RKC => RK3
     546             : #include "pm_polation@routines.inc.F90"
     547           0 :     end procedure
     548             : #endif
     549             : 
     550             : #if RK2_ENABLED
     551           0 :     module procedure getExtrapPREV_ND1_QD0_RK2
     552             :         use pm_kind, only: RKC => RK2
     553             : #include "pm_polation@routines.inc.F90"
     554           0 :     end procedure
     555             : #endif
     556             : 
     557             : #if RK1_ENABLED
     558           0 :     module procedure getExtrapPREV_ND1_QD0_RK1
     559             :         use pm_kind, only: RKC => RK1
     560             : #include "pm_polation@routines.inc.F90"
     561           0 :     end procedure
     562             : #endif
     563             : 
     564             : #undef RK_ENABLED
     565             : 
     566             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     567             : 
     568             : #undef QD0_ENABLED
     569             : 
     570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     571             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     572             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     573             : 
     574             : #define QD1_ENABLED 1
     575             : 
     576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     577             : 
     578             : #define RK_ENABLED 1
     579             : 
     580             : #if RK5_ENABLED
     581             :     module procedure getExtrapPREV_ND1_QD1_RK5
     582             :         use pm_kind, only: RKC => RK5
     583             : #include "pm_polation@routines.inc.F90"
     584             :     end procedure
     585             : #endif
     586             : 
     587             : #if RK4_ENABLED
     588           0 :     module procedure getExtrapPREV_ND1_QD1_RK4
     589             :         use pm_kind, only: RKC => RK4
     590             : #include "pm_polation@routines.inc.F90"
     591           0 :     end procedure
     592             : #endif
     593             : 
     594             : #if RK3_ENABLED
     595           0 :     module procedure getExtrapPREV_ND1_QD1_RK3
     596             :         use pm_kind, only: RKC => RK3
     597             : #include "pm_polation@routines.inc.F90"
     598           0 :     end procedure
     599             : #endif
     600             : 
     601             : #if RK2_ENABLED
     602           0 :     module procedure getExtrapPREV_ND1_QD1_RK2
     603             :         use pm_kind, only: RKC => RK2
     604             : #include "pm_polation@routines.inc.F90"
     605           0 :     end procedure
     606             : #endif
     607             : 
     608             : #if RK1_ENABLED
     609           1 :     module procedure getExtrapPREV_ND1_QD1_RK1
     610             :         use pm_kind, only: RKC => RK1
     611             : #include "pm_polation@routines.inc.F90"
     612           1 :     end procedure
     613             : #endif
     614             : 
     615             : #undef RK_ENABLED
     616             : 
     617             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     618             : 
     619             : #undef QD1_ENABLED
     620             : 
     621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     622             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     623             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     624             : 
     625             : #undef PREV_ENABLED
     626             : 
     627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     628             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     629             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     630             : 
     631             : #define MNPLD_ENABLED 1
     632             : 
     633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     634             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     635             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     636             : 
     637             : #define QD0_ENABLED 1
     638             : 
     639             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     640             : 
     641             : #define RK_ENABLED 1
     642             : 
     643             : #if RK5_ENABLED
     644             :     module procedure getExtrapMNPLD_ND1_QD0_RK5
     645             :         use pm_kind, only: RKC => RK5
     646             : #include "pm_polation@routines.inc.F90"
     647             :     end procedure
     648             : #endif
     649             : 
     650             : #if RK4_ENABLED
     651           0 :     module procedure getExtrapMNPLD_ND1_QD0_RK4
     652             :         use pm_kind, only: RKC => RK4
     653             : #include "pm_polation@routines.inc.F90"
     654           0 :     end procedure
     655             : #endif
     656             : 
     657             : #if RK3_ENABLED
     658           0 :     module procedure getExtrapMNPLD_ND1_QD0_RK3
     659             :         use pm_kind, only: RKC => RK3
     660             : #include "pm_polation@routines.inc.F90"
     661           0 :     end procedure
     662             : #endif
     663             : 
     664             : #if RK2_ENABLED
     665           0 :     module procedure getExtrapMNPLD_ND1_QD0_RK2
     666             :         use pm_kind, only: RKC => RK2
     667             : #include "pm_polation@routines.inc.F90"
     668           0 :     end procedure
     669             : #endif
     670             : 
     671             : #if RK1_ENABLED
     672           0 :     module procedure getExtrapMNPLD_ND1_QD0_RK1
     673             :         use pm_kind, only: RKC => RK1
     674             : #include "pm_polation@routines.inc.F90"
     675           0 :     end procedure
     676             : #endif
     677             : 
     678             : #undef RK_ENABLED
     679             : 
     680             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     681             : 
     682             : #undef QD0_ENABLED
     683             : 
     684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     685             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     686             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     687             : 
     688             : #define QD1_ENABLED 1
     689             : 
     690             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     691             : 
     692             : #define RK_ENABLED 1
     693             : 
     694             : #if RK5_ENABLED
     695             :     module procedure getExtrapMNPLD_ND1_QD1_RK5
     696             :         use pm_kind, only: RKC => RK5
     697             : #include "pm_polation@routines.inc.F90"
     698             :     end procedure
     699             : #endif
     700             : 
     701             : #if RK4_ENABLED
     702           0 :     module procedure getExtrapMNPLD_ND1_QD1_RK4
     703             :         use pm_kind, only: RKC => RK4
     704             : #include "pm_polation@routines.inc.F90"
     705           0 :     end procedure
     706             : #endif
     707             : 
     708             : #if RK3_ENABLED
     709           0 :     module procedure getExtrapMNPLD_ND1_QD1_RK3
     710             :         use pm_kind, only: RKC => RK3
     711             : #include "pm_polation@routines.inc.F90"
     712           0 :     end procedure
     713             : #endif
     714             : 
     715             : #if RK2_ENABLED
     716           0 :     module procedure getExtrapMNPLD_ND1_QD1_RK2
     717             :         use pm_kind, only: RKC => RK2
     718             : #include "pm_polation@routines.inc.F90"
     719           0 :     end procedure
     720             : #endif
     721             : 
     722             : #if RK1_ENABLED
     723           2 :     module procedure getExtrapMNPLD_ND1_QD1_RK1
     724             :         use pm_kind, only: RKC => RK1
     725             : #include "pm_polation@routines.inc.F90"
     726           2 :     end procedure
     727             : #endif
     728             : 
     729             : #undef RK_ENABLED
     730             : 
     731             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     732             : 
     733             : #undef QD1_ENABLED
     734             : 
     735             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     736             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     737             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     738             : 
     739             : #undef MNPLD_ENABLED
     740             : 
     741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     742             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     743             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     744             : 
     745             : #undef ND1_ENABLED
     746             : 
     747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     748             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     749             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     750             : 
     751             : #undef getExtrap_ENABLED
     752             : 
     753             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     754             : 
     755             : #define setExtrap_ENABLED 1
     756             : 
     757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     758             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     759             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     760             : 
     761             : #define ND1_ENABLED 1
     762             : 
     763             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     764             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     765             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     766             : 
     767             : #define PWLN_ENABLED 1
     768             : 
     769             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     770             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     771             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     772             : 
     773             : #define QD0_ENABLED 1
     774             : 
     775             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     776             : 
     777             : #define RK_ENABLED 1
     778             : 
     779             : #if RK5_ENABLED
     780             :     module procedure setExtrapPWLN_ND1_QD0_RK5
     781             :         use pm_kind, only: RKC => RK5
     782             : #include "pm_polation@routines.inc.F90"
     783             :     end procedure
     784             : #endif
     785             : 
     786             : #if RK4_ENABLED
     787           0 :     module procedure setExtrapPWLN_ND1_QD0_RK4
     788             :         use pm_kind, only: RKC => RK4
     789             : #include "pm_polation@routines.inc.F90"
     790           0 :     end procedure
     791             : #endif
     792             : 
     793             : #if RK3_ENABLED
     794           0 :     module procedure setExtrapPWLN_ND1_QD0_RK3
     795             :         use pm_kind, only: RKC => RK3
     796             : #include "pm_polation@routines.inc.F90"
     797           0 :     end procedure
     798             : #endif
     799             : 
     800             : #if RK2_ENABLED
     801           0 :     module procedure setExtrapPWLN_ND1_QD0_RK2
     802             :         use pm_kind, only: RKC => RK2
     803             : #include "pm_polation@routines.inc.F90"
     804           0 :     end procedure
     805             : #endif
     806             : 
     807             : #if RK1_ENABLED
     808         183 :     module procedure setExtrapPWLN_ND1_QD0_RK1
     809             :         use pm_kind, only: RKC => RK1
     810             : #include "pm_polation@routines.inc.F90"
     811         183 :     end procedure
     812             : #endif
     813             : 
     814             : #undef RK_ENABLED
     815             : 
     816             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     817             : 
     818             : #undef QD0_ENABLED
     819             : 
     820             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     821             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     822             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     823             : 
     824             : #define QD1_ENABLED 1
     825             : 
     826             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     827             : 
     828             : #define RK_ENABLED 1
     829             : 
     830             : #if RK5_ENABLED
     831             :     module procedure setExtrapPWLN_ND1_QD1_RK5
     832             :         use pm_kind, only: RKC => RK5
     833             : #include "pm_polation@routines.inc.F90"
     834             :     end procedure
     835             : #endif
     836             : 
     837             : #if RK4_ENABLED
     838           0 :     module procedure setExtrapPWLN_ND1_QD1_RK4
     839             :         use pm_kind, only: RKC => RK4
     840             : #include "pm_polation@routines.inc.F90"
     841           0 :     end procedure
     842             : #endif
     843             : 
     844             : #if RK3_ENABLED
     845           0 :     module procedure setExtrapPWLN_ND1_QD1_RK3
     846             :         use pm_kind, only: RKC => RK3
     847             : #include "pm_polation@routines.inc.F90"
     848           0 :     end procedure
     849             : #endif
     850             : 
     851             : #if RK2_ENABLED
     852           0 :     module procedure setExtrapPWLN_ND1_QD1_RK2
     853             :         use pm_kind, only: RKC => RK2
     854             : #include "pm_polation@routines.inc.F90"
     855           0 :     end procedure
     856             : #endif
     857             : 
     858             : #if RK1_ENABLED
     859          16 :     module procedure setExtrapPWLN_ND1_QD1_RK1
     860             :         use pm_kind, only: RKC => RK1
     861             : #include "pm_polation@routines.inc.F90"
     862          16 :     end procedure
     863             : #endif
     864             : 
     865             : #undef RK_ENABLED
     866             : 
     867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     868             : 
     869             : #undef QD1_ENABLED
     870             : 
     871             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     872             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     873             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     874             : 
     875             : #undef PWLN_ENABLED
     876             : 
     877             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     878             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     879             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     880             : 
     881             : #define MEAN_ENABLED 1
     882             : 
     883             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     884             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     885             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     886             : 
     887             : #define QD0_ENABLED 1
     888             : 
     889             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     890             : 
     891             : #define RK_ENABLED 1
     892             : 
     893             : #if RK5_ENABLED
     894             :     module procedure setExtrapMEAN_ND1_QD0_RK5
     895             :         use pm_kind, only: RKC => RK5
     896             : #include "pm_polation@routines.inc.F90"
     897             :     end procedure
     898             : #endif
     899             : 
     900             : #if RK4_ENABLED
     901           0 :     module procedure setExtrapMEAN_ND1_QD0_RK4
     902             :         use pm_kind, only: RKC => RK4
     903             : #include "pm_polation@routines.inc.F90"
     904             :     end procedure
     905             : #endif
     906             : 
     907             : #if RK3_ENABLED
     908           0 :     module procedure setExtrapMEAN_ND1_QD0_RK3
     909             :         use pm_kind, only: RKC => RK3
     910             : #include "pm_polation@routines.inc.F90"
     911             :     end procedure
     912             : #endif
     913             : 
     914             : #if RK2_ENABLED
     915         414 :     module procedure setExtrapMEAN_ND1_QD0_RK2
     916             :         use pm_kind, only: RKC => RK2
     917             : #include "pm_polation@routines.inc.F90"
     918             :     end procedure
     919             : #endif
     920             : 
     921             : #if RK1_ENABLED
     922         237 :     module procedure setExtrapMEAN_ND1_QD0_RK1
     923             :         use pm_kind, only: RKC => RK1
     924             : #include "pm_polation@routines.inc.F90"
     925             :     end procedure
     926             : #endif
     927             : 
     928             : #undef RK_ENABLED
     929             : 
     930             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     931             : 
     932             : #undef QD0_ENABLED
     933             : 
     934             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     935             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     936             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     937             : 
     938             : #define QD1_ENABLED 1
     939             : 
     940             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     941             : 
     942             : #define RK_ENABLED 1
     943             : 
     944             : #if RK5_ENABLED
     945             :     module procedure setExtrapMEAN_ND1_QD1_RK5
     946             :         use pm_kind, only: RKC => RK5
     947             : #include "pm_polation@routines.inc.F90"
     948             :     end procedure
     949             : #endif
     950             : 
     951             : #if RK4_ENABLED
     952           0 :     module procedure setExtrapMEAN_ND1_QD1_RK4
     953             :         use pm_kind, only: RKC => RK4
     954             : #include "pm_polation@routines.inc.F90"
     955           0 :     end procedure
     956             : #endif
     957             : 
     958             : #if RK3_ENABLED
     959           0 :     module procedure setExtrapMEAN_ND1_QD1_RK3
     960             :         use pm_kind, only: RKC => RK3
     961             : #include "pm_polation@routines.inc.F90"
     962           0 :     end procedure
     963             : #endif
     964             : 
     965             : #if RK2_ENABLED
     966          46 :     module procedure setExtrapMEAN_ND1_QD1_RK2
     967             :         use pm_kind, only: RKC => RK2
     968             : #include "pm_polation@routines.inc.F90"
     969          46 :     end procedure
     970             : #endif
     971             : 
     972             : #if RK1_ENABLED
     973          24 :     module procedure setExtrapMEAN_ND1_QD1_RK1
     974             :         use pm_kind, only: RKC => RK1
     975             : #include "pm_polation@routines.inc.F90"
     976          24 :     end procedure
     977             : #endif
     978             : 
     979             : #undef RK_ENABLED
     980             : 
     981             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     982             : 
     983             : #undef QD1_ENABLED
     984             : 
     985             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     986             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     987             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     988             : 
     989             : #undef MEAN_ENABLED
     990             : 
     991             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     992             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     993             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     994             : 
     995             : #define NEAR_ENABLED 1
     996             : 
     997             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     998             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     999             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1000             : 
    1001             : #define QD0_ENABLED 1
    1002             : 
    1003             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1004             : 
    1005             : #define RK_ENABLED 1
    1006             : 
    1007             : #if RK5_ENABLED
    1008             :     module procedure setExtrapNEAR_ND1_QD0_RK5
    1009             :         use pm_kind, only: RKC => RK5
    1010             : #include "pm_polation@routines.inc.F90"
    1011             :     end procedure
    1012             : #endif
    1013             : 
    1014             : #if RK4_ENABLED
    1015           0 :     module procedure setExtrapNEAR_ND1_QD0_RK4
    1016             :         use pm_kind, only: RKC => RK4
    1017             : #include "pm_polation@routines.inc.F90"
    1018             :     end procedure
    1019             : #endif
    1020             : 
    1021             : #if RK3_ENABLED
    1022           0 :     module procedure setExtrapNEAR_ND1_QD0_RK3
    1023             :         use pm_kind, only: RKC => RK3
    1024             : #include "pm_polation@routines.inc.F90"
    1025             :     end procedure
    1026             : #endif
    1027             : 
    1028             : #if RK2_ENABLED
    1029           0 :     module procedure setExtrapNEAR_ND1_QD0_RK2
    1030             :         use pm_kind, only: RKC => RK2
    1031             : #include "pm_polation@routines.inc.F90"
    1032             :     end procedure
    1033             : #endif
    1034             : 
    1035             : #if RK1_ENABLED
    1036         165 :     module procedure setExtrapNEAR_ND1_QD0_RK1
    1037             :         use pm_kind, only: RKC => RK1
    1038             : #include "pm_polation@routines.inc.F90"
    1039             :     end procedure
    1040             : #endif
    1041             : 
    1042             : #undef RK_ENABLED
    1043             : 
    1044             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1045             : 
    1046             : #undef QD0_ENABLED
    1047             : 
    1048             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1049             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1050             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1051             : 
    1052             : #define QD1_ENABLED 1
    1053             : 
    1054             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1055             : 
    1056             : #define RK_ENABLED 1
    1057             : 
    1058             : #if RK5_ENABLED
    1059             :     module procedure setExtrapNEAR_ND1_QD1_RK5
    1060             :         use pm_kind, only: RKC => RK5
    1061             : #include "pm_polation@routines.inc.F90"
    1062             :     end procedure
    1063             : #endif
    1064             : 
    1065             : #if RK4_ENABLED
    1066           0 :     module procedure setExtrapNEAR_ND1_QD1_RK4
    1067             :         use pm_kind, only: RKC => RK4
    1068             : #include "pm_polation@routines.inc.F90"
    1069           0 :     end procedure
    1070             : #endif
    1071             : 
    1072             : #if RK3_ENABLED
    1073           0 :     module procedure setExtrapNEAR_ND1_QD1_RK3
    1074             :         use pm_kind, only: RKC => RK3
    1075             : #include "pm_polation@routines.inc.F90"
    1076           0 :     end procedure
    1077             : #endif
    1078             : 
    1079             : #if RK2_ENABLED
    1080           0 :     module procedure setExtrapNEAR_ND1_QD1_RK2
    1081             :         use pm_kind, only: RKC => RK2
    1082             : #include "pm_polation@routines.inc.F90"
    1083           0 :     end procedure
    1084             : #endif
    1085             : 
    1086             : #if RK1_ENABLED
    1087          16 :     module procedure setExtrapNEAR_ND1_QD1_RK1
    1088             :         use pm_kind, only: RKC => RK1
    1089             : #include "pm_polation@routines.inc.F90"
    1090          16 :     end procedure
    1091             : #endif
    1092             : 
    1093             : #undef RK_ENABLED
    1094             : 
    1095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1096             : 
    1097             : #undef QD1_ENABLED
    1098             : 
    1099             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1100             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1101             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1102             : 
    1103             : #undef NEAR_ENABLED
    1104             : 
    1105             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1106             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1107             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1108             : 
    1109             : #define NEXT_ENABLED 1
    1110             : 
    1111             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1112             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1113             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1114             : 
    1115             : #define QD0_ENABLED 1
    1116             : 
    1117             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1118             : 
    1119             : #define RK_ENABLED 1
    1120             : 
    1121             : #if RK5_ENABLED
    1122             :     module procedure setExtrapNEXT_ND1_QD0_RK5
    1123             :         use pm_kind, only: RKC => RK5
    1124             : #include "pm_polation@routines.inc.F90"
    1125             :     end procedure
    1126             : #endif
    1127             : 
    1128             : #if RK4_ENABLED
    1129           0 :     module procedure setExtrapNEXT_ND1_QD0_RK4
    1130             :         use pm_kind, only: RKC => RK4
    1131             : #include "pm_polation@routines.inc.F90"
    1132             :     end procedure
    1133             : #endif
    1134             : 
    1135             : #if RK3_ENABLED
    1136           0 :     module procedure setExtrapNEXT_ND1_QD0_RK3
    1137             :         use pm_kind, only: RKC => RK3
    1138             : #include "pm_polation@routines.inc.F90"
    1139             :     end procedure
    1140             : #endif
    1141             : 
    1142             : #if RK2_ENABLED
    1143           0 :     module procedure setExtrapNEXT_ND1_QD0_RK2
    1144             :         use pm_kind, only: RKC => RK2
    1145             : #include "pm_polation@routines.inc.F90"
    1146             :     end procedure
    1147             : #endif
    1148             : 
    1149             : #if RK1_ENABLED
    1150         165 :     module procedure setExtrapNEXT_ND1_QD0_RK1
    1151             :         use pm_kind, only: RKC => RK1
    1152             : #include "pm_polation@routines.inc.F90"
    1153             :     end procedure
    1154             : #endif
    1155             : 
    1156             : #undef RK_ENABLED
    1157             : 
    1158             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1159             : 
    1160             : #undef QD0_ENABLED
    1161             : 
    1162             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1163             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1164             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1165             : 
    1166             : #define QD1_ENABLED 1
    1167             : 
    1168             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1169             : 
    1170             : #define RK_ENABLED 1
    1171             : 
    1172             : #if RK5_ENABLED
    1173             :     module procedure setExtrapNEXT_ND1_QD1_RK5
    1174             :         use pm_kind, only: RKC => RK5
    1175             : #include "pm_polation@routines.inc.F90"
    1176             :     end procedure
    1177             : #endif
    1178             : 
    1179             : #if RK4_ENABLED
    1180           0 :     module procedure setExtrapNEXT_ND1_QD1_RK4
    1181             :         use pm_kind, only: RKC => RK4
    1182             : #include "pm_polation@routines.inc.F90"
    1183           0 :     end procedure
    1184             : #endif
    1185             : 
    1186             : #if RK3_ENABLED
    1187           0 :     module procedure setExtrapNEXT_ND1_QD1_RK3
    1188             :         use pm_kind, only: RKC => RK3
    1189             : #include "pm_polation@routines.inc.F90"
    1190           0 :     end procedure
    1191             : #endif
    1192             : 
    1193             : #if RK2_ENABLED
    1194           0 :     module procedure setExtrapNEXT_ND1_QD1_RK2
    1195             :         use pm_kind, only: RKC => RK2
    1196             : #include "pm_polation@routines.inc.F90"
    1197           0 :     end procedure
    1198             : #endif
    1199             : 
    1200             : #if RK1_ENABLED
    1201          16 :     module procedure setExtrapNEXT_ND1_QD1_RK1
    1202             :         use pm_kind, only: RKC => RK1
    1203             : #include "pm_polation@routines.inc.F90"
    1204          16 :     end procedure
    1205             : #endif
    1206             : 
    1207             : #undef RK_ENABLED
    1208             : 
    1209             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1210             : 
    1211             : #undef QD1_ENABLED
    1212             : 
    1213             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1214             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1215             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1216             : 
    1217             : #undef NEXT_ENABLED
    1218             : 
    1219             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1220             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1221             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1222             : 
    1223             : #define PREV_ENABLED 1
    1224             : 
    1225             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1226             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1227             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1228             : 
    1229             : #define QD0_ENABLED 1
    1230             : 
    1231             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1232             : 
    1233             : #define RK_ENABLED 1
    1234             : 
    1235             : #if RK5_ENABLED
    1236             :     module procedure setExtrapPREV_ND1_QD0_RK5
    1237             :         use pm_kind, only: RKC => RK5
    1238             : #include "pm_polation@routines.inc.F90"
    1239             :     end procedure
    1240             : #endif
    1241             : 
    1242             : #if RK4_ENABLED
    1243           0 :     module procedure setExtrapPREV_ND1_QD0_RK4
    1244             :         use pm_kind, only: RKC => RK4
    1245             : #include "pm_polation@routines.inc.F90"
    1246             :     end procedure
    1247             : #endif
    1248             : 
    1249             : #if RK3_ENABLED
    1250           0 :     module procedure setExtrapPREV_ND1_QD0_RK3
    1251             :         use pm_kind, only: RKC => RK3
    1252             : #include "pm_polation@routines.inc.F90"
    1253             :     end procedure
    1254             : #endif
    1255             : 
    1256             : #if RK2_ENABLED
    1257           0 :     module procedure setExtrapPREV_ND1_QD0_RK2
    1258             :         use pm_kind, only: RKC => RK2
    1259             : #include "pm_polation@routines.inc.F90"
    1260             :     end procedure
    1261             : #endif
    1262             : 
    1263             : #if RK1_ENABLED
    1264         165 :     module procedure setExtrapPREV_ND1_QD0_RK1
    1265             :         use pm_kind, only: RKC => RK1
    1266             : #include "pm_polation@routines.inc.F90"
    1267             :     end procedure
    1268             : #endif
    1269             : 
    1270             : #undef RK_ENABLED
    1271             : 
    1272             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1273             : 
    1274             : #undef QD0_ENABLED
    1275             : 
    1276             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1277             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1278             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1279             : 
    1280             : #define QD1_ENABLED 1
    1281             : 
    1282             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1283             : 
    1284             : #define RK_ENABLED 1
    1285             : 
    1286             : #if RK5_ENABLED
    1287             :     module procedure setExtrapPREV_ND1_QD1_RK5
    1288             :         use pm_kind, only: RKC => RK5
    1289             : #include "pm_polation@routines.inc.F90"
    1290             :     end procedure
    1291             : #endif
    1292             : 
    1293             : #if RK4_ENABLED
    1294           0 :     module procedure setExtrapPREV_ND1_QD1_RK4
    1295             :         use pm_kind, only: RKC => RK4
    1296             : #include "pm_polation@routines.inc.F90"
    1297           0 :     end procedure
    1298             : #endif
    1299             : 
    1300             : #if RK3_ENABLED
    1301           0 :     module procedure setExtrapPREV_ND1_QD1_RK3
    1302             :         use pm_kind, only: RKC => RK3
    1303             : #include "pm_polation@routines.inc.F90"
    1304           0 :     end procedure
    1305             : #endif
    1306             : 
    1307             : #if RK2_ENABLED
    1308           0 :     module procedure setExtrapPREV_ND1_QD1_RK2
    1309             :         use pm_kind, only: RKC => RK2
    1310             : #include "pm_polation@routines.inc.F90"
    1311           0 :     end procedure
    1312             : #endif
    1313             : 
    1314             : #if RK1_ENABLED
    1315          16 :     module procedure setExtrapPREV_ND1_QD1_RK1
    1316             :         use pm_kind, only: RKC => RK1
    1317             : #include "pm_polation@routines.inc.F90"
    1318          16 :     end procedure
    1319             : #endif
    1320             : 
    1321             : #undef RK_ENABLED
    1322             : 
    1323             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1324             : 
    1325             : #undef QD1_ENABLED
    1326             : 
    1327             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1328             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1329             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1330             : 
    1331             : #undef PREV_ENABLED
    1332             : 
    1333             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1334             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1335             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1336             : 
    1337             : #define MNPLD_ENABLED 1
    1338             : 
    1339             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1340             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1341             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1342             : 
    1343             : #define QD0_ENABLED 1
    1344             : 
    1345             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1346             : 
    1347             : #define RK_ENABLED 1
    1348             : 
    1349             : #if RK5_ENABLED
    1350             :     module procedure setExtrapMNPLD_ND1_QD0_RK5
    1351             :         use pm_kind, only: RKC => RK5
    1352             : #include "pm_polation@routines.inc.F90"
    1353             :     end procedure
    1354             : #endif
    1355             : 
    1356             : #if RK4_ENABLED
    1357           0 :     module procedure setExtrapMNPLD_ND1_QD0_RK4
    1358             :         use pm_kind, only: RKC => RK4
    1359             : #include "pm_polation@routines.inc.F90"
    1360           0 :     end procedure
    1361             : #endif
    1362             : 
    1363             : #if RK3_ENABLED
    1364           0 :     module procedure setExtrapMNPLD_ND1_QD0_RK3
    1365             :         use pm_kind, only: RKC => RK3
    1366             : #include "pm_polation@routines.inc.F90"
    1367           0 :     end procedure
    1368             : #endif
    1369             : 
    1370             : #if RK2_ENABLED
    1371           0 :     module procedure setExtrapMNPLD_ND1_QD0_RK2
    1372             :         use pm_kind, only: RKC => RK2
    1373             : #include "pm_polation@routines.inc.F90"
    1374           0 :     end procedure
    1375             : #endif
    1376             : 
    1377             : #if RK1_ENABLED
    1378         483 :     module procedure setExtrapMNPLD_ND1_QD0_RK1
    1379             :         use pm_kind, only: RKC => RK1
    1380             : #include "pm_polation@routines.inc.F90"
    1381         483 :     end procedure
    1382             : #endif
    1383             : 
    1384             : #undef RK_ENABLED
    1385             : 
    1386             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1387             : 
    1388             : #undef QD0_ENABLED
    1389             : 
    1390             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1391             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1392             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1393             : 
    1394             : #define QD1_ENABLED 1
    1395             : 
    1396             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1397             : 
    1398             : #define RK_ENABLED 1
    1399             : 
    1400             : #if RK5_ENABLED
    1401             :     module procedure setExtrapMNPLD_ND1_QD1_RK5
    1402             :         use pm_kind, only: RKC => RK5
    1403             : #include "pm_polation@routines.inc.F90"
    1404             :     end procedure
    1405             : #endif
    1406             : 
    1407             : #if RK4_ENABLED
    1408           0 :     module procedure setExtrapMNPLD_ND1_QD1_RK4
    1409             :         use pm_kind, only: RKC => RK4
    1410             : #include "pm_polation@routines.inc.F90"
    1411           0 :     end procedure
    1412             : #endif
    1413             : 
    1414             : #if RK3_ENABLED
    1415           0 :     module procedure setExtrapMNPLD_ND1_QD1_RK3
    1416             :         use pm_kind, only: RKC => RK3
    1417             : #include "pm_polation@routines.inc.F90"
    1418           0 :     end procedure
    1419             : #endif
    1420             : 
    1421             : #if RK2_ENABLED
    1422           0 :     module procedure setExtrapMNPLD_ND1_QD1_RK2
    1423             :         use pm_kind, only: RKC => RK2
    1424             : #include "pm_polation@routines.inc.F90"
    1425           0 :     end procedure
    1426             : #endif
    1427             : 
    1428             : #if RK1_ENABLED
    1429           2 :     module procedure setExtrapMNPLD_ND1_QD1_RK1
    1430             :         use pm_kind, only: RKC => RK1
    1431             : #include "pm_polation@routines.inc.F90"
    1432           2 :     end procedure
    1433             : #endif
    1434             : 
    1435             : #undef RK_ENABLED
    1436             : 
    1437             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1438             : 
    1439             : #undef QD1_ENABLED
    1440             : 
    1441             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1442             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1443             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1444             : 
    1445             : #undef MNPLD_ENABLED
    1446             : 
    1447             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1448             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1449             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1450             : 
    1451             : #define MNPLE_ENABLED 1
    1452             : 
    1453             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1454             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1455             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1456             : 
    1457             : #define QD0_ENABLED 1
    1458             : 
    1459             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1460             : 
    1461             : #define RK_ENABLED 1
    1462             : 
    1463             : #if RK5_ENABLED
    1464             :     module procedure setExtrapMNPLE_ND1_QD0_RK5
    1465             :         use pm_kind, only: RKC => RK5
    1466             : #include "pm_polation@routines.inc.F90"
    1467             :     end procedure
    1468             : #endif
    1469             : 
    1470             : #if RK4_ENABLED
    1471          11 :     module procedure setExtrapMNPLE_ND1_QD0_RK4
    1472             :         use pm_kind, only: RKC => RK4
    1473             : #include "pm_polation@routines.inc.F90"
    1474          11 :     end procedure
    1475             : #endif
    1476             : 
    1477             : #if RK3_ENABLED
    1478           0 :     module procedure setExtrapMNPLE_ND1_QD0_RK3
    1479             :         use pm_kind, only: RKC => RK3
    1480             : #include "pm_polation@routines.inc.F90"
    1481           0 :     end procedure
    1482             : #endif
    1483             : 
    1484             : #if RK2_ENABLED
    1485          22 :     module procedure setExtrapMNPLE_ND1_QD0_RK2
    1486             :         use pm_kind, only: RKC => RK2
    1487             : #include "pm_polation@routines.inc.F90"
    1488          22 :     end procedure
    1489             : #endif
    1490             : 
    1491             : #if RK1_ENABLED
    1492         494 :     module procedure setExtrapMNPLE_ND1_QD0_RK1
    1493             :         use pm_kind, only: RKC => RK1
    1494             : #include "pm_polation@routines.inc.F90"
    1495         494 :     end procedure
    1496             : #endif
    1497             : 
    1498             : #undef RK_ENABLED
    1499             : 
    1500             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1501             : 
    1502             : #undef QD0_ENABLED
    1503             : 
    1504             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1505             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1506             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1507             : 
    1508             : #define QD1_ENABLED 1
    1509             : 
    1510             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1511             : 
    1512             : #define RK_ENABLED 1
    1513             : 
    1514             : #if RK5_ENABLED
    1515             :     module procedure setExtrapMNPLE_ND1_QD1_RK5
    1516             :         use pm_kind, only: RKC => RK5
    1517             : #include "pm_polation@routines.inc.F90"
    1518             :     end procedure
    1519             : #endif
    1520             : 
    1521             : #if RK4_ENABLED
    1522           0 :     module procedure setExtrapMNPLE_ND1_QD1_RK4
    1523             :         use pm_kind, only: RKC => RK4
    1524             : #include "pm_polation@routines.inc.F90"
    1525           0 :     end procedure
    1526             : #endif
    1527             : 
    1528             : #if RK3_ENABLED
    1529           0 :     module procedure setExtrapMNPLE_ND1_QD1_RK3
    1530             :         use pm_kind, only: RKC => RK3
    1531             : #include "pm_polation@routines.inc.F90"
    1532           0 :     end procedure
    1533             : #endif
    1534             : 
    1535             : #if RK2_ENABLED
    1536           0 :     module procedure setExtrapMNPLE_ND1_QD1_RK2
    1537             :         use pm_kind, only: RKC => RK2
    1538             : #include "pm_polation@routines.inc.F90"
    1539           0 :     end procedure
    1540             : #endif
    1541             : 
    1542             : #if RK1_ENABLED
    1543           2 :     module procedure setExtrapMNPLE_ND1_QD1_RK1
    1544             :         use pm_kind, only: RKC => RK1
    1545             : #include "pm_polation@routines.inc.F90"
    1546           2 :     end procedure
    1547             : #endif
    1548             : 
    1549             : #undef RK_ENABLED
    1550             : 
    1551             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1552             : 
    1553             : #undef QD1_ENABLED
    1554             : 
    1555             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1556             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1557             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1558             : 
    1559             : #undef MNPLE_ENABLED
    1560             : 
    1561             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1562             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1563             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1564             : 
    1565             : #undef ND1_ENABLED
    1566             : 
    1567             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1568             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1569             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1570             : 
    1571             : #undef setExtrap_ENABLED
    1572             : 
    1573             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1574             : 
    1575             : #define getInterp_ENABLED 1
    1576             : 
    1577             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1578             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1579             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1580             : 
    1581             : #define ND1_ENABLED 1
    1582             : 
    1583             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1584             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1585             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1586             : 
    1587             : #define PWLN_ENABLED 1
    1588             : 
    1589             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1590             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1591             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1592             : 
    1593             : #define QD0_ENABLED 1
    1594             : 
    1595             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1596             : 
    1597             : #define RK_ENABLED 1
    1598             : 
    1599             : #if RK5_ENABLED
    1600             :     module procedure getInterpPWLN_ND1_QD0_RK5
    1601             :         use pm_kind, only: RKC => RK5
    1602             : #include "pm_polation@routines.inc.F90"
    1603             :     end procedure
    1604             : #endif
    1605             : 
    1606             : #if RK4_ENABLED
    1607           0 :     module procedure getInterpPWLN_ND1_QD0_RK4
    1608             :         use pm_kind, only: RKC => RK4
    1609             : #include "pm_polation@routines.inc.F90"
    1610           0 :     end procedure
    1611             : #endif
    1612             : 
    1613             : #if RK3_ENABLED
    1614           0 :     module procedure getInterpPWLN_ND1_QD0_RK3
    1615             :         use pm_kind, only: RKC => RK3
    1616             : #include "pm_polation@routines.inc.F90"
    1617           0 :     end procedure
    1618             : #endif
    1619             : 
    1620             : #if RK2_ENABLED
    1621           0 :     module procedure getInterpPWLN_ND1_QD0_RK2
    1622             :         use pm_kind, only: RKC => RK2
    1623             : #include "pm_polation@routines.inc.F90"
    1624           0 :     end procedure
    1625             : #endif
    1626             : 
    1627             : #if RK1_ENABLED
    1628           0 :     module procedure getInterpPWLN_ND1_QD0_RK1
    1629             :         use pm_kind, only: RKC => RK1
    1630             : #include "pm_polation@routines.inc.F90"
    1631           0 :     end procedure
    1632             : #endif
    1633             : 
    1634             : #undef RK_ENABLED
    1635             : 
    1636             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1637             : 
    1638             : #undef QD0_ENABLED
    1639             : 
    1640             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1641             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1642             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1643             : 
    1644             : #define QD1_ENABLED 1
    1645             : 
    1646             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1647             : 
    1648             : #define RK_ENABLED 1
    1649             : 
    1650             : #if RK5_ENABLED
    1651             :     module procedure getInterpPWLN_ND1_QD1_RK5
    1652             :         use pm_kind, only: RKC => RK5
    1653             : #include "pm_polation@routines.inc.F90"
    1654             :     end procedure
    1655             : #endif
    1656             : 
    1657             : #if RK4_ENABLED
    1658           0 :     module procedure getInterpPWLN_ND1_QD1_RK4
    1659             :         use pm_kind, only: RKC => RK4
    1660             : #include "pm_polation@routines.inc.F90"
    1661           0 :     end procedure
    1662             : #endif
    1663             : 
    1664             : #if RK3_ENABLED
    1665           0 :     module procedure getInterpPWLN_ND1_QD1_RK3
    1666             :         use pm_kind, only: RKC => RK3
    1667             : #include "pm_polation@routines.inc.F90"
    1668           0 :     end procedure
    1669             : #endif
    1670             : 
    1671             : #if RK2_ENABLED
    1672           0 :     module procedure getInterpPWLN_ND1_QD1_RK2
    1673             :         use pm_kind, only: RKC => RK2
    1674             : #include "pm_polation@routines.inc.F90"
    1675           0 :     end procedure
    1676             : #endif
    1677             : 
    1678             : #if RK1_ENABLED
    1679           1 :     module procedure getInterpPWLN_ND1_QD1_RK1
    1680             :         use pm_kind, only: RKC => RK1
    1681             : #include "pm_polation@routines.inc.F90"
    1682           1 :     end procedure
    1683             : #endif
    1684             : 
    1685             : #undef RK_ENABLED
    1686             : 
    1687             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1688             : 
    1689             : #undef QD1_ENABLED
    1690             : 
    1691             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1692             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1693             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1694             : 
    1695             : #undef PWLN_ENABLED
    1696             : 
    1697             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1698             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1699             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1700             : 
    1701             : #define MEAN_ENABLED 1
    1702             : 
    1703             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1704             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1705             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1706             : 
    1707             : #define QD0_ENABLED 1
    1708             : 
    1709             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1710             : 
    1711             : #define RK_ENABLED 1
    1712             : 
    1713             : #if RK5_ENABLED
    1714             :     module procedure getInterpMEAN_ND1_QD0_RK5
    1715             :         use pm_kind, only: RKC => RK5
    1716             : #include "pm_polation@routines.inc.F90"
    1717             :     end procedure
    1718             : #endif
    1719             : 
    1720             : #if RK4_ENABLED
    1721           0 :     module procedure getInterpMEAN_ND1_QD0_RK4
    1722             :         use pm_kind, only: RKC => RK4
    1723             : #include "pm_polation@routines.inc.F90"
    1724           0 :     end procedure
    1725             : #endif
    1726             : 
    1727             : #if RK3_ENABLED
    1728           0 :     module procedure getInterpMEAN_ND1_QD0_RK3
    1729             :         use pm_kind, only: RKC => RK3
    1730             : #include "pm_polation@routines.inc.F90"
    1731           0 :     end procedure
    1732             : #endif
    1733             : 
    1734             : #if RK2_ENABLED
    1735           0 :     module procedure getInterpMEAN_ND1_QD0_RK2
    1736             :         use pm_kind, only: RKC => RK2
    1737             : #include "pm_polation@routines.inc.F90"
    1738           0 :     end procedure
    1739             : #endif
    1740             : 
    1741             : #if RK1_ENABLED
    1742           0 :     module procedure getInterpMEAN_ND1_QD0_RK1
    1743             :         use pm_kind, only: RKC => RK1
    1744             : #include "pm_polation@routines.inc.F90"
    1745           0 :     end procedure
    1746             : #endif
    1747             : 
    1748             : #undef RK_ENABLED
    1749             : 
    1750             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1751             : 
    1752             : #undef QD0_ENABLED
    1753             : 
    1754             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1755             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1756             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1757             : 
    1758             : #define QD1_ENABLED 1
    1759             : 
    1760             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1761             : 
    1762             : #define RK_ENABLED 1
    1763             : 
    1764             : #if RK5_ENABLED
    1765             :     module procedure getInterpMEAN_ND1_QD1_RK5
    1766             :         use pm_kind, only: RKC => RK5
    1767             : #include "pm_polation@routines.inc.F90"
    1768             :     end procedure
    1769             : #endif
    1770             : 
    1771             : #if RK4_ENABLED
    1772           0 :     module procedure getInterpMEAN_ND1_QD1_RK4
    1773             :         use pm_kind, only: RKC => RK4
    1774             : #include "pm_polation@routines.inc.F90"
    1775           0 :     end procedure
    1776             : #endif
    1777             : 
    1778             : #if RK3_ENABLED
    1779           0 :     module procedure getInterpMEAN_ND1_QD1_RK3
    1780             :         use pm_kind, only: RKC => RK3
    1781             : #include "pm_polation@routines.inc.F90"
    1782           0 :     end procedure
    1783             : #endif
    1784             : 
    1785             : #if RK2_ENABLED
    1786           0 :     module procedure getInterpMEAN_ND1_QD1_RK2
    1787             :         use pm_kind, only: RKC => RK2
    1788             : #include "pm_polation@routines.inc.F90"
    1789           0 :     end procedure
    1790             : #endif
    1791             : 
    1792             : #if RK1_ENABLED
    1793           1 :     module procedure getInterpMEAN_ND1_QD1_RK1
    1794             :         use pm_kind, only: RKC => RK1
    1795             : #include "pm_polation@routines.inc.F90"
    1796           1 :     end procedure
    1797             : #endif
    1798             : 
    1799             : #undef RK_ENABLED
    1800             : 
    1801             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1802             : 
    1803             : #undef QD1_ENABLED
    1804             : 
    1805             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1806             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1807             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1808             : 
    1809             : #undef MEAN_ENABLED
    1810             : 
    1811             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1812             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1813             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1814             : 
    1815             : #define NEAR_ENABLED 1
    1816             : 
    1817             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1818             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1819             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1820             : 
    1821             : #define QD0_ENABLED 1
    1822             : 
    1823             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1824             : 
    1825             : #define RK_ENABLED 1
    1826             : 
    1827             : #if RK5_ENABLED
    1828             :     module procedure getInterpNEAR_ND1_QD0_RK5
    1829             :         use pm_kind, only: RKC => RK5
    1830             : #include "pm_polation@routines.inc.F90"
    1831             :     end procedure
    1832             : #endif
    1833             : 
    1834             : #if RK4_ENABLED
    1835           0 :     module procedure getInterpNEAR_ND1_QD0_RK4
    1836             :         use pm_kind, only: RKC => RK4
    1837             : #include "pm_polation@routines.inc.F90"
    1838           0 :     end procedure
    1839             : #endif
    1840             : 
    1841             : #if RK3_ENABLED
    1842           0 :     module procedure getInterpNEAR_ND1_QD0_RK3
    1843             :         use pm_kind, only: RKC => RK3
    1844             : #include "pm_polation@routines.inc.F90"
    1845           0 :     end procedure
    1846             : #endif
    1847             : 
    1848             : #if RK2_ENABLED
    1849           0 :     module procedure getInterpNEAR_ND1_QD0_RK2
    1850             :         use pm_kind, only: RKC => RK2
    1851             : #include "pm_polation@routines.inc.F90"
    1852           0 :     end procedure
    1853             : #endif
    1854             : 
    1855             : #if RK1_ENABLED
    1856           0 :     module procedure getInterpNEAR_ND1_QD0_RK1
    1857             :         use pm_kind, only: RKC => RK1
    1858             : #include "pm_polation@routines.inc.F90"
    1859           0 :     end procedure
    1860             : #endif
    1861             : 
    1862             : #undef RK_ENABLED
    1863             : 
    1864             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1865             : 
    1866             : #undef QD0_ENABLED
    1867             : 
    1868             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1869             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1870             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1871             : 
    1872             : #define QD1_ENABLED 1
    1873             : 
    1874             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1875             : 
    1876             : #define RK_ENABLED 1
    1877             : 
    1878             : #if RK5_ENABLED
    1879             :     module procedure getInterpNEAR_ND1_QD1_RK5
    1880             :         use pm_kind, only: RKC => RK5
    1881             : #include "pm_polation@routines.inc.F90"
    1882             :     end procedure
    1883             : #endif
    1884             : 
    1885             : #if RK4_ENABLED
    1886           0 :     module procedure getInterpNEAR_ND1_QD1_RK4
    1887             :         use pm_kind, only: RKC => RK4
    1888             : #include "pm_polation@routines.inc.F90"
    1889           0 :     end procedure
    1890             : #endif
    1891             : 
    1892             : #if RK3_ENABLED
    1893           0 :     module procedure getInterpNEAR_ND1_QD1_RK3
    1894             :         use pm_kind, only: RKC => RK3
    1895             : #include "pm_polation@routines.inc.F90"
    1896           0 :     end procedure
    1897             : #endif
    1898             : 
    1899             : #if RK2_ENABLED
    1900           0 :     module procedure getInterpNEAR_ND1_QD1_RK2
    1901             :         use pm_kind, only: RKC => RK2
    1902             : #include "pm_polation@routines.inc.F90"
    1903           0 :     end procedure
    1904             : #endif
    1905             : 
    1906             : #if RK1_ENABLED
    1907           1 :     module procedure getInterpNEAR_ND1_QD1_RK1
    1908             :         use pm_kind, only: RKC => RK1
    1909             : #include "pm_polation@routines.inc.F90"
    1910           1 :     end procedure
    1911             : #endif
    1912             : 
    1913             : #undef RK_ENABLED
    1914             : 
    1915             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1916             : 
    1917             : #undef QD1_ENABLED
    1918             : 
    1919             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1920             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1921             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1922             : 
    1923             : #undef NEAR_ENABLED
    1924             : 
    1925             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1926             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1927             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1928             : 
    1929             : #define NEXT_ENABLED 1
    1930             : 
    1931             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1932             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1933             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1934             : 
    1935             : #define QD0_ENABLED 1
    1936             : 
    1937             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1938             : 
    1939             : #define RK_ENABLED 1
    1940             : 
    1941             : #if RK5_ENABLED
    1942             :     module procedure getInterpNEXT_ND1_QD0_RK5
    1943             :         use pm_kind, only: RKC => RK5
    1944             : #include "pm_polation@routines.inc.F90"
    1945             :     end procedure
    1946             : #endif
    1947             : 
    1948             : #if RK4_ENABLED
    1949           0 :     module procedure getInterpNEXT_ND1_QD0_RK4
    1950             :         use pm_kind, only: RKC => RK4
    1951             : #include "pm_polation@routines.inc.F90"
    1952           0 :     end procedure
    1953             : #endif
    1954             : 
    1955             : #if RK3_ENABLED
    1956           0 :     module procedure getInterpNEXT_ND1_QD0_RK3
    1957             :         use pm_kind, only: RKC => RK3
    1958             : #include "pm_polation@routines.inc.F90"
    1959           0 :     end procedure
    1960             : #endif
    1961             : 
    1962             : #if RK2_ENABLED
    1963           0 :     module procedure getInterpNEXT_ND1_QD0_RK2
    1964             :         use pm_kind, only: RKC => RK2
    1965             : #include "pm_polation@routines.inc.F90"
    1966           0 :     end procedure
    1967             : #endif
    1968             : 
    1969             : #if RK1_ENABLED
    1970           0 :     module procedure getInterpNEXT_ND1_QD0_RK1
    1971             :         use pm_kind, only: RKC => RK1
    1972             : #include "pm_polation@routines.inc.F90"
    1973           0 :     end procedure
    1974             : #endif
    1975             : 
    1976             : #undef RK_ENABLED
    1977             : 
    1978             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1979             : 
    1980             : #undef QD0_ENABLED
    1981             : 
    1982             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1983             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1984             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1985             : 
    1986             : #define QD1_ENABLED 1
    1987             : 
    1988             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1989             : 
    1990             : #define RK_ENABLED 1
    1991             : 
    1992             : #if RK5_ENABLED
    1993             :     module procedure getInterpNEXT_ND1_QD1_RK5
    1994             :         use pm_kind, only: RKC => RK5
    1995             : #include "pm_polation@routines.inc.F90"
    1996             :     end procedure
    1997             : #endif
    1998             : 
    1999             : #if RK4_ENABLED
    2000           0 :     module procedure getInterpNEXT_ND1_QD1_RK4
    2001             :         use pm_kind, only: RKC => RK4
    2002             : #include "pm_polation@routines.inc.F90"
    2003           0 :     end procedure
    2004             : #endif
    2005             : 
    2006             : #if RK3_ENABLED
    2007           0 :     module procedure getInterpNEXT_ND1_QD1_RK3
    2008             :         use pm_kind, only: RKC => RK3
    2009             : #include "pm_polation@routines.inc.F90"
    2010           0 :     end procedure
    2011             : #endif
    2012             : 
    2013             : #if RK2_ENABLED
    2014           0 :     module procedure getInterpNEXT_ND1_QD1_RK2
    2015             :         use pm_kind, only: RKC => RK2
    2016             : #include "pm_polation@routines.inc.F90"
    2017           0 :     end procedure
    2018             : #endif
    2019             : 
    2020             : #if RK1_ENABLED
    2021           1 :     module procedure getInterpNEXT_ND1_QD1_RK1
    2022             :         use pm_kind, only: RKC => RK1
    2023             : #include "pm_polation@routines.inc.F90"
    2024           1 :     end procedure
    2025             : #endif
    2026             : 
    2027             : #undef RK_ENABLED
    2028             : 
    2029             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2030             : 
    2031             : #undef QD1_ENABLED
    2032             : 
    2033             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2034             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2035             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2036             : 
    2037             : #undef NEXT_ENABLED
    2038             : 
    2039             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2040             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2041             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2042             : 
    2043             : #define PREV_ENABLED 1
    2044             : 
    2045             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2046             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2047             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2048             : 
    2049             : #define QD0_ENABLED 1
    2050             : 
    2051             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2052             : 
    2053             : #define RK_ENABLED 1
    2054             : 
    2055             : #if RK5_ENABLED
    2056             :     module procedure getInterpPREV_ND1_QD0_RK5
    2057             :         use pm_kind, only: RKC => RK5
    2058             : #include "pm_polation@routines.inc.F90"
    2059             :     end procedure
    2060             : #endif
    2061             : 
    2062             : #if RK4_ENABLED
    2063           0 :     module procedure getInterpPREV_ND1_QD0_RK4
    2064             :         use pm_kind, only: RKC => RK4
    2065             : #include "pm_polation@routines.inc.F90"
    2066           0 :     end procedure
    2067             : #endif
    2068             : 
    2069             : #if RK3_ENABLED
    2070           0 :     module procedure getInterpPREV_ND1_QD0_RK3
    2071             :         use pm_kind, only: RKC => RK3
    2072             : #include "pm_polation@routines.inc.F90"
    2073           0 :     end procedure
    2074             : #endif
    2075             : 
    2076             : #if RK2_ENABLED
    2077           0 :     module procedure getInterpPREV_ND1_QD0_RK2
    2078             :         use pm_kind, only: RKC => RK2
    2079             : #include "pm_polation@routines.inc.F90"
    2080           0 :     end procedure
    2081             : #endif
    2082             : 
    2083             : #if RK1_ENABLED
    2084           0 :     module procedure getInterpPREV_ND1_QD0_RK1
    2085             :         use pm_kind, only: RKC => RK1
    2086             : #include "pm_polation@routines.inc.F90"
    2087           0 :     end procedure
    2088             : #endif
    2089             : 
    2090             : #undef RK_ENABLED
    2091             : 
    2092             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2093             : 
    2094             : #undef QD0_ENABLED
    2095             : 
    2096             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2097             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2098             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2099             : 
    2100             : #define QD1_ENABLED 1
    2101             : 
    2102             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2103             : 
    2104             : #define RK_ENABLED 1
    2105             : 
    2106             : #if RK5_ENABLED
    2107             :     module procedure getInterpPREV_ND1_QD1_RK5
    2108             :         use pm_kind, only: RKC => RK5
    2109             : #include "pm_polation@routines.inc.F90"
    2110             :     end procedure
    2111             : #endif
    2112             : 
    2113             : #if RK4_ENABLED
    2114           0 :     module procedure getInterpPREV_ND1_QD1_RK4
    2115             :         use pm_kind, only: RKC => RK4
    2116             : #include "pm_polation@routines.inc.F90"
    2117           0 :     end procedure
    2118             : #endif
    2119             : 
    2120             : #if RK3_ENABLED
    2121           0 :     module procedure getInterpPREV_ND1_QD1_RK3
    2122             :         use pm_kind, only: RKC => RK3
    2123             : #include "pm_polation@routines.inc.F90"
    2124           0 :     end procedure
    2125             : #endif
    2126             : 
    2127             : #if RK2_ENABLED
    2128           0 :     module procedure getInterpPREV_ND1_QD1_RK2
    2129             :         use pm_kind, only: RKC => RK2
    2130             : #include "pm_polation@routines.inc.F90"
    2131           0 :     end procedure
    2132             : #endif
    2133             : 
    2134             : #if RK1_ENABLED
    2135           1 :     module procedure getInterpPREV_ND1_QD1_RK1
    2136             :         use pm_kind, only: RKC => RK1
    2137             : #include "pm_polation@routines.inc.F90"
    2138           1 :     end procedure
    2139             : #endif
    2140             : 
    2141             : #undef RK_ENABLED
    2142             : 
    2143             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2144             : 
    2145             : #undef QD1_ENABLED
    2146             : 
    2147             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2148             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2149             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2150             : 
    2151             : #undef PREV_ENABLED
    2152             : 
    2153             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2154             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2155             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2156             : 
    2157             : #define MNPLD_ENABLED 1
    2158             : 
    2159             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2160             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2161             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2162             : 
    2163             : #define QD0_ENABLED 1
    2164             : 
    2165             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2166             : 
    2167             : #define RK_ENABLED 1
    2168             : 
    2169             : #if RK5_ENABLED
    2170             :     module procedure getInterpMNPLD_ND1_QD0_RK5
    2171             :         use pm_kind, only: RKC => RK5
    2172             : #include "pm_polation@routines.inc.F90"
    2173             :     end procedure
    2174             : #endif
    2175             : 
    2176             : #if RK4_ENABLED
    2177           0 :     module procedure getInterpMNPLD_ND1_QD0_RK4
    2178             :         use pm_kind, only: RKC => RK4
    2179             : #include "pm_polation@routines.inc.F90"
    2180           0 :     end procedure
    2181             : #endif
    2182             : 
    2183             : #if RK3_ENABLED
    2184           0 :     module procedure getInterpMNPLD_ND1_QD0_RK3
    2185             :         use pm_kind, only: RKC => RK3
    2186             : #include "pm_polation@routines.inc.F90"
    2187           0 :     end procedure
    2188             : #endif
    2189             : 
    2190             : #if RK2_ENABLED
    2191           0 :     module procedure getInterpMNPLD_ND1_QD0_RK2
    2192             :         use pm_kind, only: RKC => RK2
    2193             : #include "pm_polation@routines.inc.F90"
    2194           0 :     end procedure
    2195             : #endif
    2196             : 
    2197             : #if RK1_ENABLED
    2198           0 :     module procedure getInterpMNPLD_ND1_QD0_RK1
    2199             :         use pm_kind, only: RKC => RK1
    2200             : #include "pm_polation@routines.inc.F90"
    2201           0 :     end procedure
    2202             : #endif
    2203             : 
    2204             : #undef RK_ENABLED
    2205             : 
    2206             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2207             : 
    2208             : #undef QD0_ENABLED
    2209             : 
    2210             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2211             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2212             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2213             : 
    2214             : #define QD1_ENABLED 1
    2215             : 
    2216             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2217             : 
    2218             : #define RK_ENABLED 1
    2219             : 
    2220             : #if RK5_ENABLED
    2221             :     module procedure getInterpMNPLD_ND1_QD1_RK5
    2222             :         use pm_kind, only: RKC => RK5
    2223             : #include "pm_polation@routines.inc.F90"
    2224             :     end procedure
    2225             : #endif
    2226             : 
    2227             : #if RK4_ENABLED
    2228           0 :     module procedure getInterpMNPLD_ND1_QD1_RK4
    2229             :         use pm_kind, only: RKC => RK4
    2230             : #include "pm_polation@routines.inc.F90"
    2231           0 :     end procedure
    2232             : #endif
    2233             : 
    2234             : #if RK3_ENABLED
    2235           0 :     module procedure getInterpMNPLD_ND1_QD1_RK3
    2236             :         use pm_kind, only: RKC => RK3
    2237             : #include "pm_polation@routines.inc.F90"
    2238           0 :     end procedure
    2239             : #endif
    2240             : 
    2241             : #if RK2_ENABLED
    2242           0 :     module procedure getInterpMNPLD_ND1_QD1_RK2
    2243             :         use pm_kind, only: RKC => RK2
    2244             : #include "pm_polation@routines.inc.F90"
    2245           0 :     end procedure
    2246             : #endif
    2247             : 
    2248             : #if RK1_ENABLED
    2249           2 :     module procedure getInterpMNPLD_ND1_QD1_RK1
    2250             :         use pm_kind, only: RKC => RK1
    2251             : #include "pm_polation@routines.inc.F90"
    2252           2 :     end procedure
    2253             : #endif
    2254             : 
    2255             : #undef RK_ENABLED
    2256             : 
    2257             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2258             : 
    2259             : #undef QD1_ENABLED
    2260             : 
    2261             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2262             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2263             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2264             : 
    2265             : #undef MNPLD_ENABLED
    2266             : 
    2267             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2268             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2269             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2270             : 
    2271             : #undef ND1_ENABLED
    2272             : 
    2273             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2274             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2275             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2276             : 
    2277             : #undef getInterp_ENABLED
    2278             : 
    2279             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2280             : 
    2281             : #define setInterp_ENABLED 1
    2282             : 
    2283             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2284             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2285             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2286             : 
    2287             : #define ND1_ENABLED 1
    2288             : 
    2289             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2290             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2291             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2292             : 
    2293             : #define PWLN_ENABLED 1
    2294             : 
    2295             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2296             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2297             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2298             : 
    2299             : #define QD0_ENABLED 1
    2300             : 
    2301             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2302             : 
    2303             : #define RK_ENABLED 1
    2304             : 
    2305             : #if RK5_ENABLED
    2306             :     module procedure setInterpPWLN_ND1_QD0_RK5
    2307             :         use pm_kind, only: RKC => RK5
    2308             : #include "pm_polation@routines.inc.F90"
    2309             :     end procedure
    2310             : #endif
    2311             : 
    2312             : #if RK4_ENABLED
    2313           0 :     module procedure setInterpPWLN_ND1_QD0_RK4
    2314             :         use pm_kind, only: RKC => RK4
    2315             : #include "pm_polation@routines.inc.F90"
    2316           0 :     end procedure
    2317             : #endif
    2318             : 
    2319             : #if RK3_ENABLED
    2320           0 :     module procedure setInterpPWLN_ND1_QD0_RK3
    2321             :         use pm_kind, only: RKC => RK3
    2322             : #include "pm_polation@routines.inc.F90"
    2323           0 :     end procedure
    2324             : #endif
    2325             : 
    2326             : #if RK2_ENABLED
    2327           0 :     module procedure setInterpPWLN_ND1_QD0_RK2
    2328             :         use pm_kind, only: RKC => RK2
    2329             : #include "pm_polation@routines.inc.F90"
    2330           0 :     end procedure
    2331             : #endif
    2332             : 
    2333             : #if RK1_ENABLED
    2334          66 :     module procedure setInterpPWLN_ND1_QD0_RK1
    2335             :         use pm_kind, only: RKC => RK1
    2336             : #include "pm_polation@routines.inc.F90"
    2337          66 :     end procedure
    2338             : #endif
    2339             : 
    2340             : #undef RK_ENABLED
    2341             : 
    2342             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2343             : 
    2344             : #undef QD0_ENABLED
    2345             : 
    2346             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2347             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2348             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2349             : 
    2350             : #define QD1_ENABLED 1
    2351             : 
    2352             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2353             : 
    2354             : #define RK_ENABLED 1
    2355             : 
    2356             : #if RK5_ENABLED
    2357             :     module procedure setInterpPWLN_ND1_QD1_RK5
    2358             :         use pm_kind, only: RKC => RK5
    2359             : #include "pm_polation@routines.inc.F90"
    2360             :     end procedure
    2361             : #endif
    2362             : 
    2363             : #if RK4_ENABLED
    2364           0 :     module procedure setInterpPWLN_ND1_QD1_RK4
    2365             :         use pm_kind, only: RKC => RK4
    2366             : #include "pm_polation@routines.inc.F90"
    2367           0 :     end procedure
    2368             : #endif
    2369             : 
    2370             : #if RK3_ENABLED
    2371           0 :     module procedure setInterpPWLN_ND1_QD1_RK3
    2372             :         use pm_kind, only: RKC => RK3
    2373             : #include "pm_polation@routines.inc.F90"
    2374           0 :     end procedure
    2375             : #endif
    2376             : 
    2377             : #if RK2_ENABLED
    2378           0 :     module procedure setInterpPWLN_ND1_QD1_RK2
    2379             :         use pm_kind, only: RKC => RK2
    2380             : #include "pm_polation@routines.inc.F90"
    2381           0 :     end procedure
    2382             : #endif
    2383             : 
    2384             : #if RK1_ENABLED
    2385           2 :     module procedure setInterpPWLN_ND1_QD1_RK1
    2386             :         use pm_kind, only: RKC => RK1
    2387             : #include "pm_polation@routines.inc.F90"
    2388           2 :     end procedure
    2389             : #endif
    2390             : 
    2391             : #undef RK_ENABLED
    2392             : 
    2393             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2394             : 
    2395             : #undef QD1_ENABLED
    2396             : 
    2397             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2398             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2399             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2400             : 
    2401             : #undef PWLN_ENABLED
    2402             : 
    2403             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2404             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2405             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2406             : 
    2407             : #define MEAN_ENABLED 1
    2408             : 
    2409             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2410             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2411             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2412             : 
    2413             : #define QD0_ENABLED 1
    2414             : 
    2415             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2416             : 
    2417             : #define RK_ENABLED 1
    2418             : 
    2419             : #if RK5_ENABLED
    2420             :     module procedure setInterpMEAN_ND1_QD0_RK5
    2421             :         use pm_kind, only: RKC => RK5
    2422             : #include "pm_polation@routines.inc.F90"
    2423             :     end procedure
    2424             : #endif
    2425             : 
    2426             : #if RK4_ENABLED
    2427           0 :     module procedure setInterpMEAN_ND1_QD0_RK4
    2428             :         use pm_kind, only: RKC => RK4
    2429             : #include "pm_polation@routines.inc.F90"
    2430           0 :     end procedure
    2431             : #endif
    2432             : 
    2433             : #if RK3_ENABLED
    2434           0 :     module procedure setInterpMEAN_ND1_QD0_RK3
    2435             :         use pm_kind, only: RKC => RK3
    2436             : #include "pm_polation@routines.inc.F90"
    2437           0 :     end procedure
    2438             : #endif
    2439             : 
    2440             : #if RK2_ENABLED
    2441           0 :     module procedure setInterpMEAN_ND1_QD0_RK2
    2442             :         use pm_kind, only: RKC => RK2
    2443             : #include "pm_polation@routines.inc.F90"
    2444           0 :     end procedure
    2445             : #endif
    2446             : 
    2447             : #if RK1_ENABLED
    2448          66 :     module procedure setInterpMEAN_ND1_QD0_RK1
    2449             :         use pm_kind, only: RKC => RK1
    2450             : #include "pm_polation@routines.inc.F90"
    2451          66 :     end procedure
    2452             : #endif
    2453             : 
    2454             : #undef RK_ENABLED
    2455             : 
    2456             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2457             : 
    2458             : #undef QD0_ENABLED
    2459             : 
    2460             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2461             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2462             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2463             : 
    2464             : #define QD1_ENABLED 1
    2465             : 
    2466             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2467             : 
    2468             : #define RK_ENABLED 1
    2469             : 
    2470             : #if RK5_ENABLED
    2471             :     module procedure setInterpMEAN_ND1_QD1_RK5
    2472             :         use pm_kind, only: RKC => RK5
    2473             : #include "pm_polation@routines.inc.F90"
    2474             :     end procedure
    2475             : #endif
    2476             : 
    2477             : #if RK4_ENABLED
    2478           0 :     module procedure setInterpMEAN_ND1_QD1_RK4
    2479             :         use pm_kind, only: RKC => RK4
    2480             : #include "pm_polation@routines.inc.F90"
    2481           0 :     end procedure
    2482             : #endif
    2483             : 
    2484             : #if RK3_ENABLED
    2485           0 :     module procedure setInterpMEAN_ND1_QD1_RK3
    2486             :         use pm_kind, only: RKC => RK3
    2487             : #include "pm_polation@routines.inc.F90"
    2488           0 :     end procedure
    2489             : #endif
    2490             : 
    2491             : #if RK2_ENABLED
    2492           0 :     module procedure setInterpMEAN_ND1_QD1_RK2
    2493             :         use pm_kind, only: RKC => RK2
    2494             : #include "pm_polation@routines.inc.F90"
    2495           0 :     end procedure
    2496             : #endif
    2497             : 
    2498             : #if RK1_ENABLED
    2499           2 :     module procedure setInterpMEAN_ND1_QD1_RK1
    2500             :         use pm_kind, only: RKC => RK1
    2501             : #include "pm_polation@routines.inc.F90"
    2502           2 :     end procedure
    2503             : #endif
    2504             : 
    2505             : #undef RK_ENABLED
    2506             : 
    2507             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2508             : 
    2509             : #undef QD1_ENABLED
    2510             : 
    2511             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2512             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2513             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2514             : 
    2515             : #undef MEAN_ENABLED
    2516             : 
    2517             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2518             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2519             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2520             : 
    2521             : #define NEAR_ENABLED 1
    2522             : 
    2523             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2524             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2525             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2526             : 
    2527             : #define QD0_ENABLED 1
    2528             : 
    2529             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2530             : 
    2531             : #define RK_ENABLED 1
    2532             : 
    2533             : #if RK5_ENABLED
    2534             :     module procedure setInterpNEAR_ND1_QD0_RK5
    2535             :         use pm_kind, only: RKC => RK5
    2536             : #include "pm_polation@routines.inc.F90"
    2537             :     end procedure
    2538             : #endif
    2539             : 
    2540             : #if RK4_ENABLED
    2541           0 :     module procedure setInterpNEAR_ND1_QD0_RK4
    2542             :         use pm_kind, only: RKC => RK4
    2543             : #include "pm_polation@routines.inc.F90"
    2544           0 :     end procedure
    2545             : #endif
    2546             : 
    2547             : #if RK3_ENABLED
    2548           0 :     module procedure setInterpNEAR_ND1_QD0_RK3
    2549             :         use pm_kind, only: RKC => RK3
    2550             : #include "pm_polation@routines.inc.F90"
    2551           0 :     end procedure
    2552             : #endif
    2553             : 
    2554             : #if RK2_ENABLED
    2555           0 :     module procedure setInterpNEAR_ND1_QD0_RK2
    2556             :         use pm_kind, only: RKC => RK2
    2557             : #include "pm_polation@routines.inc.F90"
    2558           0 :     end procedure
    2559             : #endif
    2560             : 
    2561             : #if RK1_ENABLED
    2562          66 :     module procedure setInterpNEAR_ND1_QD0_RK1
    2563             :         use pm_kind, only: RKC => RK1
    2564             : #include "pm_polation@routines.inc.F90"
    2565          66 :     end procedure
    2566             : #endif
    2567             : 
    2568             : #undef RK_ENABLED
    2569             : 
    2570             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2571             : 
    2572             : #undef QD0_ENABLED
    2573             : 
    2574             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2575             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2576             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2577             : 
    2578             : #define QD1_ENABLED 1
    2579             : 
    2580             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2581             : 
    2582             : #define RK_ENABLED 1
    2583             : 
    2584             : #if RK5_ENABLED
    2585             :     module procedure setInterpNEAR_ND1_QD1_RK5
    2586             :         use pm_kind, only: RKC => RK5
    2587             : #include "pm_polation@routines.inc.F90"
    2588             :     end procedure
    2589             : #endif
    2590             : 
    2591             : #if RK4_ENABLED
    2592           0 :     module procedure setInterpNEAR_ND1_QD1_RK4
    2593             :         use pm_kind, only: RKC => RK4
    2594             : #include "pm_polation@routines.inc.F90"
    2595           0 :     end procedure
    2596             : #endif
    2597             : 
    2598             : #if RK3_ENABLED
    2599           0 :     module procedure setInterpNEAR_ND1_QD1_RK3
    2600             :         use pm_kind, only: RKC => RK3
    2601             : #include "pm_polation@routines.inc.F90"
    2602           0 :     end procedure
    2603             : #endif
    2604             : 
    2605             : #if RK2_ENABLED
    2606           0 :     module procedure setInterpNEAR_ND1_QD1_RK2
    2607             :         use pm_kind, only: RKC => RK2
    2608             : #include "pm_polation@routines.inc.F90"
    2609           0 :     end procedure
    2610             : #endif
    2611             : 
    2612             : #if RK1_ENABLED
    2613           2 :     module procedure setInterpNEAR_ND1_QD1_RK1
    2614             :         use pm_kind, only: RKC => RK1
    2615             : #include "pm_polation@routines.inc.F90"
    2616           2 :     end procedure
    2617             : #endif
    2618             : 
    2619             : #undef RK_ENABLED
    2620             : 
    2621             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2622             : 
    2623             : #undef QD1_ENABLED
    2624             : 
    2625             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2626             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2627             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2628             : 
    2629             : #undef NEAR_ENABLED
    2630             : 
    2631             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2632             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2633             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2634             : 
    2635             : #define NEXT_ENABLED 1
    2636             : 
    2637             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2638             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2639             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2640             : 
    2641             : #define QD0_ENABLED 1
    2642             : 
    2643             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2644             : 
    2645             : #define RK_ENABLED 1
    2646             : 
    2647             : #if RK5_ENABLED
    2648             :     module procedure setInterpNEXT_ND1_QD0_RK5
    2649             :         use pm_kind, only: RKC => RK5
    2650             : #include "pm_polation@routines.inc.F90"
    2651             :     end procedure
    2652             : #endif
    2653             : 
    2654             : #if RK4_ENABLED
    2655           0 :     module procedure setInterpNEXT_ND1_QD0_RK4
    2656             :         use pm_kind, only: RKC => RK4
    2657             : #include "pm_polation@routines.inc.F90"
    2658           0 :     end procedure
    2659             : #endif
    2660             : 
    2661             : #if RK3_ENABLED
    2662           0 :     module procedure setInterpNEXT_ND1_QD0_RK3
    2663             :         use pm_kind, only: RKC => RK3
    2664             : #include "pm_polation@routines.inc.F90"
    2665           0 :     end procedure
    2666             : #endif
    2667             : 
    2668             : #if RK2_ENABLED
    2669           0 :     module procedure setInterpNEXT_ND1_QD0_RK2
    2670             :         use pm_kind, only: RKC => RK2
    2671             : #include "pm_polation@routines.inc.F90"
    2672           0 :     end procedure
    2673             : #endif
    2674             : 
    2675             : #if RK1_ENABLED
    2676          66 :     module procedure setInterpNEXT_ND1_QD0_RK1
    2677             :         use pm_kind, only: RKC => RK1
    2678             : #include "pm_polation@routines.inc.F90"
    2679          66 :     end procedure
    2680             : #endif
    2681             : 
    2682             : #undef RK_ENABLED
    2683             : 
    2684             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2685             : 
    2686             : #undef QD0_ENABLED
    2687             : 
    2688             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2689             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2690             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2691             : 
    2692             : #define QD1_ENABLED 1
    2693             : 
    2694             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2695             : 
    2696             : #define RK_ENABLED 1
    2697             : 
    2698             : #if RK5_ENABLED
    2699             :     module procedure setInterpNEXT_ND1_QD1_RK5
    2700             :         use pm_kind, only: RKC => RK5
    2701             : #include "pm_polation@routines.inc.F90"
    2702             :     end procedure
    2703             : #endif
    2704             : 
    2705             : #if RK4_ENABLED
    2706           0 :     module procedure setInterpNEXT_ND1_QD1_RK4
    2707             :         use pm_kind, only: RKC => RK4
    2708             : #include "pm_polation@routines.inc.F90"
    2709           0 :     end procedure
    2710             : #endif
    2711             : 
    2712             : #if RK3_ENABLED
    2713           0 :     module procedure setInterpNEXT_ND1_QD1_RK3
    2714             :         use pm_kind, only: RKC => RK3
    2715             : #include "pm_polation@routines.inc.F90"
    2716           0 :     end procedure
    2717             : #endif
    2718             : 
    2719             : #if RK2_ENABLED
    2720           0 :     module procedure setInterpNEXT_ND1_QD1_RK2
    2721             :         use pm_kind, only: RKC => RK2
    2722             : #include "pm_polation@routines.inc.F90"
    2723           0 :     end procedure
    2724             : #endif
    2725             : 
    2726             : #if RK1_ENABLED
    2727           2 :     module procedure setInterpNEXT_ND1_QD1_RK1
    2728             :         use pm_kind, only: RKC => RK1
    2729             : #include "pm_polation@routines.inc.F90"
    2730           2 :     end procedure
    2731             : #endif
    2732             : 
    2733             : #undef RK_ENABLED
    2734             : 
    2735             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2736             : 
    2737             : #undef QD1_ENABLED
    2738             : 
    2739             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2740             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2741             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2742             : 
    2743             : #undef NEXT_ENABLED
    2744             : 
    2745             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2746             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2747             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2748             : 
    2749             : #define PREV_ENABLED 1
    2750             : 
    2751             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2752             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2753             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2754             : 
    2755             : #define QD0_ENABLED 1
    2756             : 
    2757             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2758             : 
    2759             : #define RK_ENABLED 1
    2760             : 
    2761             : #if RK5_ENABLED
    2762             :     module procedure setInterpPREV_ND1_QD0_RK5
    2763             :         use pm_kind, only: RKC => RK5
    2764             : #include "pm_polation@routines.inc.F90"
    2765             :     end procedure
    2766             : #endif
    2767             : 
    2768             : #if RK4_ENABLED
    2769           0 :     module procedure setInterpPREV_ND1_QD0_RK4
    2770             :         use pm_kind, only: RKC => RK4
    2771             : #include "pm_polation@routines.inc.F90"
    2772           0 :     end procedure
    2773             : #endif
    2774             : 
    2775             : #if RK3_ENABLED
    2776           0 :     module procedure setInterpPREV_ND1_QD0_RK3
    2777             :         use pm_kind, only: RKC => RK3
    2778             : #include "pm_polation@routines.inc.F90"
    2779           0 :     end procedure
    2780             : #endif
    2781             : 
    2782             : #if RK2_ENABLED
    2783           0 :     module procedure setInterpPREV_ND1_QD0_RK2
    2784             :         use pm_kind, only: RKC => RK2
    2785             : #include "pm_polation@routines.inc.F90"
    2786           0 :     end procedure
    2787             : #endif
    2788             : 
    2789             : #if RK1_ENABLED
    2790          66 :     module procedure setInterpPREV_ND1_QD0_RK1
    2791             :         use pm_kind, only: RKC => RK1
    2792             : #include "pm_polation@routines.inc.F90"
    2793          66 :     end procedure
    2794             : #endif
    2795             : 
    2796             : #undef RK_ENABLED
    2797             : 
    2798             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2799             : 
    2800             : #undef QD0_ENABLED
    2801             : 
    2802             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2803             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2804             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2805             : 
    2806             : #define QD1_ENABLED 1
    2807             : 
    2808             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2809             : 
    2810             : #define RK_ENABLED 1
    2811             : 
    2812             : #if RK5_ENABLED
    2813             :     module procedure setInterpPREV_ND1_QD1_RK5
    2814             :         use pm_kind, only: RKC => RK5
    2815             : #include "pm_polation@routines.inc.F90"
    2816             :     end procedure
    2817             : #endif
    2818             : 
    2819             : #if RK4_ENABLED
    2820           0 :     module procedure setInterpPREV_ND1_QD1_RK4
    2821             :         use pm_kind, only: RKC => RK4
    2822             : #include "pm_polation@routines.inc.F90"
    2823           0 :     end procedure
    2824             : #endif
    2825             : 
    2826             : #if RK3_ENABLED
    2827           0 :     module procedure setInterpPREV_ND1_QD1_RK3
    2828             :         use pm_kind, only: RKC => RK3
    2829             : #include "pm_polation@routines.inc.F90"
    2830           0 :     end procedure
    2831             : #endif
    2832             : 
    2833             : #if RK2_ENABLED
    2834           0 :     module procedure setInterpPREV_ND1_QD1_RK2
    2835             :         use pm_kind, only: RKC => RK2
    2836             : #include "pm_polation@routines.inc.F90"
    2837           0 :     end procedure
    2838             : #endif
    2839             : 
    2840             : #if RK1_ENABLED
    2841           2 :     module procedure setInterpPREV_ND1_QD1_RK1
    2842             :         use pm_kind, only: RKC => RK1
    2843             : #include "pm_polation@routines.inc.F90"
    2844           2 :     end procedure
    2845             : #endif
    2846             : 
    2847             : #undef RK_ENABLED
    2848             : 
    2849             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2850             : 
    2851             : #undef QD1_ENABLED
    2852             : 
    2853             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2854             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2855             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2856             : 
    2857             : #undef PREV_ENABLED
    2858             : 
    2859             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2860             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2861             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2862             : 
    2863             : #define MNPLD_ENABLED 1
    2864             : 
    2865             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2866             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2867             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2868             : 
    2869             : #define QD0_ENABLED 1
    2870             : 
    2871             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2872             : 
    2873             : #define RK_ENABLED 1
    2874             : 
    2875             : #if RK5_ENABLED
    2876             :     module procedure setInterpMNPLD_ND1_QD0_RK5
    2877             :         use pm_kind, only: RKC => RK5
    2878             : #include "pm_polation@routines.inc.F90"
    2879             :     end procedure
    2880             : #endif
    2881             : 
    2882             : #if RK4_ENABLED
    2883           0 :     module procedure setInterpMNPLD_ND1_QD0_RK4
    2884             :         use pm_kind, only: RKC => RK4
    2885             : #include "pm_polation@routines.inc.F90"
    2886           0 :     end procedure
    2887             : #endif
    2888             : 
    2889             : #if RK3_ENABLED
    2890           0 :     module procedure setInterpMNPLD_ND1_QD0_RK3
    2891             :         use pm_kind, only: RKC => RK3
    2892             : #include "pm_polation@routines.inc.F90"
    2893           0 :     end procedure
    2894             : #endif
    2895             : 
    2896             : #if RK2_ENABLED
    2897           0 :     module procedure setInterpMNPLD_ND1_QD0_RK2
    2898             :         use pm_kind, only: RKC => RK2
    2899             : #include "pm_polation@routines.inc.F90"
    2900           0 :     end procedure
    2901             : #endif
    2902             : 
    2903             : #if RK1_ENABLED
    2904         483 :     module procedure setInterpMNPLD_ND1_QD0_RK1
    2905             :         use pm_kind, only: RKC => RK1
    2906             : #include "pm_polation@routines.inc.F90"
    2907         483 :     end procedure
    2908             : #endif
    2909             : 
    2910             : #undef RK_ENABLED
    2911             : 
    2912             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2913             : 
    2914             : #undef QD0_ENABLED
    2915             : 
    2916             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2917             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2918             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2919             : 
    2920             : #define QD1_ENABLED 1
    2921             : 
    2922             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2923             : 
    2924             : #define RK_ENABLED 1
    2925             : 
    2926             : #if RK5_ENABLED
    2927             :     module procedure setInterpMNPLD_ND1_QD1_RK5
    2928             :         use pm_kind, only: RKC => RK5
    2929             : #include "pm_polation@routines.inc.F90"
    2930             :     end procedure
    2931             : #endif
    2932             : 
    2933             : #if RK4_ENABLED
    2934           0 :     module procedure setInterpMNPLD_ND1_QD1_RK4
    2935             :         use pm_kind, only: RKC => RK4
    2936             : #include "pm_polation@routines.inc.F90"
    2937           0 :     end procedure
    2938             : #endif
    2939             : 
    2940             : #if RK3_ENABLED
    2941           0 :     module procedure setInterpMNPLD_ND1_QD1_RK3
    2942             :         use pm_kind, only: RKC => RK3
    2943             : #include "pm_polation@routines.inc.F90"
    2944           0 :     end procedure
    2945             : #endif
    2946             : 
    2947             : #if RK2_ENABLED
    2948           0 :     module procedure setInterpMNPLD_ND1_QD1_RK2
    2949             :         use pm_kind, only: RKC => RK2
    2950             : #include "pm_polation@routines.inc.F90"
    2951           0 :     end procedure
    2952             : #endif
    2953             : 
    2954             : #if RK1_ENABLED
    2955           2 :     module procedure setInterpMNPLD_ND1_QD1_RK1
    2956             :         use pm_kind, only: RKC => RK1
    2957             : #include "pm_polation@routines.inc.F90"
    2958           2 :     end procedure
    2959             : #endif
    2960             : 
    2961             : #undef RK_ENABLED
    2962             : 
    2963             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2964             : 
    2965             : #undef QD1_ENABLED
    2966             : 
    2967             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2968             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2969             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2970             : 
    2971             : #undef MNPLD_ENABLED
    2972             : 
    2973             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2974             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2975             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2976             : 
    2977             : #define MNPLE_ENABLED 1
    2978             : 
    2979             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2980             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2981             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2982             : 
    2983             : #define QD0_ENABLED 1
    2984             : 
    2985             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2986             : 
    2987             : #define RK_ENABLED 1
    2988             : 
    2989             : #if RK5_ENABLED
    2990             :     module procedure setInterpMNPLE_ND1_QD0_RK5
    2991             :         use pm_kind, only: RKC => RK5
    2992             : #include "pm_polation@routines.inc.F90"
    2993             :     end procedure
    2994             : #endif
    2995             : 
    2996             : #if RK4_ENABLED
    2997           0 :     module procedure setInterpMNPLE_ND1_QD0_RK4
    2998             :         use pm_kind, only: RKC => RK4
    2999             : #include "pm_polation@routines.inc.F90"
    3000           0 :     end procedure
    3001             : #endif
    3002             : 
    3003             : #if RK3_ENABLED
    3004           0 :     module procedure setInterpMNPLE_ND1_QD0_RK3
    3005             :         use pm_kind, only: RKC => RK3
    3006             : #include "pm_polation@routines.inc.F90"
    3007           0 :     end procedure
    3008             : #endif
    3009             : 
    3010             : #if RK2_ENABLED
    3011           0 :     module procedure setInterpMNPLE_ND1_QD0_RK2
    3012             :         use pm_kind, only: RKC => RK2
    3013             : #include "pm_polation@routines.inc.F90"
    3014           0 :     end procedure
    3015             : #endif
    3016             : 
    3017             : #if RK1_ENABLED
    3018         483 :     module procedure setInterpMNPLE_ND1_QD0_RK1
    3019             :         use pm_kind, only: RKC => RK1
    3020             : #include "pm_polation@routines.inc.F90"
    3021         483 :     end procedure
    3022             : #endif
    3023             : 
    3024             : #undef RK_ENABLED
    3025             : 
    3026             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3027             : 
    3028             : #undef QD0_ENABLED
    3029             : 
    3030             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3031             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3032             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3033             : 
    3034             : #define QD1_ENABLED 1
    3035             : 
    3036             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3037             : 
    3038             : #define RK_ENABLED 1
    3039             : 
    3040             : #if RK5_ENABLED
    3041             :     module procedure setInterpMNPLE_ND1_QD1_RK5
    3042             :         use pm_kind, only: RKC => RK5
    3043             : #include "pm_polation@routines.inc.F90"
    3044             :     end procedure
    3045             : #endif
    3046             : 
    3047             : #if RK4_ENABLED
    3048           0 :     module procedure setInterpMNPLE_ND1_QD1_RK4
    3049             :         use pm_kind, only: RKC => RK4
    3050             : #include "pm_polation@routines.inc.F90"
    3051           0 :     end procedure
    3052             : #endif
    3053             : 
    3054             : #if RK3_ENABLED
    3055           0 :     module procedure setInterpMNPLE_ND1_QD1_RK3
    3056             :         use pm_kind, only: RKC => RK3
    3057             : #include "pm_polation@routines.inc.F90"
    3058           0 :     end procedure
    3059             : #endif
    3060             : 
    3061             : #if RK2_ENABLED
    3062           0 :     module procedure setInterpMNPLE_ND1_QD1_RK2
    3063             :         use pm_kind, only: RKC => RK2
    3064             : #include "pm_polation@routines.inc.F90"
    3065           0 :     end procedure
    3066             : #endif
    3067             : 
    3068             : #if RK1_ENABLED
    3069           2 :     module procedure setInterpMNPLE_ND1_QD1_RK1
    3070             :         use pm_kind, only: RKC => RK1
    3071             : #include "pm_polation@routines.inc.F90"
    3072           2 :     end procedure
    3073             : #endif
    3074             : 
    3075             : #undef RK_ENABLED
    3076             : 
    3077             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3078             : 
    3079             : #undef QD1_ENABLED
    3080             : 
    3081             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3082             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3083             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3084             : 
    3085             : #undef MNPLE_ENABLED
    3086             : 
    3087             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3088             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3089             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3090             : 
    3091             : #undef ND1_ENABLED
    3092             : 
    3093             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3094             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3095             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3096             : 
    3097             : #undef setInterp_ENABLED
    3098             : 
    3099             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    3100             : 
    3101             : #undef CHECK_ASSERTION
    3102             : 
    3103             : end submodule routines

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