# set custom logging, set up store_memaddr, build grid code. dry run grid code.
@@ -661,8 +667,25 @@ class Population:
)
)
# print("During this run {} systems failed with a total probability of {}".format(self.grid_options['failed_count'], self.grid_options['failed_prob']))
# print("The full argline command strings are stored in {}".format(os.path.join(self.grid_options['tmp_dir'], 'failed_systems.txt')))
"During the run {} failed systems were found, with a total probability of {} and with the following unique error codes: {} ".format(self.grid_options['failed_count'],self.grid_options['failed_prob'],self.grid_options['failed_systems_error_codes']),
self.grid_options["verbosity"],
0
)
# Some information afterwards
verbose_print(
"The full argline commands for {} these systems have been written to {}".format("ALL"ifnotself.grid_options['error_exceeded']else"SOME (only the first ones, as there were too many to log all of them)",os.path.join(self.grid_options['tmp_dir'],'failed_systemsX.txt')),
self.grid_options["verbosity"],
0
)
##
# Clean up code: remove files, unset values.
@@ -677,16 +700,10 @@ class Population:
This function is called by _evolve_population_mp
"""
# apparently we have to re-load this for every process, otherwise NameErrors arise (seems like a bug but I'm not sure)
"Process {} exceeded the maximum ({}) amount of failing systems. Stopped logging them to files now".format(self.process_ID,self.grid_options['failed_systems_threshold']),
self.grid_options["verbosity"],
1,
)
self.grid_options['error_exceeded']=True
# If not, write the failing systems to files unique to each process