TerrainBento / terrainbento

A modular landscape evolution modeling package built on top of the Landlab Toolkit.
https://terrainbento.readthedocs.io/
MIT License
19 stars 8 forks source link

Windows/Py2.7 errors related to reading in ASCII files #71

Closed kbarnhart closed 6 years ago

kbarnhart commented 6 years ago

This PR will address #70

coveralls commented 6 years ago

Pull Request Test Coverage Report for Build 504


Totals Coverage Status
Change from base Build 491: 0.0%
Covered Lines: 1517
Relevant Lines: 1817

💛 - Coveralls
kbarnhart commented 6 years ago

Errors still remain but are slightly different

================================== FAILURES ===================================
1064______________________ test_steady_Kss_no_precip_changer ______________________
1065Traceback (most recent call last):
1066  File "C:\projects\terrainbento\tests\test_800.py", line 47, in test_steady_Kss_no_precip_changer
1067    model = BasicRt(params=params)
1068  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 212, in __init__
1069    self._setup_rock_and_till()
1070  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 230, in _setup_rock_and_till
1071    file_name, grid=self.grid, halo=1, name="rock_till_contact__elevation"
1072  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1073    data = _read_asc_data(asc_file)
1074  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1075    return np.loadtxt(asc_file)
1076  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 927, in loadtxt
1077    % line_num)
1078ValueError: Wrong number of columns at line 2
1079______________________ test_steady_Ksp_no_precip_changer ______________________
1080Traceback (most recent call last):
1081  File "C:\projects\terrainbento\tests\test_800.py", line 96, in test_steady_Ksp_no_precip_changer
1082    model = BasicRt(params=params)
1083  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 212, in __init__
1084    self._setup_rock_and_till()
1085  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 230, in _setup_rock_and_till
1086    file_name, grid=self.grid, halo=1, name="rock_till_contact__elevation"
1087  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1088    data = _read_asc_data(asc_file)
1089  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1090    return np.loadtxt(asc_file)
1091  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 927, in loadtxt
1092    % line_num)
1093ValueError: Wrong number of columns at line 2
1094__________ test_steady_Ksp_no_precip_changer_with_depression_finding __________
1095Traceback (most recent call last):
1096  File "C:\projects\terrainbento\tests\test_800.py", line 146, in test_steady_Ksp_no_precip_changer_with_depression_finding
1097    model = BasicRt(params=params)
1098  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 212, in __init__
1099    self._setup_rock_and_till()
1100  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 230, in _setup_rock_and_till
1101    file_name, grid=self.grid, halo=1, name="rock_till_contact__elevation"
1102  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1103    data = _read_asc_data(asc_file)
1104  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1105    return np.loadtxt(asc_file)
1106  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 927, in loadtxt
1107    % line_num)
1108ValueError: Wrong number of columns at line 2
1109_____________________________ test_diffusion_only _____________________________
1110Traceback (most recent call last):
1111  File "C:\projects\terrainbento\tests\test_800.py", line 198, in test_diffusion_only
1112    model = BasicRt(params=params)
1113  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 212, in __init__
1114    self._setup_rock_and_till()
1115  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 230, in _setup_rock_and_till
1116    file_name, grid=self.grid, halo=1, name="rock_till_contact__elevation"
1117  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1118    data = _read_asc_data(asc_file)
1119  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1120    return np.loadtxt(asc_file)
1121  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 930, in loadtxt
1122    items = [conv(val) for (conv, val) in zip(converters, vals)]
1123  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 659, in floatconv
1124    return float(x)
1125ValueError: could not convert string to float: ODATA_value
1126__________________________ test_with_precip_changer ___________________________
1127Traceback (most recent call last):
1128  File "C:\projects\terrainbento\tests\test_800.py", line 248, in test_with_precip_changer
1129    model = BasicRt(params=params)
1130  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 212, in __init__
1131    self._setup_rock_and_till()
1132  File "C:\projects\terrainbento\terrainbento\derived_models\model_800_basicRt.py", line 230, in _setup_rock_and_till
1133    file_name, grid=self.grid, halo=1, name="rock_till_contact__elevation"
1134  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1135    data = _read_asc_data(asc_file)
1136  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1137    return np.loadtxt(asc_file)
1138  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 930, in loadtxt
1139    items = [conv(val) for (conv, val) in zip(converters, vals)]
1140  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 659, in floatconv
1141    return float(x)
1142ValueError: could not convert string to float: ODATA_value
1143______________________ test_steady_Ksp_no_precip_changer ______________________
1144Traceback (most recent call last):
1145  File "C:\projects\terrainbento\tests\test_802.py", line 51, in test_steady_Ksp_no_precip_changer
1146    model = BasicRtTh(params=params)
1147  File "C:\projects\terrainbento\terrainbento\derived_models\model_802_basicRtTh.py", line 228, in __init__
1148    self._setup_rock_and_till()
1149  File "C:\projects\terrainbento\terrainbento\derived_models\model_802_basicRtTh.py", line 250, in _setup_rock_and_till
1150    file_name, grid=self.grid, name="rock_till_contact__elevation", halo=1
1151  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1152    data = _read_asc_data(asc_file)
1153  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1154    return np.loadtxt(asc_file)
1155  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 927, in loadtxt
1156    % line_num)
1157ValueError: Wrong number of columns at line 2
1158__________ test_steady_Ksp_no_precip_changer_with_depression_finding __________
1159Traceback (most recent call last):
1160  File "C:\projects\terrainbento\tests\test_802.py", line 113, in test_steady_Ksp_no_precip_changer_with_depression_finding
1161    model = BasicRtTh(params=params)
1162  File "C:\projects\terrainbento\terrainbento\derived_models\model_802_basicRtTh.py", line 228, in __init__
1163    self._setup_rock_and_till()
1164  File "C:\projects\terrainbento\terrainbento\derived_models\model_802_basicRtTh.py", line 250, in _setup_rock_and_till
1165    file_name, grid=self.grid, name="rock_till_contact__elevation", halo=1
1166  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1167    data = _read_asc_data(asc_file)
1168  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1169    return np.loadtxt(asc_file)
1170  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 927, in loadtxt
1171    % line_num)
1172ValueError: Wrong number of columns at line 2
1173_____________________________ test_diffusion_only _____________________________
1174Traceback (most recent call last):
1175  File "C:\projects\terrainbento\tests\test_802.py", line 178, in test_diffusion_only
1176    model = BasicRtTh(params=params)
1177  File "C:\projects\terrainbento\terrainbento\derived_models\model_802_basicRtTh.py", line 228, in __init__
1178    self._setup_rock_and_till()
1179  File "C:\projects\terrainbento\terrainbento\derived_models\model_802_basicRtTh.py", line 250, in _setup_rock_and_till
1180    file_name, grid=self.grid, name="rock_till_contact__elevation", halo=1
1181  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1182    data = _read_asc_data(asc_file)
1183  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1184    return np.loadtxt(asc_file)
1185  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 930, in loadtxt
1186    items = [conv(val) for (conv, val) in zip(converters, vals)]
1187  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 659, in floatconv
1188    return float(x)
1189ValueError: could not convert string to float: ODATA_value
1190__________________________ test_with_precip_changer ___________________________
1191Traceback (most recent call last):
1192  File "C:\projects\terrainbento\tests\test_802.py", line 237, in test_with_precip_changer
1193    model = BasicRtTh(params=params)
1194  File "C:\projects\terrainbento\terrainbento\derived_models\model_802_basicRtTh.py", line 228, in __init__
1195    self._setup_rock_and_till()
1196  File "C:\projects\terrainbento\terrainbento\derived_models\model_802_basicRtTh.py", line 250, in _setup_rock_and_till
1197    file_name, grid=self.grid, name="rock_till_contact__elevation", halo=1
1198  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 398, in read_esri_ascii
1199    data = _read_asc_data(asc_file)
1200  File "C:\Miniconda\lib\site-packages\landlab\io\esri_ascii.py", line 319, in _read_asc_data
1201    return np.loadtxt(asc_file)
1202  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 930, in loadtxt
1203    items = [conv(val) for (conv, val) in zip(converters, vals)]
1204  File "C:\Miniconda\lib\site-packages\numpy\lib\npyio.py", line 659, in floatconv
1205    return float(x)
1206ValueError: could not convert string to float: ODATA_value
kbarnhart commented 6 years ago

Woooohooo! Summary is that for Windows, Python 2.7, np.loadtxt needs newlines to be \r\n instead of \n