swh:1:snp:54f00113661ea30c800b406eee55ea7a7ea35279
Raw File
Tip revision: 8343a88a60ddf878426a7da149c11691417935c4 authored by Raul Infante-Sainz on 21 August 2020, 09:24:47 UTC
Changed eigen URL tarball from bitbucket to Mohammad's web
Tip revision: 8343a88
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?

   - 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]).

* init-conditions

* run-simulation

* detect-haloes

* create-mergertree

* create-galaxies


Software maintainability/security/convenience
=============================================

* General

** easy/fast: Replace /usr/bin in analysis/make/*.mk scripts by the
   'maneage' pwd

** easy: Install killall into maneage.

** 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.

* 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).

* create-mergertree

* create-galaxies
   - Report gcc-10.1.0 -fno-common default upstream to SAGE, with -fcommon
      as temporary hack


* 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.
back to top