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
Raw File
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):"
back to top