sort by:
Revision Author Date Message Commit Date
54398b7 Add Zenodo ID, update SWH commit ID This commit adds the Zenodo ID 5806028 and updates the general software heritage (swh) ID in the README.md file (and swh in metadata.conf). 28 December 2021, 12:14:17 UTC
74ff0f2 Hack to fix temporary LaTeX newtx bug The current version of the 'newtx' LaTeX package in CTAN [1] is version 1.7, which has a bug. The README file at CTAN [1] states that version 1.701 corrects the bug, but version 1.701 is not yet provided on the CTAN mirror servers. This commit provides a hack that should only have an effect if the the buggy file 'newtxtext.sty' (with an unclosed 'if' statement) is the same as in version 1.7 . This commit should be reverted once 1.701 or more recent versions that have fixed the bug are distributed by CTAN. [1] https://www.ctan.org/tex-archive/fonts/newtx 27 December 2021, 20:28:58 UTC
0ba4d10 Start finalising metadata This commit provides a tentative Zenodo ID; and softwareheritage IDs for the gevolution patch file. Footnote 10 should be correctly clickable now. 27 December 2021, 12:41:39 UTC
56849c3 Add missing LaTeX file This commit adds 'reproduce/analysis/bash/uncapitalise_De_bbl.sh', which operates on a bbl file instead of a tex file ('uncapitalise_De.sh' is for a tex file). 27 December 2021, 09:26:53 UTC
e90d195 Remove cubical-cell-volume calculations from 2.3.5.1 This commit removes the recently added paragraphs in Section 2.3.5.1 that compared flat to curved cubical cell volumes, since LATfield2/gevolution do not literally calculate the 3-volumes of cells, and instead perform more advanced flat-space averaging methods. This roughly reverts the section to its state in commit ab9e5fd, but makes several other changes aimed to improve the accuracy. 25 December 2021, 16:30:40 UTC
4306076 S^2 can be tiled by isometric squares This commit fixes an error in 2.3.5.1: S^2 *can* be tiled exactly by isometric squares, but the mesh is based on a single cube; three squares joining at a vertex (one of eight) gives a non-Cartesian mesh. 24 December 2021, 19:37:27 UTC
d0b99bb Finalise pre-submission scripts This commit fixes a few typos and updates the scripts for Zenodo/ArXiv/MNRAS submission. The following *should* work now: ./project make git-bundle ./project make git-snapshot ./project make dist-arXiv ./project make dist-journal ./project make dist-software # HUGE ./project make && mv -v gevcurvtest.pdf gevcurvtest-$(git describe --always --long --dirty).pdf A full run should be done to get the new commit label into the metadata of the *.dat files in .build/analysis/data-to-publish/ . These files will be labelled with a commit ID that is at least one commit behind the submittable commit. 23 December 2021, 18:56:40 UTC
b73f973 Clarifications following chat with Julian This commit makes changes mostly to Section 2.3.5.1 following a 4-hour text chat among Julian, Justyna and I. We switch to \gamma_{ij} for the components of the spatial part of the metric (we could define this to be comoving, but since this is just an illustrative argument, that would seem to be an unnecessary complication). This commit also switches to \mathbb for the style of H, E, S, T, following the common trend in the cosmic topology literature. Errors in (15) are fixed in this commit (thanks Julian :)). 23 December 2021, 01:04:55 UTC
5217219 Further minor tweaks of 2.3.5.1 This commit makes a few more minor tweaks of 2.3.5.1; and in 2.3.5.2 improves the notation of (23) + (24) to avoid literally stating that we have a changing constant. 20 December 2021, 10:16:21 UTC
37d58ea Changes to wording of section 2.3.5.1 Wording of section 2.3.5.1 has been changed to put emphasis that the problem we discuss may be inherent to all numerical relativity codes, not gevolution and LATfield2 alone (as was the intention from the start) 20 December 2021, 09:51:18 UTC
ab9e5fd Fine hone recent changes This commit makes some clarifications to several of the more recent changes to the text, to further improve clarity, in relation to discretisation and projection at the mesh cell level and the keyword "resolution", and the word "mode". 14 December 2021, 11:50:56 UTC
a3dbde9 Restore modes but clarify; other fixes This commit restores the 'mode' terminology, since the Raychaudhuri equation *is* a second order differential equation. However, it also clarifies a few things that are easy to check regarding the different solutions' properties, and points out that the flat growing mode solutions quite likely correspond to \Phi\ne\Psi. The algebra is left to the reader and future work. A few typos are fixed; Section 2.3.5.1 is adjusted a little, attempting to further clarify the text, although it's getting rather long. The Conclusions are updated to match the updated discussion about the decaying/growing modes. 13 December 2021, 17:06:55 UTC
282d0d6 Fix: chi not xi This commit fixes chi: = \Phi - \Psi. 11 December 2021, 02:07:38 UTC
c989e98 More changes thanks to Julian This commit aims to respond to Julian's recent analysis of commit 653ed9c. 1. Section 2.3.5.1 is corrected to clarify that gevolution aims to be background-free; that small differences in a^r(t) vs a^e(6) would allow the reference model scale factor to not affect the accuracy too much; that the projection involved in discretisation to the mesh is to a flat space that is *not* the reference model, but is nevertheless a flat space; and explicit integrals and averaging are defined to clarify that a pointwise metric is not an averaged per-cell metric and that geometrical projections *are* a fundamental (and approximate) element of the calculation. 2. The word 'mode' is replaced by 'branch' or 'solution' to avoid confusion with the superposition of modes of a second order ODE (or PDE); the fact that the growing solution is not a collapsing universe is clarified; the physical relevance of the growing solution is discussed a little more. Minor: A sign error in a power in Eq (1) is fixed. A misleading statement about \Phi = \Psi is written more carefully. We forgot to add Julian in the acknowledgments - this is fixed! 11 December 2021, 01:22:49 UTC
4c37388 Minor wording changes; clarify source This commit removes 'within' in the abstract, since an accuracy 'within' (inside of) a negative value is more tricky to understand than the usual metaphor of being 'within' a certain (positive) accuracy (maximum absolute deviation); and replaces 'any' by 'each' in Section 2.3.5.1 so that the discussion is valid for individual charts for different coordinate patches, that together form an atlas that could, in principle, be used to prove that the spatial section is a manifold. The string 'exp' is changed to 'expected' in the R plotting scripts and the analyse-plot.mk analysis scripts, to avoid confusion with the exponential function e^x. The checksum for analyse-plot.mk is updated because of the change from 'exp' to 'expected'; the numbers remain identical (check this visually with diff or colordiff). 09 December 2021, 10:55:15 UTC
653ed9c Fix selection of max accuracy deviation This commit fixes the analysis in 'reproduce/analysis/make/analyse-plot.mk' of the 'accuracy' lines for gevolution results. The reverse sort of floating point numbers should only consider the third column -k3,3 (range of columns from the 3rd to the 3rd), and ignore the other columns and spacing details. The checksum is updated. This now appears to be consistent with the graphs. 04 December 2021, 11:16:58 UTC
e747d70 Merge branch 'gevcurvtest' of galaxy_git:gevcurvtest into gevcurvtest 04 December 2021, 10:59:09 UTC
69124a3 Section changes, rewordings, typo and minor calculation fixes This commit finishes the check of the paper text, includes additional subsections to better organise the text and fixes typos. Additional change is made to analyse-plot.mk for gevolution accuracy calculations - the percentages were not calculated correctly from the available data. 04 December 2021, 10:48:41 UTC
6bedd5c Fix checksum for analyse-plot.tex The previous commit generated checksums on a system that had not done a fresh run of the analysis step to use the most recent update of R commands for calculating the accuracy of the gevolution numerical code versus the analytical (cosmdist) expected results. This commit updates the checksum for analyse-plot.tex, which should now match calculations that are properly updated. 03 December 2021, 19:48:34 UTC
107fd86 Re-enable verification; update checksums This commit re-enables the verification of the numerical result tables. These are modified because the definition of \epsilon was changed since the last time verification was enabled; and because a few more values (gevolution accuracy estimates) were added to the LaTeX macro list. 03 December 2021, 14:33:04 UTC
0e5fce7 Add Appendix C for decaying/growing mode proof To counter the concern (Krzysztof Bolejko) that uniform perturbations might not have a growing mode, this commit adds Appendix C with an explicit algebraic/calculus calculation showing that both modes are possible in (at least) the EdS case (and the LCDM case has more complicated a(t) behaviour allowed by the extra parameter, making it more likely that multiple long-term trends are possible). A cross-link in the Discussion section 4.2, second para, is added. 02 December 2021, 14:21:17 UTC
785bd7d Fix missing Max in gevolution results This fixes a missing element in the names of the gevolution accuracy results - used in the abstract - the adjective 'Max', because we use the maximum absolute error. TODO: check that this is correctly described in the text... 02 December 2021, 11:38:16 UTC
7c78a8e First set of abstract improvements, wording changes, typo corrections This commit fixes typos and errors in Latex macros, introduces some wording changes for certain sections and clarifies certain terms or aims for the discussions. The fixes are applied up to (not fully including) section 2.1.5.2 of the paper. 02 December 2021, 11:32:07 UTC
7b10560 Add maxima scripts; remove variable ambiguity This commit adds the two maxima scripts for calculating the 3-Ricci curvature and the Einstein tensor time-time part. These are not (currently) run automatically, and are provided as an extra for convenience of those interested. 'reproduce/analysis/maxima/Poisson_gauge_3R.max' 'reproduce/analysis/maxima/Poisson_gauge_Einstein_4D.max' The quadratic equation is also changed into variables alpha, beta, gamma unused elsewhere, and the confusion introduction of \beta for the shift covector is clarified. 01 December 2021, 14:39:12 UTC
da3b330 Julian objections handled: no growing mode This commit should, it seems to me, respond to all of Julian's very useful and detailed comments. There are changes throughout, clarifying that by linearising, gevolution omits the growing homogeneous modes. In the logical order of method through to results and conclusions, there are especially changes in Appendix A; in 2.1.5.2 significantly updating how we give and discuss the equations justifying our method; in 2.2.2 updating how we implement the method in our scripts; in 4.2 of the discussion saying why it would be nice in the future to allow the growing mode; the Conclusions have been split into intro, inhomog, gevolution, summary; the Abstract has been updated and is now around 247 words (the limit is "around 250"); and 'reproduce/analysis/make/run-simulations.mk' was updated so that the gevolution initial perturbation amplitude is written automatically to the abstract rather than by hand. 29 November 2021, 20:13:48 UTC
93b242f Presentation modifs mostly in Appendix A This commit mostly does some presentation style changes in Appendix A, along with fixing cross-refs to App B. The aim is to look good with \togglefalse{showDetailedDerivations} and to look reasonable with \toggletrue{showDetailedDerivations} (the reader of the detailed version should be less fussy about the style). 29 November 2021, 10:22:41 UTC
4c7124a Finished extrinsic curvature calculation This commit finishes the Appendix A extrinsic curvature calculation (with added detailed derivations) and cleans up the appendix a bit. 29 November 2021, 09:31:41 UTC
8da7f2a Fix minor spacing errors This commit fixes unedited minor merge conflicts that were in the previous commit. The previous commit included some more changes updating our handling of the gevolution case. 29 November 2021, 09:15:17 UTC
c84a2e8 Minor spacing This commit should just make some minor spacing changes in the normally hidden part of Appendix B. 29 November 2021, 09:09:13 UTC
b8f0b7f Further work on extrinsic curvature, cosmetic changes to Appendix B 25 November 2021, 11:10:25 UTC
ac6f5a3 Raychaudhuri appendix done If there are no errors, then this commit finishes off providing the Raychaudhuri equation for our setup, which will be used in the discussion - not for calculations. The current commit has \toggletrue{showDetailedRaychaudhuri} set so that the intermediate lines of calculating the derivative, substituting, and simplifying can be checked by hand; for a submittable version, the toggle should be disabled near the top of paper.tex, i.e. with \togglefalse{showDetailedRaychaudhuri}. Although we currently don't plan to use this, we obviously still want it to be correct. A few equation labels are set in this commit for the various forms of the extrinsic curvature in part A of the Appendix, since these are used in the derivation. 22 November 2021, 13:04:03 UTC
60b2fba Appendix A error fix #3 (I push faster than I think) 22 November 2021, 10:42:15 UTC
92659b9 ...missed a(t) power added to Appendix A... 22 November 2021, 10:16:05 UTC
57675c1 Fixed another error in Appendix A... 22 November 2021, 10:14:19 UTC
23bccdc Further changes to appendix A (K_ij calculation) 22 November 2021, 09:29:00 UTC
d191ee6 Appendix: Hamiltonian some corrections; start Raychaudhuri This commit does a few corrections to the Hamiltonian constraint part of the Appendix; and starts the Raychaudhuri equation part of the Appendix. A few other minor changes in the text are done. 19 November 2021, 00:25:40 UTC
a30ac71 Progress on appendix A 11 November 2021, 11:01:43 UTC
e6eb608 Merge branch 'gevcurvtest' of galaxy_git:gevcurvtest into gevcurvtest 11 November 2021, 09:21:45 UTC
355db95 Fix git diff for line element update This commit fixes the choice of git commits for showing the change in Poisson gauge line element from v1.0 to v1.1 of gevolution, and clarifying that the full tree git repository is needed to see the difference. 25 October 2021, 10:23:45 UTC
1b324f9 Merge branch 'gevcurvtest' of galaxy_git:gevcurvtest into gevcurvtest 21 October 2021, 10:25:14 UTC
5fe3493 Update of 5.1.2.1; Julian's points 3+4 This commit updates the text of section 5.1.2.1 and aims to handle Julian's comments 3 and 4. A re-read is still needed. 21 October 2021, 10:15:43 UTC
39d0957 Merge branch 'gevcurvtest' of galaxy_git:gevcurvtest into gevcurvtest 21 October 2021, 09:06:22 UTC
2dd3383 Tiny comment paper changes for merge reasons 21 October 2021, 09:05:43 UTC
8422725 Notation to clarify 2.0; TODO note on R dependencies This commit adds some algebraic notation into Sect 2.0 to clarify the different scales in our motivation and how these relate to the actual calculation; and adds a TODO note that there may be R dependencies missing that require a repeat of the 'configure' script when building. 21 October 2021, 09:00:27 UTC
73e7f7b Further work on Appendix A 14 October 2021, 08:23:01 UTC
439831c Fix bug detected by pipefail and improve fixes for aarch64 bugs This commit (1) fixes a bug detected by 'set -o pipefail'; (2) speeds up compilation of 'icu' by using -j${numthreads} for parallelisation in the 'make' rule in 'high-level.mk'; (3) fixes compilation bugs for coreutils and gcc in a cleaner way than before by upgrading to coreutils-9.0 and gcc-11.2.0 and removing the '--disable-multiarch' option for compiling gcc. A complete configure + make of this commit is expected to run fully on an aarch64 system, apart from the issue of vampires. A "vampire" is defined here as a job that is in the "R" (running) state, using nearly 95-100% of a cpu, for an extremely long time (hours), without producing any output to its log file, and is immune to being killed by the user or root with 'kill -9'. A reboot and relaunch of the './project configure --existing-conf' command is the only solution currently known for vampires. (1) The 'set -o pipefail' command leads to a correct failure of piping a long set of lines through 'head -n2'. This should fail because the command before 'head' does not succeed in outputting all its lines. See: https://stackoverflow.com/questions/62322597/how-to-use-head-in-a-script-with-pipefail-enabled https://stackoverflow.com/questions/41516177/bash-zcat-head-causes-pipefail This commit uses 'sed' to remove all except for the first two lines, so no failure occurs. A science change is that 'tail -n1' is also used, since otherwise the first line is effectively used instead of the second line. (2) The variable ${numthreads} during the configure cycle is the number given in the '-j' option if it is given to ./project configure, or by default, the number of all available cpus if the host system is sufficiently standard that the number is correctly calculated. (3) Coreutils-8.32 and gcc-10.2.0 have bugs in compilation on aarch64, and the --disable-multiarch option causes a bug, and in general should not be used, if the host system is Debian. This commit should fix these problems by removing the option and upgrading to more recent source packages. For details, see the two bug reports: https://savannah.nongnu.org/bugs/?61026 https://savannah.nongnu.org/bugs/?61240 12 October 2021, 20:39:44 UTC
22b11a7 Merge branch 'gevcurvtest' of galaxy_git:gevcurvtest into gevcurvtest 07 October 2021, 08:13:34 UTC
89f95cd Started on appendix A (work very much in progress) 07 October 2021, 08:10:32 UTC
c2538f5 Merge branch 'gevcurvtest' of galaxy:gevcurvtest into gevcurvtest 04 October 2021, 08:12:05 UTC
39f3230 Changes to Figs 5. and 6. Removed the first point from residuals in Figs 5. and 6. to improve readability; added text in captions explaining the change. Added a command stopping the pipeline in case the R plotting script fails for run-gevolution for easier debugging. 03 October 2021, 15:54:45 UTC
a4f04f4 Merge branch 'maneage' into gevcurvtest This updates gevcurvtest to the current commit 775fc036e0 of upstream Maneage, which includes a fix for interference between a system-level libunwind library and compilation of gcc. https://git.maneage.org/project.git/commit/?id=775fc036e0 01 October 2021, 15:27:02 UTC
775fc03 Configuration: GCC not linking to system libunwind (crashed GCC's build) This commit provides a hack/correction to the unwrapped GCC source files that sym-links the generic file 'libgcc/unwind-generic.h' to the two directories in which a file includes "unwind.h" or <unwind.h>. The aim is that the gcc compilation system uses this header file from the internal gcc source files instead of searching for a system-level file 'unwind.h'. This commit also unaliases two 'ls' commands in some build recipes of 'basic.mk' in case the host system (normally at user level) has aliased the command to something like 'ls -F'. In the situation that sometimes occurs of library files being given executable status, the '-F' decorative option could lead to an asterisk being included in a string that is not expected to contain asterisks. If the system shell does not contain the 'alias' command at all, then a fallback of 'true' should provide safe behaviour. The notation of the 'sed' command is also clarified. This solves bug #61240: https://savannah.nongnu.org/bugs/index.php?61240 01 October 2021, 14:15:41 UTC
debf7cd Fixed accuracy calculation (absolute value was not calculated correctly) 30 September 2021, 10:09:30 UTC
c726713 Add icu library to Maneage as needed by R This commit adds the icu (International Components for Unicode) libraries [1] to Maneage, since they are needed by R. This should avoid depending on the host system's choice of libicuuc and libicui18n, improving reproducibility, and should also avoid a failed configure that would occur on a system without the libicu libraries. [1] https://icu.unicode.org 28 September 2021, 11:14:32 UTC
48a6878 Merge of simultaneous changes 28 September 2021, 08:07:07 UTC
f43ff8b Update Section 2.0 - change CD to CP This commit starts updating Section 2.0 to better take into account the issue of the averaging scale - the \CD scale in inhomog, bigger than the DTFE scale; and in gevolution, an averaged effect for Fourier transforms with an effective softening length bigger than the much finer scale (double precision floating point) at which particles are allowed to move. What was earlier called \CD in this section is now called \CP (P for "perturbation"); we can change this if we can think of a better letter or name. 27 September 2021, 10:09:50 UTC
0bb2e33 Modified accuracy epsilon formula + text changes This commit adds some changes to how accuracy for gevolution (and inhomog, due to the small change in eq (20)) is calculated. Added text changes that apply to the new accuracy results and a notice where the text still needs to be updated. 27 September 2021, 07:59:21 UTC
c3ad495 Decaying flat gevn solution: start rewrite This commit introduces a one-cycle delayed density ('source') correction in gevolution main.cpp to correspond to the phi insertion; updates the verify.mk checksums to correspond to the updated calculations; and starts updating the abstract and introduction of the text. 15 September 2021, 22:14:45 UTC
8be339e Further loosen col 4+8 checks in verify-txt-cols123567_48 Columns 4 and 8 in 'verify-txt-cols123567_48' only allow checking at the fourth decimal place (absolute) [an alternative solution would be to find the source of the small arithmetic difference between x86_64 and aarch64]. This commit implements this looser check. 02 September 2021, 21:06:10 UTC
94eff9e Fix bug in verify-txt-cols123567_48 script The verification script 'verify-txt-cols123567_48' did not correctly verify the contents of the files being checked. This commit should fix that bug; and it updates the checksums to match the corrected algorithm. 02 September 2021, 20:41:08 UTC
99d661b Update checksums for updated formulae This commit updates the checksums for the updated expected models; and adds checks on the 4th and 8th columns of the results files, which compare calculated and expected values. This will more completely trace changes in the key results. The portable level of accuracy remains to be verified on different architectures. 02 September 2021, 16:35:29 UTC
df26605 Update run-gevolution to exp(-2\phi) Poisson gauge This commit fixes a few lines in bash/run-gevolution that were still coded for the original 2016 Poisson gauge with (1-2\phi), by updating them to the exp(2\phi) 2017 Poisson gauge format. Since the differences are second order in \phi, in principle the effect on the results should be negligible; however, the effect is noticeable, improving the agreement between the analytical and numerical estimates. 30 August 2021, 08:14:44 UTC
7692650 Drop verification precision to 6 decimal places This commit drops the required verification precision of the 'analysis/data-to-publish/(inhomog|gevolution)_scale_factors*dat' files to 6 decimal places (%.6f) and only tests the main results columns (1,2,3, 5,6,7). This works around a bytewise floating point reproducibility problem between the x86_64 and arm architectures. The previous commits required exact bytewise (after ascii formatting) identity between the expected and calculated files. 23 August 2021, 20:38:56 UTC
236fa6b Minor: add architecture + endian-ness of hardware to intro 23 August 2021, 02:34:41 UTC
f8ba5ca Flat decaying constant phi solution This commit aims to use an analytical estimate of \dot{\phi} in order to more accurately estimate the expected behaviour of the flat decaying constant phi solution. There is still some numerical inaccuracy remaining. The verify.mk checksums were updated in this commit (except for inhomog results), even though this commit is unlikely to have the final form of the calculations. This will at least check verifiability across different systems. 23 August 2021, 02:19:20 UTC
7b93057 Arm64 portability fixes This commit includes three fixes for portability to arm64. All three changes reduce architecture dependence; no specific dependence on arm64 is introduced. (1) fftw-2-2.1.5-4.2 'reproduce/software/patches/config.guess' is a 2018 update of the 'config.guess' script used by './configure' in the autotools-created system for many packages. fftw-2 is still needed by mpgrafic, and it's 'config.guess' filed dated back to 2002, and was too old for the './configure' script to decide how to handle the system, leading to a fatal error. This commit uses the 2018-02-24 version of 'reproduce/software/patches/config.guess' to replace the one provided by fftw-2. The system is semi-recognised as aarch64-unknown-linux-gnu. (2) ghostscript-9.52, libpng-1.6.37 The extra configure option 'CFLAGS="-DPNG_ARM_NEON_OPT=0"' is added to the rules for building libpng and ghostscript in this commit, to prevent a fatal compile-time error resulting from an absent library that is unlikely to be needed in a science project runnable on a non-mobile-phone. (3) fftw-3.3.8 During './configure', the Intel-specific optimisation options ' --enable-avx --enable-sse2' are removed in this commit. This solves the fatal error: 'configure: error: Need a version of gcc with -msse' that results from (presumably) the '--enable-sse2' option. The possible scenarios of "portable machine-specific" optimisation of this sort (e.g. with --enable-neon or --enable-armv8-pmccntr-el0) would presumably require a configure.ac file that detects the cpu type and chooses optimisations only if they are available. Alternatively, it might be considered a bug for './configure' to fail with --enable-sse2 on a non-Intel machine. 12 August 2021, 14:34:53 UTC
41b40e4 Bump cosmdist version to 0.3.12 This commit updates the cosmdist version to 0.3.12 so that an arm64 host system can be recognised by 'config.guess'. The old version of this file, in 0.3.11, dated back to 2002. 12 August 2021, 02:00:17 UTC
b48198d Fix typos in arm64 coreutils bug fix This fix corrects typos in commit 10e129d for fixing the arm64 bug. Coreutils is correctly compiled using this fix. 11 August 2021, 21:29:41 UTC
10e129d Fix for arm64 coreutils bug This commit aims to provide a temporary override for a coreutils-8.32 bug that is known for arm64 systems (e.g. pinephones). See https://savannah.nongnu.org/bugs/?61026 and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966449 . This has not yet been tested. 11 August 2021, 02:02:57 UTC
bd333b9 Update Ostrowski 2020 APPBPS Minor: update published data for Ostrowski (2020). 10 August 2021, 22:54:21 UTC
0f88657 Update Barrera2019, Barrera2020 Reference update. 04 August 2021, 11:59:28 UTC
cb6776a Update Ostrowski (2020) Reference update - Ostrowski (2020) proceedings with turnaround critical Omega values, without the assumption of II = 0 = III. 26 July 2021, 18:57:19 UTC
80b4ad8 Update text to exp type Poisson gauge This commit adds an updated Adamek+17 reference and updates the line element and formulae (16) to (19), compacting the presentation slightly to (16) to (18). The dropping of the \Phi d\Phi/da^r_i term and higher is also now stated explicitly. What is now Eq. (19) continues to be a valid low-order approximation. These changes have not yet been implemented in the cosmdist calculations for gevolution. They should lead to small differences in the results, but not much. 19 July 2021, 12:07:23 UTC
13221d0 Fix authors running header Krzysztof is now in the acknowledgments; this commit removes him from the authors running header. 15 July 2021, 21:09:28 UTC
d8252b0 One-word minor change in text 15 July 2021, 11:07:41 UTC
e306b77 Clarify why the global perturbation is relevant This commit adds a sentence to clarify that failure to match the global perturbation test hints at likely inaccuracies on more local levels. 15 July 2021, 10:25:37 UTC
9b4270e Text updates This commit reworks some of the recent text changes, on topics such as the thought experiment, boundary effects, and our illustrative fix that should in principle work but may be numerically unstable, and in any case does not provide a satisfactory fix. 15 July 2021, 09:43:58 UTC
5f31160 Additions to the paper Method and Discussion sections This commit adds an attempt at a better explanation of our motivations for the used method, as well as of the setting which we choose for our tests. Method section has been updated to remove a TODO section and swapping it with an explanation of our failed gevolution "fix". 14 July 2021, 21:47:45 UTC
d2d193e Fix references; add resource needs to README.md The new references in the previous commit were provided by Crossref.org, which ArXiv unfortunately links to prominently despite this Crossref service censoring ArXiv links! ArXiv links should be provided for ethical reasons [1]. There are other minor problems with the Crossref bibtex data; better use the ADS which is quite GAFAMish, but is still less bad than Crossref for this purpose. This commit fixes the two recently added references, which both *are* available under green open access [2], but are paywalled at JCAP. There is no need to block access to the articles. The README.md is updated for our particular article. The expressions with XXXXX will need to be edited by hand at the time of uploading to Zenodo and ArXiv. [1] https://cosmo.torun.pl/blog/arXiv_refs [2] https://en.wikipedia.org/wiki/Open_access#Colour_naming_system 13 July 2021, 13:07:51 UTC
5ff7ce5 Fix parallel make bug in running simulations Prior to this commit, doing './project make -j 8' from a fresh distribution (e.g. after '/project make clean') did not run all the rules to create the final pdf file. This commit solves this bug by: * simplifying some of the chain of (target: prerequisite) rules in `reproduce/analysis/make/analyse-plot.mk` and `reproduce/analysis/make/run-simulations.mk`; this means that there is a little bit less cross-checking of the style that a human might want to do, but the current setup now seems to work OK; * introducing the '&:' syntax to give the status of 'grouped targets' [1] in two rules in `reproduce/analysis/make/init-N-body.mk` for which the targets are lists of files. See the GNU make rules [1] for the differences between 'independent targets' and 'grouped targets'. The '&:' grouped target syntax appears to be valid starting with GNU make 4.3, which is the version currently provided in this Maneaged package. Having single targets is probably better for beginners, but the option of having either a list of independent targets or a grouped list of targets does seem to be useful and to work. Testing without '-j', with '-j 2', '-j 4' and '-j 8' seems to work OK. [1] https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html 13 July 2021, 11:56:07 UTC
55281fa Forgot to add references for the tex file in the previous commit 13 July 2021, 09:44:51 UTC
d423894 Added missing references for gevolution-based code papers 13 July 2021, 09:23:07 UTC
3d40561 Make rules: add missing dependencies on directory This commit adds two missing dependencies on the 'data-to-publish' directory in `reproduce/analysis/make/analyse-plot.mk`. 13 July 2021, 00:31:43 UTC
6f2c76c Write figure data to verifiable plain text files In this commit, `reproduce/analysis/R/plot_inhomog.R` and `reproduce/analysis/R/plot_gevolution.R` output plain-text column data that new rules in `reproduce/analysis/make/analyse-plot.mk` put together as files in '.build/analysis/data-to-publish', to be posted on ArXiv in 'anc/' and on Zenodo, so that readers can easily replot or analyse the figures in any way that they wish, rather than having to recalculate or digitise them. Moreover, verification checksums only make sense on the plain-text tables, not on postscript versions of figures. Fonts, line styles and so on are not scientifically important. These are added for the figure plain-text files (tables). Bug fix: the missing expression 'scale_x_log10() +' is inserted for the residuals in the inhomog plots. The text 'paper.tex' is updated to point to the Zenodo locations of the plain-text files. 12 July 2021, 22:56:36 UTC
3a1b967 Configuration: fixed bugs in building of OpenSSL and Gettext Until now, the 'RPATH' variable (specifying where to look for shared libraries) wasn't being set in the 'libcrypto' library of OpenSSL (it was only set for the 'libssl' library). Also, Gettext used the host Emacs for some operations during installation that could cause the following crash (because we are giving priority to local libraries, which the host Emacs doesn't recognize): emacs: /BDIR/libcrypto.so.1.1: version `OPENSSL_1_1_1b' not found (required by /lib64/libk5crypto.so.3) With this commit both these bugs have been fixed: 1) Patchelf is run on the 'libcrypto' library also and 2) we pass the '--without-emacs' configuration option to the configure script of Gettext. These bugs were found by Elham Saremi. 12 July 2021, 17:14:46 UTC
596ccdb Update gevolution to 1.2-0404c0b This commit updates gevolution to version 1.2-0404c0b. Do ``` rm .local/version-info/proglib/gevolution-1.2-6960f7e ./project configure --existing-conf rm .build/analysis/gevolution/done-gevolution ./project make ```` to update. For me, this passes the 'verify' checksums for our results. A bit of minor text tidying - mentioning specific versions of gevolution and inhomog, without exaggerating - is also done in this commit. 12 July 2021, 12:03:32 UTC
945b74a Cosmograph is free-licensed; author list; acknowledgments This commit updates the introductory text to clarify that cosmograph (Mertens+Tian) is free-licensed and public, and generally reformats the first few paragraphs to better separate the codes that we do analyse from those that we do not. Generic URLs (without identifying commit hashes) to the codes are provided. The specific commit hashes of codes we use are in the full 'Maneage' reproducibility package. The author list and acknowlegments are also updated. 12 July 2021, 11:21:35 UTC
08a036e Update to cosmdist-0.3.11 and inhomog-0.3.10-1da3bed This commit updates gevcurvtest to use updated versions of cosmdist (now 0.3.11) and inhomog (now 0.1.10-1da3bed). The main change is to allocate moderately big arrays in C dynamically instead of statically. This should fix a bug found on CentOS 7.9.2009. Cosmdist-0.3.11 includes a 'make check' test - the results of the test during installation in Maneage will give a minimum level of confidence that the installed version of cosmdist gives the expected FLRW relations. 08 July 2021, 20:30:24 UTC
9aa7d73 Allow USE_HW_THREADS for low-cpu machines This commit allows a user on a machine with only two cpus, each with two threads, to run this project, by introducing an optional parameter USE_HW_THREADS in `reproduce/analysis/config/Nbody-sim-params.conf`. If you do not wish to use this new option and if you do not wish to re-run the inhomog and gevolution simulations, then after doing 'git pull' to this commit, you may pretend that the configure file is unchanged, by doing something like touch --date=2010-01-01 reproduce/analysis/config/Nbody-sim-params.conf ls -l reproduce/analysis/config/Nbody-sim-params.conf # to check so that the 'make' scripts think that the file is old, and decide that there is no need to re-run the simulations. 04 July 2021, 00:23:31 UTC
860a056 Add TODO note for fixing LATfield2 buffer overflows This commit adds a TODO note for using gcc-10 compile options to help track LATfield2 stack buffer overflow errors. These seem to relate only to text strings for parameter names or text to the terminal, but in principle these are potentially high priority security flaws. 03 July 2021, 16:57:29 UTC
fa64943 State fundamental domain size and initial ref-model scale factor Prior to this commit, the text of the paper did not state either the fundamental domain (FD) size (informally called the "box size") or the initial reference-model scale factor. Also, the gevolution FD size was a lot bigger than that used by mpgrafic/ramses/inhomog. In this commit, the same FD sizes are used, from a single parameter set in `reproduce/analysis/config/Nbody-sim-params.conf`, and reported in the respective results sections for the two codes. The initial ref-model scale factors (differing between the two codes) are now stated in Table 1. The change in the gevolution FD size (to match that of inhomog) induces small changes in the results, e.g. a^e_{FLRW}(a^r=1) for gevolution changes from 1.01097 to 1.01077, so the verification checksums are updated in this commit. Some other small fixes are made in this commit. To update to this commit, the minor change in gevolution (the zeroed power spectrum extends to higher k) needs to be used. First re-install gevolution: rm .local/version-info/proglib/gevolution-1.2-6960f7e ./project configure --existing-conf and then ./project make clean-gevolution ./project make and please provide log files if there are bugs. 01 July 2021, 22:37:38 UTC
54b470c Reproducibility: prevent cpu registers from being too precise In some cpus, the 'registers' (physical components temporarily holding some bytes of information) can hold better precision than is strictly required for a 'double' precision value. When the results of a series of calculations are written from the registers back into ordinary memory (RAM), the extra precision is lost, but the intermediate calculations made within the register may have been done with improved accuracy, so that the final 'double' written to RAM is better (more accurate) than it "should be". However, if we want our calculations to be bytewise reproducible, then we don't want this extra precision, because machines will vary about extra register precision of this sort. For this reason, this commit adds the '-ffloat-store' option, briefly explained in [1], when compiling 'inhomog'. This compile option might be needed for other numerical sensitive calculations for the purposes of reproducibility. Prior to this commit, two different Intel x86_64 (64-bit) little-endian machines gave incompatible results (such as -0.599% vs -0.66%; and 0.447% vs 0.513%; inaccuracies in 'inhomog' results). With -ffloat-store, both currently give -0.599% and 0.447%. [1] https://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Optimize-Options.html 30 June 2021, 16:43:25 UTC
7eadee5 Minor: fix reversed sprintf precision in plot_inhomog.R 30 June 2021, 16:28:16 UTC
ee1f1ec Remove omega_radiation; cosmdist-0.3.9; inhomog discussion This commit sets --omega_radiation=0.0 in calls to 'cosmdist', in order to match what is done in 'inhomog' and 'gevolution'. Cosmdist is also updated to 0.3.9, so it should work on non-glibc systems such as Darwin/macOS/xnu without needing an arbitrary hack. The discussion of the inhomog results is significantly extended, and the abstract and conclusion are slightly updated to match that. The systematic trends in the residuals seem unlikely to be a problem in calculational accuracy, and instead seem more likely to be a QZA limitation. This shows that the "non-perturbative FLRW perturbation test" does not just confirm QZA, it rather shows weaknesses of both inhomog *and* gevolution. 29 June 2021, 23:58:17 UTC
d560677 Add Table 1 as plain text table In this commit, Table 1 (the only one, so far) is output as a plain-text table in `.build/analysis/data-to-publish/`, with the intention of uploading it to Zenodo; and in anc/ in ArXiv, for the convenience of readers. This new output is added to `reproduce/analysis/make/verify.mk`, so that any unexpected changes have to be checked. The checksum for `analyse-plot.tex` has been updated, because a useless dummy LaTeX macro was removed. 28 June 2021, 21:45:16 UTC
7e570f3 First try at the verification step This commit enables the verification step, by calculating an md5sum on the non-comment lines of `.build/analysis/tex/macros/analyse-plot.tex`. Byte-for-byte reproducibility in the numerical values in that file is probably too strict (after all, LATfield2 just had a recent discovery of a stack buffer overflow), so this test might have to be loosened into a statistical verification instead. 26 June 2021, 23:19:26 UTC
3aefabd Add table with curr epoch cosm pars + final a^e This commit does some grepping of the output files and feeds values through to a table in the paper. This lets us talk clearly about the curvature in each of the eight cases. The corresponding parts of the text have been completed and updated. Some of the notation, especially for the captions of Figs 4+5, has been clarified, to try to stick to a more uniform notation in terms of the various things that we compare. 26 June 2021, 22:18:37 UTC
a26ce4f Check if /dev/shm allows execution This commit implements the upstream maneage fix b97c1ff..016d938. Some systems are 'hardened' to reduce the chance of being cracked: they do not allow files on /tmp or /dev/shm to be executed. A system of this type failed to build software in Maneage because of this security feature. See https://savannah.nongnu.org/bugs/index.php?60819 for the bug report and the details of this fix. 25 June 2021, 22:44:53 UTC
016d938 Configuration: New check to see if /dev/shm allows execution On systems that allow it (like GNU/Linux systems), Maneage will build the necessary software in shared memory (a directory that is actually in the RAM, not on an SSD/HDD, on GNU/Linux systems, it is '/dev/shm'). This allows Maneage to operate faster and not harm the HDD/SSD with all the temporary writing of many small files. Until now, we would only check that this directory exists and that it has enough space. However, some systems also set the 'noexec' flag on shared memory for security reasons [1]. This causes Maneage to crash upon building of the software in later phases. With this commit, at the very start of the configuration step, and after all other shared-memory checks are done, a dummy executable script file is created there and its execution is tested. If it doesn't work, shared memory will not be used at all. In the process, the steps dealing with the software building directory in the configure script have been brought in one place and comments were added to further clarify every step. This commit was initially done by Boud Roukema and later edited by Mohammad Akhlaghi. [1] https://web.archive.org/web/20210624192819/https://serverfault.com/questions/72356/how-useful-is-mounting-tmp-noexec 25 June 2021, 18:20:02 UTC
38d1249 Add GSL as a prerequisite of cosmdist The cosmdist package should have gsl as a prerequisite. This commit fixes that missing dependence in `reproduce/software/make/high-level.mk`. 25 June 2021, 07:28:16 UTC
back to top