diff --git a/CHANGELOG.md b/CHANGELOG.md index d111ceaac1a3fc676d8ba6aa2997a1b054e90007..7864c4cd4bfcb972a4c3725b2079f9309e19a2e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - For sfh2exp, when setting the scale of the SFH with sfr0, the normalisation was incorrect by a factor exp(-1/tau_main). (Médéric Boquien) - The mass-dependent physical properties are computed assuming the redshift of the model. However because we round the observed redshifts to two decimals, there can be a difference of 0.005 in redshift between the models and the actual observation if CIGALE computes the list of redshifts itself. At low redshift, this can cause a discrepancy in the mass-dependent physical properties: ~0.35 dex at z=0.010 vs 0.015 for instance. Therefore we now evaluate these physical quantities at the observed redshift at full precision. (Médéric Boquien, issue reported by Samir Salim) - In the sfhfromfile module, an extraneous offset in the column index made that it took the previous column as the SFR rather than the selected column. (Médéric Boquien) +- In sfhfromfile, if the SFR is made of integers cigale crashed. Now we systematically convert it to float. (Médéric Boquien) ### Optimised - Prior to version 0.7.0, we needed to maintain the list of redshifts for all the computed models. Past 0.7.0 we just infer the redshift from a list unique redshifts. This means that we can now discard the list of redshifts for all the models and only keep the list of unique redshifts. This saves ~8 MB of memory for every 10⁶ models. the models should be computed slightly faster but it is in the measurement noise. (Médéric Boquien) diff --git a/pcigale/creation_modules/sfhfromfile.py b/pcigale/creation_modules/sfhfromfile.py index 491a36c90d108ede8e46849809fa1ce9c4526d48..280fb2da0ae57cf4e55b657d9406b080ee095760 100644 --- a/pcigale/creation_modules/sfhfromfile.py +++ b/pcigale/creation_modules/sfhfromfile.py @@ -71,7 +71,7 @@ class SfhFromFile(CreationModule): time_grid = table.columns[0].data sfr_column_number = int(self.parameters['sfr_column']) - sfr = table.columns[sfr_column_number].data + sfr = table.columns[sfr_column_number].data.astype(np.float) age = int(self.parameters['age']) normalise = (self.parameters["normalise"].lower() == "true")