649 & ,NBVARIABLES,SIZE_VARIABLES,SIZE_GEST
650 & ,NBVARIABLES_ROOT,SIZE_VARIABLES_ROOT,SIZE_GEST_ROOT
651 & ,TOTAL_FILE_SIZE,TOTAL_STRUC_SIZE
652 & ,INFO1,INFO2,INFOG1,INFOG2)
656 INTEGER,
intent(in)::unit,NBVARIABLES,NBVARIABLES_ROOT
657 CHARACTER(len=*),
intent(in) :: mode
658 INTEGER(8),
dimension(NBVARIABLES)::SIZE_VARIABLES
659 INTEGER(8),
dimension(NBVARIABLES_ROOT)::SIZE_VARIABLES_ROOT
660 INTEGER,
dimension(NBVARIABLES)::
661 INTEGER,
dimension(NBVARIABLES_ROOT)::SIZE_GEST_ROOT
662 INTEGER(8) :: TOTAL_FILE_SIZE,TOTAL_STRUC_SIZE
663 INTEGER:: INFO1,INFO2,INFOG1,INFOG2
664 INTEGER:: j,i1,i2,err,ierr
665 CHARACTER(len=30),
allocatable,
dimension(:)::VARIABLES
666 CHARACTER(len=30),
allocatable,
dimension(:)::VARIABLES_ROOT
667 CHARACTER(len=30) :: TMP_STRING1, TMP_STRING2
668 CHARACTER :: ARITH,READ_ARITH
669 INTEGER(8) :: ,gest_size,WRITTEN_STRUC_SIZE
670 INTEGER:: SIZE_INT, SIZE_INT8, SIZE_RL_OR_DBL, SIZE_ARITH_DEP
671 INTEGER:: SIZE_DOUBLE_PRECISION, SIZE_LOGICAL, SIZE_CHARACTER
672 INTEGER:: READ_NPROCS, READ_PAR, READ_SYM
673 INTEGER,
dimension(NBVARIABLES)::NbRecords
674 INTEGER,
dimension(NBVARIABLES_ROOT)::NbRecords_ROOT
675 INTEGER:: size_array1,size_array2,dummy,allocok
676 INTEGER(8):: size_array_INT8_1,size_array_INT8_2
677 LOGICAL:: INT_TYPE_64, READ_INT_TYPE_64
678 INTEGER:: tot_NbRecords,NbSubRecords
679 INTEGER(8):: size_read,size_allocated
680 INTEGER(8),
dimension(NBVARIABLES)::DIFF_SIZE_ALLOC_READ
681 INTEGER(8),
dimension(NBVARIABLES_ROOT)::DIFF_SIZE_ALLOC_READ_ROOT
682 INTEGER::READ_OOC_FILE_NAME_LENGTH
683 CHARACTER(len=LEN_SAVE_FILE):: READ_OOC_FIRST_FILE_NAME
684 INTEGER,
dimension(4)::OOC_INDICES
685 CHARACTER(len=8) :: date
686 CHARACTER(len=10) :: time
687 CHARACTER(len=5) :: zone
688 INTEGER,
dimension(8):: values
689 CHARACTER(len=23) :: hash,READ_HASH
691LOGICAL :: FORTRAN_VERSION_OK
692 CHARACTER(len=1) :: TMP_OOC_NAMES(350)
693 INTEGER(8)::SIZE_VARIABLES_BLR,SIZE_VARIABLES_FRONT_DATA,
694 & size_variables_l0fac
695 INTEGER::SIZE_GEST_BLR,SIZE_GEST_FRONT_DATA,SIZE_GEST_L0FAC
696 INTEGER :: KEEP411_SAVE
698 TYPE (CMUMPS_STRUC) :: id
699 allocate(VARIABLES(NBVARIABLES), stat=allocok)
700 if (allocok .GT. 0)
THEN
702 id%INFO(2) = nbvariables
706 IF ( id%INFO(1) .LT. 0 )
GOTO 100
707 variables(186)=
"ASSOCIATED_OOC_FILES"
708 variables(185)=
"pad16"
709 variables(184)=
"Deficiency"
710 variables(183)=
"NB_SINGULAR_VALUES"
711 variables(182)=
"SINGULAR_VALUES"
712 variables(181)=
"MPITOOMP_PROCS_MAP"
713 variables(180)=
"L0_OMP_MAPPING"
714 variables(179)=
"PTR_LEAFS_L0_OMP"
715 variables(178)=
"PERM_L0_OMP"
716 variables(177)=
"VIRT_L0_OMP_MAPPING"
717 variables(176)=
"VIRT_L0_OMP"
718 variables(175)=
"PHYS_L0_OMP"
719 variables(174)=
"IPOOL_A_L0_OMP"
720 variables(173)=
"IPOOL_B_L0_OMP"
721 variables(172)=
"I8_L0_OMP"
722 variables(171)=
"I4_L0_OMP"
723 variables(170)=
"THREAD_LA"
724 variables(169)=
"LL0_OMP_FACTORS"
725 variables(168)=
"LL0_OMP_MAPPING"
726 variables(167)=
"L_VIRT_L0_OMP"
727 variables(166)=
"L_PHYS_L0_OMP"
728 variables(165)=
"LPOOL_B_L0_OMP"
729 variables(164)=
"LPOOL_A_L0_OMP"
730 variables(163)=
"L0_OMP_FACTORS"
731 variables(162)=
"BLRARRAY_ENCODING"
732 variables(161)=
"FDM_F_ENCODING"
733 variables(160)=
"pad13"
734 variables(159)=
"NBGRP"
735 variables(158)=
"LRGROUPS"
736 variables(157)=
"root"
737 variables(156)=
"WORKING"
738 variables(155)=
"IPTR_WORKING"
739 variables(154)=
"pad14"
740 variables(153)=
"SUP_PROC"
741 variables(152)=
"PIVNUL_LIST"
742 variables(151)=
"OOC_FILE_NAMES"
743 variables(150)=
"OOC_FILE_NAME_LENGTH"
744 variables(149)=
"pad12"
745 variables(148)=
"OOC_NB_FILE_TYPE"
746 variables(147)=
"OOC_NB_FILES"
747 variables(146)=
"OOC_TOTAL_NB_NODES"
748 variables(145)=
"OOC_VADDR"
749 variables(144)=
"OOC_SIZE_OF_BLOCK"
750 variables(143)=
"OOC_INODE_SEQUENCE"
751 variables(142)="ooc_max_nb_nodes_for_zone
"
752 VARIABLES(141)="instance_number
"
753 VARIABLES(140)="cb_son_size
"
754 VARIABLES(139)="dkeep
"
755 VARIABLES(138)="lwk_user
"
756 VARIABLES(137)="nbsa_local
"
757 VARIABLES(136)="wk_user
"
758 VARIABLES(135)="croix_manu
"
759 VARIABLES(134)="sched_sbtr
"
760 VARIABLES(133)="sched_grp
"
761 VARIABLES(132)="sched_dep
"
762 VARIABLES(131)="sbtr_id
"
763 VARIABLES(130)="depth_first_seq
"
764 VARIABLES(129)="depth_first
"
765 VARIABLES(128)="my_nb_leaf
"
766 VARIABLES(127)="my_first_leaf
"
767 VARIABLES(126)="my_root_sbtr
"
768 VARIABLES(125)="cost_trav
"
769 VARIABLES(124)="mem_subtree
"
770 VARIABLES(123)="rhscomp
"
771 VARIABLES(122)="posinrhscomp_col
"
772 VARIABLES(121)="pad11
"
773 VARIABLES(120)="posinrhscomp_col_alloc
"
774 VARIABLES(119)="posinrhscomp_row
"
775 VARIABLES(118)="mem_dist
"
776 VARIABLES(117)="i_am_cand
"
777 VARIABLES(116)="tab_pos_in_pere
"
778 VARIABLES(115)="future_niv2
"
779 VARIABLES(114)="istep_to_iniv2
"
780 VARIABLES(113)="candidates
"
781 VARIABLES(112)="eltproc
"
782 VARIABLES(111)="leltvar
"
783 VARIABLES(110)="nelt_loc
"
784 VARIABLES(109)="dblarr
"
785 VARIABLES(108)="intarr
"
786 VARIABLES(107)="procnode
"
788 VARIABLES(105)="ptrfac
"
789 VARIABLES(104)="ptlust_s
"
790 VARIABLES(103)="step2node
"
791 VARIABLES(102)="procnode_steps
"
793 VARIABLES(100)="ptrar
"
794 VARIABLES(99)="frtelt
"
795 VARIABLES(98)="frtptr
"
797 VARIABLES(96)="dad_steps
"
798 VARIABLES(95)="frere_steps
"
799 VARIABLES(94)="nd_steps
"
800 VARIABLES(93)="ne_steps
"
806 VARIABLES(87)="ass_irecv
"
807 VARIABLES(86)="nslaves
"
808 VARIABLES(85)="nprocs
"
810 VARIABLES(83)="comm_load
"
811 VARIABLES(82)="myid_nodes
"
812 VARIABLES(81)="comm_nodes
"
813 VARIABLES(80)="inst_number
"
814 VARIABLES(79)="max_surf_master
"
815 VARIABLES(78)="keep8
"
817 VARIABLES(76)="save_prefix
"
818 VARIABLES(75)="save_dir
"
819 VARIABLES(74)="write_problem
"
820 VARIABLES(73)="ooc_prefix
"
821 VARIABLES(72)="ooc_tmpdir
"
822 VARIABLES(71)="version_number
"
823 VARIABLES(70)="mapping
"
824 VARIABLES(69)="listvar_schur
"
825 VARIABLES(68)="schur_cinterface
"
826 VARIABLES(67)="schur
"
827 VARIABLES(66)="size_schur
"
828 VARIABLES(65)="schur_lld
"
829 VARIABLES(64)="schur_nloc
"
830 VARIABLES(63)="schur_mloc
"
831 VARIABLES(62)="nblock
"
832 VARIABLES(61)="mblock
"
833 VARIABLES(60)="npcol
"
834 VARIABLES(59)="nprow
"
835 VARIABLES(58)="uns_perm
"
836 VARIABLES(57)="sym_perm
"
837 VARIABLES(56)="metis_options
"
838 VARIABLES(55)="rinfog
"
839 VARIABLES(54)="rinfo
"
841 VARIABLES(52)="cost_subtrees
"
842 VARIABLES(51)="infog
"
844 VARIABLES(49)="icntl
"
846 VARIABLES(47)="lsol_loc
"
847 VARIABLES(46)="lredrhs
"
848 VARIABLES(45)="lrhs_loc
"
849 VARIABLES(44)="nloc_rhs
"
850 VARIABLES(43)="nz_rhs
"
853 VARIABLES(40)="irhs_loc
"
854 VARIABLES(39)="isol_loc
"
855 VARIABLES(38)="irhs_ptr
"
856 VARIABLES(37)="irhs_sparse
"
857 VARIABLES(36)="rhs_loc
"
858 VARIABLES(35)="sol_loc
"
859 VARIABLES(34)="rhs_sparse
"
860 VARIABLES(33)="redrhs
"
862 VARIABLES(31)="blkvar
"
863 VARIABLES(30)="blkptr
"
866 VARIABLES(27)="perm_in
"
868 VARIABLES(25)="a_elt
"
869 VARIABLES(24)="eltvar
"
870 VARIABLES(23)="eltptr
"
874 VARIABLES(19)="a_loc"
875 variables(18)=
"JCN_loc"
876 variables(17)=
"IRN_loc"
877 variables(16)=
"NNZ_loc"
879 variables(14)=
"NZ_loc"
881 variables(12)=
"ROWSCA"
882 variables(11)=
"COLSCA"
893 allocate(variables_root(nbvariables_root), stat=allocok)
894 if (allocok .GT. 0)
THEN
896 id%INFO(2) = nbvariables_root
900 IF ( id%INFO(1) .LT. 0 )
GOTO 100
901 variables_root(35)=
"rootpad4"
902 variables_root(34)=
"NB_SINGULAR_VALUES"
903 variables_root(33)=
"SINGULAR_VALUES"
904 variables_root(32)=
"SVD_VT"
905 variables_root(31)=
"SVD_U"
906 variables_root(30)=
"gridinit_done"
907 variables_root(29)=
"yes"
908 variables_root(28)="rootpad3
"
909 VARIABLES_ROOT(27)="qr_rcond
"
910 VARIABLES_ROOT(26)="rootpad
"
911 VARIABLES_ROOT(25)="rhs_root
"
912 VARIABLES_ROOT(24)="rootpad2
"
913 VARIABLES_ROOT(23)="qr_tau
"
914 VARIABLES_ROOT(22)="schur_pointer
"
915 VARIABLES_ROOT(21)="rhs_cntr_master_root
"
916 VARIABLES_ROOT(20)="rootpad1
"
917 VARIABLES_ROOT(19)="ipiv
"
918 VARIABLES_ROOT(18)="rg2l_col
"
919 VARIABLES_ROOT(17)="rg2l_row
"
920 VARIABLES_ROOT(16)="rootpad0
"
921 VARIABLES_ROOT(15)="lpiv
"
922 VARIABLES_ROOT(14)="cntxt_blacs
"
923 VARIABLES_ROOT(13)="descriptor
"
924 VARIABLES_ROOT(12)="tot_root_size
"
925 VARIABLES_ROOT(11)="root_size
"
926 VARIABLES_ROOT(10)="rhs_nloc
"
927 VARIABLES_ROOT(9)="schur_lld
"
928 VARIABLES_ROOT(8)="schur_nloc
"
929 VARIABLES_ROOT(7)="schur_mloc
"
930 VARIABLES_ROOT(6)="mycol
"
931 VARIABLES_ROOT(5)="myrow
"
932 VARIABLES_ROOT(4)="npcol
"
933 VARIABLES_ROOT(3)="nprow
"
934 VARIABLES_ROOT(2)="nblock
"
935 VARIABLES_ROOT(1)="mblock
"
936 OOC_INDICES=(/147,148,150,151/)
937 SIZE_INT = id%KEEP(34)
938 SIZE_INT8 = id%KEEP(34)*id%KEEP(10)
939 SIZE_RL_OR_DBL = id%KEEP(16)
940 SIZE_ARITH_DEP = id%KEEP(35)
941 SIZE_DOUBLE_PRECISION = 8
944 size_written=int(0,kind=8)
948 size_read=int(0,kind=8)
949 size_allocated=int(0,kind=8)
950 DIFF_SIZE_ALLOC_READ(:)=0
951 DIFF_SIZE_ALLOC_READ_ROOT(:)=0
952 WRITTEN_STRUC_SIZE=int(0,kind=8)
954 SIZE_VARIABLES_BLR=0_8
956 SIZE_VARIABLES_FRONT_DATA=0_8
957 SIZE_GEST_FRONT_DATA=0
958 SIZE_VARIABLES_L0FAC=0
960.EQ.
if(trim(mode)"memory_save
") then
961.EQ.
elseif(trim(mode)"save") then
962 write(unit,iostat=err) "mumps
"
965 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
968 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
970.LT.
IF ( id%INFO(1) 0 ) GOTO 100
971 size_written=size_written+int(5*SIZE_CHARACTER,kind=8)
972#if !defined(MUMPS_F2003)
973 size_written=size_written
974 & +int(2*id%KEEP(34)*1,kind=8)
976.EQ.
IF(id%MYID0) THEN
977 call date_and_time(date,time,zone,values)
978 hash=trim(date)//trim(time)//trim(zone)
980 CALL MPI_BCAST( hash, 23, MPI_CHARACTER, 0, id%COMM, ierr )
981 write(unit,iostat=err) hash
984 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
987 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
989.LT.
IF ( id%INFO(1) 0 ) GOTO 100
990 size_written=size_written+int(23*SIZE_CHARACTER,kind=8)
991#if !defined(MUMPS_F2003)
992 size_written=size_written
993 & +int(2*id%KEEP(34)*1,kind=8)
995 write(unit,iostat=err) TOTAL_FILE_SIZE,TOTAL_STRUC_SIZE
998 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1001 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1002 & id%COMM, id%MYID )
1003.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1004 size_written=size_written+int(2*SIZE_INT8,kind=8)
1005#if !defined(MUMPS_F2003)
1006 size_written=size_written
1007 & +int(2*id%KEEP(34)*1,kind=8)
1010 write(unit,iostat=err) ARITH
1013 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1016 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1017 & id%COMM, id%MYID )
1018.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1019 size_written=size_written+int(1,kind=8)
1020#if !defined(MUMPS_F2003)
1021 size_written=size_written
1022 & +int(2*id%KEEP(34)*1,kind=8)
1024 write(unit,iostat=err) id%SYM,id%PAR,id%NPROCS
1027 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1030 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1031 & id%COMM, id%MYID )
1032.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1033 size_written=size_written+int(3*SIZE_INT,kind=8)
1034#if !defined(MUMPS_F2003)
1035 size_written=size_written
1036 & +int(2*id%KEEP(34)*1,kind=8)
1038.EQ.
IF(id%KEEP(10)1) THEN
1043 write(unit,iostat=err) INT_TYPE_64
1046 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1049 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1050 & id%COMM, id%MYID )
1051.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1052 size_written=size_written+int(SIZE_LOGICAL,kind=8)
1053#if !defined(MUMPS_F2003)
1054 size_written=size_written
1055 & +int(2*id%KEEP(34)*1,kind=8)
1057.AND.
IF(associated(id%OOC_FILE_NAME_LENGTH)
1058 & associated(id%OOC_FILE_NAMES)) THEN
1059 write(unit,iostat=err) id%OOC_FILE_NAME_LENGTH(1)
1062 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1065 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1066 & id%COMM, id%MYID )
1067.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1068 size_written=size_written+int(SIZE_INT,kind=8)
1069#if !defined(MUMPS_F2003)
1070 size_written=size_written
1071 & +int(2*id%KEEP(34)*1,kind=8)
1073 TMP_OOC_NAMES(1:id%OOC_FILE_NAME_LENGTH(1))=
1074 & id%OOC_FILE_NAMES(1,1:id%OOC_FILE_NAME_LENGTH(1))
1075 write(unit,iostat=err)
1076 & TMP_OOC_NAMES(1:id%OOC_FILE_NAME_LENGTH(1))
1079 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1082 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1083 & id%COMM, id%MYID )
1084.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1085 size_written=size_written
1086 & +int(id%OOC_FILE_NAME_LENGTH(1)*SIZE_CHARACTER,kind=8)
1087#if !defined(MUMPS_F2003)
1088 size_written=size_written
1089 & +int(2*id%KEEP(34)*1,kind=8)
1092 write(unit,iostat=err) -999
1095 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1098 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1099 & id%COMM, id%MYID )
1100.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1101 size_written=size_written+int(SIZE_INT,kind=8)
1102#if !defined(MUMPS_F2003)
1103 size_written=size_written
1104 & +int(2*id%KEEP(34)*1,kind=8)
1106 write(unit,iostat=err) -999
1109 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1112 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1113 & id%COMM, id%MYID )
1114.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1115 size_written=size_written+int(SIZE_INT,kind=8)
1116#if !defined(MUMPS_F2003)
1117 size_written=size_written
1118 & +int(2*id%KEEP(34)*1,kind=8)
1121.EQ.
elseif((trim(mode)"restore.OR.
")
1122.EQ.
& (trim(mode)"restore_ooc
")) then
1123 CALL MUMPS_READ_HEADER(unit,err,size_read,SIZE_INT,SIZE_INT8,
1124 & TOTAL_FILE_SIZE, TOTAL_STRUC_SIZE, READ_ARITH,
1125 & READ_INT_TYPE_64, READ_OOC_FILE_NAME_LENGTH,
1126 & READ_OOC_FIRST_FILE_NAME,READ_HASH,
1127 & READ_SYM,READ_PAR,READ_NPROCS,FORTRAN_VERSION_OK)
1130 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1132.NOT.
elseif (FORTRAN_VERSION_OK) THEN
1136 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1137 & id%COMM, id%MYID )
1138.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1139 BASIC_CHECK = .false.
1140.EQ.
IF (trim(mode)"restore_ooc
") THEN
1141 BASIC_CHECK = .true.
1143 CALL CMUMPS_CHECK_HEADER(id,BASIC_CHECK,READ_INT_TYPE_64,
1144 & READ_HASH, READ_NPROCS,
1145 & READ_ARITH, READ_SYM, READ_PAR)
1146.LT.
IF (id%INFO(1) 0) GOTO 100
1147.EQ.
elseif(trim(mode)"fake_restore
") then
1148 read(unit,iostat=err) READ_HASH
1149.ne.
if(err0) GOTO 100
1150 read(unit,iostat=err) TOTAL_FILE_SIZE,TOTAL_STRUC_SIZE
1151.ne.
if(err0) GOTO 100
1152.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1157 DO j=1,size(OOC_INDICES)
1159 TMP_STRING1 = VARIABLES(i1)
1160 SELECT CASE(TMP_STRING1)
1161 CASE("ooc_nb_files
")
1163.EQ.
if(trim(mode)"memory_save
") then
1164 IF(associated(id%OOC_NB_FILES)) THEN
1165 SIZE_GEST(i1)=SIZE_INT
1166 SIZE_VARIABLES(i1)=size(id%OOC_NB_FILES,1)*SIZE_INT
1168 SIZE_GEST(i1)=SIZE_INT*2
1169 SIZE_VARIABLES(i1)=0_8
1171.EQ.
elseif(trim(mode)"save") then
1172 IF(associated(id%OOC_NB_FILES)) THEN
1173 write(unit,iostat=err) size(id%OOC_NB_FILES,1)
1176 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1179 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1180 & id%COMM, id%MYID )
1181.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1182 write(unit,iostat=err) id%OOC_NB_FILES
1184 write(unit,iostat=err) -999
1187 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1190 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1191 & id%COMM, id%MYID )
1192.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1193 write(unit,iostat=err) -999
1197 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1200 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1201 & id%COMM, id%MYID )
1202.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1203.EQ.
elseif((trim(mode)"restore.OR.
")
1204.EQ.
& (trim(mode)"restore_ooc
")) then
1205 nullify(id%OOC_NB_FILES)
1206 read(unit,iostat=err) size_array1
1209 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1212 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1213 & id%COMM, id%MYID )
1214.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1215.EQ.
if(size_array1-999) then
1216 SIZE_GEST(i1)=SIZE_INT*2
1217 SIZE_VARIABLES(i1)=0_8
1218 read(unit,iostat=err) dummy
1220 SIZE_GEST(i1)=SIZE_INT
1221 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
1222 allocate(id%OOC_NB_FILES(size_array1), stat=allocok)
1223.GT.
if (allocok 0) THEN
1225 CALL MUMPS_SETI8TOI4(
1226 & TOTAL_STRUC_SIZE-size_allocated
1229 read(unit,iostat=err) id%OOC_NB_FILES
1231 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1232 & id%COMM, id%MYID )
1233.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1236 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1239 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1240 & id%COMM, id%MYID )
1241.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1243 CASE("ooc_nb_file_type
")
1245.EQ.
if(trim(mode)"memory_save
") then
1246 SIZE_VARIABLES(i1)=SIZE_INT
1247.EQ.
elseif(trim(mode)"save") then
1248 write(unit,iostat=err) id%OOC_NB_FILE_TYPE
1251 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1254 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1255 & id%COMM, id%MYID )
1256.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1257.EQ.
elseif((trim(mode)"restore.OR.
")
1258.EQ.
& (trim(mode)"restore_ooc
")) then
1259 SIZE_VARIABLES(i1)=SIZE_INT
1260 read(unit,iostat=err) id%OOC_NB_FILE_TYPE
1263 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1266 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1267 & id%COMM, id%MYID )
1268.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1270 CASE("ooc_file_names
")
1272.EQ.
if(trim(mode)"memory_save
") then
1273 IF(associated(id%OOC_FILE_NAMES)) THEN
1274 SIZE_GEST(i1)=SIZE_INT*2
1275 SIZE_VARIABLES(i1)=size(id%OOC_FILE_NAMES,1)
1276 & *size(id%OOC_FILE_NAMES,2)*SIZE_CHARACTER
1278 SIZE_GEST(i1)=SIZE_INT*3
1279 SIZE_VARIABLES(i1)=0_8
1281.EQ.
elseif(trim(mode)"save") then
1282 IF(associated(id%OOC_FILE_NAMES)) THEN
1283 write(unit,iostat=err) size(id%OOC_FILE_NAMES,1)
1284 & ,size(id%OOC_FILE_NAMES,2)
1287 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1290 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1291 & id%COMM, id%MYID )
1292.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1293 write(unit,iostat=err) id%OOC_FILE_NAMES
1295 write(unit,iostat=err) -999,-998
1298 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1301 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1302 & id%COMM, id%MYID )
1303.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1304 write(unit,iostat=err) -999
1308 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1311 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1312 & id%COMM, id%MYID )
1313.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1314.EQ.
elseif((trim(mode)"restore.OR.
")
1315.EQ.
& (trim(mode)"restore_ooc
")) then
1316 nullify(id%OOC_FILE_NAMES)
1317 read(unit,iostat=err) size_array1,size_array2
1320 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1323 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1324 & id%COMM, id%MYID )
1325.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1326.EQ.
if(size_array1-999) then
1327 SIZE_GEST(i1)=SIZE_INT*3
1328 SIZE_VARIABLES(i1)=0_8
1329 read(unit,iostat=err) dummy
1331 SIZE_GEST(i1)=SIZE_INT*2
1332 SIZE_VARIABLES(i1)=size_array1*size_array2
1334 allocate(id%OOC_FILE_NAMES(size_array1,size_array2),
1336.GT.
if (allocok 0) THEN
1338 CALL MUMPS_SETI8TOI4(
1339 & TOTAL_STRUC_SIZE-size_allocated
1342 read(unit,iostat=err) id%OOC_FILE_NAMES
1344 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1345 & id%COMM, id%MYID )
1346.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1349 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1352 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1353 & id%COMM, id%MYID )
1354.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1356 CASE("ooc_file_name_length
")
1358.EQ.
if(trim(mode)"memory_save
") then
1359 IF(associated(id%OOC_FILE_NAME_LENGTH)) THEN
1360 SIZE_GEST(i1)=SIZE_INT
1362 & size(id%OOC_FILE_NAME_LENGTH,1)*SIZE_INT
1364 SIZE_GEST(i1)=SIZE_INT*2
1365 SIZE_VARIABLES(i1)=0_8
1367.EQ.
elseif(trim(mode)"save") then
1368 IF(associated(id%OOC_FILE_NAME_LENGTH)) THEN
1369 write(unit,iostat=err) size(id%OOC_FILE_NAME_LENGTH,1)
1372 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1375 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1376 & id%COMM, id%MYID )
1377.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1378 write(unit,iostat=err) id%OOC_FILE_NAME_LENGTH
1380 write(unit,iostat=err) -999
1383 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1386 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1387 & id%COMM, id%MYID )
1388.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1389 write(unit,iostat=err) -999
1393 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1396 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1397 & id%COMM, id%MYID )
1398.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1399.EQ.
elseif((trim(mode)"restore.OR.
")
1400.EQ.
& (trim(mode)"restore_ooc
")) then
1401 nullify(id%OOC_FILE_NAME_LENGTH)
1402 read(unit,iostat=err) size_array1
1405 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1408 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1409 & id%COMM, id%MYID )
1410.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1411.EQ.
if(size_array1-999) then
1412 SIZE_GEST(i1)=SIZE_INT*2
1413 SIZE_VARIABLES(i1)=0_8
1414 read(unit,iostat=err) dummy
1416 SIZE_GEST(i1)=SIZE_INT
1417 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
1418 allocate(id%OOC_FILE_NAME_LENGTH(size_array1),
1420.GT.
if (allocok 0) THEN
1422 CALL MUMPS_SETI8TOI4(
1423 & TOTAL_STRUC_SIZE-size_allocated
1426 read(unit,iostat=err) id%OOC_FILE_NAME_LENGTH
1428 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1429 & id%COMM, id%MYID )
1430.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1433 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1436 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1437 & id%COMM, id%MYID )
1438.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1443.EQ.
if(trim(mode)"restore_ooc
") then
1447 TMP_STRING1 = VARIABLES(i1)
1448 SELECT CASE(TMP_STRING1)
1450.EQ.
if(trim(mode)"memory_save
") then
1451 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1452.EQ.
elseif(trim(mode)"save") then
1453 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1454.EQ.
elseif(trim(mode)"restore
") then
1455 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1459.EQ.
if(trim(mode)"memory_save
") then
1460 SIZE_VARIABLES(i1)=SIZE_INT
1461.EQ.
elseif(trim(mode)"save") then
1462 write(unit,iostat=err) id%SYM
1465 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1468 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1469 & id%COMM, id%MYID )
1470.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1471.EQ.
elseif(trim(mode)"restore
") then
1472 SIZE_VARIABLES(i1)=SIZE_INT
1473 read(unit,iostat=err) id%SYM
1476 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read,
1479 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1480 & id%COMM, id%MYID )
1481.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1485.EQ.
if(trim(mode)"memory_save
") then
1486 SIZE_VARIABLES(i1)=SIZE_INT
1487.EQ.
elseif(trim(mode)"save") then
1488 write(unit,iostat=err) id%PAR
1491 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1494 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1495 & id%COMM, id%MYID )
1496.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1497.EQ.
elseif(trim(mode)"restore
") then
1498 SIZE_VARIABLES(i1)=SIZE_INT
1499 read(unit,iostat=err) id%PAR
1502 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1505 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1506 & id%COMM, id%MYID )
1507.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1510.EQ.
if(trim(mode)"memory_save
") then
1511 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1512.EQ.
elseif(trim(mode)"save") then
1513 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1514.EQ.
elseif(trim(mode)"restore
") then
1515 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1519.EQ.
if(trim(mode)"memory_save
") then
1520 SIZE_VARIABLES(i1)=SIZE_INT
1521.EQ.
elseif(trim(mode)"save") then
1522 write(unit,iostat=err) id%N
1525 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1528 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1529 & id%COMM, id%MYID )
1530.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1531.EQ.
elseif(trim(mode)"restore
") then
1532 SIZE_VARIABLES(i1)=SIZE_INT
1533 read(unit,iostat=err) id%N
1536 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1539 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1540 & id%COMM, id%MYID )
1541.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1545.EQ.
if(trim(mode)"memory_save
") then
1546 SIZE_VARIABLES(i1)=SIZE_INT*size(id%ICNTL,1)
1547.EQ.
elseif(trim(mode)"save") then
1548 write(unit,iostat=err) id%ICNTL
1551 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1554 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1555 & id%COMM, id%MYID )
1556.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1557.EQ.
elseif(trim(mode)"restore
") then
1558 SIZE_VARIABLES(i1)=SIZE_INT*size(id%ICNTL,1)
1559 read(unit,iostat=err) id%ICNTL
1562 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1565 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1566 & id%COMM, id%MYID )
1567.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1571.EQ.
if(trim(mode)"memory_save
") then
1572 SIZE_VARIABLES(i1)=SIZE_INT*size(id%INFO,1)
1573.EQ.
elseif(trim(mode)"save") then
1574 write(unit,iostat=err) INFO1,INFO2
1575 & ,id%INFO(3:size(id%INFO,1))
1578 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1581 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1582 & id%COMM, id%MYID )
1583.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1584.EQ.
elseif(trim(mode)"restore
") then
1585 SIZE_VARIABLES(i1)=SIZE_INT*size(id%INFO,1)
1586 read(unit,iostat=err) INFO1,INFO2
1587 & ,id%INFO(3:size(id%INFO,1))
1590 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1593 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1594 & id%COMM, id%MYID )
1595.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1599.EQ.
if(trim(mode)"memory_save
") then
1600 SIZE_VARIABLES(i1)=SIZE_INT*size(id%INFOG,1)
1601.EQ.
elseif(trim(mode)"save") then
1602 write(unit,iostat=err) INFOG1,INFOG2
1603 & ,id%INFOG(3:size(id%INFOG,1))
1606 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1609 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1610 & id%COMM, id%MYID )
1611.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1612.EQ.
elseif(trim(mode)"restore
") then
1613 SIZE_VARIABLES(i1)=SIZE_INT*size(id%INFOG,1)
1614 read(unit,iostat=err) INFOG1,INFOG2
1615 & ,id%INFOG(3:size(id%INFOG,1))
1618 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1621 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1622 & id%COMM, id%MYID )
1623.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1625 CASE("cost_subtrees
")
1627.EQ.
if(trim(mode)"memory_save
") then
1628 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL
1629.EQ.
elseif(trim(mode)"save") then
1630 write(unit,iostat=err) id%COST_SUBTREES
1633 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1636 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1637 & id%COMM, id%MYID )
1638.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1639.EQ.
elseif(trim(mode)"restore
") then
1640 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL
1641 read(unit,iostat=err) id%COST_SUBTREES
1644 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1647 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1648 & id%COMM, id%MYID )
1649.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1653.EQ.
if(trim(mode)"memory_save
") then
1654 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%CNTL,1)
1655.EQ.
elseif(trim(mode)"save") then
1656 write(unit,iostat=err) id%CNTL
1659 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1662 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1663 & id%COMM, id%MYID )
1664.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1665.EQ.
elseif(trim(mode)"restore
") then
1666 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%CNTL,1)
1667 read(unit,iostat=err) id%CNTL
1670 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1673 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1674 & id%COMM, id%MYID )
1675.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1679.EQ.
if(trim(mode)"memory_save
") then
1680 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%RINFO,1)
1681.EQ.
elseif(trim(mode)"save") then
1682 write(unit,iostat=err) id%RINFO
1685 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1688 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1689 & id%COMM, id%MYID )
1690.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1691.EQ.
elseif(trim(mode)"restore
") then
1692 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%RINFO,1)
1693 read(unit,iostat=err) id%RINFO
1696 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1699 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1700 & id%COMM, id%MYID )
1701.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1705.EQ.
if(trim(mode)"memory_save
") then
1706 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%RINFOG,1)
1707.EQ.
elseif(trim(mode)"save") then
1708 write(unit,iostat=err) id%RINFOG
1711 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1714 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1715 & id%COMM, id%MYID )
1716.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1717.EQ.
elseif(trim(mode)"restore
") then
1718 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%RINFOG,1)
1719 read(unit,iostat=err) id%RINFOG
1722 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1725 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1726 & id%COMM, id%MYID )
1727.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1731.EQ.
if(trim(mode)"memory_save
") then
1732 SIZE_VARIABLES(i1)=SIZE_INT8*size(id%KEEP8,1)
1733.EQ.
elseif(trim(mode)"save") then
1734 write(unit,iostat=err) id%KEEP8
1737 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1740 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1741 & id%COMM, id%MYID )
1742.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1743.EQ.
elseif(trim(mode)"restore
") then
1744 SIZE_VARIABLES(i1)=SIZE_INT8*size(id%KEEP8,1)
1745 read(unit,iostat=err) id%KEEP8
1748 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1751 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1752 & id%COMM, id%MYID )
1753.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1757.EQ.
if(trim(mode)"memory_save
") then
1758 SIZE_VARIABLES(i1)=SIZE_INT*size(id%KEEP,1)
1759.EQ.
elseif(trim(mode)"save") then
1760 write(unit,iostat=err) id%KEEP
1763 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1766 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1767 & id%COMM, id%MYID )
1768.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1769.EQ.
elseif(trim(mode)"restore
") then
1770 SIZE_VARIABLES(i1)=SIZE_INT*size(id%KEEP,1)
1771 KEEP411_SAVE = id%KEEP(411)
1772 read(unit,iostat=err) id%KEEP
1773 id%KEEP(411) = KEEP411_SAVE
1776 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1779 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1780 & id%COMM, id%MYID )
1781.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1785.EQ.
if(trim(mode)"memory_save
") then
1786 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%DKEEP,1)
1787.EQ.
elseif(trim(mode)"save") then
1788 write(unit,iostat=err) id%DKEEP
1791 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1794 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1795 & id%COMM, id%MYID )
1796.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1797.EQ.
elseif(trim(mode)"restore
") then
1798 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%DKEEP,1)
1799 read(unit,iostat=err) id%DKEEP
1802 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1805 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1806 & id%COMM, id%MYID )
1807.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1811.EQ.
if(trim(mode)"memory_save
") then
1812 SIZE_VARIABLES(i1)=SIZE_INT
1813.EQ.
elseif(trim(mode)"save") then
1814 write(unit,iostat=err) id%NZ
1817 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1820 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1821 & id%COMM, id%MYID )
1822.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1823.EQ.
elseif(trim(mode)"restore
") then
1824 SIZE_VARIABLES(i1)=SIZE_INT
1825 read(unit,iostat=err) id%NZ
1828 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1831 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1832 & id%COMM, id%MYID )
1833.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1837.EQ.
if(trim(mode)"memory_save
") then
1838 SIZE_VARIABLES(i1)=SIZE_INT8
1839.EQ.
elseif(trim(mode)"save") then
1840 write(unit,iostat=err) id%NNZ
1843 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1846 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1847 & id%COMM, id%MYID )
1848.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1849.EQ.
elseif(trim(mode)"restore
") then
1850 SIZE_VARIABLES(i1)=SIZE_INT8
1851 read(unit,iostat=err) id%NNZ
1854 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1857 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1858 & id%COMM, id%MYID )
1859.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1865.NE.
IF(id%KEEP(52)-1) THEN
1867.EQ.
if(trim(mode)"memory_save
") then
1868 IF(associated(id%COLSCA)) THEN
1869 SIZE_GEST(i1)=SIZE_INT
1870 SIZE_VARIABLES(i1)=size(id%COLSCA,1)*SIZE_RL_OR_DBL
1872 SIZE_GEST(i1)=SIZE_INT*2
1873 SIZE_VARIABLES(i1)=0_8
1875.EQ.
elseif(trim(mode)"save") then
1876 IF(associated(id%COLSCA)) THEN
1877 write(unit,iostat=err) size(id%COLSCA,1)
1880 CALL MUMPS_SETI8TOI4(
1881 & TOTAL_FILE_SIZE-size_written,
1884 write(unit,iostat=err) id%COLSCA
1886 write(unit,iostat=err) -999
1889 CALL MUMPS_SETI8TOI4(
1890 & TOTAL_FILE_SIZE-size_written,
1893 write(unit,iostat=err) -999
1897 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1900 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1901 & id%COMM, id%MYID )
1902.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1903.EQ.
elseif(trim(mode)"restore
") then
1905 read(unit,iostat=err) size_array1
1908 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1911 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1912 & id%COMM, id%MYID )
1913.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1914.EQ.
if(size_array1-999) then
1915 SIZE_GEST(i1)=SIZE_INT*2
1916 SIZE_VARIABLES(i1)=0_8
1917 read(unit,iostat=err) dummy
1919 SIZE_GEST(i1)=SIZE_INT
1920 SIZE_VARIABLES(i1)=size_array1*SIZE_RL_OR_DBL
1921 allocate(id%COLSCA(size_array1), stat=allocok)
1922.GT.
if (allocok 0) THEN
1924 CALL MUMPS_SETI8TOI4(
1925 & TOTAL_STRUC_SIZE-size_allocated
1928 read(unit,iostat=err) id%COLSCA
1930 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1931 & id%COMM, id%MYID )
1932.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1935 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1938 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1939 & id%COMM, id%MYID )
1940.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1945.NE.
IF(id%KEEP(52)-1) THEN
1947.EQ.
if(trim(mode)"memory_save
") then
1948 IF(associated(id%ROWSCA)) THEN
1949 SIZE_GEST(i1)=SIZE_INT
1950 SIZE_VARIABLES(i1)=size(id%ROWSCA,1)*SIZE_RL_OR_DBL
1952 SIZE_GEST(i1)=SIZE_INT*2
1953 SIZE_VARIABLES(i1)=0_8
1955.EQ.
elseif(trim(mode)"save") then
1956 IF(associated(id%ROWSCA)) THEN
1957 write(unit,iostat=err) size(id%ROWSCA,1)
1960 CALL MUMPS_SETI8TOI4(
1961 & TOTAL_FILE_SIZE-size_written,
1964 write(unit,iostat=err) id%ROWSCA
1966 write(unit,iostat=err) -999
1969 CALL MUMPS_SETI8TOI4(
1970 & TOTAL_FILE_SIZE-size_written,
1973 write(unit,iostat=err) -999
1977 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1980 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1981 & id%COMM, id%MYID )
1982.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1983.EQ.
elseif(trim(mode)"restore
") then
1985 read(unit,iostat=err) size_array1
1988 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1991 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1992 & id%COMM, id%MYID )
1993.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1994.EQ.
if(size_array1-999) then
1995 SIZE_GEST(i1)=SIZE_INT*2
1996 SIZE_VARIABLES(i1)=0_8
1997 read(unit,iostat=err) dummy
1999 SIZE_GEST(i1)=SIZE_INT
2000 SIZE_VARIABLES(i1)=size_array1*SIZE_RL_OR_DBL
2001 allocate(id%ROWSCA(size_array1), stat=allocok)
2002.GT.
if (allocok 0) THEN
2004 CALL MUMPS_SETI8TOI4(
2005 & TOTAL_STRUC_SIZE-size_allocated
2008 read(unit,iostat=err) id%ROWSCA
2010 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2011 & id%COMM, id%MYID )
2012.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2015 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2018 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2019 & id%COMM, id%MYID )
2020.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2026.EQ.
if(trim(mode)"memory_save
") then
2027 SIZE_VARIABLES(i1)=SIZE_INT
2028.EQ.
elseif(trim(mode)"save") then
2029 write(unit,iostat=err) id%NZ_loc
2032 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2035 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2036 & id%COMM, id%MYID )
2037.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2038.EQ.
elseif(trim(mode)"restore
") then
2039 SIZE_VARIABLES(i1)=SIZE_INT
2040 read(unit,iostat=err) id%NZ_loc
2043 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2046 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2047 & id%COMM, id%MYID )
2048.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2052.EQ.
if(trim(mode)"memory_save
") then
2053 SIZE_VARIABLES(i1)=SIZE_INT8
2054.EQ.
elseif(trim(mode)"save") then
2055 write(unit,iostat=err) id%NNZ_loc
2058 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2061 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2062 & id%COMM, id%MYID )
2063.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2064.EQ.
elseif(trim(mode)"restore
") then
2065 SIZE_VARIABLES(i1)=SIZE_INT8
2066 read(unit,iostat=err) id%NNZ_loc
2069 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2072 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2073 & id%COMM, id%MYID )
2074.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2081.EQ.
if(trim(mode)"memory_save
") then
2082 SIZE_VARIABLES(i1)=SIZE_INT
2083.EQ.
elseif(trim(mode)"save") then
2084 write(unit,iostat=err) id%NELT
2087 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2090 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2091 & id%COMM, id%MYID )
2092.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2093.EQ.
elseif(trim(mode)"restore
") then
2094 SIZE_VARIABLES(i1)=SIZE_INT
2095 read(unit,iostat=err) id%NELT
2098 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2101 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2102 & id%COMM, id%MYID )
2103.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2107.EQ.
if(trim(mode)"memory_save
") then
2108 SIZE_VARIABLES(i1)=SIZE_INT
2109.EQ.
elseif(trim(mode)"save") then
2110 write(unit,iostat=err) id%NBLK
2113 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2116 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2117 & id%COMM, id%MYID )
2118.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2119.EQ.
elseif(trim(mode)"restore
") then
2120 SIZE_VARIABLES(i1)=SIZE_INT
2121 read(unit,iostat=err) id%NBLK
2124 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2127 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2128 & id%COMM, id%MYID )
2129.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2148.EQ.
if(trim(mode)"memory_save
") then
2149 SIZE_VARIABLES(i1)=SIZE_INT
2150.EQ.
elseif(trim(mode)"save") then
2151 write(unit,iostat=err) id%LRHS
2154 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2157 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2158 & id%COMM, id%MYID )
2159.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2160.EQ.
elseif(trim(mode)"restore
") then
2161 SIZE_VARIABLES(i1)=SIZE_INT
2162 read(unit,iostat=err) id%LRHS
2165 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2168 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2169 & id%COMM, id%MYID )
2170.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2174.EQ.
if(trim(mode)"memory_save
") then
2175 SIZE_VARIABLES(i1)=SIZE_INT
2176.EQ.
elseif(trim(mode)"save") then
2177 write(unit,iostat=err) id%NRHS
2180 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2183 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2184 & id%COMM, id%MYID )
2185.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2186.EQ.
elseif(trim(mode)"restore
") then
2187 SIZE_VARIABLES(i1)=SIZE_INT
2188 read(unit,iostat=err) id%NRHS
2191 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2194 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2195 & id%COMM, id%MYID )
2196.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2200.EQ.
if(trim(mode)"memory_save
") then
2201 SIZE_VARIABLES(i1)=SIZE_INT
2202.EQ.
elseif(trim(mode)"save") then
2203 write(unit,iostat=err) id%NZ_RHS
2206 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2209 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2210 & id%COMM, id%MYID )
2211.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2212.EQ.
elseif(trim(mode)"restore
") then
2213 SIZE_VARIABLES(i1)=SIZE_INT
2214 read(unit,iostat=err) id%NZ_RHS
2217 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2220 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2221 & id%COMM, id%MYID )
2222.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2228.EQ.
if(trim(mode)"memory_save
") then
2229 SIZE_VARIABLES(i1)=SIZE_INT
2230.EQ.
elseif(trim(mode)"save") then
2231 write(unit,iostat=err) id%LSOL_loc
2234 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2237 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2238 & id%COMM, id%MYID )
2239.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2240.EQ.
elseif(trim(mode)"restore
") then
2241 SIZE_VARIABLES(i1)=SIZE_INT
2242 read(unit,iostat=err) id%LSOL_loc
2245 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2248 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2249 & id%COMM, id%MYID )
2250.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2254.EQ.
if(trim(mode)"memory_save
") then
2255 SIZE_VARIABLES(i1)=SIZE_INT
2256.EQ.
elseif(trim(mode)"save") then
2257 write(unit,iostat=err) id%LREDRHS
2260 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2263 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2264 & id%COMM, id%MYID )
2265.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2266.EQ.
elseif(trim(mode)"restore
") then
2267 SIZE_VARIABLES(i1)=SIZE_INT
2268 read(unit,iostat=err) id%LREDRHS
2271 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2274 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2275 & id%COMM, id%MYID )
2276.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2280.EQ.
if(trim(mode)"memory_save
") then
2282 IF(associated(id%SYM_PERM)) THEN
2283 SIZE_GEST(i1)=SIZE_INT
2284 SIZE_VARIABLES(i1)=size(id%SYM_PERM,1)*SIZE_INT
2286 SIZE_GEST(i1)=SIZE_INT*2
2287 SIZE_VARIABLES(i1)=0_8
2289.EQ.
elseif(trim(mode)"save") then
2290 IF(associated(id%SYM_PERM)) THEN
2291 write(unit,iostat=err) size(id%SYM_PERM,1)
2294 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2297 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2298 & id%COMM, id%MYID )
2299.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2300 write(unit,iostat=err) id%SYM_PERM
2302 write(unit,iostat=err) -999
2305 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2308 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2309 & id%COMM, id%MYID )
2310.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2311 write(unit,iostat=err) -999
2315 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2318 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2319 & id%COMM, id%MYID )
2320.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2321.EQ.
elseif(trim(mode)"restore
") then
2322 nullify(id%SYM_PERM)
2323 read(unit,iostat=err) size_array1
2326 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2329 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2330 & id%COMM, id%MYID )
2331.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2332.EQ.
if(size_array1-999) then
2333 SIZE_GEST(i1)=SIZE_INT*2
2334 SIZE_VARIABLES(i1)=0_8
2335 read(unit,iostat=err) dummy
2337 SIZE_GEST(i1)=SIZE_INT
2338 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
2339 allocate(id%SYM_PERM(size_array1), stat=allocok)
2340.GT.
if (allocok 0) THEN
2342 CALL MUMPS_SETI8TOI4(
2343 & TOTAL_STRUC_SIZE-size_allocated
2346 read(unit,iostat=err) id%SYM_PERM
2348 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2349 & id%COMM, id%MYID )
2350.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2353 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2356 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2357 & id%COMM, id%MYID )
2358.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2362.EQ.
if(trim(mode)"memory_save
") then
2363 IF(associated(id%UNS_PERM)) THEN
2364 SIZE_GEST(i1)=SIZE_INT
2365 SIZE_VARIABLES(i1)=size(id%UNS_PERM,1)*SIZE_INT
2367 SIZE_GEST(i1)=SIZE_INT*2
2368 SIZE_VARIABLES(i1)=0_8
2370.EQ.
elseif(trim(mode)"save") then
2371 IF(associated(id%UNS_PERM)) THEN
2372 write(unit,iostat=err) size(id%UNS_PERM,1)
2375 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2378 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2379 & id%COMM, id%MYID )
2380.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2381 write(unit,iostat=err) id%UNS_PERM
2383 write(unit,iostat=err) -999
2386 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2389 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2390 & id%COMM, id%MYID )
2391.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2392 write(unit,iostat=err) -999
2396 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2399 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2400 & id%COMM, id%MYID )
2401.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2402.EQ.
elseif(trim(mode)"restore
") then
2403 nullify(id%UNS_PERM)
2404 read(unit,iostat=err) size_array1
2407 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2410 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2411 & id%COMM, id%MYID )
2412.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2413.EQ.
if(size_array1-999) then
2414 SIZE_GEST(i1)=SIZE_INT*2
2415 SIZE_VARIABLES(i1)=0_8
2416 read(unit,iostat=err) dummy
2418 SIZE_GEST(i1)=SIZE_INT
2419 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
2420 allocate(id%UNS_PERM(size_array1), stat=allocok)
2421.GT.
if (allocok 0) THEN
2423 CALL MUMPS_SETI8TOI4(
2424 & TOTAL_STRUC_SIZE-size_allocated
2427 read(unit,iostat=err) id%UNS_PERM
2429 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2430 & id%COMM, id%MYID )
2431.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2434 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2437 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2438 & id%COMM, id%MYID )
2439.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2443.EQ.
if(trim(mode)"memory_save
") then
2444 SIZE_VARIABLES(i1)=SIZE_INT
2445.EQ.
elseif(trim(mode)"save") then
2446 write(unit,iostat=err) id%NPROW
2449 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2452 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2453 & id%COMM, id%MYID )
2454.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2455.EQ.
elseif(trim(mode)"restore
") then
2456 SIZE_VARIABLES(i1)=SIZE_INT
2457 read(unit,iostat=err) id%NPROW
2460 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2463 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2464 & id%COMM, id%MYID )
2465.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2469.EQ.
if(trim(mode)"memory_save
") then
2470 SIZE_VARIABLES(i1)=SIZE_INT
2471.EQ.
elseif(trim(mode)"save") then
2472 write(unit,iostat=err) id%NPCOL
2475 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2478 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2479 & id%COMM, id%MYID )
2480.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2482.EQ.
elseif(trim(mode)"restore
") then
2483 SIZE_VARIABLES(i1)=SIZE_INT
2484 read(unit,iostat=err) id%NPCOL
2487 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2490 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2491 & id%COMM, id%MYID )
2492.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2496.EQ.
if(trim(mode)"memory_save
") then
2497 SIZE_VARIABLES(i1)=SIZE_INT
2498.EQ.
elseif(trim(mode)"save") then
2499 write(unit,iostat=err) id%MBLOCK
2502 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2505 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2506 & id%COMM, id%MYID )
2507.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2508.EQ.
elseif(trim(mode)"restore
") then
2509 SIZE_VARIABLES(i1)=SIZE_INT
2510 read(unit,iostat=err) id%MBLOCK
2513 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2516 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2517 & id%COMM, id%MYID )
2518.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2522.EQ.
if(trim(mode)"memory_save
") then
2523 SIZE_VARIABLES(i1)=SIZE_INT
2524.EQ.
elseif(trim(mode)"save") then
2525 write(unit,iostat=err) id%NBLOCK
2528 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2531 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2532 & id%COMM, id%MYID )
2533.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2534.EQ.
elseif(trim(mode)"restore
") then
2535 SIZE_VARIABLES(i1)=SIZE_INT
2536 read(unit,iostat=err) id%NBLOCK
2539 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2542 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2543 & id%COMM, id%MYID )
2544.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2548.EQ.
if(trim(mode)"memory_save
") then
2549 SIZE_VARIABLES(i1)=SIZE_INT
2550.EQ.
elseif(trim(mode)"save") then
2551 write(unit,iostat=err) id%SCHUR_MLOC
2554 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2557 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2558 & id%COMM, id%MYID )
2559.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2560.EQ.
elseif(trim(mode)"restore
") then
2561 SIZE_VARIABLES(i1)=SIZE_INT
2562 read(unit,iostat=err) id%SCHUR_MLOC
2565 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2568 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2569 & id%COMM, id%MYID )
2570.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2574.EQ.
if(trim(mode)"memory_save
") then
2575 SIZE_VARIABLES(i1)=SIZE_INT
2576.EQ.
elseif(trim(mode)"save") then
2577 write(unit,iostat=err) id%SCHUR_NLOC
2580 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2583 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2584 & id%COMM, id%MYID )
2585.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2586.EQ.
elseif(trim(mode)"restore
") then
2587 SIZE_VARIABLES(i1)=SIZE_INT
2588 read(unit,iostat=err) id%SCHUR_NLOC
2591 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2594 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2595 & id%COMM, id%MYID )
2596.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2600.EQ.
if(trim(mode)"memory_save
") then
2601 SIZE_VARIABLES(i1)=SIZE_INT
2602.EQ.
elseif(trim(mode)"save") then
2603 write(unit,iostat=err) id%SCHUR_LLD
2606 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2609 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2610 & id%COMM, id%MYID )
2611.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2612.EQ.
elseif(trim(mode)"restore
") then
2613 SIZE_VARIABLES(i1)=SIZE_INT
2614 read(unit,iostat=err) id%SCHUR_LLD
2617 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2620 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2621 & id%COMM, id%MYID )
2622.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2626.EQ.
if(trim(mode)"memory_save
") then
2627 SIZE_VARIABLES(i1)=SIZE_INT
2628.EQ.
elseif(trim(mode)"save") then
2629 write(unit,iostat=err) id%SIZE_SCHUR
2632 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2635 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2636 & id%COMM, id%MYID )
2637.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2639.EQ.
elseif(trim(mode)"restore
") then
2640 SIZE_VARIABLES(i1)=SIZE_INT
2641 read(unit,iostat=err) id%SIZE_SCHUR
2644 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2647 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2648 & id%COMM, id%MYID )
2649.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2652 CASE("schur_cinterface
")
2653 CASE("listvar_schur
")
2656.EQ.
if(trim(mode)"memory_save
") then
2657 IF(associated(id%MAPPING)) THEN
2658 SIZE_GEST(i1)=SIZE_INT8
2659 SIZE_VARIABLES(i1)=id%KEEP8(28)*SIZE_INT
2661 SIZE_GEST(i1)=SIZE_INT8+SIZE_INT
2662 SIZE_VARIABLES(i1)=0_8
2664.EQ.
elseif(trim(mode)"save") then
2665 IF(associated(id%MAPPING)) THEN
2666 write(unit,iostat=err) id%KEEP8(28)
2669 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2672 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2673 & id%COMM, id%MYID )
2674.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2675 write(unit,iostat=err) id%MAPPING
2677 write(unit,iostat=err) int(-999,8)
2680 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2683 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2684 & id%COMM, id%MYID )
2685.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2686 write(unit,iostat=err) -999
2690 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2693 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2694 & id%COMM, id%MYID )
2695.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2696.EQ.
elseif(trim(mode)"restore
") then
2698 read(unit,iostat=err) size_array_INT8_1
2701 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2704 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2705 & id%COMM, id%MYID )
2706.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2707.EQ.
if(size_array_INT8_1int(-999,8)) then
2708 SIZE_GEST(i1)=SIZE_INT+SIZE_INT8
2709 SIZE_VARIABLES(i1)=0_8
2710 read(unit,iostat=err) dummy
2712 SIZE_GEST(i1)=SIZE_INT8
2713 SIZE_VARIABLES(i1)=size_array_INT8_1*SIZE_INT
2714 allocate(id%MAPPING(size_array_INT8_1), stat=allocok)
2715.GT.
if (allocok 0) THEN
2717 CALL MUMPS_SETI8TOI4(
2718 & TOTAL_STRUC_SIZE-size_allocated
2721 read(unit,iostat=err) id%MAPPING
2723 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2724 & id%COMM, id%MYID )
2725.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2728 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2731 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2732 & id%COMM, id%MYID )
2733.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2735 CASE("version_number
")
2737.EQ.
if(trim(mode)"memory_save
") then
2738 SIZE_VARIABLES(i1)=len(id%VERSION_NUMBER)
2740.EQ.
elseif(trim(mode)"save") then
2741 write(unit,iostat=err) id%VERSION_NUMBER
2744 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2747 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2748 & id%COMM, id%MYID )
2749.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2750.EQ.
elseif(trim(mode)"restore
") then
2751 SIZE_VARIABLES(i1)=len(id%VERSION_NUMBER)
2753 read(unit,iostat=err) id%VERSION_NUMBER
2756 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2759 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2760 & id%COMM, id%MYID )
2761.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2765.EQ.
if(trim(mode)"memory_save
") then
2766 SIZE_VARIABLES(i1)=len(id%OOC_TMPDIR)
2768.EQ.
elseif(trim(mode)"save") then
2769 write(unit,iostat=err) id%OOC_TMPDIR
2772 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2775 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2776 & id%COMM, id%MYID )
2777.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2778.EQ.
elseif(trim(mode)"restore
") then
2779 SIZE_VARIABLES(i1)=len(id%OOC_TMPDIR)
2781 read(unit,iostat=err) id%OOC_TMPDIR
2784 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2787 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2788 & id%COMM, id%MYID )
2789.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2793.EQ.
if(trim(mode)"memory_save
") then
2794 SIZE_VARIABLES(i1)=len(id%OOC_PREFIX)
2796.EQ.
elseif(trim(mode)"save") then
2797 write(unit,iostat=err) id%OOC_PREFIX
2800 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2803 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2804 & id%COMM, id%MYID )
2805.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2807.EQ.
elseif(trim(mode)"restore
") then
2808 SIZE_VARIABLES(i1)=len(id%OOC_PREFIX)
2810 read(unit,iostat=err) id%OOC_PREFIX
2813 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2816 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2817 & id%COMM, id%MYID )
2818.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2820 CASE("write_problem
")
2822.EQ.
if(trim(mode)"memory_save
") then
2823 SIZE_VARIABLES(i1)=len(id%WRITE_PROBLEM)
2825.EQ.
elseif(trim(mode)"save")
then
2826 write(unit,iostat=err) id%WRITE_PROBLEM
2833 & id%COMM, id%MYID )
2834 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2835 elseif(trim(mode).EQ.
"restore")
then
2836 size_variables(i1)=len(id%WRITE_PROBLEM)
2838 read(unit,iostat=err) id%WRITE_PROBLEM
2845 & id%COMM, id%MYID )
2846 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2848 CASE(
"MAX_SURF_MASTER")
2850 if(trim(mode).EQ.
"memory_save")
then
2851 size_variables(i1)=size_int8
2852 elseif(trim(mode).EQ.
"save")
then
2853 write(unit,iostat=err) id%MAX_SURF_MASTER
2860 & id%COMM, id%MYID )
2861 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2862 elseif(trim(mode).EQ.
"restore")
then
2863 size_variables(i1)=size_int8
2864 read(unit,iostat=err) id%MAX_SURF_MASTER
2871 & id%COMM, id%MYID )
2872 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2876 if(trim(mode).EQ.
"memory_save")
then
2877 size_variables(i1)=size_int
2878 elseif(trim(mode).EQ.
"save")
then
2879 write(unit,iostat=err) id%INST_Number
2886 & id%COMM, id%MYID )
2887 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2888 elseif(trim(mode).EQ."restore
") then
2889 SIZE_VARIABLES(i1)=SIZE_INT
2890 read(unit,iostat=err) id%INST_Number
2893 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2896 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2897 & id%COMM, id%MYID )
2898.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2901.EQ.
if(trim(mode)"memory_save
") then
2902 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
2903.EQ.
elseif(trim(mode)"save") then
2904 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
2905.EQ.
elseif(trim(mode)"restore
") then
2906 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
2910.EQ.
if(trim(mode)"memory_save
") then
2911 SIZE_VARIABLES(i1)=SIZE_INT
2912.EQ.
elseif(trim(mode)"save") then
2913 write(unit,iostat=err) id%MYID_NODES
2916 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2919 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2920 & id%COMM, id%MYID )
2921.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2922.EQ.
elseif(trim(mode)"restore
") then
2923 SIZE_VARIABLES(i1)=SIZE_INT
2924 read(unit,iostat=err) id%MYID_NODES
2927 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2930 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2931 & id%COMM, id%MYID )
2932.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2935 if(trim(mode).EQ.
"memory_save")
then
2936 diff_size_alloc_read(i1)=size_int
2937 elseif(trim(mode).EQ.
"save")
then
2938 diff_size_alloc_read(i1)=size_int
2939 elseif(trim(mode).EQ.
"restore")
then
2940 diff_size_alloc_read(i1)=size_int
2944 if(trim(mode).EQ.
"memory_save")
then
2945 size_variables(i1)=size_int
2946 elseif(trim(mode).EQ.
"save")
then
2947 write(unit,iostat=err) id%MYID
2954 & id%COMM, id%MYID )
2955 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2956 elseif(trim(mode).EQ.
"restore")
then
2957 size_variables(i1)=size_int
2958 read(unit,iostat=err) id%MYID
2965 & id%COMM, id%MYID )
2966 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2970 if(trim(mode).EQ.
"memory_save")
then
2971 size_variables(i1)=size_int
2972 elseif(trim(mode).EQ.
"save")
then
2973 write(unit,iostat=err) id%NPROCS
2980 & id%COMM, id%MYID )
2981 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2982 elseif(trim(mode).EQ.
"restore")
then
2983 size_variables(i1)=size_int
2984 read(unit,iostat=err) id%NPROCS
2991 & id%COMM, id%MYID )
2992 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2996 if(trim(mode).EQ.
"memory_save")
then
2997 size_variables(i1)=size_int
2998 elseif(trim(mode).EQ.
"save")
then
2999 write(unit,iostat=err) id%NSLAVES
3006 & id%COMM, id%MYID )
3007 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3008 elseif(trim(mode).EQ.
"restore")
then
3009 size_variables(i1)=size_int
3010 read(unit,iostat=err) id%NSLAVES
3017 & id%COMM, id%MYID )
3018 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3022 if(trim(mode).EQ.
"memory_save")
then
3023 size_variables(i1)=size_int
3024 elseif(trim(mode).EQ.
"save")
then
3025 write(unit,iostat=err) id%ASS_IRECV
3032 & id%COMM, id%MYID )
3033 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3034 elseif(trim(mode).EQ.
"restore"then
3035 size_variables(i1)=size_int
3036 read(unit,iostat=err) id%ASS_IRECV
3043 & id%COMM, id%MYID )
3044 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3048 if(trim(mode).EQ.
"memory_save")
then
3049 IF(
associated(id%IS))
THEN
3050 size_gest(i1)=size_int*2
3051 size_variables(i1)=id%KEEP(32)*size_int
3052 diff_size_alloc_read(i1)=size_int*
3053 & (
size(id%IS,1)-id%KEEP(32))
3055 size_gest(i1)=size_int*3
3056 size_variables(i1)=0_8
3058 elseif(trim(mode).EQ.
"save")
then
3059 IF(
associated(id%IS))
THEN
3060 write(unit,iostat=err)
size(id%IS,1),id%KEEP(32)
3067 & id%COMM, id%MYID )
3068 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3069 write(unit,iostat=err) id%IS(1:id%KEEP(32))
3070 diff_size_alloc_read(i1)=size_int*
3071 & (
size(id%IS,1)-id%KEEP(32))
3073 write(unit,iostat=err) -999,-998
3080 & id%COMM, id%MYID )
3081 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3082 write(unit,iostat=err) -999
3090 & id%COMM, id%MYID )
3091 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3092 elseif(trim(mode).EQ.
"restore")
then
3094 read(unit,iostat=err) size_array1,size_array2
3101 & id%COMM, id%MYID )
3102 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3103 if(size_array1.EQ.-999)
then
3104 size_gest(i1)=size_int*3
3105 size_variables(i1)=0_8
3106 read(unit,iostat=err) dummy
3108 size_gest(i1)=size_int*2
3109 size_variables(i1)=size_array2*size_int
3110 diff_size_alloc_read(i1)=size_int*
3111 & (size_array1-size_array2)
3112 allocate(id%IS(size_array1), stat=allocok)
3113 if (allocok .GT. 0)
THEN
3116 & total_struc_size-size_allocated
3119 read(unit,iostat=err) id%IS(1:size_array2)
3122 & id%COMM, id%MYID )
3123 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3130 & id%COMM, id%MYID )
3131 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3135 if(trim(mode).EQ.
"memory_save")
then
3136 size_variables(i1)=size_int
3137 elseif(trim(mode).EQ.
"save")
then
3138 write(unit,iostat=err) id%Deficiency
3145 & id%COMM, id%MYID )
3146 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3147 elseif(trim(mode).EQ.
"restore")
then
3148 size_variables(i1)=size_int
3149 read(unit,iostat=err) id%Deficiency
3156 & id%COMM, id%MYID )
3157 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3161 if(trim(mode).EQ.
"memory_save")
then
3162 size_variables(i1)=size_int
3163 elseif(trim(mode).EQ.
"save")
then
3164 write(unit,iostat=err) id%LNA
3171 & id%COMM, id%MYID )
3172 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3173 elseif(trim(mode).EQ.
"restore")
then
3174 size_variables(i1)=size_int
3175 read(unit,iostat=err) id%LNA
3182 & id%COMM, id%MYID )
3183 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3187 if(trim(mode).EQ.
"memory_save")
then
3188 size_variables(i1)=size_int
3189 elseif(trim(mode).EQ.
"save")
then
3190 write(unit,iostat=err) id%NBSA
3197 & id%COMM, id%MYID )
3198 IF ( id%INFO(1) .LT. 0 )
GOTO 100
3199 elseif(trim(mode).EQ."restore
") then
3200 SIZE_VARIABLES(i1)=SIZE_INT
3201 read(unit,iostat=err) id%NBSA
3204 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3207 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3208 & id%COMM, id%MYID )
3209.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3213.EQ.
if(trim(mode)"memory_save
") then
3214 IF(associated(id%STEP)) THEN
3215 SIZE_GEST(i1)=SIZE_INT
3216 SIZE_VARIABLES(i1)=size(id%STEP,1)*SIZE_INT
3218 SIZE_GEST(i1)=SIZE_INT*2
3219 SIZE_VARIABLES(i1)=0_8
3221.EQ.
elseif(trim(mode)"save") then
3222 IF(associated(id%STEP)) THEN
3223 write(unit,iostat=err) size(id%STEP,1)
3226 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3229 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3230 & id%COMM, id%MYID )
3231.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3232 write(unit,iostat=err) id%STEP
3234 write(unit,iostat=err) -999
3237 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3240 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3241 & id%COMM, id%MYID )
3242.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3243 write(unit,iostat=err) -999
3247 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3250 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3251 & id%COMM, id%MYID )
3252.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3253.EQ.
elseif(trim(mode)"restore
") then
3255 read(unit,iostat=err) size_array1
3258 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES(i1),id%INFO(2))
3260 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3261 & id%COMM, id%MYID )
3262.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3263.EQ.
if(size_array1-999) then
3264 SIZE_GEST(i1)=SIZE_INT*2
3265 SIZE_VARIABLES(i1)=0_8
3266 read(unit,iostat=err) dummy
3268 SIZE_GEST(i1)=SIZE_INT
3269 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3270 allocate(id%STEP(size_array1), stat=allocok)
3271.GT.
if (allocok 0) THEN
3273 CALL MUMPS_SETI8TOI4(
3274 & TOTAL_STRUC_SIZE-size_allocated
3277 read(unit,iostat=err) id%STEP
3279 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3280 & id%COMM, id%MYID )
3281.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3284 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3287 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3288 & id%COMM, id%MYID )
3289.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3293.EQ.
if(trim(mode)"memory_save
") then
3294 IF(associated(id%NE_STEPS)) THEN
3295 SIZE_GEST(i1)=SIZE_INT
3296 SIZE_VARIABLES(i1)=size(id%NE_STEPS,1)*SIZE_INT
3298 SIZE_GEST(i1)=SIZE_INT*2
3299 SIZE_VARIABLES(i1)=0_8
3301.EQ.
elseif(trim(mode)"save") then
3302 IF(associated(id%NE_STEPS)) THEN
3303 write(unit,iostat=err) size(id%NE_STEPS,1)
3306 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3309 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3310 & id%COMM, id%MYID )
3311.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3312 write(unit,iostat=err) id%NE_STEPS
3314 write(unit,iostat=err) -999
3317 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3320 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3321 & id%COMM, id%MYID )
3322.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3323 write(unit,iostat=err) -999
3327 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3330 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3331 & id%COMM, id%MYID )
3332.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3333.EQ.
elseif(trim(mode)"restore
") then
3334 nullify(id%NE_STEPS)
3335 read(unit,iostat=err) size_array1
3338 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3341 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3342 & id%COMM, id%MYID )
3343.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3344.EQ.
if(size_array1-999) then
3345 SIZE_GEST(i1)=SIZE_INT*2
3346 SIZE_VARIABLES(i1)=0_8
3347 read(unit,iostat=err) dummy
3349 SIZE_GEST(i1)=SIZE_INT
3350 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3351 allocate(id%NE_STEPS(size_array1), stat=allocok)
3352.GT.
if (allocok 0) THEN
3354 CALL MUMPS_SETI8TOI4(
3355 & TOTAL_STRUC_SIZE-size_allocated
3358 read(unit,iostat=err) id%NE_STEPS
3360 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3361 & id%COMM, id%MYID )
3362.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3365 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3368 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3369 & id%COMM, id%MYID )
3370.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3374.EQ.
if(trim(mode)"memory_save
") then
3375 IF(associated(id%ND_STEPS)) THEN
3376 SIZE_GEST(i1)=SIZE_INT
3377 SIZE_VARIABLES(i1)=size(id%ND_STEPS,1)*SIZE_INT
3379 SIZE_GEST(i1)=SIZE_INT*2
3380 SIZE_VARIABLES(i1)=0_8
3382.EQ.
elseif(trim(mode)"save") then
3383 IF(associated(id%ND_STEPS)) THEN
3384 write(unit,iostat=err) size(id%ND_STEPS,1)
3387 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3390 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3391 & id%COMM, id%MYID )
3392.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3393 write(unit,iostat=err) id%ND_STEPS
3395 write(unit,iostat=err) -999
3398 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3401 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3402 & id%COMM, id%MYID )
3403.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3404 write(unit,iostat=err) -999
3408 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3411 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3412 & id%COMM, id%MYID )
3413.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3414.EQ.
elseif(trim(mode)"restore
") then
3415 nullify(id%ND_STEPS)
3416 read(unit,iostat=err) size_array1
3419 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3422 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3423 & id%COMM, id%MYID )
3424.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3425.EQ.
if(size_array1-999) then
3426 SIZE_GEST(i1)=SIZE_INT*2
3427 SIZE_VARIABLES(i1)=0_8
3428 read(unit,iostat=err) dummy
3430 SIZE_GEST(i1)=SIZE_INT
3431 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3432 allocate(id%ND_STEPS(size_array1), stat=allocok)
3433.GT.
if (allocok 0) THEN
3435 CALL MUMPS_SETI8TOI4(
3436 & TOTAL_STRUC_SIZE-size_allocated
3439 read(unit,iostat=err) id%ND_STEPS
3441 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3442 & id%COMM, id%MYID )
3443.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3446 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3449 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3450 & id%COMM, id%MYID )
3451.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3455.EQ.
if(trim(mode)"memory_save
") then
3456 IF(associated(id%Step2node)) THEN
3457 SIZE_GEST(i1)=SIZE_INT
3458 SIZE_VARIABLES(i1)=size(id%Step2node,1)*SIZE_INT
3460 SIZE_GEST(i1)=SIZE_INT*2
3461 SIZE_VARIABLES(i1)=0_8
3463.EQ.
elseif(trim(mode)"save") then
3464 IF(associated(id%Step2node)) THEN
3465 write(unit,iostat=err) size(id%Step2node,1)
3468 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3471 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3472 & id%COMM, id%MYID )
3473.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3474 write(unit,iostat=err) id%Step2node
3476 write(unit,iostat=err) -999
3479 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3482 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3483 & id%COMM, id%MYID )
3484.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3485 write(unit,iostat=err) -999
3489 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3492 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3493 & id%COMM, id%MYID )
3494.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3495.EQ.
elseif(trim(mode)"restore
") then
3496 nullify(id%Step2node)
3497 read(unit,iostat=err) size_array1
3500 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3503 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3504 & id%COMM, id%MYID )
3505.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3506.EQ.
if(size_array1-999) then
3507 SIZE_GEST(i1)=SIZE_INT*2
3508 SIZE_VARIABLES(i1)=0_8
3509 read(unit,iostat=err) dummy
3511 SIZE_GEST(i1)=SIZE_INT
3512 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3513 allocate(id%Step2node(size_array1), stat=allocok)
3514.GT.
if (allocok 0) THEN
3516 CALL MUMPS_SETI8TOI4(
3517 & TOTAL_STRUC_SIZE-size_allocated
3520 read(unit,iostat=err) id%Step2node
3522 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3523 & id%COMM, id%MYID )
3524.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3527 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3530 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3531 & id%COMM, id%MYID )
3532.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3536.EQ.
if(trim(mode)"memory_save
") then
3537 IF(associated(id%FRERE_STEPS)) THEN
3538 SIZE_GEST(i1)=SIZE_INT
3539 SIZE_VARIABLES(i1)=size(id%FRERE_STEPS,1)*SIZE_INT
3541 SIZE_GEST(i1)=SIZE_INT*2
3542 SIZE_VARIABLES(i1)=0_8
3544.EQ.
elseif(trim(mode)"save") then
3545 IF(associated(id%FRERE_STEPS)) THEN
3546 write(unit,iostat=err) size(id%FRERE_STEPS,1)
3549 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3552 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3553 & id%COMM, id%MYID )
3554.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3555 write(unit,iostat=err) id%FRERE_STEPS
3557 write(unit,iostat=err) -999
3560 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3563 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3564 & id%COMM, id%MYID )
3565.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3566 write(unit,iostat=err) -999
3570 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3573 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3574 & id%COMM, id%MYID )
3575.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3576.EQ.
elseif(trim(mode)"restore
") then
3577 nullify(id%FRERE_STEPS)
3578 read(unit,iostat=err) size_array1
3581 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3584 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3585 & id%COMM, id%MYID )
3586.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3587.EQ.
if(size_array1-999) then
3588 SIZE_GEST(i1)=SIZE_INT*2
3589 SIZE_VARIABLES(i1)=0_8
3590 read(unit,iostat=err) dummy
3592 SIZE_GEST(i1)=SIZE_INT
3593 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3594 allocate(id%FRERE_STEPS(size_array1), stat=allocok)
3595.GT.
if (allocok 0) THEN
3597 CALL MUMPS_SETI8TOI4(
3598 & TOTAL_STRUC_SIZE-size_allocated
3601 read(unit,iostat=err) id%FRERE_STEPS
3603 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3604 & id%COMM, id%MYID )
3605.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3608 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3611 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3612 & id%COMM, id%MYID )
3613.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3617.EQ.
if(trim(mode)"memory_save
") then
3618 IF(associated(id%DAD_STEPS)) THEN
3619 SIZE_GEST(i1)=SIZE_INT
3620 SIZE_VARIABLES(i1)=size(id%DAD_STEPS,1)*SIZE_INT
3622 SIZE_GEST(i1)=SIZE_INT*2
3623 SIZE_VARIABLES(i1)=0_8
3625.EQ.
elseif(trim(mode)"save") then
3626 IF(associated(id%DAD_STEPS)) THEN
3627 write(unit,iostat=err) size(id%DAD_STEPS,1)
3630 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3633 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3634 & id%COMM, id%MYID )
3635.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3636 write(unit,iostat=err) id%DAD_STEPS
3638 write(unit,iostat=err) -999
3641 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3644 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3645 & id%COMM, id%MYID )
3646.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3647 write(unit,iostat=err) -999
3651 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3654 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3655 & id%COMM, id%MYID )
3656.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3657.EQ.
elseif(trim(mode)"restore
") then
3658 nullify(id%DAD_STEPS)
3659 read(unit,iostat=err) size_array1
3662 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3665 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3666 & id%COMM, id%MYID )
3667.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3668.EQ.
if(size_array1-999) then
3669 SIZE_GEST(i1)=SIZE_INT*2
3670 SIZE_VARIABLES(i1)=0_8
3671 read(unit,iostat=err) dummy
3673 SIZE_GEST(i1)=SIZE_INT
3674 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3675 allocate(id%DAD_STEPS(size_array1), stat=allocok)
3676.GT.
if (allocok 0) THEN
3678 CALL MUMPS_SETI8TOI4(
3679 & TOTAL_STRUC_SIZE-size_allocated
3682 read(unit,iostat=err) id%DAD_STEPS
3684 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3685 & id%COMM, id%MYID )
3686.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3689 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3692 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3693 & id%COMM, id%MYID )
3694.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3698.EQ.
if(trim(mode)"memory_save
") then
3699 IF(associated(id%FILS)) THEN
3700 SIZE_GEST(i1)=SIZE_INT
3701 SIZE_VARIABLES(i1)=size(id%FILS,1)*SIZE_INT
3703 SIZE_GEST(i1)=SIZE_INT*2
3704 SIZE_VARIABLES(i1)=0_8
3706.EQ.
elseif(trim(mode)"save") then
3707 IF(associated(id%FILS)) THEN
3708 write(unit,iostat=err) size(id%FILS,1)
3711 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3714 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3715 & id%COMM, id%MYID )
3716.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3717 write(unit,iostat=err) id%FILS
3719 write(unit,iostat=err) -999
3722 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3725 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3726 & id%COMM, id%MYID )
3727.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3728 write(unit,iostat=err) -999
3732 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3735 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3736 & id%COMM, id%MYID )
3737.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3738.EQ.
elseif(trim(mode)"restore
") then
3740 read(unit,iostat=err) size_array1
3743 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3746 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3747 & id%COMM, id%MYID )
3748.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3749.EQ.
if(size_array1-999) then
3750 SIZE_GEST(i1)=SIZE_INT*2
3751 SIZE_VARIABLES(i1)=0_8
3752 read(unit,iostat=err) dummy
3754 SIZE_GEST(i1)=SIZE_INT
3755 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3756 allocate(id%FILS(size_array1), stat=allocok)
3757.GT.
if (allocok 0) THEN
3759 CALL MUMPS_SETI8TOI4(
3760 & TOTAL_STRUC_SIZE-size_allocated
3763 read(unit,iostat=err) id%FILS
3765 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3766 & id%COMM, id%MYID )
3767.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3770 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3773 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3774 & id%COMM, id%MYID )
3775.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3779.EQ.
if(trim(mode)"memory_save
") then
3780 IF(associated(id%PTRAR)) THEN
3781 SIZE_GEST(i1)=SIZE_INT
3782 SIZE_VARIABLES(i1)=size(id%PTRAR,1)*SIZE_INT8
3784 SIZE_GEST(i1)=SIZE_INT*2
3785 SIZE_VARIABLES(i1)=0_8
3787.EQ.
elseif(trim(mode)"save") then
3788 IF(associated(id%PTRAR)) THEN
3789 write(unit,iostat=err) size(id%PTRAR,1)
3792 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3795 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3796 & id%COMM, id%MYID )
3797.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3798 write(unit,iostat=err) id%PTRAR
3800 write(unit,iostat=err) -999
3803 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3806 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3807 & id%COMM, id%MYID )
3808.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3809 write(unit,iostat=err) -999
3813 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3816 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3817 & id%COMM, id%MYID )
3818.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3820.EQ.
elseif(trim(mode)"restore
") then
3822 read(unit,iostat=err) size_array1
3825 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3828 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3829 & id%COMM, id%MYID )
3830.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3831.EQ.
if(size_array1-999) then
3832 SIZE_GEST(i1)=SIZE_INT*2
3833 SIZE_VARIABLES(i1)=0_8
3834 read(unit,iostat=err) dummy
3836 SIZE_GEST(i1)=SIZE_INT
3837 SIZE_VARIABLES(i1)=size_array1*SIZE_INT8
3838 allocate(id%PTRAR(size_array1), stat=allocok)
3839.GT.
if (allocok 0) THEN
3841 CALL MUMPS_SETI8TOI4(
3842 & TOTAL_STRUC_SIZE-size_allocated
3845 read(unit,iostat=err) id%PTRAR
3847 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3848 & id%COMM, id%MYID )
3849.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3852 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3855 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3856 & id%COMM, id%MYID )
3857.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3861.EQ.
if(trim(mode)"memory_save
") then
3862 IF(associated(id%FRTPTR)) THEN
3863 SIZE_GEST(i1)=SIZE_INT
3864 SIZE_VARIABLES(i1)=size(id%FRTPTR,1)*SIZE_INT
3866 SIZE_GEST(i1)=SIZE_INT*2
3867 SIZE_VARIABLES(i1)=0_8
3869.EQ.
elseif(trim(mode)"save") then
3870 IF(associated(id%FRTPTR)) THEN
3871 write(unit,iostat=err) size(id%FRTPTR,1)
3874 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3877 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3878 & id%COMM, id%MYID )
3879.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3880 write(unit,iostat=err) id%FRTPTR
3882 write(unit,iostat=err) -999
3885 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3888 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3889 & id%COMM, id%MYID )
3890.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3891 write(unit,iostat=err) -999
3895 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3898 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3899 & id%COMM, id%MYID )
3900.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3901.EQ.
elseif(trim(mode)"restore
") then
3903 read(unit,iostat=err) size_array1
3906 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3909 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3910 & id%COMM, id%MYID )
3911.EQ.
if(size_array1-999) then
3912 SIZE_GEST(i1)=SIZE_INT*2
3913 SIZE_VARIABLES(i1)=0_8
3914 read(unit,iostat=err) dummy
3916 SIZE_GEST(i1)=SIZE_INT
3917 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3918 allocate(id%FRTPTR(size_array1), stat=allocok)
3919.GT.
if (allocok 0) THEN
3921 CALL MUMPS_SETI8TOI4(
3922 & TOTAL_STRUC_SIZE-size_allocated
3925 read(unit,iostat=err) id%FRTPTR
3927 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3928 & id%COMM, id%MYID )
3929.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3932 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3935 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3936 & id%COMM, id%MYID )
3937.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3941.EQ.
if(trim(mode)"memory_save
") then
3942 IF(associated(id%FRTELT)) THEN
3943 SIZE_GEST(i1)=SIZE_INT
3944 SIZE_VARIABLES(i1)=size(id%FRTELT,1)*SIZE_INT
3946 SIZE_GEST(i1)=SIZE_INT*2
3947 SIZE_VARIABLES(i1)=0_8
3949.EQ.
elseif(trim(mode)"save") then
3950 IF(associated(id%FRTELT)) THEN
3951 write(unit,iostat=err) size(id%FRTELT,1)
3954 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3957 write(unit,iostat=err) id%FRTELT
3959 write(unit,iostat=err) -999
3962 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3965 write(unit,iostat=err) -999
3969 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3972 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3973 & id%COMM, id%MYID )
3974.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3975.EQ.
elseif(trim(mode)"restore
") then
3977 read(unit,iostat=err) size_array1
3980 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3983 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3984 & id%COMM, id%MYID )
3985.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3986.EQ.
if(size_array1-999) then
3987 SIZE_GEST(i1)=SIZE_INT*2
3988 SIZE_VARIABLES(i1)=0_8
3989 read(unit,iostat=err) dummy
3991 SIZE_GEST(i1)=SIZE_INT
3992 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
3993 allocate(id%FRTELT(size_array1), stat=allocok)
3994.GT.
if (allocok 0) THEN
3996 CALL MUMPS_SETI8TOI4(
3997 & TOTAL_STRUC_SIZE-size_allocated
4000 read(unit,iostat=err) id%FRTELT
4002 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4003 & id%COMM, id%MYID )
4004.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4007 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4010 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4011 & id%COMM, id%MYID )
4012.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4016.EQ.
if(trim(mode)"memory_save
") then
4017 IF(associated(id%NA)) THEN
4018 SIZE_GEST(i1)=SIZE_INT
4019 SIZE_VARIABLES(i1)=size(id%NA,1)*SIZE_INT
4021 SIZE_GEST(i1)=SIZE_INT*2
4022 SIZE_VARIABLES(i1)=0_8
4024.EQ.
elseif(trim(mode)"save") then
4025 IF(associated(id%NA)) THEN
4026 write(unit,iostat=err) size(id%NA,1)
4029 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4032 write(unit,iostat=err) id%NA
4034 write(unit,iostat=err) -999
4037 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4040 write(unit,iostat=err) -999
4044 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4047 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4048 & id%COMM, id%MYID )
4049.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4050.EQ.
elseif(trim(mode)"restore
") then
4052 read(unit,iostat=err) size_array1
4055 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4058 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4059 & id%COMM, id%MYID )
4060.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4061.EQ.
if(size_array1-999) then
4062 SIZE_GEST(i1)=SIZE_INT*2
4063 SIZE_VARIABLES(i1)=0_8
4064 read(unit,iostat=err) dummy
4066 SIZE_GEST(i1)=SIZE_INT
4067 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
4068 allocate(id%NA(size_array1), stat=allocok)
4069.GT.
if (allocok 0) THEN
4071 CALL MUMPS_SETI8TOI4(
4072 & TOTAL_STRUC_SIZE-size_allocated
4075 read(unit,iostat=err) id%NA
4077 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4078 & id%COMM, id%MYID )
4079.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4082 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4085 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4086 & id%COMM, id%MYID )
4087.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4089 CASE("procnode_steps
")
4091.EQ.
if(trim(mode)"memory_save
") then
4093 IF(associated(id%PROCNODE_STEPS)) THEN
4094 SIZE_GEST(i1)=SIZE_INT
4095 SIZE_VARIABLES(i1)=size(id%PROCNODE_STEPS,1)*SIZE_INT
4097 SIZE_GEST(i1)=SIZE_INT*2
4098 SIZE_VARIABLES(i1)=0_8
4100.EQ.
elseif(trim(mode)"save") then
4101 IF(associated(id%PROCNODE_STEPS)) THEN
4102 write(unit,iostat=err) size(id%PROCNODE_STEPS,1)
4105 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4108 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4109 & id%COMM, id%MYID )
4110.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4111 write(unit,iostat=err) id%PROCNODE_STEPS
4113 write(unit,iostat=err) -999
4116 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4119 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4120 & id%COMM, id%MYID )
4121.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4122 write(unit,iostat=err) -999
4126 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4129 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4130 & id%COMM, id%MYID )
4131.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4132.EQ.
elseif(trim(mode)"restore
") then
4133 nullify(id%PROCNODE_STEPS)
4134 read(unit,iostat=err) size_array1
4137 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4140 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4141 & id%COMM, id%MYID )
4142.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4143.EQ.
if(size_array1-999) then
4144 SIZE_GEST(i1)=SIZE_INT*2
4145 SIZE_VARIABLES(i1)=0_8
4146 read(unit,iostat=err) dummy
4148 SIZE_GEST(i1)=SIZE_INT
4149 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
4150 allocate(id%PROCNODE_STEPS(size_array1), stat=allocok)
4151.GT.
if (allocok 0) THEN
4153 CALL MUMPS_SETI8TOI4(
4154 & TOTAL_STRUC_SIZE-size_allocated
4157 read(unit,iostat=err) id%PROCNODE_STEPS
4159 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4160 & id%COMM, id%MYID )
4161.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4164 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4167 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4168 & id%COMM, id%MYID )
4169.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4173.EQ.
if(trim(mode)"memory_save
") then
4174 IF(associated(id%PTLUST_S)) THEN
4175 SIZE_GEST(i1)=SIZE_INT
4176 SIZE_VARIABLES(i1)=size(id%PTLUST_S,1)*SIZE_INT
4178 SIZE_GEST(i1)=SIZE_INT*2
4179 SIZE_VARIABLES(i1)=0_8
4181.EQ.
elseif(trim(mode)"save") then
4182 IF(associated(id%PTLUST_S)) THEN
4183 write(unit,iostat=err) size(id%PTLUST_S,1)
4186 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4189 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4190 & id%COMM, id%MYID )
4191.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4192 write(unit,iostat=err) id%PTLUST_S
4194 write(unit,iostat=err) -999
4197 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4200 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4201 & id%COMM, id%MYID )
4202.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4203 write(unit,iostat=err) -999
4207 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4210 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4211 & id%COMM, id%MYID )
4212.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4213.EQ.
elseif(trim(mode)"restore
") then
4214 nullify(id%PTLUST_S)
4215 read(unit,iostat=err) size_array1
4218 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4221 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4222 & id%COMM, id%MYID )
4223.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4224.EQ.
if(size_array1-999) then
4225 SIZE_GEST(i1)=SIZE_INT*2
4226 SIZE_VARIABLES(i1)=0_8
4227 read(unit,iostat=err) dummy
4229 SIZE_GEST(i1)=SIZE_INT
4230 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
4231 allocate(id%PTLUST_S(size_array1), stat=allocok)
4232.GT.
if (allocok 0) THEN
4234 CALL MUMPS_SETI8TOI4(
4235 & TOTAL_STRUC_SIZE-size_allocated
4238 read(unit,iostat=err) id%PTLUST_S
4240 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4241 & id%COMM, id%MYID )
4242.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4245 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4248 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4249 & id%COMM, id%MYID )
4250.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4254.EQ.
if(trim(mode)"memory_save
") then
4255 IF(associated(id%PTRFAC)) THEN
4256 SIZE_GEST(i1)=SIZE_INT
4257 SIZE_VARIABLES(i1)=size(id%PTRFAC,1)*SIZE_INT8
4259 SIZE_GEST(i1)=SIZE_INT*2
4260 SIZE_VARIABLES(i1)=0_8
4262.EQ.
elseif(trim(mode)"save") then
4263 IF(associated(id%PTRFAC)) THEN
4264 write(unit,iostat=err) size(id%PTRFAC,1)
4267 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4270 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4271 & id%COMM, id%MYID )
4272 write(unit,iostat=err) id%PTRFAC
4274 write(unit,iostat=err) -999
4277 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4280 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4281 & id%COMM, id%MYID )
4282.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4283 write(unit,iostat=err) -999
4287 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4290 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4291 & id%COMM, id%MYID )
4292.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4293.EQ.
elseif(trim(mode)"restore
") then
4295 read(unit,iostat=err) size_array1
4298 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4301 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4302 & id%COMM, id%MYID )
4303.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4304.EQ.
if(size_array1-999) then
4305 SIZE_GEST(i1)=SIZE_INT*2
4306 SIZE_VARIABLES(i1)=0_8
4307 read(unit,iostat=err) dummy
4309 SIZE_GEST(i1)=SIZE_INT
4310 SIZE_VARIABLES(i1)=size_array1*SIZE_INT8
4311 allocate(id%PTRFAC(size_array1), stat=allocok)
4312.GT.
if (allocok 0) THEN
4314 CALL MUMPS_SETI8TOI4(
4315 & TOTAL_STRUC_SIZE-size_allocated
4318 read(unit,iostat=err) id%PTRFAC
4320 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4321 & id%COMM, id%MYID )
4322.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4325 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4328 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4329 & id%COMM, id%MYID )
4330.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4334.EQ.
if(trim(mode)"memory_save
") then
4335 IF(associated(id%S)) THEN
4336 SIZE_GEST(i1)=SIZE_INT8*2
4337 SIZE_VARIABLES(i1)=id%KEEP8(31)*SIZE_ARITH_DEP
4338 DIFF_SIZE_ALLOC_READ(i1)=
4339 & SIZE_ARITH_DEP*(id%KEEP8(23)-id%KEEP8(31))
4341 SIZE_GEST(i1)=SIZE_INT8*2+SIZE_INT
4342 SIZE_VARIABLES(i1)=0_8
4344.EQ.
elseif(trim(mode)"save") then
4345 IF(associated(id%S)) THEN
4346 write(unit,iostat=err) id%KEEP8(23),id%KEEP8(31)
4349 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4352 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4353 & id%COMM, id%MYID )
4354.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4355 write(unit,iostat=err) id%S(1:id%KEEP8(31))
4356 DIFF_SIZE_ALLOC_READ(i1)=
4357 & SIZE_ARITH_DEP*(id%KEEP8(23)-id%KEEP8(31))
4359 write(unit,iostat=err) int(-999,kind=8)
4363 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4366 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4367 & id%COMM, id%MYID )
4368.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4369 write(unit,iostat=err) -999
4373 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4376 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4377 & id%COMM, id%MYID )
4378.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4379.EQ.
elseif(trim(mode)"restore
") then
4381 read(unit,iostat=err) size_array_INT8_1,size_array_INT8_2
4384 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4387 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4388 & id%COMM, id%MYID )
4389.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4390.EQ.
if(size_array_INT8_1int(-999,kind=8)) then
4391 SIZE_GEST(i1)=SIZE_INT8*2+SIZE_INT
4392 SIZE_VARIABLES(i1)=0_8
4393 read(unit,iostat=err) dummy
4395 SIZE_GEST(i1)=SIZE_INT8*2
4396 SIZE_VARIABLES(i1)=size_array_INT8_2*SIZE_ARITH_DEP
4397 DIFF_SIZE_ALLOC_READ(i1)=
4399 & (size_array_INT8_1-size_array_INT8_2)
4400 allocate(id%S(1:size_array_INT8_1), stat=allocok)
4401.GT.
if (allocok 0) THEN
4403 CALL MUMPS_SETI8TOI4(
4404 & TOTAL_STRUC_SIZE-size_allocated
4407 read(unit,iostat=err) id%S(1:size_array_INT8_2)
4409 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4410 & id%COMM, id%MYID )
4411.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4414 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4417 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4418 & id%COMM, id%MYID )
4419.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4424.EQ.
if(trim(mode)"memory_save
") then
4425 IF(associated(id%INTARR)) THEN
4426 SIZE_GEST(i1)=SIZE_INT8
4427 SIZE_VARIABLES(i1)=id%KEEP8(27)*SIZE_INT
4429 SIZE_GEST(i1)=SIZE_INT8+SIZE_INT
4430 SIZE_VARIABLES(i1)=0_8
4432.EQ.
elseif(trim(mode)"save") then
4433 IF(associated(id%INTARR)) THEN
4434 write(unit,iostat=err) id%KEEP8(27)
4437 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4440 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4441 & id%COMM, id%MYID )
4442.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4443 write(unit,iostat=err) id%INTARR
4445 write(unit,iostat=err) int(-999,8)
4448 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4451 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4452 & id%COMM, id%MYID )
4453.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4454 write(unit,iostat=err) -999
4458 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4461 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4462 & id%COMM, id%MYID )
4463.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4464.EQ.
elseif(trim(mode)"restore
") then
4466 read(unit,iostat=err) size_array_INT8_1
4469 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4472 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4473 & id%COMM, id%MYID )
4474.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4475.EQ.
if(size_array_INT8_1int(-999,8)) then
4476 SIZE_GEST(i1)=SIZE_INT8+SIZE_INT
4477 SIZE_VARIABLES(i1)=0_8
4478 read(unit,iostat=err) dummy
4480 SIZE_GEST(i1)=SIZE_INT8
4481 SIZE_VARIABLES(i1)=size_array_INT8_1*SIZE_INT
4482 allocate(id%INTARR(size_array_INT8_1), stat=allocok)
4483.GT.
if (allocok 0) THEN
4485 CALL MUMPS_SETI8TOI4(
4486 & TOTAL_STRUC_SIZE-size_allocated
4489 read(unit,iostat=err) id%INTARR
4491 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4492 & id%COMM, id%MYID )
4493.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4496 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4499 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4500 & id%COMM, id%MYID )
4501.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4506.EQ.
if(trim(mode)"memory_save
") then
4507 SIZE_VARIABLES(i1)=SIZE_INT
4508.EQ.
elseif(trim(mode)"save") then
4509 write(unit,iostat=err) id%NELT_loc
4512 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4515 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4516 & id%COMM, id%MYID )
4517.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4518.EQ.
elseif(trim(mode)"restore
") then
4519 SIZE_VARIABLES(i1)=SIZE_INT
4520 read(unit,iostat=err) id%NELT_loc
4523 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4526 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4527 & id%COMM, id%MYID )
4528.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4532.EQ.
if(trim(mode)"memory_save
") then
4533 SIZE_VARIABLES(i1)=SIZE_INT
4534.EQ.
elseif(trim(mode)"save") then
4535 write(unit,iostat=err) id%LELTVAR
4538 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4541 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4542 & id%COMM, id%MYID )
4543.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4544.EQ.
elseif(trim(mode)"restore
") then
4545 SIZE_VARIABLES(i1)=SIZE_INT
4546 read(unit,iostat=err) id%LELTVAR
4549 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4552 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4553 & id%COMM, id%MYID )
4554.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4558.EQ.
if(trim(mode)"memory_save
") then
4559 IF(associated(id%ELTPROC)) THEN
4560 SIZE_GEST(i1)=SIZE_INT
4561 SIZE_VARIABLES(i1)=size(id%ELTPROC,1)*SIZE_INT
4563 SIZE_GEST(i1)=SIZE_INT*2
4564 SIZE_VARIABLES(i1)=0_8
4566.EQ.
elseif(trim(mode)"save") then
4567 IF(associated(id%ELTPROC)) THEN
4568 write(unit,iostat=err) size(id%ELTPROC,1)
4571 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4574 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4575 & id%COMM, id%MYID )
4576.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4577 write(unit,iostat=err) id%ELTPROC
4579 write(unit,iostat=err) -999
4582 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4585 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4586 & id%COMM, id%MYID )
4587.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4588 write(unit,iostat=err) -999
4592 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4595 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4596 & id%COMM, id%MYID )
4597.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4598.EQ.
elseif(trim(mode)"restore
") then
4600 read(unit,iostat=err) size_array1
4603 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4606 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4607 & id%COMM, id%MYID )
4608.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4609.EQ.
if(size_array1-999) then
4610 SIZE_GEST(i1)=SIZE_INT*2
4611 SIZE_VARIABLES(i1)=0_8
4612 read(unit,iostat=err) dummy
4614 SIZE_GEST(i1)=SIZE_INT
4615 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
4616 allocate(id%ELTPROC(size_array1), stat=allocok)
4617.GT.
if (allocok 0) THEN
4619 CALL MUMPS_SETI8TOI4(
4620 & TOTAL_STRUC_SIZE-size_allocated
4623 read(unit,iostat=err) id%ELTPROC
4625 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4626 & id%COMM, id%MYID )
4627.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4630 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4633 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4634 & id%COMM, id%MYID )
4635.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4639.EQ.
if(trim(mode)"memory_save
") then
4640 IF(associated(id%I4_L0_OMP)) THEN
4641 SIZE_GEST(i1)=SIZE_INT*2
4642 SIZE_VARIABLES(i1)=size(id%I4_L0_OMP,1)
4643 & *size(id%I4_L0_OMP,2)*SIZE_INT
4645 SIZE_GEST(i1)=SIZE_INT*3
4646 SIZE_VARIABLES(i1)=0_8
4648.EQ.
elseif(trim(mode)"save") then
4649 IF(associated(id%I4_L0_OMP)) THEN
4650 write(unit,iostat=err) size(id%I4_L0_OMP,1)
4651 & ,size(id%I4_L0_OMP,2)
4654 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4657 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4658 & id%COMM, id%MYID )
4659.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4660 write(unit,iostat=err) id%I4_L0_OMP
4662 write(unit,iostat=err) -999,-998
4665 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4668 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4669 & id%COMM, id%MYID )
4670.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4671 write(unit,iostat=err) -999
4675 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4678 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4679 & id%COMM, id%MYID )
4680.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4681.EQ.
elseif(trim(mode)"restore
") then
4682 nullify(id%I4_L0_OMP)
4683 read(unit,iostat=err) size_array1,size_array2
4686 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4689 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4690 & id%COMM, id%MYID )
4691.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4692.EQ.
if(size_array1-999) then
4693 SIZE_GEST(i1)=SIZE_INT*3
4694 SIZE_VARIABLES(i1)=0_8
4695 read(unit,iostat=err) dummy
4697 SIZE_GEST(i1)=SIZE_INT*2
4698 SIZE_VARIABLES(i1)=size_array1*size_array2*SIZE_INT
4699 allocate(id%I4_L0_OMP(size_array1,size_array2)
4701.GT.
if (allocok 0) THEN
4703 CALL MUMPS_SETI8TOI4(
4704 & TOTAL_STRUC_SIZE-size_allocated
4707 read(unit,iostat=err) id%I4_L0_OMP
4709 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4710 & id%COMM, id%MYID )
4711.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4714 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4717 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4718 & id%COMM, id%MYID )
4719.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4723.EQ.
if(trim(mode)"memory_save
") then
4724 IF(associated(id%I8_L0_OMP)) THEN
4725 SIZE_GEST(i1)=SIZE_INT*2
4726 SIZE_VARIABLES(i1)=size(id%I8_L0_OMP,1)
4727 & *size(id%I8_L0_OMP,2)*SIZE_INT8
4729 SIZE_GEST(i1)=SIZE_INT*3
4730 SIZE_VARIABLES(i1)=0_8
4732.EQ.
elseif(trim(mode)"save") then
4733 IF(associated(id%I8_L0_OMP)) THEN
4734 write(unit,iostat=err) size(id%I8_L0_OMP,1)
4735 & ,size(id%I8_L0_OMP,2)
4738 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4741 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4742 & id%COMM, id%MYID )
4743.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4744 write(unit,iostat=err) id%I8_L0_OMP
4746 write(unit,iostat=err) -999,-998
4749 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4752 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4753 & id%COMM, id%MYID )
4754.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4755 write(unit,iostat=err) -999
4759 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4762 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4763 & id%COMM, id%MYID )
4764.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4765.EQ.
elseif(trim(mode)"restore
") then
4766 nullify(id%I8_L0_OMP)
4767 read(unit,iostat=err) size_array1,size_array2
4770 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4773 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4774 & id%COMM, id%MYID )
4775.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4776.EQ.
if(size_array1-999) then
4777 SIZE_GEST(i1)=SIZE_INT*3
4778 SIZE_VARIABLES(i1)=0_8
4779 read(unit,iostat=err) dummy
4781 SIZE_GEST(i1)=SIZE_INT*2
4782 SIZE_VARIABLES(i1)=size_array1*size_array2*SIZE_INT8
4783 allocate(id%I8_L0_OMP(size_array1,size_array2)
4785.GT.
if (allocok 0) THEN
4787 CALL MUMPS_SETI8TOI4(
4788 & TOTAL_STRUC_SIZE-size_allocated
4791 read(unit,iostat=err) id%I8_L0_OMP
4793 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4794 & id%COMM, id%MYID )
4795.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4798 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4801 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4802 & id%COMM, id%MYID )
4803.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4807.EQ.
if(trim(mode)"memory_save
") then
4808 IF(associated(id%CANDIDATES)) THEN
4809 SIZE_GEST(i1)=SIZE_INT*2
4810 SIZE_VARIABLES(i1)=size(id%CANDIDATES,1)
4811 & *size(id%CANDIDATES,2)*SIZE_INT
4813 SIZE_GEST(i1)=SIZE_INT*3
4814 SIZE_VARIABLES(i1)=0_8
4816.EQ.
elseif(trim(mode)"save") then
4817 IF(associated(id%CANDIDATES)) THEN
4818 write(unit,iostat=err) size(id%CANDIDATES,1)
4819 & ,size(id%CANDIDATES,2)
4822 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4825 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4826 & id%COMM, id%MYID )
4827.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4828 write(unit,iostat=err) id%CANDIDATES
4830 write(unit,iostat=err) -999,-998
4833 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4836 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4837 & id%COMM, id%MYID )
4838.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4839 write(unit,iostat=err) -999
4843 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4846 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4847 & id%COMM, id%MYID )
4848.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4849.EQ.
elseif(trim(mode)"restore
") then
4850 nullify(id%CANDIDATES)
4851 read(unit,iostat=err) size_array1,size_array2
4854 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4857 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4858 & id%COMM, id%MYID )
4859.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4860.EQ.
if(size_array1-999) then
4861 SIZE_GEST(i1)=SIZE_INT*3
4862 SIZE_VARIABLES(i1)=0_8
4863 read(unit,iostat=err) dummy
4865 SIZE_GEST(i1)=SIZE_INT*2
4866 SIZE_VARIABLES(i1)=size_array1*size_array2*SIZE_INT
4867 allocate(id%CANDIDATES(size_array1,size_array2)
4869.GT.
if (allocok 0) THEN
4871 CALL MUMPS_SETI8TOI4(
4872 & TOTAL_STRUC_SIZE-size_allocated
4875 read(unit,iostat=err) id%CANDIDATES
4877 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4878 & id%COMM, id%MYID )
4879.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4882 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4885 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4886 & id%COMM, id%MYID )
4887.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4889 CASE("istep_to_iniv2
")
4891.EQ.
if(trim(mode)"memory_save
") then
4892 IF(associated(id%ISTEP_TO_INIV2)) THEN
4893 SIZE_GEST(i1)=SIZE_INT
4894 SIZE_VARIABLES(i1)=size(id%ISTEP_TO_INIV2,1)*SIZE_INT
4896 SIZE_GEST(i1)=SIZE_INT*2
4897 SIZE_VARIABLES(i1)=0_8
4899.EQ.
elseif(trim(mode)"save") then
4900 IF(associated(id%ISTEP_TO_INIV2)) THEN
4901 write(unit,iostat=err) size(id%ISTEP_TO_INIV2,1)
4904 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4907 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4908 & id%COMM, id%MYID )
4909.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4910 write(unit,iostat=err) id%ISTEP_TO_INIV2
4912 write(unit,iostat=err) -999
4915 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4918 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4919 & id%COMM, id%MYID )
4920.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4921 write(unit,iostat=err) -999
4925 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4928 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4929 & id%COMM, id%MYID )
4930.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4931.EQ.
elseif(trim(mode)"restore
") then
4932 nullify(id%ISTEP_TO_INIV2)
4933 read(unit,iostat=err) size_array1
4936 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4939 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4940 & id%COMM, id%MYID )
4941.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4942.EQ.
if(size_array1-999) then
4943 SIZE_GEST(i1)=SIZE_INT*2
4944 SIZE_VARIABLES(i1)=0_8
4945 read(unit,iostat=err) dummy
4947 SIZE_GEST(i1)=SIZE_INT
4948 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
4949 allocate(id%ISTEP_TO_INIV2(size_array1), stat=allocok)
4950.GT.
if (allocok 0) THEN
4952 CALL MUMPS_SETI8TOI4(
4953 & TOTAL_STRUC_SIZE-size_allocated
4956 read(unit,iostat=err) id%ISTEP_TO_INIV2
4958 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4959 & id%COMM, id%MYID )
4960.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4963 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
4966 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4967 & id%COMM, id%MYID )
4968.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4972.EQ.
if(trim(mode)"memory_save
") then
4973 IF(associated(id%FUTURE_NIV2)) THEN
4974 SIZE_GEST(i1)=SIZE_INT
4975 SIZE_VARIABLES(i1)=size(id%FUTURE_NIV2,1)*SIZE_INT
4977 SIZE_GEST(i1)=SIZE_INT*2
4978 SIZE_VARIABLES(i1)=0_8
4980.EQ.
elseif(trim(mode)"save") then
4981 IF(associated(id%FUTURE_NIV2)) THEN
4982 write(unit,iostat=err) size(id%FUTURE_NIV2,1)
4985 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4988 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
4989 & id%COMM, id%MYID )
4990.LT.
IF ( id%INFO(1) 0 ) GOTO 100
4991 write(unit,iostat=err) id%FUTURE_NIV2
4993 write(unit,iostat=err) -999
4996 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
4999 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5000 & id%COMM, id%MYID )
5001.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5002 write(unit,iostat=err) -999
5006 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5009 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5010 & id%COMM, id%MYID )
5011.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5012.EQ.
elseif(trim(mode)"restore
") then
5013 nullify(id%FUTURE_NIV2)
5014 read(unit,iostat=err) size_array1
5017 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5020 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5021 & id%COMM, id%MYID )
5022.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5023.EQ.
if(size_array1-999) then
5024 SIZE_GEST(i1)=SIZE_INT*2
5025 SIZE_VARIABLES(i1)=0_8
5026 read(unit,iostat=err) dummy
5028 SIZE_GEST(i1)=SIZE_INT
5029 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
5030 allocate(id%FUTURE_NIV2(size_array1), stat=allocok)
5031.GT.
if (allocok 0) THEN
5033 CALL MUMPS_SETI8TOI4(
5034 & TOTAL_STRUC_SIZE-size_allocated
5037 read(unit,iostat=err) id%FUTURE_NIV2
5039 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5040 & id%COMM, id%MYID )
5041.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5044 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5047 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5048 & id%COMM, id%MYID )
5049.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5051 CASE("tab_pos_in_pere
")
5053.EQ.
if(trim(mode)"memory_save
") then
5054 IF(associated(id%TAB_POS_IN_PERE)) THEN
5055 SIZE_GEST(i1)=SIZE_INT*2
5056 SIZE_VARIABLES(i1)=size(id%TAB_POS_IN_PERE,1)
5057 & *size(id%TAB_POS_IN_PERE,2)*SIZE_INT
5059 SIZE_GEST(i1)=SIZE_INT*3
5060 SIZE_VARIABLES(i1)=0_8
5062.EQ.
elseif(trim(mode)"save") then
5063 IF(associated(id%TAB_POS_IN_PERE)) THEN
5064 write(unit,iostat=err) size(id%TAB_POS_IN_PERE,1)
5065 & ,size(id%TAB_POS_IN_PERE,2)
5068 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5071 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5072 & id%COMM, id%MYID )
5073.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5074 write(unit,iostat=err) id%TAB_POS_IN_PERE
5076 write(unit,iostat=err) -999,-998
5079 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5082 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5083 & id%COMM, id%MYID )
5084.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5085 write(unit,iostat=err) -999
5089 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5092 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5093 & id%COMM, id%MYID )
5094.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5095.EQ.
elseif(trim(mode)"restore
") then
5096 nullify(id%TAB_POS_IN_PERE)
5097 read(unit,iostat=err) size_array1,size_array2
5100 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5103 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5104 & id%COMM, id%MYID )
5105.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5106.EQ.
if(size_array1-999) then
5107 SIZE_GEST(i1)=SIZE_INT*3
5108 SIZE_VARIABLES(i1)=0_8
5109 read(unit,iostat=err) dummy
5111 SIZE_GEST(i1)=SIZE_INT*2
5112 SIZE_VARIABLES(i1)=size_array1*size_array2*SIZE_INT
5113 allocate(id%TAB_POS_IN_PERE(size_array1,size_array2)
5115.GT.
if (allocok 0) THEN
5117 CALL MUMPS_SETI8TOI4(
5118 & TOTAL_STRUC_SIZE-size_allocated
5121 read(unit,iostat=err) id%TAB_POS_IN_PERE
5123 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5124 & id%COMM, id%MYID )
5125.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5128 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5131 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5132 & id%COMM, id%MYID )
5133.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5137.EQ.
if(trim(mode)"memory_save
") then
5138 IF(associated(id%I_AM_CAND)) THEN
5139 SIZE_GEST(i1)=SIZE_INT
5140 SIZE_VARIABLES(i1)=size(id%I_AM_CAND,1)*SIZE_LOGICAL
5142 SIZE_GEST(i1)=SIZE_INT*2
5143 SIZE_VARIABLES(i1)=0_8
5145.EQ.
elseif(trim(mode)"save") then
5146 IF(associated(id%I_AM_CAND)) THEN
5147 write(unit,iostat=err) size(id%I_AM_CAND,1)
5150 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5153 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5154 & id%COMM, id%MYID )
5155.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5156 write(unit,iostat=err) id%I_AM_CAND
5158 write(unit,iostat=err) -999
5161 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5164 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5165 & id%COMM, id%MYID )
5166.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5167 write(unit,iostat=err) -999
5171 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5174 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5175 & id%COMM, id%MYID )
5176.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5177.EQ.
elseif(trim(mode)"restore
") then
5178 nullify(id%I_AM_CAND)
5179 read(unit,iostat=err) size_array1
5182 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5185 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5186 & id%COMM, id%MYID )
5187.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5188.EQ.
if(size_array1-999) then
5189 SIZE_GEST(i1)=SIZE_INT*2
5190 SIZE_VARIABLES(i1)=0_8
5191 read(unit,iostat=err) dummy
5193 SIZE_GEST(i1)=SIZE_INT
5194 SIZE_VARIABLES(i1)=size_array1*SIZE_LOGICAL
5195 allocate(id%I_AM_CAND(size_array1), stat=allocok)
5196.GT.
if (allocok 0) THEN
5198 CALL MUMPS_SETI8TOI4(
5199 & TOTAL_STRUC_SIZE-size_allocated
5202 read(unit,iostat=err) id%I_AM_CAND
5204 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5205 & id%COMM, id%MYID )
5206.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5209 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5212 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5213 & id%COMM, id%MYID )
5214.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5218.EQ.
if(trim(mode)"memory_save
") then
5219 IF(associated(id%MEM_DIST)) THEN
5220 SIZE_GEST(i1)=SIZE_INT
5221 SIZE_VARIABLES(i1)=size(id%MEM_DIST,1)*SIZE_INT
5223 SIZE_GEST(i1)=SIZE_INT*2
5224 SIZE_VARIABLES(i1)=0_8
5226.EQ.
elseif(trim(mode)"save") then
5227 IF(associated(id%MEM_DIST)) THEN
5228 write(unit,iostat=err) size(id%MEM_DIST,1)
5231 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5234 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5235 & id%COMM, id%MYID )
5236 write(unit,iostat=err) id%MEM_DIST
5238 write(unit,iostat=err) -999
5241 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5244 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5245 & id%COMM, id%MYID )
5246 write(unit,iostat=err) -999
5250 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5253 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5254 & id%COMM, id%MYID )
5255.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5256.EQ.
elseif(trim(mode)"restore
") then
5257 nullify(id%MEM_DIST)
5258 read(unit,iostat=err) size_array1
5261 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5264 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5265 & id%COMM, id%MYID )
5266.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5267.EQ.
if(size_array1-999) then
5268 SIZE_GEST(i1)=SIZE_INT*2
5269 SIZE_VARIABLES(i1)=0_8
5270 read(unit,iostat=err) dummy
5272 SIZE_GEST(i1)=SIZE_INT
5273 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
5274 allocate(id%MEM_DIST(0:size_array1-1), stat=allocok)
5275.GT.
if (allocok 0) THEN
5277 CALL MUMPS_SETI8TOI4(
5278 & TOTAL_STRUC_SIZE-size_allocated
5281 read(unit,iostat=err) id%MEM_DIST
5283 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5284 & id%COMM, id%MYID )
5285.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5288 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5291 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5292 & id%COMM, id%MYID )
5293.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5295 CASE("posinrhscomp_row
")
5297.EQ.
if(trim(mode)"memory_save
") then
5298 IF(associated(id%POSINRHSCOMP_ROW)) THEN
5299 SIZE_GEST(i1)=SIZE_INT
5301 & size(id%POSINRHSCOMP_ROW,1)*SIZE_INT
5303 SIZE_GEST(i1)=SIZE_INT*2
5304 SIZE_VARIABLES(i1)=0_8
5306.EQ.
elseif(trim(mode)"save") then
5307 IF(associated(id%POSINRHSCOMP_ROW)) THEN
5308 write(unit,iostat=err) size(id%POSINRHSCOMP_ROW,1)
5311 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5314 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5315 & id%COMM, id%MYID )
5316.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5317 write(unit,iostat=err) id%POSINRHSCOMP_ROW
5319 write(unit,iostat=err) -999
5322 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5325 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5326 & id%COMM, id%MYID )
5327.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5328 write(unit,iostat=err) -999
5332 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5335 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5336 & id%COMM, id%MYID )
5337.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5338.EQ.
elseif(trim(mode)"restore
") then
5339 nullify(id%POSINRHSCOMP_ROW)
5340 read(unit,iostat=err) size_array1
5343 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5346 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5347 & id%COMM, id%MYID )
5348.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5349.EQ.
if(size_array1-999) then
5350 SIZE_GEST(i1)=SIZE_INT*2
5351 SIZE_VARIABLES(i1)=0_8
5352 read(unit,iostat=err) dummy
5354 SIZE_GEST(i1)=SIZE_INT
5355 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
5356 allocate(id%POSINRHSCOMP_ROW(size_array1),
5358.GT.
if (allocok 0) THEN
5360 CALL MUMPS_SETI8TOI4(
5361 & TOTAL_STRUC_SIZE-size_allocated
5364 read(unit,iostat=err) id%POSINRHSCOMP_ROW
5366 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5367 & id%COMM, id%MYID )
5368.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5371 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5374 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5375 & id%COMM, id%MYID )
5376.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5378 CASE("posinrhscomp_col_alloc
")
5380.EQ.
if(trim(mode)"memory_save
") then
5381 SIZE_VARIABLES(i1)=SIZE_LOGICAL
5382.EQ.
elseif(trim(mode)"save") then
5383 write(unit,iostat=err) id%POSINRHSCOMP_COL_ALLOC
5386 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5389 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5390 & id%COMM, id%MYID )
5391.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5392.EQ.
elseif(trim(mode)"restore
") then
5393 SIZE_VARIABLES(i1)=SIZE_LOGICAL
5394 read(unit,iostat=err) id%POSINRHSCOMP_COL_ALLOC
5397 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5400 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5401 & id%COMM, id%MYID )
5402.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5404 CASE("posinrhscomp_col
")
5406.EQ.
if(trim(mode)"memory_save
") then
5407 IF(associated(id%POSINRHSCOMP_COL)) THEN
5408 IF(id%POSINRHSCOMP_COL_ALLOC) THEN
5409 SIZE_GEST(i1)=SIZE_INT
5411 & size(id%POSINRHSCOMP_COL,1)*SIZE_INT
5413 SIZE_GEST(i1)=SIZE_INT*2
5414 SIZE_VARIABLES(i1)=0_8
5417 SIZE_GEST(i1)=SIZE_INT*2
5418 SIZE_VARIABLES(i1)=0_8
5420.EQ.
elseif(trim(mode)"save") then
5421 IF(associated(id%POSINRHSCOMP_COL)) THEN
5422 IF(id%POSINRHSCOMP_COL_ALLOC) THEN
5423 write(unit,iostat=err) size(id%POSINRHSCOMP_COL,1)
5426 CALL MUMPS_SETI8TOI4(
5427 & TOTAL_FILE_SIZE-size_written,
5430 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5431 & id%COMM, id%MYID )
5432.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5433 write(unit,iostat=err) id%POSINRHSCOMP_COL
5435 write(unit,iostat=err) size(id%POSINRHSCOMP_COL,1)
5438 CALL MUMPS_SETI8TOI4(
5439 & TOTAL_FILE_SIZE-size_written,
5442 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5443 & id%COMM, id%MYID )
5444.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5445 write(unit,iostat=err) -999
5448 write(unit,iostat=err) -999
5451 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5454 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5455 & id%COMM, id%MYID )
5456.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5457 write(unit,iostat=err) -999
5461 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5464 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5465 & id%COMM, id%MYID )
5466.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5467.EQ.
elseif(trim(mode)"restore
") then
5468 nullify(id%POSINRHSCOMP_COL)
5469 read(unit,iostat=err) size_array1
5472 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5475 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5476 & id%COMM, id%MYID )
5477.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5478.EQ.
if(size_array1-999) then
5479 SIZE_GEST(i1)=SIZE_INT*2
5480 SIZE_VARIABLES(i1)=0_8
5481 read(unit,iostat=err) dummy
5483 if(id%POSINRHSCOMP_COL_ALLOC) then
5484 SIZE_GEST(i1)=SIZE_INT
5485 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
5486 allocate(id%POSINRHSCOMP_COL(size_array1),
5488.GT.
if (allocok 0) THEN
5490 CALL MUMPS_SETI8TOI4(
5491 & TOTAL_STRUC_SIZE-size_allocated
5494 read(unit,iostat=err) id%POSINRHSCOMP_COL
5496 SIZE_GEST(i1)=SIZE_INT*2
5497 SIZE_VARIABLES(i1)=0_8
5498 read(unit,iostat=err) dummy
5499 id%POSINRHSCOMP_COL=>id%POSINRHSCOMP_ROW
5502 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5503 & id%COMM, id%MYID )
5504.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5507 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5510 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5511 & id%COMM, id%MYID )
5512.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5516.EQ.
if(trim(mode)"memory_save
") then
5517 IF(associated(id%RHSCOMP)) THEN
5518 SIZE_GEST(i1)=SIZE_INT8
5519 SIZE_VARIABLES(i1)=id%KEEP8(25)*SIZE_ARITH_DEP
5521 SIZE_GEST(i1)=SIZE_INT8+SIZE_INT
5522 SIZE_VARIABLES(i1)=0_8
5524.EQ.
elseif(trim(mode)"save") then
5525 IF(associated(id%RHSCOMP)) THEN
5526 write(unit,iostat=err) id%KEEP8(25)
5529 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5532 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5533 & id%COMM, id%MYID )
5534.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5535 write(unit,iostat=err) id%RHSCOMP
5537 write(unit,iostat=err) int(-999,8)
5540 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5543 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5544 & id%COMM, id%MYID )
5545.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5546 write(unit,iostat=err) -999
5550 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5553 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5554 & id%COMM, id%MYID )
5555.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5556.EQ.
elseif(trim(mode)"restore
") then
5558 read(unit,iostat=err) size_array_INT8_1
5561 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5564 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5565 & id%COMM, id%MYID )
5566.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5567.EQ.
if(size_array_INT8_1int(-999,8)) then
5568 SIZE_GEST(i1)=SIZE_INT8+SIZE_INT
5569 SIZE_VARIABLES(i1)=0_8
5570 read(unit,iostat=err) dummy
5572 SIZE_GEST(i1)=SIZE_INT8
5573 SIZE_VARIABLES(i1)=size_array_INT8_1*SIZE_ARITH_DEP
5574 allocate(id%RHSCOMP(size_array_INT8_1), stat=allocok)
5575.GT.
if (allocok 0) THEN
5577 CALL MUMPS_SETI8TOI4(
5578 & TOTAL_STRUC_SIZE-size_allocated
5581 read(unit,iostat=err) id%RHSCOMP
5583 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5584 & id%COMM, id%MYID )
5585.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5588 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5591 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5592 & id%COMM, id%MYID )
5593.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5597.EQ.
if(trim(mode)"memory_save
") then
5598 IF(associated(id%MEM_SUBTREE)) THEN
5599 SIZE_GEST(i1)=SIZE_INT
5601 & size(id%MEM_SUBTREE,1)*SIZE_DOUBLE_PRECISION
5603 SIZE_GEST(i1)=SIZE_INT*2
5604 SIZE_VARIABLES(i1)=0_8
5606.EQ.
elseif(trim(mode)"save") then
5607 IF(associated(id%MEM_SUBTREE)) THEN
5608 write(unit,iostat=err) size(id%MEM_SUBTREE,1)
5611 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5614 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5615 & id%COMM, id%MYID )
5616.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5617 write(unit,iostat=err) id%MEM_SUBTREE
5619 write(unit,iostat=err) -999
5622 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5625 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5626 & id%COMM, id%MYID )
5627.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5628 write(unit,iostat=err) -999
5632 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5635 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5636 & id%COMM, id%MYID )
5637.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5638.EQ.
elseif(trim(mode)"restore
") then
5639 nullify(id%MEM_SUBTREE)
5640 read(unit,iostat=err) size_array1
5643 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5646 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5647 & id%COMM, id%MYID )
5648.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5649.EQ.
if(size_array1-999) then
5650 SIZE_GEST(i1)=SIZE_INT*2
5651 SIZE_VARIABLES(i1)=0_8
5652 read(unit,iostat=err) dummy
5654 SIZE_GEST(i1)=SIZE_INT
5655 SIZE_VARIABLES(i1)=size_array1*SIZE_DOUBLE_PRECISION
5656 allocate(id%MEM_SUBTREE(size_array1), stat=allocok)
5657.GT.
if (allocok 0) THEN
5659 CALL MUMPS_SETI8TOI4(
5660 & TOTAL_STRUC_SIZE-size_allocated
5663 read(unit,iostat=err) id%MEM_SUBTREE
5665 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5666 & id%COMM, id%MYID )
5667.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5670 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5673 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5674 & id%COMM, id%MYID )
5675.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5679.EQ.
if(trim(mode)"memory_save
") then
5680 IF(associated(id%COST_TRAV)) THEN
5681 SIZE_GEST(i1)=SIZE_INT
5683 & size(id%COST_TRAV,1)*SIZE_DOUBLE_PRECISION
5685 SIZE_GEST(i1)=SIZE_INT*2
5686 SIZE_VARIABLES(i1)=0_8
5688.EQ.
elseif(trim(mode)"save") then
5689 IF(associated(id%COST_TRAV)) THEN
5690 write(unit,iostat=err) size(id%COST_TRAV,1)
5693 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5696 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5697 & id%COMM, id%MYID )
5698.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5699 write(unit,iostat=err) id%COST_TRAV
5701 write(unit,iostat=err) -999
5704 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5707 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5708 & id%COMM, id%MYID )
5709.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5710 write(unit,iostat=err) -999
5714 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5717 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5718 & id%COMM, id%MYID )
5719.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5720.EQ.
elseif(trim(mode)"restore
") then
5721 nullify(id%COST_TRAV)
5722 read(unit,iostat=err) size_array1
5725 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5728 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5729 & id%COMM, id%MYID )
5730.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5731.EQ.
if(size_array1-999) then
5732 SIZE_GEST(i1)=SIZE_INT*2
5733 SIZE_VARIABLES(i1)=0_8
5734 read(unit,iostat=err) dummy
5736 SIZE_GEST(i1)=SIZE_INT
5737 SIZE_VARIABLES(i1)=size_array1*SIZE_DOUBLE_PRECISION
5738 allocate(id%COST_TRAV(size_array1), stat=allocok)
5739.GT.
if (allocok 0) THEN
5741 CALL MUMPS_SETI8TOI4(
5742 & TOTAL_STRUC_SIZE-size_allocated
5745 read(unit,iostat=err) id%COST_TRAV
5747 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5748 & id%COMM, id%MYID )
5749.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5752 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5755 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5756 & id%COMM, id%MYID )
5757.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5759 CASE("my_root_sbtr
")
5761.EQ.
if(trim(mode)"memory_save
") then
5762 IF(associated(id%MY_ROOT_SBTR)) THEN
5763 SIZE_GEST(i1)=SIZE_INT
5764 SIZE_VARIABLES(i1)=size(id%MY_ROOT_SBTR,1)*SIZE_INT
5766 SIZE_GEST(i1)=SIZE_INT*2
5767 SIZE_VARIABLES(i1)=0_8
5769.EQ.
elseif(trim(mode)"save") then
5770 IF(associated(id%MY_ROOT_SBTR)) THEN
5771 write(unit,iostat=err) size(id%MY_ROOT_SBTR,1)
5774 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5777 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5778 & id%COMM, id%MYID )
5779.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5780 write(unit,iostat=err) id%MY_ROOT_SBTR
5782 write(unit,iostat=err) -999
5785 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5788 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5789 & id%COMM, id%MYID )
5790.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5791 write(unit,iostat=err) -999
5795 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5798 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5799 & id%COMM, id%MYID )
5800.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5801.EQ.
elseif(trim(mode)"restore
") then
5802 nullify(id%MY_ROOT_SBTR)
5803 read(unit,iostat=err) size_array1
5806 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5809 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5810 & id%COMM, id%MYID )
5811.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5812.EQ.
if(size_array1-999) then
5813 SIZE_GEST(i1)=SIZE_INT*2
5814 SIZE_VARIABLES(i1)=0_8
5815 read(unit,iostat=err) dummy
5817 SIZE_GEST(i1)=SIZE_INT
5818 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
5819 allocate(id%MY_ROOT_SBTR(size_array1), stat=allocok)
5820.GT.
if (allocok 0) THEN
5822 CALL MUMPS_SETI8TOI4(
5823 & TOTAL_STRUC_SIZE-size_allocated
5826 read(unit,iostat=err) id%MY_ROOT_SBTR
5828 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5829 & id%COMM, id%MYID )
5830.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5833 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5836 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5837 & id%COMM, id%MYID )
5838.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5840 CASE("my_first_leaf
")
5842.EQ.
if(trim(mode)"memory_save
") then
5843 IF(associated(id%MY_FIRST_LEAF)) THEN
5844 SIZE_GEST(i1)=SIZE_INT
5845 SIZE_VARIABLES(i1)=size(id%MY_FIRST_LEAF,1)*SIZE_INT
5847 SIZE_GEST(i1)=SIZE_INT*2
5848 SIZE_VARIABLES(i1)=0_8
5850.EQ.
elseif(trim(mode)"save") then
5851 IF(associated(id%MY_FIRST_LEAF)) THEN
5852 write(unit,iostat=err) size(id%MY_FIRST_LEAF,1)
5855 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5858 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5859 & id%COMM, id%MYID )
5860.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5861 write(unit,iostat=err) id%MY_FIRST_LEAF
5863 write(unit,iostat=err) -999
5866 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5869 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5870 & id%COMM, id%MYID )
5871.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5872 write(unit,iostat=err) -999
5876 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5879 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5880 & id%COMM, id%MYID )
5881.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5882.EQ.
elseif(trim(mode)"restore
") then
5883 nullify(id%MY_FIRST_LEAF)
5884 read(unit,iostat=err) size_array1
5887 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5890 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5891 & id%COMM, id%MYID )
5892.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5893.EQ.
if(size_array1-999) then
5894 SIZE_GEST(i1)=SIZE_INT*2
5895 SIZE_VARIABLES(i1)=0_8
5896 read(unit,iostat=err) dummy
5898 SIZE_GEST(i1)=SIZE_INT
5899 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
5900 allocate(id%MY_FIRST_LEAF(size_array1), stat=allocok)
5901.GT.
if (allocok 0) THEN
5903 CALL MUMPS_SETI8TOI4(
5904 & TOTAL_STRUC_SIZE-size_allocated
5907 read(unit,iostat=err) id%MY_FIRST_LEAF
5909 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5910 & id%COMM, id%MYID )
5911.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5914 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5917 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5918 & id%COMM, id%MYID )
5919.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5923.EQ.
if(trim(mode)"memory_save
") then
5924 IF(associated(id%MY_NB_LEAF)) THEN
5925 SIZE_GEST(i1)=SIZE_INT
5926 SIZE_VARIABLES(i1)=size(id%MY_NB_LEAF,1)*SIZE_INT
5928 SIZE_GEST(i1)=SIZE_INT*2
5929 SIZE_VARIABLES(i1)=0_8
5931.EQ.
elseif(trim(mode)"save") then
5932 IF(associated(id%MY_NB_LEAF)) THEN
5933 write(unit,iostat=err) size(id%MY_NB_LEAF,1)
5936 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5939 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5940 & id%COMM, id%MYID )
5941.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5942 write(unit,iostat=err) id%MY_NB_LEAF
5944 write(unit,iostat=err) -999
5947 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5950 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5951 & id%COMM, id%MYID )
5952.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5953 write(unit,iostat=err) -999
5957 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
5960 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5961 & id%COMM, id%MYID )
5962.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5963.EQ.
elseif(trim(mode)"restore
") then
5964 nullify(id%MY_NB_LEAF)
5965 read(unit,iostat=err) size_array1
5968 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5971 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5972 & id%COMM, id%MYID )
5973.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5974.EQ.
if(size_array1-999) then
5975 SIZE_GEST(i1)=SIZE_INT*2
5976 SIZE_VARIABLES(i1)=0_8
5977 read(unit,iostat=err) dummy
5979 SIZE_GEST(i1)=SIZE_INT
5980 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
5981 allocate(id%MY_NB_LEAF(size_array1), stat=allocok)
5982.GT.
if (allocok 0) THEN
5984 CALL MUMPS_SETI8TOI4(
5985 & TOTAL_STRUC_SIZE-size_allocated
5988 read(unit,iostat=err) id%MY_NB_LEAF
5990 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5991 & id%COMM, id%MYID )
5992.LT.
IF ( id%INFO(1) 0 ) GOTO 100
5995 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
5998 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
5999 & id%COMM, id%MYID )
6000.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6004.EQ.
if(trim(mode)"memory_save
") then
6005 IF(associated(id%DEPTH_FIRST)) THEN
6006 SIZE_GEST(i1)=SIZE_INT
6007 SIZE_VARIABLES(i1)=size(id%DEPTH_FIRST,1)*SIZE_INT
6009 SIZE_GEST(i1)=SIZE_INT*2
6010 SIZE_VARIABLES(i1)=0_8
6012.EQ.
elseif(trim(mode)"save") then
6013 IF(associated(id%DEPTH_FIRST)) THEN
6014 write(unit,iostat=err) size(id%DEPTH_FIRST,1)
6017 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6020 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6021 & id%COMM, id%MYID )
6022.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6023 write(unit,iostat=err) id%DEPTH_FIRST
6025 write(unit,iostat=err) -999
6028 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6031 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6032 & id%COMM, id%MYID )
6033.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6034 write(unit,iostat=err) -999
6038 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6041 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6042 & id%COMM, id%MYID )
6043.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6044.EQ.
elseif(trim(mode)"restore")
then
6045 nullify(id%DEPTH_FIRST)
6046 read(unit,iostat=err) size_array1
6053 & id%COMM, id%MYID )
6054 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6055 if(size_array1.EQ.-999)
then
6056 size_gest(i1)=size_int*2
6057 size_variables(i1)=0_8
6058 read(unit,iostat=err) dummy
6060 size_gest(i1)=size_int
6061 size_variables(i1)=size_array1*size_int
6062 allocate(id%DEPTH_FIRST(size_array1), stat=allocok)
6063 if (allocok .GT. 0)
THEN
6066 & total_struc_size-size_allocated
6069 read(unit,iostat=err) id%DEPTH_FIRST
6072 & id%COMM, id%MYID )
6073 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6080 & id%COMM, id%MYID )
6081 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6083 CASE(
"DEPTH_FIRST_SEQ")
6085 if(trim(mode).EQ.
"memory_save")
then
6086 IF(
associated(id%DEPTH_FIRST_SEQ))
THEN
6087 size_gest(i1)=size_int
6088 size_variables(i1)=
size(id%DEPTH_FIRST_SEQ,1)*size_int
6090 size_gest(i1)=size_int*2
6091 size_variables(i1)=0_8
6093 elseif(trim(mode).EQ.
"save")
then
6094 IF(
associated(id%DEPTH_FIRST_SEQ))
THEN
6095 write(unit,iostat=err)
size(id%DEPTH_FIRST_SEQ,1)
6102 & id%COMM, id%MYID )
6103 IF ( id%INFO(1) .LT. 0 )
GOTO
6104 write(unit,iostat=err) id%DEPTH_FIRST_SEQ
6106 write(unit,iostat=err) -999
6113 & id%COMM, id%MYID )
6114 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6115 write(unit,iostat=err) -999
6123 & id%COMM, id%MYID )
6124 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6125 elseif(trim(mode).EQ.
"restore")
then
6126 nullify(id%DEPTH_FIRST_SEQ)
6127 read(unit,iostat=err) size_array1
6134 & id%COMM, id%MYID )
6135 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6136 if(size_array1.EQ.-999)
then
6137 size_gest(i1)=size_int*2
6138 size_variables(i1)=0_8
6141 size_gest(i1)=size_int
6142 size_variables(i1)=size_array1*size_int
6143 allocate(id%DEPTH_FIRST_SEQ(size_array1),
6145 if (allocok .GT. 0)
THEN
6148 & total_struc_size-size_allocated
6151 read(unit,iostat=err) id%DEPTH_FIRST_SEQ
6154 & id%COMM, id%MYID )
6155 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6162 & id%COMM, id%MYID )
6163 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6167 if(trim(mode).EQ.
"memory_save")
then
6168 IF(
associated(id%SBTR_ID))
THEN
6169 size_gest(i1)=size_int
6170 size_variables(i1)=
size(id%SBTR_ID,1)*size_int
6172 size_gest(i1)=size_int*2
6173 size_variables(i1)=0_8
6175 elseif(trim(mode).EQ.
"save")
then
6176 IF(
associated(id%SBTR_ID))
THEN
6177 write(unit,iostat=err)
size(id%SBTR_ID,1)
6184 & id%COMM, id%MYID )
6185 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6186 write(unit,iostat=err) id%SBTR_ID
6188 write(unit,iostat=err) -999
6195 & id%COMM, id%MYID )
6196 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6197 write(unit,iostat=err) -999
6205 & id%COMM, id%MYID )
6206 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6207 elseif(trim(mode).EQ.
"restore")
then
6209 read(unit,iostat=err) size_array1
6216 & id%COMM, id%MYID )
6217 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6218 if(size_array1.EQ.-999)
then
6219 size_gest(i1)=size_int*2
6221 read(unit,iostat=err) dummy
6223 size_gest(i1)=size_int
6224 size_variables(i1)=size_array1*size_int
6225 allocate(id%SBTR_ID(size_array1), stat=allocok)
6226 if (allocok .GT. 0)
THEN
6229 & total_struc_size-size_allocated
6232 read(unit,iostat=err) id%SBTR_ID
6235 & id%COMM, id%MYID )
6236 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6243 & id%COMM, id%MYID )
6244 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6252 if(trim(mode).EQ.
"memory_save")
then
6253 size_variables(i1)=size_int
6254 elseif(trim(mode).EQ.
"save")
then
6262 & id%COMM, id%MYID )
6263 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6266 read(unit,iostat=err) id%NBSA_LOCAL
6273 & id%COMM, id%MYID )
6274 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6277 if(trim(mode).EQ.
"memory_save")
then
6278 diff_size_alloc_read(i1)=size_int
6279 elseif(trim(mode).EQ.
"save")
then
6280 diff_size_alloc_read(i1)=size_int
6281 elseif(trim(mode).EQ.
"restore")
then
6282 diff_size_alloc_read(i1)=size_int
6285 CASE(
"INSTANCE_NUMBER")
6287 if(trim(mode).EQ.
"memory_save")
then
6288 size_variables(i1)=size_int
6289 elseif(trim(mode).EQ.
"save")
then
6290 write(unit,iostat=err) id%INSTANCE_NUMBER
6297 & id%COMM, id%MYID )
6298 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6299 elseif(trim(mode).EQ.
"restore")
then
6300 size_variables(i1)=size_int
6301 read(unit,iostat=err) id%INSTANCE_NUMBER
6308 & id%COMM, id%MYID )
6309 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6311 CASE(
"OOC_MAX_NB_NODES_FOR_ZONE")
6313 if(trim(mode).EQ.
"memory_save")
then
6314 size_variables(i1)=size_int
6315 elseif(trim(mode).EQ.
"save")
then
6316 write(unit,iostat=err) id%OOC_MAX_NB_NODES_FOR_ZONE
6323 & id%COMM, id%MYID )
6324 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6325 elseif(trim(mode).EQ.
"restore")
then
6326 size_variables(i1)=size_int
6327 read(unit,iostat=err) id%OOC_MAX_NB_NODES_FOR_ZONE
6334 & id%COMM, id%MYID )
6335 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6337 CASE(
"OOC_INODE_SEQUENCE")
6339 if(trim(mode).EQ.
"memory_save")
then
6340 IF(
associated(id%OOC_INODE_SEQUENCE))
THEN
6341 size_gest(i1)=size_int*2
6342 size_variables(i1)=
size(id%OOC_INODE_SEQUENCE,1)
6343 & *
size(id%OOC_INODE_SEQUENCE,2)*size_int
6345 size_gest(i1)=size_int*3
6346 size_variables(i1)=0_8
6348 elseif(trim(mode).EQ.
"save")
then
6349 IF(
associated(id%OOC_INODE_SEQUENCE))
THEN
6350 write(unit,iostat=err)
size(id%OOC_INODE_SEQUENCE,1)
6351 & ,
size(id%OOC_INODE_SEQUENCE,2)
6358 & id%COMM, id%MYID )
6359 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6360 write(unit,iostat=err) id%OOC_INODE_SEQUENCE
6362 write(unit,iostat=err) -999,-998
6369 & id%COMM, id%MYID )
6370 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6371 write(unit,iostat=err) -999
6379 & id%COMM, id%MYID )
6380 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6381 elseif(trim(mode).EQ.
"restore")
then
6382 nullify(id%OOC_INODE_SEQUENCE)
6383 read(unit,iostat=err) size_array1,size_array2
6390 & id%COMM, id%MYID )
6391 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6392 if(size_array1.EQ.-9
then
6394 size_variables(i1)=0_8
6397 size_gest(i1)=size_int*2
6398 size_variables(i1)=size_array1*size_array2*size_int
6399 allocate(id%OOC_INODE_SEQUENCE(size_array1
6400 & ,size_array2), stat=allocok)
6401 if (allocok .GT. 0)
THEN
6404 & total_struc_size-size_allocated
6407 read(unit,iostat=err) id%OOC_INODE_SEQUENCE
6410 & id%COMM, id%MYID )
6411 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6418 & id%COMM, id%MYID )
6419 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6421 CASE(
"OOC_SIZE_OF_BLOCK")
6423 if(trim(mode).EQ.
"memory_save")
then
6424 IF(
associated(id%OOC_SIZE_OF_BLOCK))
THEN
6425 size_gest(i1)=size_int*2
6426 size_variables(i1)=
size(id%OOC_SIZE_OF_BLOCK,1)
6427 & *
size(id%OOC_SIZE_OF_BLOCK,2)*size_int8
6429 size_gest(i1)=size_int*3
6430 size_variables(i1)=0_8
6432 elseif(trim(mode).EQ.
"save")
then
6433 IF(
associated(id%OOC_SIZE_OF_BLOCK
THEN
6434 write(unit,iostat=err)
size(id%OOC_SIZE_OF_BLOCK,1)
6435 & ,
size(id%OOC_SIZE_OF_BLOCK,2)
6442 & id%COMM, id%MYID )
6443 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6444 write(unit,iostat=err) id%OOC_SIZE_OF_BLOCK
6446 write(unit,iostat=err
6453 & id%COMM, id%MYID )
6454 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6455 write(unit,iostat=err) -999
6463 & id%COMM, id%MYID )
6464 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6465 elseif(trim(mode).EQ.
"restore")
then
6466 nullify(id%OOC_SIZE_OF_BLOCK)
6467 read(unit,iostat=err) size_array1,size_array2
6474 & id%COMM, id%MYID )
6475 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6476 if(size_array1.EQ.-999)
then
6477 size_gest(i1)=size_int*3
6478 size_variables(i1)=0_8
6479 read(unit,iostat=err) dummy
6481 size_gest(i1)=size_int*2
6482 size_variables(i1)=size_array1*size_array2*size_int8
6483 allocate(id%OOC_SIZE_OF_BLOCK(size_array1
6484 & ,size_array2), stat=allocok)
6485 if (allocok .GT. 0)
THEN
6488 & total_struc_size-size_allocated
6491 read(unit,iostat=err) id%OOC_SIZE_OF_BLOCK
6494 & id%COMM, id%MYID )
6495 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6502 & id%COMM, id%MYID )
6503 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6507 if(trim(mode).EQ.
"memory_save")
then
6508 IF(
associated(id%OOC_VADDR))
THEN
6509 size_gest(i1)=size_int*2
6510 size_variables(i1)=
size(id%OOC_VADDR,1)
6511 & *
size(id%OOC_VADDR,2)*size_int8
6513 size_gest(i1)=size_int*3
6514 size_variables(i1)=0_8
6516 elseif(trim(mode).EQ.
"save")
then
6518 write(unit,iostat=err)
size(id%OOC_VADDR,1)
6519 & ,
size(id%OOC_VADDR,2)
6526 & id%COMM, id%MYID )
6527 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6528 write(unit,iostat=err) id%OOC_VADDR
6530 write(unit,iostat=err) -999,-998
6537 & id%COMM, id%MYID )
6538 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6539 write(unit,iostat=err) -999
6547 & id%COMM, id%MYID )
6548 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6549 elseif(trim(mode).EQ.
"restore")
then
6550 nullify(id%OOC_VADDR)
6551 read(unit,iostat=err) size_array1,size_array2
6558 & id%COMM, id%MYID )
6559 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6560 if(size_array1.EQ.-999)
then
6561 size_gest(i1)=size_int*3
6562 size_variables(i1)=0_8
6565 size_gest(i1)=size_int*2
6566 size_variables(i1)=size_array1*size_array2*size_int8
6567 allocate(id%OOC_VADDR(size_array1,size_array2),
6569 if (allocok .GT. 0)
THEN
6572 & total_struc_size-size_allocated
6575 read(unit,iostat=err) id%OOC_VADDR
6578 & id%COMM, id%MYID )
6579 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6586 & id%COMM, id%MYID )
6587 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6589 CASE(
"OOC_TOTAL_NB_NODES")
6591 if(trim(mode).EQ.
"memory_save")
then
6592 IF(
associated(id%OOC_TOTAL_NB_NODES))
THEN
6593 size_gest(i1)=size_int
6595 &
size(id%OOC_TOTAL_NB_NODES,1)*size_int
6597 size_gest(i1)=size_int*2
6598 size_variables(i1)=0_8
6600 elseif(trim(mode).EQ.
"save")
then
6601 IF(
associated(id%OOC_TOTAL_NB_NODES))
THEN
6602 write(unit,iostat=err)
size(id%OOC_TOTAL_NB_NODES,1)
6609 & id%COMM, id%MYID )
6610 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6611 write(unit,iostat=err) id%OOC_TOTAL_NB_NODES
6613 write(unit,iostat=err) -999
6620 & id%COMM, id%MYID )
6621 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6622 write(unit,iostat=err) -999
6630 & id%COMM, id%MYID )
6631 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6632 elseif(trim(mode).EQ.
"restore")
then
6633 nullify(id%OOC_TOTAL_NB_NODES)
6634 read(unit,iostat=err) size_array1
6641 & id%COMM, id%MYID )
6642 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6644 size_gest(i1)=size_int*2
6645 size_variables(i1)=0_8
6646 read(unit,iostat=err) dummy
6648 size_gest(i1)=size_int
6649 size_variables(i1)=size_array1*size_int
6650 allocate(id%OOC_TOTAL_NB_NODES(size_array1),
6652 if (allocok .GT. 0)
THEN
6655 & total_struc_size-size_allocated
6658 read(unit,iostat=err) id%OOC_TOTAL_NB_NODES
6661 & id%COMM, id%MYID )
6662 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6669 & id%COMM, id%MYID )
6670 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6672 CASE(
"OOC_NB_FILES")
6673 CASE(
"OOC_NB_FILE_TYPE")
6674 CASE(
"OOC_FILE_NAMES")
6675 CASE(
"OOC_FILE_NAME_LENGTH")
6678 if(trim(mode).EQ.
"memory_save")
then
6679 IF(
associated(id%PIVNUL_LIST))
THEN
6680 size_gest(i1)=size_int
6681 size_variables(i1)=
size(id%PIVNUL_LIST,1)*size_int
6683 size_gest(i1)=size_int*2
6684 size_variables(i1)=0_8
6686 elseif(trim(mode).EQ.
"save")
then
6687 IF(
associated(id%PIVNUL_LIST))
THEN
6688 write(unit,iostat=err)
size(id%PIVNUL_LIST,1)
6695 & id%COMM, id%MYID )
6696 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6697 write(unit,iostat=err) id%PIVNUL_LIST
6699 write(unit,iostat=err) -999
6706 & id%COMM, id%MYID )
6707 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6708 write(unit,iostat=err) -999
6716 & id%COMM, id%MYID )
6717 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6718 elseif(trim(mode).EQ.
"restore")
then
6719 nullify(id%PIVNUL_LIST)
6720 read(unit,iostat=err) size_array1
6727 & id%COMM, id%MYID )
6728 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6729 if(size_array1.EQ.-999)
then
6730 size_gest(i1)=size_int*2
6731 size_variables(i1)=0_8
6732 read(unit,iostat=err) dummy
6734 size_gest(i1)=size_int
6735 size_variables(i1)=size_array1*size_int
6736 allocate(id%PIVNUL_LIST(size_array1), stat=allocok)
6737 if (allocok .GT. 0)
THEN
6740 & total_struc_size-size_allocated
6743 read(unit,iostat=err) id%PIVNUL_LIST
6746 & id%COMM, id%MYID )
6747 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6754 & id%COMM, id%MYID )
6755 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6758 CASE(
"IPTR_WORKING")
6760 if(trim(mode).EQ.
"memory_save")
then
6761 IF(
associated(id%IPTR_WORKING))
THEN
6762 size_gest(i1)=size_int
6763 size_variables(i1)=
size(id%IPTR_WORKING,1)*size_int
6765 size_gest(i1)=size_int*2
6766 size_variables(i1)=0_8
6768 elseif(trim(mode).EQ.
"save")
then
6769 IF(
associated(id%IPTR_WORKING))
THEN
6770 write(unit,iostat=err)
size(id%IPTR_WORKING,1)
6777 & id%COMM, id%MYID )
6778 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6779 write(unit,iostat=err) id%IPTR_WORKING
6781 write(unit,iostat=err) -999
6788 & id%COMM, id%MYID )
6789 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6790 write(unit,iostat=err) -999
6798 & id%COMM, id%MYID )
6799 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6800 elseif(trim(mode).EQ.
"restore")
then
6801 nullify(id%IPTR_WORKING)
6802 read(unit,iostat=err) size_array1
6809 & id%COMM, id%MYID )
6810 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6811 if(size_array1.EQ.-999)
then
6812 size_gest(i1)=size_int*2
6813 size_variables(i1)=0_8
6814 read(unit,iostat=err) dummy
6816 size_gest(i1)=size_int
6817 size_variables(i1)=size_array1*size_int
6818 allocate(id%IPTR_WORKING(size_array1), stat=allocok)
6819 if (allocok .GT. 0)
THEN
6822 & total_struc_size-size_allocated
6825 read(unit,iostat=err) id%IPTR_WORKING
6828 & id%COMM, id%MYID )
6829 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6836 & id%COMM, id%MYID )
6837 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6841 if(trim(mode).EQ.
"memory_save")
then
6842 IF(
associated(id%WORKING))
THEN
6843 size_gest(i1)=size_int
6844 size_variables(i1)=
size(id%WORKING,1)*size_int
6846 size_gest(i1)=size_int*2
6849 elseif(trim(mode).EQ.
"save")
then
6850 IF(
associated(id%WORKING))
THEN
6851 write(unit,iostat=err)
size(id%WORKING,1)
6858 & id%COMM, id%MYID )
6859 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6860 write(unit,iostat=err) id%WORKING
6862 write(unit,iostat=err) -999
6869 & id%COMM, id%MYID )
6870 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6871 write(unit,iostat=err) -999
6879 & id%COMM, id%MYID )
6880 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6881 elseif(trim(mode).EQ.
"restore")
then
6883 read(unit,iostat=err) size_array1
6890 & id%COMM, id%MYID )
6891 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6892 if(size_array1.EQ.-999)
then
6893 size_gest(i1)=size_int*2
6894 size_variables(i1)=0_8
6895 read(unit,iostat=err) dummy
6897 size_gest(i1)=size_int
6898 size_variables(i1)=size_array1*size_int
6899 allocate(id%WORKING(size_array1), stat=allocok)
6900 if (allocok .GT. 0)
THEN
6903 & total_struc_size-size_allocated
6906 read(unit,iostat=err) id%WORKING
6909 & id%COMM, id%MYID )
6910 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6917 & id%COMM, id%MYID )
6918 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6921 DO i2=1,nbvariables_root
6922 tmp_string2 = variables_root(i2)
6923 SELECT CASE(tmp_string2)
6925 nbrecords_root(i2)=1
6926 if(trim(mode).EQ.
"memory_save")
then
6927 size_variables_root(i2)=size_int
6928 elseif(trim(mode).EQ.
"save")
then
6929 write(unit,iostat=err) id%root%MBLOCK
6936 & id%COMM, id%MYID )
6937 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6938 elseif(trim(mode).EQ.
"restore")
then
6939 size_variables_root(i2)=size_int
6940 read(unit,iostat=err) id%root%MBLOCK
6947 & id%COMM, id%MYID )
6948 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6951 nbrecords_root(i2)=1
6952 if(trim(mode).EQ.
"memory_save")
then
6953 size_variables_root(i2)=size_int
6954 elseif(trim(mode).EQ.
"save")
then
6955 write(unit,iostat=err) id%root%NBLOCK
6962 & id%COMM, id%MYID )
6963 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6964 elseif(trim(mode).EQ.
"restore")
then
6965 size_variables_root(i2)=size_int
6966 read(unit,iostat=err) id%root%NBLOCK
6973 & id%COMM, id%MYID )
6974 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6977 nbrecords_root(i2)=1
6978 if(trim(mode).EQ.
"memory_save")
then
6979 size_variables_root(i2)=size_int
6980 elseif(trim(mode).EQ.
"save")
then
6981 write(unit,iostat=err) id%root%NPROW
6988 & id%COMM, id%MYID )
6989 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6990 elseif(trim(mode).EQ.
"restore")
then
6991 size_variables_root(i2)=size_int
6992 read(unit,iostat=err) id%root%NPROW
7000 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7003 nbrecords_root(i2)=1
7004 if(trim(mode).EQ.
"memory_save")
then
7005 size_variables_root(i2)=size_int
7006 elseif(trim(mode).EQ.
"save")
then
7007 write(unit,iostat=err) id%root%NPCOL
7014 & id%COMM, id%MYID )
7015 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7016 elseif(trim(mode).EQ.
"restore")
then
7017 size_variables_root(i2)=size_int
7018 read(unit,iostat=err) id%root%NPCOL
7025 & id%COMM, id%MYID )
7026 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7029 nbrecords_root(i2)=1
7030 if(trim(mode).EQ.
"memory_save")
then
7031 nbrecords_root(i2)=1
7032 size_variables_root(i2)=size_int
7033 elseif(trim(mode).EQ.
"save")
then
7034 write(unit,iostat=err) id%root%MYROW
7041 & id%COMM, id%MYID )
7042 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7043 elseif(trim(mode).EQ.
"restore")
then
7044 size_variables_root(i2)=size_int
7045 read(unit,iostat=err) id%root%MYROW
7052 & id%COMM, id%MYID )
7053 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7056 nbrecords_root(i2)=1
7057 if(trim(mode).EQ.
"memory_save")
then
7058 size_variables_root(i2)=size_int
7059 elseif(trim(mode).EQ.
"save")
then
7060 write(unit,iostat=err) id%root%MYCOL
7067 & id%COMM, id%MYID )
7068 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7069 elseif(trim(mode).EQ.
"restore")
then
7070 size_variables_root(i2)=size_int
7071 read(unit,iostat=err) id%root%MYCOL
7078 & id%COMM, id%MYID )
7079 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7082 nbrecords_root(i2)=1
7083 if(trim(mode).EQ.
"memory_save")
then
7084 size_variables_root(i2)=size_int
7085 elseif(trim(mode).EQ."
save") then
7086 write(unit,iostat=err) id%root%SCHUR_MLOC
7089 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7092 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7093 & id%COMM, id%MYID )
7094.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7095.EQ.
elseif(trim(mode)"restore
") then
7096 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7097 read(unit,iostat=err) id%root%SCHUR_MLOC
7100 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2)
7103 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7104 & id%COMM, id%MYID )
7105.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7108 NbRecords_ROOT(i2)=1
7109.EQ.
if(trim(mode)"memory_save
") then
7110 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7111.EQ.
elseif(trim(mode)"save") then
7112 write(unit,iostat=err) id%root%SCHUR_NLOC
7115 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7118 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7119 & id%COMM, id%MYID )
7120.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7121.EQ.
elseif(trim(mode)"restore
") then
7122 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7123 read(unit,iostat=err) id%root%SCHUR_NLOC
7126 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2)
7129 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7130 & id%COMM, id%MYID )
7131.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7134 NbRecords_ROOT(i2)=1
7135.EQ.
if(trim(mode)"memory_save
") then
7136 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7137.EQ.
elseif(trim(mode)"save") then
7138 write(unit,iostat=err) id%root%SCHUR_LLD
7141 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7144 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7145 & id%COMM, id%MYID )
7146.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7147.EQ.
elseif(trim(mode)"restore
") then
7148 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7149 read(unit,iostat=err) id%root%SCHUR_LLD
7152 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7155 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7156 & id%COMM, id%MYID )
7157.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7160 NbRecords_ROOT(i2)=1
7161.EQ.
if(trim(mode)"memory_save
") then
7162 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7163.EQ.
elseif(trim(mode)"save") then
7164 write(unit,iostat=err) id%root%RHS_NLOC
7167 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7170 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7171 & id%COMM, id%MYID )
7172.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7173.EQ.
elseif(trim(mode)"restore
") then
7174 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7175 read(unit,iostat=err) id%root%RHS_NLOC
7178 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7181 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7182 & id%COMM, id%MYID )
7183.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7186 NbRecords_ROOT(i2)=1
7187.EQ.
if(trim(mode)"memory_save
") then
7188 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7189.EQ.
elseif(trim(mode)"save") then
7190 write(unit,iostat=err) id%root%ROOT_SIZE
7193 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7196 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7197 & id%COMM, id%MYID )
7198.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7199.EQ.
elseif(trim(mode)"restore
") then
7200 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7201 read(unit,iostat=err) id%root%ROOT_SIZE
7204 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7207 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7208 & id%COMM, id%MYID )
7209.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7211 CASE("tot_root_size
")
7212 NbRecords_ROOT(i2)=1
7213.EQ.
if(trim(mode)"memory_save
") then
7214 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7215.EQ.
elseif(trim(mode)"save") then
7216 write(unit,iostat=err) id%root%TOT_ROOT_SIZE
7219 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7222 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7223 & id%COMM, id%MYID )
7224.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7225.EQ.
elseif(trim(mode)"restore
") then
7226 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7227 read(unit,iostat=err) id%root%TOT_ROOT_SIZE
7230 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7233 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7234 & id%COMM, id%MYID )
7235.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7238 NbRecords_ROOT(i2)=1
7239.EQ.
if(trim(mode)"memory_save
") then
7240 SIZE_VARIABLES_ROOT(i2)=size(id%root%DESCRIPTOR,1)
7242.EQ.
elseif(trim(mode)"save") then
7243 write(unit,iostat=err) id%root%DESCRIPTOR
7246 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7249 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7250 & id%COMM, id%MYID )
7251.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7252.EQ.
elseif(trim(mode)"restore
") then
7253 SIZE_VARIABLES_ROOT(i2)=SIZE_INT*
7254 & size(id%root%DESCRIPTOR,1)
7255 read(unit,iostat=err) id%root%DESCRIPTOR
7258 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7261 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7262 & id%COMM, id%MYID )
7263.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7266 NbRecords_ROOT(i2)=1
7267.EQ.
if(trim(mode)"memory_save
") then
7268 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7269.EQ.
elseif(trim(mode)"save") then
7270 write(unit,iostat=err) id%root%CNTXT_BLACS
7273 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7276 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7277 & id%COMM, id%MYID )
7278.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7279.EQ.
elseif(trim(mode)"restore
") then
7280 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7281 read(unit,iostat=err) id%root%CNTXT_BLACS
7284 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7287 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7288 & id%COMM, id%MYID )
7289.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7292 NbRecords_ROOT(i2)=1
7293.EQ.
if(trim(mode)"memory_save
") then
7294 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7295.EQ.
elseif(trim(mode)"save") then
7296 write(unit,iostat=err) id%root%LPIV
7299 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7302 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7303 & id%COMM, id%MYID )
7304.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7305.EQ.
elseif(trim(mode)"restore")
then
7306 size_variables_root(i2)=size_int
7307 read(unit,iostat=err) id%root%LPIV
7314 & id%COMM, id%MYID )
7315 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7320 nbrecords_root(i2)=2
7321 if(trim(mode).EQ.
"memory_save")
then
7322 IF(
associated(id%root%IPIV))
THEN
7323 size_gest_root(i2)=size_int
7324 size_variables_root(i2)=
7325 &
size(id%root%IPIV,1)*size_int
7327 size_gest_root(i2)=size_int*2
7328 size_variables_root(i2)=0_8
7330 elseif(trim(mode).EQ.
"save")
then
7331 IF(
associated(id%root%IPIV))
THEN
7332 write(unit,iostat=err)
size(id%root%IPIV,1)
7336 & total_file_size-size_written
7340 & id%COMM, id%MYID )
7341 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7342 write(unit,iostat=err) id%root%IPIV
7344 write(unit,iostat=err) -999
7348 & total_file_size-size_written
7352 & id%COMM, id%MYID )
7353 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7354 write(unit,iostat=err) -999
7362 & id%COMM, id%MYID )
7363 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7364 elseif"restore")
then
7365 nullify(id%root%IPIV)
7366 read(unit,iostat=err) size_array1
7373 & id%COMM, id%MYID )
7374 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7375 if(size_array1.EQ.-999)
then
7376 size_gest_root(i2)=size_int*2
7377 size_variables_root(i2)=0_8
7378 read(unit,iostat=err) dummy
7380 size_gest_root(i2)=size_int
7381 size_variables_root(i2)=size_array1*size_int
7382 allocate(id%root%IPIV(size_array1), stat=allocok)
7383 if (allocok .GT. 0)
THEN
7386 & total_struc_size-size_allocated
7389 read(unit,iostat=err) id%root%IPIV
7392 & id%COMM, id%MYID )
7393 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7400 & id%COMM, id%MYID )
7401 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7403 CASE(
"RHS_CNTR_MASTER_ROOT")
7404 nbrecords_root(i2)=2
7405 if(trim(mode).EQ.
"memory_save")
then
7406 IF(
associated(id%root%RHS_CNTR_MASTER_ROOT))
THEN
7407 size_gest_root(i2)=size_int
7408 size_variables_root(i2)=
7409 &
size(id%root%RHS_CNTR_MASTER_ROOT,1)
7412 size_gest_root(i2)=size_int*2
7413 size_variables_root(i2)=0_8
7415 elseif(trim(mode).EQ.
"save")
then
7416 IF(
associated(id%root%RHS_CNTR_MASTER_ROOT))
THEN
7417 write(unit,iostat=err)
7418 &
size(id%root%RHS_CNTR_MASTER_ROOT,1)
7422 & total_file_size-size_written
7426 & id%COMM, id%MYID )
7427 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7428 write(unit,iostat=err) id%root%RHS_CNTR_MASTER_ROOT
7430 write(unit,iostat=err) -999
7434 & total_file_size-size_written
7438 & id%COMM, id%MYID )
7439 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7440 write(unit,iostat=err) -999
7448 & id%COMM, id%MYID )
7449 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7450 elseif(trim(mode).EQ.
"restore")
then
7451 nullify(id%root%RHS_CNTR_MASTER_ROOT)
7452 read(unit,iostat=err) size_array1
7459 & id%COMM, id%MYID )
7460 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7461 if(size_array1.EQ.-999)
then
7462 size_gest_root(i2)=size_int*2
7463 size_variables_root(i2)=0_8
7464 read(unit,iostat=err) dummy
7466 size_gest_root(i2)=size_int
7467 size_variables_root(i2)=size_array1*size_arith_dep
7468 allocate(id%root%RHS_CNTR_MASTER_ROOT(size_array1)
7470 if (allocok .GT.
THEN
7473 & total_struc_size-size_allocated
7476 read(unit,iostat=err) id%root%RHS_CNTR_MASTER_ROOT
7479 & id%COMM, id%MYID )
7480 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7487 & id%COMM, id%MYID )
7488 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7490 CASE(
"SCHUR_POINTER")
7493 nbrecords_root(i2)=2
7494 if(trim(mode).EQ.
"memory_save")
then
7495 IF(
associated(id%root%RHS_ROOT))
THEN
7496 size_gest_root(i2)=size_int*2
7497 size_variables_root(i2)=
size(id%root%RHS_ROOT,1)
7498 & *
size(id%root%RHS_ROOT,2)*size_arith_dep
7500 size_gest_root(i2)=size_int*3
7501 size_variables_root(i2)=0_8
7503 elseif(trim(mode).EQ.
"save")
then
7504 IF(
associated(id%root%RHS_ROOT))
THEN
7505 write(unit,iostat=err)
size(id%root%RHS_ROOT,1)
7506 & ,
size(id%root%RHS_ROOT,2)
7510 & total_file_size-size_written
7514 & id%COMM, id%MYID )
7515 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7516 write(unit,iostat=err) id%root%RHS_ROOT
7518 write(unit,iostat=err) -999,-998
7522 & total_file_size-size_written
7526 & id%COMM, id%MYID )
7527 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7528 write(unit,iostat=err) -999
7536 & id%COMM, id%MYID )
7537 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7538 elseif(trim(mode).EQ.
"restore")
then
7539 nullify(id%root%RHS_ROOT)
7540 read(unit,iostat=err) size_array1,size_array2
7547 & id%COMM, id%MYID )
7548 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7549 if(size_array1.EQ.-999)
then
7550 size_gest_root(i2)=size_int*3
7551 size_variables_root(i2)=0_8
7552 read(unit,iostat=err) dummy
7554 size_gest_root(i2)=size_int*2
7555 size_variables_root(i2)=size_array1*size_array2
7557 allocate(id%root%RHS_ROOT(size_array1,size_array2),
7559 if (allocok .GT. 0)
THEN
7562 & total_struc_size-size_allocated
7565 read(unit,iostat=err) id%root%RHS_ROOT
7568 & id%COMM, id%MYID )
7569 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7576 & id%COMM, id%MYID )
7577 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7580 nbrecords_root(i2)=1
7581 if(trim(mode).EQ.
"memory_save")
then
7582 size_variables_root(i2)=size_rl_or_dbl
7583 elseif(trim(mode).EQ.
"save")
then
7584 write(unit,iostat=err) id%root%QR_RCOND
7591 & id%COMM, id%MYID )
7592 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7593 elseif(trim(mode).EQ.
"restore")
then
7594 size_variables_root(i2)=size_rl_or_dbl
7595 read(unit,iostat=err) id%root%QR_RCOND
7602 & id%COMM, id%MYID )
7603 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7606 nbrecords_root(i2)=1
7607 if(trim(mode).EQ.
"memory_save")
then
7608 size_variables_root(i2)=size_logical
7609 elseif(trim(mode).EQ.
"save")
then
7610 write(unit,iostat=err) id%root%yes
7617 & id%COMM, id%MYID )
7618 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7619 elseif(trim(mode).EQ.
"restore")
then
7620 size_variables_root(i2)=size_logical
7621 read(unit,iostat=err) id%root%yes
7628 & id%COMM, id%MYID )
7629 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7631 CASE(
"gridinit_done")
7632 nbrecords_root(i2)=1
7633 if(trim(mode).EQ.
"memory_save")
then
7634 size_variables_root(i2)=size_logical
7635 elseif(trim(mode).EQ.
"save")
then
7636 write(unit,iostat=err) id%root%gridinit_done
7643 & id%COMM, id%MYID )
7644 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7645 elseif(trim(mode).EQ.
"restore")
then
7646 size_variables_root(i2)=size_logical
7647 read(unit,iostat=err) id%root%gridinit_done
7654 & id%COMM, id%MYID )
7655 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7659 CASE(
"SINGULAR_VALUES")
7660 CASE(
"NB_SINGULAR_VALUES")
7661 nbrecords_root(i2)=1
7662 if(trim(mode).EQ.
"memory_save")
then
7663 size_variables_root(i2)=size_int
7664 elseif(trim(mode).EQ.
"save")
then
7665 write(unit,iostat=err) id%root%NB_SINGULAR_VALUES
7672 & id%COMM, id%MYID )
7673 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7674 elseif(trim(mode).EQ.
"restore")
then
7675 size_variables_root(i2)=size_int
7676 read(unit,iostat=err) id%root%NB_SINGULAR_VALUES
7683 & id%COMM, id%MYID )
7684 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7686 CASE(
"rootpad0",
"rootpad1",
"rootpad2",
"rootpad"
7687 &
"rootpad3",
"rootpad4")
7690 if(trim(mode).EQ.
"memory_save")
then
7691 nbsubrecords=int(size_variables_root(i2)/huge(i4))
7692 IF(nbsubrecords.GT.0)
then
7693 nbrecords_root(i2)=nbrecords_root(i2)+nbsubrecords
7695 elseif(trim(mode).EQ.
"save")
then
7696 size_written=size_written+size_variables_root(i2)
7697 & +size_gest_root(i2)
7698#if !defined(MUMPS_F2003)
7699 size_written=size_written
7700 & +int(2*id%KEEP(34)*nbrecords_root(i2),kind=8)
7702 elseif(trim(mode).EQ.
"restore")
then
7703 size_allocated=size_allocated+size_variables_root(i2)+
7704 & diff_size_alloc_read_root(i2)
7705 size_read=size_read+size_variables_root(i2)
7706 & +int(size_gest_root(i2),kind=8)
7707#if !defined(MUMPS_F2003)
7709 & +int(2*id%KEEP(34)*nbrecords_root(i2),kind=8)
7711 elseif(trim(mode).EQ.
"fake_restore")
then
7716 if(trim(mode).EQ.
"memory_save")
then
7717 size_variables(i1)=size_int
7718 elseif(trim(mode).EQ.
"save")
then
7719 write(unit,iostat=err) id%NBGRP
7726 & id%COMM, id%MYID )
7727 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7728 elseif(trim(mode).EQ.
"restore"then
7729 size_variables(i1)=size_int
7730 read(unit,iostat=err) id%NBGRP
7737 & id%COMM, id%MYID )
7738 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7742 if(trim(mode).EQ.
"memory_save")
then
7743 IF(
associated(id%LRGROUPS))
THEN
7744 size_gest(i1)=size_int
7745 size_variables(i1)=
size(id%LRGROUPS,1)*size_int
7747 size_gest(i1)=size_int*2
7748 size_variables(i1)=0_8
7750 elseif(trim(mode).EQ.
"save")
then
7751 IF(
associated(id%LRGROUPS))
THEN
7752 write(unit,iostat=err)
size(id%LRGROUPS,1)
7759 & id%COMM, id%MYID )
7760 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7761 write(unit,iostat=err) id%LRGROUPS
7763 write(unit,iostat=err) -999
7770 & id%COMM, id%MYID )
7771 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7772 write(unit,iostat=err) -999
7780 & id%COMM, id%MYID )
7781 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7782 elseif(trim(mode).EQ.
"restore")
then
7783 nullify(id%LRGROUPS)
7784 read(unit,iostat=err) size_array1
7791 & id%COMM, id%MYID )
7792 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7793 if(size_array1.EQ.-999)
then
7794 size_gest(i1)=size_int*2
7795 size_variables(i1)=0_8
7796 read(unit,iostat=err) dummy
7798 size_gest(i1)=size_int
7799 size_variables(i1)=size_array1*size_int
7800 allocate(id%LRGROUPS(size_array1), stat=allocok)
7801 if (allocok .GT. 0)
THEN
7804 & total_struc_size-size_allocated
7807 read(unit,iostat=err) id%LRGROUPS
7810 & id%COMM, id%MYID )
7811 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7818 & id%COMM, id%MYID )
7819 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7821 CASE(
"FDM_F_ENCODING")
7823 size_gest(i1)=size_int
7824 size_variables(i1)=0_8
7825 if(trim(mode).EQ.
"memory_save")
then
7826 IF(
associated(id%FDM_F_ENCODING))
THEN
7828 & ,unit,id%MYID,
"memory_save"
7829 & ,size_gest_front_data,size_variables_front_data
7830 & ,size_int,total_file_size,total_struc_size
7831 & ,size_read,size_allocated,size_written
7834 elseif(trim(mode).EQ.
"save")
then
7835 IF(
associated(id%FDM_F_ENCODING))
THEN
7836 write(unit,iostat=err)
size(id%FDM_F_ENCODING,1)
7843 & id%COMM, id%MYID )
7844 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7846 & ,unit,id%MYID,
"save"
7847 & ,size_gest_front_data,size_variables_front_data
7848 & ,size_int,total_file_size,total_struc_size
7849 & ,size_read,size_allocated,size_written
7852 write(unit,iostat=err) -999
7859 & id%COMM, id%MYID )
7860 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7868 & id%COMM, id%MYID )
7869 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7870 elseif(trim(mode).EQ.
"restore")
then
7871 nullify(id%FDM_F_ENCODING)
7872 read(unit,iostat=err) size_array1
7879 & id%COMM, id%MYID )
7880 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7881 if(size_array1.NE.-999)
then
7883 & ,unit,id%MYID,
"restore"
7884 & ,size_gest_front_data,size_variables_front_data
7885 & ,size_int,total_file_size,total_struc_size
7886 & ,size_read,size_allocated,size_written
7890 & id%COMM, id%MYID )
7891 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7898 & id%COMM, id%MYID )
7899 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7901 CASE(
"BLRARRAY_ENCODING")
7903 size_gest(i1)=size_int
7904 size_variables(i1)=0_8
7905 if(trim(mode).EQ.
"memory_save")
then
7906 IF(
associated(id%BLRARRAY_ENCODING))
THEN
7908 & ,unit,id%MYID,
"memory_save"
7909 & ,size_gest_blr,size_variables_blr
7910 & ,size_int, size_arith_dep, size_logical
7911 & ,total_file_size,total_struc_size
7912 & ,size_read,size_allocated,size_written
7915 elseif(trim(mode).EQ.
"save")
then
7916 IF(
associated(id%BLRARRAY_ENCODING))
THEN
7917 write(unit,iostat=err)
size(id%BLRARRAY_ENCODING,1)
7924 & id%COMM, id%MYID )
7925 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7927 & ,unit,id%MYID,
"save"
7928 & ,size_gest_blr,size_variables_blr
7929 & ,size_int, size_arith_dep, size_logical
7930 & ,total_file_size,total_struc_size
7931 & ,size_read,size_allocated,size_written
7934 write(unit,iostat=err) -999
7941 & id%COMM, id%MYID )
7942 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7950 & id%COMM, id%MYID )
7951 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7952 elseif(trim(mode).EQ.
"restore")
then
7953 nullify(id%BLRARRAY_ENCODING)
7954 read(unit,iostat=err) size_array1
7961 & id%COMM, id%MYID )
7962 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7963if(size_array1.NE.-999)
then
7965 & ,unit,id%MYID,
"restore"
7966 & ,size_gest_blr,size_variables_blr
7967 & ,size_int, size_arith_dep, size_logical
7968 & ,total_file_size,total_struc_size
7969 & ,size_read,size_allocated,size_written
7973 & id%COMM, id%MYID )
7974 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7981 & id%COMM, id%MYID )
7982 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7984 CASE(
"L0_OMP_FACTORS")
7987 size_variables(i1)=0_8
7989 & ,unit,id%MYID,trim(mode)
7990 & ,size_gest_l0fac,size_variables_l0fac
7991 & ,size_int, size_int8, size_arith_dep
7992 & ,total_file_size,total_struc_size
7993 & ,size_read,size_allocated,size_written
7996 CASE(
"LPOOL_A_L0_OMP")
7998 if(trim(mode).EQ.
"memory_save")
then
7999 size_variables(i1)=size_int
8000 elseif(trim(mode).EQ.
"save")
then
8001 write(unit,iostat=err) id%LPOOL_A_L0_OMP
8008 & id%COMM, id%MYID )
8009 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8010 elseif(trim(mode).EQ.
"restore")
then
8011 size_variables(i1)=size_int
8012 read(unit,iostat=err) id%LPOOL_A_L0_OMP
8019 & id%COMM, id%MYID )
8020 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8022 CASE(
"LPOOL_B_L0_OMP")
8024 if(trim(mode).EQ.
"memory_save")
then
8025 size_variables(i1)=size_int
8026 elseif(trim(mode).EQ.
"save")
then
8027 write(unit,iostat=err) id%LPOOL_B_L0_OMP
8034 & id%COMM, id%MYID )
8035 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8036 elseif(trim(mode).EQ.
"restore")
then
8037 size_variables(i1)=size_int
8038 read(unit,iostat=err) id%LPOOL_B_L0_OMP
8045 & id%COMM, id%MYID )
8046 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8048 CASE(
"L_PHYS_L0_OMP")
8050 if(trim(mode).EQ.
"memory_save")
then
8051 size_variables(i1)=size_int
8052 elseif(trim(mode).EQ.
"save")
then
8053 write(unit,iostat=err) id%L_PHYS_L0_OMP
8060 & id%COMM, id%MYID )
8061 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8062 elseif(trim(mode).EQ.
"restore")
then
8063 size_variables(i1)=size_int
8064 read(unit,iostat=err) id%L_PHYS_L0_OMP
8071 & id%COMM, id%MYID )
8072 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8074 CASE("l_virt_l0_omp
")
8076.EQ.
if(trim(mode)"memory_save
") then
8077 SIZE_VARIABLES(i1)=SIZE_INT
8078.EQ.
elseif(trim(mode)"save") then
8079 write(unit,iostat=err) id%L_VIRT_L0_OMP
8082 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8085 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8086 & id%COMM, id%MYID )
8087.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8088.EQ.
elseif(trim(mode)"restore
") then
8089 SIZE_VARIABLES(i1)=SIZE_INT
8090 read(unit,iostat=err) id%L_VIRT_L0_OMP
8093 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8096 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8097 & id%COMM, id%MYID )
8098.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8100 CASE("ll0_omp_mapping
")
8102.EQ.
if(trim(mode)"memory_save
") then
8103 SIZE_VARIABLES(i1)=SIZE_INT
8104.EQ.
elseif(trim(mode)"save") then
8105 write(unit,iostat=err) id%LL0_OMP_MAPPING
8108 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8111 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8112 & id%COMM, id%MYID )
8113.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8114.EQ.
elseif(trim(mode)"restore
") then
8115 SIZE_VARIABLES(i1)=SIZE_INT
8116 read(unit,iostat=err) id%LL0_OMP_MAPPING
8119 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8122 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8123 & id%COMM, id%MYID )
8124.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8126 CASE("ll0_omp_factors
")
8128.EQ.
if(trim(mode)"memory_save
") then
8129 SIZE_VARIABLES(i1)=SIZE_INT
8130.EQ.
elseif(trim(mode)"save") then
8131 write(unit,iostat=err) id%LL0_OMP_FACTORS
8134 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8137 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8138 & id%COMM, id%MYID )
8139.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8140.EQ.
elseif(trim(mode)"restore
") then
8141 SIZE_VARIABLES(i1)=SIZE_INT
8142 read(unit,iostat=err) id%LL0_OMP_FACTORS
8145 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8148 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8149 & id%COMM, id%MYID )
8150.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8154.EQ.
if(trim(mode)"memory_save
") then
8155 SIZE_VARIABLES(i1)=SIZE_INT8
8156.EQ.
elseif(trim(mode)"save") then
8157 write(unit,iostat=err) id%THREAD_LA
8160 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8163 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8164 & id%COMM, id%MYID )
8165.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8166.EQ.
elseif(trim(mode)"restore
") then
8167 SIZE_VARIABLES(i1)=SIZE_INT8
8168 read(unit,iostat=err) id%THREAD_LA
8171 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8174 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8175 & id%COMM, id%MYID )
8176.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8178 CASE("ipool_a_l0_omp
")
8180.EQ.
if(trim(mode)"memory_save
") then
8181 IF(associated(id%IPOOL_A_L0_OMP)) THEN
8182 SIZE_GEST(i1)=SIZE_INT
8184 & size(id%IPOOL_A_L0_OMP,1)*SIZE_INT
8186 SIZE_GEST(i1)=SIZE_INT*2
8187 SIZE_VARIABLES(i1)=0_8
8189.EQ.
elseif(trim(mode)"save") then
8190 IF(associated(id%IPOOL_A_L0_OMP)) THEN
8191 write(unit,iostat=err) size(id%IPOOL_A_L0_OMP,1)
8194 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8197 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8198 & id%COMM, id%MYID )
8199.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8200 write(unit,iostat=err) id%IPOOL_A_L0_OMP
8202 write(unit,iostat=err) -999
8205 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8208 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8209 & id%COMM, id%MYID )
8210.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8211 write(unit,iostat=err) -999
8215 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8218 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8219 & id%COMM, id%MYID )
8220.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8221.EQ.
elseif(trim(mode)"restore
") then
8222 nullify(id%IPOOL_A_L0_OMP)
8223 read(unit,iostat=err) size_array1
8226 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8229 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8230 & id%COMM, id%MYID )
8231.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8232.EQ.
if(size_array1-999) then
8233 SIZE_GEST(i1)=SIZE_INT*2
8234 SIZE_VARIABLES(i1)=0_8
8235 read(unit,iostat=err) dummy
8237 SIZE_GEST(i1)=SIZE_INT
8238 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8239 allocate(id%IPOOL_A_L0_OMP(size_array1),
8241.GT.
if (allocok 0) THEN
8243 CALL MUMPS_SETI8TOI4(
8244 & TOTAL_STRUC_SIZE-size_allocated
8247 read(unit,iostat=err) id%IPOOL_A_L0_OMP
8249 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8250 & id%COMM, id%MYID )
8251.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8254 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8257 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8258 & id%COMM, id%MYID )
8259.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8261 CASE("ipool_b_l0_omp
")
8263.EQ.
if(trim(mode)"memory_save
") then
8264 IF(associated(id%IPOOL_B_L0_OMP)) THEN
8265 SIZE_GEST(i1)=SIZE_INT
8267 & size(id%IPOOL_B_L0_OMP,1)*SIZE_INT
8269 SIZE_GEST(i1)=SIZE_INT*2
8270 SIZE_VARIABLES(i1)=0_8
8272.EQ.
elseif(trim(mode)"save") then
8273 IF(associated(id%IPOOL_B_L0_OMP)) THEN
8274 write(unit,iostat=err) size(id%IPOOL_B_L0_OMP,1)
8277 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8280 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8281 & id%COMM, id%MYID )
8282.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8283 write(unit,iostat=err) id%IPOOL_B_L0_OMP
8285 write(unit,iostat=err) -999
8288 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8291 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8292 & id%COMM, id%MYID )
8293.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8294 write(unit,iostat=err) -999
8298 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8301 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8302 & id%COMM, id%MYID )
8303.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8304.EQ.
elseif(trim(mode)"restore
") then
8305 nullify(id%IPOOL_B_L0_OMP)
8306 read(unit,iostat=err) size_array1
8309 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8312 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8313 & id%COMM, id%MYID )
8314.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8315.EQ.
if(size_array1-999) then
8316 SIZE_GEST(i1)=SIZE_INT*2
8317 SIZE_VARIABLES(i1)=0_8
8318 read(unit,iostat=err) dummy
8320 SIZE_GEST(i1)=SIZE_INT
8321 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8322 allocate(id%IPOOL_B_L0_OMP(size_array1),
8324.GT.
if (allocok 0) THEN
8326 CALL MUMPS_SETI8TOI4(
8327 & TOTAL_STRUC_SIZE-size_allocated
8330 read(unit,iostat=err) id%IPOOL_B_L0_OMP
8332 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8333 & id%COMM, id%MYID )
8334.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8337 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8340 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8341 & id%COMM, id%MYID )
8342.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8346.EQ.
if(trim(mode)"memory_save
") then
8347 IF(associated(id%PHYS_L0_OMP)) THEN
8348 SIZE_GEST(i1)=SIZE_INT
8350 & size(id%PHYS_L0_OMP,1)*SIZE_INT
8352 SIZE_GEST(i1)=SIZE_INT*2
8353 SIZE_VARIABLES(i1)=0_8
8355.EQ.
elseif(trim(mode)"save") then
8356 IF(associated(id%PHYS_L0_OMP)) THEN
8357 write(unit,iostat=err) size(id%PHYS_L0_OMP,1)
8360 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8363 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8364 & id%COMM, id%MYID )
8365.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8366 write(unit,iostat=err) id%PHYS_L0_OMP
8368 write(unit,iostat=err) -999
8371 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8374 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8375 & id%COMM, id%MYID )
8376.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8377 write(unit,iostat=err) -999
8381 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8384 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8385 & id%COMM, id%MYID )
8386.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8387.EQ.
elseif(trim(mode)"restore
") then
8388 nullify(id%PHYS_L0_OMP)
8389 read(unit,iostat=err) size_array1
8392 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8395 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8396 & id%COMM, id%MYID )
8397.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8398.EQ.
if(size_array1-999) then
8399 SIZE_GEST(i1)=SIZE_INT*2
8400 SIZE_VARIABLES(i1)=0_8
8401 read(unit,iostat=err) dummy
8403 SIZE_GEST(i1)=SIZE_INT
8404 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8405 allocate(id%PHYS_L0_OMP(size_array1), stat=allocok)
8406.GT.
if (allocok 0) THEN
8408 CALL MUMPS_SETI8TOI4(
8409 & TOTAL_STRUC_SIZE-size_allocated
8412 read(unit,iostat=err) id%PHYS_L0_OMP
8414 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8415 & id%COMM, id%MYID )
8416.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8419 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8422 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8423 & id%COMM, id%MYID )
8424.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8428.EQ.
if(trim(mode)"memory_save
") then
8429 IF(associated(id%VIRT_L0_OMP)) THEN
8430 SIZE_GEST(i1)=SIZE_INT
8431 SIZE_VARIABLES(i1)=size(id%VIRT_L0_OMP,1)*SIZE_INT
8433 SIZE_GEST(i1)=SIZE_INT*2
8434 SIZE_VARIABLES(i1)=0_8
8436.EQ.
elseif(trim(mode)"save") then
8437 IF(associated(id%VIRT_L0_OMP)) THEN
8438 write(unit,iostat=err) size(id%VIRT_L0_OMP,1)
8441 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8444 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8445 & id%COMM, id%MYID )
8446.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8447 write(unit,iostat=err) id%VIRT_L0_OMP
8449 write(unit,iostat=err) -999
8452 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8455 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8456 & id%COMM, id%MYID )
8457.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8458 write(unit,iostat=err) -999
8462 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8465 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8466 & id%COMM, id%MYID )
8467.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8468.EQ.
elseif(trim(mode)"restore
") then
8469 nullify(id%VIRT_L0_OMP)
8470 read(unit,iostat=err) size_array1
8473 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8476 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8477 & id%COMM, id%MYID )
8478.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8479.EQ.
if(size_array1-999) then
8480 SIZE_GEST(i1)=SIZE_INT*2
8481 SIZE_VARIABLES(i1)=0_8
8482 read(unit,iostat=err) dummy
8484 SIZE_GEST(i1)=SIZE_INT
8485 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8486 allocate(id%VIRT_L0_OMP(size_array1), stat=allocok)
8487.GT.
if (allocok 0) THEN
8489 CALL MUMPS_SETI8TOI4(
8490 & TOTAL_STRUC_SIZE-size_allocated
8493 read(unit,iostat=err) id%VIRT_L0_OMP
8495 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8496 & id%COMM, id%MYID )
8497.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8500 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8503 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8504 & id%COMM, id%MYID )
8505.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8507 CASE("virt_l0_omp_mapping
")
8509.EQ.
if(trim(mode)"memory_save
") then
8510 IF(associated(id%VIRT_L0_OMP_MAPPING)) THEN
8511 SIZE_GEST(i1)=SIZE_INT
8512 SIZE_VARIABLES(i1)=size(id%VIRT_L0_OMP_MAPPING,1)
8515 SIZE_GEST(i1)=SIZE_INT*2
8516 SIZE_VARIABLES(i1)=0_8
8518.EQ.
elseif(trim(mode)"save") then
8519 IF(associated(id%VIRT_L0_OMP_MAPPING)) THEN
8520 write(unit,iostat=err) size(id%VIRT_L0_OMP_MAPPING,1)
8523 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8526 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8527 & id%COMM, id%MYID )
8528.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8529 write(unit,iostat=err) id%VIRT_L0_OMP_MAPPING
8531 write(unit,iostat=err) -999
8534 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8537 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8538 & id%COMM, id%MYID )
8539.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8540 write(unit,iostat=err) -999
8544 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8547 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8548 & id%COMM, id%MYID )
8549.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8550.EQ.
elseif(trim(mode)"restore
") then
8551 nullify(id%VIRT_L0_OMP_MAPPING)
8552 read(unit,iostat=err) size_array1
8555 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8558 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8559 & id%COMM, id%MYID )
8560.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8561.EQ.
if(size_array1-999) then
8562 SIZE_GEST(i1)=SIZE_INT*2
8563 SIZE_VARIABLES(i1)=0_8
8564 read(unit,iostat=err) dummy
8566 SIZE_GEST(i1)=SIZE_INT
8567 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8568 allocate(id%VIRT_L0_OMP_MAPPING(size_array1),
8570.GT.
if (allocok 0) THEN
8572 CALL MUMPS_SETI8TOI4(
8573 & TOTAL_STRUC_SIZE-size_allocated
8576 read(unit,iostat=err) id%VIRT_L0_OMP_MAPPING
8578 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8579 & id%COMM, id%MYID )
8580.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8583 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8586 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8587 & id%COMM, id%MYID )
8588.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8592.EQ.
if(trim(mode)"memory_save
") then
8593 IF(associated(id%PERM_L0_OMP)) THEN
8594 SIZE_GEST(i1)=SIZE_INT
8595 SIZE_VARIABLES(i1)=size(id%PERM_L0_OMP,1)*SIZE_INT
8597 SIZE_GEST(i1)=SIZE_INT*2
8598 SIZE_VARIABLES(i1)=0_8
8600.EQ.
elseif(trim(mode)"save") then
8601 IF(associated(id%PERM_L0_OMP)) THEN
8602 write(unit,iostat=err) size(id%PERM_L0_OMP,1)
8605 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8608 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8609 & id%COMM, id%MYID )
8610.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8611 write(unit,iostat=err) id%PERM_L0_OMP
8613 write(unit,iostat=err) -999
8616 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8619 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8620 & id%COMM, id%MYID )
8621.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8622 write(unit,iostat=err) -999
8626 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8629 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8630 & id%COMM, id%MYID )
8631.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8632.EQ.
elseif(trim(mode)"restore
") then
8633 nullify(id%PERM_L0_OMP)
8634 read(unit,iostat=err) size_array1
8637 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8640 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8641 & id%COMM, id%MYID )
8642.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8643.EQ.
if(size_array1-999) then
8644 SIZE_GEST(i1)=SIZE_INT*2
8645 SIZE_VARIABLES(i1)=0_8
8646 read(unit,iostat=err) dummy
8648 SIZE_GEST(i1)=SIZE_INT
8649 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8650 allocate(id%PERM_L0_OMP(size_array1), stat=allocok)
8651.GT.
if (allocok 0) THEN
8653 CALL MUMPS_SETI8TOI4(
8654 & TOTAL_STRUC_SIZE-size_allocated
8657 read(unit,iostat=err) id%PERM_L0_OMP
8659 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8660 & id%COMM, id%MYID )
8661.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8664 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8667 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8668 & id%COMM, id%MYID )
8669.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8671 CASE("ptr_leafs_l0_omp
")
8673.EQ.
if(trim(mode)"memory_save
") then
8674 IF(associated(id%PTR_LEAFS_L0_OMP)) THEN
8675 SIZE_GEST(i1)=SIZE_INT
8677 & size(id%PTR_LEAFS_L0_OMP,1)*SIZE_INT
8679 SIZE_GEST(i1)=SIZE_INT*2
8680 SIZE_VARIABLES(i1)=0_8
8682.EQ.
elseif(trim(mode)"save") then
8683 IF(associated(id%PTR_LEAFS_L0_OMP)) THEN
8684 write(unit,iostat=err) size(id%PTR_LEAFS_L0_OMP,1)
8687 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8690 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8691 & id%COMM, id%MYID )
8692.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8693 write(unit,iostat=err) id%PTR_LEAFS_L0_OMP
8695 write(unit,iostat=err) -999
8698 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8701 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8702 & id%COMM, id%MYID )
8703.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8704 write(unit,iostat=err) -999
8708 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8711 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8712 & id%COMM, id%MYID )
8713.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8714.EQ.
elseif(trim(mode)"restore
") then
8715 nullify(id%PTR_LEAFS_L0_OMP)
8716 read(unit,iostat=err) size_array1
8719 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8722 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8723 & id%COMM, id%MYID )
8724.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8725.EQ.
if(size_array1-999) then
8726 SIZE_GEST(i1)=SIZE_INT*2
8727 SIZE_VARIABLES(i1)=0_8
8728 read(unit,iostat=err) dummy
8730 SIZE_GEST(i1)=SIZE_INT
8731 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8732 allocate(id%PTR_LEAFS_L0_OMP(size_array1),
8734.GT.
if (allocok 0) THEN
8736 CALL MUMPS_SETI8TOI4(
8737 & TOTAL_STRUC_SIZE-size_allocated
8740 read(unit,iostat=err) id%PTR_LEAFS_L0_OMP
8742 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8743 & id%COMM, id%MYID )
8744.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8747 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8750 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8751 & id%COMM, id%MYID )
8752.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8754 CASE("l0_omp_mapping
")
8756.EQ.
if(trim(mode)"memory_save
") then
8757 IF(associated(id%L0_OMP_MAPPING)) THEN
8758 SIZE_GEST(i1)=SIZE_INT
8760 & size(id%L0_OMP_MAPPING,1)*SIZE_INT
8762 SIZE_GEST(i1)=SIZE_INT*2
8763 SIZE_VARIABLES(i1)=0_8
8765.EQ.
elseif(trim(mode)"save") then
8766 IF(associated(id%L0_OMP_MAPPING)) THEN
8767 write(unit,iostat=err) size(id%L0_OMP_MAPPING,1)
8770 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8773 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8774 & id%COMM, id%MYID )
8775.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8776 write(unit,iostat=err) id%L0_OMP_MAPPING
8778 write(unit,iostat=err) -999
8781 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8784 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8785 & id%COMM, id%MYID )
8786.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8787 write(unit,iostat=err) -999
8791 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8794 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8795 & id%COMM, id%MYID )
8796.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8797.EQ.
elseif(trim(mode)"restore
") then
8798 nullify(id%L0_OMP_MAPPING)
8799 read(unit,iostat=err) size_array1
8802 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8805 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8806 & id%COMM, id%MYID )
8807.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8808.EQ.
if(size_array1-999) then
8809 SIZE_GEST(i1)=SIZE_INT*2
8810 SIZE_VARIABLES(i1)=0_8
8811 read(unit,iostat=err) dummy
8813 SIZE_GEST(i1)=SIZE_INT
8814 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8815 allocate(id%L0_OMP_MAPPING(size_array1), stat=allocok)
8816.GT.
if (allocok 0) THEN
8818 CALL MUMPS_SETI8TOI4(
8819 & TOTAL_STRUC_SIZE-size_allocated
8822 read(unit,iostat=err) id%L0_OMP_MAPPING
8824 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8825 & id%COMM, id%MYID )
8826.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8829 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8832 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8833 & id%COMM, id%MYID )
8834.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8836 CASE("singular_values
")
8837 CASE("nb_singular_values
")
8839.EQ.
if(trim(mode)"memory_save
") then
8840 SIZE_VARIABLES(i1)=SIZE_INT
8841.EQ.
elseif(trim(mode)"save") then
8842 write(unit,iostat=err) id%NB_SINGULAR_VALUES
8845 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8848 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8849 & id%COMM, id%MYID )
8850.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8851.EQ.
elseif(trim(mode)"restore
") then
8852 SIZE_VARIABLES(i1)=SIZE_INT
8853 read(unit,iostat=err) id%NB_SINGULAR_VALUES
8856 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8859 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8860 & id%COMM, id%MYID )
8861.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8863 CASE("associated_ooc_files
")
8864.EQ.
if(trim(mode)"memory_save
") then
8865 DIFF_SIZE_ALLOC_READ(i1)=SIZE_LOGICAL
8866.EQ.
elseif(trim(mode)"save") then
8867 DIFF_SIZE_ALLOC_READ(i1)=SIZE_LOGICAL
8868.EQ.
elseif(trim(mode)"restore
") then
8869 DIFF_SIZE_ALLOC_READ(i1)=SIZE_LOGICAL
8873.EQ.
if(trim(mode)"memory_save
") then
8874 SIZE_VARIABLES(i1)=len(id%SAVE_DIR)*SIZE_CHARACTER
8875.EQ.
elseif(trim(mode)"save") then
8876 write(unit,iostat=err) id%SAVE_DIR
8879 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8882 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8883 & id%COMM, id%MYID )
8884.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8885.EQ.
elseif(trim(mode)"restore
") then
8886 SIZE_VARIABLES(i1)=len(id%SAVE_DIR)*SIZE_CHARACTER
8887 read(unit,iostat=err) id%SAVE_DIR
8890 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8893 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8894 & id%COMM, id%MYID )
8895.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8899.EQ.
if(trim(mode)"memory_save
") then
8900 SIZE_VARIABLES(i1)=len(id%SAVE_PREFIX)*SIZE_CHARACTER
8901.EQ.
elseif(trim(mode)"save") then
8902 write(unit,iostat=err) id%SAVE_PREFIX
8905 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8908 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8909 & id%COMM, id%MYID )
8910.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8911.EQ.
elseif(trim(mode)"restore
") then
8912 SIZE_VARIABLES(i1)=len(id%SAVE_PREFIX)*SIZE_CHARACTER
8913 read(unit,iostat=err) id%SAVE_PREFIX
8916 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8919 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8920 & id%COMM, id%MYID )
8921.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8923 CASE("mpitoomp_procs_map
")
8925.EQ.
if(trim(mode)"memory_save
") then
8926 IF(associated(id%MPITOOMP_PROCS_MAP)) THEN
8927 SIZE_GEST(i1)=SIZE_INT
8929 & size(id%MPITOOMP_PROCS_MAP,1)*SIZE_INT
8931 SIZE_GEST(i1)=SIZE_INT*2
8932 SIZE_VARIABLES(i1)=0_8
8934.EQ.
elseif(trim(mode)"save") then
8935 IF(associated(id%MPITOOMP_PROCS_MAP)) THEN
8936 write(unit,iostat=err) size(id%MPITOOMP_PROCS_MAP,1)
8939 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8942 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8943 & id%COMM, id%MYID )
8944.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8945 write(unit,iostat=err) id%MPITOOMP_PROCS_MAP
8947 write(unit,iostat=err) -999
8950 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8953 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8954 & id%COMM, id%MYID )
8955.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8956 write(unit,iostat=err) -999
8960 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8963 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8964 & id%COMM, id%MYID )
8965.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8966.EQ.
elseif(trim(mode)"restore
") then
8967 nullify(id%MPITOOMP_PROCS_MAP)
8968 read(unit,iostat=err) size_array1
8971 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8974 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8975 & id%COMM, id%MYID )
8976.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8977.EQ.
if(size_array1-999) then
8978 SIZE_GEST(i1)=SIZE_INT*2
8979 SIZE_VARIABLES(i1)=0_8
8980 read(unit,iostat=err) dummy
8982 SIZE_GEST(i1)=SIZE_INT
8983 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8984 allocate(id%MPITOOMP_PROCS_MAP(size_array1),
8986.GT.
if (allocok 0) THEN
8988 CALL MUMPS_SETI8TOI4(
8989 & TOTAL_STRUC_SIZE-size_allocated
8992 read(unit,iostat=err) id%MPITOOMP_PROCS_MAP
8994 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8995 & id%COMM, id%MYID )
8996.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8999 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
9002 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
9003 & id%COMM, id%MYID )
9004.LT.
IF ( id%INFO(1) 0 ) GOTO 100
9006 CASE("metis_options
")
9008.EQ.
if(trim(mode)"memory_save
") then
9009 SIZE_VARIABLES(i1)=SIZE_INT*size(id%METIS_OPTIONS,1)
9010.EQ.
elseif(trim(mode)"save") then
9011 write(unit,iostat=err) id%METIS_OPTIONS
9014 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
9017 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
9018 & id%COMM, id%MYID )
9019.LT.
IF ( id%INFO(1) 0 ) GOTO 100
9020.EQ.
elseif(trim(mode)"restore
") then
9021 SIZE_VARIABLES(i1)=SIZE_INT*size(id%METIS_OPTIONS,1)
9022 read(unit,iostat=err) id%METIS_OPTIONS
9025 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
9028 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
9029 & id%COMM, id%MYID )
9030.LT.
IF ( id%INFO(1) 0 ) GOTO 100
9032 CASE("pad0
","pad1
","pad2
","pad3
","pad4
","pad5
","pad6
","pad7
",
9033 & "pad11
","pad111
", "pad12
","pad13
","pad14
","pad15
","pad16
")
9036.EQ.
if(trim(mode)"memory_save
") then
9037 NbSubRecords=int(SIZE_VARIABLES(i1)/huge(I4))
9038.GT.
IF(NbSubRecords0) then
9039 NbRecords(i1)=NbRecords(i1)+NbSubRecords
9041.EQ.
elseif(trim(mode)"save") then
9042 size_written=size_written+SIZE_VARIABLES(i1)
9043 & +int(SIZE_GEST(i1),kind=8)
9044#if !defined(MUMPS_F2003)
9045 size_written=size_written
9046 & +int(2*id%KEEP(34)*NbRecords(i1),kind=8)
9048.EQ.
elseif(trim(mode)"restore
") then
9049 size_allocated=size_allocated+SIZE_VARIABLES(i1)+
9050 & DIFF_SIZE_ALLOC_READ(i1)
9051 size_read=size_read+SIZE_VARIABLES(i1)
9052 & +int(SIZE_GEST(i1),kind=8)
9053#if !defined(MUMPS_F2003)
9055 & +int(2*id%KEEP(34)*NbRecords(i1),kind=8)
9057.EQ.
elseif(trim(mode)"fake_restore
") then
9061.EQ.
if(trim(mode)"memory_save
") then
9062 WRITTEN_STRUC_SIZE=sum(SIZE_VARIABLES)+sum(SIZE_VARIABLES_ROOT)
9063 & +SIZE_VARIABLES_BLR+SIZE_VARIABLES_FRONT_DATA+
9064 & SIZE_VARIABLES_L0FAC
9065 TOTAL_STRUC_SIZE=WRITTEN_STRUC_SIZE
9066 & +sum(DIFF_SIZE_ALLOC_READ)
9067 & +sum(DIFF_SIZE_ALLOC_READ_ROOT)
9068 gest_size=sum(SIZE_GEST)+sum(SIZE_GEST_ROOT)
9069 & +SIZE_GEST_BLR+SIZE_GEST_FRONT_DATA
9071 & +int(5*SIZE_CHARACTER,kind=8)
9072 & +int(23*SIZE_CHARACTER,kind=8)
9073 & +int(2*SIZE_INT8,kind=8)+int(1,kind=8)
9074 & +int(3*SIZE_INT,kind=8)
9075 & +int(SIZE_LOGICAL,kind=8)
9076.AND.
IF(associated(id%OOC_FILE_NAME_LENGTH)
9077 & associated(id%OOC_FILE_NAMES)) THEN
9078 gest_size=gest_size+int(SIZE_INT,kind=8)
9079 & +int(id%OOC_FILE_NAME_LENGTH(1)*SIZE_CHARACTER,kind=8)
9081 gest_size=gest_size+int(2*SIZE_INT,kind=8)
9083#if !defined(MUMPS_F2003)
9084 tot_NbRecords=sum(NbRecords)+sum(NbRecords_ROOT)+8
9085 gest_size=gest_size+int(2*id%KEEP(34)*tot_NbRecords,kind=8)
9087 TOTAL_FILE_SIZE=WRITTEN_STRUC_SIZE+gest_size
9088.EQ.
elseif(trim(mode)"save") then
9089.EQ.
elseif(trim(mode)"restore
") then
9090 if(id%root%gridinit_done) then
9091 id%root%CNTXT_BLACS = id%COMM_NODES
9092 CALL blacs_gridinit( id%root%CNTXT_BLACS, 'R',
9093 & id%root%NPROW, id%root%NPCOL )
9094 id%root%gridinit_done = .TRUE.
9096.EQ.
elseif(trim(mode)"fake_restore
") then
9097.EQ.
elseif(trim(mode)"restore_ooc
") then
9100 deallocate(VARIABLES, VARIABLES_ROOT)