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_sampleACT](@ref pm_sampleACT).
19 : !>
20 : !> final
21 : !>
22 : !> \author
23 : !> \FatemehBagheri, Wednesday 5:03 PM, August 11, 2021, Dallas, TX
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_sampleACT) 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_sampleCCF, only: getACF, stdscale
40 : use pm_arrayVerbose, only: getVerbose
41 : use pm_arrayResize, only: setResized
42 : use pm_mathCumSum, only: getCumSum
43 : use pm_mathCumSum, only: setCumSum
44 :
45 : implicit none
46 :
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 :
49 : contains
50 :
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 :
53 : #define getACT_ENABLED 1
54 :
55 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 :
59 : #define DEF_ENABLED 1
60 :
61 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
62 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
64 :
65 : #define ONE_ENABLED 1
66 :
67 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70 :
71 : #define D1_ENABLED 1
72 :
73 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
74 :
75 : #define RK_ENABLED 1
76 :
77 : #if RK5_ENABLED
78 : module procedure getACT_DEF_ONE_D1_RK5
79 : use pm_kind, only: TKC => RK5
80 : #include "pm_sampleACT@routines.inc.F90"
81 : end procedure
82 : #endif
83 :
84 : #if RK4_ENABLED
85 0 : module procedure getACT_DEF_ONE_D1_RK4
86 : use pm_kind, only: TKC => RK4
87 : #include "pm_sampleACT@routines.inc.F90"
88 0 : end procedure
89 : #endif
90 :
91 : #if RK3_ENABLED
92 0 : module procedure getACT_DEF_ONE_D1_RK3
93 : use pm_kind, only: TKC => RK3
94 : #include "pm_sampleACT@routines.inc.F90"
95 0 : end procedure
96 : #endif
97 :
98 : #if RK2_ENABLED
99 0 : module procedure getACT_DEF_ONE_D1_RK2
100 : use pm_kind, only: TKC => RK2
101 : #include "pm_sampleACT@routines.inc.F90"
102 0 : end procedure
103 : #endif
104 :
105 : #if RK1_ENABLED
106 1 : module procedure getACT_DEF_ONE_D1_RK1
107 : use pm_kind, only: TKC => RK1
108 : #include "pm_sampleACT@routines.inc.F90"
109 1 : end procedure
110 : #endif
111 :
112 : #undef RK_ENABLED
113 :
114 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115 :
116 : #undef D1_ENABLED
117 :
118 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
119 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
120 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
121 :
122 : #undef ONE_ENABLED
123 :
124 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
125 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
126 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
127 :
128 : #define WTI_ENABLED 1
129 :
130 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
131 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
132 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133 :
134 : #define D1_ENABLED 1
135 :
136 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
137 :
138 : #define RK_ENABLED 1
139 :
140 : #if RK5_ENABLED
141 : module procedure getACT_DEF_WTI_D1_RK5
142 : use pm_kind, only: TKC => RK5
143 : #include "pm_sampleACT@routines.inc.F90"
144 : end procedure
145 : #endif
146 :
147 : #if RK4_ENABLED
148 0 : module procedure getACT_DEF_WTI_D1_RK4
149 : use pm_kind, only: TKC => RK4
150 : #include "pm_sampleACT@routines.inc.F90"
151 0 : end procedure
152 : #endif
153 :
154 : #if RK3_ENABLED
155 0 : module procedure getACT_DEF_WTI_D1_RK3
156 : use pm_kind, only: TKC => RK3
157 : #include "pm_sampleACT@routines.inc.F90"
158 0 : end procedure
159 : #endif
160 :
161 : #if RK2_ENABLED
162 0 : module procedure getACT_DEF_WTI_D1_RK2
163 : use pm_kind, only: TKC => RK2
164 : #include "pm_sampleACT@routines.inc.F90"
165 0 : end procedure
166 : #endif
167 :
168 : #if RK1_ENABLED
169 0 : module procedure getACT_DEF_WTI_D1_RK1
170 : use pm_kind, only: TKC => RK1
171 : #include "pm_sampleACT@routines.inc.F90"
172 0 : end procedure
173 : #endif
174 :
175 : #undef RK_ENABLED
176 :
177 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
178 :
179 : #undef D1_ENABLED
180 :
181 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
182 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
183 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
184 :
185 : #undef WTI_ENABLED
186 :
187 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
188 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
189 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
190 :
191 : #undef DEF_ENABLED
192 :
193 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
194 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
195 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
196 :
197 : #define CSD_ENABLED 1
198 :
199 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
200 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
201 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
202 :
203 : #define ONE_ENABLED 1
204 :
205 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
208 :
209 : #define D1_ENABLED 1
210 :
211 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212 :
213 : #define RK_ENABLED 1
214 :
215 : #if RK5_ENABLED
216 : module procedure getACT_CSD_ONE_D1_RK5
217 : use pm_kind, only: TKC => RK5
218 : #include "pm_sampleACT@routines.inc.F90"
219 : end procedure
220 : #endif
221 :
222 : #if RK4_ENABLED
223 0 : module procedure getACT_CSD_ONE_D1_RK4
224 : use pm_kind, only: TKC => RK4
225 : #include "pm_sampleACT@routines.inc.F90"
226 0 : end procedure
227 : #endif
228 :
229 : #if RK3_ENABLED
230 0 : module procedure getACT_CSD_ONE_D1_RK3
231 : use pm_kind, only: TKC => RK3
232 : #include "pm_sampleACT@routines.inc.F90"
233 0 : end procedure
234 : #endif
235 :
236 : #if RK2_ENABLED
237 0 : module procedure getACT_CSD_ONE_D1_RK2
238 : use pm_kind, only: TKC => RK2
239 : #include "pm_sampleACT@routines.inc.F90"
240 0 : end procedure
241 : #endif
242 :
243 : #if RK1_ENABLED
244 3 : module procedure getACT_CSD_ONE_D1_RK1
245 : use pm_kind, only: TKC => RK1
246 : #include "pm_sampleACT@routines.inc.F90"
247 3 : end procedure
248 : #endif
249 :
250 : #undef RK_ENABLED
251 :
252 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
253 :
254 : #undef D1_ENABLED
255 :
256 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
257 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
258 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259 :
260 : #undef ONE_ENABLED
261 :
262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
263 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265 :
266 : #define WTI_ENABLED 1
267 :
268 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
269 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
270 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271 :
272 : #define D1_ENABLED 1
273 :
274 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275 :
276 : #define RK_ENABLED 1
277 :
278 : #if RK5_ENABLED
279 : module procedure getACT_CSD_WTI_D1_RK5
280 : use pm_kind, only: TKC => RK5
281 : #include "pm_sampleACT@routines.inc.F90"
282 : end procedure
283 : #endif
284 :
285 : #if RK4_ENABLED
286 0 : module procedure getACT_CSD_WTI_D1_RK4
287 : use pm_kind, only: TKC => RK4
288 : #include "pm_sampleACT@routines.inc.F90"
289 0 : end procedure
290 : #endif
291 :
292 : #if RK3_ENABLED
293 0 : module procedure getACT_CSD_WTI_D1_RK3
294 : use pm_kind, only: TKC => RK3
295 : #include "pm_sampleACT@routines.inc.F90"
296 0 : end procedure
297 : #endif
298 :
299 : #if RK2_ENABLED
300 0 : module procedure getACT_CSD_WTI_D1_RK2
301 : use pm_kind, only: TKC => RK2
302 : #include "pm_sampleACT@routines.inc.F90"
303 0 : end procedure
304 : #endif
305 :
306 : #if RK1_ENABLED
307 0 : module procedure getACT_CSD_WTI_D1_RK1
308 : use pm_kind, only: TKC => RK1
309 : #include "pm_sampleACT@routines.inc.F90"
310 0 : end procedure
311 : #endif
312 :
313 : #undef RK_ENABLED
314 :
315 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316 :
317 : #undef D1_ENABLED
318 :
319 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
320 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
321 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
322 :
323 : #undef WTI_ENABLED
324 :
325 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
326 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
327 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
328 :
329 : #undef CSD_ENABLED
330 :
331 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
332 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334 :
335 : #define CSM_ENABLED 1
336 :
337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
338 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
340 :
341 : #define ONE_ENABLED 1
342 :
343 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
344 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
345 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
346 :
347 : #define D1_ENABLED 1
348 :
349 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
350 :
351 : #define RK_ENABLED 1
352 :
353 : #if RK5_ENABLED
354 : module procedure getACT_CSM_ONE_D1_RK5
355 : use pm_kind, only: TKC => RK5
356 : #include "pm_sampleACT@routines.inc.F90"
357 : end procedure
358 : #endif
359 :
360 : #if RK4_ENABLED
361 0 : module procedure getACT_CSM_ONE_D1_RK4
362 : use pm_kind, only: TKC => RK4
363 : #include "pm_sampleACT@routines.inc.F90"
364 0 : end procedure
365 : #endif
366 :
367 : #if RK3_ENABLED
368 0 : module procedure getACT_CSM_ONE_D1_RK3
369 : use pm_kind, only: TKC => RK3
370 : #include "pm_sampleACT@routines.inc.F90"
371 0 : end procedure
372 : #endif
373 :
374 : #if RK2_ENABLED
375 0 : module procedure getACT_CSM_ONE_D1_RK2
376 : use pm_kind, only: TKC => RK2
377 : #include "pm_sampleACT@routines.inc.F90"
378 0 : end procedure
379 : #endif
380 :
381 : #if RK1_ENABLED
382 1 : module procedure getACT_CSM_ONE_D1_RK1
383 : use pm_kind, only: TKC => RK1
384 : #include "pm_sampleACT@routines.inc.F90"
385 1 : end procedure
386 : #endif
387 :
388 : #undef RK_ENABLED
389 :
390 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391 :
392 : #undef D1_ENABLED
393 :
394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
395 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
397 :
398 : #undef ONE_ENABLED
399 :
400 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
401 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
403 :
404 : #define WTI_ENABLED 1
405 :
406 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
407 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
409 :
410 : #define D1_ENABLED 1
411 :
412 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
413 :
414 : #define RK_ENABLED 1
415 :
416 : #if RK5_ENABLED
417 : module procedure getACT_CSM_WTI_D1_RK5
418 : use pm_kind, only: TKC => RK5
419 : #include "pm_sampleACT@routines.inc.F90"
420 : end procedure
421 : #endif
422 :
423 : #if RK4_ENABLED
424 0 : module procedure getACT_CSM_WTI_D1_RK4
425 : use pm_kind, only: TKC => RK4
426 : #include "pm_sampleACT@routines.inc.F90"
427 0 : end procedure
428 : #endif
429 :
430 : #if RK3_ENABLED
431 0 : module procedure getACT_CSM_WTI_D1_RK3
432 : use pm_kind, only: TKC => RK3
433 : #include "pm_sampleACT@routines.inc.F90"
434 0 : end procedure
435 : #endif
436 :
437 : #if RK2_ENABLED
438 0 : module procedure getACT_CSM_WTI_D1_RK2
439 : use pm_kind, only: TKC => RK2
440 : #include "pm_sampleACT@routines.inc.F90"
441 0 : end procedure
442 : #endif
443 :
444 : #if RK1_ENABLED
445 0 : module procedure getACT_CSM_WTI_D1_RK1
446 : use pm_kind, only: TKC => RK1
447 : #include "pm_sampleACT@routines.inc.F90"
448 0 : end procedure
449 : #endif
450 :
451 : #undef RK_ENABLED
452 :
453 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
454 :
455 : #undef D1_ENABLED
456 :
457 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
458 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
459 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
460 :
461 : #undef WTI_ENABLED
462 :
463 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
464 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
465 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
466 :
467 : #undef CSM_ENABLED
468 :
469 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
470 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
471 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
472 :
473 : #define BMD_ENABLED 1
474 :
475 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
476 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
477 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
478 :
479 : #define ONE_ENABLED 1
480 :
481 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
482 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
483 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
484 :
485 : #define D1_ENABLED 1
486 :
487 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
488 :
489 : #define RK_ENABLED 1
490 :
491 : #if RK5_ENABLED
492 : module procedure getACT_BMD_ONE_D1_RK5
493 : use pm_kind, only: TKC => RK5
494 : #include "pm_sampleACT@routines.inc.F90"
495 : end procedure
496 : #endif
497 :
498 : #if RK4_ENABLED
499 0 : module procedure getACT_BMD_ONE_D1_RK4
500 : use pm_kind, only: TKC => RK4
501 : #include "pm_sampleACT@routines.inc.F90"
502 0 : end procedure
503 : #endif
504 :
505 : #if RK3_ENABLED
506 0 : module procedure getACT_BMD_ONE_D1_RK3
507 : use pm_kind, only: TKC => RK3
508 : #include "pm_sampleACT@routines.inc.F90"
509 0 : end procedure
510 : #endif
511 :
512 : #if RK2_ENABLED
513 97 : module procedure getACT_BMD_ONE_D1_RK2
514 : use pm_kind, only: TKC => RK2
515 : #include "pm_sampleACT@routines.inc.F90"
516 97 : end procedure
517 : #endif
518 :
519 : #if RK1_ENABLED
520 9725 : module procedure getACT_BMD_ONE_D1_RK1
521 : use pm_kind, only: TKC => RK1
522 : #include "pm_sampleACT@routines.inc.F90"
523 9725 : end procedure
524 : #endif
525 :
526 : #undef RK_ENABLED
527 :
528 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
529 :
530 : #undef D1_ENABLED
531 :
532 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
533 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
534 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
535 :
536 : #undef ONE_ENABLED
537 :
538 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
541 :
542 : #define WTI_ENABLED 1
543 :
544 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
545 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
546 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547 :
548 : #define D1_ENABLED 1
549 :
550 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
551 :
552 : #define RK_ENABLED 1
553 :
554 : #if RK5_ENABLED
555 : module procedure getACT_BMD_WTI_D1_RK5
556 : use pm_kind, only: TKC => RK5
557 : #include "pm_sampleACT@routines.inc.F90"
558 : end procedure
559 : #endif
560 :
561 : #if RK4_ENABLED
562 0 : module procedure getACT_BMD_WTI_D1_RK4
563 : use pm_kind, only: TKC => RK4
564 : #include "pm_sampleACT@routines.inc.F90"
565 0 : end procedure
566 : #endif
567 :
568 : #if RK3_ENABLED
569 0 : module procedure getACT_BMD_WTI_D1_RK3
570 : use pm_kind, only: TKC => RK3
571 : #include "pm_sampleACT@routines.inc.F90"
572 0 : end procedure
573 : #endif
574 :
575 : #if RK2_ENABLED
576 47 : module procedure getACT_BMD_WTI_D1_RK2
577 : use pm_kind, only: TKC => RK2
578 : #include "pm_sampleACT@routines.inc.F90"
579 47 : end procedure
580 : #endif
581 :
582 : #if RK1_ENABLED
583 5 : module procedure getACT_BMD_WTI_D1_RK1
584 : use pm_kind, only: TKC => RK1
585 : #include "pm_sampleACT@routines.inc.F90"
586 5 : end procedure
587 : #endif
588 :
589 : #undef RK_ENABLED
590 :
591 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
592 :
593 : #undef D1_ENABLED
594 :
595 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
596 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
597 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
598 :
599 : #undef WTI_ENABLED
600 :
601 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
602 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
603 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
604 :
605 : #undef BMD_ENABLED
606 :
607 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
608 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
609 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
610 :
611 : #define BMM_ENABLED 1
612 :
613 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
614 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
615 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
616 :
617 : #define ONE_ENABLED 1
618 :
619 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
620 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
622 :
623 : #define D1_ENABLED 1
624 :
625 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
626 :
627 : #define RK_ENABLED 1
628 :
629 : #if RK5_ENABLED
630 : module procedure getACT_BMM_ONE_D1_RK5
631 : use pm_kind, only: TKC => RK5
632 : #include "pm_sampleACT@routines.inc.F90"
633 : end procedure
634 : #endif
635 :
636 : #if RK4_ENABLED
637 0 : module procedure getACT_BMM_ONE_D1_RK4
638 : use pm_kind, only: TKC => RK4
639 : #include "pm_sampleACT@routines.inc.F90"
640 0 : end procedure
641 : #endif
642 :
643 : #if RK3_ENABLED
644 0 : module procedure getACT_BMM_ONE_D1_RK3
645 : use pm_kind, only: TKC => RK3
646 : #include "pm_sampleACT@routines.inc.F90"
647 0 : end procedure
648 : #endif
649 :
650 : #if RK2_ENABLED
651 0 : module procedure getACT_BMM_ONE_D1_RK2
652 : use pm_kind, only: TKC => RK2
653 : #include "pm_sampleACT@routines.inc.F90"
654 0 : end procedure
655 : #endif
656 :
657 : #if RK1_ENABLED
658 2 : module procedure getACT_BMM_ONE_D1_RK1
659 : use pm_kind, only: TKC => RK1
660 : #include "pm_sampleACT@routines.inc.F90"
661 2 : end procedure
662 : #endif
663 :
664 : #undef RK_ENABLED
665 :
666 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
667 :
668 : #undef D1_ENABLED
669 :
670 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
671 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
672 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
673 :
674 : #undef ONE_ENABLED
675 :
676 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
677 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
678 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
679 :
680 : #define WTI_ENABLED 1
681 :
682 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
683 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
684 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
685 :
686 : #define D1_ENABLED 1
687 :
688 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
689 :
690 : #define RK_ENABLED 1
691 :
692 : #if RK5_ENABLED
693 : module procedure getACT_BMM_WTI_D1_RK5
694 : use pm_kind, only: TKC => RK5
695 : #include "pm_sampleACT@routines.inc.F90"
696 : end procedure
697 : #endif
698 :
699 : #if RK4_ENABLED
700 0 : module procedure getACT_BMM_WTI_D1_RK4
701 : use pm_kind, only: TKC => RK4
702 : #include "pm_sampleACT@routines.inc.F90"
703 0 : end procedure
704 : #endif
705 :
706 : #if RK3_ENABLED
707 0 : module procedure getACT_BMM_WTI_D1_RK3
708 : use pm_kind, only: TKC => RK3
709 : #include "pm_sampleACT@routines.inc.F90"
710 0 : end procedure
711 : #endif
712 :
713 : #if RK2_ENABLED
714 0 : module procedure getACT_BMM_WTI_D1_RK2
715 : use pm_kind, only: TKC => RK2
716 : #include "pm_sampleACT@routines.inc.F90"
717 0 : end procedure
718 : #endif
719 :
720 : #if RK1_ENABLED
721 0 : module procedure getACT_BMM_WTI_D1_RK1
722 : use pm_kind, only: TKC => RK1
723 : #include "pm_sampleACT@routines.inc.F90"
724 0 : end procedure
725 : #endif
726 :
727 : #undef RK_ENABLED
728 :
729 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
730 :
731 : #undef D1_ENABLED
732 :
733 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
734 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
735 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
736 :
737 : #undef WTI_ENABLED
738 :
739 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
740 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
741 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
742 :
743 : #undef BMM_ENABLED
744 :
745 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
746 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
747 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
748 :
749 : #undef getACT_ENABLED
750 :
751 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
752 :
753 : #undef CHECK_ASSERTION
754 :
755 : end submodule routines
|