649 & ,NBVARIABLES,SIZE_VARIABLES,SIZE_GEST
650 & ,NBVARIABLES_ROOT,SIZE_VARIABLES_ROOT,SIZE_GEST_ROOT
651 & ,TOTAL_FILE_SIZE,TOTAL_STRUC_SIZE
652 & ,INFO1,INFO2,INFOG1,INFOG2)
656 INTEGER,
intent(in)::unit,NBVARIABLES,NBVARIABLES_ROOT
657 CHARACTER(len=*),
intent(in) :: mode
658 INTEGER(8),
dimension(NBVARIABLES)::SIZE_VARIABLES
659 INTEGER(8),
dimension(NBVARIABLES_ROOT)::SIZE_VARIABLES_ROOT
660 INTEGER,
dimension(NBVARIABLES)::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 if (allocok .GT. 0)
THEN
702 id%INFO(2) = nbvariables
706 IF ( id%INFO(1) .LT. 0 )
GOTO 100
707 variables(186)=
"ASSOCIATED_OOC_FILES"
708 variables(185)=
"pad16"
709 variables(184)=
"Deficiency"
710 variables(183)=
"NB_SINGULAR_VALUES"
711 variables(182)=
"SINGULAR_VALUES"
712 variables(181)=
"MPITOOMP_PROCS_MAP"
713 variables(180)=
"L0_OMP_MAPPING"
714 variables(179)=
"PTR_LEAFS_L0_OMP"
715 variables(178)=
"PERM_L0_OMP"
716 variables(177)=
"VIRT_L0_OMP_MAPPING"
717 variables(176)=
"VIRT_L0_OMP"
718 variables(175)=
"PHYS_L0_OMP"
719 variables(174)=
"IPOOL_A_L0_OMP"
720 variables(173)=
"IPOOL_B_L0_OMP"
721 variables(172)=
"I8_L0_OMP"
722 variables(171)=
"I4_L0_OMP"
723 variables(170)=
"THREAD_LA"
724 variables(169)=
"LL0_OMP_FACTORS"
725 variables(168)=
"LL0_OMP_MAPPING"
726 variables(167)=
"L_VIRT_L0_OMP"
727 variables(166)=
"L_PHYS_L0_OMP"
728 variables(165)=
"LPOOL_B_L0_OMP"
729 variables(164)=
"LPOOL_A_L0_OMP"
730 variables(163)=
"L0_OMP_FACTORS"
731 variables(162)=
"BLRARRAY_ENCODING"
732 variables
"FDM_F_ENCODING"
733 variables(160)=
"pad13"
734 variables(159)=
"NBGRP"
735 variables(158)=
"LRGROUPS"
736 variables(157)=
"root"
737 variables(156)=
"WORKING"
738 variables(155)=
"IPTR_WORKING"
739 variables(154)=
"pad14"
740 variables(153)=
"SUP_PROC"
741 variables(152)=
"PIVNUL_LIST"
742 variables(151)=
"OOC_FILE_NAMES"
743 variables(150)=
"OOC_FILE_NAME_LENGTH"
744 variables(149)=
"pad12"
745 variables(148)=
"OOC_NB_FILE_TYPE"
746 variables(147)=
"OOC_NB_FILES"
747 variables(146)=
"OOC_TOTAL_NB_NODES"
748 variables(145)=
"OOC_VADDR"
749 variables(144)=
"OOC_SIZE_OF_BLOCK"
750 variables(143)=
"OOC_INODE_SEQUENCE"
751 variables(142)=
"OOC_MAX_NB_NODES_FOR_ZONE"
752 variables(141)=
"INSTANCE_NUMBER"
753 variables(140)=
"CB_SON_SIZE"
754 variables(139)=
"DKEEP"
755 variables(138)=
"LWK_USER"
756 variables(137)=
"NBSA_LOCAL"
757 variables(136)=
"WK_USER"
758 variables(135)=
"CROIX_MANU"
759 variables(134)=
"SCHED_SBTR"
760 variables(133)=
"SCHED_GRP"
761 variables(132)=
"SCHED_DEP"
762 variables(131)=
"SBTR_ID"
763 variables(130)=
"DEPTH_FIRST_SEQ"
764 variables(129)=
"DEPTH_FIRST"
765 variables(128)=
"MY_NB_LEAF"
766 variables(127)=
"MY_FIRST_LEAF"
767 variables(126)=
"MY_ROOT_SBTR"
768 variables(125)=
"COST_TRAV"
769 variables(124)=
"MEM_SUBTREE"
770 variables(123)=
"RHSCOMP"
771 variables(122)=
"POSINRHSCOMP_COL"
772 variables(121)=
"pad11"
773 variables(120)=
"POSINRHSCOMP_COL_ALLOC"
774 variables(119)=
"POSINRHSCOMP_ROW"
775 variables(118)=
"MEM_DIST"
776 variables(117)=
"I_AM_CAND"
777 variables(116)=
"TAB_POS_IN_PERE"
778 variables(115)=
"FUTURE_NIV2"
779 variables(114)=
"ISTEP_TO_INIV2"
780 variables(113)=
"CANDIDATES"
781 variables(112)=
"ELTPROC"
782 variables(111)=
"LELTVAR"
783 variables(110)=
"NELT_loc"
784 variables(109)=
"DBLARR"
785 variables(108)=
"INTARR"
786 variables(107)=
"PROCNODE"
788 variables(105)=
"PTRFAC"
789 variables(104)=
"PTLUST_S"
790 variables(103)=
"Step2node"
791 variables(102)=
"PROCNODE_STEPS"
793 variables(100)=
"PTRAR"
794 variables(99)=
"FRTELT"
795 variables(98)=
"FRTPTR"
797 variables(96)=
"DAD_STEPS"
798 variables(95)=
"FRERE_STEPS"
799 variables(94)=
"ND_STEPS"
800 variables(93)=
"NE_STEPS"
806 variables(87)=
"ASS_IRECV"
807 variables(86)=
"NSLAVES"
808 variables(85)=
"NPROCS"
810 variables(83)=
"COMM_LOAD"
811 variables(82)=
"MYID_NODES"
812 variables(81)=
"COMM_NODES"
813 variables(80)=
"INST_Number"
814 variables(79)=
"MAX_SURF_MASTER"
815 variables(78)=
"KEEP8"
817 variables(76)=
"SAVE_PREFIX"
818 variables(75)=
"SAVE_DIR"
819 variables(74)=
"WRITE_PROBLEM"
820 variables(73)=
"OOC_PREFIX"
821 variables(72)=
"OOC_TMPDIR"
822 variables(71)=
"VERSION_NUMBER"
823 variables(70)=
"MAPPING"
824 variables(69)=
"LISTVAR_SCHUR"
825 variables(68)=
"SCHUR_CINTERFACE"
826 variables(67)=
"SCHUR"
827 variables(66)=
"SIZE_SCHUR"
828 variables(65)=
"SCHUR_LLD"
829 variables(64)=
"SCHUR_NLOC"
830 variables(63)=
"SCHUR_MLOC"
831 variables(62)=
"NBLOCK"
832 variables(61)=
"MBLOCK"
833 variables(60)=
"NPCOL"
834 variables(59)=
"NPROW"
835 variables(58)=
"UNS_PERM"
836 variables(57)=
"SYM_PERM"
837 variables(56)=
"METIS_OPTIONS"
838 variables(55)=
"RINFOG"
839 variables(54)=
"RINFO"
841 variables(52)=
"COST_SUBTREES"
842 variables(51)=
"INFOG"
844 variables(49)=
"ICNTL"
846 variables(47)=
"LSOL_loc"
847 variables(46)=
"LREDRHS"
848 variables(45)=
"LRHS_loc"
849 variables(44)=
"Nloc_RHS"
850 variables(43)=
"NZ_RHS"
853 variables(40)=
"IRHS_loc"
854 variables(39)=
"ISOL_loc"
855 variables(38)=
"IRHS_PTR"
856 variables(37)=
"IRHS_SPARSE"
857 variables(36)=
"RHS_loc"
858 variables(35)=
"SOL_loc"
859 variables(34)=
"RHS_SPARSE"
860 variables(33)=
"REDRHS"
862 variables(31)=
"BLKVAR"
863 variables(30)=
"BLKPTR"
866 variables(27)=
"PERM_IN"
868 variables(25)=
"A_ELT"
869 variables(24)=
"ELTVAR"
870 variables(23)=
"ELTPTR"
874 variables(19)=
"A_loc"
875 variables(18)=
"JCN_loc"
876 variables(17)=
"IRN_loc"
877 variables(16)=
"NNZ_loc"
879 variables(14)=
"NZ_loc"
881 variables(12)=
"ROWSCA"
882 variables(11)=
"COLSCA"
893 allocate(VARIABLES_ROOT(NBVARIABLES_ROOT), stat=allocok)
894.GT.
if (allocok 0) THEN
896 id%INFO(2) = NBVARIABLES_ROOT
898 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
900.LT.
IF ( id%INFO(1) 0 ) GOTO 100
901 VARIABLES_ROOT(35)="rootpad4
"
902 VARIABLES_ROOT(34)="nb_singular_values
"
903 VARIABLES_ROOT(33)="singular_values
"
904 VARIABLES_ROOT(32)="svd_vt
"
905 VARIABLES_ROOT(31)="svd_u
"
906 VARIABLES_ROOT(30)="gridinit_done
"
907 VARIABLES_ROOT(29)="yes
"
908 VARIABLES_ROOT(28)="rootpad3
"
909 VARIABLES_ROOT(27)="qr_rcond
"
910 VARIABLES_ROOT(26)="rootpad
"
911 VARIABLES_ROOT(25)="rhs_root
"
912 VARIABLES_ROOT(24)="rootpad2
"
913 VARIABLES_ROOT(23)="qr_tau
"
914 VARIABLES_ROOT(22)="schur_pointer
"
915 VARIABLES_ROOT(21)="rhs_cntr_master_root
"
916 VARIABLES_ROOT(20)="rootpad1
"
917 VARIABLES_ROOT(19)="ipiv
"
918 VARIABLES_ROOT(18)="rg2l_col
"
919 VARIABLES_ROOT(17)="rg2l_row
"
920 VARIABLES_ROOT(16)="rootpad0
"
921 VARIABLES_ROOT(15)="lpiv
"
922 VARIABLES_ROOT(14)="cntxt_blacs
"
923 VARIABLES_ROOT(13)="descriptor
"
924 VARIABLES_ROOT(12)="tot_root_size
"
925 VARIABLES_ROOT(11)="root_size
"
926 VARIABLES_ROOT(10)="rhs_nloc
"
927 VARIABLES_ROOT(9)="schur_lld
"
928 VARIABLES_ROOT(8)="schur_nloc
"
929 VARIABLES_ROOT(7)="schur_mloc
"
930 VARIABLES_ROOT(6)="mycol
"
931 VARIABLES_ROOT(5)="myrow
"
932 VARIABLES_ROOT(4)="npcol
"
933 VARIABLES_ROOT(3)="nprow
"
934 VARIABLES_ROOT(2)="nblock
"
935 VARIABLES_ROOT(1)="mblock
"
936 OOC_INDICES=(/147,148,150,151/)
937 SIZE_INT = id%KEEP(34)
938 SIZE_INT8 = id%KEEP(34)*id%KEEP(10)
939 SIZE_RL_OR_DBL = id%KEEP(16)
940 SIZE_ARITH_DEP = id%KEEP(35)
941 SIZE_DOUBLE_PRECISION = 8
944 size_written=int(0,kind=8)
948 size_read=int(0,kind=8)
949 size_allocated=int(0,kind=8)
950 DIFF_SIZE_ALLOC_READ(:)=0
951 DIFF_SIZE_ALLOC_READ_ROOT(:)=0
952 WRITTEN_STRUC_SIZE=int(0,kind=8)
954 SIZE_VARIABLES_BLR=0_8
956 SIZE_VARIABLES_FRONT_DATA=0_8
957 SIZE_GEST_FRONT_DATA=0
958 SIZE_VARIABLES_L0FAC=0
960.EQ.
if(trim(mode)"memory_save")
then
961 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)
1102#if !defined(MUMPS_F2003)
1103 size_written=size_written
1104 & +int(2*id%KEEP(34)*1,kind=8)
1106 write(unit,iostat=err) -999
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 (trim(mode).EQ.
"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(mode).EQ.
"restore").OR.
1204 & (trim(mode).EQ.
"restore_ooc"))
then
1205 nullify(id%OOC_NB_FILES)
1206 read(unit,iostat=err) size_array1
1213 & id%COMM, id%MYID )
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),
1336 if (allocok .GT. 0)
THEN
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
1405 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1408 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1409 & id%COMM, id%MYID )
1410.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1411.EQ.
if(size_array1-999) then
1412 SIZE_GEST(i1)=SIZE_INT*2
1413 SIZE_VARIABLES(i1)=0_8
1414 read(unit,iostat=err) dummy
1416 SIZE_GEST(i1)=SIZE_INT
1417 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
1418 allocate(id%OOC_FILE_NAME_LENGTH(size_array1),
1420.GT.
if (allocok 0) THEN
1422 CALL MUMPS_SETI8TOI4(
1423 & TOTAL_STRUC_SIZE-size_allocated
1426 read(unit,iostat=err) id%OOC_FILE_NAME_LENGTH
1428 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1429 & id%COMM, id%MYID )
1430.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1433 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1436 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1437 & id%COMM, id%MYID )
1438.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1443.EQ.
if(trim(mode)"restore_ooc
") then
1447 TMP_STRING1 = VARIABLES(i1)
1448 SELECT CASE(TMP_STRING1)
1450.EQ.
if(trim(mode)"memory_save
") then
1451 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1452.EQ.
elseif(trim(mode)"save") then
1453 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1454.EQ.
elseif(trim(mode)"restore
") then
1455 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1459.EQ.
if(trim(mode)"memory_save
") then
1460 SIZE_VARIABLES(i1)=SIZE_INT
1461.EQ.
elseif(trim(mode)"save") then
1462 write(unit,iostat=err) id%SYM
1465 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1468 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1469 & id%COMM, id%MYID )
1470.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1471.EQ.
elseif(trim(mode)"restore
") then
1472 SIZE_VARIABLES(i1)=SIZE_INT
1473 read(unit,iostat=err) id%SYM
1476 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read,
1479 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1480 & id%COMM, id%MYID )
1481.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1485.EQ.
if(trim(mode)"memory_save
") then
1486 SIZE_VARIABLES(i1)=SIZE_INT
1487.EQ.
elseif(trim(mode)"save") then
1488 write(unit,iostat=err) id%PAR
1491 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1494 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1495 & id%COMM, id%MYID )
1496.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1497.EQ.
elseif(trim(mode)"restore
") then
1498 SIZE_VARIABLES(i1)=SIZE_INT
1499 read(unit,iostat=err) id%PAR
1502 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1505 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1506 & id%COMM, id%MYID )
1507.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1510.EQ.
if(trim(mode)"memory_save
") then
1511 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1512.EQ.
elseif(trim(mode)"save") then
1513 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1514.EQ.
elseif(trim(mode)"restore
") then
1515 DIFF_SIZE_ALLOC_READ(i1)=SIZE_INT
1519.EQ.
if(trim(mode)"memory_save
") then
1520 SIZE_VARIABLES(i1)=SIZE_INT
1521.EQ.
elseif(trim(mode)"save") then
1522 write(unit,iostat=err) id%N
1525 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1528 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1529 & id%COMM, id%MYID )
1530.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1531.EQ.
elseif(trim(mode)"restore
") then
1532 SIZE_VARIABLES(i1)=SIZE_INT
1533 read(unit,iostat=err) id%N
1536 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1539 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1540 & id%COMM, id%MYID )
1541.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1545.EQ.
if(trim(mode)"memory_save
") then
1546 SIZE_VARIABLES(i1)=SIZE_INT*size(id%ICNTL,1)
1547.EQ.
elseif(trim(mode)"save") then
1548 write(unit,iostat=err) id%ICNTL
1551 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1554 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1555 & id%COMM, id%MYID )
1556.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1557.EQ.
elseif(trim(mode)"restore
") then
1558 SIZE_VARIABLES(i1)=SIZE_INT*size(id%ICNTL,1)
1559 read(unit,iostat=err) id%ICNTL
1562 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1565 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1566 & id%COMM, id%MYID )
1567.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1571.EQ.
if(trim(mode)"memory_save
") then
1572 SIZE_VARIABLES(i1)=SIZE_INT*size(id%INFO,1)
1573.EQ.
elseif(trim(mode)"save") then
1574 write(unit,iostat=err) INFO1,INFO2
1575 & ,id%INFO(3:size(id%INFO,1))
1578 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1581 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1582 & id%COMM, id%MYID )
1583.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1584.EQ.
elseif(trim(mode)"restore
") then
1585 SIZE_VARIABLES(i1)=SIZE_INT*size(id%INFO,1)
1586 read(unit,iostat=err) INFO1,INFO2
1587 & ,id%INFO(3:size(id%INFO,1))
1590 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1593 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1594 & id%COMM, id%MYID )
1595.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1599.EQ.
if(trim(mode)"memory_save
") then
1600 SIZE_VARIABLES(i1)=SIZE_INT*size(id%INFOG,1)
1601.EQ.
elseif(trim(mode)"save") then
1602 write(unit,iostat=err) INFOG1,INFOG2
1603 & ,id%INFOG(3:size(id%INFOG,1))
1606 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1609 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1610 & id%COMM, id%MYID )
1611.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1612.EQ.
elseif(trim(mode)"restore
") then
1613 SIZE_VARIABLES(i1)=SIZE_INT*size(id%INFOG,1)
1614 read(unit,iostat=err) INFOG1,INFOG2
1615 & ,id%INFOG(3:size(id%INFOG,1))
1618 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1621 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1622 & id%COMM, id%MYID )
1623.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1625 CASE("cost_subtrees
")
1627.EQ.
if(trim(mode)"memory_save
") then
1628 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL
1629.EQ.
elseif(trim(mode)"save") then
1630 write(unit,iostat=err) id%COST_SUBTREES
1633 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1636 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1637 & id%COMM, id%MYID )
1638.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1639.EQ.
elseif(trim(mode)"restore
") then
1640 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL
1641 read(unit,iostat=err) id%COST_SUBTREES
1644 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1647 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1648 & id%COMM, id%MYID )
1649.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1653.EQ.
if(trim(mode)"memory_save
") then
1654 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%CNTL,1)
1655.EQ.
elseif(trim(mode)"save") then
1656 write(unit,iostat=err) id%CNTL
1659 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1662 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1663 & id%COMM, id%MYID )
1664.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1665.EQ.
elseif(trim(mode)"restore
") then
1666 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%CNTL,1)
1667 read(unit,iostat=err) id%CNTL
1670 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1673 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1674 & id%COMM, id%MYID )
1675.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1679.EQ.
if(trim(mode)"memory_save
") then
1680 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%RINFO,1)
1681.EQ.
elseif(trim(mode)"save") then
1682 write(unit,iostat=err) id%RINFO
1685 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1688 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1689 & id%COMM, id%MYID )
1690.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1691.EQ.
elseif(trim(mode)"restore
") then
1692 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%RINFO,1)
1693 read(unit,iostat=err) id%RINFO
1696 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1699 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1700 & id%COMM, id%MYID )
1701.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1705.EQ.
if(trim(mode)"memory_save
") then
1706 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%RINFOG,1)
1707.EQ.
elseif(trim(mode)"save") then
1708 write(unit,iostat=err) id%RINFOG
1711 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1714 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1715 & id%COMM, id%MYID )
1716.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1717.EQ.
elseif(trim(mode)"restore
") then
1718 SIZE_VARIABLES(i1)=SIZE_RL_OR_DBL*size(id%RINFOG,1)
1719 read(unit,iostat=err) id%RINFOG
1722 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1725 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1726 & id%COMM, id%MYID )
1727.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1731.EQ.
if(trim(mode)"memory_save
") then
1732 SIZE_VARIABLES(i1)=SIZE_INT8*size(id%KEEP8,1)
1733.EQ.
elseif(trim(mode)"save") then
1734 write(unit,iostat=err) id%KEEP8
1737 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1740 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1741 & id%COMM, id%MYID )
1742.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1743.EQ.
elseif(trim(mode)"restore
") then
1744 SIZE_VARIABLES(i1)=SIZE_INT8*size(id%KEEP8,1)
1745 read(unit,iostat=err) id%KEEP8
1748 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
1751 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1752 & id%COMM, id%MYID )
1753.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1757.EQ.
if(trim(mode)"memory_save
") then
1758 SIZE_VARIABLES(i1)=SIZE_INT*size(id%KEEP,1)
1759.EQ.
elseif(trim(mode)"save") then
1760 write(unit,iostat=err) id%KEEP
1763 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
1766 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
1767 & id%COMM, id%MYID )
1768.LT.
IF ( id%INFO(1) 0 ) GOTO 100
1769.EQ.
elseif(trim(mode)"restore")
then
1770 size_variables(i1)=size_int*
size(id%KEEP,1)
1771 keep411_save = id%KEEP(411)
1772 read(unit,iostat=err) id%KEEP
1773 id%KEEP(411) = keep411_save
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
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
2169 & id%COMM, id%MYID )
2170 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2174 if(trim(mode).EQ.
"memory_save")
then
2175 size_variables(i1)=size_int
2176 elseif(trim(mode).EQ.
"save")
then
2177 write(unit,iostat=err) id%NRHS
2184 & id%COMM, id%MYID )
2185 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2186 elseif(trim(mode).EQ.
"restore")
then
2187 size_variables(i1)=size_int
2188 read(unit,iostat=err) id%NRHS
2195 & id%COMM, id%MYID )
2196 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2200.EQ.
if(trim(mode)"memory_save
") then
2201 SIZE_VARIABLES(i1)=SIZE_INT
2202.EQ.
elseif(trim(mode)"save") then
2203 write(unit,iostat=err) id%NZ_RHS
2206 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2209 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2210 & id%COMM, id%MYID )
2211.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2212.EQ.
elseif(trim(mode)"restore
") then
2213 SIZE_VARIABLES(i1)=SIZE_INT
2214 read(unit,iostat=err) id%NZ_RHS
2217 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2220 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2221 & id%COMM, id%MYID )
2222.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2228.EQ.
if(trim(mode)"memory_save
") then
2229 SIZE_VARIABLES(i1)=SIZE_INT
2230.EQ.
elseif(trim(mode)"save") then
2231 write(unit,iostat=err) id%LSOL_loc
2234 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2237 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2238 & id%COMM, id%MYID )
2239.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2240.EQ.
elseif(trim(mode)"restore
") then
2241 SIZE_VARIABLES(i1)=SIZE_INT
2242 read(unit,iostat=err) id%LSOL_loc
2245 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2248 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2249 & id%COMM, id%MYID )
2250.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2254.EQ.
if(trim(mode)"memory_save
") then
2255 SIZE_VARIABLES(i1)=SIZE_INT
2256.EQ.
elseif(trim(mode)"save") then
2257 write(unit,iostat=err) id%LREDRHS
2260 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2263 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2264 & id%COMM, id%MYID )
2265.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2266.EQ.
elseif(trim(mode)"restore
") then
2267 SIZE_VARIABLES(i1)=SIZE_INT
2268 read(unit,iostat=err) id%LREDRHS
2271 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2274 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2275 & id%COMM, id%MYID )
2276.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2280.EQ.
if(trim(mode)"memory_save
") then
2282 IF(associated(id%SYM_PERM)) THEN
2283 SIZE_GEST(i1)=SIZE_INT
2284 SIZE_VARIABLES(i1)=size(id%SYM_PERM,1)*SIZE_INT
2286 SIZE_GEST(i1)=SIZE_INT*2
2287 SIZE_VARIABLES(i1)=0_8
2289.EQ.
elseif(trim(mode)"save") then
2290 IF(associated(id%SYM_PERM)) THEN
2291 write(unit,iostat=err) size(id%SYM_PERM,1)
2294 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2297 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2298 & id%COMM, id%MYID )
2299.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2300 write(unit,iostat=err) id%SYM_PERM
2302 write(unit,iostat=err) -999
2305 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2308 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2309 & id%COMM, id%MYID )
2310.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2311 write(unit,iostat=err) -999
2315 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2318 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2319 & id%COMM, id%MYID )
2320.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2321.EQ.
elseif(trim(mode)"restore
") then
2322 nullify(id%SYM_PERM)
2323 read(unit,iostat=err) size_array1
2326 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2329 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2330 & id%COMM, id%MYID )
2331.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2332.EQ.
if(size_array1-999) then
2333 SIZE_GEST(i1)=SIZE_INT*2
2334 SIZE_VARIABLES(i1)=0_8
2335 read(unit,iostat=err) dummy
2337 SIZE_GEST(i1)=SIZE_INT
2338 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
2339 allocate(id%SYM_PERM(size_array1), stat=allocok)
2340.GT.
if (allocok 0) THEN
2342 CALL MUMPS_SETI8TOI4(
2343 & TOTAL_STRUC_SIZE-size_allocated
2346 read(unit,iostat=err) id%SYM_PERM
2348 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2349 & id%COMM, id%MYID )
2350.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2353 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2356 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2357 & id%COMM, id%MYID )
2358.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2362.EQ.
if(trim(mode)"memory_save
") then
2363 IF(associated(id%UNS_PERM)) THEN
2364 SIZE_GEST(i1)=SIZE_INT
2365 SIZE_VARIABLES(i1)=size(id%UNS_PERM,1)*SIZE_INT
2367 SIZE_GEST(i1)=SIZE_INT*2
2368 SIZE_VARIABLES(i1)=0_8
2370.EQ.
elseif(trim(mode)"save") then
2371 IF(associated(id%UNS_PERM)) THEN
2372 write(unit,iostat=err) size(id%UNS_PERM,1)
2375 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2378 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2379 & id%COMM, id%MYID )
2380.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2381 write(unit,iostat=err) id%UNS_PERM
2383 write(unit,iostat=err) -999
2386 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2389 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2390 & id%COMM, id%MYID )
2391.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2392 write(unit,iostat=err) -999
2396 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2399 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2400 & id%COMM, id%MYID )
2401.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2402.EQ.
elseif(trim(mode)"restore
") then
2403 nullify(id%UNS_PERM)
2404 read(unit,iostat=err) size_array1
2407 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2410 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2411 & id%COMM, id%MYID )
2412.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2413.EQ.
if(size_array1-999) then
2414 SIZE_GEST(i1)=SIZE_INT*2
2415 SIZE_VARIABLES(i1)=0_8
2416 read(unit,iostat=err) dummy
2418 SIZE_GEST(i1)=SIZE_INT
2419 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
2420 allocate(id%UNS_PERM(size_array1), stat=allocok)
2421.GT.
if (allocok 0) THEN
2423 CALL MUMPS_SETI8TOI4(
2424 & TOTAL_STRUC_SIZE-size_allocated
2427 read(unit,iostat=err) id%UNS_PERM
2429 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2430 & id%COMM, id%MYID )
2431.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2434 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2437 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2438 & id%COMM, id%MYID )
2439.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2443.EQ.
if(trim(mode)"memory_save
") then
2444 SIZE_VARIABLES(i1)=SIZE_INT
2445.EQ.
elseif(trim(mode)"save") then
2446 write(unit,iostat=err) id%NPROW
2449 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2452 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2453 & id%COMM, id%MYID )
2454.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2455.EQ.
elseif(trim(mode)"restore
") then
2456 SIZE_VARIABLES(i1)=SIZE_INT
2457 read(unit,iostat=err) id%NPROW
2460 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2463 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2464 & id%COMM, id%MYID )
2465.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2469.EQ.
if(trim(mode)"memory_save
") then
2470 SIZE_VARIABLES(i1)=SIZE_INT
2471.EQ.
elseif(trim(mode)"save") then
2472 write(unit,iostat=err) id%NPCOL
2475 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2478 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2479 & id%COMM, id%MYID )
2480.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2482.EQ.
elseif(trim(mode)"restore
") then
2483 SIZE_VARIABLES(i1)=SIZE_INT
2484 read(unit,iostat=err) id%NPCOL
2487 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2490 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2491 & id%COMM, id%MYID )
2492.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2496.EQ.
if(trim(mode)"memory_save
") then
2497 SIZE_VARIABLES(i1)=SIZE_INT
2498.EQ.
elseif(trim(mode)"save") then
2499 write(unit,iostat=err) id%MBLOCK
2502 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2505 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2506 & id%COMM, id%MYID )
2507.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2508.EQ.
elseif(trim(mode)"restore
") then
2509 SIZE_VARIABLES(i1)=SIZE_INT
2510 read(unit,iostat=err) id%MBLOCK
2513 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2516 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2517 & id%COMM, id%MYID )
2518.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2522.EQ.
if(trim(mode)"memory_save
") then
2523 SIZE_VARIABLES(i1)=SIZE_INT
2524.EQ.
elseif(trim(mode)"save") then
2525 write(unit,iostat=err) id%NBLOCK
2528 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2531 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2532 & id%COMM, id%MYID )
2533.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2534.EQ.
elseif(trim(mode)"restore
") then
2535 SIZE_VARIABLES(i1)=SIZE_INT
2536 read(unit,iostat=err) id%NBLOCK
2539 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2542 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2543 & id%COMM, id%MYID )
2544.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2548.EQ.
if(trim(mode)"memory_save
") then
2549 SIZE_VARIABLES(i1)=SIZE_INT
2550.EQ.
elseif(trim(mode)"save") then
2551 write(unit,iostat=err) id%SCHUR_MLOC
2554 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
2557 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2558 & id%COMM, id%MYID )
2559.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2560.EQ.
elseif(trim(mode)"restore
") then
2561 SIZE_VARIABLES(i1)=SIZE_INT
2562 read(unit,iostat=err) id%SCHUR_MLOC
2565 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
2568 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
2569 & id%COMM, id%MYID )
2570.LT.
IF ( id%INFO(1) 0 ) GOTO 100
2574 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
2621 & id%COMM, id%MYID )
2622 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2626 if(trim(mode).EQ.
"memory_save")
then
2627 size_variables(i1)=size_int
2628 elseif(trim(mode).EQ.
"save")
then
2629 write(unit,iostat=err) id%SIZE_SCHUR
2636 & id%COMM, id%MYID )
2637 IF ( id%INFO(1) .LT. 0 )
GOTO 100
2639 elseif(trim(mode).EQ."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)
4190 & id%COMM, id%MYID )
4191 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4192 write(unit,iostat=err) id%PTLUST_S
4194 write(unit,iostat=err) -999
4201 & id%COMM, id%MYID )
4202 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4203 write(unit,iostat=err) -999
4211 & id%COMM, id%MYID )
4212 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4213 elseif(trim(mode).EQ.
"restore")
then
4214 nullify(id%PTLUST_S)
4215 read(unit,iostat=err) size_array1
4222 & id%COMM, id%MYID )
4223 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4224 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
4235 & total_struc_size-size_allocated
4238 read(unit,iostat=err) id%PTLUST_S
4241 & id%COMM, id%MYID )
4242 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4249 & id%COMM, id%MYID )
4250 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4254 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
4263 IF(
associated(id%PTRFAC))
THEN
4264 write(unit,iostat=err)
size(id%PTRFAC,1)
4271 & id%COMM, id%MYID )
4272 write(unit,iostat=err) id%PTRFAC
4274 write(unit,iostat=err) -999
4281 & id%COMM, id%MYID )
4282 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4283 write(unit,iostat=err) -999
4291 & id%COMM, id%MYID )
4292 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4293 elseif(trim(mode).EQ.
"restore")
then
4295 read(unit,iostat=err) size_array1
4302 & id%COMM, id%MYID )
4303 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4304 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
4315 & total_struc_size-size_allocated
4318 read(unit,iostat=err) id%PTRFAC
4321 & id%COMM, id%MYID )
4322 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4329 & id%COMM, id%MYID )
4330 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4334 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
4345 IF(
associated(id%S))
THEN
4346 write(unit,iostat=err) id%KEEP8(23),id%KEEP8(31)
4353 & id%COMM, id%MYID )
4354 IF ( id%INFO(1) .LT. 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)
4367 & id%COMM, id%MYID )
4368 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4369 write(unit,iostat=err) -999
4377 & id%COMM, id%MYID )
4378 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4379 elseif(trim(mode).EQ.
"restore")
then
4381 read(unit,iostat=err) size_array_int8_1,size_array_int8_2
4388 & id%COMM, id%MYID )
4389 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4390 if(size_array_int8_1.EQ.int(-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 if (allocok .GT. 0)
THEN
4404 & total_struc_size-size_allocated
4407 read(unit,iostat=err) id%S(1:size_array_int8_2)
4410 & id%COMM, id%MYID )
4411 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4418 & id%COMM, id%MYID )
4419 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4424 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
4433 IF(
associated(id%INTARR))
THEN
4434 write(unit,iostat=err) id%KEEP8(27)
4441 & id%COMM, id%MYID )
4442 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4443 write(unit,iostat=err) id%INTARR
4445 write(unit,iostat=err) int(-999,8)
4452 & id%COMM, id%MYID )
4453 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4454 write(unit,iostat=err) -999
4462 & id%COMM, id%MYID )
4463 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4464 elseif(trim(mode).EQ.
"restore")
then
4466 read(unit,iostat=err) size_array_int8_1
4473 & id%COMM, id%MYID )
4474 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4475 if(size_array_int8_1.EQ.int(-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 if (allocok .GT. 0)
THEN
4486 & total_struc_size-size_allocated
4489 read(unit,iostat=err) id%INTARR
4492 & id%COMM, id%MYID )
4493 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4500 & id%COMM, id%MYID )
4501 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4506 if(trim(mode).EQ.
"memory_save")
then
4507 size_variables(i1)=size_int
4508 elseif(trim(mode).EQ.
"save")
then
4509 write(unit,iostat=err) id%NELT_loc
4516 & id%COMM, id%MYID )
4517 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4518 elseif(trim(mode).EQ.
"restore")
then
4519 size_variables(i1)=size_int
4520 read(unit,iostat=err) id%NELT_loc
4527 & id%COMM, id%MYID )
4528 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4532 if(trim(mode).EQ.
"memory_save")
then
4533 size_variables(i1)=size_int
4534 elseif(trim(mode).EQ.
"save")
then
4535 write(unit,iostat=err) id%LELTVAR
4542 & id%COMM, id%MYID )
4543 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4544 elseif(trim(mode).EQ.
"restore")
then
4545 size_variables(i1)=size_int
4546 read(unit,iostat=err) id%LELTVAR
4553 & id%COMM, id%MYID )
4554 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4558 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
4567 IF(
associated(id%ELTPROC))
THEN
4568 write(unit,iostat=err)
size(id%ELTPROC,1)
4575 & id%COMM, id%MYID )
4576 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4577 write(unit,iostat=err) id%ELTPROC
4579 write(unit,iostat=err) -999
4586 & id%COMM, id%MYID )
4587 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4588 write(unit,iostat=err) -999
4596 & id%COMM, id%MYID )
4597 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4598 elseif(trim(mode).EQ.
"restore")
then
4600 read(unit,iostat=err) size_array1
4607 & id%COMM, id%MYID )
4608 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4609 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
4620 & total_struc_size-size_allocated
4623 read(unit,iostat=err) id%ELTPROC
4626 & id%COMM, id%MYID )
4627 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4634 & id%COMM, id%MYID )
4635 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4639 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"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)
4658 & id%COMM, id%MYID )
4659 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4660 write(unit,iostat=err) id%I4_L0_OMP
4662 write(unit,iostat=err) -999,-998
4669 & id%COMM, id%MYID )
4670 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4671 write(unit,iostat=err) -999
4679 & id%COMM, id%MYID )
4680 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4681 elseif(trim(mode).EQ.
"restore")
then
4682 nullify(id%I4_L0_OMP)
4683 read(unit,iostat=err) size_array1,size_array2
4690 & id%COMM, id%MYID )
4691 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4692 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
4704 & total_struc_size-size_allocated
4707 read(unit,iostat=err) id%I4_L0_OMP
4710 & id%COMM, id%MYID )
4711 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4718 & id%COMM, id%MYID )
4719 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4723 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"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)
4742 & id%COMM, id%MYID )
4743 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4744 write(unit,iostat=err
4746 write(unit,iostat=err) -999,-998
4753 & id%COMM, id%MYID )
4754 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4755 write(unit,iostat=err) -999
4763 & id%COMM, id%MYID )
4764 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4765 elseif(trim(mode).EQ.
"restore")
then
4766 nullify(id%I8_L0_OMP)
4767 read(unit,iostat=err) size_array1,size_array2
4774 & id%COMM, id%MYID )
4775 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4776 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
4788 & total_struc_size-size_allocated
4791 read(unit,iostat=err) id%I8_L0_OMP
4794 & id%COMM, id%MYID )
4795 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4802 & id%COMM, id%MYID )
4803 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4807 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
4817 IF(
associated(id%CANDIDATES))
THEN
4818 write(unit,iostat=err)
size(id%CANDIDATES,1)
4819 & ,
size(id%CANDIDATES,2)
4826 & id%COMM, id%MYID )
4827 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4828 write(unit,iostat=err) id%CANDIDATES
4830 write(unit,iostat=err) -999,-998
4837 & id%COMM, id%MYID )
4838 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4839 write(unit,iostat=err) -999
4847 & id%COMM, id%MYID )
4848 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4849 elseif(trim(mode).EQ.
"restore")
then
4850 nullify(id%CANDIDATES)
4851 read(unit,iostat=err) size_array1,size_array2
4858 & id%COMM, id%MYID )
4859 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4860 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
4872 & total_struc_size-size_allocated
4875 read(unit,iostat=err) id%CANDIDATES
4878 & id%COMM, id%MYID )
4879 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4886 & id%COMM, id%MYID )
4887 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4889 CASE(
"ISTEP_TO_INIV2")
4891 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
4900 IF(
associated(id%ISTEP_TO_INIV2))
THEN
4901 write(unit,iostat=err)
size(id%ISTEP_TO_INIV2,1)
4908 & id%COMM, id%MYID )
4909 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4910 write(unit,iostat=err) id%ISTEP_TO_INIV2
4912 write(unit,iostat=err) -999
4919 & id%COMM, id%MYID )
4920 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4921 write(unit,iostat=err) -999
4929 & id%COMM, id%MYID )
4930 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4931 elseif(trim(mode).EQ.
"restore")
then
4932 nullify(id%ISTEP_TO_INIV2)
4933 read(unit,iostat=err) size_array1
4940 & id%COMM, id%MYID )
4941 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4942 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
4953 & total_struc_size-size_allocated
4956 read(unit,iostat=err) id%ISTEP_TO_INIV2
4959 & id%COMM, id%MYID )
4960 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4967 & id%COMM, id%MYID )
4968 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4972 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
4981 IF(
associated(id%FUTURE_NIV2))
THEN
4982 write(unit,iostat=err)
size(id%FUTURE_NIV2,1)
4989 & id%COMM, id%MYID )
4990 IF ( id%INFO(1) .LT. 0 )
GOTO 100
4991 write(unit,iostat=err) id%FUTURE_NIV2
4993 write(unit,iostat=err) -999
5000 & id%COMM, id%MYID )
5001 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5002 write(unit,iostat=err) -999
5010 & id%COMM, id%MYID )
5011 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5012 elseif(trim(mode).EQ.
"restore")
then
5013 nullify(id%FUTURE_NIV2)
5014 read(unit,iostat=err) size_array1
5021 & id%COMM, id%MYID )
5022 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5023 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5034 & total_struc_size-size_allocated
5037 read(unit,iostat=err) id%FUTURE_NIV2
5040 & id%COMM, id%MYID )
5041 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5048 & id%COMM, id%MYID )
5049 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5051 CASE(
"TAB_POS_IN_PERE")
5053 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"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)
5072 & id%COMM, id%MYID )
5073 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5074 write(unit,iostat=err) id%TAB_POS_IN_PERE
5076 write(unit,iostat=err) -999,-998
5083 & id%COMM, id%MYID )
5084 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5085 write(unit,iostat=err) -999
5093 & id%COMM, id%MYID )
5094 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5095 elseif(trim(mode).EQ.
"restore")
then
5096 nullify(id%TAB_POS_IN_PERE)
5097 read(unit,iostat=err) size_array1,size_array2
5104 & id%COMM, id%MYID )
5105 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5106 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
5118 & total_struc_size-size_allocated
5121 read(unit,iostat=err) id%TAB_POS_IN_PERE
5124 & id%COMM, id%MYID )
5125 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5132 & id%COMM, id%MYID )
5133 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5137 if(trim(mode).EQ.
"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
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)
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).EQ.
"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 )
5466 IF ( id%INFO(1) .LT. 0 )
GOTO 100
5467 elseif(trim(mode).EQ.
"restore")
then
5468nullify(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
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
5851 IF(
associated(id%MY_FIRST_LEAF))
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 100
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) dummy
6060 size_gest(i1)=size_int
6061 size_variables(i1)=size_array1*size_int
6062 allocate(id%DEPTH_FIRST(size_array1), stat=allocok)
6063 if (allocok .GT. 0)
THEN
6066 & total_struc_size-size_allocated
6069 read(unit,iostat=err) id%DEPTH_FIRST
6072 & id%COMM, id%MYID )
6073 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6080 & id%COMM, id%MYID )
6081 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6083 CASE(
"DEPTH_FIRST_SEQ")
6085 if(trim(mode).EQ.
"memory_save")
then
6086 IF(
associated(id%DEPTH_FIRST_SEQ))
THEN
6087 size_gest(i1)=size_int
6088 size_variables(i1)=
size(id%DEPTH_FIRST_SEQ,1)*size_int
6090 size_gest(i1)=size_int*2
6091 size_variables(i1)=0_8
6093 elseif(trim(mode).EQ.
"save")
then
6094 IF(
associated(id%DEPTH_FIRST_SEQ))
THEN
6095 write(unit,iostat=err)
size(id%DEPTH_FIRST_SEQ,1)
6102 & id%COMM, id%MYID )
6103 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6104 write(unit,iostat=err) id%DEPTH_FIRST_SEQ
6106 write(unit,iostat=err) -999
6113 & id%COMM, id%MYID )
6114 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6115 write(unit,iostat=err) -999
6123 & id%COMM, id%MYID )
6124 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6125 elseif(trim(mode).EQ.
"restore")
then
6126 nullify(id%DEPTH_FIRST_SEQ)
6127 read(unit,iostat=err) size_array1
6134 & id%COMM, id%MYID )
6135 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6136 if(size_array1.EQ.-999)
then
6137 size_gest(i1)=size_int*2
6138 size_variables(i1)=0_8
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 if (allocok .GT. 0)
THEN
6148 & total_struc_size-size_allocated
6151 read(unit,iostat=err) id%DEPTH_FIRST_SEQ
6154 & id%COMM, id%MYID )
6155 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6162 & id%COMM, id%MYID )
6163 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6167 if(trim(mode).EQ.
"memory_save")
then
6168 IF(
associated(id%SBTR_ID))
THEN
6169 size_gest(i1)=size_int
6170 size_variables(i1)=
size(id%SBTR_ID,1)*size_int
6172 size_gest(i1)=size_int*2
6173 size_variables(i1)=0_8
6175 elseif(trim(mode).EQ.
"save")
then
6176 IF(
associated(id%SBTR_ID))
THEN
6177 write(unit,iostat=err)
size(id%SBTR_ID,1)
6184 & id%COMM, id%MYID )
6185 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6186 write(unit,iostat=err) id%SBTR_ID
6188 write(unit,iostat=err) -999
6195 & id%COMM, id%MYID )
6196 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6197 write(unit,iostat=err) -999
6205 & id%COMM, id%MYID )
6206 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6207 elseif(trim(mode).EQ.
"restore")
then
6209 read(unit,iostat=err) size_array1
6216 & id%COMM, id%MYID )
6217 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6218 if(size_array1.EQ.-999)
then
6219 size_gest(i1)=size_int*2
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 if (allocok .GT. 0)
THEN
6229 & total_struc_size-size_allocated
6232 read(unit,iostat=err) id%SBTR_ID
6235 & id%COMM, id%MYID )
6236 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6243 & id%COMM, id%MYID )
6244 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6252 if(trim(mode).EQ.
"memory_save")
then
6253 size_variables(i1)=size_int
6254 elseif(trim(mode).EQ.
"save")
then
6255 write(unit,iostat=err) id%NBSA_LOCAL
6262 & id%COMM, id%MYID )
6263 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6264 elseif(trim(mode).EQ.
"restore")
then
6265 size_variables(i1)=size_int
6266 read(unit,iostat=err) id%NBSA_LOCAL
6273 & id%COMM, id%MYID )
6274 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6277 if(trim(mode).EQ.
"memory_save")
then
6278 diff_size_alloc_read(i1)=size_int
6279 elseif(trim(mode).EQ.
"save")
then
6280 diff_size_alloc_read(i1)=size_int
6281 elseif(trim(mode).EQ.
"restore")
then
6282 diff_size_alloc_read(i1)=size_int
6285 CASE(
"INSTANCE_NUMBER")
6287 if(trim(mode).EQ.
"memory_save")
then
6288 size_variables(i1)=size_int
6289 elseif(trim(mode).EQ.
"save")
then
6290 write(unit,iostat=err) id%INSTANCE_NUMBER
6297 & id%COMM, id%MYID )
6298 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6299 elseif(trim(mode).EQ.
"restore")
then
6300 size_variables(i1)=size_int
6301 read(unit,iostat=err) id%INSTANCE_NUMBER
6308 & id%COMM, id%MYID )
6309 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6311 CASE(
"OOC_MAX_NB_NODES_FOR_ZONE")
6313 if(trim(mode).EQ.
"memory_save")
then
6314 size_variables(i1)=size_int
6315 elseif(trim(mode).EQ.
"save")
then
6316 write(unit,iostat=err) id%OOC_MAX_NB_NODES_FOR_ZONE
6323 & id%COMM, id%MYID )
6324 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6325 elseif(trim(mode).EQ.
"restore")
then
6326 size_variables(i1)=size_int
6327 read(unit,iostat=err) id%OOC_MAX_NB_NODES_FOR_ZONE
6334 & id%COMM, id%MYID )
6335 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6337 CASE(
"OOC_INODE_SEQUENCE")
6339 if(trim(mode).EQ.
"memory_save")
then
6340 IF(
associated(id%OOC_INODE_SEQUENCE))
THEN
6341 size_gest(i1)=size_int*2
6342 size_variables(i1)=
size(id%OOC_INODE_SEQUENCE,1)
6343 & *
size(id%OOC_INODE_SEQUENCE,2)*size_int
6345 size_gest(i1)=size_int*3
6346 size_variables(i1)=0_8
6348 elseif(trim(mode).EQ.
"save")
then
6349 IF(
associated(id%OOC_INODE_SEQUENCE))
THEN
6350 write(unit,iostat=err)
size(id%OOC_INODE_SEQUENCE,1)
6351 & ,
size(id%OOC_INODE_SEQUENCE,2)
6358 & id%COMM, id%MYID )
6359 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6360 write(unit,iostat=err) id%OOC_INODE_SEQUENCE
6362 write(unit,iostat=err) -999,-998
6369 & id%COMM, id%MYID )
6370 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6371 write(unit,iostat=err) -999
6379 & id%COMM, id%MYID )
6380 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6381 elseif(trim(mode).EQ.
"restore")
then
6382 nullify(id%OOC_INODE_SEQUENCE)
6383 read(unit,iostat=err) size_array1,size_array2
6390 & id%COMM, id%MYID )
6391 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6392 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
6404 & total_struc_size-size_allocated
6407 read(unit,iostat=err) id%OOC_INODE_SEQUENCE
6410 & id%COMM, id%MYID )
6411 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6418 & id%COMM, id%MYID )
6419 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6421 CASE(
"OOC_SIZE_OF_BLOCK")
6423 if(trim(mode).EQ.
"memory_save")
then
6424 IF(
associated(id%OOC_SIZE_OF_BLOCK))
THEN
6425 size_gest(i1)=size_int*2
6426 size_variables(i1)=
size(id%OOC_SIZE_OF_BLOCK,1)
6427 & *
size(id%OOC_SIZE_OF_BLOCK,2)*size_int8
6429 size_gest(i1)=size_int*3
6430 size_variables(i1)=0_8
6432 elseif(trim(mode).EQ.
"save")
then
6433 IF(
associated(id%OOC_SIZE_OF_BLOCK))
THEN
6434 write(unit,iostat=err)
size(id%OOC_SIZE_OF_BLOCK,1)
6435 & ,
size(id%OOC_SIZE_OF_BLOCK,2)
6442 & id%COMM, id%MYID )
6443 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6444 write(unit,iostat=err) id%OOC_SIZE_OF_BLOCK
6446 write(unit,iostat=err) -999,-998
6453 & id%COMM, id%MYID )
6454 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6455 write(unit,iostat=err) -999
6463 & id%COMM, id%MYID )
6464 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6465 elseif(trim(mode).EQ.
"restore")
then
6466 nullify(id%OOC_SIZE_OF_BLOCK)
6467 read(unit,iostat=err) size_array1,size_array2
6474 & id%COMM, id%MYID )
6475 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6476 if(size_array1.EQ.-999)
then
6477 size_gest(i1)=size_int*3
6478 size_variables(i1)=0_8
6479 read(unit,iostat=err) dummy
6481 size_gest(i1)=size_int*2
6482 size_variables(i1)=size_array1*size_array2*size_int8
6483 allocate(id%OOC_SIZE_OF_BLOCK(size_array1
6484 & ,size_array2), stat=allocok)
6485 if (allocok .GT. 0)
THEN
6488 & total_struc_size-size_allocated
6491 read(unit,iostat=err) id%OOC_SIZE_OF_BLOCK
6494 & id%COMM, id%MYID )
6495 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6502 & id%COMM, id%MYID )
6503 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6507 if(trim(mode).EQ.
"memory_save")
then
6508 IF(
associated(id%OOC_VADDR))
THEN
6509 size_gest(i1)=size_int*2
6510 size_variables(i1)=
size(id%OOC_VADDR,1)
6511 & *
size(id%OOC_VADDR,2)*size_int8
6513 size_gest(i1)=size_int*3
6514 size_variables(i1)=0_8
6516 elseif(trim(mode).EQ.
"save")
then
6517 IF(
associated(id%OOC_VADDR))
THEN
6518 write(unit,iostat=err)
size(id%OOC_VADDR,1)
6519 & ,
size(id%OOC_VADDR,2)
6526 & id%COMM, id%MYID )
6527 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6528 write(unit,iostat=err) id%OOC_VADDR
6530 write(unit,iostat=err) -999,-998
6537 & id%COMM, id%MYID )
6538 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6539 write(unit,iostat=err) -999
6547 & id%COMM, id%MYID )
6548 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6549 elseif(trim(mode).EQ.
"restore")
then
6550 nullify(id%OOC_VADDR)
6551 read(unit,iostat=err) size_array1,size_array2
6558 & id%COMM, id%MYID )
6559 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6560 if(size_array1.EQ.-999)
then
6561 size_gest(i1)=size_int*3
6562 size_variables(i1)=0_8
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 if (allocok .GT. 0)
THEN
6572 & total_struc_size-size_allocated
6575 read(unit,iostat=err) id%OOC_VADDR
6578 & id%COMM, id%MYID )
6579 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6586 & id%COMM, id%MYID )
6587 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6589 CASE(
"OOC_TOTAL_NB_NODES")
6591 if(trim(mode).EQ.
"memory_save")
then
6592 IF(
associated(id%OOC_TOTAL_NB_NODES))
THEN
6593 size_gest(i1)=size_int
6595 &
size(id%OOC_TOTAL_NB_NODES,1)*size_int
6597 size_gest(i1)=size_int*2
6598 size_variables(i1)=0_8
6600 elseif(trim(mode).EQ.
"save")
then
6601 IF(
associated(id%OOC_TOTAL_NB_NODES))
THEN
6602 write(unit,iostat=err)
size(id%OOC_TOTAL_NB_NODES,1)
6609 & id%COMM, id%MYID )
6610 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6611 write(unit,iostat=err) id%OOC_TOTAL_NB_NODES
6613 write(unit,iostat=err) -999
6620 & id%COMM, id%MYID )
6621 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6622 write(unit,iostat=err) -999
6630 & id%COMM, id%MYID )
6631 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6632 elseif(trim(mode).EQ.
"restore")
then
6633 nullify(id%OOC_TOTAL_NB_NODES)
6634 read(unit,iostat=err) size_array1
6641 & id%COMM, id%MYID )
6642 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6643 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
6655 & total_struc_size-size_allocated
6658 read(unit,iostat=err) id%OOC_TOTAL_NB_NODES
6661 & id%COMM, id%MYID )
6662 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6669 & id%COMM, id%MYID )
6670 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6672 CASE(
"OOC_NB_FILES")
6673 CASE(
"OOC_NB_FILE_TYPE")
6674 CASE(
"OOC_FILE_NAMES")
6675 CASE(
"OOC_FILE_NAME_LENGTH")
6678 if(trim(mode).EQ.
"memory_save")
then
6679 IF(
associated(id%PIVNUL_LIST))
THEN
6680 size_gest(i1)=size_int
6681 size_variables(i1)=
size(id%PIVNUL_LIST,1)*size_int
6683 size_gest(i1)=size_int*2
6684 size_variables(i1)=0_8
6686 elseif(trim(mode).EQ.
"save")
then
6687 IF(
associated(id%PIVNUL_LIST))
THEN
6688 write(unit,iostat=err)
size(id%PIVNUL_LIST,1)
6695 & id%COMM, id%MYID )
6696 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6697 write(unit,iostat=err) id%PIVNUL_LIST
6699 write(unit,iostat=err) -999
6706 & id%COMM, id%MYID )
6707 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6708 write(unit,iostat=err) -999
6716 & id%COMM, id%MYID )
6717 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6718 elseif(trim(mode).EQ.
"restore")
then
6719 nullify(id%PIVNUL_LIST)
6720 read(unit,iostat=err) size_array1
6727 & id%COMM, id%MYID )
6728 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6729 if(size_array1.EQ.-999)
then
6730 size_gest(i1)=size_int*2
6731 size_variables(i1)=0_8
6732 read(unit,iostat=err) dummy
6734 size_gest(i1)=size_int
6735 size_variables(i1)=size_array1*size_int
6736 allocate(id%PIVNUL_LIST(size_array1), stat=allocok)
6737 if (allocok .GT. 0)
THEN
6740 & total_struc_size-size_allocated
6743 read(unit,iostat=err) id%PIVNUL_LIST
6746 & id%COMM, id%MYID )
6747 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6754 & id%COMM, id%MYID )
6755 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6758 CASE(
"IPTR_WORKING")
6760 if(trim(mode).EQ.
"memory_save")
then
6761 IF(
associated(id%IPTR_WORKING))
THEN
6762 size_gest(i1)=size_int
6763 size_variables(i1)=
size(id%IPTR_WORKING,1)*size_int
6765 size_gest(i1)=size_int*2
6766 size_variables(i1)=0_8
6768 elseif(trim(mode).EQ.
"save")
then
6769 IF(
associated(id%IPTR_WORKING))
THEN
6770 write(unit,iostat=err)
size(id%IPTR_WORKING,1)
6777 & id%COMM, id%MYID )
6778 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6779 write(unit,iostat=err) id%IPTR_WORKING
6781 write(unit,iostat=err) -999
6788 & id%COMM, id%MYID )
6789 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6790 write(unit,iostat=err) -999
6798 & id%COMM, id%MYID )
6799 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6800 elseif(trim(mode).EQ.
"restore")
then
6801 nullify(id%IPTR_WORKING)
6802 read(unit,iostat=err) size_array1
6809 & id%COMM, id%MYID )
6810 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6811 if(size_array1.EQ.-999)
then
6812 size_gest(i1)=size_int*2
6813 size_variables(i1)=0_8
6814 read(unit,iostat=err) dummy
6816 size_gest(i1)=size_int
6817 size_variables(i1)=size_array1*size_int
6818 allocate(id%IPTR_WORKING(size_array1), stat=allocok)
6819 if (allocok .GT. 0)
THEN
6822 & total_struc_size-size_allocated
6825 read(unit,iostat=err) id%IPTR_WORKING
6828 & id%COMM, id%MYID )
6829 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6836 & id%COMM, id%MYID )
6837 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6841 if(trim(mode).EQ.
"memory_save")
then
6842 IF(
associated(id%WORKING))
THEN
6843 size_gest(i1)=size_int
6844 size_variables(i1)=
size(id%WORKING,1)*size_int
6846 size_gest(i1)=size_int*2
6847 size_variables(i1)=0_8
6849 elseif(trim(mode).EQ.
"save")
then
6850 IF(
associated(id%WORKING))
THEN
6851 write(unit,iostat=err)
size(id%WORKING,1)
6858 & id%COMM, id%MYID )
6859 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6860 write(unit,iostat=err) id%WORKING
6862 write(unit,iostat=err) -999
6869 & id%COMM, id%MYID )
6870 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6871 write(unit,iostat=err) -999
6879 & id%COMM, id%MYID )
6880 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6881 elseif(trim(mode).EQ.
"restore")
then
6883 read(unit,iostat=err) size_array1
6890 & id%COMM, id%MYID )
6891 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6892 if(size_array1.EQ.-999)
then
6893 size_gest(i1)=size_int*2
6894 size_variables(i1)=0_8
6895 read(unit,iostat=err) dummy
6897 size_gest(i1)=size_int
6898 size_variables(i1)=size_array1*size_int
6899 allocate(id%WORKING(size_array1), stat=allocok)
6900 if (allocok .GT. 0)
THEN
6903 & total_struc_size-size_allocated
6906 read(unit,iostat=err) id%WORKING
6909 & id%COMM, id%MYID )
6910 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6917 & id%COMM, id%MYID )
6918 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6921 DO i2=1,nbvariables_root
6922 tmp_string2 = variables_root(i2)
6923 SELECT CASE(tmp_string2)
6925 nbrecords_root(i2)=1
6926 if(trim(mode).EQ.
"memory_save")
then
6927 size_variables_root(i2)=size_int
6928 elseif(trim(mode).EQ.
"save")
then
6929 write(unit,iostat=err) id%root%MBLOCK
6936 & id%COMM, id%MYID )
6937 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6938 elseif(trim(mode).EQ.
"restore")
then
6939 size_variables_root(i2)=size_int
6940 read(unit,iostat=err) id%root%MBLOCK
6947 & id%COMM, id%MYID )
6948 IF ( id%INFO(1) .LT. 0 )
GOTO 100
6951 nbrecords_root(i2)=1
6952 if(trim(mode).EQ.
"memory_save")
then
6953 size_variables_root(i2)=size_int
6954 elseif(trim(mode).EQ.
"save")
then
6955 write(unit,iostat=err) id%root%NBLOCK
6962 & id%COMM, id%MYID )
6963 IF ( id%INFO(1) .LT. 0 )
GOTO 100
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.EQ.
if(trim(mode)"memory_save
") then
7188 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7189.EQ.
elseif(trim(mode)"save") then
7190 write(unit,iostat=err) id%root%ROOT_SIZE
7193 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7196 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7197 & id%COMM, id%MYID )
7198.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7199.EQ.
elseif(trim(mode)"restore
") then
7200 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7201 read(unit,iostat=err) id%root%ROOT_SIZE
7204 CALL MUMPS_SETI8TOI4(SIZE_VARIABLES_ROOT(i2),
7207 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7208 & id%COMM, id%MYID )
7209.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7211 CASE("tot_root_size
")
7212 NbRecords_ROOT(i2)=1
7213.EQ.
if(trim(mode)"memory_save
") then
7214 SIZE_VARIABLES_ROOT(i2)=SIZE_INT
7215.EQ.
elseif(trim(mode)"save") then
7216 write(unit,iostat=err) id%root%TOT_ROOT_SIZE
7219 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written
7222 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
7223 & id%COMM, id%MYID )
7224.LT.
IF ( id%INFO(1) 0 ) GOTO 100
7225.EQ.
elseif(trim(mode)"restore")
then
7226 size_variables_root(i2)=size_int
7227 read(unit,iostat=err) id%root%TOT_ROOT_SIZE
7234 & id%COMM, id%MYID )
7235 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7238 nbrecords_root(i2)=1
7239 if(trim(mode).EQ.
"memory_save")
then
7240 size_variables_root(i2)=
size(id%root%DESCRIPTOR,1)
7242 elseif(trim(mode).EQ.
"save")
then
7243 write(unit,iostat=err) id%root%DESCRIPTOR
7250 & id%COMM, id%MYID )
7251 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7252 elseif(trim(mode).EQ.
"restore")
then
7253 size_variables_root(i2)=size_int*
7254 &
size(id%root%DESCRIPTOR,1)
7255 read(unit,iostat=err) id%root%DESCRIPTOR
7262 & id%COMM, id%MYID )
7263 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7266 nbrecords_root(i2)=1
7267 if(trim(mode).EQ.
"memory_save")
then
7268 size_variables_root(i2)=size_int
7269 elseif(trim(mode).EQ.
"save")
then
7270 write(unit,iostat=err) id%root%CNTXT_BLACS
7277 & id%COMM, id%MYID )
7278 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7279 elseif(trim(mode).EQ.
"restore")
then
7280 size_variables_root(i2)=size_int
7281 read(unit,iostat=err) id%root%CNTXT_BLACS
7288 & id%COMM, id%MYID )
7289 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7292 nbrecords_root(i2)=1
7293 if(trim(mode).EQ.
"memory_save")
then
7294 size_variables_root(i2)=size_int
7295 elseif(trim(mode).EQ.
"save")
then
7296 write(unit,iostat=err) id%root%LPIV
7303 & id%COMM, id%MYID )
7304 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7305 elseif(trim(mode).EQ.
"restore")
then
7306 size_variables_root(i2)=size_int
7307 read(unit,iostat=err) id%root%LPIV
7314 & id%COMM, id%MYID )
7315 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7320 nbrecords_root(i2)=2
7321 if(trim(mode).EQ.
"memory_save")
then
7322 IF(
associated(id%root%IPIV))
THEN
7323 size_gest_root(i2)=size_int
7324 size_variables_root(i2)=
7325 &
size(id%root%IPIV,1)*size_int
7327 size_gest_root(i2)=size_int*2
7328 size_variables_root(i2)=0_8
7330 elseif(trim(mode).EQ.
"save")
then
7331 IF(
associated(id%root%IPIV))
THEN
7332 write(unit,iostat=err)
size(id%root%IPIV,1)
7336 & total_file_size-size_written
7340 & id%COMM, id%MYID )
7341 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7342 write(unit,iostat=err) id%root%IPIV
7344 write(unit,iostat=err) -999
7348 & total_file_size-size_written
7352 & id%COMM, id%MYID )
7353 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7354 write(unit,iostat=err) -999
7362 & id%COMM, id%MYID )
7363 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7364 elseif(trim(mode).EQ.
"restore")
then
7365 nullify(id%root%IPIV)
7366 read(unit,iostat=err) size_array1
7373 & id%COMM, id%MYID )
7374 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7375 if(size_array1.EQ.-999)
then
7376 size_gest_root(i2)=size_int*2
7377 size_variables_root(i2)=0_8
7378 read(unit,iostat=err) dummy
7380 size_gest_root(i2)=size_int
7381 size_variables_root(i2)=size_array1*size_int
7382 allocate(id%root%IPIV(size_array1), stat=allocok)
7383 if (allocok .GT. 0)
THEN
7386 & total_struc_size-size_allocated
7389 read(unit,iostat=err) id%root%IPIV
7392 & id%COMM, id%MYID )
7393 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7400 & id%COMM, id%MYID )
7401 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7403 CASE(
"RHS_CNTR_MASTER_ROOT")
7404 nbrecords_root(i2)=2
7405 if(trim(mode).EQ.
"memory_save")
then
7406 IF(
associated(id%root%RHS_CNTR_MASTER_ROOT))
THEN
7407 size_gest_root(i2)=size_int
7408 size_variables_root(i2)=
7409 &
size(id%root%RHS_CNTR_MASTER_ROOT,1)
7412 size_gest_root(i2)=size_int*2
7413 size_variables_root(i2)=0_8
7415 elseif(trim(mode).EQ.
"save")
then
7416 IF(
associated(id%root%RHS_CNTR_MASTER_ROOT))
THEN
7417 write(unit,iostat=err)
7418 &
size(id%root%RHS_CNTR_MASTER_ROOT,1)
7422 & total_file_size-size_written
7426 & id%COMM, id%MYID )
7427 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7428 write(unit,iostat=err) id%root%RHS_CNTR_MASTER_ROOT
7430 write(unit,iostat=err) -999
7434 & total_file_size-size_written
7438 & id%COMM, id%MYID )
7439 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7440 write(unit,iostat=err) -999
7448 & id%COMM, id%MYID )
7449 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7450 elseif(trim(mode).EQ.
"restore")
then
7451 nullify(id%root%RHS_CNTR_MASTER_ROOT)
7452 read(unit,iostat=err) size_array1
7459 & id%COMM, id%MYID )
7460 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7461 if(size_array1.EQ.-999)
then
7462 size_gest_root(i2)=size_int*2
7463 size_variables_root(i2)=0_8
7464 read(unit,iostat=err) dummy
7466 size_gest_root(i2)=size_int
7467 size_variables_root(i2)=size_array1*size_arith_dep
7468 allocate(id%root%RHS_CNTR_MASTER_ROOT(size_array1),
7470 if (allocok .GT. 0)
THEN
7473 & total_struc_size-size_allocated
7476 read(unit,iostat=err) id%root%RHS_CNTR_MASTER_ROOT
7479 & id%COMM, id%MYID )
7480 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7487 & id%COMM, id%MYID )
7488 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7490 CASE(
"SCHUR_POINTER")
7493 nbrecords_root(i2)=2
7494 if(trim(mode).EQ.
"memory_save")
then
7495 IF(
associated(id%root%RHS_ROOT))
THEN
7496 size_gest_root(i2)=size_int*2
7497 size_variables_root(i2)=
size(id%root%RHS_ROOT,1)
7498 & *
size(id%root%RHS_ROOT,2)*size_arith_dep
7500 size_gest_root(i2)=size_int*3
7501 size_variables_root(i2)=0_8
7503 elseif(trim(mode).EQ.
"save")
then
7504 IF(
associated(id%root%RHS_ROOT))
THEN
7505 write(unit,iostat=err)
size(id%root%RHS_ROOT,1)
7506 & ,
size(id%root%RHS_ROOT,2)
7510 & total_file_size-size_written
7514 & id%COMM, id%MYID )
7515 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7516 write(unit,iostat=err) id%root%RHS_ROOT
7518 write(unit,iostat=err) -999,-998
7522 & total_file_size-size_written
7526 & id%COMM, id%MYID )
7527 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7528 write(unit,iostat=err) -999
7536 & id%COMM, id%MYID )
7537 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7538 elseif(trim(mode).EQ.
"restore")
then
7539 nullify(id%root%RHS_ROOT)
7540 read(unit,iostat=err) size_array1,size_array2
7547 & id%COMM, id%MYID )
7548 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7549 if(size_array1.EQ.-999)
then
7550 size_gest_root(i2)=size_int*3
7551 size_variables_root(i2)=0_8
7552 read(unit,iostat=err) dummy
7554 size_gest_root(i2)=size_int*2
7555 size_variables_root(i2)=size_array1*size_array2
7557 allocate(id%root%RHS_ROOT(size_array1,size_array2),
7559 if (allocok .GT. 0)
THEN
7562 & total_struc_size-size_allocated
7565 read(unit,iostat=err) id%root%RHS_ROOT
7568 & id%COMM, id%MYID )
7569 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7576 & id%COMM, id%MYID )
7577 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7580 nbrecords_root(i2)=1
7581 if(trim(mode).EQ.
"memory_save")
then
7582 size_variables_root(i2)=size_rl_or_dbl
7583 elseif(trim(mode).EQ.
"save")
then
7584 write(unit,iostat=err) id%root%QR_RCOND
7591 & id%COMM, id%MYID )
7592 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7593 elseif(trim(mode).EQ.
"restore")
then
7594 size_variables_root(i2)=size_rl_or_dbl
7595 read(unit,iostat=err) id%root%QR_RCOND
7602 & id%COMM, id%MYID )
7603 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7606 nbrecords_root(i2)=1
7607 if(trim(mode).EQ.
"memory_save")
then
7608 size_variables_root(i2)=size_logical
7609 elseif(trim(mode).EQ.
"save")
then
7610 write(unit,iostat=err) id%root%yes
7617 & id%COMM, id%MYID )
7618 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7619 elseif(trim(mode).EQ.
"restore")
then
7620 size_variables_root(i2)=size_logical
7621 read(unit,iostat=err) id%root%yes
7628 & id%COMM, id%MYID )
7629 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7631 CASE(
"gridinit_done")
7632 nbrecords_root(i2)=1
7633 if(trim(mode).EQ.
"memory_save")
then
7634 size_variables_root(i2)=size_logical
7635 elseif(trim(mode).EQ.
"save")
then
7636 write(unit,iostat=err) id%root%gridinit_done
7643 & id%COMM, id%MYID )
7644 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7645 elseif(trim(mode).EQ.
"restore")
then
7646 size_variables_root(i2)=size_logical
7647 read(unit,iostat=err) id%root%gridinit_done
7654 & id%COMM, id%MYID )
7655 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7659 CASE(
"SINGULAR_VALUES")
7660 CASE(
"NB_SINGULAR_VALUES")
7661 nbrecords_root(i2)=1
7662 if(trim(mode).EQ.
"memory_save")
then
7663 size_variables_root(i2)=size_int
7664 elseif(trim(mode).EQ.
"save")
then
7665 write(unit,iostat=err) id%root%NB_SINGULAR_VALUES
7672 & id%COMM, id%MYID )
7673 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7674 elseif(trim(mode).EQ.
"restore")
then
7675 size_variables_root(i2)=size_int
7676 read(unit,iostat=err) id%root%NB_SINGULAR_VALUES
7683 & id%COMM, id%MYID )
7684 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7686 CASE(
"rootpad0",
"rootpad1",
"rootpad2",
"rootpad",
7687 &
"rootpad3",
"rootpad4")
7690 if(trim(mode).EQ.
"memory_save")
then
7691 nbsubrecords=int(size_variables_root(i2)/huge(i4))
7692 IF(nbsubrecords.GT.0)
then
7693 nbrecords_root(i2)=nbrecords_root(i2)+nbsubrecords
7695 elseif(trim(mode).EQ.
"save")
then
7696 size_written=size_written+size_variables_root(i2)
7697 & +size_gest_root(i2)
7698#if !defined(MUMPS_F2003)
7699 size_written=size_written
7700 & +int(2*id%KEEP(34)*nbrecords_root(i2),kind=8)
7702 elseif(trim(mode).EQ.
"restore")
then
7703 size_allocated=size_allocated+size_variables_root(i2)+
7704 & diff_size_alloc_read_root(i2)
7705 size_read=size_read+size_variables_root(i2)
7706 & +int(size_gest_root(i2),kind=8)
7707#if !defined(MUMPS_F2003)
7709 & +int(2*id%KEEP(34)*nbrecords_root(i2),kind=8)
7711 elseif(trim(mode).EQ.
"fake_restore")
then
7716 if(trim(mode).EQ.
"memory_save")
then
7717 size_variables(i1)=size_int
7718 elseif(trim(mode).EQ.
"save")
then
7719 write(unit,iostat=err) id%NBGRP
7726 & id%COMM, id%MYID )
7727 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7728 elseif(trim(mode).EQ.
"restore")
then
7729 size_variables(i1)=size_int
7730 read(unit,iostat=err) id%NBGRP
7737 & id%COMM, id%MYID )
7738 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7742 if(trim(mode).EQ.
"memory_save")
then
7743 IF(
associated(id%LRGROUPS))
THEN
7744 size_gest(i1)=size_int
7745 size_variables(i1)=
size(id%LRGROUPS,1)*size_int
7747 size_gest(i1)=size_int*2
7748 size_variables(i1)=0_8
7750 elseif(trim(mode).EQ.
"save")
then
7751 IF(
associated(id%LRGROUPS))
THEN
7752 write(unit,iostat=err)
size(id%LRGROUPS,1)
7759 & id%COMM, id%MYID )
7760 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7761 write(unit,iostat=err) id%LRGROUPS
7763 write(unit,iostat=err) -999
7770 & id%COMM, id%MYID )
7771 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7772 write(unit,iostat=err) -999
7780 & id%COMM, id%MYID )
7781 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7782 elseif(trim(mode).EQ.
"restore")
then
7783 nullify(id%LRGROUPS)
7784 read(unit,iostat=err) size_array1
7791 & id%COMM, id%MYID )
7792 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7793 if(size_array1.EQ.-999)
then
7794 size_gest(i1)=size_int*2
7795 size_variables(i1)=0_8
7796 read(unit,iostat=err) dummy
7798 size_gest(i1)=size_int
7799 size_variables(i1)=size_array1*size_int
7800 allocate(id%LRGROUPS(size_array1), stat=allocok)
7801 if (allocok .GT. 0)
THEN
7804 & total_struc_size-size_allocated
7807 read(unit,iostat=err) id%LRGROUPS
7810 & id%COMM, id%MYID )
7811 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7818 & id%COMM, id%MYID )
7819 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7821 CASE(
"FDM_F_ENCODING")
7823 size_gest(i1)=size_int
7824 size_variables(i1)=0_8
7825 if(trim(mode).EQ.
"memory_save")
then
7826 IF(
associated(id%FDM_F_ENCODING))
THEN
7828 & ,unit,id%MYID,
"memory_save"
7829 & ,size_gest_front_data,size_variables_front_data
7830 & ,size_int,total_file_size,total_struc_size
7831 & ,size_read,size_allocated,size_written
7834 elseif(trim(mode).EQ.
"save")
then
7835 IF(
associated(id%FDM_F_ENCODING))
THEN
7836 write(unit,iostat=err)
size(id%FDM_F_ENCODING,1)
7843 & id%COMM, id%MYID )
7844 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7846 & ,unit,id%MYID,
"save"
7847 & ,size_gest_front_data,size_variables_front_data
7848 & ,size_int,total_file_size,total_struc_size
7849 & ,size_read,size_allocated,size_written
7852 write(unit,iostat=err) -999
7859 & id%COMM, id%MYID )
7860 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7868 & id%COMM, id%MYID )
7869 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7870 elseif(trim(mode).EQ.
"restore")
then
7871 nullify(id%FDM_F_ENCODING)
7872 read(unit,iostat=err) size_array1
7879 & id%COMM, id%MYID )
7880 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7881 if(size_array1.NE.-999)
then
7883 & ,unit,id%MYID,
"restore"
7884 & ,size_gest_front_data,size_variables_front_data
7885 & ,size_int,total_file_size,total_struc_size
7886 & ,size_read,size_allocated,size_written
7890 & id%COMM, id%MYID )
7891 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7898 & id%COMM, id%MYID )
7899 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7901 CASE(
"BLRARRAY_ENCODING")
7903 size_gest(i1)=size_int
7904 size_variables(i1)=0_8
7905 if(trim(mode).EQ.
"memory_save")
then
7906 IF(
associated(id%BLRARRAY_ENCODING))
THEN
7908 & ,unit,id%MYID,
"memory_save"
7909 & ,size_gest_blr,size_variables_blr
7910 & ,size_int, size_arith_dep, size_logical
7911 & ,total_file_size,total_struc_size
7912 & ,size_read,size_allocated,size_written
7915 elseif(trim(mode).EQ.
"save")
then
7916 IF(
associated(id%BLRARRAY_ENCODING))
THEN
7917 write(unit,iostat=err)
size(id%BLRARRAY_ENCODING,1)
7924 & id%COMM, id%MYID )
7925 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7927 & ,unit,id%MYID,
"save"
7928 & ,size_gest_blr,size_variables_blr
7929 & ,size_int, size_arith_dep, size_logical
7930 & ,total_file_size,total_struc_size
7931 & ,size_read,size_allocated,size_written
7934 write(unit,iostat=err) -999
7941 & id%COMM, id%MYID )
7942 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7950 & id%COMM, id%MYID )
7951 IF ( id%INFO(1) .LT. 0 )
GOTO 100
7952 elseif(trim(mode).EQ.
"restore")
then
7953 nullify(id%BLRARRAY_ENCODING)
7954 read(unit,iostat=err) size_array1
7961 & id%COMM, id%MYID )
7962 IF ( id%INFO(1) .LT. 0 )
GOTO 100
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
7989 & ,unit,id%MYID,trim(mode)
7990 & ,size_gest_l0fac,size_variables_l0fac
7991 & ,size_int, size_int8, size_arith_dep
7992 & ,total_file_size,total_struc_size
7993 & ,size_read,size_allocated,size_written
7996 CASE(
"LPOOL_A_L0_OMP")
7998 if(trim(mode).EQ."memory_save
") then
7999 SIZE_VARIABLES(i1)=SIZE_INT
8000.EQ.
elseif(trim(mode)"save") then
8001 write(unit,iostat=err) id%LPOOL_A_L0_OMP
8004 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8007 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8008 & id%COMM, id%MYID )
8009.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8010.EQ.
elseif(trim(mode)"restore
") then
8011 SIZE_VARIABLES(i1)=SIZE_INT
8012 read(unit,iostat=err) id%LPOOL_A_L0_OMP
8015 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8018 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8019 & id%COMM, id%MYID )
8020.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8022 CASE("lpool_b_l0_omp
")
8024.EQ.
if(trim(mode)"memory_save
") then
8025 SIZE_VARIABLES(i1)=SIZE_INT
8026.EQ.
elseif(trim(mode)"save") then
8027 write(unit,iostat=err) id%LPOOL_B_L0_OMP
8030 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8033 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8034 & id%COMM, id%MYID )
8035.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8036.EQ.
elseif(trim(mode)"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.EQ.
elseif(trim(mode)"save") then
8053 write(unit,iostat=err) id%L_PHYS_L0_OMP
8056 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8059 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8060 & id%COMM, id%MYID )
8061.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8062.EQ.
elseif(trim(mode)"restore
") then
8063 SIZE_VARIABLES(i1)=SIZE_INT
8064 read(unit,iostat=err) id%L_PHYS_L0_OMP
8067 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8070 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8071 & id%COMM, id%MYID )
8072.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8074 CASE("l_virt_l0_omp
")
8076.EQ.
if(trim(mode)"memory_save
") then
8077 SIZE_VARIABLES(i1)=SIZE_INT
8078.EQ.
elseif(trim(mode)"save") then
8079 write(unit,iostat=err) id%L_VIRT_L0_OMP
8082 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8085 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8086 & id%COMM, id%MYID )
8087.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8088.EQ.
elseif(trim(mode)"restore
") then
8089 SIZE_VARIABLES(i1)=SIZE_INT
8090 read(unit,iostat=err) id%L_VIRT_L0_OMP
8093 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8096 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8097 & id%COMM, id%MYID )
8098.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8100 CASE("ll0_omp_mapping
")
8102.EQ.
if(trim(mode)"memory_save
") then
8103 SIZE_VARIABLES(i1)=SIZE_INT
8104.EQ.
elseif(trim(mode)"save") then
8105 write(unit,iostat=err) id%LL0_OMP_MAPPING
8108 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8111 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8112 & id%COMM, id%MYID )
8113.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8114.EQ.
elseif(trim(mode)"restore
") then
8115 SIZE_VARIABLES(i1)=SIZE_INT
8116 read(unit,iostat=err) id%LL0_OMP_MAPPING
8119 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8122 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8123 & id%COMM, id%MYID )
8124.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8126 CASE("ll0_omp_factors
")
8128.EQ.
if(trim(mode)"memory_save
") then
8129 SIZE_VARIABLES(i1)=SIZE_INT
8130.EQ.
elseif(trim(mode)"save") then
8131 write(unit,iostat=err) id%LL0_OMP_FACTORS
8134 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8137 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8138 & id%COMM, id%MYID )
8139.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8140.EQ.
elseif(trim(mode)"restore
") then
8141 SIZE_VARIABLES(i1)=SIZE_INT
8142 read(unit,iostat=err) id%LL0_OMP_FACTORS
8145 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8148 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8149 & id%COMM, id%MYID )
8150.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8154.EQ.
if(trim(mode)"memory_save
") then
8155 SIZE_VARIABLES(i1)=SIZE_INT8
8156.EQ.
elseif(trim(mode)"save") then
8157 write(unit,iostat=err) id%THREAD_LA
8160 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8163 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8164 & id%COMM, id%MYID )
8165.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8166.EQ.
elseif(trim(mode)"restore
") then
8167 SIZE_VARIABLES(i1)=SIZE_INT8
8168 read(unit,iostat=err) id%THREAD_LA
8171 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8174 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8175 & id%COMM, id%MYID )
8176.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8178 CASE("ipool_a_l0_omp
")
8180.EQ.
if(trim(mode)"memory_save
") then
8181 IF(associated(id%IPOOL_A_L0_OMP)) THEN
8182 SIZE_GEST(i1)=SIZE_INT
8184 & size(id%IPOOL_A_L0_OMP,1)*SIZE_INT
8186 SIZE_GEST(i1)=SIZE_INT*2
8187 SIZE_VARIABLES(i1)=0_8
8189.EQ.
elseif(trim(mode)"save") then
8190 IF(associated(id%IPOOL_A_L0_OMP)) THEN
8191 write(unit,iostat=err) size(id%IPOOL_A_L0_OMP,1)
8194 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8197 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8198 & id%COMM, id%MYID )
8199.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8200 write(unit,iostat=err) id%IPOOL_A_L0_OMP
8202 write(unit,iostat=err) -999
8205 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8208 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8209 & id%COMM, id%MYID )
8210.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8211 write(unit,iostat=err) -999
8215 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8218 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8219 & id%COMM, id%MYID )
8220.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8221.EQ.
elseif(trim(mode)"restore
") then
8222 nullify(id%IPOOL_A_L0_OMP)
8223 read(unit,iostat=err) size_array1
8226 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8229 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8230 & id%COMM, id%MYID )
8231.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8232.EQ.
if(size_array1-999) then
8233 SIZE_GEST(i1)=SIZE_INT*2
8234 SIZE_VARIABLES(i1)=0_8
8235 read(unit,iostat=err) dummy
8237 SIZE_GEST(i1)=SIZE_INT
8238 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8239 allocate(id%IPOOL_A_L0_OMP(size_array1),
8241.GT.
if (allocok 0) THEN
8243 CALL MUMPS_SETI8TOI4(
8244 & TOTAL_STRUC_SIZE-size_allocated
8247 read(unit,iostat=err) id%IPOOL_A_L0_OMP
8249 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8250 & id%COMM, id%MYID )
8251.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8254 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8257 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8258 & id%COMM, id%MYID )
8259.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8261 CASE("ipool_b_l0_omp
")
8263.EQ.
if(trim(mode)"memory_save
") then
8264 IF(associated(id%IPOOL_B_L0_OMP)) THEN
8265 SIZE_GEST(i1)=SIZE_INT
8267 & size(id%IPOOL_B_L0_OMP,1)*SIZE_INT
8269 SIZE_GEST(i1)=SIZE_INT*2
8270 SIZE_VARIABLES(i1)=0_8
8272.EQ.
elseif(trim(mode)"save") then
8273 IF(associated(id%IPOOL_B_L0_OMP)) THEN
8274 write(unit,iostat=err) size(id%IPOOL_B_L0_OMP,1)
8277 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8280 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8281 & id%COMM, id%MYID )
8282.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8283 write(unit,iostat=err) id%IPOOL_B_L0_OMP
8285 write(unit,iostat=err) -999
8288 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8291 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8292 & id%COMM, id%MYID )
8293.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8294 write(unit,iostat=err) -999
8298 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8301 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8302 & id%COMM, id%MYID )
8303.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8304.EQ.
elseif(trim(mode)"restore
") then
8305 nullify(id%IPOOL_B_L0_OMP)
8306 read(unit,iostat=err) size_array1
8309 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8312 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8313 & id%COMM, id%MYID )
8314.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8315.EQ.
if(size_array1-999) then
8316 SIZE_GEST(i1)=SIZE_INT*2
8317 SIZE_VARIABLES(i1)=0_8
8318 read(unit,iostat=err) dummy
8320 SIZE_GEST(i1)=SIZE_INT
8321 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8322 allocate(id%IPOOL_B_L0_OMP(size_array1),
8324.GT.
if (allocok 0) THEN
8326 CALL MUMPS_SETI8TOI4(
8327 & TOTAL_STRUC_SIZE-size_allocated
8330 read(unit,iostat=err) id%IPOOL_B_L0_OMP
8332 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8333 & id%COMM, id%MYID )
8334.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8337 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8340 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8341 & id%COMM, id%MYID )
8342.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8346.EQ.
if(trim(mode)"memory_save
") then
8347 IF(associated(id%PHYS_L0_OMP)) THEN
8348 SIZE_GEST(i1)=SIZE_INT
8350 & size(id%PHYS_L0_OMP,1)*SIZE_INT
8352 SIZE_GEST(i1)=SIZE_INT*2
8353 SIZE_VARIABLES(i1)=0_8
8355.EQ.
elseif(trim(mode)"save") then
8356 IF(associated(id%PHYS_L0_OMP)) THEN
8357 write(unit,iostat=err) size(id%PHYS_L0_OMP,1)
8360 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8363 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8364 & id%COMM, id%MYID )
8365.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8366 write(unit,iostat=err) id%PHYS_L0_OMP
8368 write(unit,iostat=err) -999
8371 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8374 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8375 & id%COMM, id%MYID )
8376.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8377 write(unit,iostat=err) -999
8381 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8384 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8385 & id%COMM, id%MYID )
8386.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8387.EQ.
elseif(trim(mode)"restore")
then
8388 nullify(id%PHYS_L0_OMP)
8389 read(unit,iostat=err) size_array1
8396 & id%COMM, id%MYID )
8397 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8398 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
8409 & total_struc_size-size_allocated
8412 read(unit,iostat=err) id%PHYS_L0_OMP
8415 & id%COMM, id%MYID )
8416 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8423 & id%COMM, id%MYID )
8424 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8428 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
8437 IF(
associated(id%VIRT_L0_OMP))
THEN
8438 write(unit,iostat=err)
size(id%VIRT_L0_OMP,1)
8445 & id%COMM, id%MYID )
8446 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8447 write(unit,iostat=err) id%VIRT_L0_OMP
8449 write(unit,iostat=err) -999
8456 & id%COMM, id%MYID )
8457 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8458 write(unit,iostat=err) -999
8466 & id%COMM, id%MYID )
8467 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8468 elseif(trim(mode).EQ.
"restore")
then
8469 nullify(id%VIRT_L0_OMP)
8470 read(unit,iostat=err) size_array1
8477 & id%COMM, id%MYID )
8478 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8479 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
8490 & total_struc_size-size_allocated
8493 read(unit,iostat=err) id%VIRT_L0_OMP
8496 & id%COMM, id%MYID )
8497 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8504 & id%COMM, id%MYID )
8505 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8507 CASE(
"VIRT_L0_OMP_MAPPING")
8509 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
8519 IF(
associated(id%VIRT_L0_OMP_MAPPING))
THEN
8520 write(unit,iostat=err)
size(id%VIRT_L0_OMP_MAPPING,1)
8527 & id%COMM, id%MYID )
8528 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8529 write(unit,iostat=err) id%VIRT_L0_OMP_MAPPING
8531 write(unit,iostat=err) -999
8538 & id%COMM, id%MYID )
8539 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8540 write(unit,iostat=err) -999
8548 & id%COMM, id%MYID )
8549 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8550 elseif(trim(mode).EQ.
"restore")
then
8551 nullify(id%VIRT_L0_OMP_MAPPING)
8552 read(unit,iostat=err) size_array1
8559 & id%COMM, id%MYID )
8560 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8561 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
8573 & total_struc_size-size_allocated
8576 read(unit,iostat=err) id%VIRT_L0_OMP_MAPPING
8579 & id%COMM, id%MYID )
8580 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8587 & id%COMM, id%MYID )
8588 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8592 if(trim(mode).EQ.
"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 elseif(trim(mode).EQ.
"save")
then
8601 IF(
associated(id%PERM_L0_OMP))
THEN
8602 write(unit,iostat=err)
size(id%PERM_L0_OMP,1)
8609 & id%COMM, id%MYID )
8610 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8611 write(unit,iostat=err) id%PERM_L0_OMP
8613 write(unit,iostat=err) -999
8620 & id%COMM, id%MYID )
8621 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8622 write(unit,iostat=err) -999
8631 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8632 elseif(trim(mode).EQ.
"restore")
then
8633 nullify(id%PERM_L0_OMP)
8634 read(unit,iostat=err) size_array1
8641 & id%COMM, id%MYID )
8642 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8643 if(size_array1.EQ.-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 if (allocok .GT. 0)
THEN
8654 & total_struc_size-size_allocated
8657 read(unit,iostat=err) id%PERM_L0_OMP
8660 & id%COMM, id%MYID )
8661 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8668 & id%COMM, id%MYID )
8669 IF ( id%INFO(1) .LT. 0 )
GOTO 100
8671 CASE(
"PTR_LEAFS_L0_OMP")
8673 if(trim(mode).EQ.
"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)
8687 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8690 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8691 & id%COMM, id%MYID )
8692.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8693 write(unit,iostat=err) id%PTR_LEAFS_L0_OMP
8695 write(unit,iostat=err) -999
8698 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8701 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8702 & id%COMM, id%MYID )
8703.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8704 write(unit,iostat=err) -999
8708 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8711 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8712 & id%COMM, id%MYID )
8713.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8714.EQ.
elseif(trim(mode)"restore
") then
8715 nullify(id%PTR_LEAFS_L0_OMP)
8716 read(unit,iostat=err) size_array1
8719 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8722 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8723 & id%COMM, id%MYID )
8724.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8725.EQ.
if(size_array1-999) then
8726 SIZE_GEST(i1)=SIZE_INT*2
8727 SIZE_VARIABLES(i1)=0_8
8728 read(unit,iostat=err) dummy
8730 SIZE_GEST(i1)=SIZE_INT
8731 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8732 allocate(id%PTR_LEAFS_L0_OMP(size_array1),
8734.GT.
if (allocok 0) THEN
8736 CALL MUMPS_SETI8TOI4(
8737 & TOTAL_STRUC_SIZE-size_allocated
8740 read(unit,iostat=err) id%PTR_LEAFS_L0_OMP
8742 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8743 & id%COMM, id%MYID )
8744.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8747 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8750 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8751 & id%COMM, id%MYID )
8752.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8754 CASE("l0_omp_mapping
")
8756.EQ.
if(trim(mode)"memory_save
") then
8757 IF(associated(id%L0_OMP_MAPPING)) THEN
8758 SIZE_GEST(i1)=SIZE_INT
8760 & size(id%L0_OMP_MAPPING,1)*SIZE_INT
8762 SIZE_GEST(i1)=SIZE_INT*2
8763 SIZE_VARIABLES(i1)=0_8
8765.EQ.
elseif(trim(mode)"save") then
8766 IF(associated(id%L0_OMP_MAPPING)) THEN
8767 write(unit,iostat=err) size(id%L0_OMP_MAPPING,1)
8770 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8773 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8774 & id%COMM, id%MYID )
8775.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8776 write(unit,iostat=err) id%L0_OMP_MAPPING
8778 write(unit,iostat=err) -999
8781 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8784 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8785 & id%COMM, id%MYID )
8786.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8787 write(unit,iostat=err) -999
8791 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8794 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8795 & id%COMM, id%MYID )
8796.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8797.EQ.
elseif(trim(mode)"restore
") then
8798 nullify(id%L0_OMP_MAPPING)
8799 read(unit,iostat=err) size_array1
8802 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8805 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8806 & id%COMM, id%MYID )
8807.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8808.EQ.
if(size_array1-999) then
8809 SIZE_GEST(i1)=SIZE_INT*2
8810 SIZE_VARIABLES(i1)=0_8
8811 read(unit,iostat=err) dummy
8813 SIZE_GEST(i1)=SIZE_INT
8814 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8815 allocate(id%L0_OMP_MAPPING(size_array1), stat=allocok)
8816.GT.
if (allocok 0) THEN
8818 CALL MUMPS_SETI8TOI4(
8819 & TOTAL_STRUC_SIZE-size_allocated
8822 read(unit,iostat=err) id%L0_OMP_MAPPING
8824 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8825 & id%COMM, id%MYID )
8826.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8829 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8832 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8833 & id%COMM, id%MYID )
8834.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8836 CASE("singular_values
")
8837 CASE("nb_singular_values
")
8839.EQ.
if(trim(mode)"memory_save
") then
8840 SIZE_VARIABLES(i1)=SIZE_INT
8841.EQ.
elseif(trim(mode)"save") then
8842 write(unit,iostat=err) id%NB_SINGULAR_VALUES
8845 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8848 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8849 & id%COMM, id%MYID )
8850.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8851.EQ.
elseif(trim(mode)"restore
") then
8852 SIZE_VARIABLES(i1)=SIZE_INT
8853 read(unit,iostat=err) id%NB_SINGULAR_VALUES
8856 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8859 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8860 & id%COMM, id%MYID )
8861.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8863 CASE("associated_ooc_files
")
8864.EQ.
if(trim(mode)"memory_save
") then
8865 DIFF_SIZE_ALLOC_READ(i1)=SIZE_LOGICAL
8866.EQ.
elseif(trim(mode)"save") then
8867 DIFF_SIZE_ALLOC_READ(i1)=SIZE_LOGICAL
8868.EQ.
elseif(trim(mode)"restore
") then
8869 DIFF_SIZE_ALLOC_READ(i1)=SIZE_LOGICAL
8873.EQ.
if(trim(mode)"memory_save
") then
8874 SIZE_VARIABLES(i1)=len(id%SAVE_DIR)*SIZE_CHARACTER
8875.EQ.
elseif(trim(mode)"save") then
8876 write(unit,iostat=err) id%SAVE_DIR
8879 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8882 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8883 & id%COMM, id%MYID )
8884.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8885.EQ.
elseif(trim(mode)"restore
") then
8886 SIZE_VARIABLES(i1)=len(id%SAVE_DIR)*SIZE_CHARACTER
8887 read(unit,iostat=err) id%SAVE_DIR
8890 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8893 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8894 & id%COMM, id%MYID )
8895.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8899.EQ.
if(trim(mode)"memory_save
") then
8900 SIZE_VARIABLES(i1)=len(id%SAVE_PREFIX)*SIZE_CHARACTER
8901.EQ.
elseif(trim(mode)"save") then
8902 write(unit,iostat=err) id%SAVE_PREFIX
8905 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8908 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8909 & id%COMM, id%MYID )
8910.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8911.EQ.
elseif(trim(mode)"restore
") then
8912 SIZE_VARIABLES(i1)=len(id%SAVE_PREFIX)*SIZE_CHARACTER
8913 read(unit,iostat=err) id%SAVE_PREFIX
8916 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8919 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8920 & id%COMM, id%MYID )
8921.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8923 CASE("mpitoomp_procs_map
")
8925.EQ.
if(trim(mode)"memory_save
") then
8926 IF(associated(id%MPITOOMP_PROCS_MAP)) THEN
8927 SIZE_GEST(i1)=SIZE_INT
8929 & size(id%MPITOOMP_PROCS_MAP,1)*SIZE_INT
8931 SIZE_GEST(i1)=SIZE_INT*2
8932 SIZE_VARIABLES(i1)=0_8
8934.EQ.
elseif(trim(mode)"save") then
8935 IF(associated(id%MPITOOMP_PROCS_MAP)) THEN
8936 write(unit,iostat=err) size(id%MPITOOMP_PROCS_MAP,1)
8939 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8942 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8943 & id%COMM, id%MYID )
8944.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8945 write(unit,iostat=err) id%MPITOOMP_PROCS_MAP
8947 write(unit,iostat=err) -999
8950 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8953 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8954 & id%COMM, id%MYID )
8955.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8956 write(unit,iostat=err) -999
8960 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
8963 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8964 & id%COMM, id%MYID )
8965.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8966.EQ.
elseif(trim(mode)"restore
") then
8967 nullify(id%MPITOOMP_PROCS_MAP)
8968 read(unit,iostat=err) size_array1
8971 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
8974 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8975 & id%COMM, id%MYID )
8976.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8977.EQ.
if(size_array1-999) then
8978 SIZE_GEST(i1)=SIZE_INT*2
8979 SIZE_VARIABLES(i1)=0_8
8980 read(unit,iostat=err) dummy
8982 SIZE_GEST(i1)=SIZE_INT
8983 SIZE_VARIABLES(i1)=size_array1*SIZE_INT
8984 allocate(id%MPITOOMP_PROCS_MAP(size_array1),
8986.GT.
if (allocok 0) THEN
8988 CALL MUMPS_SETI8TOI4(
8989 & TOTAL_STRUC_SIZE-size_allocated
8992 read(unit,iostat=err) id%MPITOOMP_PROCS_MAP
8994 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
8995 & id%COMM, id%MYID )
8996.LT.
IF ( id%INFO(1) 0 ) GOTO 100
8999 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
9002 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
9003 & id%COMM, id%MYID )
9004.LT.
IF ( id%INFO(1) 0 ) GOTO 100
9006 CASE("metis_options
")
9008.EQ.
if(trim(mode)"memory_save
") then
9009 SIZE_VARIABLES(i1)=SIZE_INT*size(id%METIS_OPTIONS,1)
9010.EQ.
elseif(trim(mode)"save") then
9011 write(unit,iostat=err) id%METIS_OPTIONS
9014 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_written,
9017 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
9018 & id%COMM, id%MYID )
9019.LT.
IF ( id%INFO(1) 0 ) GOTO 100
9020.EQ.
elseif(trim(mode)"restore
") then
9021 SIZE_VARIABLES(i1)=SIZE_INT*size(id%METIS_OPTIONS,1)
9022 read(unit,iostat=err) id%METIS_OPTIONS
9025 CALL MUMPS_SETI8TOI4(TOTAL_FILE_SIZE-size_read
9028 CALL MUMPS_PROPINFO( id%ICNTL(1), id%INFO(1),
9029 & id%COMM, id%MYID )
9030.LT.
IF ( id%INFO(1) 0 ) GOTO 100
9032 CASE("pad0
","pad1
","pad2
","pad3
","pad4
","pad5
","pad6
","pad7
",
9033 & "pad11
","pad111
", "pad12
","pad13
","pad14
","pad15
","pad16
")
9036.EQ.
if(trim(mode)"memory_save
") then
9037 NbSubRecords=int(SIZE_VARIABLES(i1)/huge(I4))
9038.GT.
IF(NbSubRecords0) then
9039 NbRecords(i1)=NbRecords(i1)+NbSubRecords
9041.EQ.
elseif(trim(mode)"save") then
9042 size_written=size_written+SIZE_VARIABLES(i1)
9043 & +int(SIZE_GEST(i1),kind=8)
9044#if !defined(MUMPS_F2003)
9045 size_written=size_written
9046 & +int(2*id%KEEP(34)*NbRecords(i1),kind=8)
9048.EQ.
elseif(trim(mode)"restore
") then
9049 size_allocated=size_allocated+SIZE_VARIABLES(i1)+
9050 & DIFF_SIZE_ALLOC_READ(i1)
9051 size_read=size_read+SIZE_VARIABLES(i1)
9052 & +int(SIZE_GEST(i1),kind=8)
9053#if !defined(MUMPS_F2003)
9055 & +int(2*id%KEEP(34)*NbRecords(i1),kind=8)
9057.EQ.
elseif(trim(mode)"fake_restore
") then
9061.EQ.
if(trim(mode)"memory_save
") then
9062 WRITTEN_STRUC_SIZE=sum(SIZE_VARIABLES)+sum(SIZE_VARIABLES_ROOT)
9063 & +SIZE_VARIABLES_BLR+SIZE_VARIABLES_FRONT_DATA+
9064 & SIZE_VARIABLES_L0FAC
9065 TOTAL_STRUC_SIZE=WRITTEN_STRUC_SIZE
9066 & +sum(DIFF_SIZE_ALLOC_READ)
9067 & +sum(DIFF_SIZE_ALLOC_READ_ROOT)
9068 gest_size=sum(SIZE_GEST)+sum(SIZE_GEST_ROOT)
9069 & +SIZE_GEST_BLR+SIZE_GEST_FRONT_DATA
9071 & +int(5*SIZE_CHARACTER,kind=8)
9072 & +int(23*SIZE_CHARACTER,kind=8)
9073 & +int(2*SIZE_INT8,kind=8)+int(1,kind=8)
9074 & +int(3*SIZE_INT,kind=8)
9075 & +int(SIZE_LOGICAL,kind=8)
9076.AND.
IF(associated(id%OOC_FILE_NAME_LENGTH)
9077 & associated(id%OOC_FILE_NAMES)) THEN
9078 gest_size=gest_size+int(SIZE_INT,kind=8)
9079 & +int(id%OOC_FILE_NAME_LENGTH(1)*SIZE_CHARACTER,kind=8)
9081 gest_size=gest_size+int(2*SIZE_INT,kind=8)
9083#if !defined(MUMPS_F2003)
9084 tot_NbRecords=sum(NbRecords)+sum(NbRecords_ROOT)+8
9085 gest_size=gest_size+int(2*id%KEEP(34)*tot_NbRecords,kind=8)
9087 TOTAL_FILE_SIZE=WRITTEN_STRUC_SIZE+gest_size
9088.EQ.
elseif(trim(mode)"save") then
9089.EQ.
elseif(trim(mode)"restore
") then
9090 if(id%root%gridinit_done) then
9091 id%root%CNTXT_BLACS = id%COMM_NODES
9092 CALL blacs_gridinit( id%root%CNTXT_BLACS, 'R',
9093 & id%root%NPROW, id%root%NPCOL )
9094 id%root%gridinit_done = .TRUE.
9096.EQ.
elseif(trim(mode)"fake_restore
") then
9097.EQ.
elseif(trim(mode)"restore_ooc
") then
9100 deallocate(VARIABLES, VARIABLES_ROOT)