exojax.postproc package

Submodules

exojax.postproc.limb_darkening module

Limb darkening functions.

exojax.postproc.limb_darkening.ld_kipping(q1, q2)

Uninformative prior conversion of the limb darkening by Kipping (arxiv:1308.0009)

Parameters:
  • q1 – U(0,1)

  • q2 – U(0,1)

Returns:

quadratic LD coefficient u1 u2: quadratic LD coefficient u2

Return type:

u1

exojax.postproc.response module

Response

  • input nus/wav should be spaced evenly on a log scale (ESLOG).

  • response is a response operation for the wavenumber grid spaced evenly on a log scale.

exojax.postproc.response.ipgauss(spectrum, varr_kernel, beta)

Apply the Gaussian IP response to a spectrum F.

Parameters:
  • spectrum – original spectrum (F0)

  • varr_kernel – velocity array for the rotational kernel

  • beta – STD of a Gaussian broadening (IP+microturbulence)

Returns:

response-applied spectrum (F)

exojax.postproc.response.ipgauss_ola(folded_spectrum, varr_kernel, beta)

Apply the Gaussian IP response to a spectrum F using OLA.

Parameters:
  • folded_spectrum – original spectrum (F0) folded to (ndiv, div_length) form

  • varr_kernel – velocity array for the rotational kernel

  • beta – STD of a Gaussian broadening (IP+microturbulence)

Returns:

response-applied spectrum (F)

exojax.postproc.response.ipgauss_ola_sampling(nusd, nus, folded_spectrum, beta, RV, varr_kernel)

Apply the Gaussian IP response using OLA + sampling to a spectrum F.

Parameters:
  • nusd – sampling wavenumber

  • nus – input wavenumber, evenly log-spaced

  • folded_spectrum – original spectrum (F0) folded to (ndiv, div_length) form

  • beta – STD of a Gaussian broadening (IP+microturbulence)

  • RV – radial velocity (km/s)

  • varr_kernel – velocity array for the rotational kernel

Returns:

response-applied spectrum (F)

exojax.postproc.response.ipgauss_sampling(nusd, nus, spectrum, beta, RV, varr_kernel)

Apply the Gaussian IP response + sampling to a spectrum F.

Parameters:
  • nusd – sampling wavenumber

  • nus – input wavenumber, evenly log-spaced

  • spectrum – original spectrum (F0)

  • beta – STD of a Gaussian broadening (IP+microturbulence)

  • RV – radial velocity (km/s)

  • varr_kernel – velocity array for the rotational kernel

Returns:

response-applied spectrum (F)

exojax.postproc.response.ipgauss_variable_sampling(nusd, nus, spectrum, beta_variable, RV)

Apply the variable Gaussian IP response + sampling to a spectrum F.

Notes

STD is a function of nusd

Parameters:
  • nusd – sampling wavenumber

  • nus – input wavenumber, evenly log-spaced

  • spectrum – original spectrum (F0)

  • beta_variable (1D array) – STD of a Gaussian broadening, shape=(len(nusd),)

  • RV – radial velocity (km/s)

Returns:

response-applied spectrum (F)

exojax.postproc.response.sampling(nusd, nus, F, RV)

Sampling w/ RV.

Parameters:
  • nusd – sampling wavenumber

  • nus – input wavenumber

  • F – input spectrum

  • RV – radial velocity (km/s)

Returns:

sampled spectrum

exojax.postproc.specop module

Spectral Operators (Sop)

The role of SOP is to apply various operators (essentially convolution) to a single spectrum, such as spin rotation, gaussian IP, RV shift etc. There are several convolution methods: - β€œexojax.signal.convolve”: regular FFT-based convolution - β€œexojax.signal.ola”: Overlap-and-Add based convolution

class exojax.postproc.specop.SopCommonConv(nu_grid, vrmax, convolution_method)

Bases: object

Common Spectral Operator for convloution type operators

check_ola_reducible(spectrum)
generate_vrarray()
class exojax.postproc.specop.SopInstProfile(nu_grid, vrmax=100.0, convolution_method='exojax.signal.convolve')

Bases: SopCommonConv

Spectral operator on Instrumental profile and sampling

ipgauss(spectrum, standard_deviation)

Gaussian Instrumental Profile

Parameters:
  • spectrum (nd array) – 1D spectrum

  • standard_deviation (float) – standard deviation of Gaussian in km/s

Raises:

ValueError – _description_

Returns:

IP applied spectrum

Return type:

array

sampling(spectrum, radial_velocity, nu_grid_sampling)

sampling to instrumental wavenumber grid (not necessary ESLOG nor ESLIN)

Parameters:
  • spectrum (nd array) – 1D spectrum

  • radial_velocity (float) – radial velocity in km/s

  • nu_grid_sampling (array) – instrumental wavenumber grid

Returns:

inst sampled spectrum

Return type:

array

class exojax.postproc.specop.SopPhoto(filter_id, filter_bank='svo', path='.database/filter', download=True, up_resolution_factor=32.0, factor=1e+20)

Bases: object

Spectral Operator for photometry

apparent_magnitude(flux)

computes apparent magnitude

Parameters:

flux (array) – flux in the unit of erg/s/cm2/cm-1, the same dimension as self.transmission_filter

Returns:

apparent magnitude

Return type:

float

computes_interpolated_transmission_filter(xsmode='premodit')

computes

Parameters:

xsmode (str, optional) – xsmode for wavenumber_grid. Defaults to β€œpremodit”.

download_filter()

downloads the filter

Raises:

ValueError – No filter bank

download_filter_svo()

downloads the filter from SVO

load_filter()

loads the filter from the saved dataset

Raises:

ValueError – datasets not found

save_filter()

save the filter dataset

class exojax.postproc.specop.SopRotation(nu_grid, vsini_max=100.0, convolution_method='exojax.signal.convolve')

Bases: SopCommonConv

Spectral operator on rotation

rigid_rotation(spectrum, vsini, u1, u2)

apply a rigid rotation

Parameters:
  • spectrum (nd array) – 1D spectrum

  • vsini (float) – V sini in km/s

  • u1 (float) – Limb darkening parameter u1

  • u2 (float) – Limb darkening parameter u2

Raises:

ValueError – _description_

Returns:

rotationally broaden spectrum

Return type:

nd array

exojax.postproc.spin_rotation module

exojax.postproc.spin_rotation.convolve_rigid_rotation(F0, vr_array, vsini, u1=0.0, u2=0.0)

Apply the Rotation response to a spectrum F (No OLA and No cuDNN).

Parameters:
  • F0 – original spectrum (F0)

  • vr_array – fix-sized vr array for kernel, see utils.dvgrid_rigid_rotation

  • vsini – V sini for rotation (km/s)

  • RV – radial velocity

  • u1 – Limb-darkening coefficient 1

  • u2 – Limb-darkening coefficient 2

Returns:

response-applied spectrum (F)

exojax.postproc.spin_rotation.convolve_rigid_rotation_ola(folded_F0, vr_array, vsini, u1=0.0, u2=0.0)

Apply the Rotation response to a spectrum F (No OLA and No cuDNN).

Parameters:
  • folded_F0 – original spectrum (F0) folded to (ndiv, div_length) form

  • vr_array – fix-sized vr array for kernel, see utils.dvgrid_rigid_rotation

  • vsini – V sini for rotation (km/s)

  • RV – radial velocity

  • u1 – Limb-darkening coefficient 1

  • u2 – Limb-darkening coefficient 2

Returns:

response-applied spectrum (F)

exojax.postproc.spin_rotation.rotkernel_jvp(primals, tangents)

Module contents