swh:1:snp:54f00113661ea30c800b406eee55ea7a7ea35279
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
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.