Commit 585a5b0a authored by Roy Fabrice's avatar Roy Fabrice
Browse files

license modification and bug correction

parent 7d7c79b0
!==============================================================================
! Project: pFoF
! File: pfof_cone/src/modfofpara.f90
! Copyright Edouard Audit, Fabrice Roy and Vincent Bouillot (2011)
! Fabrice.Roy@obspm.fr
!
! This software is a computer program whose purpose is to detect dark matter
! haloes in cosmological simulation with a parallel Friend of Friend algorithm.
!------------------------------------------------------------------------------------------------------------------------------------
! Copyright 2011 Edouard Audit, Fabrice Roy and Vincent Bouillot
!
! This software is governed by the CeCILL license under French law and
! abiding by the rules of distribution of free software. You can use,
! modify and/ or redistribute the software under the terms of the CeCILL
! license as circulated by CEA, CNRS and INRIA at the following URL
! "http://www.cecill.info".
! Contact: fabrice.roy@obspm.fr
!
! As a counterpart to the access to the source code and rights to copy,
! modify and redistribute granted by the license, users are provided only
! with a limited warranty and the software's author, the holder of the
! economic rights, and the successive licensors have only limited
! liability.
! This file is part of pFoF.
!
! In this respect, the user's attention is drawn to the risks associated
! with loading, using, modifying and/or developing or reproducing the
! software by the user in light of its specific status of free software,
! that may mean that it is complicated to manipulate, and that also
! therefore means that it is reserved for developers and experienced
! professionals having in-depth computer knowledge. Users are therefore
! encouraged to load and test the software's suitability as regards their
! requirements in conditions enabling the security of their systems and/or
! data to be ensured and, more generally, to use and operate it in the
! same conditions as regards security.
! pFoF is free software: you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by
! the Free Software Foundation, either version 3 of the License, or
! (at your option) any later version.
!
! The fact that you are presently reading this means that you have had
! knowledge of the CeCILL license and that you accept its terms.
!==============================================================================
! pFoF is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
!
! You should have received a copy of the GNU General Public License
! along with pFoF. If not, see <http://www.gnu.org/licenses/>.
!> @file
!!This file contains the serial FOF algorithm.
!!
!! @author Edouard Audit
!! @author Fabrice Roy
!! @author Vincent Bouillot
!> This module contains the serial FOF algorithm.
!>
!> Authors: E. Audit, F. Roy, V. Bouillot
Module modfofpara
......@@ -452,45 +438,45 @@ Contains
If(param%do_read_ramses_part_id) Then
If(param%do_read_potential .and. param%do_read_gravitational_field) Then
Call h5writehalopart(info_proc, param, haloNB, halopartNB, haloMass, haloID, &
Call h5writehalopart(info_proc, param, global_npart, haloNB, halopartNB, haloMass, haloID, &
halopartPos, halopartVel, halopartID, halopartFor=halopartFor, &
halopartPot=halopartPot, halopartRamsesID=halopartRamsesID, &
inforamses=inforamses, infocone=infocone)
Else If(param%do_read_potential .and. .not. param%do_read_gravitational_field ) Then
Call h5writehalopart(info_proc, param, haloNB, halopartNB, haloMass, haloID, &
Call h5writehalopart(info_proc, param, global_npart, haloNB, halopartNB, haloMass, haloID, &
halopartPos, halopartVel, halopartID, halopartPot=halopartPot, &
halopartRamsesID=halopartRamsesID, inforamses=inforamses, infocone=infocone)
Else If(param%do_read_gravitational_field .and. .not. param%do_read_potential) Then
Call h5writehalopart(info_proc, param, haloNB, halopartNB, haloMass, haloID, &
Call h5writehalopart(info_proc, param, global_npart, haloNB, halopartNB, haloMass, haloID, &
halopartPos, halopartVel, halopartID, halopartFor=halopartFor, &
halopartRamsesID=halopartRamsesID, inforamses=inforamses, infocone=infocone)
Else
Call h5writehalopart(info_proc, param, haloNB, halopartNB, haloMass, haloID, &
Call h5writehalopart(info_proc, param, global_npart, haloNB, halopartNB, haloMass, haloID, &
halopartPos, halopartVel, halopartID, halopartRamsesID=halopartRamsesID,&
inforamses=inforamses, infocone=infocone)
End If
Else
If(param%do_read_potential .and. param%do_read_gravitational_field) Then
Call h5writehalopart(info_proc, param, haloNB, halopartNB, haloMass, haloID, &
Call h5writehalopart(info_proc, param, global_npart, haloNB, halopartNB, haloMass, haloID, &
halopartPos, halopartVel, halopartID, halopartFor=halopartFor, &
halopartPot=halopartPot, inforamses=inforamses, infocone=infocone)
Else If(param%do_read_potential .and. .not. param%do_read_gravitational_field ) Then
Call h5writehalopart(info_proc, param, haloNB, halopartNB, haloMass, haloID, &
Call h5writehalopart(info_proc, param, global_npart, haloNB, halopartNB, haloMass, haloID, &
halopartPos, halopartVel, halopartID, halopartPot=halopartPot, &
inforamses=inforamses, infocone=infocone)
Else If(param%do_read_gravitational_field .and. .not. param%do_read_potential) Then
Call h5writehalopart(info_proc, param, haloNB, halopartNB, haloMass, haloID, &
Call h5writehalopart(info_proc, param, global_npart, haloNB, halopartNB, haloMass, haloID, &
halopartPos, halopartVel, halopartID, halopartFor=halopartFor, &
inforamses=inforamses, infocone=infocone)
Else
Call h5writehalopart(info_proc, param, haloNB, halopartNB, haloMass, haloID, &
Call h5writehalopart(info_proc, param, global_npart, haloNB, halopartNB, haloMass, haloID, &
halopartPos, halopartVel, halopartID, inforamses=inforamses, infocone=infocone)
End If
End If
......@@ -521,7 +507,7 @@ Contains
End If
nh = ubound(haloMass,1)
Call mpih5writehalomass(Mpi_Comm_World,param, haloNB_all, haloNB, nh, haloMass, halocomPos, &
Call mpih5writehalomass(Mpi_Comm_World,param, global_npart, haloNB_all, haloNB, nh, haloMass, halocomPos, &
halocomVel, haloID, haloRadius, haloSubHaloNB, inforamses=inforamses, infocone=infocone)
Deallocate(haloMass, halocomPos, halocomVel, haloID)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment