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