Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Roy Fabrice
pFoF
Commits
7f8c50ba
Commit
7f8c50ba
authored
Nov 14, 2019
by
Roy Fabrice
Browse files
Merge branch 'fhi-and-syntax' into 'master'
Fhi and syntax See merge request roy/pFoF_dev!5
parents
5776b260
75d906e3
Changes
32
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
7f8c50ba
...
...
@@ -23,3 +23,4 @@ clean:
cd
tools/conepartcreator/src
;
make clean
cd
tools/conegravcreator/src
;
make clean
cd
tools/conemapper/src
;
make clean
rm
-f
mod/
*
obj/
*
amr2cell_hdf5/src/Makefile
View file @
7f8c50ba
...
...
@@ -48,7 +48,7 @@ $(OBJDIR)%.o:%.f90
FC
=
$(FC)
,
FCFLAGS
=
$(FCFLAGS)
$(FC)
-c
$(FCFLAGS)
$<
-o
$@
%.mod
:
%.f90
$(MODDIR)
%.mod
:
%.f90
@
echo
"--------------------------------"
@
echo
building
$*
.mod with parameters
\
FC
=
$(FC)
,
FCFLAGS
=
$(FCFLAGS)
...
...
common/src/modreadhalo.f90
View file @
7f8c50ba
...
...
@@ -42,7 +42,8 @@ contains
position_halo
,
velocity_halo
,
rmax_halo
,
identity_halo
,
npart_halo
)
use
iso_fortran_env
,
only
:
ERROR_UNIT
,
OUTPUT_UNIT
use
modconstant
,
only
:
IDKIND
,
type_common_metadata
,
type_parameter_pfof
,
type_info_ramses
,
type_info_cone_part
use
modconstant
,
only
:
IDKIND
,
type_common_metadata
,
type_parameter_pfof
use
type_info_ramses_mod
,
only
:
type_info_ramses
,
type_info_cone_part
use
fortran_hdf5_constants_m
,
only
:
H5_FILENAME_LEN
,
H5_STR_LEN
use
fortran_hdf5_manage_files_m
,
only
:
hdf5_close_file
,
hdf5_open_file
use
fortran_hdf5_manage_groups_m
,
only
:
hdf5_close_group
,
hdf5_open_group
...
...
@@ -167,13 +168,14 @@ contains
use
fortran_hdf5_read_data_m
use
iso_fortran_env
,
only
:
ERROR_UNIT
,
OUTPUT_UNIT
use
modconstant
,
only
:
ERR_MSG_LEN
,
IDKIND
,
&
type_common_metadata
,
type_parameter_pfof
,
type_info_ramses
,
type_info_cone_part
type_common_metadata
,
type_parameter_pfof
use
type_info_ramses_mod
,
only
:
type_info_ramses
,
type_info_cone_part
use
modmpicommons
,
only
:
type_info_process
use
modreadmeta
,
only
:
Read_meta_common
,
&
Read_meta_halofinder_parameter
,
&
Read_meta_info_cone
,
&
Read_meta_info_ramses
use
hdf5
,
only
:
HID_T
type
(
type_info_process
),
intent
(
in
)
::
info_proc
character
(
len
=
H5_FILENAME_LEN
),
intent
(
in
)
::
filename
...
...
pfof_cone/src/Makefile
View file @
7f8c50ba
...
...
@@ -15,8 +15,10 @@ SRC = modconstant.f90 \
modtiming.f90
\
modvariables.f90
\
modreadparameters.f90
\
modreadmeta.f90
\
modmpicom.f90
\
modsort.f90
\
modwritemeta.f90
\
modwritehalo.f90
\
modio.f90
\
modhalo.f90
\
...
...
@@ -40,7 +42,7 @@ $(OBJDIR)%.o:%.f90
@
echo
"--------------------------------"
@
echo
building
$*
.o with parameters
\
FC
=
$(FC)
,
FCFLAGS
=
$(FCFLAGS)
$(FC)
-c
$(FCFLAGS)
$<
$(FC)
-c
$(FCFLAGS)
$<
-o
$@
%.mod
:
%.f90
@
echo
"--------------------------------"
...
...
pfof_cone/src/modfofpara.f90
View file @
7f8c50ba
!==============================================================================
! 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
implicit
none
Contains
...
...
@@ -68,7 +54,6 @@ Contains
Use
modtiming
Use
modfofmpi
Implicit
none
! Local variables
Integer
(
kind
=
4
),
dimension
(:),
allocatable
::
adfirst
,
npcase
...
...
@@ -85,7 +70,7 @@ Contains
Integer
(
kind
=
4
)
::
signx
(
3
),
signy
(
3
),
signz
(
3
)
Integer
(
kind
=
4
)
::
nsign
Integer
(
kind
=
PRI
)
::
namas
! tmp structure ID
Integer
(
kind
=
IDKIND
)
::
namas
! tmp structure ID
Real
(
kind
=
4
)
::
r
,
d
,
size
,
size_fof
,
xx
,
yy
,
zz
Real
(
kind
=
4
)
::
dx
,
dy
,
dz
...
...
@@ -453,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
...
...
@@ -522,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
)
...
...
pfof_cone/src/modio.f90
View file @
7f8c50ba
!==============================================================================
! 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.
!
! 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".
!------------------------------------------------------------------------------------------------------------------------------------
! Copyright 2011 Fabrice Roy and Vincent Bouillot
! 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 s
ubroutines and common variables used for I/O in pFoF_cone.
!
> This module contains the subroutines and common variables used for I/O in pFoF_cone.
!
>
!
> A
uthor
s: F. Roy, V.
Bouillot
!!
S
ubroutines and common variables used for I/O in pFoF_cone.
!! @brief
!
!
!
! @author Fabrice Roy
!
! @a
uthor
Vincent
Bouillot
!> Subroutines and common variables used for I/O in pFoF_cone.
M
odule
modio
m
odule
modio
U
se
modmpicommons
U
se
modvarcommons
U
se
modconstant
u
se
modmpicommons
u
se
modvarcommons
u
se
modconstant
use
hdf5
,
only
:
HID_T
Use
modvariables
Use
mpi
use
modvariables
use
mpi
implicit
none
Integer
(
kind
=
4
)
::
ioerr
...
...
@@ -112,7 +98,7 @@ Contains
Implicit
none
Character
(
len
=
400
)
::
filename
Character
(
len
=
FILENAME_LEN
)
::
filename
Integer
::
ioerr
Character
(
len
=
84
)
::
filelog
Integer
(
kind
=
4
)
::
mpierr
...
...
@@ -134,9 +120,9 @@ Contains
! Open log file
filelog
=
'pfof_log_'
//
trim
(
param
%
simulation_name
)//
'.log'
Open
(
Unit
=
Ulog
,
file
=
filelog
)
Write
(
Ulog
,
*
)
'Parallel FoF'
Write
(
Ulog
,
*
)
procNB
,
' processes:'
Open
(
Unit
=
LOG_UNIT
,
file
=
filelog
)
Write
(
LOG_UNIT
,
*
)
'Parallel FoF'
Write
(
LOG_UNIT
,
*
)
procNB
,
' processes:'
End
If
...
...
@@ -156,11 +142,16 @@ Contains
!> in each shell file
Subroutine
h5readshellinfo
()
Use
modiocommons
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
=
H5STRLEN
)
::
dataname
Character
(
len
=
H5STRLEN
)
::
groupname
Character
(
len
=
H5
_
STR
_
LEN
)
::
dataname
Character
(
len
=
H5
_
STR
_
LEN
)
::
groupname
Character
(
len
=
5
)
::
charish
Character
(
len
=
400
)
::
shellname
Integer
(
kind
=
4
)
::
ic
...
...
@@ -171,8 +162,8 @@ Contains
Integer
(
kind
=
4
)
::
my_shell_fid
,
my_shell_lid
,
my_shell_nb
Integer
(
kind
=
4
),
dimension
(:,:),
allocatable
::
indexfile
Integer
(
kind
=
4
)
::
icube
Integer
(
kind
=
hid_t
)
::
file_id
Integer
(
kind
=
hid_t
)
::
gr_meta_id
Integer
(
kind
=
HID_T
)
::
file_id
Integer
(
kind
=
HID_T
)
::
gr_meta_id
Integer
(
kind
=
4
)
::
rootlast
,
roottmp
Logical
(
kind
=
4
)
::
islast
Integer
(
kind
=
4
)
::
mpierr
...
...
@@ -228,9 +219,9 @@ Contains
!Call hdf5_read_info_ramses
! Subroutine h5read_meta_info_ramses(file_id, inforamses)
C
all
h5r
ead_meta_common
(
file_id
,
common_meta
)
C
all
h5r
ead_meta_info_cone
(
file_id
,
infocone
,
islast
)
C
all
h5r
ead_meta_info_ramses
(
file_id
,
inforamses
,
islast
)
c
all
R
ead_meta_common
(
file_id
,
common_meta
)
c
all
R
ead_meta_info_cone
(
file_id
,
infocone
,
islast
)
c
all
R
ead_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
...
...
@@ -317,13 +308,16 @@ Contains
!> This subroutine reads the map file
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
Implicit
None
Character
(
len
=
400
)
::
filename
Character
(
len
=
H5STRLEN
)
::
dataname
Character
(
len
=
H5STRLEN
)
::
groupname
Character
(
len
=
H5_FILENAME_LEN
)
::
filename
Character
(
len
=
H5_STR_LEN
)
::
dataname
Character
(
len
=
H5_STR_LEN
)
::
groupname
Character
(
len
=
8
)
::
charpid
Integer
(
kind
=
hid_t
)
::
file_id
Integer
(
kind
=
hid_t
)
::
gr_id
...
...
@@ -386,13 +380,16 @@ Contains
!> This subroutine reads the particles from the shell files
Subroutine
h5readparticles
()
Implicit
None
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
Character
(
len
=
400
)
::
shellname
Character
(
len
=
H5STRLEN
)
::
dataname
Character
(
len
=
H5STRLEN
)
::
groupname
Character
(
len
=
H5_FILENAME_LEN
)
::
shellname
Character
(
len
=
H5
_
STR
_
LEN
)
::
dataname
Character
(
len
=
H5
_
STR
_
LEN
)
::
groupname
Integer
(
kind
=
hid_t
)
::
file_id
Integer
(
kind
=
hid_t
)
::
gr_id
...
...
@@ -401,7 +398,7 @@ Contains
Integer
(
kind
=
4
)
::
ic
,
ish
Integer
(
kind
=
4
)
::
deb
,
fin
,
n
Integer
(
kind
=
4
)
::
ip
Integer
(
kind
=
PRI
)
::
fid
Integer
(
kind
=
IDKIND
)
::
fid
Integer
(
kind
=
4
),
dimension
(:),
allocatable
::
npartloc
...
...
pfof_cone/src/modparameters.f90
View file @
7f8c50ba
!==============================================================================
! 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
...
...
pfof_cone/src/modvariables.f90
View file @
7f8c50ba
!==============================================================================
! 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
...
...
pfof_cone/src/pfof_cone.f90
View file @
7f8c50ba
!==============================================================================
! 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>