From e367d46e9cf843b7fd9d9e53ffd09c5549772a65 Mon Sep 17 00:00:00 2001 From: Alejandra Gonzalez <alejandra.gonzalez@uni-jena.de> Date: Mon, 25 Oct 2021 14:13:34 +0200 Subject: [PATCH] Added fix for negative mmodes in BAM --- watpy/wave/wave.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/watpy/wave/wave.py b/watpy/wave/wave.py index b1eb5a7..98b6911 100644 --- a/watpy/wave/wave.py +++ b/watpy/wave/wave.py @@ -72,9 +72,8 @@ def wfile_parse_name(fname): ----- fname : Name of the file to parse for information """ - #FIXME: negative modes?! t = ['bam','cactus','core','core','core-energy'] - s = [r'R(\w+)mode(\d)(\d)_r(\d+).l(\d+)', + s = [r'R(\w+)mode(\d)(\w+)_r(\d+).l(\d+)', r'mp_(\w+)_l(\d)_m(\d)_r(\d+\.\d\d).asc', r'R(\w+)_l(\d+)_m(\d+)_r(\d+).txt', r'R(\w+)_l(\d+)_m(\d+)_r(\w+).txt', @@ -91,7 +90,7 @@ def wfile_parse_name(fname): else: v = name.group(1) l = int(name.group(2)) - m = int(name.group(3)) + m = negmode_bam(name.group(3)) r = rinf_str_to_float(name.group(4)) vlmr = (v,l,m,r,tp) return vlmr @@ -142,6 +141,18 @@ def wfile_get_detrad_bam(fname): rad_str = re.findall("\w+",s[0])[2] return rinf_str_to_float(rad_str) +def negmode_bam(mode): + """ + Gets the mmode considering the BAM convention + used for negative mmodes + """ + try: + mod = int(mode) + except: + name = re.match(r'm(\d)', mode) + mod = int(name.group(1))*(-1) + return mod + # Cactus/THC specials -- GitLab