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

Created maximum wall time option #620

Merged
merged 4 commits into from
Aug 12, 2024
Merged

Conversation

xevra
Copy link
Contributor

@xevra xevra commented Apr 11, 2024

For some applications, it's useful to end COSMIC gracefully after a certain amount of time has passed.

On the Open Science Grid, for example, a job is limited to 20 hours. If the job would go beyond 20 hours, it would be killed and data would be lost. Due to the nature of match filtering, it's not always possible to predict how long a COSMIC simulation will take to run.

In my applications, I would like to end the simulation at 19 hours to give the data time to download back from the run node, so I can process the outputs. Ending the process from the shell or launcher is an option which would enable the recovery of data and log files, but may interrupt COSMIC at an inopportune time.

The maximum wall time option enables gracefully ending a COSMIC job after a set amount of time, so that COSMIC will always end at the end of a loop.

The default value of 3155760 seconds corresponds to a little over a month. While this does technically change the default behavior of COSMIC, it will only affect simulations which would otherwise be running for more than one month (wall time).

Copy link
Collaborator

@katiebreivik katiebreivik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

after many many days (sorry!): 👍

@katiebreivik katiebreivik merged commit f1be205 into COSMIC-PopSynth:develop Aug 12, 2024
4 checks passed
katiebreivik added a commit that referenced this pull request Sep 11, 2024
* offner22 primary mass dependent binary fraction (#644)

* added offner22 primary mass dependent binary fraction

* pinning numpy version because of new numpy version released on june 16 (https://stackoverflow.com/questions/78634235/numpy-dtype-size-changed-may-indicate-binary-incompatibility-expected-96-from)

* pinned numpy version so 3.7 works

---------

Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org>

* Update utils.py (#648)

* Update utils.py

fix trapezoid import

* Update utils.py

missed one trapz

* version bump and dropping below python3.9 (#653)

* version bump and dropping below python3.9

* forward to numpy 1.26.0

* trying a different version

* fix trapz import

* Update build_wheels_and_publish.yml

explicitly install gcc

* Update build_wheels_and_publish.yml

trying to fix gfortran

* Update build_wheels_and_publish.yml

specifying path with symlink, checking path

* Update build_wheels_and_publish.yml (#654)

* Update build_wheels_and_publish.yml

* Update _version.py

* Update meson.build

* Update pyproject.toml (#655)

* Version bump for pip (#656)

* Update meson.build

* Update _version.py

* Add power law sampling options for ``porb`` and ``q`` (#651)

* add `q_power_law` parameter to change the power law of the mass ratio distribution

* allow custom power laws for orbital periods

* add mass ratio sampling test

* add test for custom porb power laws

* add to changelog

* New ``gamma`` option for circumbinary discs (#652)

* add new gamma prescription, add some int() statements

* add  details to docs page

* update ini files

* * Modifying the init file to include the commit hash. (#659)

*Created get_commit_hash file that finds the commit hash.

*Modified the meson.build file to run get_commit_hash when cosmic is installed.

* Created maximum wall time option (#620)

* Added compression options for pandas

* Created maximum wall time argument

* Add debugging setup, avoid NaNs from timestep issue (#647)

* setup debugging environment

* ignore a bunch of files

* add a testing fortran script

* move debugging to its own folder

* add a python script for creating the input

* add a simple makefile for testing

* important change: use `loop` instead of `1000` for timestep condition

* add a note about settings

* clean up vscode setup

* I can't count 🙃

* added new test suite location

* fixing numpy pinned version

* forcing numpy version I guess

---------

Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org>
Co-authored-by: Katie Breivik <kbreivik@andrew.cmu.edu>

* allow a gamma of -3 in error_check (#661)

* fixing wheel build for pypi, hopefully

* tiny version bump (#665)

* Update _version.py

* Update pyproject.toml

add @TomWagg as dev

* Update meson.build

bump version

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

removing gfortran symlink

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml (#666)

* Update build_wheels_and_publish.yml

* this should be a working build.

* add meson to requirements

* Fixing linux only wheel  (#667)

* Update build_wheels_and_publish.yml

* adding in python versions

* Update build_wheels_and_publish.yml

* Update meson.build

* Update meson.build

* Update pyproject.toml

* Pip fix (#669)

* add DS_Store to ignore

* finalllllly got the platform specific wheels built with a pure: false

* tiny bump in version for tag

* Update build_wheels_and_publish.yml

need to repair linux build with cibuildwheel for PyPI

* Update meson.build

forgot to bump version here

* build wheels and publish fix (#670)

* pins cibuildwheel==2.17.0 so that we can build across macOS versions.
* allow push to pypi

* add x_86 and arch compatibility for wheels (#671)

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

* Update meson.build version

* Update _version.py version

* Update pyproject.toml version

* Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#672)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v3...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: MarkGM02 <90350113+MarkGM02@users.noreply.github.com>
Co-authored-by: Tom Wagg <tomjwagg@gmail.com>
Co-authored-by: elenagonzalez870 <52000594+elenagonzalez870@users.noreply.github.com>
Co-authored-by: Vera Eris Del Favero <77068792+xevra@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
katiebreivik added a commit that referenced this pull request Dec 12, 2024
* offner22 primary mass dependent binary fraction (#644)

* added offner22 primary mass dependent binary fraction

* pinning numpy version because of new numpy version released on june 16 (https://stackoverflow.com/questions/78634235/numpy-dtype-size-changed-may-indicate-binary-incompatibility-expected-96-from)

* pinned numpy version so 3.7 works

---------

Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org>

* Update utils.py (#648)

* Update utils.py

fix trapezoid import

* Update utils.py

missed one trapz

* version bump and dropping below python3.9 (#653)

* version bump and dropping below python3.9

* forward to numpy 1.26.0

* trying a different version

* fix trapz import

* Update build_wheels_and_publish.yml

explicitly install gcc

* Update build_wheels_and_publish.yml

trying to fix gfortran

* Update build_wheels_and_publish.yml

specifying path with symlink, checking path

* Update build_wheels_and_publish.yml (#654)

* Update build_wheels_and_publish.yml

* Update _version.py

* Update meson.build

* Update pyproject.toml (#655)

* Version bump for pip (#656)

* Update meson.build

* Update _version.py

* Add power law sampling options for ``porb`` and ``q`` (#651)

* add `q_power_law` parameter to change the power law of the mass ratio distribution

* allow custom power laws for orbital periods

* add mass ratio sampling test

* add test for custom porb power laws

* add to changelog

* New ``gamma`` option for circumbinary discs (#652)

* add new gamma prescription, add some int() statements

* add  details to docs page

* update ini files

* * Modifying the init file to include the commit hash. (#659)

*Created get_commit_hash file that finds the commit hash.

*Modified the meson.build file to run get_commit_hash when cosmic is installed.

* Created maximum wall time option (#620)

* Added compression options for pandas

* Created maximum wall time argument

* Add debugging setup, avoid NaNs from timestep issue (#647)

* setup debugging environment

* ignore a bunch of files

* add a testing fortran script

* move debugging to its own folder

* add a python script for creating the input

* add a simple makefile for testing

* important change: use `loop` instead of `1000` for timestep condition

* add a note about settings

* clean up vscode setup

* I can't count 🙃

* added new test suite location

* fixing numpy pinned version

* forcing numpy version I guess

---------

Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org>
Co-authored-by: Katie Breivik <kbreivik@andrew.cmu.edu>

* allow a gamma of -3 in error_check (#661)

* fixing wheel build for pypi, hopefully

* tiny version bump (#665)

* Update _version.py

* Update pyproject.toml

add @TomWagg as dev

* Update meson.build

bump version

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

removing gfortran symlink

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml (#666)

* Update build_wheels_and_publish.yml

* this should be a working build.

* add meson to requirements

* Fixing linux only wheel  (#667)

* Update build_wheels_and_publish.yml

* adding in python versions

* Update build_wheels_and_publish.yml

* Update meson.build

* Update meson.build

* Update pyproject.toml

* Pip fix (#669)

* add DS_Store to ignore

* finalllllly got the platform specific wheels built with a pure: false

* tiny bump in version for tag

* Update build_wheels_and_publish.yml

need to repair linux build with cibuildwheel for PyPI

* Update meson.build

forgot to bump version here

* build wheels and publish fix (#670)

* pins cibuildwheel==2.17.0 so that we can build across macOS versions.
* allow push to pypi

* add x_86 and arch compatibility for wheels (#671)

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

* Update meson.build version

* Update _version.py version

* Update pyproject.toml version

* combine the bpp and bcm columns

* pass bpp column information

* add bpp column variables

* pass all columns to bpp_array

* only need 49 actually

* bin nums separate, only index certain parts of table

* all the binaries!

* change writebpp function to use any columns

* add new bcm variables

* switch to a single function for simplicity

* change everything to writetab

* pass deltam to comenv too

* use writetab not writebpp in comenv.f

* ip not jp

* add bcm stuff and convert integer columns with a loop (add kstars/evol_type)

* `rsunau` ended up in the wrong place, this should fix porbs

* Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#672)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v3...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* metisse update

* Pypi fix (#676)

* trying out pypi tests

* add in wheel repair

* trying native build

* adding in pytest check

* adding in pytest install

* Update build_wheels_and_publish.yml

remove the cibuildwheel environment variables and updating action versions

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

Had wrong download action version

* Update build_wheels_and_publish.yml

add in auditwheel for manylinux

* Update build_wheels_and_publish.yml (#677)

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

split mac and linux builds

* Update build_wheels_and_publish.yml

trying to get cibuildwheels working again for linux

* Update pyproject.toml

removed pytest from cibuildwheel args

* Update build_wheels_and_publish.yml

don't actually publish

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

* Update build_wheels_and_publish.yml

* Update _version.py

* Update pyproject.toml

* Update meson.build

* Implement new kick prescription (#678)

* start a function for changing bases

* add cross product function

* fix indents

* better variables and copy over initial function part

* angles, better variables, natal kick done

* fix transformation for pre-disrupted binaries

* add vector calculations

* everything done except Euler angles

* add dot product and angle functions

* fix indentation, add kick info logging of disrupt

* start adding Euler angles

* rename files

* fix vector variables

* get rid of redundant anomaly stuff

* snstar->sn, update jorb, record in kick_info

* make kick info bigger

* /= is not a thing in fortran who knew

* it lives! (compiles!)

* move helpers, calculate new sep, use correct mass!

* better docstring info

* add check for collisions

* clean up all of the units

* properly update Euler angles

* declare all the variables

* put the old function back in

* change kickflag definition

* change default kickflag to 1 not 0

* update kickflag docs

* update ini files

* missed some kickflags

* calculate h_mag earlier, fix jorb units

* fix tiny typo

* update tests to check on OLD kick prescription for now

* add another test for ejection velocities

* update changelog and version

* more version updates

---------

Co-authored-by: katiebreivik <kbreivik@flatironinstitute.org>

* fix error check

* Fix NaNs coming from supernova kicks (#679)

* account for cases with no natal kick and ecc_prev=0.0

* don't forget binstate mergertype bookkeeping

* Update cosmic-pop (#683)

Fixed parsing of binfrac model. Now string values are properly handled.

* get working

* fixing tests but as a hack for a couple of them because we updated the kicks and I dont have time to fix it

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: MarkGM02 <90350113+MarkGM02@users.noreply.github.com>
Co-authored-by: Tom Wagg <tomjwagg@gmail.com>
Co-authored-by: elenagonzalez870 <52000594+elenagonzalez870@users.noreply.github.com>
Co-authored-by: Vera Eris Del Favero <77068792+xevra@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants