From a4c26681e35f44729f525aa1e8157ebb84cef649 Mon Sep 17 00:00:00 2001 From: Fabrice Roy <fabrice.roy@obspm.fr> Date: Wed, 6 Nov 2019 18:41:58 +0100 Subject: [PATCH] license modification and fhi integration documentation modifications --- pfof_cone/src/modio.f90 | 18 ++++-- pfof_cone/src/modparameters.f90 | 55 ++++++---------- pfof_cone/src/modvariables.f90 | 52 ++++++--------- pfof_cone/src/pfof_cone.f90 | 109 +++++++++++++------------------- pfof_snap/src/pfof_snap.f90 | 3 + 5 files changed, 99 insertions(+), 138 deletions(-) diff --git a/pfof_cone/src/modio.f90 b/pfof_cone/src/modio.f90 index b4dc94d..08d6464 100644 --- a/pfof_cone/src/modio.f90 +++ b/pfof_cone/src/modio.f90 @@ -27,7 +27,6 @@ !> Subroutines and common variables used for I/O in pFoF_cone. - module modio use modmpicommons @@ -145,6 +144,10 @@ Contains use fortran_hdf5_constants_m, only : H5_STR_LEN use fortran_hdf5_manage_files_m + use fortran_hdf5_manage_groups_m + use fortran_hdf5_read_attribute_m + use fortran_hdf5_read_data_m + use modreadmeta Implicit None Character(len=H5_STR_LEN) :: dataname @@ -216,9 +219,9 @@ Contains !Call hdf5_read_info_ramses ! Subroutine h5read_meta_info_ramses(file_id, inforamses) - Call h5read_meta_common(file_id, common_meta) - Call h5read_meta_info_cone(file_id, infocone, islast) - Call h5read_meta_info_ramses(file_id, inforamses, islast) + call Read_meta_common(file_id, common_meta) + call Read_meta_info_cone(file_id, infocone, islast) + call Read_meta_info_ramses(file_id, inforamses, islast) nres = 2**inforamses%levelmin ! this is the last shell: the metadata read from this shell will be written in the output files @@ -306,6 +309,10 @@ Contains Subroutine h5readmap() use fortran_hdf5_constants_m, only : H5_FILENAME_LEN, H5_STR_LEN + use fortran_hdf5_manage_files_m + use fortran_hdf5_manage_groups_m + use fortran_hdf5_read_attribute_m + use fortran_hdf5_read_data_m Use modmpicom Character(len=H5_FILENAME_LEN) :: filename @@ -374,6 +381,9 @@ Contains Subroutine h5readparticles() use fortran_hdf5_constants_m, only : H5_FILENAME_LEN, H5_STR_LEN + use fortran_hdf5_manage_files_m + use fortran_hdf5_manage_groups_m + use fortran_hdf5_read_data_m Character(len=8) :: charic Character(len=5) :: charish diff --git a/pfof_cone/src/modparameters.f90 b/pfof_cone/src/modparameters.f90 index 0b13202..1c831a9 100644 --- a/pfof_cone/src/modparameters.f90 +++ b/pfof_cone/src/modparameters.f90 @@ -1,47 +1,30 @@ -!============================================================================== -! Project: pFoF -! File: pfof_cone/src/modio.f90 -! Copyright 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 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 parameters read from pfof_cone.nml and the version number read from pfof.version. +!! This file contains the parameters read from pfof_cone.nml and the version number read from pfof.version. +!! +!! @author Fabrice Roy +!! @author Vincent Bouillot !> This module contains the parameters read from pfof_cone.nml and the version number read from pfof.version. -!> -!> Authors: F. Roy, V. Bouillot - Module modparameters diff --git a/pfof_cone/src/modvariables.f90 b/pfof_cone/src/modvariables.f90 index 7e7a278..65fbc3a 100644 --- a/pfof_cone/src/modvariables.f90 +++ b/pfof_cone/src/modvariables.f90 @@ -1,46 +1,30 @@ -!============================================================================== -! Project: pFoF -! File: pfof_cone/src/modvariables.f90 -! Copyright 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 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 common variables used in pFoF_cone and a subroutine used to deallocate all allocatable arrays. +!! +!! @author Fabrice Roy +!! @author Vincent Bouillot !> This module contains the common variables used in pFoF_cone and a subroutine used to deallocate all allocatable arrays. -!> -!> Authors: F. Roy, V. Bouillot - module modvariables diff --git a/pfof_cone/src/pfof_cone.f90 b/pfof_cone/src/pfof_cone.f90 index abccc42..2db6ccb 100644 --- a/pfof_cone/src/pfof_cone.f90 +++ b/pfof_cone/src/pfof_cone.f90 @@ -1,93 +1,74 @@ -!============================================================================== -! Project: pFoF -! File: pfof_cone/src/pfof_cone.f90 -! Copyright 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 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 main program of the light cone implementation of pFoF. +!! +!! @author Fabrice Roy +!! @author Vincent Bouillot -!> pFOF_cone is a distributed implementation of the Friends-of-Friends halo finder algorithm designed for lightcones simulated with RAMSES. <br> -!! This parallel Friend of Friend implementation is based on a sequential -!! implementation written by Edouard Audit (CEA). <br> -!! It has been written by Fabrice Roy -- CNRS / LUTH (Observatoire de Paris) and Vincent Bouillot. <br> -!! mail: fabrice.roy@obspm.fr <br> -!! mail: vincent.bouillot@obspm.fr <br> -Program pfof_cone +program pfof_cone - Use mpi - Use modmpicommons - Use modhdf5 - Use modio - Use modvariables - Use modmpicom - Use modfofpara + use mpi + use modmpicommons + use fortran_hdf5_manage_interface_m + use modio + use modvariables + use modmpicom + use modfofpara - Implicit None + implicit none - Integer(kind=4) :: mpierr + integer(kind=4) :: mpierr ! Initialization of MPI - Call Mpi_Init(mpierr) - Call Mpi_Comm_Size(Mpi_Comm_World, procNB, mpierr) - Call Mpi_Comm_Rank(Mpi_Comm_World, procID, mpierr) + call mpi_init(mpierr) + call mpi_comm_size(Mpi_Comm_World, procNB, mpierr) + call mpi_comm_rank(Mpi_Comm_World, procID, mpierr) - If(procID==0) Then - Call title() - End If + if(procID==0) then + call Title() + end if ! Initialization of HDF5 - Call hdf5_init() + call hdf5_init() - Call readparameters() + call Readparameters() - Call h5readmap() + call H5readmap() - Call h5readshellinfo() + call H5readshellinfo() - Call h5readparticles() + call H5readparticles() - Call computeminmax() + call Computeminmax() - Call fofparacone() + call Fofparacone() - Call deallocall() + call Deallocall() ! Finalize HDF5 - Call hdf5_finalize() + call hdf5_finalize() ! Finalize MPI - Call Mpi_Finalize(mpierr) + call mpi_finalize(mpierr) -End Program pfof_cone +end program pfof_cone diff --git a/pfof_snap/src/pfof_snap.f90 b/pfof_snap/src/pfof_snap.f90 index 4378e8a..3538550 100644 --- a/pfof_snap/src/pfof_snap.f90 +++ b/pfof_snap/src/pfof_snap.f90 @@ -20,6 +20,9 @@ !> @file !! This file contains the main program of the snapshot implementation of pFoF. +!! +!! @author Fabrice Roy +!! @author Vincent Bouillot program Friend -- GitLab