Skip to content

Commit e2c0fdc

Browse files
committed
Add per file header and footer sizes
NUBASE added a header in 2020, the 2020 files from AME now have different header sizes for each file and they are not the same as previous years. One of the reaction files from 2020 has a footer.
1 parent aadcd22 commit e2c0fdc

File tree

9 files changed

+21
-9
lines changed

9 files changed

+21
-9
lines changed

pynch/ame_mass_file.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ def __init__(self, year: int):
99
"""Setup up the values."""
1010
super(AMEMassFile, self).__init__()
1111
if year < 2020:
12+
self.HEADER = 39
13+
self.FOOTER = None
1214
self.START_A = 16
1315
self.END_A = 19
1416
self.START_Z = 11
@@ -30,12 +32,14 @@ def __init__(self, year: int):
3032
self.START_MICRO_DU = 113
3133
self.END_MICRO_DU = 125
3234
else:
35+
self.HEADER = 36
36+
self.FOOTER = None
3337
self.START_A = 16
3438
self.END_A = 19
3539
self.START_Z = 11
3640
self.END_Z = 14
3741
self.START_ME = 29
38-
self.END_ME = 41
42+
self.END_ME = 42
3943
self.START_DME = 43
4044
self.END_DME = 53
4145
self.START_BE_PER_A = 56

pynch/ame_mass_parse.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,6 @@ def read_file(self) -> pd.DataFrame:
5252
lines = [line.rstrip() for line in f]
5353

5454
# Remove the header lines
55-
lines = lines[self.AME_HEADER:]
55+
lines = lines[self.HEADER:self.FOOTER]
5656

5757
return pd.DataFrame.from_dict([self._read_line(line) for line in lines])

pynch/ame_reaction_1_file.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ def __init__(self, year: int):
99
"""Setup the values that locate the variable."""
1010
super(AMEReactionFileOne, self).__init__()
1111
if year < 2020:
12+
self.HEADER = 39
13+
self.FOOTER = None
1214
self.START_R1_A = 1
1315
self.END_R1_A = 4
1416
self.START_R1_Z = 8
@@ -38,6 +40,8 @@ def __init__(self, year: int):
3840
self.START_DQBN = 113
3941
self.END_DQBN = 125
4042
else:
43+
self.HEADER = 35
44+
self.FOOTER = None
4145
self.START_R1_A = 1
4246
self.END_R1_A = 4
4347
self.START_R1_Z = 8

pynch/ame_reaction_1_parse.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ def read_file(self) -> pd.DataFrame:
5858
lines = [line.rstrip() for line in f]
5959

6060
# Remove the header lines
61-
lines = lines[self.AME_HEADER:]
61+
lines = lines[self.HEADER:self.FOOTER]
6262

6363
return pd.DataFrame.from_dict([self._read_line(line) for line in lines])

pynch/ame_reaction_2_file.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ def __init__(self, year: int):
99
"""Setup the values that locate the variables."""
1010
super(AMEReactionFileTwo, self).__init__()
1111
if year < 2020:
12+
self.HEADER = 39
13+
self.FOOTER = None
1214
self.START_R2_A = 1
1315
self.END_R2_A = 4
1416
self.START_R2_Z = 8
@@ -38,6 +40,8 @@ def __init__(self, year: int):
3840
self.START_DQNA = 113
3941
self.END_DQNA = 125
4042
else:
43+
self.HEADER = 37
44+
self.FOOTER = 3645
4145
self.START_R2_A = 1
4246
self.END_R2_A = 4
4347
self.START_R2_Z = 8

pynch/ame_reaction_2_parse.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def read_file(self) -> pd.DataFrame:
5858
lines = [line.rstrip() for line in f]
5959

6060
# Remove the header lines and the footer for the 2020 table
61-
lines = lines[self.AME_HEADER:self.AME_FOOTER]
61+
lines = lines[self.HEADER:self.FOOTER]
6262

6363
# The 2020 rct2 file has additional lines feeds not present in any other file
6464
the_lines = [line for line in lines if line[:1] != "1"]

pynch/nubase_file.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ def __init__(self, year: int):
1515
"""Setup the values that locate the variable."""
1616
super(NubaseFile, self).__init__()
1717
if year < 2020:
18+
self.HEADER = 0
19+
self.FOOTER = None
1820
self.START_A = 0
1921
self.END_A = 3
2022
self.START_Z = 4
@@ -49,6 +51,8 @@ def __init__(self, year: int):
4951
# to show that we haven't just forgotten about it.
5052
# END_DECAYSTRING = EOL;
5153
else:
54+
self.HEADER = 25
55+
self.FOOTER = None
5256
self.START_A = 0
5357
self.END_A = 3
5458
self.START_Z = 4

pynch/nubase_parse.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,7 @@ def read_file(self) -> pd.DataFrame:
128128
with open(self.filename, "r") as f:
129129
lines = [line.rstrip() for line in f]
130130

131-
if self.year == 2020:
132-
lines = lines[self.NUBASE_HEADER:]
131+
lines = lines[self.HEADER:self.FOOTER]
133132

134133
the_lines = [
135134
self._read_line(line) for line in lines if self._readable_line(line)

pynch/parse.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ class Parse:
1212
def __init__(self):
1313
"""Construct the symbol to Z map and set the AME header length."""
1414
super(Parse, self).__init__()
15-
self.AME_HEADER = 39
16-
self.AME_FOOTER = 3645 # Only for the rct2 file of 2020
17-
self.NUBASE_HEADER = 25 # Only for the 2020 table
1815
self.z_to_symbol = {
1916
0: "n", 1: "H", 2: "He", 3: "Li", 4: "Be", 5: "B", 6: "C", 7: "N", 8: "O", 9: "F",
2017
10: "Ne", 11: "Na", 12: "Mg", 13: "Al", 14: "Si", 15: "P", 16: "S", 17: "Cl", 18: "Ar", 19: "K",

0 commit comments

Comments
 (0)