Revision 667ffc4b29390a698e61bf5081e94fa93cadb7ca authored by Boud Roukema on 30 November 2020, 02:40:23 UTC, committed by Boud Roukema on 30 November 2020, 02:40:23 UTC
This commit proposes a fix for referee specific comment 10 and major comment 3. The term LSBG is removed from Section 3.1. Comparisons with the Bootes and SDSS void surveys are added to Section 3.3.
1 parent 9fcccc6
TODO
TODO tasks. Please put higher priority items higher up, within a
section.
Scientific accuracy
===================
* general
- Do T^3 r_+ distances throughout, to avoid wasting
computational area at the faces of the fundamental domain: are there
any missing?
* init-conditions
- The mass for a single dark matter particle in a run using Ncroot=128,
Lbox=80, OmegaM=0.3, OmegaL=0.7 and Hubble0=70 is about 2e10
M_\odot. Together with the setting of rockstar_min_halo_particles=5,
this gives a halo mass detection threshold of 1e11 M_\odot. It would
be reasonable to improve this in the future to get towards the dwarf
regime. Simulations with higher particle resolution should show the
effects for lower mass host haloes.
* run-simulation
* detect-haloes
* create-mergertree
* create-galaxies
Contribute back to the community
================================
* Consider uploading some of the hacks as git branches + pull requests
to the upstream packages, and/or to individual repositories
(io_gadget/merge_gadget.c, io_gadget/read_gadget.[ch]).
* detect-haloes
- Email reminder to Peter Behroozi + Manodeep to suggest that they
handle the rockstar and consistent-trees Issues from 2019 and early
2020.
- Report gcc-10.1.0 -fno-common default upstream to rockstar, with -fcommon
as temporary hack (as of 2020-08-08, this is still waiting to be
confirmed if this is the way to fix this bug/feature of gcc-10.1.0).
- Propose our patch 20200918_rockstar_pid_file.patch for writing out
pid's to a file, for ease of killing of orphan processes, upstream
to rockstar.
- Discuss (same or separate issue) the risks of having
orphan rockstar main processes running in parallel with a
minimal working example as evidence that independent sessions in
independent directories, by the same user on the same machine,
could have the second server (the one started with -c auto-rockstar.cfg)
communicate with the wrong first server (the one started
with -c server.cfg).
* create-galaxies
* paper.mk
- Contribute the rule 'clean-paper' upstream to Maneage. This avoids
having to redo the full calculations when you only want to regenerate
LaTeX macros from calculation/analysis/plotting output files.
Software maintainability/security/convenience
=============================================
* General
** There are many np.where calls in the python scripts that are not
protected right and may fail in some cases; the general form
(np.array(np.where(<some logical test>)))[0] should work in all cases
where we want a 1D numpy array. Any fixes for this should be properly
tested, of course.
** Most of the more modular python scripts have unit tests; these should be
run automatically and checked.
** Most of the long make rules can be made much easier to read and debug
thanks to .ONESHELL: and .SHELLFLAGS = -ec; see
https://codeberg.org/boud/elaphrocentre/issues/2
* init-conditions
- If/when Simon Prunet updates mpgrafic to fftw3, then update the
version used here.
* run-simulation
- Update to a more modern version of RAMSES. Unless
ramses-scalav/inhomog are going to used sooner or later, these can be
decoupled from RAMSES itself, reducing the number of dependencies.
* create-mergertree
* detect-voids
- Update to Revolver commit cbaf2d5 from 2019-08-16 for python3.
- The Revolver main script revolver.py appears to have a missing 'main'
part; the main python_tools/*.py scripts appear to be missing these
too. See
e.g. https://stackoverflow.com/questions/4041238/why-use-def-main
- The sharable library io_gadget.so should not have to be copied into
the working directory.
* analyse-plot
- The % notation for writing to a string is no longer recommended in
python - this should be updated in reproduce/analysis/python/*.py .
- Does recompiling revolver force healpy and healpix to be recompiled?
If yes, then this should be unnecessary - remove this wrong dependence.
- Some multiprocess parallelisation of the python analysis/plotting
routines would make sense - it's ironic to run an N-body simulation on M
threads reasonably fast and then do the final analysis very slowly on
just one.
- Do more checks for the validity of input files, since old undeleted
files can give infinite loops in the section
"for sage_infall_file in glob.iglob(sage_outs + '**/infall*.list', recursive=True):"
Computing file changes ...