ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_sampleVar.F90
Go to the documentation of this file.
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
391
392!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
393
395
396 use pm_kind, only: SK, IK, LK
400
401 implicit none
402
403 character(*, SK), parameter :: MODULE_NAME = "@pm_sampleVar"
404
405!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
406
480
482
483 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
484
485#if RK5_ENABLED
486 PURE elemental module function getVarCorrectionFreq_RK5(weisum) result(correction)
487#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
488 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionFreq_RK5
489#endif
490 use pm_kind, only: TKG => RK5
491 real(TKG) , intent(in) :: weisum
492 real(TKG) :: correction
493 end function
494#endif
495
496#if RK4_ENABLED
497 PURE elemental module function getVarCorrectionFreq_RK4(weisum) result(correction)
498#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
499 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionFreq_RK4
500#endif
501 use pm_kind, only: TKG => RK4
502 real(TKG) , intent(in) :: weisum
503 real(TKG) :: correction
504 end function
505#endif
506
507#if RK3_ENABLED
508 PURE elemental module function getVarCorrectionFreq_RK3(weisum) result(correction)
509#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
510 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionFreq_RK3
511#endif
512 use pm_kind, only: TKG => RK3
513 real(TKG) , intent(in) :: weisum
514 real(TKG) :: correction
515 end function
516#endif
517
518#if RK2_ENABLED
519 PURE elemental module function getVarCorrectionFreq_RK2(weisum) result(correction)
520#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
521 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionFreq_RK2
522#endif
523 use pm_kind, only: TKG => RK2
524 real(TKG) , intent(in) :: weisum
525 real(TKG) :: correction
526 end function
527#endif
528
529#if RK1_ENABLED
530 PURE elemental module function getVarCorrectionFreq_RK1(weisum) result(correction)
531#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
532 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionFreq_RK1
533#endif
534 use pm_kind, only: TKG => RK1
535 real(TKG) , intent(in) :: weisum
536 real(TKG) :: correction
537 end function
538#endif
539
540 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
541
542#if RK5_ENABLED
543 PURE elemental module function getVarCorrectionReli_RK5(weisum, weisqs) result(correction)
544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
545 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionReli_RK5
546#endif
547 use pm_kind, only: TKG => RK5
548 real(TKG) , intent(in) :: weisum, weisqs
549 real(TKG) :: correction
550 end function
551#endif
552
553#if RK4_ENABLED
554 PURE elemental module function getVarCorrectionReli_RK4(weisum, weisqs) result(correction)
555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
556 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionReli_RK4
557#endif
558 use pm_kind, only: TKG => RK4
559 real(TKG) , intent(in) :: weisum, weisqs
560 real(TKG) :: correction
561 end function
562#endif
563
564#if RK3_ENABLED
565 PURE elemental module function getVarCorrectionReli_RK3(weisum, weisqs) result(correction)
566#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
567 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionReli_RK3
568#endif
569 use pm_kind, only: TKG => RK3
570 real(TKG) , intent(in) :: weisum, weisqs
571 real(TKG) :: correction
572 end function
573#endif
574
575#if RK2_ENABLED
576 PURE elemental module function getVarCorrectionReli_RK2(weisum, weisqs) result(correction)
577#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
578 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionReli_RK2
579#endif
580 use pm_kind, only: TKG => RK2
581 real(TKG) , intent(in) :: weisum, weisqs
582 real(TKG) :: correction
583 end function
584#endif
585
586#if RK1_ENABLED
587 PURE elemental module function getVarCorrectionReli_RK1(weisum, weisqs) result(correction)
588#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
589 !DEC$ ATTRIBUTES DLLEXPORT :: getVarCorrectionReli_RK1
590#endif
591 use pm_kind, only: TKG => RK1
592 real(TKG) , intent(in) :: weisum, weisqs
593 real(TKG) :: correction
594 end function
595#endif
596
597 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
598
599 end interface
600
601!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
602
712
713 ! ALL D1
714
715 interface getVar
716
717 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
718 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
719 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
720
721 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
722
723#if CK5_ENABLED
724 PURE module function getVarALL_WNO_D1_CK5(sample, correction) result(var)
725#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
726 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_CK5
727#endif
728 use pm_kind, only: TKG => CK5
729 class(weight_type) , intent(in) , optional :: correction
730 complex(TKG) , intent(in) , contiguous :: sample(:)
731 real(TKG) :: var
732 end function
733#endif
734
735#if CK4_ENABLED
736 PURE module function getVarALL_WNO_D1_CK4(sample, correction) result(var)
737#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
738 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_CK4
739#endif
740 use pm_kind, only: TKG => CK4
741 class(weight_type) , intent(in) , optional :: correction
742 complex(TKG) , intent(in) , contiguous :: sample(:)
743 real(TKG) :: var
744 end function
745#endif
746
747#if CK3_ENABLED
748 PURE module function getVarALL_WNO_D1_CK3(sample, correction) result(var)
749#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
750 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_CK3
751#endif
752 use pm_kind, only: TKG => CK3
753 class(weight_type) , intent(in) , optional :: correction
754 complex(TKG) , intent(in) , contiguous :: sample(:)
755 real(TKG) :: var
756 end function
757#endif
758
759#if CK2_ENABLED
760 PURE module function getVarALL_WNO_D1_CK2(sample, correction) result(var)
761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
762 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_CK2
763#endif
764 use pm_kind, only: TKG => CK2
765 class(weight_type) , intent(in) , optional :: correction
766 complex(TKG) , intent(in) , contiguous :: sample(:)
767 real(TKG) :: var
768 end function
769#endif
770
771#if CK1_ENABLED
772 PURE module function getVarALL_WNO_D1_CK1(sample, correction) result(var)
773#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
774 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_CK1
775#endif
776 use pm_kind, only: TKG => CK1
777 class(weight_type) , intent(in) , optional :: correction
778 complex(TKG) , intent(in) , contiguous :: sample(:)
779 real(TKG) :: var
780 end function
781#endif
782
783 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
784
785#if RK5_ENABLED
786 PURE module function getVarALL_WNO_D1_RK5(sample, correction) result(var)
787#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
788 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_RK5
789#endif
790 use pm_kind, only: TKG => RK5
791 class(weight_type) , intent(in) , optional :: correction
792 real(TKG) , intent(in) , contiguous :: sample(:)
793 real(TKG) :: var
794 end function
795#endif
796
797#if RK4_ENABLED
798 PURE module function getVarALL_WNO_D1_RK4(sample, correction) result(var)
799#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
800 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_RK4
801#endif
802 use pm_kind, only: TKG => RK4
803 class(weight_type) , intent(in) , optional :: correction
804 real(TKG) , intent(in) , contiguous :: sample(:)
805 real(TKG) :: var
806 end function
807#endif
808
809#if RK3_ENABLED
810 PURE module function getVarALL_WNO_D1_RK3(sample, correction) result(var)
811#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
812 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_RK3
813#endif
814 use pm_kind, only: TKG => RK3
815 class(weight_type) , intent(in) , optional :: correction
816 real(TKG) , intent(in) , contiguous :: sample(:)
817 real(TKG) :: var
818 end function
819#endif
820
821#if RK2_ENABLED
822 PURE module function getVarALL_WNO_D1_RK2(sample, correction) result(var)
823#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
824 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_RK2
825#endif
826 use pm_kind, only: TKG => RK2
827 class(weight_type) , intent(in) , optional :: correction
828 real(TKG) , intent(in) , contiguous :: sample(:)
829 real(TKG) :: var
830 end function
831#endif
832
833#if RK1_ENABLED
834 PURE module function getVarALL_WNO_D1_RK1(sample, correction) result(var)
835#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
836 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D1_RK1
837#endif
838 use pm_kind, only: TKG => RK1
839 class(weight_type) , intent(in) , optional :: correction
840 real(TKG) , intent(in) , contiguous :: sample(:)
841 real(TKG) :: var
842 end function
843#endif
844
845 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
846
847 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
848 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
849 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
850
851 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
852
853#if CK5_ENABLED
854 PURE module function getVarALL_WTI_D1_CK5(sample, weight, correction) result(var)
855#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
856 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_CK5
857#endif
858 use pm_kind, only: TKG => CK5
859 class(weight_type) , intent(in) , optional :: correction
860 integer(IK) , intent(in) , contiguous :: weight(:)
861 complex(TKG) , intent(in) , contiguous :: sample(:)
862 real(TKG) :: var
863 end function
864#endif
865
866#if CK4_ENABLED
867 PURE module function getVarALL_WTI_D1_CK4(sample, weight, correction) result(var)
868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
869 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_CK4
870#endif
871 use pm_kind, only: TKG => CK4
872 class(weight_type) , intent(in) , optional :: correction
873 integer(IK) , intent(in) , contiguous :: weight(:)
874 complex(TKG) , intent(in) , contiguous :: sample(:)
875 real(TKG) :: var
876 end function
877#endif
878
879#if CK3_ENABLED
880 PURE module function getVarALL_WTI_D1_CK3(sample, weight, correction) result(var)
881#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
882 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_CK3
883#endif
884 use pm_kind, only: TKG => CK3
885 class(weight_type) , intent(in) , optional :: correction
886 integer(IK) , intent(in) , contiguous :: weight(:)
887 complex(TKG) , intent(in) , contiguous :: sample(:)
888 real(TKG) :: var
889 end function
890#endif
891
892#if CK2_ENABLED
893 PURE module function getVarALL_WTI_D1_CK2(sample, weight, correction) result(var)
894#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
895 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_CK2
896#endif
897 use pm_kind, only: TKG => CK2
898 class(weight_type) , intent(in) , optional :: correction
899 integer(IK) , intent(in) , contiguous :: weight(:)
900 complex(TKG) , intent(in) , contiguous :: sample(:)
901 real(TKG) :: var
902 end function
903#endif
904
905#if CK1_ENABLED
906 PURE module function getVarALL_WTI_D1_CK1(sample, weight, correction) result(var)
907#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
908 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_CK1
909#endif
910 use pm_kind, only: TKG => CK1
911 class(weight_type) , intent(in) , optional :: correction
912 integer(IK) , intent(in) , contiguous :: weight(:)
913 complex(TKG) , intent(in) , contiguous :: sample(:)
914 real(TKG) :: var
915 end function
916#endif
917
918 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
919
920#if RK5_ENABLED
921 PURE module function getVarALL_WTI_D1_RK5(sample, weight, correction) result(var)
922#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
923 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_RK5
924#endif
925 use pm_kind, only: TKG => RK5
926 class(weight_type) , intent(in) , optional :: correction
927 integer(IK) , intent(in) , contiguous :: weight(:)
928 real(TKG) , intent(in) , contiguous :: sample(:)
929 real(TKG) :: var
930 end function
931#endif
932
933#if RK4_ENABLED
934 PURE module function getVarALL_WTI_D1_RK4(sample, weight, correction) result(var)
935#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
936 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_RK4
937#endif
938 use pm_kind, only: TKG => RK4
939 class(weight_type) , intent(in) , optional :: correction
940 integer(IK) , intent(in) , contiguous :: weight(:)
941 real(TKG) , intent(in) , contiguous :: sample(:)
942 real(TKG) :: var
943 end function
944#endif
945
946#if RK3_ENABLED
947 PURE module function getVarALL_WTI_D1_RK3(sample, weight, correction) result(var)
948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
949 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_RK3
950#endif
951 use pm_kind, only: TKG => RK3
952 class(weight_type) , intent(in) , optional :: correction
953 integer(IK) , intent(in) , contiguous :: weight(:)
954 real(TKG) , intent(in) , contiguous :: sample(:)
955 real(TKG) :: var
956 end function
957#endif
958
959#if RK2_ENABLED
960 PURE module function getVarALL_WTI_D1_RK2(sample, weight, correction) result(var)
961#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
962 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_RK2
963#endif
964 use pm_kind, only: TKG => RK2
965 class(weight_type) , intent(in) , optional :: correction
966 integer(IK) , intent(in) , contiguous :: weight(:)
967 real(TKG) , intent(in) , contiguous :: sample(:)
968 real(TKG) :: var
969 end function
970#endif
971
972#if RK1_ENABLED
973 PURE module function getVarALL_WTI_D1_RK1(sample, weight, correction) result(var)
974#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
975 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D1_RK1
976#endif
977 use pm_kind, only: TKG => RK1
978 class(weight_type) , intent(in) , optional :: correction
979 integer(IK) , intent(in) , contiguous :: weight(:)
980 real(TKG) , intent(in) , contiguous :: sample(:)
981 real(TKG) :: var
982 end function
983#endif
984
985 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
986
987 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
988 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
989 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
990
991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
992
993#if CK5_ENABLED
994 PURE module function getVarALL_WTR_D1_CK5(sample, weight, correction) result(var)
995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
996 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_CK5
997#endif
998 use pm_kind, only: TKG => CK5
999 class(weight_type) , intent(in) , optional :: correction
1000 real(TKG) , intent(in) , contiguous :: weight(:)
1001 complex(TKG) , intent(in) , contiguous :: sample(:)
1002 real(TKG) :: var
1003 end function
1004#endif
1005
1006#if CK4_ENABLED
1007 PURE module function getVarALL_WTR_D1_CK4(sample, weight, correction) result(var)
1008#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1009 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_CK4
1010#endif
1011 use pm_kind, only: TKG => CK4
1012 class(weight_type) , intent(in) , optional :: correction
1013 real(TKG) , intent(in) , contiguous :: weight(:)
1014 complex(TKG) , intent(in) , contiguous :: sample(:)
1015 real(TKG) :: var
1016 end function
1017#endif
1018
1019#if CK3_ENABLED
1020 PURE module function getVarALL_WTR_D1_CK3(sample, weight, correction) result(var)
1021#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1022 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_CK3
1023#endif
1024 use pm_kind, only: TKG => CK3
1025 class(weight_type) , intent(in) , optional :: correction
1026 real(TKG) , intent(in) , contiguous :: weight(:)
1027 complex(TKG) , intent(in) , contiguous :: sample(:)
1028 real(TKG) :: var
1029 end function
1030#endif
1031
1032#if CK2_ENABLED
1033 PURE module function getVarALL_WTR_D1_CK2(sample, weight, correction) result(var)
1034#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1035 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_CK2
1036#endif
1037 use pm_kind, only: TKG => CK2
1038 class(weight_type) , intent(in) , optional :: correction
1039 real(TKG) , intent(in) , contiguous :: weight(:)
1040 complex(TKG) , intent(in) , contiguous :: sample(:)
1041 real(TKG) :: var
1042 end function
1043#endif
1044
1045#if CK1_ENABLED
1046 PURE module function getVarALL_WTR_D1_CK1(sample, weight, correction) result(var)
1047#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1048 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_CK1
1049#endif
1050 use pm_kind, only: TKG => CK1
1051 class(weight_type) , intent(in) , optional :: correction
1052 real(TKG) , intent(in) , contiguous :: weight(:)
1053 complex(TKG) , intent(in) , contiguous :: sample(:)
1054 real(TKG) :: var
1055 end function
1056#endif
1057
1058 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1059
1060#if RK5_ENABLED
1061 PURE module function getVarALL_WTR_D1_RK5(sample, weight, correction) result(var)
1062#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1063 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_RK5
1064#endif
1065 use pm_kind, only: TKG => RK5
1066 class(weight_type) , intent(in) , optional :: correction
1067 real(TKG) , intent(in) , contiguous :: weight(:)
1068 real(TKG) , intent(in) , contiguous :: sample(:)
1069 real(TKG) :: var
1070 end function
1071#endif
1072
1073#if RK4_ENABLED
1074 PURE module function getVarALL_WTR_D1_RK4(sample, weight, correction) result(var)
1075#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1076 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_RK4
1077#endif
1078 use pm_kind, only: TKG => RK4
1079 class(weight_type) , intent(in) , optional :: correction
1080 real(TKG) , intent(in) , contiguous :: weight(:)
1081 real(TKG) , intent(in) , contiguous :: sample(:)
1082 real(TKG) :: var
1083 end function
1084#endif
1085
1086#if RK3_ENABLED
1087 PURE module function getVarALL_WTR_D1_RK3(sample, weight, correction) result(var)
1088#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1089 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_RK3
1090#endif
1091 use pm_kind, only: TKG => RK3
1092 class(weight_type) , intent(in) , optional :: correction
1093 real(TKG) , intent(in) , contiguous :: weight(:)
1094 real(TKG) , intent(in) , contiguous :: sample(:)
1095 real(TKG) :: var
1096 end function
1097#endif
1098
1099#if RK2_ENABLED
1100 PURE module function getVarALL_WTR_D1_RK2(sample, weight, correction) result(var)
1101#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1102 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_RK2
1103#endif
1104 use pm_kind, only: TKG => RK2
1105 class(weight_type) , intent(in) , optional :: correction
1106 real(TKG) , intent(in) , contiguous :: weight(:)
1107 real(TKG) , intent(in) , contiguous :: sample(:)
1108 real(TKG) :: var
1109 end function
1110#endif
1111
1112#if RK1_ENABLED
1113 PURE module function getVarALL_WTR_D1_RK1(sample, weight, correction) result(var)
1114#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1115 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D1_RK1
1116#endif
1117 use pm_kind, only: TKG => RK1
1118 class(weight_type) , intent(in) , optional :: correction
1119 real(TKG) , intent(in) , contiguous :: weight(:)
1120 real(TKG) , intent(in) , contiguous :: sample(:)
1121 real(TKG) :: var
1122 end function
1123#endif
1124
1125 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1126
1127 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1128 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1129 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1130
1131 end interface getVar
1132
1133 ! ALL D2
1134
1135 interface getVar
1136
1137 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1138 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1139 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1140
1141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1142
1143#if CK5_ENABLED
1144 PURE module function getVarALL_WNO_D2_CK5(sample, correction) result(var)
1145#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1146 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_CK5
1147#endif
1148 use pm_kind, only: TKG => CK5
1149 class(weight_type) , intent(in) , optional :: correction
1150 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1151 real(TKG) :: var
1152 end function
1153#endif
1154
1155#if CK4_ENABLED
1156 PURE module function getVarALL_WNO_D2_CK4(sample, correction) result(var)
1157#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1158 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_CK4
1159#endif
1160 use pm_kind, only: TKG => CK4
1161 class(weight_type) , intent(in) , optional :: correction
1162 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1163 real(TKG) :: var
1164 end function
1165#endif
1166
1167#if CK3_ENABLED
1168 PURE module function getVarALL_WNO_D2_CK3(sample, correction) result(var)
1169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1170 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_CK3
1171#endif
1172 use pm_kind, only: TKG => CK3
1173 class(weight_type) , intent(in) , optional :: correction
1174 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1175 real(TKG) :: var
1176 end function
1177#endif
1178
1179#if CK2_ENABLED
1180 PURE module function getVarALL_WNO_D2_CK2(sample, correction) result(var)
1181#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1182 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_CK2
1183#endif
1184 use pm_kind, only: TKG => CK2
1185 class(weight_type) , intent(in) , optional :: correction
1186 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1187 real(TKG) :: var
1188 end function
1189#endif
1190
1191#if CK1_ENABLED
1192 PURE module function getVarALL_WNO_D2_CK1(sample, correction) result(var)
1193#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1194 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_CK1
1195#endif
1196 use pm_kind, only: TKG => CK1
1197 class(weight_type) , intent(in) , optional :: correction
1198 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1199 real(TKG) :: var
1200 end function
1201#endif
1202
1203 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1204
1205#if RK5_ENABLED
1206 PURE module function getVarALL_WNO_D2_RK5(sample, correction) result(var)
1207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1208 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_RK5
1209#endif
1210 use pm_kind, only: TKG => RK5
1211 class(weight_type) , intent(in) , optional :: correction
1212 real(TKG) , intent(in) , contiguous :: sample(:,:)
1213 real(TKG) :: var
1214 end function
1215#endif
1216
1217#if RK4_ENABLED
1218 PURE module function getVarALL_WNO_D2_RK4(sample, correction) result(var)
1219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1220 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_RK4
1221#endif
1222 use pm_kind, only: TKG => RK4
1223 class(weight_type) , intent(in) , optional :: correction
1224 real(TKG) , intent(in) , contiguous :: sample(:,:)
1225 real(TKG) :: var
1226 end function
1227#endif
1228
1229#if RK3_ENABLED
1230 PURE module function getVarALL_WNO_D2_RK3(sample, correction) result(var)
1231#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1232 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_RK3
1233#endif
1234 use pm_kind, only: TKG => RK3
1235 class(weight_type) , intent(in) , optional :: correction
1236 real(TKG) , intent(in) , contiguous :: sample(:,:)
1237 real(TKG) :: var
1238 end function
1239#endif
1240
1241#if RK2_ENABLED
1242 PURE module function getVarALL_WNO_D2_RK2(sample, correction) result(var)
1243#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1244 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_RK2
1245#endif
1246 use pm_kind, only: TKG => RK2
1247 class(weight_type) , intent(in) , optional :: correction
1248 real(TKG) , intent(in) , contiguous :: sample(:,:)
1249 real(TKG) :: var
1250 end function
1251#endif
1252
1253#if RK1_ENABLED
1254 PURE module function getVarALL_WNO_D2_RK1(sample, correction) result(var)
1255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1256 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WNO_D2_RK1
1257#endif
1258 use pm_kind, only: TKG => RK1
1259 class(weight_type) , intent(in) , optional :: correction
1260 real(TKG) , intent(in) , contiguous :: sample(:,:)
1261 real(TKG) :: var
1262 end function
1263#endif
1264
1265 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1266
1267 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1268 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1269 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1270
1271 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1272
1273#if CK5_ENABLED
1274 PURE module function getVarALL_WTI_D2_CK5(sample, weight, correction) result(var)
1275#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1276 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_CK5
1277#endif
1278 use pm_kind, only: TKG => CK5
1279 class(weight_type) , intent(in) , optional :: correction
1280 integer(IK) , intent(in) , contiguous :: weight(:)
1281 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1282 real(TKG) :: var
1283 end function
1284#endif
1285
1286#if CK4_ENABLED
1287 PURE module function getVarALL_WTI_D2_CK4(sample, weight, correction) result(var)
1288#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1289 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_CK4
1290#endif
1291 use pm_kind, only: TKG => CK4
1292 class(weight_type) , intent(in) , optional :: correction
1293 integer(IK) , intent(in) , contiguous :: weight(:)
1294 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1295 real(TKG) :: var
1296 end function
1297#endif
1298
1299#if CK3_ENABLED
1300 PURE module function getVarALL_WTI_D2_CK3(sample, weight, correction) result(var)
1301#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1302 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_CK3
1303#endif
1304 use pm_kind, only: TKG => CK3
1305 class(weight_type) , intent(in) , optional :: correction
1306 integer(IK) , intent(in) , contiguous :: weight(:)
1307 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1308 real(TKG) :: var
1309 end function
1310#endif
1311
1312#if CK2_ENABLED
1313 PURE module function getVarALL_WTI_D2_CK2(sample, weight, correction) result(var)
1314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1315 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_CK2
1316#endif
1317 use pm_kind, only: TKG => CK2
1318 class(weight_type) , intent(in) , optional :: correction
1319 integer(IK) , intent(in) , contiguous :: weight(:)
1320 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1321 real(TKG) :: var
1322 end function
1323#endif
1324
1325#if CK1_ENABLED
1326 PURE module function getVarALL_WTI_D2_CK1(sample, weight, correction) result(var)
1327#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1328 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_CK1
1329#endif
1330 use pm_kind, only: TKG => CK1
1331 class(weight_type) , intent(in) , optional :: correction
1332 integer(IK) , intent(in) , contiguous :: weight(:)
1333 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1334 real(TKG) :: var
1335 end function
1336#endif
1337
1338 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1339
1340#if RK5_ENABLED
1341 PURE module function getVarALL_WTI_D2_RK5(sample, weight, correction) result(var)
1342#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1343 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_RK5
1344#endif
1345 use pm_kind, only: TKG => RK5
1346 class(weight_type) , intent(in) , optional :: correction
1347 integer(IK) , intent(in) , contiguous :: weight(:)
1348 real(TKG) , intent(in) , contiguous :: sample(:,:)
1349 real(TKG) :: var
1350 end function
1351#endif
1352
1353#if RK4_ENABLED
1354 PURE module function getVarALL_WTI_D2_RK4(sample, weight, correction) result(var)
1355#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1356 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_RK4
1357#endif
1358 use pm_kind, only: TKG => RK4
1359 class(weight_type) , intent(in) , optional :: correction
1360 integer(IK) , intent(in) , contiguous :: weight(:)
1361 real(TKG) , intent(in) , contiguous :: sample(:,:)
1362 real(TKG) :: var
1363 end function
1364#endif
1365
1366#if RK3_ENABLED
1367 PURE module function getVarALL_WTI_D2_RK3(sample, weight, correction) result(var)
1368#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1369 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_RK3
1370#endif
1371 use pm_kind, only: TKG => RK3
1372 class(weight_type) , intent(in) , optional :: correction
1373 integer(IK) , intent(in) , contiguous :: weight(:)
1374 real(TKG) , intent(in) , contiguous :: sample(:,:)
1375 real(TKG) :: var
1376 end function
1377#endif
1378
1379#if RK2_ENABLED
1380 PURE module function getVarALL_WTI_D2_RK2(sample, weight, correction) result(var)
1381#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1382 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_RK2
1383#endif
1384 use pm_kind, only: TKG => RK2
1385 class(weight_type) , intent(in) , optional :: correction
1386 integer(IK) , intent(in) , contiguous :: weight(:)
1387 real(TKG) , intent(in) , contiguous :: sample(:,:)
1388 real(TKG) :: var
1389 end function
1390#endif
1391
1392#if RK1_ENABLED
1393 PURE module function getVarALL_WTI_D2_RK1(sample, weight, correction) result(var)
1394#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1395 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTI_D2_RK1
1396#endif
1397 use pm_kind, only: TKG => RK1
1398 class(weight_type) , intent(in) , optional :: correction
1399 integer(IK) , intent(in) , contiguous :: weight(:)
1400 real(TKG) , intent(in) , contiguous :: sample(:,:)
1401 real(TKG) :: var
1402 end function
1403#endif
1404
1405 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1406
1407 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1408 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1409 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1410
1411 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1412
1413#if CK5_ENABLED
1414 PURE module function getVarALL_WTR_D2_CK5(sample, weight, correction) result(var)
1415#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1416 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_CK5
1417#endif
1418 use pm_kind, only: TKG => CK5
1419 class(weight_type) , intent(in) , optional :: correction
1420 real(TKG) , intent(in) , contiguous :: weight(:)
1421 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1422 real(TKG) :: var
1423 end function
1424#endif
1425
1426#if CK4_ENABLED
1427 PURE module function getVarALL_WTR_D2_CK4(sample, weight, correction) result(var)
1428#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1429 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_CK4
1430#endif
1431 use pm_kind, only: TKG => CK4
1432 class(weight_type) , intent(in) , optional :: correction
1433 real(TKG) , intent(in) , contiguous :: weight(:)
1434 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1435 real(TKG) :: var
1436 end function
1437#endif
1438
1439#if CK3_ENABLED
1440 PURE module function getVarALL_WTR_D2_CK3(sample, weight, correction) result(var)
1441#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1442 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_CK3
1443#endif
1444 use pm_kind, only: TKG => CK3
1445 class(weight_type) , intent(in) , optional :: correction
1446 real(TKG) , intent(in) , contiguous :: weight(:)
1447 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1448 real(TKG) :: var
1449 end function
1450#endif
1451
1452#if CK2_ENABLED
1453 PURE module function getVarALL_WTR_D2_CK2(sample, weight, correction) result(var)
1454#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1455 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_CK2
1456#endif
1457 use pm_kind, only: TKG => CK2
1458 class(weight_type) , intent(in) , optional :: correction
1459 real(TKG) , intent(in) , contiguous :: weight(:)
1460 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1461 real(TKG) :: var
1462 end function
1463#endif
1464
1465#if CK1_ENABLED
1466 PURE module function getVarALL_WTR_D2_CK1(sample, weight, correction) result(var)
1467#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1468 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_CK1
1469#endif
1470 use pm_kind, only: TKG => CK1
1471 class(weight_type) , intent(in) , optional :: correction
1472 real(TKG) , intent(in) , contiguous :: weight(:)
1473 complex(TKG) , intent(in) , contiguous :: sample(:,:)
1474 real(TKG) :: var
1475 end function
1476#endif
1477
1478 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1479
1480#if RK5_ENABLED
1481 PURE module function getVarALL_WTR_D2_RK5(sample, weight, correction) result(var)
1482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1483 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_RK5
1484#endif
1485 use pm_kind, only: TKG => RK5
1486 class(weight_type) , intent(in) , optional :: correction
1487 real(TKG) , intent(in) , contiguous :: weight(:)
1488 real(TKG) , intent(in) , contiguous :: sample(:,:)
1489 real(TKG) :: var
1490 end function
1491#endif
1492
1493#if RK4_ENABLED
1494 PURE module function getVarALL_WTR_D2_RK4(sample, weight, correction) result(var)
1495#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1496 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_RK4
1497#endif
1498 use pm_kind, only: TKG => RK4
1499 class(weight_type) , intent(in) , optional :: correction
1500 real(TKG) , intent(in) , contiguous :: weight(:)
1501 real(TKG) , intent(in) , contiguous :: sample(:,:)
1502 real(TKG) :: var
1503 end function
1504#endif
1505
1506#if RK3_ENABLED
1507 PURE module function getVarALL_WTR_D2_RK3(sample, weight, correction) result(var)
1508#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1509 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_RK3
1510#endif
1511 use pm_kind, only: TKG => RK3
1512 class(weight_type) , intent(in) , optional :: correction
1513 real(TKG) , intent(in) , contiguous :: weight(:)
1514 real(TKG) , intent(in) , contiguous :: sample(:,:)
1515 real(TKG) :: var
1516 end function
1517#endif
1518
1519#if RK2_ENABLED
1520 PURE module function getVarALL_WTR_D2_RK2(sample, weight, correction) result(var)
1521#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1522 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_RK2
1523#endif
1524 use pm_kind, only: TKG => RK2
1525 class(weight_type) , intent(in) , optional :: correction
1526 real(TKG) , intent(in) , contiguous :: weight(:)
1527 real(TKG) , intent(in) , contiguous :: sample(:,:)
1528 real(TKG) :: var
1529 end function
1530#endif
1531
1532#if RK1_ENABLED
1533 PURE module function getVarALL_WTR_D2_RK1(sample, weight, correction) result(var)
1534#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1535 !DEC$ ATTRIBUTES DLLEXPORT :: getVarALL_WTR_D2_RK1
1536#endif
1537 use pm_kind, only: TKG => RK1
1538 class(weight_type) , intent(in) , optional :: correction
1539 real(TKG) , intent(in) , contiguous :: weight(:)
1540 real(TKG) , intent(in) , contiguous :: sample(:,:)
1541 real(TKG) :: var
1542 end function
1543#endif
1544
1545 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1546
1547 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1548 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1549 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1550
1551 end interface getVar
1552
1553 ! DIM D1
1554
1555 interface getVar
1556
1557 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1559 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1560
1561 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1562
1563#if CK5_ENABLED
1564 PURE module function getVarDIM_WNO_D1_CK5(sample, dim, correction) result(var)
1565#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1566 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_CK5
1567#endif
1568 use pm_kind, only: TKG => CK5
1569 integer(IK) , intent(in) :: dim
1570 class(weight_type) , intent(in) , optional :: correction
1571 complex(TKG) , intent(in) , contiguous :: sample(:)
1572 real(TKG) :: var
1573 end function
1574#endif
1575
1576#if CK4_ENABLED
1577 PURE module function getVarDIM_WNO_D1_CK4(sample, dim, correction) result(var)
1578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1579 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_CK4
1580#endif
1581 use pm_kind, only: TKG => CK4
1582 integer(IK) , intent(in) :: dim
1583 class(weight_type) , intent(in) , optional :: correction
1584 complex(TKG) , intent(in) , contiguous :: sample(:)
1585 real(TKG) :: var
1586 end function
1587#endif
1588
1589#if CK3_ENABLED
1590 PURE module function getVarDIM_WNO_D1_CK3(sample, dim, correction) result(var)
1591#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1592 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_CK3
1593#endif
1594 use pm_kind, only: TKG => CK3
1595 integer(IK) , intent(in) :: dim
1596 class(weight_type) , intent(in) , optional :: correction
1597 complex(TKG) , intent(in) , contiguous :: sample(:)
1598 real(TKG) :: var
1599 end function
1600#endif
1601
1602#if CK2_ENABLED
1603 PURE module function getVarDIM_WNO_D1_CK2(sample, dim, correction) result(var)
1604#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1605 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_CK2
1606#endif
1607 use pm_kind, only: TKG => CK2
1608 integer(IK) , intent(in) :: dim
1609 class(weight_type) , intent(in) , optional :: correction
1610 complex(TKG) , intent(in) , contiguous :: sample(:)
1611 real(TKG) :: var
1612 end function
1613#endif
1614
1615#if CK1_ENABLED
1616 PURE module function getVarDIM_WNO_D1_CK1(sample, dim, correction) result(var)
1617#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1618 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_CK1
1619#endif
1620 use pm_kind, only: TKG => CK1
1621 integer(IK) , intent(in) :: dim
1622 class(weight_type) , intent(in) , optional :: correction
1623 complex(TKG) , intent(in) , contiguous :: sample(:)
1624 real(TKG) :: var
1625 end function
1626#endif
1627
1628 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1629
1630#if RK5_ENABLED
1631 PURE module function getVarDIM_WNO_D1_RK5(sample, dim, correction) result(var)
1632#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1633 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_RK5
1634#endif
1635 use pm_kind, only: TKG => RK5
1636 integer(IK) , intent(in) :: dim
1637 class(weight_type) , intent(in) , optional :: correction
1638 real(TKG) , intent(in) , contiguous :: sample(:)
1639 real(TKG) :: var
1640 end function
1641#endif
1642
1643#if RK4_ENABLED
1644 PURE module function getVarDIM_WNO_D1_RK4(sample, dim, correction) result(var)
1645#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1646 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_RK4
1647#endif
1648 use pm_kind, only: TKG => RK4
1649 integer(IK) , intent(in) :: dim
1650 class(weight_type) , intent(in) , optional :: correction
1651 real(TKG) , intent(in) , contiguous :: sample(:)
1652 real(TKG) :: var
1653 end function
1654#endif
1655
1656#if RK3_ENABLED
1657 PURE module function getVarDIM_WNO_D1_RK3(sample, dim, correction) result(var)
1658#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1659 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_RK3
1660#endif
1661 use pm_kind, only: TKG => RK3
1662 integer(IK) , intent(in) :: dim
1663 class(weight_type) , intent(in) , optional :: correction
1664 real(TKG) , intent(in) , contiguous :: sample(:)
1665 real(TKG) :: var
1666 end function
1667#endif
1668
1669#if RK2_ENABLED
1670 PURE module function getVarDIM_WNO_D1_RK2(sample, dim, correction) result(var)
1671#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1672 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_RK2
1673#endif
1674 use pm_kind, only: TKG => RK2
1675 integer(IK) , intent(in) :: dim
1676 class(weight_type) , intent(in) , optional :: correction
1677 real(TKG) , intent(in) , contiguous :: sample(:)
1678 real(TKG) :: var
1679 end function
1680#endif
1681
1682#if RK1_ENABLED
1683 PURE module function getVarDIM_WNO_D1_RK1(sample, dim, correction) result(var)
1684#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1685 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D1_RK1
1686#endif
1687 use pm_kind, only: TKG => RK1
1688 integer(IK) , intent(in) :: dim
1689 class(weight_type) , intent(in) , optional :: correction
1690 real(TKG) , intent(in) , contiguous :: sample(:)
1691 real(TKG) :: var
1692 end function
1693#endif
1694
1695 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1696
1697 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1698 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1699 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1700
1701 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1702
1703#if CK5_ENABLED
1704 PURE module function getVarDIM_WTI_D1_CK5(sample, dim, weight, correction) result(var)
1705#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1706 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_CK5
1707#endif
1708 use pm_kind, only: TKG => CK5
1709 integer(IK) , intent(in) :: dim
1710 class(weight_type) , intent(in) , optional :: correction
1711 integer(IK) , intent(in) , contiguous :: weight(:)
1712 complex(TKG) , intent(in) , contiguous :: sample(:)
1713 real(TKG) :: var
1714 end function
1715#endif
1716
1717#if CK4_ENABLED
1718 PURE module function getVarDIM_WTI_D1_CK4(sample, dim, weight, correction) result(var)
1719#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1720 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_CK4
1721#endif
1722 use pm_kind, only: TKG => CK4
1723 integer(IK) , intent(in) :: dim
1724 class(weight_type) , intent(in) , optional :: correction
1725 integer(IK) , intent(in) , contiguous :: weight(:)
1726 complex(TKG) , intent(in) , contiguous :: sample(:)
1727 real(TKG) :: var
1728 end function
1729#endif
1730
1731#if CK3_ENABLED
1732 PURE module function getVarDIM_WTI_D1_CK3(sample, dim, weight, correction) result(var)
1733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1734 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_CK3
1735#endif
1736 use pm_kind, only: TKG => CK3
1737 integer(IK) , intent(in) :: dim
1738 class(weight_type) , intent(in) , optional :: correction
1739 integer(IK) , intent(in) , contiguous :: weight(:)
1740 complex(TKG) , intent(in) , contiguous :: sample(:)
1741 real(TKG) :: var
1742 end function
1743#endif
1744
1745#if CK2_ENABLED
1746 PURE module function getVarDIM_WTI_D1_CK2(sample, dim, weight, correction) result(var)
1747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1748 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_CK2
1749#endif
1750 use pm_kind, only: TKG => CK2
1751 integer(IK) , intent(in) :: dim
1752 class(weight_type) , intent(in) , optional :: correction
1753 integer(IK) , intent(in) , contiguous :: weight(:)
1754 complex(TKG) , intent(in) , contiguous :: sample(:)
1755 real(TKG) :: var
1756 end function
1757#endif
1758
1759#if CK1_ENABLED
1760 PURE module function getVarDIM_WTI_D1_CK1(sample, dim, weight, correction) result(var)
1761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1762 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_CK1
1763#endif
1764 use pm_kind, only: TKG => CK1
1765 integer(IK) , intent(in) :: dim
1766 class(weight_type) , intent(in) , optional :: correction
1767 integer(IK) , intent(in) , contiguous :: weight(:)
1768 complex(TKG) , intent(in) , contiguous :: sample(:)
1769 real(TKG) :: var
1770 end function
1771#endif
1772
1773 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1774
1775#if RK5_ENABLED
1776 PURE module function getVarDIM_WTI_D1_RK5(sample, dim, weight, correction) result(var)
1777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1778 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_RK5
1779#endif
1780 use pm_kind, only: TKG => RK5
1781 integer(IK) , intent(in) :: dim
1782 class(weight_type) , intent(in) , optional :: correction
1783 integer(IK) , intent(in) , contiguous :: weight(:)
1784 real(TKG) , intent(in) , contiguous :: sample(:)
1785 real(TKG) :: var
1786 end function
1787#endif
1788
1789#if RK4_ENABLED
1790 PURE module function getVarDIM_WTI_D1_RK4(sample, dim, weight, correction) result(var)
1791#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1792 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_RK4
1793#endif
1794 use pm_kind, only: TKG => RK4
1795 integer(IK) , intent(in) :: dim
1796 class(weight_type) , intent(in) , optional :: correction
1797 integer(IK) , intent(in) , contiguous :: weight(:)
1798 real(TKG) , intent(in) , contiguous :: sample(:)
1799 real(TKG) :: var
1800 end function
1801#endif
1802
1803#if RK3_ENABLED
1804 PURE module function getVarDIM_WTI_D1_RK3(sample, dim, weight, correction) result(var)
1805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1806 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_RK3
1807#endif
1808 use pm_kind, only: TKG => RK3
1809 integer(IK) , intent(in) :: dim
1810 class(weight_type) , intent(in) , optional :: correction
1811 integer(IK) , intent(in) , contiguous :: weight(:)
1812 real(TKG) , intent(in) , contiguous :: sample(:)
1813 real(TKG) :: var
1814 end function
1815#endif
1816
1817#if RK2_ENABLED
1818 PURE module function getVarDIM_WTI_D1_RK2(sample, dim, weight, correction) result(var)
1819#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1820 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_RK2
1821#endif
1822 use pm_kind, only: TKG => RK2
1823 integer(IK) , intent(in) :: dim
1824 class(weight_type) , intent(in) , optional :: correction
1825 integer(IK) , intent(in) , contiguous :: weight(:)
1826 real(TKG) , intent(in) , contiguous :: sample(:)
1827 real(TKG) :: var
1828 end function
1829#endif
1830
1831#if RK1_ENABLED
1832 PURE module function getVarDIM_WTI_D1_RK1(sample, dim, weight, correction) result(var)
1833#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1834 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D1_RK1
1835#endif
1836 use pm_kind, only: TKG => RK1
1837 integer(IK) , intent(in) :: dim
1838 class(weight_type) , intent(in) , optional :: correction
1839 integer(IK) , intent(in) , contiguous :: weight(:)
1840 real(TKG) , intent(in) , contiguous :: sample(:)
1841 real(TKG) :: var
1842 end function
1843#endif
1844
1845 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1846
1847 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1848 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1849 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1850
1851 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1852
1853#if CK5_ENABLED
1854 PURE module function getVarDIM_WTR_D1_CK5(sample, dim, weight, correction) result(var)
1855#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1856 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_CK5
1857#endif
1858 use pm_kind, only: TKG => CK5
1859 integer(IK) , intent(in) :: dim
1860 class(weight_type) , intent(in) , optional :: correction
1861 real(TKG) , intent(in) , contiguous :: weight(:)
1862 complex(TKG) , intent(in) , contiguous :: sample(:)
1863 real(TKG) :: var
1864 end function
1865#endif
1866
1867#if CK4_ENABLED
1868 PURE module function getVarDIM_WTR_D1_CK4(sample, dim, weight, correction) result(var)
1869#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1870 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_CK4
1871#endif
1872 use pm_kind, only: TKG => CK4
1873 integer(IK) , intent(in) :: dim
1874 class(weight_type) , intent(in) , optional :: correction
1875 real(TKG) , intent(in) , contiguous :: weight(:)
1876 complex(TKG) , intent(in) , contiguous :: sample(:)
1877 real(TKG) :: var
1878 end function
1879#endif
1880
1881#if CK3_ENABLED
1882 PURE module function getVarDIM_WTR_D1_CK3(sample, dim, weight, correction) result(var)
1883#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1884 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_CK3
1885#endif
1886 use pm_kind, only: TKG => CK3
1887 integer(IK) , intent(in) :: dim
1888 class(weight_type) , intent(in) , optional :: correction
1889 real(TKG) , intent(in) , contiguous :: weight(:)
1890 complex(TKG) , intent(in) , contiguous :: sample(:)
1891 real(TKG) :: var
1892 end function
1893#endif
1894
1895#if CK2_ENABLED
1896 PURE module function getVarDIM_WTR_D1_CK2(sample, dim, weight, correction) result(var)
1897#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1898 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_CK2
1899#endif
1900 use pm_kind, only: TKG => CK2
1901 integer(IK) , intent(in) :: dim
1902 class(weight_type) , intent(in) , optional :: correction
1903 real(TKG) , intent(in) , contiguous :: weight(:)
1904 complex(TKG) , intent(in) , contiguous :: sample(:)
1905 real(TKG) :: var
1906 end function
1907#endif
1908
1909#if CK1_ENABLED
1910 PURE module function getVarDIM_WTR_D1_CK1(sample, dim, weight, correction) result(var)
1911#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1912 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_CK1
1913#endif
1914 use pm_kind, only: TKG => CK1
1915 integer(IK) , intent(in) :: dim
1916 class(weight_type) , intent(in) , optional :: correction
1917 real(TKG) , intent(in) , contiguous :: weight(:)
1918 complex(TKG) , intent(in) , contiguous :: sample(:)
1919 real(TKG) :: var
1920 end function
1921#endif
1922
1923 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1924
1925#if RK5_ENABLED
1926 PURE module function getVarDIM_WTR_D1_RK5(sample, dim, weight, correction) result(var)
1927#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1928 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_RK5
1929#endif
1930 use pm_kind, only: TKG => RK5
1931 integer(IK) , intent(in) :: dim
1932 class(weight_type) , intent(in) , optional :: correction
1933 real(TKG) , intent(in) , contiguous :: weight(:)
1934 real(TKG) , intent(in) , contiguous :: sample(:)
1935 real(TKG) :: var
1936 end function
1937#endif
1938
1939#if RK4_ENABLED
1940 PURE module function getVarDIM_WTR_D1_RK4(sample, dim, weight, correction) result(var)
1941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1942 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_RK4
1943#endif
1944 use pm_kind, only: TKG => RK4
1945 integer(IK) , intent(in) :: dim
1946 class(weight_type) , intent(in) , optional :: correction
1947 real(TKG) , intent(in) , contiguous :: weight(:)
1948 real(TKG) , intent(in) , contiguous :: sample(:)
1949 real(TKG) :: var
1950 end function
1951#endif
1952
1953#if RK3_ENABLED
1954 PURE module function getVarDIM_WTR_D1_RK3(sample, dim, weight, correction) result(var)
1955#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1956 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_RK3
1957#endif
1958 use pm_kind, only: TKG => RK3
1959 integer(IK) , intent(in) :: dim
1960 class(weight_type) , intent(in) , optional :: correction
1961 real(TKG) , intent(in) , contiguous :: weight(:)
1962 real(TKG) , intent(in) , contiguous :: sample(:)
1963 real(TKG) :: var
1964 end function
1965#endif
1966
1967#if RK2_ENABLED
1968 PURE module function getVarDIM_WTR_D1_RK2(sample, dim, weight, correction) result(var)
1969#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1970 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_RK2
1971#endif
1972 use pm_kind, only: TKG => RK2
1973 integer(IK) , intent(in) :: dim
1974 class(weight_type) , intent(in) , optional :: correction
1975 real(TKG) , intent(in) , contiguous :: weight(:)
1976 real(TKG) , intent(in) , contiguous :: sample(:)
1977 real(TKG) :: var
1978 end function
1979#endif
1980
1981#if RK1_ENABLED
1982 PURE module function getVarDIM_WTR_D1_RK1(sample, dim, weight, correction) result(var)
1983#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1984 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D1_RK1
1985#endif
1986 use pm_kind, only: TKG => RK1
1987 integer(IK) , intent(in) :: dim
1988 class(weight_type) , intent(in) , optional :: correction
1989 real(TKG) , intent(in) , contiguous :: weight(:)
1990 real(TKG) , intent(in) , contiguous :: sample(:)
1991 real(TKG) :: var
1992 end function
1993#endif
1994
1995 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1996
1997 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1998 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1999 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2000
2001 end interface getVar
2002
2003 ! DIM D2
2004
2005 interface getVar
2006
2007 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2008 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2009 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2010
2011 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2012
2013#if CK5_ENABLED
2014 PURE module function getVarDIM_WNO_D2_CK5(sample, dim, correction) result(var)
2015#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2016 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_CK5
2017#endif
2018 use pm_kind, only: TKG => CK5
2019 integer(IK) , intent(in) :: dim
2020 class(weight_type) , intent(in) , optional :: correction
2021 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2022 real(TKG) :: var(size(sample, 3 - dim, IK))
2023 end function
2024#endif
2025
2026#if CK4_ENABLED
2027 PURE module function getVarDIM_WNO_D2_CK4(sample, dim, correction) result(var)
2028#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2029 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_CK4
2030#endif
2031 use pm_kind, only: TKG => CK4
2032 integer(IK) , intent(in) :: dim
2033 class(weight_type) , intent(in) , optional :: correction
2034 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2035 real(TKG) :: var(size(sample, 3 - dim, IK))
2036 end function
2037#endif
2038
2039#if CK3_ENABLED
2040 PURE module function getVarDIM_WNO_D2_CK3(sample, dim, correction) result(var)
2041#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2042 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_CK3
2043#endif
2044 use pm_kind, only: TKG => CK3
2045 integer(IK) , intent(in) :: dim
2046 class(weight_type) , intent(in) , optional :: correction
2047 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2048 real(TKG) :: var(size(sample, 3 - dim, IK))
2049 end function
2050#endif
2051
2052#if CK2_ENABLED
2053 PURE module function getVarDIM_WNO_D2_CK2(sample, dim, correction) result(var)
2054#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2055 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_CK2
2056#endif
2057 use pm_kind, only: TKG => CK2
2058 integer(IK) , intent(in) :: dim
2059 class(weight_type) , intent(in) , optional :: correction
2060 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2061 real(TKG) :: var(size(sample, 3 - dim, IK))
2062 end function
2063#endif
2064
2065#if CK1_ENABLED
2066 PURE module function getVarDIM_WNO_D2_CK1(sample, dim, correction) result(var)
2067#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2068 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_CK1
2069#endif
2070 use pm_kind, only: TKG => CK1
2071 integer(IK) , intent(in) :: dim
2072 class(weight_type) , intent(in) , optional :: correction
2073 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2074 real(TKG) :: var(size(sample, 3 - dim, IK))
2075 end function
2076#endif
2077
2078 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2079
2080#if RK5_ENABLED
2081 PURE module function getVarDIM_WNO_D2_RK5(sample, dim, correction) result(var)
2082#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2083 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_RK5
2084#endif
2085 use pm_kind, only: TKG => RK5
2086 integer(IK) , intent(in) :: dim
2087 class(weight_type) , intent(in) , optional :: correction
2088 real(TKG) , intent(in) , contiguous :: sample(:,:)
2089 real(TKG) :: var(size(sample, 3 - dim, IK))
2090 end function
2091#endif
2092
2093#if RK4_ENABLED
2094 PURE module function getVarDIM_WNO_D2_RK4(sample, dim, correction) result(var)
2095#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2096 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_RK4
2097#endif
2098 use pm_kind, only: TKG => RK4
2099 integer(IK) , intent(in) :: dim
2100 class(weight_type) , intent(in) , optional :: correction
2101 real(TKG) , intent(in) , contiguous :: sample(:,:)
2102 real(TKG) :: var(size(sample, 3 - dim, IK))
2103 end function
2104#endif
2105
2106#if RK3_ENABLED
2107 PURE module function getVarDIM_WNO_D2_RK3(sample, dim, correction) result(var)
2108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2109 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_RK3
2110#endif
2111 use pm_kind, only: TKG => RK3
2112 integer(IK) , intent(in) :: dim
2113 class(weight_type) , intent(in) , optional :: correction
2114 real(TKG) , intent(in) , contiguous :: sample(:,:)
2115 real(TKG) :: var(size(sample, 3 - dim, IK))
2116 end function
2117#endif
2118
2119#if RK2_ENABLED
2120 PURE module function getVarDIM_WNO_D2_RK2(sample, dim, correction) result(var)
2121#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2122 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_RK2
2123#endif
2124 use pm_kind, only: TKG => RK2
2125 integer(IK) , intent(in) :: dim
2126 class(weight_type) , intent(in) , optional :: correction
2127 real(TKG) , intent(in) , contiguous :: sample(:,:)
2128 real(TKG) :: var(size(sample, 3 - dim, IK))
2129 end function
2130#endif
2131
2132#if RK1_ENABLED
2133 PURE module function getVarDIM_WNO_D2_RK1(sample, dim, correction) result(var)
2134#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2135 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WNO_D2_RK1
2136#endif
2137 use pm_kind, only: TKG => RK1
2138 integer(IK) , intent(in) :: dim
2139 class(weight_type) , intent(in) , optional :: correction
2140 real(TKG) , intent(in) , contiguous :: sample(:,:)
2141 real(TKG) :: var(size(sample, 3 - dim, IK))
2142 end function
2143#endif
2144
2145 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2146
2147 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2148 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2149 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2150
2151 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2152
2153#if CK5_ENABLED
2154 PURE module function getVarDIM_WTI_D2_CK5(sample, dim, weight, correction) result(var)
2155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2156 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_CK5
2157#endif
2158 use pm_kind, only: TKG => CK5
2159 integer(IK) , intent(in) :: dim
2160 class(weight_type) , intent(in) , optional :: correction
2161 integer(IK) , intent(in) , contiguous :: weight(:)
2162 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2163 real(TKG) :: var(size(sample, 3 - dim, IK))
2164 end function
2165#endif
2166
2167#if CK4_ENABLED
2168 PURE module function getVarDIM_WTI_D2_CK4(sample, dim, weight, correction) result(var)
2169#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2170 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_CK4
2171#endif
2172 use pm_kind, only: TKG => CK4
2173 integer(IK) , intent(in) :: dim
2174 class(weight_type) , intent(in) , optional :: correction
2175 integer(IK) , intent(in) , contiguous :: weight(:)
2176 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2177 real(TKG) :: var(size(sample, 3 - dim, IK))
2178 end function
2179#endif
2180
2181#if CK3_ENABLED
2182 PURE module function getVarDIM_WTI_D2_CK3(sample, dim, weight, correction) result(var)
2183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2184 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_CK3
2185#endif
2186 use pm_kind, only: TKG => CK3
2187 integer(IK) , intent(in) :: dim
2188 class(weight_type) , intent(in) , optional :: correction
2189 integer(IK) , intent(in) , contiguous :: weight(:)
2190 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2191 real(TKG) :: var(size(sample, 3 - dim, IK))
2192 end function
2193#endif
2194
2195#if CK2_ENABLED
2196 PURE module function getVarDIM_WTI_D2_CK2(sample, dim, weight, correction) result(var)
2197#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2198 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_CK2
2199#endif
2200 use pm_kind, only: TKG => CK2
2201 integer(IK) , intent(in) :: dim
2202 class(weight_type) , intent(in) , optional :: correction
2203 integer(IK) , intent(in) , contiguous :: weight(:)
2204 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2205 real(TKG) :: var(size(sample, 3 - dim, IK))
2206 end function
2207#endif
2208
2209#if CK1_ENABLED
2210 PURE module function getVarDIM_WTI_D2_CK1(sample, dim, weight, correction) result(var)
2211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2212 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_CK1
2213#endif
2214 use pm_kind, only: TKG => CK1
2215 integer(IK) , intent(in) :: dim
2216 class(weight_type) , intent(in) , optional :: correction
2217 integer(IK) , intent(in) , contiguous :: weight(:)
2218 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2219 real(TKG) :: var(size(sample, 3 - dim, IK))
2220 end function
2221#endif
2222
2223 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2224
2225#if RK5_ENABLED
2226 PURE module function getVarDIM_WTI_D2_RK5(sample, dim, weight, correction) result(var)
2227#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2228 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_RK5
2229#endif
2230 use pm_kind, only: TKG => RK5
2231 integer(IK) , intent(in) :: dim
2232 class(weight_type) , intent(in) , optional :: correction
2233 integer(IK) , intent(in) , contiguous :: weight(:)
2234 real(TKG) , intent(in) , contiguous :: sample(:,:)
2235 real(TKG) :: var(size(sample, 3 - dim, IK))
2236 end function
2237#endif
2238
2239#if RK4_ENABLED
2240 PURE module function getVarDIM_WTI_D2_RK4(sample, dim, weight, correction) result(var)
2241#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2242 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_RK4
2243#endif
2244 use pm_kind, only: TKG => RK4
2245 integer(IK) , intent(in) :: dim
2246 class(weight_type) , intent(in) , optional :: correction
2247 integer(IK) , intent(in) , contiguous :: weight(:)
2248 real(TKG) , intent(in) , contiguous :: sample(:,:)
2249 real(TKG) :: var(size(sample, 3 - dim, IK))
2250 end function
2251#endif
2252
2253#if RK3_ENABLED
2254 PURE module function getVarDIM_WTI_D2_RK3(sample, dim, weight, correction) result(var)
2255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2256 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_RK3
2257#endif
2258 use pm_kind, only: TKG => RK3
2259 integer(IK) , intent(in) :: dim
2260 class(weight_type) , intent(in) , optional :: correction
2261 integer(IK) , intent(in) , contiguous :: weight(:)
2262 real(TKG) , intent(in) , contiguous :: sample(:,:)
2263 real(TKG) :: var(size(sample, 3 - dim, IK))
2264 end function
2265#endif
2266
2267#if RK2_ENABLED
2268 PURE module function getVarDIM_WTI_D2_RK2(sample, dim, weight, correction) result(var)
2269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2270 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_RK2
2271#endif
2272 use pm_kind, only: TKG => RK2
2273 integer(IK) , intent(in) :: dim
2274 class(weight_type) , intent(in) , optional :: correction
2275 integer(IK) , intent(in) , contiguous :: weight(:)
2276 real(TKG) , intent(in) , contiguous :: sample(:,:)
2277 real(TKG) :: var(size(sample, 3 - dim, IK))
2278 end function
2279#endif
2280
2281#if RK1_ENABLED
2282 PURE module function getVarDIM_WTI_D2_RK1(sample, dim, weight, correction) result(var)
2283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2284 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTI_D2_RK1
2285#endif
2286 use pm_kind, only: TKG => RK1
2287 integer(IK) , intent(in) :: dim
2288 class(weight_type) , intent(in) , optional :: correction
2289 integer(IK) , intent(in) , contiguous :: weight(:)
2290 real(TKG) , intent(in) , contiguous :: sample(:,:)
2291 real(TKG) :: var(size(sample, 3 - dim, IK))
2292 end function
2293#endif
2294
2295 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2296
2297 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2298 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2299 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2300
2301 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2302
2303#if CK5_ENABLED
2304 PURE module function getVarDIM_WTR_D2_CK5(sample, dim, weight, correction) result(var)
2305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2306 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_CK5
2307#endif
2308 use pm_kind, only: TKG => CK5
2309 integer(IK) , intent(in) :: dim
2310 class(weight_type) , intent(in) , optional :: correction
2311 real(TKG) , intent(in) , contiguous :: weight(:)
2312 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2313 real(TKG) :: var(size(sample, 3 - dim, IK))
2314 end function
2315#endif
2316
2317#if CK4_ENABLED
2318 PURE module function getVarDIM_WTR_D2_CK4(sample, dim, weight, correction) result(var)
2319#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2320 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_CK4
2321#endif
2322 use pm_kind, only: TKG => CK4
2323 integer(IK) , intent(in) :: dim
2324 class(weight_type) , intent(in) , optional :: correction
2325 real(TKG) , intent(in) , contiguous :: weight(:)
2326 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2327 real(TKG) :: var(size(sample, 3 - dim, IK))
2328 end function
2329#endif
2330
2331#if CK3_ENABLED
2332 PURE module function getVarDIM_WTR_D2_CK3(sample, dim, weight, correction) result(var)
2333#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2334 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_CK3
2335#endif
2336 use pm_kind, only: TKG => CK3
2337 integer(IK) , intent(in) :: dim
2338 class(weight_type) , intent(in) , optional :: correction
2339 real(TKG) , intent(in) , contiguous :: weight(:)
2340 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2341 real(TKG) :: var(size(sample, 3 - dim, IK))
2342 end function
2343#endif
2344
2345#if CK2_ENABLED
2346 PURE module function getVarDIM_WTR_D2_CK2(sample, dim, weight, correction) result(var)
2347#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2348 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_CK2
2349#endif
2350 use pm_kind, only: TKG => CK2
2351 integer(IK) , intent(in) :: dim
2352 class(weight_type) , intent(in) , optional :: correction
2353 real(TKG) , intent(in) , contiguous :: weight(:)
2354 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2355 real(TKG) :: var(size(sample, 3 - dim, IK))
2356 end function
2357#endif
2358
2359#if CK1_ENABLED
2360 PURE module function getVarDIM_WTR_D2_CK1(sample, dim, weight, correction) result(var)
2361#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2362 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_CK1
2363#endif
2364 use pm_kind, only: TKG => CK1
2365 integer(IK) , intent(in) :: dim
2366 class(weight_type) , intent(in) , optional :: correction
2367 real(TKG) , intent(in) , contiguous :: weight(:)
2368 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2369 real(TKG) :: var(size(sample, 3 - dim, IK))
2370 end function
2371#endif
2372
2373 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2374
2375#if RK5_ENABLED
2376 PURE module function getVarDIM_WTR_D2_RK5(sample, dim, weight, correction) result(var)
2377#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2378 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_RK5
2379#endif
2380 use pm_kind, only: TKG => RK5
2381 integer(IK) , intent(in) :: dim
2382 class(weight_type) , intent(in) , optional :: correction
2383 real(TKG) , intent(in) , contiguous :: weight(:)
2384 real(TKG) , intent(in) , contiguous :: sample(:,:)
2385 real(TKG) :: var(size(sample, 3 - dim, IK))
2386 end function
2387#endif
2388
2389#if RK4_ENABLED
2390 PURE module function getVarDIM_WTR_D2_RK4(sample, dim, weight, correction) result(var)
2391#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2392 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_RK4
2393#endif
2394 use pm_kind, only: TKG => RK4
2395 integer(IK) , intent(in) :: dim
2396 class(weight_type) , intent(in) , optional :: correction
2397 real(TKG) , intent(in) , contiguous :: weight(:)
2398 real(TKG) , intent(in) , contiguous :: sample(:,:)
2399 real(TKG) :: var(size(sample, 3 - dim, IK))
2400 end function
2401#endif
2402
2403#if RK3_ENABLED
2404 PURE module function getVarDIM_WTR_D2_RK3(sample, dim, weight, correction) result(var)
2405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2406 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_RK3
2407#endif
2408 use pm_kind, only: TKG => RK3
2409 integer(IK) , intent(in) :: dim
2410 class(weight_type) , intent(in) , optional :: correction
2411 real(TKG) , intent(in) , contiguous :: weight(:)
2412 real(TKG) , intent(in) , contiguous :: sample(:,:)
2413 real(TKG) :: var(size(sample, 3 - dim, IK))
2414 end function
2415#endif
2416
2417#if RK2_ENABLED
2418 PURE module function getVarDIM_WTR_D2_RK2(sample, dim, weight, correction) result(var)
2419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2420 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_RK2
2421#endif
2422 use pm_kind, only: TKG => RK2
2423 integer(IK) , intent(in) :: dim
2424 class(weight_type) , intent(in) , optional :: correction
2425 real(TKG) , intent(in) , contiguous :: weight(:)
2426 real(TKG) , intent(in) , contiguous :: sample(:,:)
2427 real(TKG) :: var(size(sample, 3 - dim, IK))
2428 end function
2429#endif
2430
2431#if RK1_ENABLED
2432 PURE module function getVarDIM_WTR_D2_RK1(sample, dim, weight, correction) result(var)
2433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2434 !DEC$ ATTRIBUTES DLLEXPORT :: getVarDIM_WTR_D2_RK1
2435#endif
2436 use pm_kind, only: TKG => RK1
2437 integer(IK) , intent(in) :: dim
2438 class(weight_type) , intent(in) , optional :: correction
2439 real(TKG) , intent(in) , contiguous :: weight(:)
2440 real(TKG) , intent(in) , contiguous :: sample(:,:)
2441 real(TKG) :: var(size(sample, 3 - dim, IK))
2442 end function
2443#endif
2444
2445 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2446
2447 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2448 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2449 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2450
2451 end interface getVar
2452
2453!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2454
2615
2616 ! AvgDIM_WNO
2617
2618 interface setVar
2619
2620 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2621 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2622 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2623
2624 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2625
2626#if CK5_ENABLED
2627 PURE module subroutine setVarAvgDIM_WNO_D1_CK5(var, mean, sample, dim)
2628#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2629 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_CK5
2630#endif
2631 use pm_kind, only: TKG => CK5
2632 integer(IK) , intent(in) :: dim
2633 complex(TKG) , intent(in) , contiguous :: sample(:)
2634 complex(TKG) , intent(in) :: mean
2635 real(TKG) , intent(out) :: var
2636 end subroutine
2637#endif
2638
2639#if CK4_ENABLED
2640 PURE module subroutine setVarAvgDIM_WNO_D1_CK4(var, mean, sample, dim)
2641#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2642 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_CK4
2643#endif
2644 use pm_kind, only: TKG => CK4
2645 integer(IK) , intent(in) :: dim
2646 complex(TKG) , intent(in) , contiguous :: sample(:)
2647 complex(TKG) , intent(in) :: mean
2648 real(TKG) , intent(out) :: var
2649 end subroutine
2650#endif
2651
2652#if CK3_ENABLED
2653 PURE module subroutine setVarAvgDIM_WNO_D1_CK3(var, mean, sample, dim)
2654#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2655 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_CK3
2656#endif
2657 use pm_kind, only: TKG => CK3
2658 integer(IK) , intent(in) :: dim
2659 complex(TKG) , intent(in) , contiguous :: sample(:)
2660 complex(TKG) , intent(in) :: mean
2661 real(TKG) , intent(out) :: var
2662 end subroutine
2663#endif
2664
2665#if CK2_ENABLED
2666 PURE module subroutine setVarAvgDIM_WNO_D1_CK2(var, mean, sample, dim)
2667#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2668 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_CK2
2669#endif
2670 use pm_kind, only: TKG => CK2
2671 integer(IK) , intent(in) :: dim
2672 complex(TKG) , intent(in) , contiguous :: sample(:)
2673 complex(TKG) , intent(in) :: mean
2674 real(TKG) , intent(out) :: var
2675 end subroutine
2676#endif
2677
2678#if CK1_ENABLED
2679 PURE module subroutine setVarAvgDIM_WNO_D1_CK1(var, mean, sample, dim)
2680#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2681 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_CK1
2682#endif
2683 use pm_kind, only: TKG => CK1
2684 integer(IK) , intent(in) :: dim
2685 complex(TKG) , intent(in) , contiguous :: sample(:)
2686 complex(TKG) , intent(in) :: mean
2687 real(TKG) , intent(out) :: var
2688 end subroutine
2689#endif
2690
2691 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2692
2693#if RK5_ENABLED
2694 PURE module subroutine setVarAvgDIM_WNO_D1_RK5(var, mean, sample, dim)
2695#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2696 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_RK5
2697#endif
2698 use pm_kind, only: TKG => RK5
2699 integer(IK) , intent(in) :: dim
2700 real(TKG) , intent(in) , contiguous :: sample(:)
2701 real(TKG) , intent(in) :: mean
2702 real(TKG) , intent(out) :: var
2703 end subroutine
2704#endif
2705
2706#if RK4_ENABLED
2707 PURE module subroutine setVarAvgDIM_WNO_D1_RK4(var, mean, sample, dim)
2708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2709 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_RK4
2710#endif
2711 use pm_kind, only: TKG => RK4
2712 integer(IK) , intent(in) :: dim
2713 real(TKG) , intent(in) , contiguous :: sample(:)
2714 real(TKG) , intent(in) :: mean
2715 real(TKG) , intent(out) :: var
2716 end subroutine
2717#endif
2718
2719#if RK3_ENABLED
2720 PURE module subroutine setVarAvgDIM_WNO_D1_RK3(var, mean, sample, dim)
2721#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2722 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_RK3
2723#endif
2724 use pm_kind, only: TKG => RK3
2725 integer(IK) , intent(in) :: dim
2726 real(TKG) , intent(in) , contiguous :: sample(:)
2727 real(TKG) , intent(in) :: mean
2728 real(TKG) , intent(out) :: var
2729 end subroutine
2730#endif
2731
2732#if RK2_ENABLED
2733 PURE module subroutine setVarAvgDIM_WNO_D1_RK2(var, mean, sample, dim)
2734#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2735 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_RK2
2736#endif
2737 use pm_kind, only: TKG => RK2
2738 integer(IK) , intent(in) :: dim
2739 real(TKG) , intent(in) , contiguous :: sample(:)
2740 real(TKG) , intent(in) :: mean
2741 real(TKG) , intent(out) :: var
2742 end subroutine
2743#endif
2744
2745#if RK1_ENABLED
2746 PURE module subroutine setVarAvgDIM_WNO_D1_RK1(var, mean, sample, dim)
2747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2748 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D1_RK1
2749#endif
2750 use pm_kind, only: TKG => RK1
2751 integer(IK) , intent(in) :: dim
2752 real(TKG) , intent(in) , contiguous :: sample(:)
2753 real(TKG) , intent(in) :: mean
2754 real(TKG) , intent(out) :: var
2755 end subroutine
2756#endif
2757
2758 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2759
2760 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2761 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2762 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2763
2764 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2765
2766#if CK5_ENABLED
2767 PURE module subroutine setVarAvgDIM_WNO_D2_CK5(var, mean, sample, dim)
2768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2769 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_CK5
2770#endif
2771 use pm_kind, only: TKG => CK5
2772 integer(IK) , intent(in) :: dim
2773 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2774 complex(TKG) , intent(in) , contiguous :: mean(:)
2775 real(TKG) , intent(out) , contiguous :: var(:)
2776 end subroutine
2777#endif
2778
2779#if CK4_ENABLED
2780 PURE module subroutine setVarAvgDIM_WNO_D2_CK4(var, mean, sample, dim)
2781#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2782 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_CK4
2783#endif
2784 use pm_kind, only: TKG => CK4
2785 integer(IK) , intent(in) :: dim
2786 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2787 complex(TKG) , intent(in) , contiguous :: mean(:)
2788 real(TKG) , intent(out) , contiguous :: var(:)
2789 end subroutine
2790#endif
2791
2792#if CK3_ENABLED
2793 PURE module subroutine setVarAvgDIM_WNO_D2_CK3(var, mean, sample, dim)
2794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2795 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_CK3
2796#endif
2797 use pm_kind, only: TKG => CK3
2798 integer(IK) , intent(in) :: dim
2799 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2800 complex(TKG) , intent(in) , contiguous :: mean(:)
2801 real(TKG) , intent(out) , contiguous :: var(:)
2802 end subroutine
2803#endif
2804
2805#if CK2_ENABLED
2806 PURE module subroutine setVarAvgDIM_WNO_D2_CK2(var, mean, sample, dim)
2807#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2808 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_CK2
2809#endif
2810 use pm_kind, only: TKG => CK2
2811 integer(IK) , intent(in) :: dim
2812 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2813 complex(TKG) , intent(in) , contiguous :: mean(:)
2814 real(TKG) , intent(out) , contiguous :: var(:)
2815 end subroutine
2816#endif
2817
2818#if CK1_ENABLED
2819 PURE module subroutine setVarAvgDIM_WNO_D2_CK1(var, mean, sample, dim)
2820#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2821 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_CK1
2822#endif
2823 use pm_kind, only: TKG => CK1
2824 integer(IK) , intent(in) :: dim
2825 complex(TKG) , intent(in) , contiguous :: sample(:,:)
2826 complex(TKG) , intent(in) , contiguous :: mean(:)
2827 real(TKG) , intent(out) , contiguous :: var(:)
2828 end subroutine
2829#endif
2830
2831 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2832
2833#if RK5_ENABLED
2834 PURE module subroutine setVarAvgDIM_WNO_D2_RK5(var, mean, sample, dim)
2835#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2836 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_RK5
2837#endif
2838 use pm_kind, only: TKG => RK5
2839 integer(IK) , intent(in) :: dim
2840 real(TKG) , intent(in) , contiguous :: sample(:,:)
2841 real(TKG) , intent(in) , contiguous :: mean(:)
2842 real(TKG) , intent(out) , contiguous :: var(:)
2843 end subroutine
2844#endif
2845
2846#if RK4_ENABLED
2847 PURE module subroutine setVarAvgDIM_WNO_D2_RK4(var, mean, sample, dim)
2848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2849 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_RK4
2850#endif
2851 use pm_kind, only: TKG => RK4
2852 integer(IK) , intent(in) :: dim
2853 real(TKG) , intent(in) , contiguous :: sample(:,:)
2854 real(TKG) , intent(in) , contiguous :: mean(:)
2855 real(TKG) , intent(out) , contiguous :: var(:)
2856 end subroutine
2857#endif
2858
2859#if RK3_ENABLED
2860 PURE module subroutine setVarAvgDIM_WNO_D2_RK3(var, mean, sample, dim)
2861#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2862 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_RK3
2863#endif
2864 use pm_kind, only: TKG => RK3
2865 integer(IK) , intent(in) :: dim
2866 real(TKG) , intent(in) , contiguous :: sample(:,:)
2867 real(TKG) , intent(in) , contiguous :: mean(:)
2868 real(TKG) , intent(out) , contiguous :: var(:)
2869 end subroutine
2870#endif
2871
2872#if RK2_ENABLED
2873 PURE module subroutine setVarAvgDIM_WNO_D2_RK2(var, mean, sample, dim)
2874#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2875 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_RK2
2876#endif
2877 use pm_kind, only: TKG => RK2
2878 integer(IK) , intent(in) :: dim
2879 real(TKG) , intent(in) , contiguous :: sample(:,:)
2880 real(TKG) , intent(in) , contiguous :: mean(:)
2881 real(TKG) , intent(out) , contiguous :: var(:)
2882 end subroutine
2883#endif
2884
2885#if RK1_ENABLED
2886 PURE module subroutine setVarAvgDIM_WNO_D2_RK1(var, mean, sample, dim)
2887#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2888 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WNO_D2_RK1
2889#endif
2890 use pm_kind, only: TKG => RK1
2891 integer(IK) , intent(in) :: dim
2892 real(TKG) , intent(in) , contiguous :: sample(:,:)
2893 real(TKG) , intent(in) , contiguous :: mean(:)
2894 real(TKG) , intent(out) , contiguous :: var(:)
2895 end subroutine
2896#endif
2897
2898 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2899
2900 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2901 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2902 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2903
2904 end interface setVar
2905
2906 ! AvgDIM_WTI
2907
2908 interface setVar
2909
2910 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2911 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2912 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2913
2914 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2915
2916#if CK5_ENABLED
2917 PURE module subroutine setVarAvgDIM_WTI_D1_CK5(var, mean, sample, dim, weight, weisum)
2918#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2919 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_CK5
2920#endif
2921 use pm_kind, only: TKG => CK5
2922 integer(IK) , intent(in) :: dim
2923 integer(IK) , intent(in) :: weisum
2924 integer(IK) , intent(in) , contiguous :: weight(:)
2925 complex(TKG) , intent(in) , contiguous :: sample(:)
2926 complex(TKG) , intent(in) :: mean
2927 real(TKG) , intent(out) :: var
2928 end subroutine
2929#endif
2930
2931#if CK4_ENABLED
2932 PURE module subroutine setVarAvgDIM_WTI_D1_CK4(var, mean, sample, dim, weight, weisum)
2933#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2934 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_CK4
2935#endif
2936 use pm_kind, only: TKG => CK4
2937 integer(IK) , intent(in) :: dim
2938 integer(IK) , intent(in) :: weisum
2939 integer(IK) , intent(in) , contiguous :: weight(:)
2940 complex(TKG) , intent(in) , contiguous :: sample(:)
2941 complex(TKG) , intent(in) :: mean
2942 real(TKG) , intent(out) :: var
2943 end subroutine
2944#endif
2945
2946#if CK3_ENABLED
2947 PURE module subroutine setVarAvgDIM_WTI_D1_CK3(var, mean, sample, dim, weight, weisum)
2948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2949 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_CK3
2950#endif
2951 use pm_kind, only: TKG => CK3
2952 integer(IK) , intent(in) :: dim
2953 integer(IK) , intent(in) :: weisum
2954 integer(IK) , intent(in) , contiguous :: weight(:)
2955 complex(TKG) , intent(in) , contiguous :: sample(:)
2956 complex(TKG) , intent(in) :: mean
2957 real(TKG) , intent(out) :: var
2958 end subroutine
2959#endif
2960
2961#if CK2_ENABLED
2962 PURE module subroutine setVarAvgDIM_WTI_D1_CK2(var, mean, sample, dim, weight, weisum)
2963#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2964 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_CK2
2965#endif
2966 use pm_kind, only: TKG => CK2
2967 integer(IK) , intent(in) :: dim
2968 integer(IK) , intent(in) :: weisum
2969 integer(IK) , intent(in) , contiguous :: weight(:)
2970 complex(TKG) , intent(in) , contiguous :: sample(:)
2971 complex(TKG) , intent(in) :: mean
2972 real(TKG) , intent(out) :: var
2973 end subroutine
2974#endif
2975
2976#if CK1_ENABLED
2977 PURE module subroutine setVarAvgDIM_WTI_D1_CK1(var, mean, sample, dim, weight, weisum)
2978#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2979 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_CK1
2980#endif
2981 use pm_kind, only: TKG => CK1
2982 integer(IK) , intent(in) :: dim
2983 integer(IK) , intent(in) :: weisum
2984 integer(IK) , intent(in) , contiguous :: weight(:)
2985 complex(TKG) , intent(in) , contiguous :: sample(:)
2986 complex(TKG) , intent(in) :: mean
2987 real(TKG) , intent(out) :: var
2988 end subroutine
2989#endif
2990
2991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2992
2993#if RK5_ENABLED
2994 PURE module subroutine setVarAvgDIM_WTI_D1_RK5(var, mean, sample, dim, weight, weisum)
2995#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2996 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_RK5
2997#endif
2998 use pm_kind, only: TKG => RK5
2999 integer(IK) , intent(in) :: dim
3000 integer(IK) , intent(in) :: weisum
3001 integer(IK) , intent(in) , contiguous :: weight(:)
3002 real(TKG) , intent(in) , contiguous :: sample(:)
3003 real(TKG) , intent(in) :: mean
3004 real(TKG) , intent(out) :: var
3005 end subroutine
3006#endif
3007
3008#if RK4_ENABLED
3009 PURE module subroutine setVarAvgDIM_WTI_D1_RK4(var, mean, sample, dim, weight, weisum)
3010#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3011 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_RK4
3012#endif
3013 use pm_kind, only: TKG => RK4
3014 integer(IK) , intent(in) :: dim
3015 integer(IK) , intent(in) :: weisum
3016 integer(IK) , intent(in) , contiguous :: weight(:)
3017 real(TKG) , intent(in) , contiguous :: sample(:)
3018 real(TKG) , intent(in) :: mean
3019 real(TKG) , intent(out) :: var
3020 end subroutine
3021#endif
3022
3023#if RK3_ENABLED
3024 PURE module subroutine setVarAvgDIM_WTI_D1_RK3(var, mean, sample, dim, weight, weisum)
3025#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3026 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_RK3
3027#endif
3028 use pm_kind, only: TKG => RK3
3029 integer(IK) , intent(in) :: dim
3030 integer(IK) , intent(in) :: weisum
3031 integer(IK) , intent(in) , contiguous :: weight(:)
3032 real(TKG) , intent(in) , contiguous :: sample(:)
3033 real(TKG) , intent(in) :: mean
3034 real(TKG) , intent(out) :: var
3035 end subroutine
3036#endif
3037
3038#if RK2_ENABLED
3039 PURE module subroutine setVarAvgDIM_WTI_D1_RK2(var, mean, sample, dim, weight, weisum)
3040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3041 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_RK2
3042#endif
3043 use pm_kind, only: TKG => RK2
3044 integer(IK) , intent(in) :: dim
3045 integer(IK) , intent(in) :: weisum
3046 integer(IK) , intent(in) , contiguous :: weight(:)
3047 real(TKG) , intent(in) , contiguous :: sample(:)
3048 real(TKG) , intent(in) :: mean
3049 real(TKG) , intent(out) :: var
3050 end subroutine
3051#endif
3052
3053#if RK1_ENABLED
3054 PURE module subroutine setVarAvgDIM_WTI_D1_RK1(var, mean, sample, dim, weight, weisum)
3055#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3056 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D1_RK1
3057#endif
3058 use pm_kind, only: TKG => RK1
3059 integer(IK) , intent(in) :: dim
3060 integer(IK) , intent(in) :: weisum
3061 integer(IK) , intent(in) , contiguous :: weight(:)
3062 real(TKG) , intent(in) , contiguous :: sample(:)
3063 real(TKG) , intent(in) :: mean
3064 real(TKG) , intent(out) :: var
3065 end subroutine
3066#endif
3067
3068 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3069
3070 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3071 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3072 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3073
3074 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3075
3076#if CK5_ENABLED
3077 PURE module subroutine setVarAvgDIM_WTI_D2_CK5(var, mean, sample, dim, weight, weisum)
3078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3079 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_CK5
3080#endif
3081 use pm_kind, only: TKG => CK5
3082 integer(IK) , intent(in) :: dim
3083 integer(IK) , intent(in) :: weisum
3084 integer(IK) , intent(in) , contiguous :: weight(:)
3085 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3086 complex(TKG) , intent(in) , contiguous :: mean(:)
3087 real(TKG) , intent(out) , contiguous :: var(:)
3088 end subroutine
3089#endif
3090
3091#if CK4_ENABLED
3092 PURE module subroutine setVarAvgDIM_WTI_D2_CK4(var, mean, sample, dim, weight, weisum)
3093#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3094 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_CK4
3095#endif
3096 use pm_kind, only: TKG => CK4
3097 integer(IK) , intent(in) :: dim
3098 integer(IK) , intent(in) :: weisum
3099 integer(IK) , intent(in) , contiguous :: weight(:)
3100 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3101 complex(TKG) , intent(in) , contiguous :: mean(:)
3102 real(TKG) , intent(out) , contiguous :: var(:)
3103 end subroutine
3104#endif
3105
3106#if CK3_ENABLED
3107 PURE module subroutine setVarAvgDIM_WTI_D2_CK3(var, mean, sample, dim, weight, weisum)
3108#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3109 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_CK3
3110#endif
3111 use pm_kind, only: TKG => CK3
3112 integer(IK) , intent(in) :: dim
3113 integer(IK) , intent(in) :: weisum
3114 integer(IK) , intent(in) , contiguous :: weight(:)
3115 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3116 complex(TKG) , intent(in) , contiguous :: mean(:)
3117 real(TKG) , intent(out) , contiguous :: var(:)
3118 end subroutine
3119#endif
3120
3121#if CK2_ENABLED
3122 PURE module subroutine setVarAvgDIM_WTI_D2_CK2(var, mean, sample, dim, weight, weisum)
3123#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3124 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_CK2
3125#endif
3126 use pm_kind, only: TKG => CK2
3127 integer(IK) , intent(in) :: dim
3128 integer(IK) , intent(in) :: weisum
3129 integer(IK) , intent(in) , contiguous :: weight(:)
3130 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3131 complex(TKG) , intent(in) , contiguous :: mean(:)
3132 real(TKG) , intent(out) , contiguous :: var(:)
3133 end subroutine
3134#endif
3135
3136#if CK1_ENABLED
3137 PURE module subroutine setVarAvgDIM_WTI_D2_CK1(var, mean, sample, dim, weight, weisum)
3138#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3139 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_CK1
3140#endif
3141 use pm_kind, only: TKG => CK1
3142 integer(IK) , intent(in) :: dim
3143 integer(IK) , intent(in) :: weisum
3144 integer(IK) , intent(in) , contiguous :: weight(:)
3145 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3146 complex(TKG) , intent(in) , contiguous :: mean(:)
3147 real(TKG) , intent(out) , contiguous :: var(:)
3148 end subroutine
3149#endif
3150
3151 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3152
3153#if RK5_ENABLED
3154 PURE module subroutine setVarAvgDIM_WTI_D2_RK5(var, mean, sample, dim, weight, weisum)
3155#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3156 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_RK5
3157#endif
3158 use pm_kind, only: TKG => RK5
3159 integer(IK) , intent(in) :: dim
3160 integer(IK) , intent(in) :: weisum
3161 integer(IK) , intent(in) , contiguous :: weight(:)
3162 real(TKG) , intent(in) , contiguous :: sample(:,:)
3163 real(TKG) , intent(in) , contiguous :: mean(:)
3164 real(TKG) , intent(out) , contiguous :: var(:)
3165 end subroutine
3166#endif
3167
3168#if RK4_ENABLED
3169 PURE module subroutine setVarAvgDIM_WTI_D2_RK4(var, mean, sample, dim, weight, weisum)
3170#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3171 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_RK4
3172#endif
3173 use pm_kind, only: TKG => RK4
3174 integer(IK) , intent(in) :: dim
3175 integer(IK) , intent(in) :: weisum
3176 integer(IK) , intent(in) , contiguous :: weight(:)
3177 real(TKG) , intent(in) , contiguous :: sample(:,:)
3178 real(TKG) , intent(in) , contiguous :: mean(:)
3179 real(TKG) , intent(out) , contiguous :: var(:)
3180 end subroutine
3181#endif
3182
3183#if RK3_ENABLED
3184 PURE module subroutine setVarAvgDIM_WTI_D2_RK3(var, mean, sample, dim, weight, weisum)
3185#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3186 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_RK3
3187#endif
3188 use pm_kind, only: TKG => RK3
3189 integer(IK) , intent(in) :: dim
3190 integer(IK) , intent(in) :: weisum
3191 integer(IK) , intent(in) , contiguous :: weight(:)
3192 real(TKG) , intent(in) , contiguous :: sample(:,:)
3193 real(TKG) , intent(in) , contiguous :: mean(:)
3194 real(TKG) , intent(out) , contiguous :: var(:)
3195 end subroutine
3196#endif
3197
3198#if RK2_ENABLED
3199 PURE module subroutine setVarAvgDIM_WTI_D2_RK2(var, mean, sample, dim, weight, weisum)
3200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3201 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_RK2
3202#endif
3203 use pm_kind, only: TKG => RK2
3204 integer(IK) , intent(in) :: dim
3205 integer(IK) , intent(in) :: weisum
3206 integer(IK) , intent(in) , contiguous :: weight(:)
3207 real(TKG) , intent(in) , contiguous :: sample(:,:)
3208 real(TKG) , intent(in) , contiguous :: mean(:)
3209 real(TKG) , intent(out) , contiguous :: var(:)
3210 end subroutine
3211#endif
3212
3213#if RK1_ENABLED
3214 PURE module subroutine setVarAvgDIM_WTI_D2_RK1(var, mean, sample, dim, weight, weisum)
3215#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3216 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTI_D2_RK1
3217#endif
3218 use pm_kind, only: TKG => RK1
3219 integer(IK) , intent(in) :: dim
3220 integer(IK) , intent(in) :: weisum
3221 integer(IK) , intent(in) , contiguous :: weight(:)
3222 real(TKG) , intent(in) , contiguous :: sample(:,:)
3223 real(TKG) , intent(in) , contiguous :: mean(:)
3224 real(TKG) , intent(out) , contiguous :: var(:)
3225 end subroutine
3226#endif
3227
3228 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3229
3230 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3231 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3232 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3233
3234 end interface setVar
3235
3236 ! AvgDIM_WTR
3237
3238 interface setVar
3239
3240 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3241 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3242 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3243
3244 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3245
3246#if CK5_ENABLED
3247 PURE module subroutine setVarAvgDIM_WTR_D1_CK5(var, mean, sample, dim, weight, weisum)
3248#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3249 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_CK5
3250#endif
3251 use pm_kind, only: TKG => CK5
3252 integer(IK) , intent(in) :: dim
3253 real(TKG) , intent(in) :: weisum
3254 real(TKG) , intent(in) , contiguous :: weight(:)
3255 complex(TKG) , intent(in) , contiguous :: sample(:)
3256 complex(TKG) , intent(in) :: mean
3257 real(TKG) , intent(out) :: var
3258 end subroutine
3259#endif
3260
3261#if CK4_ENABLED
3262 PURE module subroutine setVarAvgDIM_WTR_D1_CK4(var, mean, sample, dim, weight, weisum)
3263#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3264 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_CK4
3265#endif
3266 use pm_kind, only: TKG => CK4
3267 integer(IK) , intent(in) :: dim
3268 real(TKG) , intent(in) :: weisum
3269 real(TKG) , intent(in) , contiguous :: weight(:)
3270 complex(TKG) , intent(in) , contiguous :: sample(:)
3271 complex(TKG) , intent(in) :: mean
3272 real(TKG) , intent(out) :: var
3273 end subroutine
3274#endif
3275
3276#if CK3_ENABLED
3277 PURE module subroutine setVarAvgDIM_WTR_D1_CK3(var, mean, sample, dim, weight, weisum)
3278#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3279 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_CK3
3280#endif
3281 use pm_kind, only: TKG => CK3
3282 integer(IK) , intent(in) :: dim
3283 real(TKG) , intent(in) :: weisum
3284 real(TKG) , intent(in) , contiguous :: weight(:)
3285 complex(TKG) , intent(in) , contiguous :: sample(:)
3286 complex(TKG) , intent(in) :: mean
3287 real(TKG) , intent(out) :: var
3288 end subroutine
3289#endif
3290
3291#if CK2_ENABLED
3292 PURE module subroutine setVarAvgDIM_WTR_D1_CK2(var, mean, sample, dim, weight, weisum)
3293#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3294 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_CK2
3295#endif
3296 use pm_kind, only: TKG => CK2
3297 integer(IK) , intent(in) :: dim
3298 real(TKG) , intent(in) :: weisum
3299 real(TKG) , intent(in) , contiguous :: weight(:)
3300 complex(TKG) , intent(in) , contiguous :: sample(:)
3301 complex(TKG) , intent(in) :: mean
3302 real(TKG) , intent(out) :: var
3303 end subroutine
3304#endif
3305
3306#if CK1_ENABLED
3307 PURE module subroutine setVarAvgDIM_WTR_D1_CK1(var, mean, sample, dim, weight, weisum)
3308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3309 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_CK1
3310#endif
3311 use pm_kind, only: TKG => CK1
3312 integer(IK) , intent(in) :: dim
3313 real(TKG) , intent(in) :: weisum
3314 real(TKG) , intent(in) , contiguous :: weight(:)
3315 complex(TKG) , intent(in) , contiguous :: sample(:)
3316 complex(TKG) , intent(in) :: mean
3317 real(TKG) , intent(out) :: var
3318 end subroutine
3319#endif
3320
3321 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3322
3323#if RK5_ENABLED
3324 PURE module subroutine setVarAvgDIM_WTR_D1_RK5(var, mean, sample, dim, weight, weisum)
3325#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3326 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_RK5
3327#endif
3328 use pm_kind, only: TKG => RK5
3329 integer(IK) , intent(in) :: dim
3330 real(TKG) , intent(in) :: weisum
3331 real(TKG) , intent(in) , contiguous :: weight(:)
3332 real(TKG) , intent(in) , contiguous :: sample(:)
3333 real(TKG) , intent(in) :: mean
3334 real(TKG) , intent(out) :: var
3335 end subroutine
3336#endif
3337
3338#if RK4_ENABLED
3339 PURE module subroutine setVarAvgDIM_WTR_D1_RK4(var, mean, sample, dim, weight, weisum)
3340#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3341 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_RK4
3342#endif
3343 use pm_kind, only: TKG => RK4
3344 integer(IK) , intent(in) :: dim
3345 real(TKG) , intent(in) :: weisum
3346 real(TKG) , intent(in) , contiguous :: weight(:)
3347 real(TKG) , intent(in) , contiguous :: sample(:)
3348 real(TKG) , intent(in) :: mean
3349 real(TKG) , intent(out) :: var
3350 end subroutine
3351#endif
3352
3353#if RK3_ENABLED
3354 PURE module subroutine setVarAvgDIM_WTR_D1_RK3(var, mean, sample, dim, weight, weisum)
3355#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3356 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_RK3
3357#endif
3358 use pm_kind, only: TKG => RK3
3359 integer(IK) , intent(in) :: dim
3360 real(TKG) , intent(in) :: weisum
3361 real(TKG) , intent(in) , contiguous :: weight(:)
3362 real(TKG) , intent(in) , contiguous :: sample(:)
3363 real(TKG) , intent(in) :: mean
3364 real(TKG) , intent(out) :: var
3365 end subroutine
3366#endif
3367
3368#if RK2_ENABLED
3369 PURE module subroutine setVarAvgDIM_WTR_D1_RK2(var, mean, sample, dim, weight, weisum)
3370#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3371 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_RK2
3372#endif
3373 use pm_kind, only: TKG => RK2
3374 integer(IK) , intent(in) :: dim
3375 real(TKG) , intent(in) :: weisum
3376 real(TKG) , intent(in) , contiguous :: weight(:)
3377 real(TKG) , intent(in) , contiguous :: sample(:)
3378 real(TKG) , intent(in) :: mean
3379 real(TKG) , intent(out) :: var
3380 end subroutine
3381#endif
3382
3383#if RK1_ENABLED
3384 PURE module subroutine setVarAvgDIM_WTR_D1_RK1(var, mean, sample, dim, weight, weisum)
3385#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3386 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D1_RK1
3387#endif
3388 use pm_kind, only: TKG => RK1
3389 integer(IK) , intent(in) :: dim
3390 real(TKG) , intent(in) :: weisum
3391 real(TKG) , intent(in) , contiguous :: weight(:)
3392 real(TKG) , intent(in) , contiguous :: sample(:)
3393 real(TKG) , intent(in) :: mean
3394 real(TKG) , intent(out) :: var
3395 end subroutine
3396#endif
3397
3398 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3399
3400 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3401 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3402 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3403
3404 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3405
3406#if CK5_ENABLED
3407 PURE module subroutine setVarAvgDIM_WTR_D2_CK5(var, mean, sample, dim, weight, weisum)
3408#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3409 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_CK5
3410#endif
3411 use pm_kind, only: TKG => CK5
3412 integer(IK) , intent(in) :: dim
3413 real(TKG) , intent(in) :: weisum
3414 real(TKG) , intent(in) , contiguous :: weight(:)
3415 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3416 complex(TKG) , intent(in) , contiguous :: mean(:)
3417 real(TKG) , intent(out) , contiguous :: var(:)
3418 end subroutine
3419#endif
3420
3421#if CK4_ENABLED
3422 PURE module subroutine setVarAvgDIM_WTR_D2_CK4(var, mean, sample, dim, weight, weisum)
3423#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3424 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_CK4
3425#endif
3426 use pm_kind, only: TKG => CK4
3427 integer(IK) , intent(in) :: dim
3428 real(TKG) , intent(in) :: weisum
3429 real(TKG) , intent(in) , contiguous :: weight(:)
3430 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3431 complex(TKG) , intent(in) , contiguous :: mean(:)
3432 real(TKG) , intent(out) , contiguous :: var(:)
3433 end subroutine
3434#endif
3435
3436#if CK3_ENABLED
3437 PURE module subroutine setVarAvgDIM_WTR_D2_CK3(var, mean, sample, dim, weight, weisum)
3438#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3439 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_CK3
3440#endif
3441 use pm_kind, only: TKG => CK3
3442 integer(IK) , intent(in) :: dim
3443 real(TKG) , intent(in) :: weisum
3444 real(TKG) , intent(in) , contiguous :: weight(:)
3445 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3446 complex(TKG) , intent(in) , contiguous :: mean(:)
3447 real(TKG) , intent(out) , contiguous :: var(:)
3448 end subroutine
3449#endif
3450
3451#if CK2_ENABLED
3452 PURE module subroutine setVarAvgDIM_WTR_D2_CK2(var, mean, sample, dim, weight, weisum)
3453#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3454 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_CK2
3455#endif
3456 use pm_kind, only: TKG => CK2
3457 integer(IK) , intent(in) :: dim
3458 real(TKG) , intent(in) :: weisum
3459 real(TKG) , intent(in) , contiguous :: weight(:)
3460 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3461 complex(TKG) , intent(in) , contiguous :: mean(:)
3462 real(TKG) , intent(out) , contiguous :: var(:)
3463 end subroutine
3464#endif
3465
3466#if CK1_ENABLED
3467 PURE module subroutine setVarAvgDIM_WTR_D2_CK1(var, mean, sample, dim, weight, weisum)
3468#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3469 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_CK1
3470#endif
3471 use pm_kind, only: TKG => CK1
3472 integer(IK) , intent(in) :: dim
3473 real(TKG) , intent(in) :: weisum
3474 real(TKG) , intent(in) , contiguous :: weight(:)
3475 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3476 complex(TKG) , intent(in) , contiguous :: mean(:)
3477 real(TKG) , intent(out) , contiguous :: var(:)
3478 end subroutine
3479#endif
3480
3481 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3482
3483#if RK5_ENABLED
3484 PURE module subroutine setVarAvgDIM_WTR_D2_RK5(var, mean, sample, dim, weight, weisum)
3485#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3486 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_RK5
3487#endif
3488 use pm_kind, only: TKG => RK5
3489 integer(IK) , intent(in) :: dim
3490 real(TKG) , intent(in) :: weisum
3491 real(TKG) , intent(in) , contiguous :: weight(:)
3492 real(TKG) , intent(in) , contiguous :: sample(:,:)
3493 real(TKG) , intent(in) , contiguous :: mean(:)
3494 real(TKG) , intent(out) , contiguous :: var(:)
3495 end subroutine
3496#endif
3497
3498#if RK4_ENABLED
3499 PURE module subroutine setVarAvgDIM_WTR_D2_RK4(var, mean, sample, dim, weight, weisum)
3500#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3501 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_RK4
3502#endif
3503 use pm_kind, only: TKG => RK4
3504 integer(IK) , intent(in) :: dim
3505 real(TKG) , intent(in) :: weisum
3506 real(TKG) , intent(in) , contiguous :: weight(:)
3507 real(TKG) , intent(in) , contiguous :: sample(:,:)
3508 real(TKG) , intent(in) , contiguous :: mean(:)
3509 real(TKG) , intent(out) , contiguous :: var(:)
3510 end subroutine
3511#endif
3512
3513#if RK3_ENABLED
3514 PURE module subroutine setVarAvgDIM_WTR_D2_RK3(var, mean, sample, dim, weight, weisum)
3515#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3516 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_RK3
3517#endif
3518 use pm_kind, only: TKG => RK3
3519 integer(IK) , intent(in) :: dim
3520 real(TKG) , intent(in) :: weisum
3521 real(TKG) , intent(in) , contiguous :: weight(:)
3522 real(TKG) , intent(in) , contiguous :: sample(:,:)
3523 real(TKG) , intent(in) , contiguous :: mean(:)
3524 real(TKG) , intent(out) , contiguous :: var(:)
3525 end subroutine
3526#endif
3527
3528#if RK2_ENABLED
3529 PURE module subroutine setVarAvgDIM_WTR_D2_RK2(var, mean, sample, dim, weight, weisum)
3530#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3531 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_RK2
3532#endif
3533 use pm_kind, only: TKG => RK2
3534 integer(IK) , intent(in) :: dim
3535 real(TKG) , intent(in) :: weisum
3536 real(TKG) , intent(in) , contiguous :: weight(:)
3537 real(TKG) , intent(in) , contiguous :: sample(:,:)
3538 real(TKG) , intent(in) , contiguous :: mean(:)
3539 real(TKG) , intent(out) , contiguous :: var(:)
3540 end subroutine
3541#endif
3542
3543#if RK1_ENABLED
3544 PURE module subroutine setVarAvgDIM_WTR_D2_RK1(var, mean, sample, dim, weight, weisum)
3545#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3546 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgDIM_WTR_D2_RK1
3547#endif
3548 use pm_kind, only: TKG => RK1
3549 integer(IK) , intent(in) :: dim
3550 real(TKG) , intent(in) :: weisum
3551 real(TKG) , intent(in) , contiguous :: weight(:)
3552 real(TKG) , intent(in) , contiguous :: sample(:,:)
3553 real(TKG) , intent(in) , contiguous :: mean(:)
3554 real(TKG) , intent(out) , contiguous :: var(:)
3555 end subroutine
3556#endif
3557
3558 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3559
3560 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3561 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3562 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3563
3564 end interface setVar
3565
3566 ! OrgDIM_WNO
3567
3568 interface setVar
3569
3570 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3571 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3572 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3573
3574 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3575
3576#if CK5_ENABLED
3577 PURE module subroutine setVarOrgDIM_WNO_D1_CK5(var, sample, dim)
3578#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3579 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_CK5
3580#endif
3581 use pm_kind, only: TKG => CK5
3582 integer(IK) , intent(in) :: dim
3583 complex(TKG) , intent(in) , contiguous :: sample(:)
3584 real(TKG) , intent(out) :: var
3585 end subroutine
3586#endif
3587
3588#if CK4_ENABLED
3589 PURE module subroutine setVarOrgDIM_WNO_D1_CK4(var, sample, dim)
3590#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3591 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_CK4
3592#endif
3593 use pm_kind, only: TKG => CK4
3594 integer(IK) , intent(in) :: dim
3595 complex(TKG) , intent(in) , contiguous :: sample(:)
3596 real(TKG) , intent(out) :: var
3597 end subroutine
3598#endif
3599
3600#if CK3_ENABLED
3601 PURE module subroutine setVarOrgDIM_WNO_D1_CK3(var, sample, dim)
3602#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3603 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_CK3
3604#endif
3605 use pm_kind, only: TKG => CK3
3606 integer(IK) , intent(in) :: dim
3607 complex(TKG) , intent(in) , contiguous :: sample(:)
3608 real(TKG) , intent(out) :: var
3609 end subroutine
3610#endif
3611
3612#if CK2_ENABLED
3613 PURE module subroutine setVarOrgDIM_WNO_D1_CK2(var, sample, dim)
3614#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3615 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_CK2
3616#endif
3617 use pm_kind, only: TKG => CK2
3618 integer(IK) , intent(in) :: dim
3619 complex(TKG) , intent(in) , contiguous :: sample(:)
3620 real(TKG) , intent(out) :: var
3621 end subroutine
3622#endif
3623
3624#if CK1_ENABLED
3625 PURE module subroutine setVarOrgDIM_WNO_D1_CK1(var, sample, dim)
3626#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3627 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_CK1
3628#endif
3629 use pm_kind, only: TKG => CK1
3630 integer(IK) , intent(in) :: dim
3631 complex(TKG) , intent(in) , contiguous :: sample(:)
3632 real(TKG) , intent(out) :: var
3633 end subroutine
3634#endif
3635
3636 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3637
3638#if RK5_ENABLED
3639 PURE module subroutine setVarOrgDIM_WNO_D1_RK5(var, sample, dim)
3640#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3641 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_RK5
3642#endif
3643 use pm_kind, only: TKG => RK5
3644 integer(IK) , intent(in) :: dim
3645 real(TKG) , intent(in) , contiguous :: sample(:)
3646 real(TKG) , intent(out) :: var
3647 end subroutine
3648#endif
3649
3650#if RK4_ENABLED
3651 PURE module subroutine setVarOrgDIM_WNO_D1_RK4(var, sample, dim)
3652#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3653 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_RK4
3654#endif
3655 use pm_kind, only: TKG => RK4
3656 integer(IK) , intent(in) :: dim
3657 real(TKG) , intent(in) , contiguous :: sample(:)
3658 real(TKG) , intent(out) :: var
3659 end subroutine
3660#endif
3661
3662#if RK3_ENABLED
3663 PURE module subroutine setVarOrgDIM_WNO_D1_RK3(var, sample, dim)
3664#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3665 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_RK3
3666#endif
3667 use pm_kind, only: TKG => RK3
3668 integer(IK) , intent(in) :: dim
3669 real(TKG) , intent(in) , contiguous :: sample(:)
3670 real(TKG) , intent(out) :: var
3671 end subroutine
3672#endif
3673
3674#if RK2_ENABLED
3675 PURE module subroutine setVarOrgDIM_WNO_D1_RK2(var, sample, dim)
3676#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3677 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_RK2
3678#endif
3679 use pm_kind, only: TKG => RK2
3680 integer(IK) , intent(in) :: dim
3681 real(TKG) , intent(in) , contiguous :: sample(:)
3682 real(TKG) , intent(out) :: var
3683 end subroutine
3684#endif
3685
3686#if RK1_ENABLED
3687 PURE module subroutine setVarOrgDIM_WNO_D1_RK1(var, sample, dim)
3688#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3689 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D1_RK1
3690#endif
3691 use pm_kind, only: TKG => RK1
3692 integer(IK) , intent(in) :: dim
3693 real(TKG) , intent(in) , contiguous :: sample(:)
3694 real(TKG) , intent(out) :: var
3695 end subroutine
3696#endif
3697
3698 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3699
3700 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3701 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3702 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3703
3704 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3705
3706#if CK5_ENABLED
3707 PURE module subroutine setVarOrgDIM_WNO_D2_CK5(var, sample, dim)
3708#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3709 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_CK5
3710#endif
3711 use pm_kind, only: TKG => CK5
3712 integer(IK) , intent(in) :: dim
3713 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3714 real(TKG) , intent(out) , contiguous :: var(:)
3715 end subroutine
3716#endif
3717
3718#if CK4_ENABLED
3719 PURE module subroutine setVarOrgDIM_WNO_D2_CK4(var, sample, dim)
3720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3721 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_CK4
3722#endif
3723 use pm_kind, only: TKG => CK4
3724 integer(IK) , intent(in) :: dim
3725 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3726 real(TKG) , intent(out) , contiguous :: var(:)
3727 end subroutine
3728#endif
3729
3730#if CK3_ENABLED
3731 PURE module subroutine setVarOrgDIM_WNO_D2_CK3(var, sample, dim)
3732#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3733 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_CK3
3734#endif
3735 use pm_kind, only: TKG => CK3
3736 integer(IK) , intent(in) :: dim
3737 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3738 real(TKG) , intent(out) , contiguous :: var(:)
3739 end subroutine
3740#endif
3741
3742#if CK2_ENABLED
3743 PURE module subroutine setVarOrgDIM_WNO_D2_CK2(var, sample, dim)
3744#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3745 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_CK2
3746#endif
3747 use pm_kind, only: TKG => CK2
3748 integer(IK) , intent(in) :: dim
3749 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3750 real(TKG) , intent(out) , contiguous :: var(:)
3751 end subroutine
3752#endif
3753
3754#if CK1_ENABLED
3755 PURE module subroutine setVarOrgDIM_WNO_D2_CK1(var, sample, dim)
3756#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3757 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_CK1
3758#endif
3759 use pm_kind, only: TKG => CK1
3760 integer(IK) , intent(in) :: dim
3761 complex(TKG) , intent(in) , contiguous :: sample(:,:)
3762 real(TKG) , intent(out) , contiguous :: var(:)
3763 end subroutine
3764#endif
3765
3766 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3767
3768#if RK5_ENABLED
3769 PURE module subroutine setVarOrgDIM_WNO_D2_RK5(var, sample, dim)
3770#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3771 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_RK5
3772#endif
3773 use pm_kind, only: TKG => RK5
3774 integer(IK) , intent(in) :: dim
3775 real(TKG) , intent(in) , contiguous :: sample(:,:)
3776 real(TKG) , intent(out) , contiguous :: var(:)
3777 end subroutine
3778#endif
3779
3780#if RK4_ENABLED
3781 PURE module subroutine setVarOrgDIM_WNO_D2_RK4(var, sample, dim)
3782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3783 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_RK4
3784#endif
3785 use pm_kind, only: TKG => RK4
3786 integer(IK) , intent(in) :: dim
3787 real(TKG) , intent(in) , contiguous :: sample(:,:)
3788 real(TKG) , intent(out) , contiguous :: var(:)
3789 end subroutine
3790#endif
3791
3792#if RK3_ENABLED
3793 PURE module subroutine setVarOrgDIM_WNO_D2_RK3(var, sample, dim)
3794#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3795 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_RK3
3796#endif
3797 use pm_kind, only: TKG => RK3
3798 integer(IK) , intent(in) :: dim
3799 real(TKG) , intent(in) , contiguous :: sample(:,:)
3800 real(TKG) , intent(out) , contiguous :: var(:)
3801 end subroutine
3802#endif
3803
3804#if RK2_ENABLED
3805 PURE module subroutine setVarOrgDIM_WNO_D2_RK2(var, sample, dim)
3806#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3807 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_RK2
3808#endif
3809 use pm_kind, only: TKG => RK2
3810 integer(IK) , intent(in) :: dim
3811 real(TKG) , intent(in) , contiguous :: sample(:,:)
3812 real(TKG) , intent(out) , contiguous :: var(:)
3813 end subroutine
3814#endif
3815
3816#if RK1_ENABLED
3817 PURE module subroutine setVarOrgDIM_WNO_D2_RK1(var, sample, dim)
3818#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3819 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WNO_D2_RK1
3820#endif
3821 use pm_kind, only: TKG => RK1
3822 integer(IK) , intent(in) :: dim
3823 real(TKG) , intent(in) , contiguous :: sample(:,:)
3824 real(TKG) , intent(out) , contiguous :: var(:)
3825 end subroutine
3826#endif
3827
3828 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3829
3830 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3831 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3832 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3833
3834 end interface setVar
3835
3836 ! OrgDIM_WTI
3837
3838 interface setVar
3839
3840 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3841 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3842 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3843
3844 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3845
3846#if CK5_ENABLED
3847 PURE module subroutine setVarOrgDIM_WTI_D1_CK5(var, sample, dim, weight, weisum)
3848#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3849 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_CK5
3850#endif
3851 use pm_kind, only: TKG => CK5
3852 integer(IK) , intent(in) :: dim
3853 integer(IK) , intent(in) :: weisum
3854 integer(IK) , intent(in) , contiguous :: weight(:)
3855 complex(TKG) , intent(in) , contiguous :: sample(:)
3856 real(TKG) , intent(out) :: var
3857 end subroutine
3858#endif
3859
3860#if CK4_ENABLED
3861 PURE module subroutine setVarOrgDIM_WTI_D1_CK4(var, sample, dim, weight, weisum)
3862#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3863 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_CK4
3864#endif
3865 use pm_kind, only: TKG => CK4
3866 integer(IK) , intent(in) :: dim
3867 integer(IK) , intent(in) :: weisum
3868 integer(IK) , intent(in) , contiguous :: weight(:)
3869 complex(TKG) , intent(in) , contiguous :: sample(:)
3870 real(TKG) , intent(out) :: var
3871 end subroutine
3872#endif
3873
3874#if CK3_ENABLED
3875 PURE module subroutine setVarOrgDIM_WTI_D1_CK3(var, sample, dim, weight, weisum)
3876#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3877 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_CK3
3878#endif
3879 use pm_kind, only: TKG => CK3
3880 integer(IK) , intent(in) :: dim
3881 integer(IK) , intent(in) :: weisum
3882 integer(IK) , intent(in) , contiguous :: weight(:)
3883 complex(TKG) , intent(in) , contiguous :: sample(:)
3884 real(TKG) , intent(out) :: var
3885 end subroutine
3886#endif
3887
3888#if CK2_ENABLED
3889 PURE module subroutine setVarOrgDIM_WTI_D1_CK2(var, sample, dim, weight, weisum)
3890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3891 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_CK2
3892#endif
3893 use pm_kind, only: TKG => CK2
3894 integer(IK) , intent(in) :: dim
3895 integer(IK) , intent(in) :: weisum
3896 integer(IK) , intent(in) , contiguous :: weight(:)
3897 complex(TKG) , intent(in) , contiguous :: sample(:)
3898 real(TKG) , intent(out) :: var
3899 end subroutine
3900#endif
3901
3902#if CK1_ENABLED
3903 PURE module subroutine setVarOrgDIM_WTI_D1_CK1(var, sample, dim, weight, weisum)
3904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3905 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_CK1
3906#endif
3907 use pm_kind, only: TKG => CK1
3908 integer(IK) , intent(in) :: dim
3909 integer(IK) , intent(in) :: weisum
3910 integer(IK) , intent(in) , contiguous :: weight(:)
3911 complex(TKG) , intent(in) , contiguous :: sample(:)
3912 real(TKG) , intent(out) :: var
3913 end subroutine
3914#endif
3915
3916 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3917
3918#if RK5_ENABLED
3919 PURE module subroutine setVarOrgDIM_WTI_D1_RK5(var, sample, dim, weight, weisum)
3920#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3921 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_RK5
3922#endif
3923 use pm_kind, only: TKG => RK5
3924 integer(IK) , intent(in) :: dim
3925 integer(IK) , intent(in) :: weisum
3926 integer(IK) , intent(in) , contiguous :: weight(:)
3927 real(TKG) , intent(in) , contiguous :: sample(:)
3928 real(TKG) , intent(out) :: var
3929 end subroutine
3930#endif
3931
3932#if RK4_ENABLED
3933 PURE module subroutine setVarOrgDIM_WTI_D1_RK4(var, sample, dim, weight, weisum)
3934#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3935 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_RK4
3936#endif
3937 use pm_kind, only: TKG => RK4
3938 integer(IK) , intent(in) :: dim
3939 integer(IK) , intent(in) :: weisum
3940 integer(IK) , intent(in) , contiguous :: weight(:)
3941 real(TKG) , intent(in) , contiguous :: sample(:)
3942 real(TKG) , intent(out) :: var
3943 end subroutine
3944#endif
3945
3946#if RK3_ENABLED
3947 PURE module subroutine setVarOrgDIM_WTI_D1_RK3(var, sample, dim, weight, weisum)
3948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3949 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_RK3
3950#endif
3951 use pm_kind, only: TKG => RK3
3952 integer(IK) , intent(in) :: dim
3953 integer(IK) , intent(in) :: weisum
3954 integer(IK) , intent(in) , contiguous :: weight(:)
3955 real(TKG) , intent(in) , contiguous :: sample(:)
3956 real(TKG) , intent(out) :: var
3957 end subroutine
3958#endif
3959
3960#if RK2_ENABLED
3961 PURE module subroutine setVarOrgDIM_WTI_D1_RK2(var, sample, dim, weight, weisum)
3962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3963 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_RK2
3964#endif
3965 use pm_kind, only: TKG => RK2
3966 integer(IK) , intent(in) :: dim
3967 integer(IK) , intent(in) :: weisum
3968 integer(IK) , intent(in) , contiguous :: weight(:)
3969 real(TKG) , intent(in) , contiguous :: sample(:)
3970 real(TKG) , intent(out) :: var
3971 end subroutine
3972#endif
3973
3974#if RK1_ENABLED
3975 PURE module subroutine setVarOrgDIM_WTI_D1_RK1(var, sample, dim, weight, weisum)
3976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3977 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D1_RK1
3978#endif
3979 use pm_kind, only: TKG => RK1
3980 integer(IK) , intent(in) :: dim
3981 integer(IK) , intent(in) :: weisum
3982 integer(IK) , intent(in) , contiguous :: weight(:)
3983 real(TKG) , intent(in) , contiguous :: sample(:)
3984 real(TKG) , intent(out) :: var
3985 end subroutine
3986#endif
3987
3988 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3989
3990 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3991 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3992 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3993
3994 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3995
3996#if CK5_ENABLED
3997 PURE module subroutine setVarOrgDIM_WTI_D2_CK5(var, sample, dim, weight, weisum)
3998#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3999 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_CK5
4000#endif
4001 use pm_kind, only: TKG => CK5
4002 integer(IK) , intent(in) :: dim
4003 integer(IK) , intent(in) :: weisum
4004 integer(IK) , intent(in) , contiguous :: weight(:)
4005 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4006 real(TKG) , intent(out) , contiguous :: var(:)
4007 end subroutine
4008#endif
4009
4010#if CK4_ENABLED
4011 PURE module subroutine setVarOrgDIM_WTI_D2_CK4(var, sample, dim, weight, weisum)
4012#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4013 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_CK4
4014#endif
4015 use pm_kind, only: TKG => CK4
4016 integer(IK) , intent(in) :: dim
4017 integer(IK) , intent(in) :: weisum
4018 integer(IK) , intent(in) , contiguous :: weight(:)
4019 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4020 real(TKG) , intent(out) , contiguous :: var(:)
4021 end subroutine
4022#endif
4023
4024#if CK3_ENABLED
4025 PURE module subroutine setVarOrgDIM_WTI_D2_CK3(var, sample, dim, weight, weisum)
4026#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4027 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_CK3
4028#endif
4029 use pm_kind, only: TKG => CK3
4030 integer(IK) , intent(in) :: dim
4031 integer(IK) , intent(in) :: weisum
4032 integer(IK) , intent(in) , contiguous :: weight(:)
4033 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4034 real(TKG) , intent(out) , contiguous :: var(:)
4035 end subroutine
4036#endif
4037
4038#if CK2_ENABLED
4039 PURE module subroutine setVarOrgDIM_WTI_D2_CK2(var, sample, dim, weight, weisum)
4040#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4041 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_CK2
4042#endif
4043 use pm_kind, only: TKG => CK2
4044 integer(IK) , intent(in) :: dim
4045 integer(IK) , intent(in) :: weisum
4046 integer(IK) , intent(in) , contiguous :: weight(:)
4047 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4048 real(TKG) , intent(out) , contiguous :: var(:)
4049 end subroutine
4050#endif
4051
4052#if CK1_ENABLED
4053 PURE module subroutine setVarOrgDIM_WTI_D2_CK1(var, sample, dim, weight, weisum)
4054#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4055 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_CK1
4056#endif
4057 use pm_kind, only: TKG => CK1
4058 integer(IK) , intent(in) :: dim
4059 integer(IK) , intent(in) :: weisum
4060 integer(IK) , intent(in) , contiguous :: weight(:)
4061 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4062 real(TKG) , intent(out) , contiguous :: var(:)
4063 end subroutine
4064#endif
4065
4066 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4067
4068#if RK5_ENABLED
4069 PURE module subroutine setVarOrgDIM_WTI_D2_RK5(var, sample, dim, weight, weisum)
4070#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4071 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_RK5
4072#endif
4073 use pm_kind, only: TKG => RK5
4074 integer(IK) , intent(in) :: dim
4075 integer(IK) , intent(in) :: weisum
4076 integer(IK) , intent(in) , contiguous :: weight(:)
4077 real(TKG) , intent(in) , contiguous :: sample(:,:)
4078 real(TKG) , intent(out) , contiguous :: var(:)
4079 end subroutine
4080#endif
4081
4082#if RK4_ENABLED
4083 PURE module subroutine setVarOrgDIM_WTI_D2_RK4(var, sample, dim, weight, weisum)
4084#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4085 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_RK4
4086#endif
4087 use pm_kind, only: TKG => RK4
4088 integer(IK) , intent(in) :: dim
4089 integer(IK) , intent(in) :: weisum
4090 integer(IK) , intent(in) , contiguous :: weight(:)
4091 real(TKG) , intent(in) , contiguous :: sample(:,:)
4092 real(TKG) , intent(out) , contiguous :: var(:)
4093 end subroutine
4094#endif
4095
4096#if RK3_ENABLED
4097 PURE module subroutine setVarOrgDIM_WTI_D2_RK3(var, sample, dim, weight, weisum)
4098#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4099 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_RK3
4100#endif
4101 use pm_kind, only: TKG => RK3
4102 integer(IK) , intent(in) :: dim
4103 integer(IK) , intent(in) :: weisum
4104 integer(IK) , intent(in) , contiguous :: weight(:)
4105 real(TKG) , intent(in) , contiguous :: sample(:,:)
4106 real(TKG) , intent(out) , contiguous :: var(:)
4107 end subroutine
4108#endif
4109
4110#if RK2_ENABLED
4111 PURE module subroutine setVarOrgDIM_WTI_D2_RK2(var, sample, dim, weight, weisum)
4112#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4113 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_RK2
4114#endif
4115 use pm_kind, only: TKG => RK2
4116 integer(IK) , intent(in) :: dim
4117 integer(IK) , intent(in) :: weisum
4118 integer(IK) , intent(in) , contiguous :: weight(:)
4119 real(TKG) , intent(in) , contiguous :: sample(:,:)
4120 real(TKG) , intent(out) , contiguous :: var(:)
4121 end subroutine
4122#endif
4123
4124#if RK1_ENABLED
4125 PURE module subroutine setVarOrgDIM_WTI_D2_RK1(var, sample, dim, weight, weisum)
4126#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4127 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTI_D2_RK1
4128#endif
4129 use pm_kind, only: TKG => RK1
4130 integer(IK) , intent(in) :: dim
4131 integer(IK) , intent(in) :: weisum
4132 integer(IK) , intent(in) , contiguous :: weight(:)
4133 real(TKG) , intent(in) , contiguous :: sample(:,:)
4134 real(TKG) , intent(out) , contiguous :: var(:)
4135 end subroutine
4136#endif
4137
4138 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4139
4140 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4141 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4142 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4143
4144 end interface setVar
4145
4146 ! OrgDIM_WTR
4147
4148 interface setVar
4149
4150 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4151 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4152 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4153
4154 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4155
4156#if CK5_ENABLED
4157 PURE module subroutine setVarOrgDIM_WTR_D1_CK5(var, sample, dim, weight, weisum)
4158#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4159 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_CK5
4160#endif
4161 use pm_kind, only: TKG => CK5
4162 integer(IK) , intent(in) :: dim
4163 real(TKG) , intent(in) :: weisum
4164 real(TKG) , intent(in) , contiguous :: weight(:)
4165 complex(TKG) , intent(in) , contiguous :: sample(:)
4166 real(TKG) , intent(out) :: var
4167 end subroutine
4168#endif
4169
4170#if CK4_ENABLED
4171 PURE module subroutine setVarOrgDIM_WTR_D1_CK4(var, sample, dim, weight, weisum)
4172#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4173 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_CK4
4174#endif
4175 use pm_kind, only: TKG => CK4
4176 integer(IK) , intent(in) :: dim
4177 real(TKG) , intent(in) :: weisum
4178 real(TKG) , intent(in) , contiguous :: weight(:)
4179 complex(TKG) , intent(in) , contiguous :: sample(:)
4180 real(TKG) , intent(out) :: var
4181 end subroutine
4182#endif
4183
4184#if CK3_ENABLED
4185 PURE module subroutine setVarOrgDIM_WTR_D1_CK3(var, sample, dim, weight, weisum)
4186#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4187 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_CK3
4188#endif
4189 use pm_kind, only: TKG => CK3
4190 integer(IK) , intent(in) :: dim
4191 real(TKG) , intent(in) :: weisum
4192 real(TKG) , intent(in) , contiguous :: weight(:)
4193 complex(TKG) , intent(in) , contiguous :: sample(:)
4194 real(TKG) , intent(out) :: var
4195 end subroutine
4196#endif
4197
4198#if CK2_ENABLED
4199 PURE module subroutine setVarOrgDIM_WTR_D1_CK2(var, sample, dim, weight, weisum)
4200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4201 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_CK2
4202#endif
4203 use pm_kind, only: TKG => CK2
4204 integer(IK) , intent(in) :: dim
4205 real(TKG) , intent(in) :: weisum
4206 real(TKG) , intent(in) , contiguous :: weight(:)
4207 complex(TKG) , intent(in) , contiguous :: sample(:)
4208 real(TKG) , intent(out) :: var
4209 end subroutine
4210#endif
4211
4212#if CK1_ENABLED
4213 PURE module subroutine setVarOrgDIM_WTR_D1_CK1(var, sample, dim, weight, weisum)
4214#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4215 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_CK1
4216#endif
4217 use pm_kind, only: TKG => CK1
4218 integer(IK) , intent(in) :: dim
4219 real(TKG) , intent(in) :: weisum
4220 real(TKG) , intent(in) , contiguous :: weight(:)
4221 complex(TKG) , intent(in) , contiguous :: sample(:)
4222 real(TKG) , intent(out) :: var
4223 end subroutine
4224#endif
4225
4226 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4227
4228#if RK5_ENABLED
4229 PURE module subroutine setVarOrgDIM_WTR_D1_RK5(var, sample, dim, weight, weisum)
4230#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4231 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_RK5
4232#endif
4233 use pm_kind, only: TKG => RK5
4234 integer(IK) , intent(in) :: dim
4235 real(TKG) , intent(in) :: weisum
4236 real(TKG) , intent(in) , contiguous :: weight(:)
4237 real(TKG) , intent(in) , contiguous :: sample(:)
4238 real(TKG) , intent(out) :: var
4239 end subroutine
4240#endif
4241
4242#if RK4_ENABLED
4243 PURE module subroutine setVarOrgDIM_WTR_D1_RK4(var, sample, dim, weight, weisum)
4244#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4245 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_RK4
4246#endif
4247 use pm_kind, only: TKG => RK4
4248 integer(IK) , intent(in) :: dim
4249 real(TKG) , intent(in) :: weisum
4250 real(TKG) , intent(in) , contiguous :: weight(:)
4251 real(TKG) , intent(in) , contiguous :: sample(:)
4252 real(TKG) , intent(out) :: var
4253 end subroutine
4254#endif
4255
4256#if RK3_ENABLED
4257 PURE module subroutine setVarOrgDIM_WTR_D1_RK3(var, sample, dim, weight, weisum)
4258#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4259 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_RK3
4260#endif
4261 use pm_kind, only: TKG => RK3
4262 integer(IK) , intent(in) :: dim
4263 real(TKG) , intent(in) :: weisum
4264 real(TKG) , intent(in) , contiguous :: weight(:)
4265 real(TKG) , intent(in) , contiguous :: sample(:)
4266 real(TKG) , intent(out) :: var
4267 end subroutine
4268#endif
4269
4270#if RK2_ENABLED
4271 PURE module subroutine setVarOrgDIM_WTR_D1_RK2(var, sample, dim, weight, weisum)
4272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4273 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_RK2
4274#endif
4275 use pm_kind, only: TKG => RK2
4276 integer(IK) , intent(in) :: dim
4277 real(TKG) , intent(in) :: weisum
4278 real(TKG) , intent(in) , contiguous :: weight(:)
4279 real(TKG) , intent(in) , contiguous :: sample(:)
4280 real(TKG) , intent(out) :: var
4281 end subroutine
4282#endif
4283
4284#if RK1_ENABLED
4285 PURE module subroutine setVarOrgDIM_WTR_D1_RK1(var, sample, dim, weight, weisum)
4286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4287 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D1_RK1
4288#endif
4289 use pm_kind, only: TKG => RK1
4290 integer(IK) , intent(in) :: dim
4291 real(TKG) , intent(in) :: weisum
4292 real(TKG) , intent(in) , contiguous :: weight(:)
4293 real(TKG) , intent(in) , contiguous :: sample(:)
4294 real(TKG) , intent(out) :: var
4295 end subroutine
4296#endif
4297
4298 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4299
4300 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4301 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4302 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4303
4304 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4305
4306#if CK5_ENABLED
4307 PURE module subroutine setVarOrgDIM_WTR_D2_CK5(var, sample, dim, weight, weisum)
4308#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4309 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_CK5
4310#endif
4311 use pm_kind, only: TKG => CK5
4312 integer(IK) , intent(in) :: dim
4313 real(TKG) , intent(in) :: weisum
4314 real(TKG) , intent(in) , contiguous :: weight(:)
4315 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4316 real(TKG) , intent(out) , contiguous :: var(:)
4317 end subroutine
4318#endif
4319
4320#if CK4_ENABLED
4321 PURE module subroutine setVarOrgDIM_WTR_D2_CK4(var, sample, dim, weight, weisum)
4322#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4323 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_CK4
4324#endif
4325 use pm_kind, only: TKG => CK4
4326 integer(IK) , intent(in) :: dim
4327 real(TKG) , intent(in) :: weisum
4328 real(TKG) , intent(in) , contiguous :: weight(:)
4329 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4330 real(TKG) , intent(out) , contiguous :: var(:)
4331 end subroutine
4332#endif
4333
4334#if CK3_ENABLED
4335 PURE module subroutine setVarOrgDIM_WTR_D2_CK3(var, sample, dim, weight, weisum)
4336#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4337 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_CK3
4338#endif
4339 use pm_kind, only: TKG => CK3
4340 integer(IK) , intent(in) :: dim
4341 real(TKG) , intent(in) :: weisum
4342 real(TKG) , intent(in) , contiguous :: weight(:)
4343 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4344 real(TKG) , intent(out) , contiguous :: var(:)
4345 end subroutine
4346#endif
4347
4348#if CK2_ENABLED
4349 PURE module subroutine setVarOrgDIM_WTR_D2_CK2(var, sample, dim, weight, weisum)
4350#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4351 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_CK2
4352#endif
4353 use pm_kind, only: TKG => CK2
4354 integer(IK) , intent(in) :: dim
4355 real(TKG) , intent(in) :: weisum
4356 real(TKG) , intent(in) , contiguous :: weight(:)
4357 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4358 real(TKG) , intent(out) , contiguous :: var(:)
4359 end subroutine
4360#endif
4361
4362#if CK1_ENABLED
4363 PURE module subroutine setVarOrgDIM_WTR_D2_CK1(var, sample, dim, weight, weisum)
4364#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4365 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_CK1
4366#endif
4367 use pm_kind, only: TKG => CK1
4368 integer(IK) , intent(in) :: dim
4369 real(TKG) , intent(in) :: weisum
4370 real(TKG) , intent(in) , contiguous :: weight(:)
4371 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4372 real(TKG) , intent(out) , contiguous :: var(:)
4373 end subroutine
4374#endif
4375
4376 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4377
4378#if RK5_ENABLED
4379 PURE module subroutine setVarOrgDIM_WTR_D2_RK5(var, sample, dim, weight, weisum)
4380#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4381 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_RK5
4382#endif
4383 use pm_kind, only: TKG => RK5
4384 integer(IK) , intent(in) :: dim
4385 real(TKG) , intent(in) :: weisum
4386 real(TKG) , intent(in) , contiguous :: weight(:)
4387 real(TKG) , intent(in) , contiguous :: sample(:,:)
4388 real(TKG) , intent(out) , contiguous :: var(:)
4389 end subroutine
4390#endif
4391
4392#if RK4_ENABLED
4393 PURE module subroutine setVarOrgDIM_WTR_D2_RK4(var, sample, dim, weight, weisum)
4394#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4395 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_RK4
4396#endif
4397 use pm_kind, only: TKG => RK4
4398 integer(IK) , intent(in) :: dim
4399 real(TKG) , intent(in) :: weisum
4400 real(TKG) , intent(in) , contiguous :: weight(:)
4401 real(TKG) , intent(in) , contiguous :: sample(:,:)
4402 real(TKG) , intent(out) , contiguous :: var(:)
4403 end subroutine
4404#endif
4405
4406#if RK3_ENABLED
4407 PURE module subroutine setVarOrgDIM_WTR_D2_RK3(var, sample, dim, weight, weisum)
4408#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4409 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_RK3
4410#endif
4411 use pm_kind, only: TKG => RK3
4412 integer(IK) , intent(in) :: dim
4413 real(TKG) , intent(in) :: weisum
4414 real(TKG) , intent(in) , contiguous :: weight(:)
4415 real(TKG) , intent(in) , contiguous :: sample(:,:)
4416 real(TKG) , intent(out) , contiguous :: var(:)
4417 end subroutine
4418#endif
4419
4420#if RK2_ENABLED
4421 PURE module subroutine setVarOrgDIM_WTR_D2_RK2(var, sample, dim, weight, weisum)
4422#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4423 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_RK2
4424#endif
4425 use pm_kind, only: TKG => RK2
4426 integer(IK) , intent(in) :: dim
4427 real(TKG) , intent(in) :: weisum
4428 real(TKG) , intent(in) , contiguous :: weight(:)
4429 real(TKG) , intent(in) , contiguous :: sample(:,:)
4430 real(TKG) , intent(out) , contiguous :: var(:)
4431 end subroutine
4432#endif
4433
4434#if RK1_ENABLED
4435 PURE module subroutine setVarOrgDIM_WTR_D2_RK1(var, sample, dim, weight, weisum)
4436#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4437 !DEC$ ATTRIBUTES DLLEXPORT :: setVarOrgDIM_WTR_D2_RK1
4438#endif
4439 use pm_kind, only: TKG => RK1
4440 integer(IK) , intent(in) :: dim
4441 real(TKG) , intent(in) :: weisum
4442 real(TKG) , intent(in) , contiguous :: weight(:)
4443 real(TKG) , intent(in) , contiguous :: sample(:,:)
4444 real(TKG) , intent(out) , contiguous :: var(:)
4445 end subroutine
4446#endif
4447
4448 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4449
4450 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4451 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4452 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4453
4454 end interface setVar
4455
4456 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4457
4458 ! AvgALL_WNO
4459
4460 interface setVar
4461
4462 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4463 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4464 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4465
4466 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4467
4468#if CK5_ENABLED
4469 PURE module subroutine setVarAvgALL_WNO_D1_CK5(var, mean, sample)
4470#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4471 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_CK5
4472#endif
4473 use pm_kind, only: TKG => CK5
4474 complex(TKG) , intent(in) , contiguous :: sample(:)
4475 complex(TKG) , intent(in) :: mean
4476 real(TKG) , intent(out) :: var
4477 end subroutine
4478#endif
4479
4480#if CK4_ENABLED
4481 PURE module subroutine setVarAvgALL_WNO_D1_CK4(var, mean, sample)
4482#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4483 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_CK4
4484#endif
4485 use pm_kind, only: TKG => CK4
4486 complex(TKG) , intent(in) , contiguous :: sample(:)
4487 complex(TKG) , intent(in) :: mean
4488 real(TKG) , intent(out) :: var
4489 end subroutine
4490#endif
4491
4492#if CK3_ENABLED
4493 PURE module subroutine setVarAvgALL_WNO_D1_CK3(var, mean, sample)
4494#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4495 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_CK3
4496#endif
4497 use pm_kind, only: TKG => CK3
4498 complex(TKG) , intent(in) , contiguous :: sample(:)
4499 complex(TKG) , intent(in) :: mean
4500 real(TKG) , intent(out) :: var
4501 end subroutine
4502#endif
4503
4504#if CK2_ENABLED
4505 PURE module subroutine setVarAvgALL_WNO_D1_CK2(var, mean, sample)
4506#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4507 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_CK2
4508#endif
4509 use pm_kind, only: TKG => CK2
4510 complex(TKG) , intent(in) , contiguous :: sample(:)
4511 complex(TKG) , intent(in) :: mean
4512 real(TKG) , intent(out) :: var
4513 end subroutine
4514#endif
4515
4516#if CK1_ENABLED
4517 PURE module subroutine setVarAvgALL_WNO_D1_CK1(var, mean, sample)
4518#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4519 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_CK1
4520#endif
4521 use pm_kind, only: TKG => CK1
4522 complex(TKG) , intent(in) , contiguous :: sample(:)
4523 complex(TKG) , intent(in) :: mean
4524 real(TKG) , intent(out) :: var
4525 end subroutine
4526#endif
4527
4528 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4529
4530#if RK5_ENABLED
4531 PURE module subroutine setVarAvgALL_WNO_D1_RK5(var, mean, sample)
4532#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4533 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_RK5
4534#endif
4535 use pm_kind, only: TKG => RK5
4536 real(TKG) , intent(in) , contiguous :: sample(:)
4537 real(TKG) , intent(in) :: mean
4538 real(TKG) , intent(out) :: var
4539 end subroutine
4540#endif
4541
4542#if RK4_ENABLED
4543 PURE module subroutine setVarAvgALL_WNO_D1_RK4(var, mean, sample)
4544#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4545 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_RK4
4546#endif
4547 use pm_kind, only: TKG => RK4
4548 real(TKG) , intent(in) , contiguous :: sample(:)
4549 real(TKG) , intent(in) :: mean
4550 real(TKG) , intent(out) :: var
4551 end subroutine
4552#endif
4553
4554#if RK3_ENABLED
4555 PURE module subroutine setVarAvgALL_WNO_D1_RK3(var, mean, sample)
4556#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4557 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_RK3
4558#endif
4559 use pm_kind, only: TKG => RK3
4560 real(TKG) , intent(in) , contiguous :: sample(:)
4561 real(TKG) , intent(in) :: mean
4562 real(TKG) , intent(out) :: var
4563 end subroutine
4564#endif
4565
4566#if RK2_ENABLED
4567 PURE module subroutine setVarAvgALL_WNO_D1_RK2(var, mean, sample)
4568#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4569 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_RK2
4570#endif
4571 use pm_kind, only: TKG => RK2
4572 real(TKG) , intent(in) , contiguous :: sample(:)
4573 real(TKG) , intent(in) :: mean
4574 real(TKG) , intent(out) :: var
4575 end subroutine
4576#endif
4577
4578#if RK1_ENABLED
4579 PURE module subroutine setVarAvgALL_WNO_D1_RK1(var, mean, sample)
4580#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4581 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D1_RK1
4582#endif
4583 use pm_kind, only: TKG => RK1
4584 real(TKG) , intent(in) , contiguous :: sample(:)
4585 real(TKG) , intent(in) :: mean
4586 real(TKG) , intent(out) :: var
4587 end subroutine
4588#endif
4589
4590 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4591
4592 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4593 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4594 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4595
4596 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4597
4598#if CK5_ENABLED
4599 PURE module subroutine setVarAvgALL_WNO_D2_CK5(var, mean, sample)
4600#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4601 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_CK5
4602#endif
4603 use pm_kind, only: TKG => CK5
4604 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4605 complex(TKG) , intent(in) :: mean
4606 real(TKG) , intent(out) :: var
4607 end subroutine
4608#endif
4609
4610#if CK4_ENABLED
4611 PURE module subroutine setVarAvgALL_WNO_D2_CK4(var, mean, sample)
4612#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4613 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_CK4
4614#endif
4615 use pm_kind, only: TKG => CK4
4616 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4617 complex(TKG) , intent(in) :: mean
4618 real(TKG) , intent(out) :: var
4619 end subroutine
4620#endif
4621
4622#if CK3_ENABLED
4623 PURE module subroutine setVarAvgALL_WNO_D2_CK3(var, mean, sample)
4624#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4625 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_CK3
4626#endif
4627 use pm_kind, only: TKG => CK3
4628 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4629 complex(TKG) , intent(in) :: mean
4630 real(TKG) , intent(out) :: var
4631 end subroutine
4632#endif
4633
4634#if CK2_ENABLED
4635 PURE module subroutine setVarAvgALL_WNO_D2_CK2(var, mean, sample)
4636#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4637 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_CK2
4638#endif
4639 use pm_kind, only: TKG => CK2
4640 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4641 complex(TKG) , intent(in) :: mean
4642 real(TKG) , intent(out) :: var
4643 end subroutine
4644#endif
4645
4646#if CK1_ENABLED
4647 PURE module subroutine setVarAvgALL_WNO_D2_CK1(var, mean, sample)
4648#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4649 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_CK1
4650#endif
4651 use pm_kind, only: TKG => CK1
4652 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4653 complex(TKG) , intent(in) :: mean
4654 real(TKG) , intent(out) :: var
4655 end subroutine
4656#endif
4657
4658 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4659
4660#if RK5_ENABLED
4661 PURE module subroutine setVarAvgALL_WNO_D2_RK5(var, mean, sample)
4662#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4663 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_RK5
4664#endif
4665 use pm_kind, only: TKG => RK5
4666 real(TKG) , intent(in) , contiguous :: sample(:,:)
4667 real(TKG) , intent(in) :: mean
4668 real(TKG) , intent(out) :: var
4669 end subroutine
4670#endif
4671
4672#if RK4_ENABLED
4673 PURE module subroutine setVarAvgALL_WNO_D2_RK4(var, mean, sample)
4674#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4675 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_RK4
4676#endif
4677 use pm_kind, only: TKG => RK4
4678 real(TKG) , intent(in) , contiguous :: sample(:,:)
4679 real(TKG) , intent(in) :: mean
4680 real(TKG) , intent(out) :: var
4681 end subroutine
4682#endif
4683
4684#if RK3_ENABLED
4685 PURE module subroutine setVarAvgALL_WNO_D2_RK3(var, mean, sample)
4686#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4687 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_RK3
4688#endif
4689 use pm_kind, only: TKG => RK3
4690 real(TKG) , intent(in) , contiguous :: sample(:,:)
4691 real(TKG) , intent(in) :: mean
4692 real(TKG) , intent(out) :: var
4693 end subroutine
4694#endif
4695
4696#if RK2_ENABLED
4697 PURE module subroutine setVarAvgALL_WNO_D2_RK2(var, mean, sample)
4698#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4699 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_RK2
4700#endif
4701 use pm_kind, only: TKG => RK2
4702 real(TKG) , intent(in) , contiguous :: sample(:,:)
4703 real(TKG) , intent(in) :: mean
4704 real(TKG) , intent(out) :: var
4705 end subroutine
4706#endif
4707
4708#if RK1_ENABLED
4709 PURE module subroutine setVarAvgALL_WNO_D2_RK1(var, mean, sample)
4710#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4711 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WNO_D2_RK1
4712#endif
4713 use pm_kind, only: TKG => RK1
4714 real(TKG) , intent(in) , contiguous :: sample(:,:)
4715 real(TKG) , intent(in) :: mean
4716 real(TKG) , intent(out) :: var
4717 end subroutine
4718#endif
4719
4720 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4721
4722 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4723 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4724 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4725
4726 end interface setVar
4727
4728 ! AvgALL_WTI
4729
4730 interface setVar
4731
4732 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4733 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4734 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4735
4736 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4737
4738#if CK5_ENABLED
4739 PURE module subroutine setVarAvgALL_WTI_D1_CK5(var, mean, sample, weight, weisum)
4740#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4741 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_CK5
4742#endif
4743 use pm_kind, only: TKG => CK5
4744 integer(IK) , intent(in) :: weisum
4745 integer(IK) , intent(in) , contiguous :: weight(:)
4746 complex(TKG) , intent(in) , contiguous :: sample(:)
4747 complex(TKG) , intent(in) :: mean
4748 real(TKG) , intent(out) :: var
4749 end subroutine
4750#endif
4751
4752#if CK4_ENABLED
4753 PURE module subroutine setVarAvgALL_WTI_D1_CK4(var, mean, sample, weight, weisum)
4754#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4755 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_CK4
4756#endif
4757 use pm_kind, only: TKG => CK4
4758 integer(IK) , intent(in) :: weisum
4759 integer(IK) , intent(in) , contiguous :: weight(:)
4760 complex(TKG) , intent(in) , contiguous :: sample(:)
4761 complex(TKG) , intent(in) :: mean
4762 real(TKG) , intent(out) :: var
4763 end subroutine
4764#endif
4765
4766#if CK3_ENABLED
4767 PURE module subroutine setVarAvgALL_WTI_D1_CK3(var, mean, sample, weight, weisum)
4768#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4769 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_CK3
4770#endif
4771 use pm_kind, only: TKG => CK3
4772 integer(IK) , intent(in) :: weisum
4773 integer(IK) , intent(in) , contiguous :: weight(:)
4774 complex(TKG) , intent(in) , contiguous :: sample(:)
4775 complex(TKG) , intent(in) :: mean
4776 real(TKG) , intent(out) :: var
4777 end subroutine
4778#endif
4779
4780#if CK2_ENABLED
4781 PURE module subroutine setVarAvgALL_WTI_D1_CK2(var, mean, sample, weight, weisum)
4782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4783 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_CK2
4784#endif
4785 use pm_kind, only: TKG => CK2
4786 integer(IK) , intent(in) :: weisum
4787 integer(IK) , intent(in) , contiguous :: weight(:)
4788 complex(TKG) , intent(in) , contiguous :: sample(:)
4789 complex(TKG) , intent(in) :: mean
4790 real(TKG) , intent(out) :: var
4791 end subroutine
4792#endif
4793
4794#if CK1_ENABLED
4795 PURE module subroutine setVarAvgALL_WTI_D1_CK1(var, mean, sample, weight, weisum)
4796#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4797 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_CK1
4798#endif
4799 use pm_kind, only: TKG => CK1
4800 integer(IK) , intent(in) :: weisum
4801 integer(IK) , intent(in) , contiguous :: weight(:)
4802 complex(TKG) , intent(in) , contiguous :: sample(:)
4803 complex(TKG) , intent(in) :: mean
4804 real(TKG) , intent(out) :: var
4805 end subroutine
4806#endif
4807
4808 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4809
4810#if RK5_ENABLED
4811 PURE module subroutine setVarAvgALL_WTI_D1_RK5(var, mean, sample, weight, weisum)
4812#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4813 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_RK5
4814#endif
4815 use pm_kind, only: TKG => RK5
4816 integer(IK) , intent(in) :: weisum
4817 integer(IK) , intent(in) , contiguous :: weight(:)
4818 real(TKG) , intent(in) , contiguous :: sample(:)
4819 real(TKG) , intent(in) :: mean
4820 real(TKG) , intent(out) :: var
4821 end subroutine
4822#endif
4823
4824#if RK4_ENABLED
4825 PURE module subroutine setVarAvgALL_WTI_D1_RK4(var, mean, sample, weight, weisum)
4826#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4827 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_RK4
4828#endif
4829 use pm_kind, only: TKG => RK4
4830 integer(IK) , intent(in) :: weisum
4831 integer(IK) , intent(in) , contiguous :: weight(:)
4832 real(TKG) , intent(in) , contiguous :: sample(:)
4833 real(TKG) , intent(in) :: mean
4834 real(TKG) , intent(out) :: var
4835 end subroutine
4836#endif
4837
4838#if RK3_ENABLED
4839 PURE module subroutine setVarAvgALL_WTI_D1_RK3(var, mean, sample, weight, weisum)
4840#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4841 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_RK3
4842#endif
4843 use pm_kind, only: TKG => RK3
4844 integer(IK) , intent(in) :: weisum
4845 integer(IK) , intent(in) , contiguous :: weight(:)
4846 real(TKG) , intent(in) , contiguous :: sample(:)
4847 real(TKG) , intent(in) :: mean
4848 real(TKG) , intent(out) :: var
4849 end subroutine
4850#endif
4851
4852#if RK2_ENABLED
4853 PURE module subroutine setVarAvgALL_WTI_D1_RK2(var, mean, sample, weight, weisum)
4854#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4855 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_RK2
4856#endif
4857 use pm_kind, only: TKG => RK2
4858 integer(IK) , intent(in) :: weisum
4859 integer(IK) , intent(in) , contiguous :: weight(:)
4860 real(TKG) , intent(in) , contiguous :: sample(:)
4861 real(TKG) , intent(in) :: mean
4862 real(TKG) , intent(out) :: var
4863 end subroutine
4864#endif
4865
4866#if RK1_ENABLED
4867 PURE module subroutine setVarAvgALL_WTI_D1_RK1(var, mean, sample, weight, weisum)
4868#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4869 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D1_RK1
4870#endif
4871 use pm_kind, only: TKG => RK1
4872 integer(IK) , intent(in) :: weisum
4873 integer(IK) , intent(in) , contiguous :: weight(:)
4874 real(TKG) , intent(in) , contiguous :: sample(:)
4875 real(TKG) , intent(in) :: mean
4876 real(TKG) , intent(out) :: var
4877 end subroutine
4878#endif
4879
4880 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4881
4882 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4883 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4884 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4885
4886 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4887
4888#if CK5_ENABLED
4889 PURE module subroutine setVarAvgALL_WTI_D2_CK5(var, mean, sample, weight, weisum)
4890#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4891 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_CK5
4892#endif
4893 use pm_kind, only: TKG => CK5
4894 integer(IK) , intent(in) :: weisum
4895 integer(IK) , intent(in) , contiguous :: weight(:)
4896 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4897 complex(TKG) , intent(in) :: mean
4898 real(TKG) , intent(out) :: var
4899 end subroutine
4900#endif
4901
4902#if CK4_ENABLED
4903 PURE module subroutine setVarAvgALL_WTI_D2_CK4(var, mean, sample, weight, weisum)
4904#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4905 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_CK4
4906#endif
4907 use pm_kind, only: TKG => CK4
4908 integer(IK) , intent(in) :: weisum
4909 integer(IK) , intent(in) , contiguous :: weight(:)
4910 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4911 complex(TKG) , intent(in) :: mean
4912 real(TKG) , intent(out) :: var
4913 end subroutine
4914#endif
4915
4916#if CK3_ENABLED
4917 PURE module subroutine setVarAvgALL_WTI_D2_CK3(var, mean, sample, weight, weisum)
4918#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4919 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_CK3
4920#endif
4921 use pm_kind, only: TKG => CK3
4922 integer(IK) , intent(in) :: weisum
4923 integer(IK) , intent(in) , contiguous :: weight(:)
4924 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4925 complex(TKG) , intent(in) :: mean
4926 real(TKG) , intent(out) :: var
4927 end subroutine
4928#endif
4929
4930#if CK2_ENABLED
4931 PURE module subroutine setVarAvgALL_WTI_D2_CK2(var, mean, sample, weight, weisum)
4932#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4933 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_CK2
4934#endif
4935 use pm_kind, only: TKG => CK2
4936 integer(IK) , intent(in) :: weisum
4937 integer(IK) , intent(in) , contiguous :: weight(:)
4938 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4939 complex(TKG) , intent(in) :: mean
4940 real(TKG) , intent(out) :: var
4941 end subroutine
4942#endif
4943
4944#if CK1_ENABLED
4945 PURE module subroutine setVarAvgALL_WTI_D2_CK1(var, mean, sample, weight, weisum)
4946#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4947 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_CK1
4948#endif
4949 use pm_kind, only: TKG => CK1
4950 integer(IK) , intent(in) :: weisum
4951 integer(IK) , intent(in) , contiguous :: weight(:)
4952 complex(TKG) , intent(in) , contiguous :: sample(:,:)
4953 complex(TKG) , intent(in) :: mean
4954 real(TKG) , intent(out) :: var
4955 end subroutine
4956#endif
4957
4958 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4959
4960#if RK5_ENABLED
4961 PURE module subroutine setVarAvgALL_WTI_D2_RK5(var, mean, sample, weight, weisum)
4962#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4963 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_RK5
4964#endif
4965 use pm_kind, only: TKG => RK5
4966 integer(IK) , intent(in) :: weisum
4967 integer(IK) , intent(in) , contiguous :: weight(:)
4968 real(TKG) , intent(in) , contiguous :: sample(:,:)
4969 real(TKG) , intent(in) :: mean
4970 real(TKG) , intent(out) :: var
4971 end subroutine
4972#endif
4973
4974#if RK4_ENABLED
4975 PURE module subroutine setVarAvgALL_WTI_D2_RK4(var, mean, sample, weight, weisum)
4976#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4977 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_RK4
4978#endif
4979 use pm_kind, only: TKG => RK4
4980 integer(IK) , intent(in) :: weisum
4981 integer(IK) , intent(in) , contiguous :: weight(:)
4982 real(TKG) , intent(in) , contiguous :: sample(:,:)
4983 real(TKG) , intent(in) :: mean
4984 real(TKG) , intent(out) :: var
4985 end subroutine
4986#endif
4987
4988#if RK3_ENABLED
4989 PURE module subroutine setVarAvgALL_WTI_D2_RK3(var, mean, sample, weight, weisum)
4990#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4991 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_RK3
4992#endif
4993 use pm_kind, only: TKG => RK3
4994 integer(IK) , intent(in) :: weisum
4995 integer(IK) , intent(in) , contiguous :: weight(:)
4996 real(TKG) , intent(in) , contiguous :: sample(:,:)
4997 real(TKG) , intent(in) :: mean
4998 real(TKG) , intent(out) :: var
4999 end subroutine
5000#endif
5001
5002#if RK2_ENABLED
5003 PURE module subroutine setVarAvgALL_WTI_D2_RK2(var, mean, sample, weight, weisum)
5004#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5005 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_RK2
5006#endif
5007 use pm_kind, only: TKG => RK2
5008 integer(IK) , intent(in) :: weisum
5009 integer(IK) , intent(in) , contiguous :: weight(:)
5010 real(TKG) , intent(in) , contiguous :: sample(:,:)
5011 real(TKG) , intent(in) :: mean
5012 real(TKG) , intent(out) :: var
5013 end subroutine
5014#endif
5015
5016#if RK1_ENABLED
5017 PURE module subroutine setVarAvgALL_WTI_D2_RK1(var, mean, sample, weight, weisum)
5018#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5019 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTI_D2_RK1
5020#endif
5021 use pm_kind, only: TKG => RK1
5022 integer(IK) , intent(in) :: weisum
5023 integer(IK) , intent(in) , contiguous :: weight(:)
5024 real(TKG) , intent(in) , contiguous :: sample(:,:)
5025 real(TKG) , intent(in) :: mean
5026 real(TKG) , intent(out) :: var
5027 end subroutine
5028#endif
5029
5030 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5031
5032 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5033 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5034 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5035
5036 end interface setVar
5037
5038 ! AvgALL_WTR
5039
5040 interface setVar
5041
5042 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5043 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5044 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5045
5046 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5047
5048#if CK5_ENABLED
5049 PURE module subroutine setVarAvgALL_WTR_D1_CK5(var, mean, sample, weight, weisum)
5050#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5051 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_CK5
5052#endif
5053 use pm_kind, only: TKG => CK5
5054 real(TKG) , intent(in) :: weisum
5055 real(TKG) , intent(in) , contiguous :: weight(:)
5056 complex(TKG) , intent(in) , contiguous :: sample(:)
5057 complex(TKG) , intent(in) :: mean
5058 real(TKG) , intent(out) :: var
5059 end subroutine
5060#endif
5061
5062#if CK4_ENABLED
5063 PURE module subroutine setVarAvgALL_WTR_D1_CK4(var, mean, sample, weight, weisum)
5064#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5065 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_CK4
5066#endif
5067 use pm_kind, only: TKG => CK4
5068 real(TKG) , intent(in) :: weisum
5069 real(TKG) , intent(in) , contiguous :: weight(:)
5070 complex(TKG) , intent(in) , contiguous :: sample(:)
5071 complex(TKG) , intent(in) :: mean
5072 real(TKG) , intent(out) :: var
5073 end subroutine
5074#endif
5075
5076#if CK3_ENABLED
5077 PURE module subroutine setVarAvgALL_WTR_D1_CK3(var, mean, sample, weight, weisum)
5078#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5079 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_CK3
5080#endif
5081 use pm_kind, only: TKG => CK3
5082 real(TKG) , intent(in) :: weisum
5083 real(TKG) , intent(in) , contiguous :: weight(:)
5084 complex(TKG) , intent(in) , contiguous :: sample(:)
5085 complex(TKG) , intent(in) :: mean
5086 real(TKG) , intent(out) :: var
5087 end subroutine
5088#endif
5089
5090#if CK2_ENABLED
5091 PURE module subroutine setVarAvgALL_WTR_D1_CK2(var, mean, sample, weight, weisum)
5092#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5093 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_CK2
5094#endif
5095 use pm_kind, only: TKG => CK2
5096 real(TKG) , intent(in) :: weisum
5097 real(TKG) , intent(in) , contiguous :: weight(:)
5098 complex(TKG) , intent(in) , contiguous :: sample(:)
5099 complex(TKG) , intent(in) :: mean
5100 real(TKG) , intent(out) :: var
5101 end subroutine
5102#endif
5103
5104#if CK1_ENABLED
5105 PURE module subroutine setVarAvgALL_WTR_D1_CK1(var, mean, sample, weight, weisum)
5106#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5107 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_CK1
5108#endif
5109 use pm_kind, only: TKG => CK1
5110 real(TKG) , intent(in) :: weisum
5111 real(TKG) , intent(in) , contiguous :: weight(:)
5112 complex(TKG) , intent(in) , contiguous :: sample(:)
5113 complex(TKG) , intent(in) :: mean
5114 real(TKG) , intent(out) :: var
5115 end subroutine
5116#endif
5117
5118 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5119
5120#if RK5_ENABLED
5121 PURE module subroutine setVarAvgALL_WTR_D1_RK5(var, mean, sample, weight, weisum)
5122#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5123 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_RK5
5124#endif
5125 use pm_kind, only: TKG => RK5
5126 real(TKG) , intent(in) :: weisum
5127 real(TKG) , intent(in) , contiguous :: weight(:)
5128 real(TKG) , intent(in) , contiguous :: sample(:)
5129 real(TKG) , intent(in) :: mean
5130 real(TKG) , intent(out) :: var
5131 end subroutine
5132#endif
5133
5134#if RK4_ENABLED
5135 PURE module subroutine setVarAvgALL_WTR_D1_RK4(var, mean, sample, weight, weisum)
5136#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5137 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_RK4
5138#endif
5139 use pm_kind, only: TKG => RK4
5140 real(TKG) , intent(in) :: weisum
5141 real(TKG) , intent(in) , contiguous :: weight(:)
5142 real(TKG) , intent(in) , contiguous :: sample(:)
5143 real(TKG) , intent(in) :: mean
5144 real(TKG) , intent(out) :: var
5145 end subroutine
5146#endif
5147
5148#if RK3_ENABLED
5149 PURE module subroutine setVarAvgALL_WTR_D1_RK3(var, mean, sample, weight, weisum)
5150#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5151 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_RK3
5152#endif
5153 use pm_kind, only: TKG => RK3
5154 real(TKG) , intent(in) :: weisum
5155 real(TKG) , intent(in) , contiguous :: weight(:)
5156 real(TKG) , intent(in) , contiguous :: sample(:)
5157 real(TKG) , intent(in) :: mean
5158 real(TKG) , intent(out) :: var
5159 end subroutine
5160#endif
5161
5162#if RK2_ENABLED
5163 PURE module subroutine setVarAvgALL_WTR_D1_RK2(var, mean, sample, weight, weisum)
5164#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5165 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_RK2
5166#endif
5167 use pm_kind, only: TKG => RK2
5168 real(TKG) , intent(in) :: weisum
5169 real(TKG) , intent(in) , contiguous :: weight(:)
5170 real(TKG) , intent(in) , contiguous :: sample(:)
5171 real(TKG) , intent(in) :: mean
5172 real(TKG) , intent(out) :: var
5173 end subroutine
5174#endif
5175
5176#if RK1_ENABLED
5177 PURE module subroutine setVarAvgALL_WTR_D1_RK1(var, mean, sample, weight, weisum)
5178#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5179 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D1_RK1
5180#endif
5181 use pm_kind, only: TKG => RK1
5182 real(TKG) , intent(in) :: weisum
5183 real(TKG) , intent(in) , contiguous :: weight(:)
5184 real(TKG) , intent(in) , contiguous :: sample(:)
5185 real(TKG) , intent(in) :: mean
5186 real(TKG) , intent(out) :: var
5187 end subroutine
5188#endif
5189
5190 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5191
5192 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5193 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5194 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5195
5196 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5197
5198#if CK5_ENABLED
5199 PURE module subroutine setVarAvgALL_WTR_D2_CK5(var, mean, sample, weight, weisum)
5200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5201 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_CK5
5202#endif
5203 use pm_kind, only: TKG => CK5
5204 real(TKG) , intent(in) :: weisum
5205 real(TKG) , intent(in) , contiguous :: weight(:)
5206 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5207 complex(TKG) , intent(in) :: mean
5208 real(TKG) , intent(out) :: var
5209 end subroutine
5210#endif
5211
5212#if CK4_ENABLED
5213 PURE module subroutine setVarAvgALL_WTR_D2_CK4(var, mean, sample, weight, weisum)
5214#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5215 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_CK4
5216#endif
5217 use pm_kind, only: TKG => CK4
5218 real(TKG) , intent(in) :: weisum
5219 real(TKG) , intent(in) , contiguous :: weight(:)
5220 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5221 complex(TKG) , intent(in) :: mean
5222 real(TKG) , intent(out) :: var
5223 end subroutine
5224#endif
5225
5226#if CK3_ENABLED
5227 PURE module subroutine setVarAvgALL_WTR_D2_CK3(var, mean, sample, weight, weisum)
5228#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5229 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_CK3
5230#endif
5231 use pm_kind, only: TKG => CK3
5232 real(TKG) , intent(in) :: weisum
5233 real(TKG) , intent(in) , contiguous :: weight(:)
5234 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5235 complex(TKG) , intent(in) :: mean
5236 real(TKG) , intent(out) :: var
5237 end subroutine
5238#endif
5239
5240#if CK2_ENABLED
5241 PURE module subroutine setVarAvgALL_WTR_D2_CK2(var, mean, sample, weight, weisum)
5242#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5243 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_CK2
5244#endif
5245 use pm_kind, only: TKG => CK2
5246 real(TKG) , intent(in) :: weisum
5247 real(TKG) , intent(in) , contiguous :: weight(:)
5248 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5249 complex(TKG) , intent(in) :: mean
5250 real(TKG) , intent(out) :: var
5251 end subroutine
5252#endif
5253
5254#if CK1_ENABLED
5255 PURE module subroutine setVarAvgALL_WTR_D2_CK1(var, mean, sample, weight, weisum)
5256#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5257 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_CK1
5258#endif
5259 use pm_kind, only: TKG => CK1
5260 real(TKG) , intent(in) :: weisum
5261 real(TKG) , intent(in) , contiguous :: weight(:)
5262 complex(TKG) , intent(in) , contiguous :: sample(:,:)
5263 complex(TKG) , intent(in) :: mean
5264 real(TKG) , intent(out) :: var
5265 end subroutine
5266#endif
5267
5268 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5269
5270#if RK5_ENABLED
5271 PURE module subroutine setVarAvgALL_WTR_D2_RK5(var, mean, sample, weight, weisum)
5272#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5273 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_RK5
5274#endif
5275 use pm_kind, only: TKG => RK5
5276 real(TKG) , intent(in) :: weisum
5277 real(TKG) , intent(in) , contiguous :: weight(:)
5278 real(TKG) , intent(in) , contiguous :: sample(:,:)
5279 real(TKG) , intent(in) :: mean
5280 real(TKG) , intent(out) :: var
5281 end subroutine
5282#endif
5283
5284#if RK4_ENABLED
5285 PURE module subroutine setVarAvgALL_WTR_D2_RK4(var, mean, sample, weight, weisum)
5286#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5287 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_RK4
5288#endif
5289 use pm_kind, only: TKG => RK4
5290 real(TKG) , intent(in) :: weisum
5291 real(TKG) , intent(in) , contiguous :: weight(:)
5292 real(TKG) , intent(in) , contiguous :: sample(:,:)
5293 real(TKG) , intent(in) :: mean
5294 real(TKG) , intent(out) :: var
5295 end subroutine
5296#endif
5297
5298#if RK3_ENABLED
5299 PURE module subroutine setVarAvgALL_WTR_D2_RK3(var, mean, sample, weight, weisum)
5300#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5301 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_RK3
5302#endif
5303 use pm_kind, only: TKG => RK3
5304 real(TKG) , intent(in) :: weisum
5305 real(TKG) , intent(in) , contiguous :: weight(:)
5306 real(TKG) , intent(in) , contiguous :: sample(:,:)
5307 real(TKG) , intent(in) :: mean
5308 real(TKG) , intent(out) :: var
5309 end subroutine
5310#endif
5311
5312#if RK2_ENABLED
5313 PURE module subroutine setVarAvgALL_WTR_D2_RK2(var, mean, sample, weight, weisum)
5314#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5315 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_RK2
5316#endif
5317 use pm_kind, only: TKG => RK2
5318 real(TKG) , intent(in) :: weisum
5319 real(TKG) , intent(in) , contiguous :: weight(:)
5320 real(TKG) , intent(in) , contiguous :: sample(:,:)
5321 real(TKG) , intent(in) :: mean
5322 real(TKG) , intent(out) :: var
5323 end subroutine
5324#endif
5325
5326#if RK1_ENABLED
5327 PURE module subroutine setVarAvgALL_WTR_D2_RK1(var, mean, sample, weight, weisum)
5328#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5329 !DEC$ ATTRIBUTES DLLEXPORT :: setVarAvgALL_WTR_D2_RK1
5330#endif
5331 use pm_kind, only: TKG => RK1
5332 real(TKG) , intent(in) :: weisum
5333 real(TKG) , intent(in) , contiguous :: weight(:)
5334 real(TKG) , intent(in) , contiguous :: sample(:,:)
5335 real(TKG) , intent(in) :: mean
5336 real(TKG) , intent(out) :: var
5337 end subroutine
5338#endif
5339
5340 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5341
5342 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5343 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5344 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5345
5346 end interface setVar
5347
5348 ! OrgALL_WNO
5349
5350 interface setVar
5351
5352 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5353 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5354 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5355
5356 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5357
5358#if CK5_ENABLED
5359 PURE module subroutine setVarOrgALL_WNO_D1_CK5(var, sample)
5360#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5361 !DEC$ ATTRIBU