648 SUBROUTINE SMUMPS_SAVE_RESTORE_STRUCTURE(id,unit,mode
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)
653 USE SMUMPS_FACSOL_L0OMP_M, ONLY : SMUMPS_SAVE_RESTORE_L0FACARRAY
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)::SIZE_GEST
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) :: size_written,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
690 LOGICAL:: BASIC_CHECK
691 LOGICAL :: 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 (SMUMPS_STRUC) :: id
699 allocate(VARIABLES(NBVARIABLES), stat=allocok)
700.GT.
if (allocok 0) THEN
702 id%INFO(2) = NBVARIABLES
704 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
706.LT.
IF ( id%INFO(1) 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"
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)
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 if(trim(mode).EQ.
"memory_save")
then
961 elseif(trim(mode).EQ.
"save")
then
962 write(unit,iostat=err)
"MUMPS"
970 IF ( id%INFO(1) .LT. 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 IF(id%MYID.EQ.0)
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
989 IF ( id%INFO(1) .LT. 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
1002 & id%COMM, id%MYID )
1003 IF ( id%INFO(1) .LT. 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
1017 & id%COMM, id%MYID )
1018 IF ( id%INFO(1) .LT. 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
1031 & id%COMM, id%MYID )
1032 IF ( id%INFO(1) .LT. 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 IF(id%KEEP(10).EQ.1)
THEN
1043 write(unit,iostat=err) int_type_64
1050 & id%COMM, id%MYID )
1051 IF ( id%INFO(1) .LT. 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 IF(
associated(id%OOC_FILE_NAME_LENGTH).AND.
1058 &
associated(id%OOC_FILE_NAMES))
THEN
1059 write(unit,iostat=err) id%OOC_FILE_NAME_LENGTH(1)
1066 & id%COMM, id%MYID )
1067 IF ( id%INFO(1) .LT. 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))
1083 & id%COMM, id%MYID )
1084 IF ( id%INFO(1) .LT. 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
1099 & id%COMM, id%MYID )
1100 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1101 size_written=size_written+int(size_int,kind=8)
1103 size_written=size_written
1104 & +int(2*id%KEEP(34)*1,kind=8)
1106 write(unit,iostat=err) -999
1113 & id%COMM, id%MYID )
1114 IF ( id%INFO(1) .LT. 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 elseif((trim(mode).EQ.
"restore").OR.
1122 & (trim(mode).EQ.
"restore_ooc"))
then
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)
1132 elseif (.NOT.fortran_version_ok)
THEN
1137 & id%COMM, id%MYID )
1138 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1139 basic_check = .false.
1140 IF"restore_ooc")
THEN
1141 basic_check = .true.
1144 & read_hash, read_nprocs,
1145 & read_arith, read_sym, read_par)
1146 IF (id%INFO(1) .LT. 0)
GOTO 100
1147 elseif(trim(mode).EQ.
"fake_restore")
then
1148 read(unit,iostat=err) read_hash
1149 if(err.ne.0)
GOTO 100
1150 read(unit,iostat=err) total_file_size,total_struc_size
1151 if(err.ne.0)
GOTO 100
1152 IF ( id%INFO(1) .LT. 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 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
1172 IF(
associated(id%OOC_NB_FILES))
THEN
1173 write(unit,iostat=err)
size(id%OOC_NB_FILES,1)
1180 & id%COMM, id%MYID )
1181 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1182 write(unit,iostat=err) id%OOC_NB_FILES
1184 write(unit,iostat=err) -999
1191 & id%COMM, id%MYID )
1192 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1193 write(unit,iostat=err) -999
1201 & id%COMM, id%MYID )
1202 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1203 elseif((trim
"restore").OR.
1204 & (trim(mode).EQ.
"restore_ooc"))
then
1205 nullify(id%OOC_NB_FILES)
1206 read(unit,iostat=err) size_array1
1214 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1215 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
1226 & total_struc_size-size_allocated
1229 read(unit,iostat=err) id%OOC_NB_FILES
1232 & id%COMM, id%MYID )
1233 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1240 & id%COMM, id%MYID )
1241 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1243 CASE(
"OOC_NB_FILE_TYPE")
1245 if(trim(mode).EQ.
"memory_save")
then
1246 size_variables(i1)=size_int
1247 elseif(trim(mode).EQ.
"save")
then
1248 write(unit,iostat=err) id%OOC_NB_FILE_TYPE
1255 & id%COMM, id%MYID )
1256 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1257 elseif((trim(mode).EQ.
"restore").OR.
1258 & (trim(mode).EQ.
"restore_ooc"))
then
1259 size_variables(i1)=size_int
1260 read(unit,iostat=err) id%OOC_NB_FILE_TYPE
1267 & id%COMM, id%MYID )
1268 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1270 CASE(
"OOC_FILE_NAMES")
1272 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"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)
1291 & id%COMM, id%MYID )
1292 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1293 write(unit,iostat=err) id%OOC_FILE_NAMES
1295 write(unit,iostat=err) -999,-998
1302 & id%COMM, id%MYID )
1303 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1304 write(unit,iostat=err) -999
1312 & id%COMM, id%MYID )
1313 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1314 elseif((trim(mode).EQ.
"restore").OR.
1315 & (trim(mode).EQ.
"restore_ooc"))
then
1316 nullify(id%OOC_FILE_NAMES)
1317 read(unit,iostat=err) size_array1,size_array2
1324 & id%COMM, id%MYID )
1325 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1326 if(size_array1.EQ.-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),
1339 & total_struc_size-size_allocated
1342 read(unit,iostat=err) id%OOC_FILE_NAMES
1345 & id%COMM, id%MYID )
1346 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1353 & id%COMM, id%MYID )
1354 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1356 CASE(
"OOC_FILE_NAME_LENGTH")
1358 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
1368 IF(
associated(id%OOC_FILE_NAME_LENGTH))
THEN
1369 write(unit,iostat=err)
size(id%OOC_FILE_NAME_LENGTH,1)
1376 & id%COMM, id%MYID )
1377 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1378 write(unit,iostat=err) id%OOC_FILE_NAME_LENGTH
1380 write(unit,iostat=err) -999
1387 & id%COMM, id%MYID )
1388 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1389 write(unit,iostat=err) -999
1397 & id%COMM, id%MYID )
1398 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1399 elseif((trim(mode).EQ.
"restore").OR.
1400 & (trim(mode).EQ.
"restore_ooc"))
then
1401 nullify(id%OOC_FILE_NAME_LENGTH)
1402 read(unit,iostat=err) size_array1
1409 & id%COMM, id%MYID )
1410 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1411 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
1423 & total_struc_size-size_allocated
1426 read(unit,iostat=err) id%OOC_FILE_NAME_LENGTH
1429 & id%COMM, id%MYID )
1430 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1437 & id%COMM, id%MYID )
1438 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1443 if(trim(mode).EQ.
"restore_ooc")
then
1447 tmp_string1 = variables(i1)
1448 SELECT CASE(tmp_string1)
1450 if(trim(mode).EQ.
"memory_save")
then
1451 diff_size_alloc_read(i1)=size_int
1452 elseif(trim(mode).EQ.
"save")
then
1453 diff_size_alloc_read(i1)=size_int
1454 elseif(trim(mode).EQ.
"restore")
then
1455 diff_size_alloc_read(i1)=size_int
1459 if(trim(mode).EQ.
"memory_save")
then
1460 size_variables(i1)=size_int
1461 elseif(trim(mode).EQ.
"save")
then
1462 write(unit,iostat=err) id%SYM
1469 & id%COMM, id%MYID )
1470 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1471 elseif(trim(mode).EQ.
"restore")
then
1472 size_variables(i1)=size_int
1473 read(unit,iostat=err) id%SYM
1480 & id%COMM, id%MYID )
1481 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1485 if(trim(mode).EQ.
"memory_save")
then
1486 size_variables(i1)=size_int
1487 elseif(trim(mode).EQ.
"save")
then
1488 write(unit,iostat=err) id%PAR
1495 & id%COMM, id%MYID )
1496 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1497 elseif(trim(mode).EQ.
"restore")
then
1498 size_variables(i1)=size_int
1499 read(unit,iostat=err) id%PAR
1506 & id%COMM, id%MYID )
1507 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1510 if(trim(mode).EQ.
"memory_save")
then
1511 diff_size_alloc_read(i1)=size_int
1512 elseif(trim(mode).EQ.
"save")
then
1513 diff_size_alloc_read(i1)=size_int
1514 elseif(trim(mode).EQ.
"restore")
then
1515 diff_size_alloc_read(i1)=size_int
1519 if(trim(mode).EQ.
"memory_save")
then
1520 size_variables(i1)=size_int
1521 elseif(trim(mode).EQ.
"save")
then
1522 write(unit,iostat=err) id%N
1529 & id%COMM, id%MYID )
1530 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1531 elseif(trim(mode).EQ.
"restore")
then
1532 size_variables(i1)=size_int
1533 read(unit,iostat=err) id%N
1540 & id%COMM, id%MYID )
1541 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1545 if(trim(mode).EQ.
"memory_save")
then
1546 size_variables(i1)=size_int*
size(id%ICNTL,1)
1547 elseif(trim(mode).EQ.
"save")
then
1548 write(unit,iostat=err) id%ICNTL
1555 & id%COMM, id%MYID )
1556 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1557 elseif(trim(mode).EQ.
"restore")
then
1558 size_variables(i1)=size_int*
size(id%ICNTL,1)
1559 read(unit,iostat=err) id%ICNTL
1566 & id%COMM, id%MYID )
1567 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1571 if(trim(mode).EQ.
"memory_save")
then
1572 size_variables(i1)=size_int*
size(id%INFO,1)
1573 elseif(trim(mode).EQ.
"save")
then
1574 write(unit,iostat=err) info1,info2
1575 & ,id%INFO(3:
size(id%INFO,1))
1582 & id%COMM, id%MYID )
1583 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1584 elseif(trim(mode).EQ.
"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))
1594 & id%COMM, id%MYID )
1595 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1599 if(trim(mode).EQ."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 elseif(trim(mode).EQ.
"save")
then
1682 write(unit,iostat=err) id%RINFO
1689 & id%COMM, id%MYID )
1690 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1691 elseif(trim(mode).EQ.
"restore")
then
1692 size_variables(i1)=size_rl_or_dbl*
size(id%RINFO,1)
1693 read(unit,iostat=err) id%RINFO
1700 & id%COMM, id%MYID )
1701 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1705 if(trim(mode).EQ.
"memory_save")
then
1706 size_variables(i1)=size_rl_or_dbl*
size(id%RINFOG,1)
1707 elseif(trim(mode).EQ.
"save")
then
1708 write(unit,iostat=err) id%RINFOG
1715 & id%COMM, id%MYID )
1716 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1717 elseif(trim(mode).EQ.
"restore")
then
1718 size_variables(i1)=size_rl_or_dbl*
size(id%RINFOG,1)
1719 read(unit,iostat=err) id%RINFOG
1726 & id%COMM, id%MYID )
1727 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1731 if(trim(mode).EQ.
"memory_save")
then
1732 size_variables(i1)=size_int8*
size(id%KEEP8,1)
1733 elseif(trim(mode).EQ.
"save")
then
1734 write(unit,iostat=err) id%KEEP8
1741 & id%COMM, id%MYID )
1742 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1743 elseif(trim(mode).EQ.
"restore")
then
1744 size_variables(i1)=size_int8*
size(id%KEEP8,1)
1745 read(unit,iostat=err) id%KEEP8
1752 & id%COMM, id%MYID )
1753 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1757 if(trim(mode).EQ.
"memory_save")
then
1758 size_variables(i1)=size_int*
size(id%KEEP,1)
1759 elseif(trim(mode).EQ.
"save")
then
1760 write(unit,iostat=err) id%KEEP
1767 & id%COMM, id%MYID )
1768 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1769 elseif(trim(mode).EQ.
"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
1780 & id%COMM, id%MYID )
1781 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1785 if(trim(mode).EQ.
"memory_save")
then
1786 size_variables(i1)=size_rl_or_dbl*
size(id%DKEEP,1)
1787 elseif(trim(mode).EQ.
"save")
then
1788 write(unit,iostat=err) id%DKEEP
1795 & id%COMM, id%MYID )
1796 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1797 elseif(trim(mode).EQ.
"restore")
then
1798 size_variables(i1)=size_rl_or_dbl*
size(id%DKEEP,1)
1799 read(unit,iostat=err) id%DKEEP
1806 & id%COMM, id%MYID )
1807 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1811 if(trim(mode).EQ.
"memory_save")
then
1812 size_variables(i1)=size_int
1813 elseif(trim(mode).EQ.
"save")
then
1814 write(unit,iostat=err) id%NZ
1821 & id%COMM, id%MYID )
1822 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1823 elseif(trim(mode).EQ.
"restore")
then
1824 size_variables(i1)=size_int
1825 read(unit,iostat=err) id%NZ
1832 & id%COMM, id%MYID )
1833 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1837 if(trim(mode).EQ.
"memory_save")
then
1838 size_variables(i1)=size_int8
1839 elseif(trim(mode).EQ.
"save")
then
1840 write(unit,iostat=err) id%NNZ
1847 & id%COMM, id%MYID )
1848 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1849 elseif(trim(mode).EQ.
"restore")
then
1850 size_variables(i1)=size_int8
1851 read(unit,iostat=err) id%NNZ
1858 & id%COMM, id%MYID )
1859 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1865 IF(id%KEEP(52).NE.-1)
THEN
1867 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
1876 IF(
associated(id%COLSCA))
THEN
1877 write(unit,iostat=err)
size(id%COLSCA,1)
1881 & total_file_size-size_written,
1884 write(unit,iostat=err) id%COLSCA
1886 write(unit,iostat=err) -999
1890 & total_file_size-size_written,
1893 write(unit,iostat=err) -999
1901 & id%COMM, id%MYID )
1902 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1903 elseif(trim(mode).EQ.
"restore")
then
1905 read(unit,iostat=err) size_array1
1912 & id%COMM, id%MYID )
1913 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1914 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
1925 & total_struc_size-size_allocated
1928 read(unit,iostat=err) id%COLSCA
1931 & id%COMM, id%MYID )
1932 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1939 & id%COMM, id%MYID )
1940 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1945 IF(id%KEEP(52).NE.-1)
THEN
1947 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
1956 IF(
associated(id%ROWSCA))
THEN
1957 write(unit,iostat=err)
size(id%ROWSCA,1)
1961 & total_file_size-size_written,
1964 write(unit,iostat=err) id%ROWSCA
1966 write(unit,iostat=err) -999
1970 & total_file_size-size_written,
1973 write(unit,iostat=err) -999
1981 & id%COMM, id%MYID )
1982 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1983 elseif(trim(mode).EQ.
"restore")
then
1985 read(unit,iostat=err) size_array1
1992 & id%COMM, id%MYID )
1993 IF ( id%INFO(1) .LT. 0 )
GOTO 100
1994 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
2005 & total_struc_size-size_allocated
2008 read(unit,iostat=err) id%ROWSCA
2011 & id%COMM, id%MYID )
2012 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2019 & id%COMM, id%MYID )
2020 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2026 if(trim(mode).EQ.
"memory_save")
then
2027 size_variables(i1)=size_int
2028 elseif(trim(mode).EQ.
"save")
then
2029 write(unit,iostat=err) id%NZ_loc
2036 & id%COMM, id%MYID )
2037 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2038 elseif(trim(mode).EQ.
"restore")
then
2039 size_variables(i1)=size_int
2040 read(unit,iostat=err) id%NZ_loc
2047 & id%COMM, id%MYID )
2048 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2052 if(trim(mode).EQ.
"memory_save")
then
2053 size_variables(i1)=size_int8
2054 elseif(trim(mode).EQ.
"save")
then
2055 write(unit,iostat=err) id%NNZ_loc
2062 & id%COMM, id%MYID )
2063 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2064 elseif(trim(mode).EQ.
"restore")
then
2065 size_variables(i1)=size_int8
2066 read(unit,iostat=err) id%NNZ_loc
2073 & id%COMM, id%MYID )
2074 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2081 if(trim(mode).EQ.
"memory_save")
then
2082 size_variables(i1)=size_int
2083 elseif(trim(mode).EQ.
"save")
then
2084 write(unit,iostat=err) id%NELT
2091 & id%COMM, id%MYID )
2092 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2093 elseif(trim(mode).EQ.
"restore")
then
2094 size_variables(i1)=size_int
2095 read(unit,iostat=err) id%NELT
2102 & id%COMM, id%MYID )
2103 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2107 if(trim(mode).EQ.
"memory_save")
then
2108 size_variables(i1)=size_int
2109 elseif(trim(mode).EQ.
"save")
then
2110 write(unit,iostat=err) id%NBLK
2117 & id%COMM, id%MYID )
2118 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2119 elseif(trim(mode).EQ.
"restore")
then
2120 size_variables(i1)=size_int
2121 read(unit,iostat=err) id%NBLK
2128 & id%COMM, id%MYID )
2129 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2148 if(trim(mode).EQ.
"memory_save")
then
2149 size_variables(i1)=size_int
2150 elseif(trim(mode).EQ.
"save")
then
2151 write(unit,iostat=err) id%LRHS
2158 & id%COMM, id%MYID )
2159 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2160 elseif(trim(mode).EQ."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
2264 & id%COMM, id%MYID )
2265 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2266 elseif(trim(mode).EQ.
"restore")
then
2267 size_variables(i1)=size_int
2268 read(unit,iostat=err) id%LREDRHS
2275 & id%COMM, id%MYID )
2276 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2280 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
2290 IF(
associated(id%SYM_PERM))
THEN
2291 write(unit,iostat=err)
size(id%SYM_PERM,1)
2298 & id%COMM, id%MYID )
2299 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2300 write(unit,iostat=err) id%SYM_PERM
2302 write(unit,iostat=err) -999
2309 & id%COMM, id%MYID )
2310 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2311 write(unit,iostat=err) -999
2319 & id%COMM, id%MYID )
2320 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2321 elseif(trim(mode).EQ.
"restore")
then
2322 nullify(id%SYM_PERM)
2323 read(unit,iostat=err) size_array1
2330 & id%COMM, id%MYID )
2331 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2332 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
2343 & total_struc_size-size_allocated
2346 read(unit,iostat=err) id%SYM_PERM
2349 & id%COMM, id%MYID )
2350 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2357 & id%COMM, id%MYID )
2358 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2362 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
2371 IF(
associated(id%UNS_PERM))
THEN
2372 write(unit,iostat=err)
size(id%UNS_PERM,1)
2379 & id%COMM, id%MYID )
2380 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2381 write(unit,iostat=err) id%UNS_PERM
2383 write(unit,iostat=err) -999
2390 & id%COMM, id%MYID )
2391 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2392 write(unit,iostat=err) -999
2400 & id%COMM, id%MYID )
2401 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2402 elseif(trim(mode).EQ.
"restore")
then
2403 nullify(id%UNS_PERM)
2404 read(unit,iostat=err) size_array1
2411 & id%COMM, id%MYID )
2412 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2413 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
2424 & total_struc_size-size_allocated
2427 read(unit,iostat=err) id%UNS_PERM
2430 & id%COMM, id%MYID )
2431 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2438 & id%COMM, id%MYID )
2439 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2443 if(trim(mode).EQ.
"memory_save")
then
2444 size_variables(i1)=size_int
2445 elseif(trim(mode).EQ."
save")
then
2446 write(unit,iostat=err) id%NPROW
2453 & id%COMM, id%MYID )
2454 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2455 elseif(trim(mode).EQ.
"restore")
then
2456 size_variables(i1)=size_int
2457 read(unit,iostat=err) id%NPROW
2464 & id%COMM, id%MYID )
2465 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2469 if(trim(mode).EQ.
"memory_save")
then
2470 size_variables(i1)=size_int
2471 elseif(trim(mode).EQ.
"save")
then
2472 write(unit,iostat=err) id%NPCOL
2479 & id%COMM, id%MYID )
2480 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2482 elseif(trim(mode).EQ.
"restore")
then
2483 size_variables(i1)=size_int
2484 read(unit,iostat=err) id%NPCOL
2491 & id%COMM, id%MYID )
2492 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2496 if(trim(mode).EQ.
"memory_save")
then
2497 size_variables(i1)=size_int
2498 elseif(trim(mode).EQ.
"save")
then
2499 write(unit,iostat=err) id%MBLOCK
2506 & id%COMM, id%MYID )
2507 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2508 elseif(trim(mode).EQ.
"restore")
then
2509 size_variables(i1)=size_int
2510 read(unit,iostat=err) id%MBLOCK
2517 & id%COMM, id%MYID )
2518 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2522 if(trim(mode).EQ.
"memory_save")
then
2523 size_variables(i1)=size_int
2524 elseif(trim(mode).EQ.
"save")
then
2525 write(unit,iostat=err) id%NBLOCK
2532 & id%COMM, id%MYID )
2533 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2534 elseif(trim(mode).EQ.
"restore")
then
2535 size_variables(i1)=size_int
2536 read(unit,iostat=err) id%NBLOCK
2543 & id%COMM, id%MYID )
2544 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2548 if(trim(mode).EQ.
"memory_save")
then
2549 size_variables(i1)=size_int
2550 elseif(trim(mode).EQ.
"save")
then
2551 write(unit,iostat=err) id%SCHUR_MLOC
2558 & id%COMM, id%MYID )
2559 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2560 elseif(trim(mode).EQ.
"restore")
then
2561 size_variables(i1)=size_int
2562 read(unit,iostat=err) id%SCHUR_MLOC
2569 & id%COMM, id%MYID )
2570 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2574 if(trim(mode).EQ.
"memory_save")
then
2575 size_variables(i1)=size_int
2576 elseif(trim(mode).EQ.
"save")
then
2577 write(unit,iostat=err) id%SCHUR_NLOC
2584 & id%COMM, id%MYID )
2585 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2586 elseif(trim(mode).EQ.
"restore")
then
2587 size_variables(i1)=size_int
2588 read(unit,iostat=err) id%SCHUR_NLOC
2595 & id%COMM, id%MYID )
2596 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2600 if(trim(mode).EQ.
"memory_save")
then
2601 size_variables(i1)=size_int
2602 elseif(trim(mode).EQ.
"save")
then
2603 write(unit,iostat=err) id%SCHUR_LLD
2610 & id%COMM, id%MYID )
2611 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2612 elseif(trim(mode).EQ."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
2829 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2832 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2833 & id%COMM, id%MYID )
2834.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2835.EQ.
elseif(trim(mode)"restore
") then
2836 SIZE_VARIABLES(i1)=len(id%WRITE_PROBLEM)
2838 read(unit,iostat=err) id%WRITE_PROBLEM
2841 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2844 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2845 & id%COMM, id%MYID )
2846.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2848 CASE("max_surf_master
")
2850.EQ.
if(trim(mode)"memory_save
") then
2851 SIZE_VARIABLES(i1)=SIZE_INT8
2852.EQ.
elseif(trim(mode)"save") then
2853 write(unit,iostat=err) id%MAX_SURF_MASTER
2856 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2859 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2860 & id%COMM, id%MYID )
2861.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2862.EQ.
elseif(trim(mode)"restore
") then
2863 SIZE_VARIABLES(i1)=SIZE_INT8
2864 read(unit,iostat=err) id%MAX_SURF_MASTER
2867 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2870 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2871 & id%COMM, id%MYID )
2872.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2876.EQ.
if(trim(mode)"memory_save
") then
2877 SIZE_VARIABLES(i1)=SIZE_INT
2878.EQ.
elseif(trim(mode)"save") then
2879 write(unit,iostat=err) id%INST_Number
2882 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2885 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2886 & id%COMM, id%MYID )
2887.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2888.EQ.
elseif(trim(mode)"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.EQ.
if(trim(mode)"memory_save
") then
2936 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
2937.EQ.
elseif(trim(mode)"save") then
2938 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
2939.EQ.
elseif(trim(mode)"restore
") then
2940 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
2944.EQ.
if(trim(mode)"memory_save
") then
2945 SIZE_VARIABLES(i1)=SIZE_INT
2946.EQ.
elseif(trim(mode)"save") then
2947 write(unit,iostat=err) id%MYID
2950 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2953 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2954 & id%COMM, id%MYID )
2955.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2956.EQ.
elseif(trim(mode)"restore
") then
2957 SIZE_VARIABLES(i1)=SIZE_INT
2958 read(unit,iostat=err) id%MYID
2961 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2964 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2965 & id%COMM, id%MYID )
2966.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2970.EQ.
if(trim(mode)"memory_save
") then
2971 SIZE_VARIABLES(i1)=SIZE_INT
2972.EQ.
elseif(trim(mode)"save") then
2973 write(unit,iostat=err) id%NPROCS
2976 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2979 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2980 & id%COMM, id%MYID )
2981.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2982.EQ.
elseif(trim(mode)"restore
") then
2983 SIZE_VARIABLES(i1)=SIZE_INT
2984 read(unit,iostat=err) id%NPROCS
2987 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2990 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2991 & id%COMM, id%MYID )
2992.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2996.EQ.
if(trim(mode)"memory_save
") then
2997 SIZE_VARIABLES(i1)=SIZE_INT
2998.EQ.
elseif(trim(mode)"save") then
2999 write(unit,iostat=err) id%NSLAVES
3002 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3005 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3006 & id%COMM, id%MYID )
3007.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3008.EQ.
elseif(trim(mode)"restore
") then
3009 SIZE_VARIABLES(i1)=SIZE_INT
3010 read(unit,iostat=err) id%NSLAVES
3013 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3016 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3017 & id%COMM, id%MYID )
3018.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3022.EQ.
if(trim(mode)"memory_save
") then
3023 SIZE_VARIABLES(i1)=SIZE_INT
3024.EQ.
elseif(trim(mode)"save") then
3025 write(unit,iostat=err) id%ASS_IRECV
3028 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3031 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3032 & id%COMM, id%MYID )
3033.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3034.EQ.
elseif(trim(mode)"restore
") then
3035 SIZE_VARIABLES(i1)=SIZE_INT
3036 read(unit,iostat=err) id%ASS_IRECV
3039 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3042 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3043 & id%COMM, id%MYID )
3044.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3048.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"save") then
3059 IF(associated(id%IS)) THEN
3060 write(unit,iostat=err) size(id%IS,1),id%KEEP(32)
3063 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3066 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3067 & id%COMM, id%MYID )
3068.LT.
IF ( id%INFO(1) 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
3076 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3079 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3080 & id%COMM, id%MYID )
3081.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3082 write(unit,iostat=err) -999
3086 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3089 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3090 & id%COMM, id%MYID )
3091.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3092.EQ.
elseif(trim(mode)"restore
") then
3094 read(unit,iostat=err) size_array1,size_array2
3097 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3100 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3101 & id%COMM, id%MYID )
3102.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3103.EQ.
if(size_array1-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.GT.
if (allocok 0) THEN
3115 CALL MUMPS_SETI8TOI4(
3116 & TOTAL_STRUC_SIZE-size_allocated
3119 read(unit,iostat=err) id%IS(1:size_array2)
3121 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3122 & id%COMM, id%MYID )
3123.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3126 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3129 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3130 & id%COMM, id%MYID )
3131.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3135.EQ.
if(trim(mode)"memory_save
") then
3136 SIZE_VARIABLES(i1)=SIZE_INT
3137.EQ.
elseif(trim(mode)"save") then
3138 write(unit,iostat=err) id%Deficiency
3141 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3144 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3145 & id%COMM, id%MYID )
3146.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3147.EQ.
elseif(trim(mode)"restore
") then
3148 SIZE_VARIABLES(i1)=SIZE_INT
3149 read(unit,iostat=err) id%Deficiency
3152 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3155 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3156 & id%COMM, id%MYID )
3157.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3161.EQ.
if(trim(mode)"memory_save
") then
3162 SIZE_VARIABLES(i1)=SIZE_INT
3163.EQ.
elseif(trim(mode)"save") then
3164 write(unit,iostat=err) id%LNA
3167 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3170 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3171 & id%COMM, id%MYID )
3172.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3173.EQ.
elseif(trim(mode)"restore
") then
3174 SIZE_VARIABLES(i1)=SIZE_INT
3175 read(unit,iostat=err) id%LNA
3178 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
3181 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3182 & id%COMM, id%MYID )
3183.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3187.EQ.
if(trim(mode)"memory_save
") then
3188 SIZE_VARIABLES(i1)=SIZE_INT
3189.EQ.
elseif(trim(mode)"save") then
3190 write(unit,iostat=err) id%NBSA
3193 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
3196 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
3197 & id%COMM, id%MYID )
3198.LT.
IF ( id%INFO(1) 0 ) GOTO 100
3199.EQ.
elseif(trim(mode)"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 elseif(trim(mode).EQ.
"save")
then
5146 IF(
associated(id%I_AM_CAND))
THEN
5147 write(unit,iostat=err)
size(id%I_AM_CAND,1)
5154 & id%COMM, id%MYID )
5155 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5156 write(unit,iostat=err) id%I_AM_CAND
5158 write(unit,iostat=err) -999
5165 & id%COMM, id%MYID )
5166 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5167 write(unit,iostat=err) -999
5175 & id%COMM, id%MYID )
5176 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5177 elseif(trim(mode).EQ.
"restore")
then
5178 nullify(id%I_AM_CAND)
5179 read(unit,iostat=err) size_array1
5186 & id%COMM, id%MYID )
5187 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5188 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5199 & total_struc_size-size_allocated
5202 read(unit,iostat=err) id%I_AM_CAND
5205 & id%COMM, id%MYID )
5206 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5213 & id%COMM, id%MYID )
5214 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5218 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
5227 IF(
associated(id%MEM_DIST))
THEN
5228 write(unit,iostat=err)
size(id%MEM_DIST,1)
5235 & id%COMM, id%MYID )
5236 write(unit,iostat=err) id%MEM_DIST
5238 write(unit,iostat=err) -999
5245 & id%COMM, id%MYID )
5246 write(unit,iostat=err) -999
5254 & id%COMM, id%MYID )
5255 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5256 elseif(trim(mode).EQ.
"restore")
then
5257 nullify(id%MEM_DIST)
5258 read(unit,iostat=err) size_array1
5265 & id%COMM, id%MYID )
5266 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5267 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5278 & total_struc_size-size_allocated
5281 read(unit,iostat=err) id%MEM_DIST
5284 & id%COMM, id%MYID )
5285 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5292 & id%COMM, id%MYID )
5293 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5295 CASE(
"POSINRHSCOMP_ROW")
5297 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
5307 IF(
associated(id%POSINRHSCOMP_ROW))
THEN
5308 write(unit,iostat=err)
size(id%POSINRHSCOMP_ROW,1)
5315 & id%COMM, id%MYID )
5316 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5317 write(unit,iostat=err) id%POSINRHSCOMP_ROW
5319 write(unit,iostat=err) -999
5326 & id%COMM, id%MYID )
5327 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5328 write(unit,iostat=err) -999
5336 & id%COMM, id%MYID )
5337 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5338 elseif(trim(mode).EQ.
"restore")
then
5339 nullify(id%POSINRHSCOMP_ROW)
5340 read(unit,iostat=err) size_array1
5347 & id%COMM, id%MYID )
5348 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5349 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5361 & total_struc_size-size_allocated
5364 read(unit,iostat=err) id%POSINRHSCOMP_ROW
5367 & id%COMM, id%MYID )
5368 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5375 & id%COMM, id%MYID )
5376 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5378 CASE(
"POSINRHSCOMP_COL_ALLOC")
5380 if(trim(mode).EQ.
"memory_save")
then
5381 size_variables(i1)=size_logical
5382 elseif(trim(mode).EQ.
"save")
then
5383 write(unit,iostat=err) id%POSINRHSCOMP_COL_ALLOC
5390 & id%COMM, id%MYID )
5391 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5392 elseif(trim(mode
"restore")
then
5393 size_variables(i1)=size_logical
5394 read(unit,iostat=err) id%POSINRHSCOMP_COL_ALLOC
5401 & id%COMM, id%MYID )
5402 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5404 CASE(
"POSINRHSCOMP_COL")
5406 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"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)
5427 & total_file_size-size_written,
5431 & id%COMM, id%MYID )
5432 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5433 write(unit,iostat=err) id%POSINRHSCOMP_COL
5435 write(unit,iostat=err)
size(id%POSINRHSCOMP_COL,1)
5439 & total_file_size-size_written,
5443 & id%COMM, id%MYID )
5444 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5445 write(unit,iostat=err) -999
5448 write(unit,iostat=err) -999
5455 & id%COMM, id%MYID )
5456 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5457 write(unit,iostat=err) -999
5465 & id%COMM, id%MYID )
5467 elseif(trim(mode).EQ.
"restore")
then
5468 nullify(id%POSINRHSCOMP_COL)
5469 read(unit,iostat=err) size_array1
5476 & id%COMM, id%MYID )
5477 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5478 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
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
5503 & id%COMM, id%MYID )
5504 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5511 & id%COMM, id%MYID )
5512 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5516 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
5525 IF(
associated(id%RHSCOMP))
THEN
5526 write(unit,iostat=err) id%KEEP8(25)
5533 & id%COMM, id%MYID )
5534 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5535 write(unit,iostat=err) id%RHSCOMP
5537 write(unit,iostat=err) int(-999,8)
5544 & id%COMM, id%MYID )
5545 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5546 write(unit,iostat=err) -999
5554 & id%COMM, id%MYID )
5555 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5556 elseif(trim(mode).EQ.
"restore")
then
5558 read(unit,iostat=err) size_array_int8_1
5565 & id%COMM, id%MYID )
5566 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5567 if(size_array_int8_1.EQ.int(-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 if (allocok .GT. 0)
THEN
5578 & total_struc_size-size_allocated
5581 read(unit,iostat=err) id%RHSCOMP
5584 & id%COMM, id%MYID )
5585 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5592 & id%COMM, id%MYID )
5593 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5597 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
5607 IF(
associated(id%MEM_SUBTREE))
THEN
5608 write(unit,iostat=err)
size(id%MEM_SUBTREE,1)
5615 & id%COMM, id%MYID )
5616 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5617 write(unit,iostat=err) id%MEM_SUBTREE
5619 write(unit,iostat=err) -999
5626 & id%COMM, id%MYID )
5627 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5628 write(unit,iostat=err) -999
5636 & id%COMM, id%MYID )
5637 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5638 elseif(trim(mode).EQ.
"restore")
then
5639 nullify(id%MEM_SUBTREE)
5640 read(unit,iostat=err) size_array1
5647 & id%COMM, id%MYID )
5648 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5649 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5660 & total_struc_size-size_allocated
5663 read(unit,iostat=err) id%MEM_SUBTREE
5666 & id%COMM, id%MYID )
5667 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5674 & id%COMM, id%MYID )
5675 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5679 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
5689 IF(
associated(id%COST_TRAV))
THEN
5690 write(unit,iostat=err)
size(id%COST_TRAV,1)
5697 & id%COMM, id%MYID )
5698 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5699 write(unit,iostat=err) id%COST_TRAV
5701 write(unit,iostat=err) -999
5708 & id%COMM, id%MYID )
5709 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5710 write(unit,iostat=err) -999
5718 & id%COMM, id%MYID )
5719 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5720 elseif(trim(mode).EQ.
"restore")
then
5721 nullify(id%COST_TRAV)
5722 read(unit,iostat=err) size_array1
5729 & id%COMM, id%MYID )
5730 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5731 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5742 & total_struc_size-size_allocated
5745 read(unit,iostat=err) id%COST_TRAV
5748 & id%COMM, id%MYID )
5749 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5756 & id%COMM, id%MYID )
5757 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5759 CASE(
"MY_ROOT_SBTR")
5761 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
5770 IF(
associated(id%MY_ROOT_SBTR))
THEN
5771 write(unit,iostat=err)
size(id%MY_ROOT_SBTR,1)
5778 & id%COMM, id%MYID )
5779 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5780 write(unit,iostat=err) id%MY_ROOT_SBTR
5782 write(unit,iostat=err) -999
5789 & id%COMM, id%MYID )
5790 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5791 write(unit,iostat=err) -999
5799 & id%COMM, id%MYID )
5800 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5801 elseif(trim(mode).EQ.
"restore")
then
5802 nullify(id%MY_ROOT_SBTR)
5803 read(unit,iostat=err) size_array1
5810 & id%COMM, id%MYID )
5811 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5812 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5823 & total_struc_size-size_allocated
5826 read(unit,iostat=err) id%MY_ROOT_SBTR
5829 & id%COMM, id%MYID )
5830 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5837 & id%COMM, id%MYID )
5838 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5840 CASE(
"MY_FIRST_LEAF")
5842 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
5852 write(unit,iostat=err)
size(id%MY_FIRST_LEAF,1)
5859 & id%COMM, id%MYID )
5860 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5861 write(unit,iostat=err) id%MY_FIRST_LEAF
5863 write(unit,iostat=err) -999
5870 & id%COMM, id%MYID )
5871 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5872 write(unit,iostat=err) -999
5880 & id%COMM, id%MYID )
5881 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5882 elseif(trim(mode).EQ.
"restore")
then
5883 nullify(id%MY_FIRST_LEAF)
5884 read(unit,iostat=err) size_array1
5891 & id%COMM, id%MYID )
5892 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5893 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5904 & total_struc_size-size_allocated
5907 read(unit,iostat=err) id%MY_FIRST_LEAF
5910 & id%COMM, id%MYID )
5911 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5918 & id%COMM, id%MYID )
5919 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5923 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
5932 IF(
associated(id%MY_NB_LEAF))
THEN
5933 write(unit,iostat=err)
size(id%MY_NB_LEAF,1)
5940 & id%COMM, id%MYID )
5941 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5942 write(unit,iostat=err) id%MY_NB_LEAF
5944 write(unit,iostat=err) -999
5951 & id%COMM, id%MYID )
5952 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5953 write(unit,iostat=err) -999
5961 & id%COMM, id%MYID )
5962 IF ( id%INFO(1) .LT. 0 )
GOTO
5963 elseif(trim(mode).EQ.
"restore")
then
5964 nullify(id%MY_NB_LEAF)
5965 read(unit,iostat=err) size_array1
5972 & id%COMM, id%MYID )
5973 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5974 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5985 & total_struc_size-size_allocated
5988 read(unit,iostat=err) id%MY_NB_LEAF
5991 & id%COMM, id%MYID )
5992 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5999 & id%COMM, id%MYID )
6000 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6004 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
6013 IF(
associated(id%DEPTH_FIRST))
THEN
6014 write(unit,iostat=err)
size(id%DEPTH_FIRST,1)
6021 & id%COMM, id%MYID )
6022 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6023 write(unit,iostat=err) id%DEPTH_FIRST
6025 write(unit,iostat=err) -999
6032 & id%COMM, id%MYID )
6033 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6034 write(unit,iostat=err) -999
6042 & id%COMM, id%MYID )
6043 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6044 elseif(trim(mode).EQ.
"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
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.EQ.
elseif(trim(mode)"save") then
6094 IF(associated(id%DEPTH_FIRST_SEQ)) THEN
6095 write(unit,iostat=err) size(id%DEPTH_FIRST_SEQ,1)
6098 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6101 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6102 & id%COMM, id%MYID )
6103.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6104 write(unit,iostat=err) id%DEPTH_FIRST_SEQ
6106 write(unit,iostat=err) -999
6109 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6112 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6113 & id%COMM, id%MYID )
6114.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6115 write(unit,iostat=err) -999
6119 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6122 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6123 & id%COMM, id%MYID )
6124.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6125.EQ.
elseif(trim(mode)"restore
") then
6126 nullify(id%DEPTH_FIRST_SEQ)
6127 read(unit,iostat=err) size_array1
6130 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6133 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6134 & id%COMM, id%MYID )
6135.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6136.EQ.
if(size_array1-999) then
6137 SIZE_GEST(i1)=SIZE_INT*2
6138 SIZE_VARIABLES(i1)=0_8
6139 read(unit,iostat=err) dummy
6141 SIZE_GEST(i1)=SIZE_INT
6142 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
6143 allocate(id%DEPTH_FIRST_SEQ(size_array1),
6145.GT.
if (allocok 0) THEN
6147 CALL MUMPS_SETI8TOI4(
6148 & TOTAL_STRUC_SIZE-size_allocated
6151 read(unit,iostat=err) id%DEPTH_FIRST_SEQ
6153 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6154 & id%COMM, id%MYID )
6155.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6158 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6161 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6162 & id%COMM, id%MYID )
6163.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6167.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"save") then
6176 IF(associated(id%SBTR_ID)) THEN
6177 write(unit,iostat=err) size(id%SBTR_ID,1)
6180 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6183 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6184 & id%COMM, id%MYID )
6185.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6186 write(unit,iostat=err) id%SBTR_ID
6188 write(unit,iostat=err) -999
6191 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6194 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6195 & id%COMM, id%MYID )
6196.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6197 write(unit,iostat=err) -999
6201 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6204 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6205 & id%COMM, id%MYID )
6206.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6207.EQ.
elseif(trim(mode)"restore
") then
6209 read(unit,iostat=err) size_array1
6212 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6215 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6216 & id%COMM, id%MYID )
6217.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6218.EQ.
if(size_array1-999) then
6219 SIZE_GEST(i1)=SIZE_INT*2
6220 SIZE_VARIABLES(i1)=0_8
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.GT.
if (allocok 0) THEN
6228 CALL MUMPS_SETI8TOI4(
6229 & TOTAL_STRUC_SIZE-size_allocated
6232 read(unit,iostat=err) id%SBTR_ID
6234 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6235 & id%COMM, id%MYID )
6236.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6239 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6242 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6243 & id%COMM, id%MYID )
6244.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6252.EQ.
if(trim(mode)"memory_save
") then
6253 SIZE_VARIABLES(i1)=SIZE_INT
6254.EQ.
elseif(trim(mode)"save") then
6255 write(unit,iostat=err) id%NBSA_LOCAL
6258 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6261 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6262 & id%COMM, id%MYID )
6263.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6264.EQ.
elseif(trim(mode)"restore
") then
6265 SIZE_VARIABLES(i1)=SIZE_INT
6266 read(unit,iostat=err) id%NBSA_LOCAL
6269 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6272 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6273 & id%COMM, id%MYID )
6274.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6277.EQ.
if(trim(mode)"memory_save
") then
6278 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
6279.EQ.
elseif(trim(mode)"save") then
6280 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
6281.EQ.
elseif(trim(mode)"restore
") then
6282 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
6285 CASE("instance_number
")
6287.EQ.
if(trim(mode)"memory_save
") then
6288 SIZE_VARIABLES(i1)=SIZE_INT
6289.EQ.
elseif(trim(mode)"save") then
6290 write(unit,iostat=err) id%INSTANCE_NUMBER
6293 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6296 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6297 & id%COMM, id%MYID )
6298.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6299.EQ.
elseif(trim(mode)"restore
") then
6300 SIZE_VARIABLES(i1)=SIZE_INT
6301 read(unit,iostat=err) id%INSTANCE_NUMBER
6304 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6307 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6308 & id%COMM, id%MYID )
6309.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6311 CASE("ooc_max_nb_nodes_for_zone
")
6313.EQ.
if(trim(mode)"memory_save
") then
6314 SIZE_VARIABLES(i1)=SIZE_INT
6315.EQ.
elseif(trim(mode)"save") then
6316 write(unit,iostat=err) id%OOC_MAX_NB_NODES_FOR_ZONE
6319 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6322 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6323 & id%COMM, id%MYID )
6324.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6325.EQ.
elseif(trim(mode)"restore
") then
6326 SIZE_VARIABLES(i1)=SIZE_INT
6327 read(unit,iostat=err) id%OOC_MAX_NB_NODES_FOR_ZONE
6330 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6333 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6334 & id%COMM, id%MYID )
6335.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6337 CASE("ooc_inode_sequence
")
6339.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"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)
6354 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6357 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6358 & id%COMM, id%MYID )
6359.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6360 write(unit,iostat=err) id%OOC_INODE_SEQUENCE
6362 write(unit,iostat=err) -999,-998
6365 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6368 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6369 & id%COMM, id%MYID )
6370.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6371 write(unit,iostat=err) -999
6375 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6378 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6379 & id%COMM, id%MYID )
6380.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6381.EQ.
elseif(trim(mode)"restore
") then
6382 nullify(id%OOC_INODE_SEQUENCE)
6383 read(unit,iostat=err) size_array1,size_array2
6386 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6389 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6390 & id%COMM, id%MYID )
6391.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6392.EQ.
if(size_array1-999) then
6393 SIZE_GEST(i1)=SIZE_INT*3
6394 SIZE_VARIABLES(i1)=0_8
6395 read(unit,iostat=err) dummy
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.GT.
if (allocok 0) THEN
6403 CALL MUMPS_SETI8TOI4(
6404 & TOTAL_STRUC_SIZE-size_allocated
6407 read(unit,iostat=err) id%OOC_INODE_SEQUENCE
6409 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6410 & id%COMM, id%MYID )
6411.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6414 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6417 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6418 & id%COMM, id%MYID )
6419.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6421 CASE("ooc_size_of_block
")
6423.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"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)
6438 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6441 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6442 & id%COMM, id%MYID )
6443.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6444 write(unit,iostat=err) id%OOC_SIZE_OF_BLOCK
6446 write(unit,iostat=err) -999,-998
6449 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6452 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6453 & id%COMM, id%MYID )
6454.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6455 write(unit,iostat=err) -999
6459 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6462 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6463 & id%COMM, id%MYID )
6464.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6465.EQ.
elseif(trim(mode)"restore
") then
6466 nullify(id%OOC_SIZE_OF_BLOCK)
6467 read(unit,iostat=err) size_array1,size_array2
6470 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6473 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6474 & id%COMM, id%MYID )
6475.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6476.EQ.
if(size_array1-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.GT.
if (allocok 0) THEN
6487 CALL MUMPS_SETI8TOI4(
6488 & TOTAL_STRUC_SIZE-size_allocated
6491 read(unit,iostat=err) id%OOC_SIZE_OF_BLOCK
6493 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6494 & id%COMM, id%MYID )
6495.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6498 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6501 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6502 & id%COMM, id%MYID )
6503.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6507.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"save") then
6517 IF(associated(id%OOC_VADDR)) THEN
6518 write(unit,iostat=err) size(id%OOC_VADDR,1)
6519 & ,size(id%OOC_VADDR,2)
6522 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6525 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6526 & id%COMM, id%MYID )
6527.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6528 write(unit,iostat=err) id%OOC_VADDR
6530 write(unit,iostat=err) -999,-998
6533 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6536 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6537 & id%COMM, id%MYID )
6538.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6539 write(unit,iostat=err) -999
6543 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6546 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6547 & id%COMM, id%MYID )
6548.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6549.EQ.
elseif(trim(mode)"restore
") then
6550 nullify(id%OOC_VADDR)
6551 read(unit,iostat=err) size_array1,size_array2
6554 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6557 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6558 & id%COMM, id%MYID )
6559.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6560.EQ.
if(size_array1-999) then
6561 SIZE_GEST(i1)=SIZE_INT*3
6562 SIZE_VARIABLES(i1)=0_8
6563 read(unit,iostat=err) dummy
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.GT.
if (allocok 0) THEN
6571 CALL MUMPS_SETI8TOI4(
6572 & TOTAL_STRUC_SIZE-size_allocated
6575 read(unit,iostat=err) id%OOC_VADDR
6577 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6578 & id%COMM, id%MYID )
6579.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6582 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6585 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6586 & id%COMM, id%MYID )
6587.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6589 CASE("ooc_total_nb_nodes
")
6591.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"save") then
6601 IF(associated(id%OOC_TOTAL_NB_NODES)) THEN
6602 write(unit,iostat=err) size(id%OOC_TOTAL_NB_NODES,1)
6605 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6608 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6609 & id%COMM, id%MYID )
6610.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6611 write(unit,iostat=err) id%OOC_TOTAL_NB_NODES
6613 write(unit,iostat=err) -999
6616 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6619 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6620 & id%COMM, id%MYID )
6621.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6622 write(unit,iostat=err) -999
6626 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6629 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6630 & id%COMM, id%MYID )
6631.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6632.EQ.
elseif(trim(mode)"restore
") then
6633 nullify(id%OOC_TOTAL_NB_NODES)
6634 read(unit,iostat=err) size_array1
6637 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6640 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6641 & id%COMM, id%MYID )
6642.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6643.EQ.
if(size_array1-999) then
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.GT.
if (allocok 0) THEN
6654 CALL MUMPS_SETI8TOI4(
6655 & TOTAL_STRUC_SIZE-size_allocated
6658 read(unit,iostat=err) id%OOC_TOTAL_NB_NODES
6660 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6661 & id%COMM, id%MYID )
6662.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6665 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6668 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6669 & id%COMM, id%MYID )
6670.LT.
IF ( id%INFO(1) 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.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"save") then
6687 IF(associated(id%PIVNUL_LIST)) THEN
6688 write(unit,iostat=err) size(id%PIVNUL_LIST,1)
6691 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6694 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6695 & id%COMM, id%MYID )
6696.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6697 write(unit,iostat=err) id%PIVNUL_LIST
6699 write(unit,iostat=err) -999
6702 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6705 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6706 & id%COMM, id%MYID )
6707.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6708 write(unit,iostat=err) -999
6712 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6715 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6716 & id%COMM, id%MYID )
6717.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6718.EQ.
elseif(trim(mode)"restore
") then
6719 nullify(id%PIVNUL_LIST)
6720 read(unit,iostat=err) size_array1
6723 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6726 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6727 & id%COMM, id%MYID )
6728.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6729.EQ.
if(size_array1-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.GT.
if (allocok 0) THEN
6739 CALL MUMPS_SETI8TOI4(
6740 & TOTAL_STRUC_SIZE-size_allocated
6743 read(unit,iostat=err) id%PIVNUL_LIST
6745 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6746 & id%COMM, id%MYID )
6747.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6750 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6753 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6754 & id%COMM, id%MYID )
6755.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6758 CASE("iptr_working
")
6760.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"save") then
6769 IF(associated(id%IPTR_WORKING)) THEN
6770 write(unit,iostat=err) size(id%IPTR_WORKING,1)
6773 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6776 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6777 & id%COMM, id%MYID )
6778.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6779 write(unit,iostat=err) id%IPTR_WORKING
6781 write(unit,iostat=err) -999
6784 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6787 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6788 & id%COMM, id%MYID )
6789.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6790 write(unit,iostat=err) -999
6794 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6797 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6798 & id%COMM, id%MYID )
6799.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6800.EQ.
elseif(trim(mode)"restore
") then
6801 nullify(id%IPTR_WORKING)
6802 read(unit,iostat=err) size_array1
6805 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6808 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6809 & id%COMM, id%MYID )
6810.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6811.EQ.
if(size_array1-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.GT.
if (allocok 0) THEN
6821 CALL MUMPS_SETI8TOI4(
6822 & TOTAL_STRUC_SIZE-size_allocated
6825 read(unit,iostat=err) id%IPTR_WORKING
6827 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6828 & id%COMM, id%MYID )
6829.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6832 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6835 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6836 & id%COMM, id%MYID )
6837.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6841.EQ.
if(trim(mode)"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
6847 SIZE_VARIABLES(i1)=0_8
6849.EQ.
elseif(trim(mode)"save") then
6850 IF(associated(id%WORKING)) THEN
6851 write(unit,iostat=err) size(id%WORKING,1)
6854 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6857 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6858 & id%COMM, id%MYID )
6859.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6860 write(unit,iostat=err) id%WORKING
6862 write(unit,iostat=err) -999
6865 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6868 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6869 & id%COMM, id%MYID )
6870.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6871 write(unit,iostat=err) -999
6875 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
6878 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6879 & id%COMM, id%MYID )
6880.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6881.EQ.
elseif(trim(mode)"restore
") then
6883 read(unit,iostat=err) size_array1
6886 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6889 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6890 & id%COMM, id%MYID )
6891.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6892.EQ.
if(size_array1-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.GT.
if (allocok 0) THEN
6902 CALL MUMPS_SETI8TOI4(
6903 & TOTAL_STRUC_SIZE-size_allocated
6906 read(unit,iostat=err) id%WORKING
6908 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6909 & id%COMM, id%MYID )
6910.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6913 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
6916 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6917 & id%COMM, id%MYID )
6918.LT.
IF ( id%INFO(1) 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.EQ.
if(trim(mode)"memory_save
") then
6927 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
6928.EQ.
elseif(trim(mode)"save") then
6929 write(unit,iostat=err) id%root%MBLOCK
6932 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
6935 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6936 & id%COMM, id%MYID )
6937.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6938.EQ.
elseif(trim(mode)"restore
") then
6939 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
6940 read(unit,iostat=err) id%root%MBLOCK
6943 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2)
6946 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6947 & id%COMM, id%MYID )
6948.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6951 NbRecords_ROOT(i2)=1
6952.EQ.
if(trim(mode)"memory_save
") then
6953 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
6954.EQ.
elseif(trim(mode)"save") then
6955 write(unit,iostat=err) id%root%NBLOCK
6958 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
6961 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6962 & id%COMM, id%MYID )
6963.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6964.EQ.
elseif(trim(mode)"restore
") then
6965 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
6966 read(unit,iostat=err) id%root%NBLOCK
6969 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2)
6972 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6973 & id%COMM, id%MYID )
6974.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6977 NbRecords_ROOT(i2)=1
6978.EQ.
if(trim(mode)"memory_save
") then
6979 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
6980.EQ.
elseif(trim(mode)"save") then
6981 write(unit,iostat=err) id%root%NPROW
6984 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
6987 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6988 & id%COMM, id%MYID )
6989.LT.
IF ( id%INFO(1) 0 ) GOTO 100
6990.EQ.
elseif(trim(mode)"restore
") then
6991 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
6992 read(unit,iostat=err) id%root%NPROW
6995 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2)
6998 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
6999 & id%COMM, id%MYID )
7000.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7003 NbRecords_ROOT(i2)=1
7004.EQ.
if(trim(mode)"memory_save
") then
7005 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7006.EQ.
elseif(trim(mode)"save") then
7007 write(unit,iostat=err) id%root%NPCOL
7010 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7013 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7014 & id%COMM, id%MYID )
7015.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7016.EQ.
elseif(trim(mode)"restore
") then
7017 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7018 read(unit,iostat=err) id%root%NPCOL
7021 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2)
7024 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7025 & id%COMM, id%MYID )
7026.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7029 NbRecords_ROOT(i2)=1
7030.EQ.
if(trim(mode)"memory_save
") then
7031 NbRecords_ROOT(i2)=1
7032 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7033.EQ.
elseif(trim(mode)"save") then
7034 write(unit,iostat=err) id%root%MYROW
7037 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7040 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7041 & id%COMM, id%MYID )
7042.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7043.EQ.
elseif(trim(mode)"restore
") then
7044 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7045 read(unit,iostat=err) id%root%MYROW
7048 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7051 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7052 & id%COMM, id%MYID )
7053.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7056 NbRecords_ROOT(i2)=1
7057.EQ.
if(trim(mode)"memory_save
") then
7058 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7059.EQ.
elseif(trim(mode)"save") then
7060 write(unit,iostat=err) id%root%MYCOL
7063 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7066 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7067 & id%COMM, id%MYID )
7068.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7069.EQ.
elseif(trim(mode)"restore
") then
7070 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7071 read(unit,iostat=err) id%root%MYCOL
7074 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2)
7077 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7078 & id%COMM, id%MYID )
7079.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7082 NbRecords_ROOT(i2)=1
7083.EQ.
if(trim(mode)"memory_save
") then
7084 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7085.EQ.
elseif(trim(mode)"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 if(trim(mode).EQ.
"memory_save")
then
7188 size_variables_root(i2)=size_int
7189 elseif(trim(mode).EQ.
"save")
then
7190 write(unit,iostat=err) id%root%ROOT_SIZE
7197 & id%COMM, id%MYID )
7198 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7199 elseif(trim(mode).EQ."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
7310 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7313 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7314 & id%COMM, id%MYID )
7315.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7320 NbRecords_ROOT(i2)=2
7321.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"save") then
7331 IF(associated(id%root%IPIV)) THEN
7332 write(unit,iostat=err) size(id%root%IPIV,1)
7335 CALL MUMPS_SETI8TOI4(
7336 & TOTAL_FILE_SIZE-size_written
7339 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7340 & id%COMM, id%MYID )
7341.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7342 write(unit,iostat=err) id%root%IPIV
7344 write(unit,iostat=err) -999
7347 CALL MUMPS_SETI8TOI4(
7348 & TOTAL_FILE_SIZE-size_written
7351 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7352 & id%COMM, id%MYID )
7353.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7354 write(unit,iostat=err) -999
7358 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7361 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7362 & id%COMM, id%MYID )
7363.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7364.EQ.
elseif(trim(mode)"restore
") then
7365 nullify(id%root%IPIV)
7366 read(unit,iostat=err) size_array1
7369 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7372 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7373 & id%COMM, id%MYID )
7374.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7375.EQ.
if(size_array1-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.GT.
if (allocok 0) THEN
7385 CALL MUMPS_SETI8TOI4(
7386 & TOTAL_STRUC_SIZE-size_allocated
7389 read(unit,iostat=err) id%root%IPIV
7391 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7392 & id%COMM, id%MYID )
7393.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7396 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7399 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7400 & id%COMM, id%MYID )
7401.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7403 CASE("rhs_cntr_master_root
")
7404 NbRecords_ROOT(i2)=2
7405.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"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)
7421 CALL MUMPS_SETI8TOI4(
7422 & TOTAL_FILE_SIZE-size_written
7425 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7426 & id%COMM, id%MYID )
7427.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7428 write(unit,iostat=err) id%root%RHS_CNTR_MASTER_ROOT
7430 write(unit,iostat=err) -999
7433 CALL MUMPS_SETI8TOI4(
7434 & TOTAL_FILE_SIZE-size_written
7437 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7438 & id%COMM, id%MYID )
7439.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7440 write(unit,iostat=err) -999
7444 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7447 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7448 & id%COMM, id%MYID )
7449.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7450.EQ.
elseif(trim(mode)"restore
") then
7451 nullify(id%root%RHS_CNTR_MASTER_ROOT)
7452 read(unit,iostat=err) size_array1
7455 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7458 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7459 & id%COMM, id%MYID )
7460.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7461.EQ.
if(size_array1-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.GT.
if (allocok 0) THEN
7472 CALL MUMPS_SETI8TOI4(
7473 & TOTAL_STRUC_SIZE-size_allocated
7476 read(unit,iostat=err) id%root%RHS_CNTR_MASTER_ROOT
7478 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7479 & id%COMM, id%MYID )
7480.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7483 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7486 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7487 & id%COMM, id%MYID )
7488.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7490 CASE("schur_pointer
")
7493 NbRecords_ROOT(i2)=2
7494.EQ.
if(trim(mode)"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.EQ.
elseif(trim(mode)"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)
7509 CALL MUMPS_SETI8TOI4(
7510 & TOTAL_FILE_SIZE-size_written
7513 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7514 & id%COMM, id%MYID )
7515.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7516 write(unit,iostat=err) id%root%RHS_ROOT
7518 write(unit,iostat=err) -999,-998
7521 CALL MUMPS_SETI8TOI4(
7522 & TOTAL_FILE_SIZE-size_written
7525 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7526 & id%COMM, id%MYID )
7527.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7528 write(unit,iostat=err) -999
7532 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7535 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7536 & id%COMM, id%MYID )
7537.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7538.EQ.
elseif(trim(mode)"restore
") then
7539 nullify(id%root%RHS_ROOT)
7540 read(unit,iostat=err) size_array1,size_array2
7543 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7546 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7547 & id%COMM, id%MYID )
7548.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7549.EQ.
if(size_array1-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.GT.
if (allocok 0) THEN
7561 CALL MUMPS_SETI8TOI4(
7562 & TOTAL_STRUC_SIZE-size_allocated
7565 read(unit,iostat=err) id%root%RHS_ROOT
7567 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7568 & id%COMM, id%MYID )
7569.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7572 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7575 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7576 & id%COMM, id%MYID )
7577.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7580 NbRecords_ROOT(i2)=1
7581.EQ.
if(trim(mode)"memory_save
") then
7582 SIZE_VARIABLES_ROOT(i2)=SIZE_RL_OR_DBL
7583.EQ.
elseif(trim(mode)"save") then
7584 write(unit,iostat=err) id%root%QR_RCOND
7587 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7590 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7591 & id%COMM, id%MYID )
7592.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7593.EQ.
elseif(trim(mode)"restore
") then
7594 SIZE_VARIABLES_ROOT(i2)=SIZE_RL_OR_DBL
7595 read(unit,iostat=err) id%root%QR_RCOND
7598 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7601 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7602 & id%COMM, id%MYID )
7603.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7606 NbRecords_ROOT(i2)=1
7607.EQ.
if(trim(mode)"memory_save
") then
7608 SIZE_VARIABLES_ROOT(i2)=SIZE_LOGICAL
7609.EQ.
elseif(trim(mode)"save") then
7610 write(unit,iostat=err) id%root%yes
7613 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7616 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7617 & id%COMM, id%MYID )
7618.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7619.EQ.
elseif(trim(mode)"restore
") then
7620 SIZE_VARIABLES_ROOT(i2)=SIZE_LOGICAL
7621 read(unit,iostat=err) id%root%yes
7624 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7627 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7628 & id%COMM, id%MYID )
7629.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7631 CASE("gridinit_done
")
7632 NbRecords_ROOT(i2)=1
7633.EQ.
if(trim(mode)"memory_save
") then
7634 SIZE_VARIABLES_ROOT(i2)=SIZE_LOGICAL
7635.EQ.
elseif(trim(mode)"save") then
7636 write(unit,iostat=err) id%root%gridinit_done
7639 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7642 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7643 & id%COMM, id%MYID )
7644.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7645.EQ.
elseif(trim(mode)"restore
") then
7646 SIZE_VARIABLES_ROOT(i2)=SIZE_LOGICAL
7647 read(unit,iostat=err) id%root%gridinit_done
7650 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7653 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7654 & id%COMM, id%MYID )
7655.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7659 CASE("singular_values
")
7660 CASE("nb_singular_values
")
7661 NbRecords_ROOT(i2)=1
7662.EQ.
if(trim(mode)"memory_save
") then
7663 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7664.EQ.
elseif(trim(mode)"save") then
7665 write(unit,iostat=err) id%root%NB_SINGULAR_VALUES
7668 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7671 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7672 & id%COMM, id%MYID )
7673.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7674.EQ.
elseif(trim(mode)"restore
") then
7675 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7676 read(unit,iostat=err) id%root%NB_SINGULAR_VALUES
7679 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2)
7682 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7683 & id%COMM, id%MYID )
7684.LT.
IF ( id%INFO(1) 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
"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
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
7963 if(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
7988 CALL smumps_save_restore_l0facarray(id%L0_OMP_FACTORS
7990 & ,size_gest_l0fac,size_variables_l0fac
7991 & ,size_int, size_int8
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
8041 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8044 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8045 & id%COMM, id%MYID )
8046.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8048 CASE("l_phys_l0_omp
")
8050.EQ.
if(trim(mode)"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 if(trim(mode).EQ.
"memory_save")
then
8077 size_variables(i1)=size_int
8078 elseif(trim(mode).EQ.
"save")
then
8079 write(unit,iostat=err) id%L_VIRT_L0_OMP
8086 & id%COMM, id%MYID )
8087 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8088 elseif(trim(mode).EQ.
"restore")
then
8089 size_variables(i1)=size_int
8090 read(unit,iostat=err) id%L_VIRT_L0_OMP
8097 & id%COMM, id%MYID )
8098 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8100 CASE(
"LL0_OMP_MAPPING")
8102 if(trim(mode).EQ.
"memory_save")
then
8103 size_variables(i1)=size_int
8104 elseif(trim(mode).EQ.
"save")
then
8105 write(unit,iostat=err) id%LL0_OMP_MAPPING
8112 & id%COMM, id%MYID )
8113 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8114 elseif(trim(mode).EQ.
"restore")
then
8115 size_variables(i1)=size_int
8116 read(unit,iostat=err) id%LL0_OMP_MAPPING
8123 & id%COMM, id%MYID )
8124 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8126 CASE(
"LL0_OMP_FACTORS")
8128 if(trim(mode).EQ.
"memory_save")
then
8129 size_variables(i1)=size_int
8130 elseif(trim(mode).EQ.
"save")
then
8131 write(unit,iostat=err) id%LL0_OMP_FACTORS
8138 & id%COMM, id%MYID )
8139 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8140 elseif(trim(mode).EQ.
"restore")
then
8141 size_variables(i1)=size_int
8142 read(unit,iostat=err) id%LL0_OMP_FACTORS
8149 & id%COMM, id%MYID )
8150 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8154 if(trim(mode).EQ.
"memory_save")
then
8155 size_variables(i1)=size_int8
8156 elseif(trim(mode).EQ.
"save")
then
8157 write(unit,iostat=err) id%THREAD_LA
8164 & id%COMM, id%MYID )
8165 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8166 elseif(trim(mode).EQ.
"restore")
then
8167 size_variables(i1)=size_int8
8168 read(unit,iostat=err) id%THREAD_LA
8175 & id%COMM, id%MYID )
8176 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8178 CASE(
"IPOOL_A_L0_OMP")
8180 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ."
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 elseif(trim(mode).EQ.
"save")
then
8683 IF(
associated(id%PTR_LEAFS_L0_OMP))
THEN
8684 write(unit,iostat=err)
size(id%PTR_LEAFS_L0_OMP,1)
8691 & id%COMM, id%MYID )
8692 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8693 write(unit,iostat=err) id%PTR_LEAFS_L0_OMP
8695 write(unit,iostat=err) -999
8702 & id%COMM, id%MYID )
8703 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8704 write(unit,iostat=err) -999
8712 & id%COMM, id%MYID )
8713 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8714 elseif(trim(mode).EQ.
"restore")
then
8715 nullify(id%PTR_LEAFS_L0_OMP)
8716 read(unit,iostat=err) size_array1
8723 & id%COMM, id%MYID )
8724 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8725 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
8737 & total_struc_size-size_allocated
8740 read(unit,iostat=err) id%PTR_LEAFS_L0_OMP
8743 & id%COMM, id%MYID )
8744 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8751 & id%COMM, id%MYID )
8752 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8754 CASE(
"L0_OMP_MAPPING")
8756 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
8766 IF(
associated(id%L0_OMP_MAPPING))
THEN
8767 write(unit,iostat=err)
size(id%L0_OMP_MAPPING,1)
8774 & id%COMM, id%MYID )
8775 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8776 write(unit,iostat=err) id%L0_OMP_MAPPING
8778 write(unit,iostat=err) -999
8785 & id%COMM, id%MYID )
8786 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8787 write(unit,iostat=err) -999
8795 & id%COMM, id%MYID )
8796 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8797 elseif(trim(mode).EQ.
"restore")
then
8798 nullify(id%L0_OMP_MAPPING)
8799 read(unit,iostat=err) size_array1
8806 & id%COMM, id%MYID )
8807 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8808 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
8819 & total_struc_size-size_allocated
8822 read(unit,iostat=err) id%L0_OMP_MAPPING
8825 & id%COMM, id%MYID )
8826 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8833 & id%COMM, id%MYID )
8834 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8836 CASE(
"SINGULAR_VALUES")
8837 CASE(
"NB_SINGULAR_VALUES")
8839 if(trim(mode).EQ.
"memory_save")
then
8840 size_variables(i1)=size_int
8841 elseif(trim(mode).EQ.
"save")
then
8842 write(unit,iostat=err) id%NB_SINGULAR_VALUES
8849 & id%COMM, id%MYID )
8850 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8851 elseif(trim(mode).EQ.
"restore")
then
8852 size_variables(i1)=size_int
8853 read(unit,iostat=err) id%NB_SINGULAR_VALUES
8860 & id%COMM, id%MYID )
8861 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8863 CASE(
"ASSOCIATED_OOC_FILES")
8864 if(trim(mode).EQ.
"memory_save")
then
8865 diff_size_alloc_read(i1)=size_logical
8866 elseif(trim(mode).EQ.
"save")
then
8867 diff_size_alloc_read(i1)=size_logical
8868 elseif(trim(mode).EQ.
"restore")
then
8869 diff_size_alloc_read(i1)=size_logical
8873 if(trim(mode).EQ.
"memory_save")
then
8874 size_variables(i1)=len(id%SAVE_DIR)*size_character
8875 elseif(trim(mode).EQ.
"save")
then
8876 write(unit,iostat=err) id%SAVE_DIR
8883 & id%COMM, id%MYID )
8884 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8885 elseif(trim(mode).EQ.
"restore")
then
8886 size_variables(i1)=len(id%SAVE_DIR)*size_character
8887 read(unit,iostat=err) id%SAVE_DIR
8894 & id%COMM, id%MYID )
8895 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8899 if(trim(mode).EQ.
"memory_save")
then
8900 size_variables(i1)=len(id%SAVE_PREFIX)*size_character
8901 elseif(trim(mode).EQ.
"save")
then
8902 write(unit,iostat=err) id%SAVE_PREFIX
8909 & id%COMM, id%MYID )
8910 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8911 elseif(trim(mode).EQ.
"restore")
then
8912 size_variables(i1)=len(id%SAVE_PREFIX)*size_character
8913 read(unit,iostat=err) id%SAVE_PREFIX
8920 & id%COMM, id%MYID )
8921 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8923 CASE(
"MPITOOMP_PROCS_MAP")
8925 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
8935 IF(
associated(id%MPITOOMP_PROCS_MAP))
THEN
8936 write(unit,iostat=err)
size(id%MPITOOMP_PROCS_MAP,1)
8943 & id%COMM, id%MYID )
8944 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8945 write(unit,iostat=err) id%MPITOOMP_PROCS_MAP
8947 write(unit,iostat=err) -999
8954 & id%COMM, id%MYID )
8955 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8956 write(unit,iostat=err) -999
8964 & id%COMM, id%MYID )
8965 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8966 elseif(trim(mode).EQ.
"restore")
then
8967 nullify(id%MPITOOMP_PROCS_MAP)
8968 read(unit,iostat=err) size_array1
8975 & id%COMM, id%MYID )
8976 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8977 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
8989 & total_struc_size-size_allocated
8992 read(unit,iostat=err) id%MPITOOMP_PROCS_MAP
8995 & id%COMM, id%MYID )
8996 IF ( id%INFO(1) .LT. 0 )
GOTO 100
9003 & id%COMM, id%MYID )
9004 IF ( id%INFO(1) .LT. 0 )
GOTO 100
9006 CASE(
"METIS_OPTIONS")
9008 if(trim(mode).EQ.
"memory_save")
then
9009 size_variables(i1)=size_int*
size(id%METIS_OPTIONS,1)
9010 elseif(trim(mode).EQ.
"save")
then
9011 write(unit,iostat=err) id%METIS_OPTIONS
9018 & id%COMM, id%MYID )
9019 IF ( id%INFO(1) .LT. 0 )
GOTO 100
9020 elseif(trim(mode).EQ.
"restore")
then
9021 size_variables(i1)=size_int*
size(id%METIS_OPTIONS,1)
9022 read(unit,iostat=err) id%METIS_OPTIONS
9029 & id%COMM, id%MYID )
9030 IF ( id%INFO(1) .LT. 0 )
GOTO 100
9032 CASE(
"pad0",
"pad1",
"pad2",
"pad3",
"pad4",
"pad5",
"pad6",
"pad7",
9033 &
"pad11",
"pad111",
"pad12",
"pad13",
"pad14",
"pad15",
"pad16")
9036 if(trim(mode).EQ.
"memory_save")
then
9037 nbsubrecords=int(size_variables(i1)/huge(i4))
9038 IF(nbsubrecords.GT.0)
then
9039 nbrecords(i1)=nbrecords(i1)+nbsubrecords
9041 elseif(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"fake_restore")
then
9061 if(trim(mode).EQ.
"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 IF(
associated(id%OOC_FILE_NAME_LENGTH).AND.
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 elseif(trim(mode).EQ.
"save")
then
9089 elseif(trim(mode).EQ.
"restore")
then
9090 if(id%root%gridinit_done)
then
9091 id%root%CNTXT_BLACS = id%COMM_NODES
9093 & id%root%NPROW, id%root%NPCOL )
9094 id%root%gridinit_done = .true.
9096 elseif(trim(mode).EQ.
"fake_restore")
then
9097 elseif(trim(mode).EQ.
"restore_ooc")
then
9100 deallocate(variables