program ReadHaloCat integer*4 nhalo integer*4, dimension(:), allocatable :: nbnda,massha real*4, dimension(:), allocatable :: rvira,virma,vchaloa,xac,yac,zac,& &xambp,yambp,zambp,vxa,vya,vza character*100 base character*100 ext character*100 fname implicit none base='/mybase/' ext='myext.halos' fname=base(1:len_trim(base))//ext print *,'Reading : ',fname open(1,file=fname,form='unformatted',status='old') read(1) nhalo print*,'nhalo : ',nhalo allocate(nbnda(nhalo),massha(nhalo)) allocate(rvira(nhalo),virma(nhalo),vchaloa(nhalo),xac(nhalo),yac(nhalo),zac(nhalo),& &xambp(nhalo),yambp(nhalo),zambp(nhalo),vxa(nhalo),vya(nhalo),vza(nhalo)) ! note : vxa is the velocity averaged over all particles in the linked list read(1) nbnda ! Id ot most bound particle read(1) massha ! number of particles found by the groupfinder read(1) rvira ! virial radius in physical kpc/h read(1) virma ! virial mass in Msun/h read(1) vchaloa ! virial circular velocity in km/s read(1) xac ! comoving position of center of mass SGX in kpc/h (origin = Milky Way) read(1) yac ! --- SGY in kpc/h (origin = Milky Way) read(1) zac ! --- SGZ in kpc/h (origin = Milky Way) read(1) xambp ! comoving position of most bound particle SGX in kpc/h (origin = Milky Way) read(1) yambp ! --- SGY in kpc/h (origin = Milky Way) read(1) zambp ! --- SGY in kpc/h (origin = Milky Way) read(1) vxa ! peculiar velocity of center of mass in km/s read(1) vya ! --- read(1) vza ! --- close(1) print*, 'Read ...' print*,'min,max nbnda : ',minval(nbnda),maxval(nbnda) print*,'min,max massha : ',minval(massha),maxval(massha) print*,'min,max rvira : ',minval(rvira),maxval(rvira) print*,'min,max virma : ',minval(virma),maxval(virma) print*,'min,max vchaloa : ',minval(vchaloa),maxval(vchaloa) print*,'min,max xac : ',minval(xac),maxval(xac) print*,'min,max yac : ',minval(yac),maxval(yac) print*,'min,max zac : ',minval(zac),maxval(zac) print*,'min,max xambp : ',minval(xambp),maxval(xambp) print*,'min,max yambp : ',minval(yambp),maxval(yambp) print*,'min,max zambp : ',minval(zambp),maxval(zambp) print*,'min,max vxa : ',minval(vxa),maxval(vxa) print*,'min,max vya : ',minval(vya),maxval(vya) print*,'min,max vza : ',minval(vza),maxval(vza) stop end