Write generation report to standard output
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(pikaia_class), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in), | dimension(me%n,me%np) | :: | oldph | ||
real(kind=wp), | intent(in), | dimension(me%np) | :: | fitns | ||
integer, | intent(in), | dimension(me%np) | :: | ifit | ||
integer, | intent(in) | :: | ig | |||
integer, | intent(in) | :: | nnew |
subroutine report(me,oldph,fitns,ifit,ig,nnew) implicit none class(pikaia_class),intent(inout) :: me real(wp),dimension(me%n,me%np),intent(in) :: oldph real(wp),dimension(me%np),intent(in) :: fitns integer,dimension(me%np),intent(in) :: ifit integer,intent(in) :: ig integer,intent(in) :: nnew integer :: ndpwr,k logical :: rpt rpt=.false. if (me%pmut/=me%pmutpv) then me%pmutpv=me%pmut rpt=.true. end if if (fitns(ifit(me%np))/=me%bestft) then me%bestft=fitns(ifit(me%np)) rpt=.true. end if if (rpt .or. me%ivrb>=2) then !Power of 10 to make integer genotypes for display ndpwr = 10**me%nd write(output_unit,'(/I6,I6,F10.6,4F10.6)') & ig,nnew,me%pmut,fitns(ifit(me%np)),& fitns(ifit(me%np-1)),fitns(ifit(me%np/2)) do k=1,me%n write(output_unit,'(22X,3I10)') & nint(ndpwr*oldph(k,ifit(me%np))),& nint(ndpwr*oldph(k,ifit(me%np-1))),& nint(ndpwr*oldph(k,ifit(me%np/2))) end do end if end subroutine report