Commit 02b5db00 authored by BURGARELLA Denis's avatar BURGARELLA Denis

Merge branch 'release/v0.8.0'

parents 3957ae60 343d3479
# Change Log # Change Log
## 0.7.1 (2015-11-30) ## 0.8.0 (2015-11-01)
### Added ### 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-weigthed 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-weigthed 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)
### Changed
### Fixed ### 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) - Running the scripts in parallel trigger a deadlock on OS X with python 3.5. A workaround has been implemented. (Médéric Boquien)
- When no dust emission module is used, pcigale genconf complains that no dust attenuation module is used. Correctly specify dust emission and not attenuation. (Médéric Boquien and Laure Ciesla) - When no dust emission module is used, pcigale genconf complains that no dust attenuation module is used. Correctly specify dust emission and not attenuation. (Médéric Boquien and Laure Ciesla)
- Allowing more flexibility to read ASCII files broke the handling of FITS files. It is now fixed. (Yannick Roehlly) - Allowing more flexibility to read ASCII files broke the handling of FITS files. It is now fixed. (Yannick Roehlly)
### Optimised ### Changed
- The attenuation.ebvs\_main and attenuation.ebvs\_old parameters are no longer present as they were duplicates of attenuation.E\_BVs.stellar.old and attenuation.E\_BVs.stellar.young (that are still available).
## 0.7.0 (2015-11-19) ## 0.7.0 (2015-11-19)
### Added ### Added
......
...@@ -243,7 +243,8 @@ class CalzLeit(CreationModule): ...@@ -243,7 +243,8 @@ class CalzLeit(CreationModule):
ebvs = {} ebvs = {}
wavelength = sed.wavelength_grid wavelength = sed.wavelength_grid
ebvs['young'] = float(self.parameters["E_BVs_young"]) ebvs['young'] = float(self.parameters["E_BVs_young"])
ebvs['old'] = float(self.parameters["E_BVs_old_factor"]) * ebvs['young'] ebvs_old_factor = float(self.parameters["E_BVs_old_factor"])
ebvs['old'] = ebvs_old_factor * ebvs['young']
uv_bump_wavelength = float(self.parameters["uv_bump_wavelength"]) uv_bump_wavelength = float(self.parameters["uv_bump_wavelength"])
uv_bump_width = float(self.parameters["uv_bump_width"]) uv_bump_width = float(self.parameters["uv_bump_width"])
uv_bump_amplitude = float(self.parameters["uv_bump_amplitude"]) uv_bump_amplitude = float(self.parameters["uv_bump_amplitude"])
...@@ -294,8 +295,7 @@ class CalzLeit(CreationModule): ...@@ -294,8 +295,7 @@ class CalzLeit(CreationModule):
sed.add_info("attenuation." + filt, sed.add_info("attenuation." + filt,
-2.5 * np.log10(flux_att[filt] / flux_noatt[filt])) -2.5 * np.log10(flux_att[filt] / flux_noatt[filt]))
sed.add_info('attenuation.ebvs_main', ebvs['old']) sed.add_info('attenuation.ebvs_old_factor', ebvs_old_factor)
sed.add_info('attenuation.ebvs_young', ebvs['young'])
sed.add_info('attenuation.uv_bump_wavelength', uv_bump_wavelength) sed.add_info('attenuation.uv_bump_wavelength', uv_bump_wavelength)
sed.add_info('attenuation.uv_bump_width', uv_bump_width) sed.add_info('attenuation.uv_bump_width', uv_bump_width)
sed.add_info('attenuation.uv_bump_amplitude', uv_bump_amplitude) sed.add_info('attenuation.uv_bump_amplitude', uv_bump_amplitude)
......
...@@ -169,7 +169,8 @@ class PowerLawAtt(CreationModule): ...@@ -169,7 +169,8 @@ class PowerLawAtt(CreationModule):
av = {} av = {}
wavelength = sed.wavelength_grid wavelength = sed.wavelength_grid
av['young'] = float(self.parameters["Av_young"]) av['young'] = float(self.parameters["Av_young"])
av['old'] = float(self.parameters["Av_old_factor"] * av['young']) av_old_factor = float(self.parameters["Av_old_factor"])
av['old'] = av_old_factor * av['young']
uv_bump_wavelength = float(self.parameters["uv_bump_wavelength"]) uv_bump_wavelength = float(self.parameters["uv_bump_wavelength"])
uv_bump_width = float(self.parameters["uv_bump_width"]) uv_bump_width = float(self.parameters["uv_bump_width"])
uv_bump_amplitude = float(self.parameters["uv_bump_amplitude"]) uv_bump_amplitude = float(self.parameters["uv_bump_amplitude"])
...@@ -204,7 +205,9 @@ class PowerLawAtt(CreationModule): ...@@ -204,7 +205,9 @@ class PowerLawAtt(CreationModule):
sed.add_contribution("attenuation." + contrib, wavelength, sed.add_contribution("attenuation." + contrib, wavelength,
attenuation_spectrum) attenuation_spectrum)
# Bump and slope of the dust attenuation sed.add_info("attenuation.av_old_factor", av_old_factor)
sed.add_info('attenuation.uv_bump_wavelength', uv_bump_wavelength)
sed.add_info('attenuation.uv_bump_width', uv_bump_width)
sed.add_info("attenuation.uv_bump_amplitude", uv_bump_amplitude) sed.add_info("attenuation.uv_bump_amplitude", uv_bump_amplitude)
sed.add_info("attenuation.powerlaw_slope", powerlaw_slope) sed.add_info("attenuation.powerlaw_slope", powerlaw_slope)
......
...@@ -77,9 +77,8 @@ def save_sed_to_vo(sed, filename, norm=1.): ...@@ -77,9 +77,8 @@ def save_sed_to_vo(sed, filename, norm=1.):
# If there is a stellar population then the norm factor is the stellar # If there is a stellar population then the norm factor is the stellar
# mass. # mass.
votable.infos.append(Info(name="Galaxy mass in Msun", value=norm)) votable.infos.append(Info(name="Galaxy mass in Msun", value=norm))
votable.infos.append(Info(name="Redshift",
value=sed.info['universe.redshift'])) for name, value in sorted(sed.info.items()):
for name, value in sed.info.items():
if name in sed.mass_proportional_info: if name in sed.mass_proportional_info:
votable.infos.append(Info(name=name, value=norm * value)) votable.infos.append(Info(name=name, value=norm * value))
else: else:
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
import argparse import argparse
from itertools import product, repeat from itertools import product, repeat
from collections import OrderedDict from collections import OrderedDict
import sys
from astropy.table import Table from astropy.table import Table
import matplotlib import matplotlib
......
...@@ -26,7 +26,7 @@ entry_points = { ...@@ -26,7 +26,7 @@ entry_points = {
setup( setup(
name="pcigale", name="pcigale",
version="0.7.1", version="0.8.0",
packages=find_packages(exclude=["database_builder"]), packages=find_packages(exclude=["database_builder"]),
install_requires=['numpy', 'scipy', 'sqlalchemy', 'matplotlib', install_requires=['numpy', 'scipy', 'sqlalchemy', 'matplotlib',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment