2022-12-05 03:49:49 +11:00
|
|
|
program exportbloubs
|
2022-02-07 09:45:08 +11:00
|
|
|
|
|
|
|
use bloubspace
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
character(200) :: filename
|
|
|
|
integer, parameter :: idu = 33
|
|
|
|
integer :: i, compte, errcode
|
|
|
|
type(t_bloubs) :: bloub
|
|
|
|
|
|
|
|
! parsing command line
|
|
|
|
i = IARGC()
|
|
|
|
if (1 .ne. i) then
|
2022-12-05 03:49:49 +11:00
|
|
|
STOP ' : BAD COMMAND LINE'
|
2022-02-07 09:45:08 +11:00
|
|
|
endif
|
|
|
|
call getarg(1, filename)
|
|
|
|
|
2022-03-25 17:53:14 +11:00
|
|
|
write (0, '(A, A)') "### exporting from ", trim(filename)
|
2022-02-07 09:45:08 +11:00
|
|
|
|
|
|
|
open(unit=idu, file=trim(filename), form='unformatted', &
|
|
|
|
iostat=errcode, &
|
|
|
|
action='read', status='old')
|
|
|
|
|
|
|
|
if (0 .ne. errcode) then
|
|
|
|
! print *, 'errcode ', errcode
|
|
|
|
STOP " : CAN'T OPEN FILE " // trim(filename)
|
|
|
|
endif
|
|
|
|
|
|
|
|
compte=0
|
|
|
|
do
|
|
|
|
read (unit=idu, iostat=errcode) bloub
|
|
|
|
if (0 .ne. errcode) then
|
|
|
|
exit
|
|
|
|
endif
|
2022-03-25 17:53:14 +11:00
|
|
|
if (bloub%alive) then
|
|
|
|
print *, bloub%px, bloub%py, bloub%pz, bloub%radius, &
|
|
|
|
bloub%age, bloub%state
|
|
|
|
compte = compte + 1
|
|
|
|
endif
|
2022-02-07 09:45:08 +11:00
|
|
|
enddo
|
|
|
|
|
2024-01-26 07:44:49 +11:00
|
|
|
write(0, '(1X, I0, A)') compte, " bloubs exported"
|
2022-02-08 12:53:49 +11:00
|
|
|
|
2022-02-07 09:45:08 +11:00
|
|
|
close(idu)
|
|
|
|
|
|
|
|
end program
|