V3FIT
ga_restart.f
1  SUBROUTINE ga_restart(i,istart,kount,filename, myid)
2 c#######################################################################
3 c
4 c this subroutine writes restart information to the ga.restart file.
5 c
6  USE ga_mod
7  USE mpi_params, ONLY: master
8  USE safe_open_mod
9  IMPLICIT NONE
10  INTEGER :: kount, i, j, l, istart, istat, myid
11  CHARACTER(LEN=100) :: filename
12  SAVE
13 
14  IF (myid .ne. master) RETURN
15 
16  kount=kount+1
17  IF(i.eq.maxgen+istart-1 .or. kount.eq.kountmx) THEN
18  iunit_ga_restart = 25
19  CALL safe_open(iunit_ga_restart, istat,
20  1 'ga_restart.'//trim(filename),
21  2 'unknown', 'formatted')
22  rewind iunit_ga_restart
23  WRITE(iunit_ga_restart,*) i+1,npopsiz
24  DO 80 j=1,npopsiz
25  WRITE(iunit_ga_restart,*) j,(iparent(l,j),l=1,nchrome)
26 c IF(nchrome .le. 60) THEN
27 c WRITE(iunit_ga_restart,1500) j,(iparent(l,j),l=1,nchrome)
28 c ELSE
29 c WRITE(iunit_ga_restart,1500) j,(iparent(l,j),l=1,60)
30 c WRITE(iunit_ga_restart,1501) (iparent(l,j),l=61,nchrome)
31 c END IF
32  80 CONTINUE
33  CLOSE (iunit_ga_restart)
34  kount=0
35  ENDif
36 c
37  1500 FORMAT(i5,3x,60i2)
38  1501 FORMAT(5x,3x,60i2)
39 
40  END SUBROUTINE ga_restart