Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new public version of hi_class (merged also latest Class) #15

Merged
merged 826 commits into from
May 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
826 commits
Select commit Hold shift + click to select a range
7a99f4b
Replace densities and added shift current for beyond horndeski
emiliobellini Mar 9, 2021
c5857da
Implemented alphas beyond horndeski
emiliobellini Mar 9, 2021
9a095ba
updated common.c/h and all other tools. Propagated change in input
lesgourg Mar 10, 2021
9b50541
placed RealSpaceInterface in external/ directory
lesgourg Mar 10, 2021
950745a
removed RealSpaceInterface from root directory
lesgourg Mar 10, 2021
2723a22
placed external_Pk in external/ directory
lesgourg Mar 10, 2021
49cb8b3
removed external_Pk from root directory
lesgourg Mar 10, 2021
2f69b71
placed bbn in external/ directory
lesgourg Mar 10, 2021
7ec31eb
removed bbn from root directory
lesgourg Mar 10, 2021
5845ae0
deleted CPU (old version of CPU.py), ready for 2.10.0
lesgourg Mar 10, 2021
4bc86b3
Implemented B0-B1 and massaged the other functions
emiliobellini Mar 10, 2021
8ca6a57
updated input.c/h and propagated changes to precisions, macro_precisi…
lesgourg Mar 10, 2021
d3099e2
updated background.c/h and propagated changes to precisions, cclassy,…
lesgourg Mar 11, 2021
3c5e16c
updated thermodynamics.c/h, added HyRec2020, RecfastCLASS, heating, p…
lesgourg Mar 11, 2021
204b722
deleted old hyrec
lesgourg Mar 11, 2021
175a4fb
updated four input files, ready for 2.10.3
lesgourg Mar 11, 2021
10f727b
updated perturbations.c/h, ready for 2.10.4
lesgourg Mar 11, 2021
e0743be
very minor updates to primordial, nonlinear, transfer, spectra, lensi…
lesgourg Mar 11, 2021
d14fcf1
added distortion module and noninjection, propagated changes to Makef…
lesgourg Mar 11, 2021
7803c19
updated all notebooks and pythin scripts, ready for 2.10.7
lesgourg Mar 11, 2021
22c2c2c
updated doc, cpp, output, test
lesgourg Mar 11, 2021
12b25f2
added CLASS_rename.py, ready for 2.10.8
lesgourg Mar 11, 2021
95eb770
Updated common.c/h and other tools. Propagated change to input. Moved…
lesgourg Mar 11, 2021
a848cd3
Updated input.c/h. Propagated changes to precisions, macros_precision…
lesgourg Mar 11, 2021
a5f2c6d
Updated background.c/h. Propagated changes to precisions, cclassy, cl…
lesgourg Mar 11, 2021
0604229
Updated thermodynamics.c/h and all input files. Added HyRec2020, Recf…
lesgourg Mar 11, 2021
7a1f320
Updated perturbations.c/h.
lesgourg Mar 11, 2021
b1cc5b2
Updated primordial.c/h, nonlinear.c/h, transfer.c/h, spectra.c/h, len…
lesgourg Mar 11, 2021
2076976
Updated distortion.c/h. Added noninjection.c/h, Oropagated changes to…
lesgourg Mar 11, 2021
7e6f778
Updated all notebooks and python scripts.
lesgourg Mar 11, 2021
3ab95b8
Added CLASS_rename. Updated doc, cpp/, output/, test/.
lesgourg Mar 11, 2021
873c54b
Automatically renamed with CLASS_rename. Version number updated to 3.…
lesgourg Mar 11, 2021
1689657
v3.0.0 obtained automatically from 2.10.8 with CLASS_rename. Doc reco…
lesgourg Mar 11, 2021
801a3bb
Fixed wrong sign in the new density definition and implemented B2
emiliobellini Mar 12, 2021
09a0239
Fixed notation for the B's
emiliobellini Mar 12, 2021
f91c162
Implemented B3-B7
emiliobellini Mar 15, 2021
4472e94
Implemented all B's
emiliobellini Mar 16, 2021
2edf0e3
Merge pull request #18 from carlosggarcia/hi_class
miguelzuma Mar 16, 2021
3d98901
Implemented alphaH_prime
emiliobellini Mar 16, 2021
eb0d104
Implemented structure for A's
emiliobellini Mar 16, 2021
da7877a
Updated Hyrec2020 to be aligned with the nanoomlee github repository …
schoeneberg Mar 19, 2021
fcb2008
Merge pull request #14 from lesgourg/13-hyrec2-update
lesgourg Mar 19, 2021
8794cf3
new version number 3.0.1
lesgourg Mar 19, 2021
4724295
Updated Hyrec2020
lesgourg Mar 19, 2021
b911118
Implemented all A's
emiliobellini Mar 23, 2021
1009fa5
Implemented structure for the C's
emiliobellini Mar 23, 2021
7dc7f88
Implemented C's
emiliobellini Mar 23, 2021
d903118
Implemented Einstein equations (follow TODO_EB for missing stuff)
emiliobellini Mar 23, 2021
fe2d422
Fixed indentation issues reported in issue #16. (#21)
dchooper Mar 24, 2021
37db994
Stabilised A6
emiliobellini Mar 24, 2021
8cead18
Massaged A12
emiliobellini Mar 24, 2021
a107104
Fixed typo in background output colunms
emiliobellini Mar 24, 2021
90ae966
Fixing the issue #6 (#15)
schoeneberg Mar 25, 2021
a660408
Implemented new formalism in perturbations. Still have to clean the o…
emiliobellini Mar 25, 2021
bb3a044
Implemented QS approximation
emiliobellini Mar 26, 2021
a979050
Moved D' in the third background loop
emiliobellini Mar 26, 2021
45f5187
changed name of quasi static quantities
emiliobellini Mar 26, 2021
d958d16
Merge remote-tracking branch 'miguelzuma/hi_class' into hi_class
emiliobellini Mar 29, 2021
b97f407
Merge branch 'hi_class' into gravity_dream
emiliobellini Mar 29, 2021
cc15622
Implemented Einstein 00 test
emiliobellini Apr 1, 2021
e7d906d
Replaced allow_bg_oscillations_smg with use_pert_var_deltaphi
emiliobellini Apr 1, 2021
7ae2ccb
Replaced all vx_smg's with x_smg's
emiliobellini Apr 1, 2021
f3ed0c7
Now the code complains if one chooses to evolve delta_phi and paramet…
emiliobellini Apr 1, 2021
f8db374
Improved background and perturbation output columns
emiliobellini Apr 1, 2021
cf5c14f
Extensive modification of test_class.py for use in workflows (#31)
ThomasTram Apr 27, 2021
3e26415
Fixed memory leak (#32)
ThomasTram Apr 27, 2021
531276f
Add workflows for continuous integration (#23)
ThomasTram Apr 29, 2021
9d9e1ee
Fix memory leak during shooting (#29)
ThomasTram Apr 29, 2021
8dc7625
25 fix ncdm memory leak in ncdm input (#30)
ThomasTram Apr 29, 2021
11eb089
Add test for scalar perturbations to avoid buffer overflow (#33)
ThomasTram Apr 29, 2021
db59433
Fixed two small bugs (#34)
ThomasTram Apr 29, 2021
99a594b
Modified .gitignore
emiliobellini May 6, 2021
6a9b03b
Merge commit '2dd9238f65ef14a02a7553716eb9c7581bc1c511' into classv3
emiliobellini May 6, 2021
cb09659
Merge commit '95eb770f3bfdd07ba92616a2ca22bcecd0f37a7e' into classv3
emiliobellini May 6, 2021
4d9890a
Fixing issue #37 to include the fraction of DM that annihilates. (#41)
schoeneberg May 7, 2021
8073c34
Fixing issue #35 (#42)
schoeneberg May 7, 2021
1fab26e
Renaming "fourier" to "nonlinear" in relevant functions (#47)
schoeneberg Jun 4, 2021
c5b7e70
Fix for issue 44 deprecated nonlinear fourier minkmax (#45)
schoeneberg Jun 4, 2021
0c90b7f
Increased default precision of nonlinear_min_k_max (#49)
schoeneberg Jun 4, 2021
bc87f7a
Fixed minor stile issue in if conditional
emiliobellini Jun 29, 2021
7941e9e
Added if statement to perform test only when has_smg
emiliobellini Aug 2, 2021
20e2ace
Added missing B0 definition (otherwise segfault)
emiliobellini Aug 3, 2021
cc4c506
Partially modified the perturb_einstein structure
emiliobellini Aug 5, 2021
cc7555a
Another set of equations for x and x' when QS and h' calculated throu…
emiliobellini Aug 6, 2021
d8f561c
Removed redoundant background and thermodynamics free to avoid segfault
emiliobellini Aug 9, 2021
9a395c2
Checking einstein00 vs trace
emiliobellini Aug 17, 2021
74a95f0
Implemented get_h_from_trace also for GR
emiliobellini Sep 1, 2021
d6ea663
Added if (input_verbose > 0) on some warning messages
emiliobellini Sep 7, 2021
f4b5535
version number updated to 3.0.2 (#53)
lesgourg Sep 8, 2021
f57047a
Fixing issues of indentation, memory leaks (in hyrec, shooting, ncdm)…
lesgourg Sep 8, 2021
2ed7cfd
Changed reference branch from master to devel (#58)
ThomasTram Sep 9, 2021
7ccb83d
Implemented a single function to calculate qs quantities at a given time
emiliobellini Sep 14, 2021
6637c64
Added to the output of perturbations the QS quantities
emiliobellini Sep 14, 2021
c27508e
Added a function to get the QS quantities from the python wrapper
emiliobellini Sep 15, 2021
b20bf6e
Fixed bug when computing kinetic_D_over_phiphi
emiliobellini Sep 16, 2021
0cb2c1a
Added a)ini_test_qs_smg to control the initial state of the QS approx…
emiliobellini Sep 20, 2021
ad11bc0
Added G_eff functions (with different conventions) from transfer module
emiliobellini Sep 21, 2021
7e96c53
Implementation of varying fundamental constants in CLASS (agrees with…
schoeneberg Sep 23, 2021
c993c2f
fixes issue #54
lesgourg Sep 8, 2021
73657dc
Fixed a few more char sizes, as well as uninitialized variable errors.
schoeneberg Sep 23, 2021
515b799
Implemented placeholder for hi_class externalisation
emiliobellini Sep 24, 2021
4814b7d
Externalised background_gravity_functions
emiliobellini Sep 27, 2021
4caa9fe
Prepared structure for external modules and moved background_gravity_…
emiliobellini Sep 27, 2021
121d13d
externalised nonlinear module
emiliobellini Sep 27, 2021
5a2cf19
externalised already defined functions from perturbations
emiliobellini Sep 27, 2021
9d8bba4
work in progress
emiliobellini Sep 28, 2021
103b22d
59 update hyrec bis (#61)
lesgourg Sep 29, 2021
ef8c203
Fixing some small memory issues (uninitialized variables) for the var…
schoeneberg Sep 29, 2021
70500cc
defined Omega0_nfsm (non-free-streaming matter) used by HyRec; update…
lesgourg Sep 29, 2021
a8ffc62
updated doxygen doc for the release of 3.1 (#66)
lesgourg Sep 30, 2021
af4e589
Implementation of varying fundamental constants alpha and m_e
lesgourg Sep 30, 2021
553aad7
Defined three ew macros in common.h to call hi_class code
emiliobellini Oct 12, 2021
0df55d1
Implemented new hi_class macros in nonlinear.c
emiliobellini Oct 12, 2021
d6e9c34
Moved some code to background_smg
emiliobellini Oct 12, 2021
849b8be
Simplified the main hi_class macros structure and externalised more b…
emiliobellini Oct 13, 2021
f8b5be8
Externalised all background.c
emiliobellini Oct 13, 2021
3f69812
Externalised background.h
emiliobellini Oct 13, 2021
cefa277
Added tau_scheme_qs_smg to the perturb_workspace
emiliobellini Oct 14, 2021
669e1c4
externalised perturb IC
emiliobellini Oct 15, 2021
2a78501
Externalised perturbations.c
emiliobellini Oct 15, 2021
d991114
Externalised precision parameters
emiliobellini Oct 15, 2021
e95ed9f
Started externalisation of input
emiliobellini Oct 18, 2021
5f4c7ea
Externalised some input.c
emiliobellini Oct 19, 2021
78f4b85
Exported input (and defined other macros)
emiliobellini Oct 19, 2021
8e283f2
Fixed few bugs related to the externalisation
emiliobellini Oct 19, 2021
fa9f126
Removed macros
emiliobellini Oct 20, 2021
cd055a1
Added Omega_m (#68)
schoeneberg Nov 23, 2021
ce5f265
Merge commit 'd6ea663acd633acf8c04d286d3e133b1562e34d8' into classv3
emiliobellini Nov 29, 2021
12a1608
Merge commit '8e283f293723a5704b7dfd0c9772cdb84bcc4421' into classv3
emiliobellini Nov 29, 2021
ee25e36
Merge branch 'gravity_dream_no_macros' into classv3
emiliobellini Nov 29, 2021
eea7b7a
replace source with class v3.1.0 vanilla
emiliobellini Nov 29, 2021
487e4cf
Replaced include with class v3.1.0 vanilla
emiliobellini Nov 29, 2021
963a169
Merge remote-tracking branch 'class_public/master' into classv3
emiliobellini Nov 29, 2021
3467992
restored smg in includes
emiliobellini Nov 29, 2021
eb9f8f5
restored smg fourier.c
emiliobellini Nov 30, 2021
1bbf82d
restored smg in background.c
emiliobellini Nov 30, 2021
8ab65d8
restored smg in input.c
emiliobellini Nov 30, 2021
5dec38f
restored smg in perturbations.c
emiliobellini Nov 30, 2021
f0a4311
Now hi_class compiles
emiliobellini Nov 30, 2021
22a55d8
fixed few bgs in the background integration (mainly because now the i…
emiliobellini Dec 2, 2021
374b0cf
Fixed bug with M_pl_tuning_smg
emiliobellini Dec 2, 2021
aa3bdcc
Ad hoc fix to avoid 0/0 in G_eff and slip (derived parameters)
emiliobellini Dec 2, 2021
382d5df
Encapsulated Bs and Cs in if field_evolution_smg
emiliobellini Dec 2, 2021
5d6ee22
pvecback_derivs are now w.r.t. loga
emiliobellini Dec 2, 2021
42dd918
Fixing the bug pointed out by Fereshteh Majidi, where a MU distortion…
schoeneberg Dec 3, 2021
2fb21a4
If Omega_smg==0 no shooting
emiliobellini Dec 3, 2021
c6a8ff3
70 perturbations at tau and k (#73)
lesgourg Dec 7, 2021
93a219c
version number updated to 3.1.1 (#75)
lesgourg Dec 7, 2021
8b0722f
added Omega_m and perturbations_at_tau features, fixed minor errors
lesgourg Dec 7, 2021
2b46509
Fixed bug with current and shift computation
emiliobellini Dec 7, 2021
3257842
Merge remote-tracking branch 'class_public/master' into classv3
emiliobellini Dec 14, 2021
a0eb57f
Moved few background quantities to field_evolution_smg
emiliobellini Dec 15, 2021
679f3ef
Removed some redountant definition in the classy wrapper
emiliobellini Dec 15, 2021
804bc19
Fixed a segfault
emiliobellini Dec 15, 2021
1264a3e
Added regulator to cs2
emiliobellini Dec 15, 2021
9d33a8d
Implemented allowing h_units for the radius input of sigma(R,z) (#77)
schoeneberg Jan 18, 2022
7516c4c
fixed minor bug with k_max
emiliobellini Feb 22, 2022
7f133e0
79 euclid additions (#82)
lesgourg Feb 22, 2022
0a93fad
Several small changes, mainly in classy, and mainly for the purpose o…
lesgourg Feb 22, 2022
1842f08
Disallowing negative values of the energy density fractions for the v…
schoeneberg Feb 22, 2022
b7f14ec
Implemented improved shooting for sigma8 (#84)
schoeneberg Feb 25, 2022
6a13674
Merge tag 'v3.1.2' into classv3
emiliobellini Feb 28, 2022
870116e
86 segfault transfer k and z (#87)
schoeneberg Mar 2, 2022
b6acd12
Added documentation plus some small maquillage to the fourier_smg.c f…
emiliobellini Mar 4, 2022
efcae8f
Polished a bit perturbations.c and related files
emiliobellini Mar 5, 2022
ffbf1c6
Polished a bit perturbations.c and related files (2nd round)
emiliobellini Mar 7, 2022
917008b
Polished a bit perturbations.c and related files (3rd round)
emiliobellini Mar 8, 2022
97a0a31
Polished a bit perturbations.c and related files (final round)
emiliobellini Mar 8, 2022
f22b386
moved hiclass headers to gravity_Smg
emiliobellini Mar 8, 2022
42ccd3b
Polished a bit input.c and related files
emiliobellini Mar 8, 2022
366b2e2
Polished a bit background.c and related files
emiliobellini Mar 8, 2022
aa190e4
Created function to copy to background_table
emiliobellini Mar 9, 2022
ab3a706
Modified gravity_functions and gravity_models. 1st step
emiliobellini Mar 10, 2022
cefe500
Modified gravity_functions and gravity_models. 1st step
emiliobellini Mar 10, 2022
f9d7b38
externalised gravity_functions
emiliobellini Mar 11, 2022
df20165
externalised gravity_modules
emiliobellini Mar 11, 2022
7af23cd
Fixed bug in gravity models
emiliobellini Mar 14, 2022
705f4c9
Adjusted minimum scale factor at which stability is tested
emiliobellini Mar 16, 2022
39c8003
line endings compatibility
emiliobellini Mar 16, 2022
77f2938
88 missing dcdmdr budget (#89)
schoeneberg Mar 24, 2022
de055a9
Improved shooting method for sigma8; bug fix for dcdm; removed memory…
lesgourg Mar 24, 2022
bc29711
90 Implement interacting dark matter following 2010.04074 (#91)
dchooper Mar 29, 2022
ea56c5d
doc updated for 3.2.0 (#93)
lesgourg Mar 29, 2022
aa92943
Implement interacting dark matter following 2010.04074
lesgourg Mar 29, 2022
46959e2
Fixed bug setting source for x_prime_smg
emiliobellini Apr 4, 2022
635126d
Moved hiclass includes in their own folder
emiliobellini Apr 12, 2022
3a6bc84
In perturbations.c moved perturbations_tests_smg after perturbations_…
emiliobellini Jun 8, 2022
b8fdda2
changed hi_class.ini
emiliobellini Jun 8, 2022
7b65725
new classy function scale_dependent_growth_factor_f() (#96)
lesgourg Jun 22, 2022
dbe9dea
Fixed typo in verbose gravity_models
emiliobellini Jun 22, 2022
c3a4f4c
Made more uniform the notation for the effective planck mass (mpl, m_…
emiliobellini Jun 22, 2022
4b67065
Further step to fix the notation
emiliobellini Jun 22, 2022
cb05dd2
Added todo comment
emiliobellini Jun 23, 2022
7f90cfe
Fixed bug for M2_evolution_smg == False
emiliobellini Jun 27, 2022
f80632f
Stripped parameter names before inserting in file struct so parameter…
schoeneberg Aug 30, 2022
8147907
Made get_pk_all more efficient by re-using the k-based spline (#106)
schoeneberg Nov 14, 2022
29dac42
Added python compatible input and derived parameters (#100)
schoeneberg Nov 15, 2022
60513da
Updating the default file paths (#109)
schoeneberg Nov 15, 2022
c5e9f8b
fixed rounding errors for issue 107 (#108)
lesgourg Nov 16, 2022
ee02945
Proper iteration through dicts (#110)
schoeneberg Nov 16, 2022
a0fe3e0
Removing the memory leak of reionization reading list of doubles. (#112)
schoeneberg Nov 16, 2022
f28ad3d
Fixed bug in attractor_ic_smg
emiliobellini Nov 25, 2022
ef98345
Fixed bug when getting tuning index
emiliobellini Nov 25, 2022
7bc249c
removed hardcoded 7 in class_alloc parameters_smg for galileons
emiliobellini Nov 25, 2022
91afceb
Fixed bug with tuning_dxdy_guess_smg. it was read as integer
emiliobellini Nov 25, 2022
58560c3
Merge tag 'v3.1.3' into gravity_dream
emiliobellini Dec 6, 2022
bf6b57c
Merge tag 'v3.2.0' into gravity_dream
emiliobellini Dec 6, 2022
8c57649
Fixed bug in QS approximation
emiliobellini Feb 21, 2023
11b361d
Added gitignore
emiliobellini Feb 27, 2023
69a66b7
Implemented scale dependent growth factor D and growth rate f in clas…
emiliobellini Feb 27, 2023
0edbdc3
Improved algorithm to calculate scale dependent D and f
emiliobellini Feb 28, 2023
a51b4c7
Fixes segmentation fault (issue 127) when including tensor modes (#128)
ThomasTram Feb 28, 2023
469787f
Implemented one sided derivative for f close to z_max_pk
emiliobellini Mar 1, 2023
a3e7bef
Fixed bug in scale dep f
emiliobellini Mar 1, 2023
1d82cca
Fixed bug in scale dep f 2
emiliobellini Mar 1, 2023
901b4bb
Fixed the negative dimension bug in classy (#113)
schoeneberg Apr 26, 2023
1ad8078
Removed memory usage mismatch (#115)
schoeneberg Apr 26, 2023
639b5e9
Corrected uninitialized PhiL instead being set to zero (#126)
schoeneberg Apr 26, 2023
1c8b77c
Corrected the typos accoridng to class_public issue #472 (#117)
schoeneberg Apr 26, 2023
3160be0
fixed bug in quintessence monomial
emiliobellini Apr 28, 2023
54e1e96
implemented beyond horndeski cs2
emiliobellini Jun 15, 2023
eecf0e0
fixed memory leaks
emiliobellini Jul 4, 2023
52104d5
removed redoundant allocation
emiliobellini Jul 5, 2023
60a9d67
fixed memory leaks
emiliobellini Jul 5, 2023
e7afe53
fixed segfault
emiliobellini Jul 5, 2023
6d0a3fe
Removed cpdef'ed variables and DEF statements (#136)
ThomasTram Oct 10, 2023
4e1788d
Increased precision of background table by one order of magnitude acc…
schoeneberg Oct 10, 2023
b8b0a6e
Implemented S8 as an input/output parameter (#124)
schoeneberg Oct 10, 2023
8dec190
Replaced nasty segmentation faults when requesting sigma8 without hav…
schoeneberg Oct 10, 2023
62053c2
In perturbations_output_data_at_z, the external loop on index_k when …
CyrilPitrou Oct 10, 2023
4519530
cl_ref.pre in agreement with new perturbations_ denominations (#134)
CyrilPitrou Oct 10, 2023
affc5c9
updated version number to v3.2.1 (#139)
lesgourg Oct 10, 2023
d486987
in classy, new function function scale_dependent_growth_factor(), and…
lesgourg Oct 10, 2023
997d1ac
updated version number to v3.2.1
lesgourg Oct 10, 2023
7faf5f1
Preventing segmentation faults when fourier_at_z is called, and preve…
schoeneberg Nov 16, 2023
d355601
Fixing 142 by using cubic interpolation of lnPk (#143)
schoeneberg Nov 16, 2023
0f2af6c
memory leaks
emiliobellini Jan 17, 2024
ad9b792
memory leaks
emiliobellini Jan 18, 2024
20ddf6c
New limber (#147)
lesgourg Feb 3, 2024
8df566c
new version number v3.2.2 (#148)
lesgourg Feb 3, 2024
a7304a5
New full_limber scheme. Also, cubic interpolation of lnPk, and minor …
lesgourg Feb 3, 2024
a936c6f
Removing OpenMP from CLASS (#122)
schoeneberg Feb 5, 2024
adafaec
Fix Makefile pypi compatibility (#145)
schoeneberg Feb 8, 2024
f846726
Merge remote-tracking branch 'class_public/master' into gravity_dream
emiliobellini Feb 19, 2024
dcb8be0
fix compiler warnings (#150)
schoeneberg Feb 20, 2024
ae99bce
Use of C++ compiler, OpenMP removed, pip installable
lesgourg Feb 20, 2024
03f9de9
solved some todo
emiliobellini Apr 19, 2024
fa55c07
fixed todos
emiliobellini Apr 23, 2024
a283b74
Merge remote-tracking branch 'class_public/master' into gravity_dream
emiliobellini Apr 23, 2024
3d7b65e
Merge branch 'gravity_dream' into hi_class
emiliobellini May 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
148 changes: 148 additions & 0 deletions .github/workflows/test_nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
name: Nosetests and Valgrind

# To run this workflow on other branches than devel, uncomment line 4 and comment line 5-7.
#on: [push]
on:
schedule:
- cron: '0 20 * * *' # Daily at UTC 20:00

jobs:
iftest:
runs-on: [self-hosted]
outputs:
should_run: ${{ steps.store_output.outputs.SHOULD_RUN }}
steps:
- name: Store output
id: store_output
env:
SHA_LAST_SUCCESS: ${{ secrets.SHA_LAST_SUCCESS }}
run: |
if [ "$SHA_LAST_SUCCESS" == "${{ github.sha }}" ]; then
echo "::set-output name=SHOULD_RUN::0"
else
echo "::set-output name=SHOULD_RUN::1"
fi

conclude:
runs-on: [self-hosted]
needs: [nose_tests_lvl3, valgrind-wide-and-shallow, valgrind-narrow-and-deep]
steps:
- name: Store current SHA as secret
uses: hmanzur/[email protected]
with:
name: 'SHA_LAST_SUCCESS'
value: ${{ github.sha }}
repository: lesgourg/class
token: ${{ secrets.REPO_ACCESS_TOKEN }}

nose_tests_lvl3:
runs-on: [self-hosted]
needs: iftest
if: needs.iftest.outputs.should_run > 0
steps:
- name: Checkout 🛎
uses: actions/checkout@v2
with:
path: main_class
- name: Create or update virtual Python environment
run: |
rm -f venv/bin/python
virtualenv venv
source venv/bin/activate
pip install --upgrade pip
pip install numpy scipy pandas matplotlib cython nose parameterized
- name: make
run: cd main_class && make -j
- name: Testing 🤖
run: |
source venv/bin/activate
cd main_class/python
OMP_NUM_THREADS=32 COMPARE_OUTPUT_GAUGE=1 TEST_LEVEL=3 nosetests -v -a test_scenario test_class.py --nologcapture --nocapture
- name: Upload plots 📤
if: success() || failure()
uses: actions/upload-artifact@v2
with:
name: ComparePlots
path: main_class/python/faulty_figs

valgrind-wide-and-shallow:
runs-on: [self-hosted]
needs: iftest
if: needs.iftest.outputs.should_run > 0
timeout-minutes: 1440
steps:
- name: Checkout 🛎
uses: actions/checkout@v2
with:
path: main_class
- name: Create or update virtual Python environment
run: |
rm -f venv/bin/python
virtualenv venv
source venv/bin/activate
pip install --upgrade pip
pip install numpy scipy pandas matplotlib cython nose parameterized
- name: make
run: cd main_class && make OMPFLAG="" -j
- name: Generate input files
run: |
source venv/bin/activate
cd main_class/python
TEST_LEVEL=3 CLASS_VERBOSE=1 nosetests -a dump_ini_files test_class.py
- name: Valgrind 🤖
run: |
cd main_class/python/faulty_figs
rm -rf output && mkdir output
rm -rf valgrind_output && mkdir valgrind_output
cp ../../class .
find . -name "*.ini" -type f -print0 | xargs -0 -I {} -n 1 -P 32 bash -c ': \
&& printf "\nk_step_sub = 10.0\nk_step_super = 0.4\nk_per_decade_for_pk = 2\nk_per_decade_for_bao = 5\n" >> {}'
find . -name "*.ini" -type f -print0 | xargs -0 -I {} -n 1 -P 32 bash -c ': \
&& (valgrind --track-origins=yes --show-leak-kinds=all --leak-check=full --error-exitcode=3 ./class {} &> {}.out && echo {} "...ok") \
|| (echo {} "...fail" && cp {}* valgrind_output && exit 3)'
- name: Upload errors 📤
if: success() || failure()
uses: actions/upload-artifact@v2
with:
name: ValgrindOutputWideShallow
path: main_class/python/faulty_figs/valgrind_output

valgrind-narrow-and-deep:
runs-on: [self-hosted]
needs: iftest
if: needs.iftest.outputs.should_run > 0
timeout-minutes: 1440
steps:
- name: Checkout 🛎
uses: actions/checkout@v2
with:
path: main_class
- name: Create or update virtual Python environment
run: |
rm -f venv/bin/python
virtualenv venv
source venv/bin/activate
pip install --upgrade pip
pip install numpy scipy pandas matplotlib cython nose parameterized
- name: make
run: cd main_class && make OMPFLAG="" -j
- name: Generate input files
run: |
source venv/bin/activate
cd main_class/python
TEST_LEVEL=1 CLASS_VERBOSE=1 nosetests -a dump_ini_files test_class.py
- name: Valgrind 🤖
run: |
cd main_class/python/faulty_figs
rm -rf output && mkdir output
rm -rf valgrind_output && mkdir valgrind_output
cp ../../class .
find . -name "*.ini" -type f -print0 | xargs -0 -I {} -n 1 -P 32 bash -c ': \
&& (valgrind --track-origins=yes --show-leak-kinds=all --leak-check=full --error-exitcode=3 ./class {} &> {}.out && echo {} "...ok") \
|| (echo {} "...fail" && cp {}* valgrind_output && exit 3)'
- name: Upload errors 📤
if: success() || failure()
uses: actions/upload-artifact@v2
with:
name: ValgrindOutputNarrowDeep
path: main_class/python/faulty_figs/valgrind_output
45 changes: 45 additions & 0 deletions .github/workflows/test_on_pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Nosetests lvl2

on: [pull_request]

jobs:
nose_tests_lvl2:
runs-on: [self-hosted]

steps:
- name: Checkout 🛎
uses: actions/checkout@v2
with:
path: main_class
- name: Checkout reference 🛎
uses: actions/checkout@v2
with:
ref: devel
path: ref_class
- name: Create or update virtual Python environment
run: |
rm -f venv/bin/python
virtualenv venv
source venv/bin/activate
pip install --upgrade pip
pip install numpy scipy pandas matplotlib cython nose parameterized
- name: make classy
run: source venv/bin/activate && cd main_class && make -j
- name: make reference classy
run: |
source venv/bin/activate
cd ref_class
sed -i.bak "s/'classy'/'classyref'/g" python/setup.py
sed -i.bak 's/"classy"/"classyref"/g' python/setup.py
make -j
- name: Testing 🤖
run: |
source venv/bin/activate
cd main_class/python
OMP_NUM_THREADS=16 COMPARE_OUTPUT_REF=1 TEST_LEVEL=2 nosetests -v -a test_scenario test_class.py --nologcapture --nocapture
- name: Upload plots 📤
if: success() || failure()
uses: actions/upload-artifact@v2
with:
name: BranchVsMasterPlots
path: main_class/python/faulty_figs
40 changes: 40 additions & 0 deletions .github/workflows/test_on_push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build and light test

on: [push]

jobs:
build:
runs-on: [self-hosted]

steps:
- name: Checkout 🛎
uses: actions/checkout@v2
with:
path: main_class
- name: make
run: cd main_class && make -j class
- name: run class
run: cd main_class && ./class explanatory.ini

nose_tests_lvl1:
runs-on: [self-hosted]

steps:
- name: Checkout 🛎
uses: actions/checkout@v2
with:
path: main_class
- name: Create or update virtual Python environment
run: |
rm -f venv/bin/python
virtualenv venv
source venv/bin/activate
pip install --upgrade pip
pip install numpy scipy pandas matplotlib cython nose parameterized
- name: make classy
run: source venv/bin/activate && cd main_class && make -j
- name: Testing 🤖
run: |
source venv/bin/activate
cd main_class/python
OMP_NUM_THREADS=16 TEST_LEVEL=1 nosetests -v -a test_scenario test_class.py --nologcapture --nocapture
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,20 @@ class
*.prof
libclass.a
*out
*.gch
python/classy.c
python/*.pyc
python/build/i
ini_files
.vscode/
python/classy.cpp
*.pyc
python/build/
*.dSYM
RealSpaceInterface/cache/
.DS_Store
doc/manual/html
doc/manual/latex
*.gch
python/dist/
python/classy.egg-info/
Loading
Loading