[yt-svn] commit/yt: ngoldbaum: Merged in chummels/yt (pull request #1870)

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Fri Nov 20 08:31:18 PST 2015


1 new commit in yt:

https://bitbucket.org/yt_analysis/yt/commits/3f1fc1c90019/
Changeset:   3f1fc1c90019
Branch:      yt
User:        ngoldbaum
Date:        2015-11-20 16:29:31+00:00
Summary:     Merged in chummels/yt (pull request #1870)

Changing AbsorptionSpectrum attribute lambda_bins to be lambda_field for consistency.
Affected #:  1 file

diff -r f0e05114dfdc9a068d78373311336b5f6fa14578 -r 3f1fc1c900195d9d35e7f9b13f1c603b67337a3d yt/analysis_modules/absorption_spectrum/absorption_spectrum.py
--- a/yt/analysis_modules/absorption_spectrum/absorption_spectrum.py
+++ b/yt/analysis_modules/absorption_spectrum/absorption_spectrum.py
@@ -51,13 +51,14 @@
 
     def __init__(self, lambda_min, lambda_max, n_lambda):
         self.n_lambda = n_lambda
+        # lambda, flux, and tau are wavelength, flux, and optical depth
+        self.lambda_field = YTArray(np.linspace(lambda_min, lambda_max, 
+                                    n_lambda), "angstrom")
         self.tau_field = None
         self.flux_field = None
-        self.spectrum_line_list = None
-        self.lambda_bins = YTArray(np.linspace(lambda_min, lambda_max, n_lambda),
-                                   "angstrom")
         self.bin_width = YTQuantity((lambda_max - lambda_min) /
                                     float(n_lambda - 1), "angstrom")
+        self.spectrum_line_list = None
         self.line_list = []
         self.continuum_list = []
 
@@ -186,7 +187,7 @@
             input_ds = input_file
         field_data = input_ds.all_data()
 
-        self.tau_field = np.zeros(self.lambda_bins.size)
+        self.tau_field = np.zeros(self.lambda_field.size)
         self.spectrum_line_list = []
 
         if njobs == "auto":
@@ -211,7 +212,7 @@
             self._write_spectrum_line_list(line_list_file)
 
         del field_data
-        return (self.lambda_bins, self.flux_field)
+        return (self.lambda_field, self.flux_field)
 
     def _add_continua_to_spectrum(self, field_data, use_peculiar_velocity):
         """
@@ -228,11 +229,11 @@
             else:
                 delta_lambda = continuum['wavelength'] * field_data['redshift']
             this_wavelength = delta_lambda + continuum['wavelength']
-            right_index = np.digitize(this_wavelength, self.lambda_bins).clip(0, self.n_lambda)
+            right_index = np.digitize(this_wavelength, self.lambda_field).clip(0, self.n_lambda)
             left_index = np.digitize((this_wavelength *
                                      np.power((min_tau * continuum['normalization'] /
                                                column_density), (1. / continuum['index']))),
-                                    self.lambda_bins).clip(0, self.n_lambda)
+                                    self.lambda_field).clip(0, self.n_lambda)
 
             valid_continuua = np.where(((column_density /
                                          continuum['normalization']) > min_tau) &
@@ -241,7 +242,7 @@
                                 (continuum['label'], continuum['wavelength']),
                             valid_continuua.size)
             for i, lixel in enumerate(valid_continuua):
-                line_tau = np.power((self.lambda_bins[left_index[lixel]:right_index[lixel]] /
+                line_tau = np.power((self.lambda_field[left_index[lixel]:right_index[lixel]] /
                                      this_wavelength[lixel]), continuum['index']) * \
                                      column_density[lixel] / continuum['normalization']
                 self.tau_field[left_index[lixel]:right_index[lixel]] += line_tau
@@ -272,8 +273,8 @@
                 delta_lambda = line['wavelength'] * field_data['redshift']
             # lambda_obs is central wavelength of line after redshift
             lambda_obs = line['wavelength'] + delta_lambda
-            # bin index in lambda_bins of central wavelength of line after z
-            center_index = np.digitize(lambda_obs, self.lambda_bins)
+            # bin index in lambda_field of central wavelength of line after z
+            center_index = np.digitize(lambda_obs, self.lambda_field)
 
             # thermal broadening b parameter
             thermal_b =  np.sqrt((2 * boltzmann_constant_cgs *
@@ -355,7 +356,7 @@
                     my_n_vbins *= 2
 
                 # identify the extrema of the vbin_window so as to speed
-                # up searching over the entire lambda_bins array
+                # up searching over the entire lambda_field array
                 bins_from_center = np.ceil((my_vbin_window_width/2.) / \
                                            self.bin_width.d) + 1
                 left_index = (center_index[i] - bins_from_center).clip(0, self.n_lambda)
@@ -368,7 +369,7 @@
                 # this has the effect of assuring np.digitize will place 
                 # the vbins in the closest bin center.
                 binned = np.digitize(vbins, 
-                                     self.lambda_bins[left_index:right_index] \
+                                     self.lambda_field[left_index:right_index] \
                                      + (0.5 * self.bin_width))
 
                 # numerically integrate the virtual bins to calculate a
@@ -431,8 +432,8 @@
         mylog.info("Writing spectrum to ascii file: %s." % filename)
         f = open(filename, 'w')
         f.write("# wavelength[A] tau flux\n")
-        for i in range(self.lambda_bins.size):
-            f.write("%e %e %e\n" % (self.lambda_bins[i],
+        for i in range(self.lambda_field.size):
+            f.write("%e %e %e\n" % (self.lambda_field[i],
                                     self.tau_field[i], self.flux_field[i]))
         f.close()
 
@@ -442,7 +443,8 @@
         Write spectrum to a fits file.
         """
         mylog.info("Writing spectrum to fits file: %s." % filename)
-        col1 = pyfits.Column(name='wavelength', format='E', array=self.lambda_bins)
+        col1 = pyfits.Column(name='wavelength', format='E', \
+                             array=self.lambda_field)
         col2 = pyfits.Column(name='flux', format='E', array=self.flux_field)
         cols = pyfits.ColDefs([col1, col2])
         tbhdu = pyfits.BinTableHDU.from_columns(cols)
@@ -456,7 +458,7 @@
         """
         mylog.info("Writing spectrum to hdf5 file: %s." % filename)
         output = h5py.File(filename, 'w')
-        output.create_dataset('wavelength', data=self.lambda_bins)
+        output.create_dataset('wavelength', data=self.lambda_field)
         output.create_dataset('tau', data=self.tau_field)
         output.create_dataset('flux', data=self.flux_field)
         output.close()

Repository URL: https://bitbucket.org/yt_analysis/yt/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.



More information about the yt-svn mailing list