@@ -127,7 +127,8 @@ def read_sfcf_multi(path, prefix, name_list, quarks_list=['.*'], corr_type_list=
127127 check_configs: list[list[int]]
128128 list of list of supposed configs, eg. [range(1,1000)]
129129 for one replicum with 1000 configs
130-
130+ rep_string: str
131+ Separator of ensemble name and replicum. Example: In "ensAr0", "r" would be the separator string.
131132 Returns
132133 -------
133134 result: dict[list[Obs]]
@@ -199,9 +200,9 @@ def read_sfcf_multi(path, prefix, name_list, quarks_list=['.*'], corr_type_list=
199200 else :
200201 ens_name = kwargs .get ("ens_name" )
201202 if not appended :
202- new_names = _get_rep_names (ls , ens_name )
203+ new_names = _get_rep_names (ls , ens_name , rep_sep = ( kwargs . get ( 'rep_string' , 'r' )) )
203204 else :
204- new_names = _get_appended_rep_names (ls , prefix , name_list [0 ], ens_name )
205+ new_names = _get_appended_rep_names (ls , prefix , name_list [0 ], ens_name , rep_sep = ( kwargs . get ( 'rep_string' , 'r' )) )
205206 new_names = sort_names (new_names )
206207
207208 idl = []
@@ -646,22 +647,22 @@ def _read_append_rep(filename, pattern, b2b, cfg_separator, im, single):
646647 return T , rep_idl , data
647648
648649
649- def _get_rep_names (ls , ens_name = None ):
650+ def _get_rep_names (ls , ens_name = None , rep_sep = 'r' ):
650651 new_names = []
651652 for entry in ls :
652653 try :
653- idx = entry .index ('r' )
654+ idx = entry .index (rep_sep )
654655 except Exception :
655656 raise Exception ("Automatic recognition of replicum failed, please enter the key word 'names'." )
656657
657658 if ens_name :
658- new_names .append (' ens_name' + '|' + entry [idx :])
659+ new_names .append (ens_name + '|' + entry [idx :])
659660 else :
660661 new_names .append (entry [:idx ] + '|' + entry [idx :])
661662 return new_names
662663
663664
664- def _get_appended_rep_names (ls , prefix , name , ens_name = None ):
665+ def _get_appended_rep_names (ls , prefix , name , ens_name = None , rep_sep = 'r' ):
665666 new_names = []
666667 for exc in ls :
667668 if not fnmatch .fnmatch (exc , prefix + '*.' + name ):
@@ -670,12 +671,12 @@ def _get_appended_rep_names(ls, prefix, name, ens_name=None):
670671 for entry in ls :
671672 myentry = entry [:- len (name ) - 1 ]
672673 try :
673- idx = myentry .index ('r' )
674+ idx = myentry .index (rep_sep )
674675 except Exception :
675676 raise Exception ("Automatic recognition of replicum failed, please enter the key word 'names'." )
676677
677678 if ens_name :
678- new_names .append (' ens_name' + '|' + entry [idx :])
679+ new_names .append (ens_name + '|' + entry [idx :])
679680 else :
680681 new_names .append (myentry [:idx ] + '|' + myentry [idx :])
681682 return new_names
0 commit comments