9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-13 08:05:17 +02:00
qp2/src/ezfio_files/output.irp.f
Abdallah Ammar d919d6ce7d forked v
2022-07-05 01:17:43 +02:00

87 lines
2.2 KiB
Fortran

BEGIN_PROVIDER [ double precision, output_wall_time_0 ]
&BEGIN_PROVIDER [ double precision, output_cpu_time_0 ]
implicit none
BEGIN_DOC
! Initial CPU and wall times when printing in the output files
END_DOC
call cpu_time(output_wall_time_0)
call wall_time(output_wall_time_0)
END_PROVIDER
subroutine write_time(iunit)
implicit none
BEGIN_DOC
! Write a time stamp in the output for chronological reconstruction
END_DOC
integer, intent(in) :: iunit
double precision :: wt, ct
if (.not.mpi_master) then
return
endif
write(6,*)
call print_memory_usage()
call cpu_time(ct)
ct = ct - output_cpu_time_0
call wall_time(wt)
wt = wt - output_wall_time_0
write(6,'(A,F14.6,A,F14.6,A)') &
'.. >>>>> [ WALL TIME: ', wt, ' s ] [ CPU TIME: ', ct, ' s ] <<<<< ..'
write(6,*)
end
subroutine write_double(iunit,value,label)
implicit none
BEGIN_DOC
! Write a double precision value in output
END_DOC
if (.not.mpi_master) then
return
endif
integer, intent(in) :: iunit
double precision :: value
character*(*) :: label
character*(64), parameter :: f = '(A50,G24.16)'
character*(50) :: newlabel
write(newlabel,'(A,A)') '* ',trim(label)
write(6,f) newlabel, value
end
subroutine write_int(iunit,value,label)
implicit none
BEGIN_DOC
! Write an integer value in output
END_DOC
if (.not.mpi_master) then
return
endif
integer, intent(in) :: iunit
integer :: value
character*(*) :: label
character*(64), parameter :: f = '(A50,I16)'
character*(50) :: newlabel
write(newlabel,'(A,A)') '* ',trim(label)
write(6,f) newlabel, value
end
subroutine write_bool(iunit,value,label)
implicit none
BEGIN_DOC
! Write an logical value in output
END_DOC
if (.not.mpi_master) then
return
endif
integer, intent(in) :: iunit
logical :: value
character*(*) :: label
character*(64), parameter :: f = '(A50,L1)'
character*(50) :: newlabel
write(newlabel,'(A,A)') '* ',trim(label)
write(6,f) newlabel, value
end