From 4bcd21341745d145b372d3432795e5783d601489 Mon Sep 17 00:00:00 2001 From: Theo Steininger <theo.steininger@ultimanet.de> Date: Fri, 17 Mar 2017 00:09:02 +0100 Subject: [PATCH] Reset parameter defaults for Jaffe13 model. --- .../ensemble_likelihood.py | 4 +- .../jaffe13_magnetic_field.py | 7 +- .../jaffe13_magnetic_field_factory.py | 97 ++++++++++--------- .../jf12_magnetic_field_factory.py | 4 +- imagine/observers/hammurapy/hammurapy.py | 9 +- .../hammurapy/model_mixins/__init__.py | 1 + .../hammurapy/model_mixins/jaffe13_mixin.py | 1 - .../hammurapy/model_mixins/jf12_mixin.py | 1 - 8 files changed, 66 insertions(+), 58 deletions(-) diff --git a/imagine/likelihoods/ensemble_likelihood/ensemble_likelihood.py b/imagine/likelihoods/ensemble_likelihood/ensemble_likelihood.py index d9a7d1e..58503c8 100644 --- a/imagine/likelihoods/ensemble_likelihood/ensemble_likelihood.py +++ b/imagine/likelihoods/ensemble_likelihood/ensemble_likelihood.py @@ -84,8 +84,8 @@ class EnsembleLikelihood(Likelihood): result_1 = -c.dot(first_summand) result_2 = -c.dot(second_summand) result = result_1 + result_2 - self.logger.debug("Calculated: %f + %f = %f" % - (result_1, result_2, result)) + self.logger.debug("Calculated %i of %i: %f + %f = %f" % + (i, k, result_1, result_2, result)) result_array[i] = result total_result = result_array.mean() diff --git a/imagine/magnetic_fields/jaffe13_magnetic_field/jaffe13_magnetic_field.py b/imagine/magnetic_fields/jaffe13_magnetic_field/jaffe13_magnetic_field.py index 2c88418..c46d1dc 100644 --- a/imagine/magnetic_fields/jaffe13_magnetic_field/jaffe13_magnetic_field.py +++ b/imagine/magnetic_fields/jaffe13_magnetic_field/jaffe13_magnetic_field.py @@ -8,7 +8,7 @@ class Jaffe13MagneticField(MagneticField): def parameter_list(self): parameter_list = ['B_f_ord', 'B_field_alpha', 'B_field_cutoff', 'B_ran_b2', 'B_ran_h_d', 'B_ran_h_d2', 'B_ran_h_r', - 'B_ran_h_r2', 'b1_Psi_0', 'bb_amps_0', 'bb_amps_1', + 'B_ran_h_r2', 'bb_amps_0', 'bb_amps_1', 'bb_amps_2', 'bb_amps_3', 'bb_amps_4', 'bb_bar_a', 'bb_bar_boa', 'bb_bar_phi0_deg', 'bb_cr0_coh', 'bb_cr0_iso', 'bb_cr0_ord', 'bb_d0_iso', 'bb_d0', @@ -16,9 +16,8 @@ class Jaffe13MagneticField(MagneticField): 'bb_disk_b0', 'bb_disk_h_d', 'bb_halo_b0', 'bb_halo_h_d', 'bb_phi0_deg', 'bb_pitch_biso', 'bb_pitch', 'bb_r_compconst', 'bb_r_innercut', - 'bb_r_peak', 'bb_r_peak', 'bb_r_scale', - 'bb_rmax_arms', 'bb_spiral_cpow', 'bb_spiral_h_d', - 'bb_spiral_h_d'] + 'bb_r_peak', 'bb_r_scale', 'bb_rmax_arms', + 'bb_spiral_cpow', 'bb_spiral_h_d'] return parameter_list def _create_field(self): diff --git a/imagine/magnetic_fields/jaffe13_magnetic_field/jaffe13_magnetic_field_factory.py b/imagine/magnetic_fields/jaffe13_magnetic_field/jaffe13_magnetic_field_factory.py index 4773198..7374971 100644 --- a/imagine/magnetic_fields/jaffe13_magnetic_field/jaffe13_magnetic_field_factory.py +++ b/imagine/magnetic_fields/jaffe13_magnetic_field/jaffe13_magnetic_field_factory.py @@ -13,43 +13,44 @@ class Jaffe13MagneticFieldFactory(MagneticFieldFactory): @property def _initial_parameter_defaults(self): - defaults = {'B_f_ord': 0., + defaults = {'B_f_ord': 0.5, + 'B_field_RMS_uG': 1., 'B_field_alpha': -2.37, 'B_field_cutoff': 5., - 'B_ran_b2': 0., - 'B_ran_h_d': 1., + 'B_ran_b2': 0.1, + 'B_ran_h_d': 4., 'B_ran_h_d2': 1., - 'B_ran_h_r': 10., - 'B_ran_h_r2': 10., - 'bb_amps_0': 1., - 'bb_amps_1': 1., - 'bb_amps_2': -1., - 'bb_amps_3': 1., - 'bb_amps_4': -1., + 'B_ran_h_r': 15., + 'B_ran_h_r2': 15., + 'bb_amps_0': 2., + 'bb_amps_1': 0.133, + 'bb_amps_2': -3.78, + 'bb_amps_3': 0.32, + 'bb_amps_4': -0.023, 'bb_bar_a': 0., 'bb_bar_boa': 1., 'bb_bar_phi0_deg': 45., - 'bb_cr0_coh': 1., - 'bb_cr0_iso': 1., - 'bb_cr0_ord': 1., + 'bb_cr0_coh': 0.5, + 'bb_cr0_iso': 0.3, + 'bb_cr0_ord': 0.5, 'bb_d0_iso': 0.3, 'bb_d0': 0.3, 'bb_delta_phi_iso_deg': 0., 'bb_delta_phi_ord_deg': 0., - 'bb_disk_b0': 1., - 'bb_disk_h_d': 1., - 'bb_halo_b0': 1., - 'bb_halo_h_d': 4., - 'bb_phi0_deg': 65., - 'bb_pitch_biso': -11.5, + 'bb_disk_b0': 0.167, + 'bb_disk_h_d': 0.1, + 'bb_halo_b0': 1.38, + 'bb_halo_h_d': 3., + 'bb_phi0_deg': 70., + 'bb_pitch_biso': -11., 'bb_pitch': -11.5, - 'bb_r_compconst': 10., + 'bb_r_compconst': 12., 'bb_r_innercut': 0.5, 'bb_r_peak': -1., - 'bb_r_scale': 13.2, - 'bb_rmax_arms': 15., + 'bb_r_scale': 20., + 'bb_rmax_arms': 30., 'bb_spiral_cpow': 3., - 'bb_spiral_h_d': 0.5, + 'bb_spiral_h_d': 0.1, } return defaults @@ -59,44 +60,44 @@ class Jaffe13MagneticFieldFactory(MagneticFieldFactory): return self._generate_variable_to_parameter_mapping_defaults(n=3) def _generate_variable_to_parameter_mapping_defaults(self, n): - defaults = {'B_f_ord': self._interval(0, 1, n), + defaults = {'B_f_ord': self._interval(0.5, 1, n), + 'B_field_RMS_uG': self._interval(1., 0.3, n), 'B_field_alpha': self._interval(-2.37, 1., n), 'B_field_cutoff': self._interval(5., 1., n), - 'B_ran_b2': self._interval(0., 1., n), - 'B_ran_h_d': self._interval(1., 1., n), + 'B_ran_b2': self._interval(0.1, 1., n), + 'B_ran_h_d': self._interval(4., 1., n), 'B_ran_h_d2': self._interval(1., 1., n), - 'B_ran_h_r': self._interval(10., 3., n), - 'B_ran_h_r2': self._interval(10., 3., n), - 'bb_amps_0': self._interval(1., 1., n), - 'bb_amps_1': self._interval(1., 1., n), - 'bb_amps_2': self._interval(-1., 1., n), - 'bb_amps_3': self._interval(1., 1., n), - 'bb_amps_4': self._interval(-1., 1., n), + 'B_ran_h_r': self._interval(15., 5., n), + 'B_ran_h_r2': self._interval(15., 5., n), + 'bb_amps_0': self._interval(2., 1., n), + 'bb_amps_1': self._interval(0.133, 1., n), + 'bb_amps_2': self._interval(-3.78, 1., n), + 'bb_amps_3': self._interval(0.32, 1., n), + 'bb_amps_4': self._interval(-0.023, 1., n), 'bb_bar_a': self._interval(0., 1., n), 'bb_bar_boa': self._interval(1., 1., n), 'bb_bar_phi0_deg': self._interval(45., 15., n), - 'bb_cr0_coh': self._interval(1., 1., n), - 'bb_cr0_iso': self._interval(1., 1., n), - 'bb_cr0_ord': self._interval(1., 1., n), + 'bb_cr0_coh': self._interval(0.5, 1., n), + 'bb_cr0_iso': self._interval(0.3, 1., n), + 'bb_cr0_ord': self._interval(0.5, 1., n), 'bb_d0_iso': self._interval(0.3, 0.1, n), 'bb_d0': self._interval(0.3, 0.1, n), 'bb_delta_phi_iso_deg': self._interval(0., 1., n), 'bb_delta_phi_ord_deg': self._interval(0., 1., n), - 'bb_disk_b0': self._interval(1., 1., n), - 'bb_disk_h_d': self._interval(1., 1., n), - 'bb_halo_b0': self._interval(1., 1., n), - 'bb_halo_h_d': self._interval(4., 1., n), - 'bb_phi0_deg': self._interval(65., 20., n), - 'bb_pitch_biso': self._interval(-11.5, 5., n), + 'bb_disk_b0': self._interval(0.167, 1., n), + 'bb_disk_h_d': self._interval(0.1, 1., n), + 'bb_halo_b0': self._interval(1.38, 1., n), + 'bb_halo_h_d': self._interval(3., 1., n), + 'bb_phi0_deg': self._interval(70., 20., n), + 'bb_pitch_biso': self._interval(-11, 5., n), 'bb_pitch': self._interval(-11.5, 5., n), - 'bb_r_compconst': self._interval(10., 3., n), + 'bb_r_compconst': self._interval(12., 3., n), 'bb_r_innercut': self._interval(0.5, 1., n), 'bb_r_peak': self._interval(-1., 1., n), - 'bb_r_scale': self._interval(13.2, 4., n), - 'bb_rmax_arms': self._interval(15., 5., n), + 'bb_r_scale': self._interval(20., 4., n), + 'bb_rmax_arms': self._interval(30., 5., n), 'bb_spiral_cpow': self._interval(3., 1., n), - 'bb_spiral_h_d': self._interval(0.5, 1., n), - } - + 'bb_spiral_h_d': self._interval(0.1, 1., n), + } return defaults diff --git a/imagine/magnetic_fields/jf12_magnetic_field/jf12_magnetic_field_factory.py b/imagine/magnetic_fields/jf12_magnetic_field/jf12_magnetic_field_factory.py index fe36285..96e6613 100644 --- a/imagine/magnetic_fields/jf12_magnetic_field/jf12_magnetic_field_factory.py +++ b/imagine/magnetic_fields/jf12_magnetic_field/jf12_magnetic_field_factory.py @@ -13,7 +13,8 @@ class JF12MagneticFieldFactory(MagneticFieldFactory): @property def _initial_parameter_defaults(self): - defaults = {'b51_ran_b1': 10.8, + defaults = {'B_field_RMS_uG': 1., + 'b51_ran_b1': 10.8, 'b51_ran_b2': 6.96, 'b51_ran_b3': 9.59, 'b51_ran_b4': 6.96, @@ -51,6 +52,7 @@ class JF12MagneticFieldFactory(MagneticFieldFactory): def _generate_variable_to_parameter_mapping_defaults(self, n): defaults = { + 'B_field_RMS_uG': self._interval(1., 0.3, n), 'b51_ran_b1': self._interval(10.8, 2.33, n), # b_1, 1210.7820 'b51_ran_b2': self._interval(6.96, 1.58, n), # b_2, 1210.7820 'b51_ran_b3': self._interval(9.59, 1.10, n), # b_3, 1210.7820 diff --git a/imagine/observers/hammurapy/hammurapy.py b/imagine/observers/hammurapy/hammurapy.py index da48759..dd676ec 100644 --- a/imagine/observers/hammurapy/hammurapy.py +++ b/imagine/observers/hammurapy/hammurapy.py @@ -25,6 +25,11 @@ class Hammurapy(Observer): self.last_call_log = "" + sync_template_fname = os.path.join(self.conf_directory, + 'IQU_sync.fits') + dust_template_fname = os.path.join(self.conf_directory, + 'IQU_dust.fits') + self.basic_parameters = {'obs_shell_index_numb': '1', 'total_shell_numb': '3', 'vec_size_R': '500', @@ -42,7 +47,9 @@ class Hammurapy(Observer): 'do_dust': 'F', 'do_tau': 'F', 'do_ff': 'F', - 'obs_freq_GHz': '23' + 'obs_freq_GHz': '23', + 'sync_template_fname': sync_template_fname, + 'dust_template_fname': dust_template_fname } @abc.abstractproperty diff --git a/imagine/observers/hammurapy/model_mixins/__init__.py b/imagine/observers/hammurapy/model_mixins/__init__.py index c58b3e5..32f1ca4 100644 --- a/imagine/observers/hammurapy/model_mixins/__init__.py +++ b/imagine/observers/hammurapy/model_mixins/__init__.py @@ -1,3 +1,4 @@ # -*- coding: utf-8 -*- +from jaffe13_mixin import Jaffe13Mixin from jf12_mixin import JF12Mixin diff --git a/imagine/observers/hammurapy/model_mixins/jaffe13_mixin.py b/imagine/observers/hammurapy/model_mixins/jaffe13_mixin.py index 947e384..45a99ed 100644 --- a/imagine/observers/hammurapy/model_mixins/jaffe13_mixin.py +++ b/imagine/observers/hammurapy/model_mixins/jaffe13_mixin.py @@ -13,7 +13,6 @@ class Jaffe13Mixin(object): 'B_field_interp': 'T', 'use_B_analytic': 'F', 'B_ran_mem_lim': '4', - 'bb_molr_aniso': 'T', 'bb_ord_interarm': 'T', 'bb_scale_coh_amps': 'T', diff --git a/imagine/observers/hammurapy/model_mixins/jf12_mixin.py b/imagine/observers/hammurapy/model_mixins/jf12_mixin.py index e9ffc85..777e60a 100644 --- a/imagine/observers/hammurapy/model_mixins/jf12_mixin.py +++ b/imagine/observers/hammurapy/model_mixins/jf12_mixin.py @@ -9,7 +9,6 @@ class JF12Mixin(object): self.__parameter_dict = {'B_field_type': '7', 'B_field_do_random': 'T', 'B_analytic_beta': '1.36', - 'B_field_RMS_uG': '1', 'B_field_interp': 'T', 'use_B_analytic': 'F', 'B_ran_mem_lim': '4'} -- GitLab