Commit 29d88dfd0f5fe0bd5197e400ef8e718b09a89e42
1 parent
16b9aa88
Add nthreads parameter to obsutils.get_stacked_obs() and set parameter to 1 in cslightcrv
Showing
3 changed files
with
8 additions
and
5 deletions
cscripts/cslightcrv.py
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | # ========================================================================== |
| 3 | 3 | # Generates a lightcurve. |
| 4 | 4 | # |
| 5 | -# Copyright (C) 2014-2018 Michael Mayer | |
| 5 | +# Copyright (C) 2014-2019 Michael Mayer | |
| 6 | 6 | # |
| 7 | 7 | # This program is free software: you can redistribute it and/or modify |
| 8 | 8 | # it under the terms of the GNU General Public License as published by |
| ... | ... | @@ -502,7 +502,7 @@ class cslightcrv(ctools.csobservation): |
| 502 | 502 | # and compute the stacked response functions and setup |
| 503 | 503 | # an observation container with a single stacked observation. |
| 504 | 504 | if self._stacked: |
| 505 | - new_obs = obsutils.get_stacked_obs(self, obs) | |
| 505 | + new_obs = obsutils.get_stacked_obs(self, obs, nthreads=1) | |
| 506 | 506 | |
| 507 | 507 | # ... otherwise if On/Off analysis is requested generate |
| 508 | 508 | # the On/Off observations and response | ... | ... |
cscripts/cssens.py
cscripts/obsutils.py
| 1 | 1 | # ========================================================================== |
| 2 | 2 | # Utility functions for observation handling |
| 3 | 3 | # |
| 4 | -# Copyright (C) 2011-2018 Juergen Knoedlseder | |
| 4 | +# Copyright (C) 2011-2019 Juergen Knoedlseder | |
| 5 | 5 | # |
| 6 | 6 | # This program is free software: you can redistribute it and/or modify |
| 7 | 7 | # it under the terms of the GNU General Public License as published by |
| ... | ... | @@ -670,7 +670,7 @@ def get_stacked_response(obs, cntcube, edisp=False, addbounds=False, |
| 670 | 670 | # ================================= # |
| 671 | 671 | # Get stacked observation container # |
| 672 | 672 | # ================================= # |
| 673 | -def get_stacked_obs(cls, obs): | |
| 673 | +def get_stacked_obs(cls, obs, nthreads=0): | |
| 674 | 674 | """ |
| 675 | 675 | Bin an observation and return an observation container with a single |
| 676 | 676 | binned observation |
| ... | ... | @@ -681,6 +681,8 @@ def get_stacked_obs(cls, obs): |
| 681 | 681 | cscript class |
| 682 | 682 | obs : `~gammalib.GObservations` |
| 683 | 683 | Observation container |
| 684 | + nthreads : str, optional | |
| 685 | + Number of parallel processes for On/Off spectra computation (0=all available CPUs) | |
| 684 | 686 | |
| 685 | 687 | Returns |
| 686 | 688 | ------- |
| ... | ... | @@ -705,6 +707,7 @@ def get_stacked_obs(cls, obs): |
| 705 | 707 | cntcube['emax'] = cls['emax'].real() |
| 706 | 708 | cntcube['coordsys'] = cls['coordsys'].string() |
| 707 | 709 | cntcube['proj'] = cls['proj'].string() |
| 710 | + cntcube['nthreads'] = nthreads | |
| 708 | 711 | cntcube.run() |
| 709 | 712 | |
| 710 | 713 | # Store counts cube so that we can use it to build the background | ... | ... |