Allow frequencies to be used in input files
This commit is contained in:
parent
eb0bd71813
commit
b50f942f83
@ -71,7 +71,8 @@ Reading CSV-Files
|
||||
|
||||
The format of a file has to be either structured text (e.g. CSV) or astropy ECSV. The format of the file will be automatically detected during read.
|
||||
In case of structured text, the units of the columns have to be defined in the column header within square brackets
|
||||
(e.g. "wavelength [nm]"). The file must contain two columns with units: wavelength and the spectral quantity:
|
||||
(e.g. "wavelength [nm]"). The file must contain two columns with units: wavelength/frequency and the spectral quantity.
|
||||
The first column can be either a wavelength or a frequency.
|
||||
|
||||
+-----------------+------------------------------+
|
||||
| wavelength [nm] | emission [W/(nm\*m^2\*sr)] |
|
||||
|
@ -103,7 +103,15 @@ def readCSV(file: str, units: list = None, format_: str = None) -> Table:
|
||||
data[data.colnames[i]].unit = units_header[i]
|
||||
if units is not None and len(units) == len(data.columns):
|
||||
for i in range(len(data.columns)):
|
||||
data[data.colnames[i]] = data[data.colnames[i]].to(units[i])
|
||||
if data[data.colnames[i]].unit.is_equivalent(u.Hz) and units[i].is_equivalent(u.m):
|
||||
data[data.colnames[i]] = data[data.colnames[i]].to(units[i], equivalencies=u.spectral())
|
||||
else:
|
||||
try:
|
||||
data[data.colnames[i]] = data[data.colnames[i]].to(units[i])
|
||||
except:
|
||||
data[data.colnames[i]] = data[data.colnames[i]].to(units[i],
|
||||
equivalencies=u.spectral_density(
|
||||
data[data.colnames[0]]))
|
||||
# Use default units
|
||||
elif units is not None and len(units) == len(data.columns):
|
||||
for i in range(len(data.columns)):
|
||||
|
Loading…
Reference in New Issue
Block a user