You can interact with this notebook online: Launch interactive version

Tracking the Properties of Real Packets

TARDIS has the functionality to track the properties of the RPackets that are generated when running the Simulation. The rpacket_tracker can track all the interactions a packet undergoes & thus keeps a track of the various properties, a packet may have.Currently, the rpacket_tracker tracks the properties of all the rpackets in the Last Iteration of the Simulation. It generates a List that contains the individual instances of RPacketCollection{Numba JITClass}, for storing all the interaction properties as listed below.

The properties that are tracked are as follows :

  1. index - Index of the Packet

  2. seed - Seed of the Packet

  3. status - Current Status for the Packet Interaction

  4. r - Radius of the Current Shell

  5. nu - Packet’s Frequency

  6. mu - Propagation Direction of the Packet (cosine of the angle the packet’s path makes with the radial direction)

  7. energy - Energy of the Packet

  8. shell_id - Current Shell Id where the Packet is present

Warning

Current implementation stores all the data for the interaction of the packets in a list, so it needs to accessed with a list index for each property for a particular rpacket. Examples for the same are shown as follows.

How to Setup the Tracking for the RPackets?

TARDISrpacket_tracker is configured via the YAML file. This functionality of tracking the packets is turned off, by default. This is due to that fact that using this property, may slow down the execution time for the Simulation. An example configuration can be seen below for setting up the tracking:

...
montecarlo:
...
tracking:
    track_rpacket: true

The montecarlo section of the YAML file now has a tracking sub section which holds the configuration properties for the track_rpacket & the initial_array_length (discussed later in the tutorial).

Let us see, the new rpacket_tracker in action.

[1]:
from tardis.io.config_reader import Configuration
/usr/share/miniconda3/envs/tardis/lib/python3.8/site-packages/setuptools_scm/git.py:105: UserWarning: "/home/runner/work/tardis/tardis" is shallow and may cause errors
  warnings.warn(f'"{wd.path}" is shallow and may cause errors')
[2]:
# Reading the Configuration stored in `tardis_config_packet_tracking.yml` into config

config = Configuration.from_yaml("tardis_example.yml")
[3]:
# Checking the `tracking` section via the Schema

config["montecarlo"]["tracking"]
[3]:
{'track_rpacket': False, 'initial_array_length': 10}
[4]:
# Setting `r_packet_tracking` to True to turn on the Tracking

config["montecarlo"]["tracking"]["track_rpacket"] = True
[5]:
config["montecarlo"]["tracking"]
[5]:
{'track_rpacket': True, 'initial_array_length': 10}
[6]:
from tardis import run_tardis
[7]:
# Running the simulation from the config

sim = run_tardis(config, show_convergence_plots=False, show_progress_bars=False)
[tardis.plasma.standard_plasmas][INFO   ]

        Reading Atomic Data from kurucz_cd23_chianti_H_He.h5 (standard_plasmas.py:93)
[tardis.io.atom_data.util][INFO   ]

        Atom Data kurucz_cd23_chianti_H_He.h5 not found in local path.
        Exists in TARDIS Data repo /home/runner/Downloads/tardis-data/kurucz_cd23_chianti_H_He.h5 (util.py:33)
[tardis.io.atom_data.base][INFO   ]
        Reading Atom Data with: UUID = 6f7b09e887a311e7a06b246e96350010 MD5  = 864f1753714343c41f99cb065710cace  (base.py:249)
[tardis.io.atom_data.base][INFO   ]
        Non provided Atomic Data: synpp_refs, photoionization_data, yg_data, two_photon_data (base.py:253)
[py.warnings         ][WARNING]
        /home/runner/work/tardis/tardis/tardis/plasma/properties/radiative_properties.py:93: RuntimeWarning: invalid value encountered in true_divide
  (g_lower * n_upper) / (g_upper * n_lower)
 (warnings.py:109)
[py.warnings         ][WARNING]
        /home/runner/work/tardis/tardis/tardis/plasma/properties/radiative_properties.py:93: RuntimeWarning: invalid value encountered in true_divide
  (g_lower * n_upper) / (g_upper * n_lower)
 (warnings.py:109)
[tardis.simulation.base][INFO   ]

        Starting iteration 1 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 7.942e+42 erg / s
        Luminosity absorbed  = 2.659e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 9.93e+03 1.01e+04 0.4 0.507
5 9.85e+03 1.02e+04 0.211 0.197
10 9.78e+03 1.01e+04 0.143 0.117
15 9.71e+03 9.87e+03 0.105 0.0869
[tardis.simulation.base][INFO   ]

        Current t_inner = 9933.952 K
        Expected t_inner for next iteration = 10703.212 K
 (base.py:542)
[py.warnings         ][WARNING]
        /home/runner/work/tardis/tardis/tardis/plasma/properties/radiative_properties.py:93: RuntimeWarning: invalid value encountered in true_divide
  (g_lower * n_upper) / (g_upper * n_lower)
 (warnings.py:109)
[tardis.simulation.base][INFO   ]

        Starting iteration 2 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.071e+43 erg / s
        Luminosity absorbed  = 3.576e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.01e+04 1.08e+04 0.507 0.525
5 1.02e+04 1.1e+04 0.197 0.203
10 1.01e+04 1.08e+04 0.117 0.125
15 9.87e+03 1.05e+04 0.0869 0.0933
[tardis.simulation.base][INFO   ]

        Current t_inner = 10703.212 K
        Expected t_inner for next iteration = 10673.712 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 3 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.074e+43 erg / s
        Luminosity absorbed  = 3.391e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.08e+04 1.1e+04 0.525 0.483
5 1.1e+04 1.12e+04 0.203 0.189
10 1.08e+04 1.1e+04 0.125 0.118
15 1.05e+04 1.06e+04 0.0933 0.0895
[tardis.simulation.base][INFO   ]

        Current t_inner = 10673.712 K
        Expected t_inner for next iteration = 10635.953 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 4 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.058e+43 erg / s
        Luminosity absorbed  = 3.352e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.1e+04 0.483 0.469
5 1.12e+04 1.12e+04 0.189 0.182
10 1.1e+04 1.1e+04 0.118 0.113
15 1.06e+04 1.07e+04 0.0895 0.0861
[tardis.simulation.base][INFO   ]

        Current t_inner = 10635.953 K
        Expected t_inner for next iteration = 10638.407 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 5 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.055e+43 erg / s
        Luminosity absorbed  = 3.399e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 1/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.1e+04 0.469 0.479
5 1.12e+04 1.13e+04 0.182 0.178
10 1.1e+04 1.1e+04 0.113 0.113
15 1.07e+04 1.07e+04 0.0861 0.0839
[tardis.simulation.base][INFO   ]

        Current t_inner = 10638.407 K
        Expected t_inner for next iteration = 10650.202 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 6 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.061e+43 erg / s
        Luminosity absorbed  = 3.398e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 2/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.1e+04 0.479 0.47
5 1.13e+04 1.12e+04 0.178 0.185
10 1.1e+04 1.11e+04 0.113 0.112
15 1.07e+04 1.07e+04 0.0839 0.0856
[tardis.simulation.base][INFO   ]

        Current t_inner = 10650.202 K
        Expected t_inner for next iteration = 10645.955 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 7 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.061e+43 erg / s
        Luminosity absorbed  = 3.382e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 3/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.1e+04 0.47 0.47
5 1.12e+04 1.13e+04 0.185 0.178
10 1.11e+04 1.11e+04 0.112 0.112
15 1.07e+04 1.07e+04 0.0856 0.086
[tardis.simulation.base][INFO   ]

        Current t_inner = 10645.955 K
        Expected t_inner for next iteration = 10642.050 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 8 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.062e+43 erg / s
        Luminosity absorbed  = 3.350e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 4/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.11e+04 0.47 0.472
5 1.13e+04 1.14e+04 0.178 0.175
10 1.11e+04 1.11e+04 0.112 0.111
15 1.07e+04 1.07e+04 0.086 0.084
[tardis.simulation.base][INFO   ]

        Current t_inner = 10642.050 K
        Expected t_inner for next iteration = 10636.106 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 9 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.052e+43 erg / s
        Luminosity absorbed  = 3.411e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 5/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.11e+04 1.11e+04 0.472 0.469
5 1.14e+04 1.15e+04 0.175 0.17
10 1.11e+04 1.11e+04 0.111 0.109
15 1.07e+04 1.08e+04 0.084 0.0822
[tardis.simulation.base][INFO   ]

        Current t_inner = 10636.106 K
        Expected t_inner for next iteration = 10654.313 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 10 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.070e+43 erg / s
        Luminosity absorbed  = 3.335e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.11e+04 1.1e+04 0.469 0.475
5 1.15e+04 1.14e+04 0.17 0.177
10 1.11e+04 1.11e+04 0.109 0.112
15 1.08e+04 1.06e+04 0.0822 0.0878
[tardis.simulation.base][INFO   ]

        Current t_inner = 10654.313 K
        Expected t_inner for next iteration = 10628.190 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 11 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.053e+43 erg / s
        Luminosity absorbed  = 3.363e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 1/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.1e+04 0.475 0.472
5 1.14e+04 1.12e+04 0.177 0.184
10 1.11e+04 1.1e+04 0.112 0.114
15 1.06e+04 1.06e+04 0.0878 0.0859
[tardis.simulation.base][INFO   ]

        Current t_inner = 10628.190 K
        Expected t_inner for next iteration = 10644.054 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 12 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.056e+43 erg / s
        Luminosity absorbed  = 3.420e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.11e+04 0.472 0.467
5 1.12e+04 1.13e+04 0.184 0.176
10 1.1e+04 1.11e+04 0.114 0.11
15 1.06e+04 1.08e+04 0.0859 0.0821
[tardis.simulation.base][INFO   ]

        Current t_inner = 10644.054 K
        Expected t_inner for next iteration = 10653.543 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 13 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.062e+43 erg / s
        Luminosity absorbed  = 3.406e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 1/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.11e+04 1.11e+04 0.467 0.466
5 1.13e+04 1.13e+04 0.176 0.18
10 1.11e+04 1.11e+04 0.11 0.111
15 1.08e+04 1.08e+04 0.0821 0.0841
[tardis.simulation.base][INFO   ]

        Current t_inner = 10653.543 K
        Expected t_inner for next iteration = 10647.277 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 14 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.063e+43 erg / s
        Luminosity absorbed  = 3.369e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 2/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.11e+04 1.11e+04 0.466 0.469
5 1.13e+04 1.13e+04 0.18 0.182
10 1.11e+04 1.1e+04 0.111 0.113
15 1.08e+04 1.07e+04 0.0841 0.0854
[tardis.simulation.base][INFO   ]

        Current t_inner = 10647.277 K
        Expected t_inner for next iteration = 10638.875 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 15 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.053e+43 erg / s
        Luminosity absorbed  = 3.417e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 3/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.11e+04 1.1e+04 0.469 0.484
5 1.13e+04 1.13e+04 0.182 0.181
10 1.1e+04 1.1e+04 0.113 0.113
15 1.07e+04 1.07e+04 0.0854 0.0858
[tardis.simulation.base][INFO   ]

        Current t_inner = 10638.875 K
        Expected t_inner for next iteration = 10655.125 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 16 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.059e+43 erg / s
        Luminosity absorbed  = 3.445e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 4/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.1e+04 0.484 0.472
5 1.13e+04 1.13e+04 0.181 0.177
10 1.1e+04 1.1e+04 0.113 0.113
15 1.07e+04 1.06e+04 0.0858 0.0858
[tardis.simulation.base][INFO   ]

        Current t_inner = 10655.125 K
        Expected t_inner for next iteration = 10655.561 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 17 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.067e+43 erg / s
        Luminosity absorbed  = 3.372e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.1e+04 1.11e+04 0.472 0.468
5 1.13e+04 1.14e+04 0.177 0.175
10 1.1e+04 1.11e+04 0.113 0.11
15 1.06e+04 1.08e+04 0.0858 0.0816
[tardis.simulation.base][INFO   ]

        Current t_inner = 10655.561 K
        Expected t_inner for next iteration = 10636.536 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 18 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.057e+43 erg / s
        Luminosity absorbed  = 3.365e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 1/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.11e+04 1.11e+04 0.468 0.464
5 1.14e+04 1.13e+04 0.175 0.177
10 1.11e+04 1.1e+04 0.11 0.113
15 1.08e+04 1.07e+04 0.0816 0.0848
[tardis.simulation.base][INFO   ]

        Current t_inner = 10636.536 K
        Expected t_inner for next iteration = 10641.692 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 19 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.056e+43 erg / s
        Luminosity absorbed  = 3.405e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]
        Iteration converged 2/4 consecutive times. (base.py:259)
[tardis.simulation.base][INFO   ]

        Plasma stratification: (base.py:515)
Shell No. t_rad next_t_rad w next_w
0 1.11e+04 1.11e+04 0.464 0.466
5 1.13e+04 1.13e+04 0.177 0.177
10 1.1e+04 1.11e+04 0.113 0.111
15 1.07e+04 1.07e+04 0.0848 0.0853
[tardis.simulation.base][INFO   ]

        Current t_inner = 10641.692 K
        Expected t_inner for next iteration = 10650.463 K
 (base.py:542)
[tardis.simulation.base][INFO   ]

        Starting iteration 20 of 20 (base.py:378)
[tardis.simulation.base][INFO   ]

        Luminosity emitted   = 1.061e+43 erg / s
        Luminosity absorbed  = 3.401e+42 erg / s
        Luminosity requested = 1.059e+43 erg / s
 (base.py:547)
[tardis.simulation.base][INFO   ]

        Simulation finished in 20 iterations
        Simulation took 54.28 s
 (base.py:468)

Now, the tracked properties can be accessed via the rpacket_tracker attribute of the sim.runner object.

[8]:
type(sim.runner.rpacket_tracker)
[8]:
numba.typed.typedlist.List

It can be seen from the above code, that the sim.runner.rpacket_tracker is an instance of the List specifically Numba Typed List. The RPacketCollection class has the following structure for the properties : {More information in the TARDIS API for RPacketCollection class}

# Basic structure for the RPacketCollection Class
class RPacketCollection:
   # Properties
    index
    seed
    status
    r
    nu
    mu
    energy
    shell_id
[9]:
len(sim.runner.rpacket_tracker)
[9]:
100000

To access these different properties, we may consider the following examples for the rpacket_tracker: In this Example, we are trying to access the properties of the packet at index 10.In a similar way, we can check for any property for any packet in the range of packets for the last iteration.

  • Accessing the index property for the packet {10}:

[10]:
sim.runner.rpacket_tracker[10].index
[10]:
10
  • Accessing the seed property for the packet {10}:

[11]:
sim.runner.rpacket_tracker[10].seed
[11]:
2729103521
  • Accessing the status property for the packet {10}:

[12]:
sim.runner.rpacket_tracker[10].status
[12]:
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 1])

Thus, all other properties {r, nu, mu, energy, shell_id} can be accessed accordingly.

We can also see the total number of interactions of index 10 packet under went, with the following example:

[13]:
len(sim.runner.rpacket_tracker[10].shell_id)
[13]:
53

Warning

If we try to access sim.runner.rpacket_tracker property when we have the track_rpacket property in the tracking subsection of montecarlo config, turned off as follows config["montecarlo"]["tracking"]["track_rpacket"] = False, it will return None. Error will be raised if we try to access the properties i.e. seed, index, etc.

Note

When we initialise the RPacketCollection() class, the properties arrays {index, seed, status, etc} are allocated certain length based on the initial_array_length parameter that can be set via the initial_array_length property under montecarlo -> tracking section of the configuration. The default size of the array is 10. This variable is important as the number of interactions a packet may have is variable, thus we need to allocate space dynamically. This variable is used to compute the size and expand the array such that the properties are able to hold these values for the packet interaction. Higher number, allocates more space initially leading to lesser times the arrays expands and vice versa. It can be set in the following manner config["montecarlo"]["tracking"]["initial_array_length"] = {value}.