...
 
Commits (19)

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -12,6 +12,7 @@ with their current email address and affiliation.
Laboratoire d'Astrophysique de Marseille, France
* David Corre <david.corre@lam.fr>
Laboratoire d'Astrophysique de Marseille, France
* Yannick Roehlly <yannick@iaora.eu>
* Yannick Roehlly <yannick.roehlly@lam.fr>
Laboratoire d'Astrophysique de Marseille, France
* Héctor Salas Olave <hector.salas.o@gmail.com>
Universidad de Antofagasta, Chile
# Change Log
## Unreleased
### Added
- The (1+z1)/(1+z2) factor between observed and grid flux densities caused by the differential redshifting is now taken into account. With a default grid redshift rounding of two decimals this yields a difference of at most 0.5% in the estimated physical properties at z=0 and even less at higher z. (Médéric Boquien)
### Changed
### Fixed
- Make sure we can plot the PDF of equivalent widths. (Médéric Boquien)
- Fix a crash when generating a mock catalogue containing intensive properties. (Médéric Boquien)
- In the `sfhdelayed` and `sfhdelayedbq` modules, provide the correct description for the sfr_A parameter (Médéric Boquien & Laure Ciesla)
- Internally the luminosity distance was erroneously stored in Mpc rather than in m for non-zero redshifts. This has now been standardised to m. (Médéric Boquien)
- As the best-fit properties are computed at the exact observed redshift, correct the scaling factor as it is computed at the grid redshift. This corrects for slight offsets on the best-fit properties when the input redshift has more decimals than the grid redshift. (Médéric Boquien)
- Fix the pip install by making pcigale.managers discoverable. (Yannick Roehlly)
- When using a parameters file, Boolean values were not correctly interpreted. (Médéric Boquien, reported by Eric Martínez, INAOE)
### Optimised
- Slight speedup of the computation of the likelihood from the χ² (Médéric Boquien)
## 2018.0 (2018-11-06)
### Added
- It is now possible to optionally indicate the distance in Mpc in the input file. If present it will be used in lieu of the distance computed from the redshift. This is especially useful in the nearby universe where the redshift is a very poor indicator of the actual distance. (Médéric Boquien)
......@@ -144,7 +159,7 @@
- The output files providing estimates of the physical properties are now generated both in the form of text and FITS files. (Médéric Boquien)
- When using the `dustatt_calzleit module`, choosing ẟ≠0 leads to an effective E(B-V) different from the one set by the user. Now the E(B-V) will always correspond to the one specified by the user. This means that at fixed E(B-V), A(V) depends on ẟ. (Médéric Boquien)
- The pcigale-mock tool has been merged into pcigale-plots; the mock plots can be obtained with the "mock" command. (Médéric Boquien)
- The `sfhdelayed` module is now initialised with _init_code() to be consistent with the way things are done in other modules. This should give a slight speedup under some sircumstances too. (Médéric Boquien)
- The `sfhdelayed` module is now initialised with \_init_code() to be consistent with the way things are done in other modules. This should give a slight speedup under some sircumstances too. (Médéric Boquien)
- In `sfhfromfile`, the specification of the time grid was vague and therefore could lead to incorrect results if it was not properly formatted by the end user. The description has been clarified and we now check that the time starts from 0 and that the time step is always 1 Myr. If it is not the case we raise an exception. (Médéric Boquien)
- When the redshift is not indicated in pcigale.ini, the analysis module fills the list of redshifts from the redshifts indicated in the input flux file. This is inefficient as analysis modules should not have to modify the configuration. Now this is done when interpreting pcigale.ini before calling the relevant analysis module. As a side effect, "pigale check" now returns the total number of models that cigale will compute rather than the number of models per redshift bin. (Médéric Boquien)
- The optionally saved spectra in the `pdf_analysis` and `savefluxes` modules were saved in the VO-table format. The most important downside is that it is very slow to write to, which proves to be a major bottleneck in the computing speed. To overcome this issue, we rather save the spectra using the FITS formation. Instead of having one file containing the spectra (including the various components) and the SFH in a single file, now we have one file for the spectra and one file for the SFH.
......@@ -178,7 +193,7 @@
## 0.8.0 (2015-12-01)
### Added
- The evaluation of the parameters is always done linearly. This can be a problem when estimating the SFR or the stellar mass for instance as it is usual to estimate their log rather. Because the log is non-linear, the likelihood-weighted mean of the log is not the log of the likelihood-weighted mean. Therefore the estimation of the log of these parameters has to be done during the analysis step. This is now possible. The variables to be analysed in log just need to be indicated with the suffix "_log", for instance "stellar.m\_star\_log". (Médéric Boquien, idea suggested by Samir Salim)
- The evaluation of the parameters is always done linearly. This can be a problem when estimating the SFR or the stellar mass for instance as it is usual to estimate their log rather. Because the log is non-linear, the likelihood-weighted mean of the log is not the log of the likelihood-weighted mean. Therefore the estimation of the log of these parameters has to be done during the analysis step. This is now possible. The variables to be analysed in log just need to be indicated with the suffix "\_log", for instance "stellar.m\_star\_log". (Médéric Boquien, idea suggested by Samir Salim)
### Fixed
- Running the scripts in parallel trigger a deadlock on OS X with python 3.5. A workaround has been implemented. (Médéric Boquien)
......
......@@ -22,7 +22,7 @@ import scipy.constants as cst
from astropy.table import Table
from pcigale.data import (Database, Filter, M2005, BC03, Fritz2006,
Dale2014, DL2007, DL2014, NebularLines,
NebularContinuum, Schreiber2016, THEMIS)
NebularContinuum, SKIRTOR2016, Schreiber2016, THEMIS)
def read_bc03_ssp(filename):
......@@ -689,6 +689,55 @@ def build_fritz2006(base):
base.add_fritz2006(models)
def build_skirtor2016(base):
models = []
skirtor2016_dir = os.path.join(os.path.dirname(__file__), 'skirtor2016/')
files = glob.glob(skirtor2016_dir + '/*')
files = [file.split('/')[-1] for file in files]
params = [f.split('_')[:-1] for f in files]
# Parameters of SKIRTOR 2016
t = list({param[0][1:] for param in params})
p = list({param[1][1:] for param in params})
q = list({param[2][1:] for param in params})
oa = list({param[3][2:] for param in params})
R = list({param[4][1:] for param in params})
Mcl = list({param[5][3:] for param in params})
i = list({param[6][1:] for param in params})
iter_params = ((p1, p2, p3, p4, p5, p6, p7)
for p1 in t
for p2 in p
for p3 in q
for p4 in oa
for p5 in R
for p6 in Mcl
for p7 in i)
for params in iter_params:
filename = skirtor2016_dir + \
"t{}_p{}_q{}_oa{}_R{}_Mcl{}_i{}_sed.dat".format(*params)
print("Importing {}...".format(filename))
wl, disk, scatt, dust = np.genfromtxt(filename, unpack=True,
usecols=(0, 2, 3, 4))
wl *= 1e3
disk += scatt
disk /= wl
dust /= wl
# Normalization of the lumin_therm to 1W
norm = np.trapz(dust, x=wl)
disk /= norm
dust /= norm
models.append(SKIRTOR2016(params[0], params[1], params[2], params[3],
params[4], params[5], params[6], wl, disk,
dust))
base.add_skirtor2016(models)
def build_nebular(base):
models_lines = []
models_cont = []
......@@ -879,22 +928,27 @@ def build_base(bc03res='lr'):
print("\nDONE\n")
print('#' * 78)
print("7- Importing Dale et al (2014) templates\n")
print("7- Importing SKIRTOR 2016 models\n")
build_skirtor2016(base)
print("\nDONE\n")
print('#' * 78)
print("8- Importing Dale et al (2014) templates\n")
build_dale2014(base)
print("\nDONE\n")
print('#' * 78)
print("8- Importing nebular lines and continuum\n")
print("9- Importing nebular lines and continuum\n")
build_nebular(base)
print("\nDONE\n")
print('#' * 78)
print("9- Importing Schreiber et al (2016) models\n")
print("10- Importing Schreiber et al (2016) models\n")
build_schreiber2016(base)
print("\nDONE\n")
print('#' * 78)
print("10- Importing Jones et al (2017) models)\n")
print("11- Importing Jones et al (2017) models)\n")
build_themis(base)
print("\nDONE\n")
print('#' * 78)
......