Example of using Parallelization module
[1]:
# Import everything from parallelization_solver submodule
from QhX.parallelization_solver import *
[2]:
# Import data manager
from QhX.data_manager import DataManager
# Create a data manager instance
data_manager = DataManager()
[4]:
# Load local copy of data from "https://zenodo.org/record/6878414/files/ForcedSourceTable.parquet"
fs_df = data_manager.load_fs_df("https://zenodo.org/record/6878414/files/ForcedSourceTable.parquet")
# Group the data
fs_gp = data_manager.group_fs_df()
INFO:root:Forced source data loaded successfully.
INFO:root:Forced source data grouped successfully.
Solver Modes: Fixed and Dynamical
This notebook demonstrates how to set up and use the solver in either Fixed or Dynamical mode.
The solver can be configured to process data in two modes: - Fixed Mode: For data with predefined filters and static sampling rates. - Dynamical Mode: For data with variable filters and time-dependent configurations. Note: Please ensure that the correct imports and initializations are used for each mode, as described in the sections below.
Fixed Mode Setup
In Fixed Mode, you can use the default DataManager
class to manage the data. This mode does not require additional configuration for time-dependent filters.
Instructions
Import the
DataManager
class from theQhX.data_manager
module.Initialize the
DataManager
as shown in the example below.
Run the code cell below to set up Fixed Mode.
[5]:
# Example : 2 set IDs , files logged, parallel arithmetic not used
setids = ['1384177', '0458387']
# Create instance of parallel solver without parallel arithmetic and passing ngrid and provided fq values (ntau=80 by default)
solver = ParallelSolver(data_manager=data_manager, delta_seconds=12.0, num_workers=2, log_files=True, parallel_arithmetic=False, ntau=80,ngrid = 100, provided_minfq = 500, provided_maxfq = 10, mode='fixed')
# Run the solver & store results into results.csv
solver.process_ids(setids, 'results.csv')
[6]:
# Example : 1 ID with parallel arithmetic
setids = ['0458387']
# Create instance of parallel solver with parallel arithmetic and provide parameters
solver = ParallelSolver(data_manager=data_manager, delta_seconds=12.0, num_workers=1, log_files=False, parallel_arithmetic=True, ntau=80,ngrid = 100, provided_minfq = 500, provided_maxfq = 10,mode='fixed')
# Run & store into results2.csv
solver.process_ids(setids, 'results2.csv')
Starting time for ID 0458387 : 2024-04-03 16:12:31.848847
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.9 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 31
Pseudo sample frequency (median) is 0.095
largest tau window is 74.996
0.12 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 31
Pseudo sample frequency (median) is 0.111
largest tau window is 74.996
0.1 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 30
Pseudo sample frequency (median) is 0.111
largest tau window is 77.581
0.1 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.43 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.41 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.54 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.4 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.49 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.39 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.41 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
Processing 0458387
PID 98003
Duration: 1.0 ticks
12.0 seconds each
Time so far 12.0s
0.36 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.36 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.36 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.36 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.36 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.36 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.36 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.36 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.39 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.4 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.4 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
Processing 0458387
PID 98003
Duration: 2.0 ticks
12.0 seconds each
Time so far 24.0s
0.39 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.39 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.38 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
*** Starting Weighted Wavelet Z-transform ***
adjusted time_divisions to: 33
Pseudo sample frequency (median) is 0.111
largest tau window is 70.308
0.37 seconds has passed to complete Weighted Wavelet Z-transform
End time for ID 0458387 : 2024-04-03 16:12:59.790757
Total time : 0:00:27.941910
[11]:
# Show content of results.csv file - no parallel arithmetic; sets 1384177, 0458387
with open('results.csv') as results_file:
print(results_file.read())
ID,Sampling_1,Sampling_2,Common period (Band1 & Band1),Upper error bound,Lower error bound,Significance,Band1-Band2
1384177,22.7388695652174,21.9744537815126,335.570469798658,-1,-1,0.98,0-1
1384177,22.7388695652174,19.3330769230769,335.570469798658,-1,-1,1,0-2
1384177,22.7388695652174,22.5428448275862,nan,nan,nan,nan,0-3
1384177,21.9744537815126,19.3330769230769,335.570469798658,-1,-1,1,1-2
1384177,21.9744537815126,22.5428448275862,nan,nan,nan,nan,1-3
1384177,19.3330769230769,22.5428448275862,nan,nan,nan,nan,2-3
458387,70.308125,74.9956666666665,nan,nan,nan,nan,0-1
458387,70.308125,74.9956666666665,nan,nan,nan,nan,0-2
458387,70.308125,77.5813793103449,nan,nan,nan,nan,0-3
458387,74.9956666666665,74.9956666666665,nan,nan,nan,nan,1-2
458387,74.9956666666665,77.5813793103449,nan,nan,nan,nan,1-3
458387,74.9956666666665,77.5813793103449,44.2869796279894,41.6265844303889,0.914820284696262,1,2-3
[7]:
# Show content of results2.csv file - used parallel arithmetic, set 0458387
with open('results2.csv') as results_file:
print(results_file.read())
ID,Sampling_1,Sampling_2,Common period (Band1 & Band1),Upper error bound,Lower error bound,Significance,Band1-Band2
0458387,70.30812500000002,74.99566666666651,nan,nan,nan,nan,0-1
0458387,70.30812500000002,74.99566666666651,nan,nan,nan,nan,0-2
0458387,70.30812500000002,77.58137931034484,nan,nan,nan,nan,0-3
0458387,74.99566666666651,74.99566666666651,nan,nan,nan,nan,1-2
0458387,74.99566666666651,77.58137931034484,nan,nan,nan,nan,1-3
0458387,74.99566666666651,77.58137931034484,44.28697962798937,41.626584450805616,0.9148202831698526,0.98,2-3
Dynamical Mode Setup
In Dynamical Mode, the solver can handle datasets with varying filters and dynamic sampling rates. This mode requires the use of DynamicalDataManager
from the dynamical_mode
module.
For more information on configuring this mode, refer to the Dynamical Mode section in the documentation.
[ ]: