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

Devel #11

Merged
merged 449 commits into from
Sep 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
449 commits
Select commit Hold shift + click to select a range
fc7a107
Updating list of MacOS jobs
rtobar Oct 23, 2019
b9f34e9
Fixing bug on modified yield model
cdplagos Oct 23, 2019
58da3b5
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Oct 23, 2019
14e1bb7
Replacing deprecated usage of ptr_fun
rtobar Oct 23, 2019
46ac4f8
Avoiding issue in Boost's own cmake
rtobar Oct 23, 2019
865064f
Added useful plots for dynamical friction analysis
cdplagos Jan 15, 2020
4393090
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Jan 15, 2020
9c59928
Correctly accounting for h factors in SMF
cdplagos Jan 16, 2020
32e3547
Added a new merger timescale model
rhyspoulton Jan 22, 2020
8c80b75
Small spelling correction
rhyspoulton Jan 28, 2020
5d83db7
Travis: adjusting to homebrew changes
rtobar Jan 28, 2020
597f1f9
Merge pull request #4 from rhyspoulton/devel
cdplagos Jan 28, 2020
812e0f1
Fixing number density of Wright+2018 SMF
cdplagos Jan 28, 2020
76b857d
Small code cleanups to silence warnings
rtobar Feb 3, 2020
51db63e
Removing unused method
rtobar Feb 5, 2020
d640ca8
Styling, non-behavioral changes
rtobar Feb 5, 2020
9ad5d6d
Support for multi-threaded reproducible runs
rtobar Feb 5, 2020
692feee
Centralizing printing of differences
rtobar Feb 5, 2020
ed8cd29
Open files explicitly in read mode
rtobar Feb 5, 2020
d2a44a4
New option to compare only some datasets
rtobar Feb 5, 2020
bc69cd7
Avoid race conditions with random distributions
rtobar Feb 5, 2020
c47f2cd
Trying to compile with OpenMP in MacOS
rtobar Feb 5, 2020
e5c8dde
Adding multi-threaded reproducibility tests
rtobar Feb 5, 2020
63e4924
Removing old GSL_ROOT_DIR cmake option
rtobar Feb 5, 2020
cc28339
XCODE env variable not needed
rtobar Feb 10, 2020
0488dcb
Speeding up MacOS builds
rtobar Feb 10, 2020
ed0d0cb
Trying to get warning-less OpenMP MacOS build
rtobar Feb 10, 2020
98883dc
Becoming aggressive on what is good/bad
rtobar Feb 5, 2020
cdc383a
Mentioning reproducibility in documentation
rtobar Feb 10, 2020
778e825
New model of stellar tidal stripping implemented
cdplagos Mar 9, 2020
a76734e
Modified tidal stripping model
cdplagos Mar 26, 2020
09330a5
Fixed bug in tidal stripping model
cdplagos Mar 26, 2020
350be68
Avoid unlinking python@2 in xcode11 images
rtobar Mar 26, 2020
5465081
Tidal stripping model fixed
cdplagos Mar 30, 2020
c267355
Merge branch 'devel' of [email protected]:ICRAR/shark.git into devel
cdplagos Mar 30, 2020
ad9c8eb
Removing unused variable
rtobar Mar 30, 2020
e311658
Making HPC-based PSO python3-compatible
rtobar Mar 30, 2020
112ad0f
Correcting indentation
rtobar Mar 10, 2020
78fecf5
Correctly indenting GalaxyMergerParameters
rtobar Mar 9, 2020
875075f
Removing gcc's -Wpedantic warnings
rtobar Mar 6, 2020
7f27972
Initial version of type traits and algorithms
rtobar Mar 6, 2020
7339d96
Removing -Wsign-conversion warnings
rtobar Mar 6, 2020
3166e07
Simple sum() method for summable collections
rtobar Mar 9, 2020
35b6106
More informative messages on runtime performance
rtobar Mar 9, 2020
b28a1a1
Adding galaxy_count to MergerTree class
rtobar Mar 10, 2020
befb1fd
Adding sort_by_id utility function
rtobar Mar 30, 2020
c106273
Creating more balanced partitions of merger trees
rtobar Mar 10, 2020
9ab488e
Small modifications to dynamical friction model
cdplagos Mar 31, 2020
4ee4cdf
Added tidal stripping of ISM
cdplagos Mar 31, 2020
1c0a9a1
Added Mvir_infall to outputs
cdplagos Apr 1, 2020
5e09532
Datasets of different size are unequal
rtobar Apr 2, 2020
9c99898
Slightly better memory estimates
rtobar Apr 2, 2020
3efb3ce
Adding MaxRSS reporting
rtobar Apr 2, 2020
a7d663d
Added new python scripts and observational data
cdplagos Apr 6, 2020
b97fc8c
Effective volume units were wrongly reported
cdplagos Apr 15, 2020
26f2d78
Updated list of properties for documentation
cdplagos Apr 15, 2020
9036792
Export environment variables through sbatch
rtobar Apr 23, 2020
31c6ba6
Update star formation history hdf5 properties docs
rtobar Apr 23, 2020
aa452de
Updating python scripts for new studies
cdplagos May 8, 2020
92b991c
Modified id limit when using seed for random numbers
cdplagos May 24, 2020
55f1c08
Remove unused private field
rtobar May 26, 2020
e5c5c71
Add new gsl_error constructor
rtobar May 26, 2020
23e5481
Remove unused GSL includes
rtobar May 26, 2020
1c166b4
Add gsl_utils.h header with gsl_invoke function
rtobar May 26, 2020
1f04fb7
Switch code to use gsl_set_error_handler_off
rtobar May 26, 2020
d4f91c5
Make user-provided evaluation function GSL-safe
rtobar May 26, 2020
94ed2b8
Add to_gsl_error function
rtobar May 29, 2020
dcbf340
Make user-provided integration function GSL-safe
rtobar May 29, 2020
bc0d763
Updating observational data and python scripts
cdplagos Jun 17, 2020
bc33e9c
Use Galaxy to prime random orbit's seed values
rtobar Jun 19, 2020
1246cbe
Adding ICL aperture that is r50 dependent
cdplagos Jun 23, 2020
e214e4c
Modify halo properties to reflect output snapshot
cdplagos Jun 29, 2020
ea32201
Merge branch 'devel' of https://github.com/icrar/shark into devel
cdplagos Jun 29, 2020
b422460
Solving conflicts
cdplagos Jun 29, 2020
d748b08
Fixed missing input parameter in random positons
cdplagos Jun 29, 2020
c4055fc
Transfer galaxies before writing snapshot output
cdplagos Jul 6, 2020
442806e
Adding additional galaxy properties to documentation
cdplagos Jul 6, 2020
a30301d
Correcting for h0 in combined sizes in sizes.py
cdplagos Jul 14, 2020
8147efb
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Jul 14, 2020
d309a74
Split sorting and leniency when comparing galaxies
rtobar Jul 28, 2020
ef80941
Add basic logging to comparison script
rtobar Jul 28, 2020
10589d7
Unify repeated code
rtobar Jul 28, 2020
eda84b9
Sort halos for reproducible results
rtobar Jul 28, 2020
c9d59a0
Isolate snapshot statistics logging
rtobar Jul 28, 2020
01e46f6
Rename variable for more meaningful description
rtobar Jul 28, 2020
6721c86
Remove unnecessary sort operation
rtobar Jul 28, 2020
2398d6e
Commenting smg_study.py
cdplagos Aug 13, 2020
352c7f9
Adding observations and updating python routines
cdplagos Sep 11, 2020
02732e9
Save model evaluation and model error for all PSO iterations
katyproctor Sep 12, 2020
58374f2
Add size-mass relation, CSFR, and SMF at z=0.5 as constraints
katyproctor Sep 13, 2020
4780325
Adding function to calculate bootstrapped error on median values
katyproctor Sep 13, 2020
eab0f08
Add sizes data and add bootstraped error + ICl contribution to plotti…
katyproctor Sep 13, 2020
500d38b
Using halo dynamical time and radius for tcool
cdplagos Sep 29, 2020
9c7e251
Tracking mean stellar mass contributing to IHSC
cdplagos Sep 29, 2020
30f3f03
Add missing property in galaxies.hdf5 docs
rtobar Mar 26, 2021
8b6f860
Use [()] to access all data from a Dataset
rtobar Mar 26, 2021
dbd9942
Avoid matplotlib 3.4, it has a bug with errorbars
rtobar Mar 26, 2021
a25d659
Updating python plots
cdplagos Oct 8, 2021
f47562f
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Oct 8, 2021
1acd0ee
Adding analysis scripts for high-z studies
cdplagos Oct 18, 2021
346480f
Changing the order of reincorporation and accretion in cooling
cdplagos Oct 29, 2021
28b0906
Limiting halo gas to universal baryon fraction
cdplagos Jan 11, 2022
078ba18
Changes to environment and AGN quenching
cdplagos Jan 17, 2022
8cc5375
Remove unused variable
rtobar Jan 18, 2022
90478d1
Avoiding nan in stellar age calculation
cdplagos Jan 18, 2022
7131d77
Merge remote-tracking branch 'refs/remotes/origin/devel' into devel
cdplagos Jan 18, 2022
6c87005
Small change on accr rate in hot halo mode Croto16
cdplagos Jan 18, 2022
fc6f987
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Jan 18, 2022
c7412f5
Added functions to compute enclosed mass in subhalos
cdplagos Jan 19, 2022
75f084f
Added function to calculate RPS of hot gas
cdplagos Jan 19, 2022
2a48592
Fixing bug in merging timescale in the Poulton20 model
cdplagos Jan 20, 2022
7665cc0
Adding gradual ram pressure stripping
cdplagos Jan 25, 2022
ffdcfda
Split option of halo vs ISM gradual stripping
cdplagos Jan 25, 2022
5175b7a
Adding ram pressure stripping of ISM
cdplagos Jan 27, 2022
5fa7263
Writing properties related to ram pressure
cdplagos Jan 27, 2022
3dcffb2
Adding limit of baryon fraction as a choice
cdplagos Jan 27, 2022
a9dc1be
Stripping disk/bulge gas mass at >r_rps
cdplagos Jan 27, 2022
de13538
Change in hot gas metallicity for type1 gals
cdplagos Jan 27, 2022
92e1f51
Updating merger times and gas cooling conditions
cdplagos Jan 28, 2022
37c58a0
Merge pull request #5 from katyproctor/devel-optim
cdplagos Jan 28, 2022
8f0da80
Added new black spin model
cdplagos Jan 31, 2022
bdc022e
Small change to avoid merging conflict
cdplagos Jan 31, 2022
17370f4
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Jan 31, 2022
9a923ba
Solving bugs in new black hole spin model
cdplagos Jan 31, 2022
744e192
Solving a bug in agn effiency calculation
cdplagos Feb 1, 2022
f5728d7
Adding BH spin to outputs
cdplagos Feb 2, 2022
b998345
Adding upper/lower limit to BH spin in V07
cdplagos Feb 2, 2022
22fd7ce
Added prolonged accretion model and fixed efficiency calc
cdplagos Feb 3, 2022
21cc4cf
Fixing bug in calculation of AGN constants in griffin model
cdplagos Mar 1, 2022
7af931d
Fix inconsistency in definition of stellar age
cdplagos Mar 1, 2022
52144f6
Added lower limit in warped accretion disk mass of BH
cdplagos Mar 1, 2022
7e03df1
Adding data of SSFR distributions at z=0
cdplagos Mar 31, 2022
fdd9258
Adding more info to Katsianis table
cdplagos Mar 31, 2022
05e6106
Adding script to plot SSFR distributions
cdplagos Mar 31, 2022
41fbb4e
Adding plot of SSFR vs BH mass and observations
cdplagos Mar 31, 2022
c0dbfb6
Fixing volume issue in SSFR distribution
cdplagos Mar 31, 2022
84d9133
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Mar 31, 2022
c82c76d
Updating several plots
cdplagos Mar 31, 2022
689b7f0
Added radio continuum calculation
cdplagos Apr 8, 2022
78bc9a8
Added limit to accretion loop in griffin model
cdplagos Apr 11, 2022
a8d4bea
Merge remote-tracking branch 'refs/remotes/origin/devel' into devel
cdplagos Apr 11, 2022
d527e98
Avoid simple code warnings
rtobar Apr 12, 2022
1600a89
Update galaxy properties documentation
rtobar Apr 12, 2022
dce9f64
Small correction to Griffin20 accretion model
cdplagos Apr 13, 2022
ff650a5
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Apr 13, 2022
4a241c7
Changed default parameter in AGN feedback
cdplagos Apr 13, 2022
987b51a
Changed definition of AGN mechanical lum
cdplagos Apr 13, 2022
7d4d066
Changed A_ADAF input to lower case
cdplagos Apr 13, 2022
d337063
Added condition in griffin calculation for mbh > 0
cdplagos Apr 13, 2022
3c0a8c7
Use newer macOS environments in Travis
rtobar Apr 14, 2022
3abac7a
Added SMF from Thorne et al. 2021
cdplagos Apr 19, 2022
b6b1080
Modified hot-halo condition and AGN radio power
cdplagos Apr 22, 2022
894487e
Adding additional observational data
cdplagos Apr 22, 2022
e94c129
Changing naming convention for AGN model
cdplagos Apr 22, 2022
032c8d2
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Apr 22, 2022
0d38c0f
Added L1.4GHz vs SFR analysis
cdplagos Apr 27, 2022
b6009b6
Modified hot-halo formation criterion
cdplagos Apr 27, 2022
6a8bd95
Cleaning radio analysis script
cdplagos Apr 27, 2022
6731679
Changing name from griffin20 to griffin19
cdplagos Apr 29, 2022
c43220c
Removing unused parameters AGN model
cdplagos Apr 29, 2022
8ed8d50
Change definition of mechanical power of AGN
cdplagos May 19, 2022
39e9e32
Updating data and plotting scripts
cdplagos May 19, 2022
8f6cff0
Updating optim to work with smf.py
cdplagos Jun 15, 2022
0bcc8ae
Changing AGN feedback model name
cdplagos Jun 15, 2022
74e4890
Adding a lot of observational data
cdplagos Jul 22, 2022
7038a37
Updating plots
cdplagos Jul 22, 2022
4abb3ae
Adding new plotting scripts
cdplagos Jul 22, 2022
9b4e10a
Avoiding BHs forming below the BH seed
cdplagos Sep 16, 2022
afe2c73
Fixing AGN bolometric luminosity equations
cdplagos Oct 26, 2022
385b45f
Adding Berti spinless BH merger model
cdplagos Oct 28, 2022
7933fb1
Adding additional observational data
cdplagos Oct 28, 2022
0e02a44
Updating python scripts
cdplagos Oct 28, 2022
b3175f7
Updating observational table
cdplagos Oct 28, 2022
73098d3
Fixing small indenting issues
cdplagos Oct 31, 2022
b5d806c
Added QSO LF plot
MBravoS Nov 9, 2022
406bc3a
Added missing import
MBravoS Nov 9, 2022
30561aa
Fixed several typos in code
MBravoS Nov 9, 2022
c601e03
Fixed more code issues
MBravoS Nov 9, 2022
3ec9d84
Fixed several plotting mistakes
MBravoS Nov 10, 2022
3956e9d
Fixed extra factor of 3 in volume correction
MBravoS Nov 10, 2022
e6d9c16
Updating scripts and adding comparison data
cdplagos Nov 14, 2022
085e175
Merge pull request #8 from MBravoS/devel
cdplagos Nov 14, 2022
984bc4b
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Nov 14, 2022
4c58cea
Fixing a bug in volume calculation in QSO LF
cdplagos Nov 14, 2022
c6e7798
Adding new data, adapting optim to run by default
Nov 25, 2022
3fbd06e
Changes in Tvir, Hot Halo AGN mode
cdplagos Dec 22, 2022
282d4e9
Small changes to hydrostatic state determination
Jan 9, 2023
58df19b
Tracking Heating/Cooling, limited cool func
Jan 11, 2023
4fac1d0
Improved figures of BH population
Jan 11, 2023
479ab5d
Added BH history item and fixed bug in accrate
Jan 12, 2023
3f4e004
Adding routine to write BH history files
Jan 12, 2023
ce98277
Changing notation of BH spin to match paper
cdplagos Jan 20, 2023
b2dd8ee
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Jan 20, 2023
09e9960
Small changes to plots and adding new data
cdplagos Jan 30, 2023
e2a2a1f
Modified tau_cool(Correa18) and allowed memory
Dec 13, 2022
de51b61
Adding more data and changes in plots
Dec 13, 2022
fef47ca
Testing changes in AGN feedback
Dec 22, 2022
20d58d7
Updating plots
Dec 22, 2022
26862ea
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Jan 30, 2023
3b301e3
Fixing a couple of small bugs
cdplagos Feb 1, 2023
685ca54
Small changes to plots
cdplagos Feb 1, 2023
0fceaa3
Changing AGN condition and other things
cdplagos Mar 17, 2023
39a6471
Updates to plots
cdplagos Mar 17, 2023
45b2a6d
Fix compilation on Windows
rtobar May 25, 2023
95b085b
Changes to AGN feedback model
cdplagos May 25, 2023
77ec03e
Add missing properties documentation
rtobar May 26, 2023
bba67fe
Skip producing plots in AppVeyor
rtobar May 26, 2023
98f4d58
Port minimal CI steps from Travis to GitHub Actions
rtobar May 26, 2023
3f05236
Replace H5Cpp implementation with C API
juliancarrivick May 10, 2023
722982e
Fix and add test for string attributes
juliancarrivick May 24, 2023
1a0a9b0
Format hdf5 files for consistency
juliancarrivick May 24, 2023
a5af1a7
Minor tweaks to datatype_traits
juliancarrivick May 24, 2023
9a7b0bf
Split HDF5 wrapper into individual files
juliancarrivick May 24, 2023
f3e1227
Rename from Resource to Entity
juliancarrivick May 24, 2023
50daf70
Extract hdf5 string reading into reusable function
juliancarrivick May 24, 2023
ed59006
Cleanup HDF5 API usage
juliancarrivick May 24, 2023
a809629
Allow IOBase to close and reopen files
juliancarrivick May 24, 2023
ea9b8b6
Replace assertHdf5Return with hdf5_api_error
juliancarrivick May 24, 2023
85c7703
Properly ensure C library is found
juliancarrivick May 26, 2023
92529ab
Merge remote-tracking branch 'origin/devel' into devel
cdplagos May 30, 2023
295842d
CR Changes
juliancarrivick May 31, 2023
b7955cf
Merge pull request #9 from ICRAR/hdf5-c-api
juliancarrivick Jun 2, 2023
05a1e6e
Changing z=1 SMF constrain to Weaver et al. (2023)
cdplagos Jun 7, 2023
dc8f463
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Jun 7, 2023
5bb8d45
Fixing bug that prevented SB accretion to mseed BH
cdplagos Jun 16, 2023
5801f43
Adding model to treat excess jet power from sats
cdplagos Jun 16, 2023
c353445
Updating plotting scripts
cdplagos Jun 16, 2023
dec7251
Adding new data and updated python scripts
cdplagos Aug 4, 2023
d836654
Updated optim and max reincorporation
cdplagos Aug 4, 2023
6c773e2
Updated plotting scripts
cdplagos Aug 8, 2023
9b47ba6
Incorporate PSO analysis scripts that reproduce relevant figures of P…
katyproctor Aug 11, 2023
94a8a3b
Adding new data and small changes to python scripts
cdplagos Aug 14, 2023
6a5958e
Adding condition of mmol> 0 to calculate jmol
cdplagos Aug 14, 2023
8036989
Merge remote-tracking branch 'refs/remotes/origin/devel' into devel
cdplagos Aug 14, 2023
0bcf405
Bug in jmol calculation before writing fixed
cdplagos Aug 14, 2023
c8de0cd
Add .readthedocs.yaml configuration file
rtobar Aug 15, 2023
db8b219
Remove unnecessary configuration directives
rtobar Aug 15, 2023
c647f54
Bug fixed in 200rho_crit calculation
cdplagos Aug 21, 2023
6356de6
Adding data and changes in plotting scripts
cdplagos Aug 21, 2023
cb73115
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Aug 21, 2023
49259f7
Log time taken to write SFH outputs
rtobar Aug 1, 2023
6bd80ca
Adding condition for hot gaseuos halo.
cdplagos Sep 5, 2023
f43de8a
Fixing reading of SMF
cdplagos Sep 5, 2023
27fafda
Updating several plotting routines
cdplagos Sep 5, 2023
aad8dc5
Adding more observational data
cdplagos Sep 5, 2023
2f9be7e
Updated AGN model name from LAGOS22 to LAGOS23
cdplagos Sep 5, 2023
e2bb697
Updating data and plotting scripts
cdplagos Sep 5, 2023
2271241
Merge remote-tracking branch 'origin/devel' into devel
cdplagos Sep 5, 2023
01c8b96
Adding sample config file using Lagos23 parameters
cdplagos Sep 5, 2023
4490d2f
Merge pull request #10 from katyproctor/remotes/origin/devel-optim
cdplagos Sep 5, 2023
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
  •  
  •  
  •  
7 changes: 4 additions & 3 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ install:
- cmd: git submodule update --init --recursive
- cmd: git clone https://github.com/CxxTest/cxxtest
- cmd: cd c:\tools\vcpkg
- cmd: git pull
- cmd: vcpkg update
- cmd: vcpkg integrate install
- cmd: vcpkg install boost-filesystem:x64-windows
- cmd: vcpkg install boost-log:x64-windows
Expand All @@ -60,9 +58,12 @@ test_script:
- ps: Invoke-WebRequest "https://docs.google.com/uc?export=download&id=1JDK8ak13bEhzg9H9xt0uE8Fh_2LD3KpZ" -OutFile "input\tree_199.0.hdf5"
- cmd: shark sample.cfg -o simulation.redshift_file=input\redshifts.txt -o simulation.tree_files_prefix=input\tree_199 -o execution.seed=123456 -o execution.name_model=my_model
- cmd: C:\Python36-x64\Scripts\pip install h5py matplotlib scipy
- cmd: C:\Python36-x64\python.exe standard_plots\all.py -c sample.cfg -z input\redshifts.txt
# Plots are currently broken
#- cmd: C:\Python36-x64\python.exe standard_plots\all.py -c sample.cfg -z input\redshifts.txt
- cmd: shark sample.cfg -o simulation.redshift_file=input\redshifts.txt -o simulation.tree_files_prefix=input\tree_199 -o execution.seed=123456 -o execution.name_model=my_model_equal_seed
- cmd: C:\Python36-x64\python.exe scripts\compare_galaxies.py -m mini-SURFS\my_model\199\0\galaxies.hdf5 mini-SURFS\my_model_equal_seed\199\0\galaxies.hdf5
- cmd: shark sample.cfg -o simulation.redshift_file=input\redshifts.txt -o simulation.tree_files_prefix=input\tree_199 -o execution.seed=123456 -o execution.name_model=my_model_equal_seed_parallel -t 2
- cmd: C:\Python36-x64\python.exe scripts\compare_galaxies.py -m mini-SURFS\my_model\199\0\galaxies.hdf5 mini-SURFS\my_model_equal_seed_parallel\199\0\galaxies.hdf5
- cmd: shark sample.cfg -o simulation.redshift_file=input\redshifts.txt -o simulation.tree_files_prefix=input\tree_199 -o execution.name_model=my_model_random_seed
- cmd: C:\Python36-x64\python.exe scripts\compare_galaxies.py -m mini-SURFS\my_model_random_seed\199\0\galaxies.hdf5 mini-SURFS\my_model_equal_seed\199\0\galaxies.hdf5 --expect-unequal

Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/build-and-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build and test

# Build on every branch push, tag push, and pull request change:
on: [push]

jobs:
build_wheels:
name: Build and test shark on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]

steps:
- uses: actions/checkout@v3
with:
submodules: true

- name: Install dependencies
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
sudo apt install libhdf5-dev hdf5-tools libboost-filesystem-dev libboost-program-options-dev libboost-log-dev cxxtest libgsl-dev

- name: Install dependencies
if: ${{ matrix.os == 'macos-latest' }}
run: |
brew install hdf5 boost cxxtest gsl

- name: Configure
# Leaving Werror out for now because there *are* errors
# and I don't know what the proper fix is.
run: cmake -B build/ -DSHARK_TEST=ON -DCMAKE_CXX_FLAGS="-Wall" #-Werror

- name: Build
run: cmake --build build/

- name: Run unit tests
run: |
cd build
ctest --output-on-failure
8 changes: 8 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2

submodules:
include: all

sphinx:
configuration: doc/conf.py
fail_on_warning: true
31 changes: 15 additions & 16 deletions .travis.yml → .travis-unused.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,49 +27,48 @@
language: cpp
sudo: false

# In Linux we cache the gsl binary version
cache:
directories:
- gsl/2.4

# We try with both GNU and LLVM
# When running with gcc-6 we also collect coverage information
# and upload it to coveralls
matrix:
include:
- compiler: gcc
dist: xenial
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: [g++-5, libhdf5-dev, hdf5-tools, libboost-filesystem-dev, libboost-program-options-dev, libboost-log-dev, cxxtest]
packages: [g++-5, libhdf5-dev, hdf5-tools, libboost-filesystem-dev, libboost-program-options-dev, libboost-log-dev, cxxtest, libgsl-dev]
env: COMPILER=g++-5
- compiler: gcc
dist: xenial
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: [g++-6, libhdf5-dev, hdf5-tools, libboost-filesystem-dev, libboost-program-options-dev, libboost-log-dev, cxxtest, python-matplotlib, python-scipy, python-h5py, python-tk]
packages: [g++-6, libhdf5-dev, hdf5-tools, libboost-filesystem-dev, libboost-program-options-dev, libboost-log-dev, cxxtest, libgsl-dev, python-matplotlib, python-scipy, python-h5py, python-tk]
env: COMPILER=g++-6 PYTHON=python
- compiler: gcc
dist: xenial
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: [g++-7, libhdf5-dev, hdf5-tools, libboost-filesystem-dev, libboost-program-options-dev, libboost-log-dev, cxxtest, python3-matplotlib, python3-scipy, python3-h5py, python3-tk]
packages: [g++-7, libhdf5-dev, hdf5-tools, libboost-filesystem-dev, libboost-program-options-dev, libboost-log-dev, cxxtest, libgsl-dev, python3-matplotlib, python3-scipy, python3-h5py, python3-tk]
env: COMPILER=g++-7 PYTHON=python3
- compiler: clang
dist: xenial
addons:
apt:
sources: ubuntu-toolchain-r-test
packages: [g++-7, libhdf5-dev, hdf5-tools, libboost-filesystem-dev, libboost-program-options-dev, libboost-log-dev, cxxtest]
env: COMPILER=clang++ LD_LIBRARY_PATH=/usr/local/clang-5.0.0/lib
packages: [g++-7, libhdf5-dev, hdf5-tools, libboost-filesystem-dev, libboost-program-options-dev, libboost-log-dev, cxxtest, libgsl-dev]
env: COMPILER=clang++ LD_LIBRARY_PATH=/usr/local/clang-7.0.0/lib
- os: osx
osx_image: xcode8.3 # OSX 10.12
env: XCODE=8.3
osx_image: xcode12.2 # OSX 10.15.7
env: COMPILER=clang++ PYTHON=venv
- os: osx
osx_image: xcode9.1 # OSX 10.12
env: XCODE=9.1 PYTHON=venv
osx_image: xcode13.1 # OSX 11.6
env: COMPILER=clang++
- os: osx
osx_image: xcode10 # OSX 10.13
env: XCODE=10
osx_image: xcode13.3 # OSX 12.3
env: COMPILER=clang++

# We "source" it because it exports variables
before_install:
Expand Down
38 changes: 8 additions & 30 deletions .travis/before_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,15 @@ cd ${TRAVIS_BUILD_DIR}
if [ "${TRAVIS_OS_NAME}" = "osx" ]
then

# cxxtest pulls python@2, so we need to unlink
# the pre-installed python first
brew unlink python || fail "cannot unlink python"
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_INSTALL_CLEANUP=1

# Minimal dependencies for testing
pkgs="gsl hdf5 cxxtest"
if [ "$PYTHON" = "venv" ]
then
pkgs="$pkgs python3"
fi
# cxxtest pulls python, so we need to unlink the pre-installed python@2 first
# (only in xcode12.2 though, it doesn't come installed in the rest)
test "${TRAVIS_OSX_IMAGE}" != xcode12.2 || brew unlink python@2 || fail "cannot unlink python@2"

# "install" seems to be "update"-ing too, which is failing
# with a "don't worry, [...] everything is [...] fine now"
# message. Let's follow that advice more explicitly
brew update || true
# Minimal dependencies for testing
pkgs="gsl cxxtest libomp"
brew install $pkgs || fail "cannot install packages: $pkgs"

# PYTHON==venv means that we are going to use a virtualenv'd python
Expand All @@ -60,26 +54,10 @@ then
then
python3 -mvenv "${TRAVIS_BUILD_DIR}/shark-venv" || fail "cannot create virtualenv"
source "${TRAVIS_BUILD_DIR}/shark-venv/bin/activate"
pip install -U pip wheel setuptools h5py matplotlib scipy || fail "cannot install python packages in virtualenv"
pip install -U pip wheel setuptools h5py matplotlib!=3.4 scipy || fail "cannot install python packages in virtualenv"
deactivate
PYTHON="${TRAVIS_BUILD_DIR}/shark-venv/bin/python3"
fi

return
fi

# Ubuntu Travis still comes with GSL 1.X but we need >= 2
# We cache the binary version through travis' cache, so let's
# check first if it exists
export GSL_ROOT_DIR=${TRAVIS_BUILD_DIR}/gsl/2.4
export LD_LIBRARY_PATH=${GSL_ROOT_DIR}/lib:$LD_LIBRARY_PATH
if [ ! -d "${GSL_ROOT_DIR}/lib" ]
then
curl -O https://mirror.freedif.org/GNU/gsl/gsl-2.4.tar.gz
tar xf gsl-2.4.tar.gz
cd gsl-2.4
./configure --prefix=${GSL_ROOT_DIR}
make all -j2
make install
cd ..
fi
10 changes: 8 additions & 2 deletions .travis/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,15 @@ cd ${TRAVIS_BUILD_DIR}
mkdir build
cd build

SHARK_CMAKE_OPTIONS="-DCMAKE_CXX_COMPILER=$COMPILER -DSHARK_TEST=ON -DGSL_ROOT_DIR=${GSL_ROOT_DIR}"
SHARK_CMAKE_OPTIONS="-DCMAKE_CXX_COMPILER=$COMPILER -DSHARK_TEST=ON -DCMAKE_CXX_FLAGS=\"-Wall -Werror\""
if [ ${TRAVIS_OS_NAME} = osx ]; then
SHARK_CMAKE_OPTIONS+=" -DOpenMP_CXX_LIB_NAMES=libomp"
SHARK_CMAKE_OPTIONS+=" -DOpenMP_CXX_FLAGS='-Xpreprocessor -fopenmp -I/usr/local/include'"
SHARK_CMAKE_OPTIONS+=" -DOpenMP_libomp_LIBRARY=/usr/local/lib/libomp.dylib"
SHARK_CMAKE_OPTIONS+=" -DCMAKE_CXX_FLAGS=-Wno-unused-command-line-argument"
fi

# Go, go, go!
cmake .. ${SHARK_CMAKE_OPTIONS} || fail "cmake failed"
eval cmake .. ${SHARK_CMAKE_OPTIONS} || fail "cmake failed"
make all -j2 || fail "make failed"
cd ..
56 changes: 30 additions & 26 deletions .travis/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,15 @@ mkdir input || fail "failed to create input/ directory"
curl -L -o input/redshifts.txt 'https://docs.google.com/uc?export=download&id=1xvNmJB_KmoBHuQz-QzdPnY0HFs7smkUB' || fail "failed to download redshifts file"
curl -L -o input/tree_199.0.hdf5 'https://docs.google.com/uc?export=download&id=1JDK8ak13bEhzg9H9xt0uE8Fh_2LD3KpZ' || fail "failed to download test hdf5 file"

./shark ../sample.cfg \
-o simulation.redshift_file=input/redshifts.txt \
-o simulation.tree_files_prefix=input/tree_199 \
-o execution.seed=123456 \
-o execution.name_model=my_model || fail "failure during execution of shark"
run_shark() {
model_name=$1; shift
./shark ../sample.cfg \
-o simulation.redshift_file=input/redshifts.txt \
-o simulation.tree_files_prefix=input/tree_199 \
-o execution.name_model=$model_name $@ || fail "failure during execution of shark"
}

run_shark my_model -o execution.seed=123456

# Generate the HDF5 output documentation and check it's up to date
# otherwise tell the user how to update it
Expand All @@ -66,33 +70,33 @@ check_hdf5_doc 156/0/star_formation_histories.hdf5 star_formation_histories.rst

if [ -n "$PYTHON" ]; then

# How many CPUs do we have?
if [ $TRAVIS_OS_NAME = osx ]; then
n_cpus=`sysctl -n hw.ncpu`
else
n_cpus=`grep -c processor /proc/cpuinfo`
fi

compare_galaxies() {
model_name=$1; shift
"$PYTHON" ../scripts/compare_galaxies.py \
-m "mini-SURFS/my_model/199/0/galaxies.hdf5" \
"mini-SURFS/$model_name/199/0/galaxies.hdf5" $@
}

# Make sure the standard plotting scripts run correctly
echo "backend: Agg" >> matplotlibrc
"$PYTHON" ../standard_plots/all.py -c ../sample.cfg -z input/redshifts.txt || fail "failure during execution of python plotting scripts"

# Make sure the seed value returns a reproducible result
./shark ../sample.cfg \
-o simulation.redshift_file=input/redshifts.txt \
-o simulation.tree_files_prefix=input/tree_199 \
-o execution.seed=123456 \
-o execution.name_model=my_model_equal_seed \
|| fail "failure during execution of shark"
run_shark my_model_same_seed -o execution.seed=123456
compare_galaxies my_model_same_seed || fail "Models expected to be equal, they are not."

"$PYTHON" ../scripts/compare_galaxies.py \
-m "mini-SURFS/my_model/199/0/galaxies.hdf5" \
"mini-SURFS/my_model_equal_seed/199/0/galaxies.hdf5" \
|| fail "Models expected to be equal, they are not."
# Like above, but in parallel using all available CPUs
run_shark my_model_same_seed_parallel -o execution.seed=123456 -t $n_cpus
compare_galaxies my_model_same_seed_parallel || fail "Models expected to be equal, they are not."

# Run using a random seed in the interval 2^32 - 1
./shark ../sample.cfg \
-o simulation.redshift_file=input/redshifts.txt \
-o simulation.tree_files_prefix=input/tree_199 \
-o execution.name_model=my_model_random_seed \
|| fail "failure during execution of shark"

"$PYTHON" ../scripts/compare_galaxies.py \
-m "mini-SURFS/my_model/199/0/galaxies.hdf5" \
"mini-SURFS/my_model_random_seed/199/0/galaxies.hdf5" \
--expect-unequal \
|| fail "Models expected to be unequal, they are not."
run_shark my_model_random_seed || fail "failure during execution of shark"
compare_galaxies my_model_random_seed --expect-unequal || fail "Models expected to be unequal, they are not."
fi
Loading