ppcpy.misc.molecular_second_try#
Functions
Calculate the refractive index of air. |
|
Calculate the backscattering coefficient for the Cabannes line. |
|
Compressibility of moist air. |
|
Enhancement factor for moist air. |
|
Calculate the density of moist air. |
|
Molar fraction of water vapor. |
|
Molar mass of dry air as a function of CO2 concentration. |
|
Calculate the refractive index of standard air at a given wavelength. |
|
Calculate the refractive index of air at a specific wavelength with CO2 concentration. |
|
Calculate the refractive index of water vapor. |
|
Calculate the number density of gas at a given pressure and temperature. |
|
Basic physics constants used in calculations. |
|
Convert water vapor partial pressure to relative humidity. |
|
Calculate the molecular volume backscatter coefficient and extinction coefficient. |
|
Calculate the partial pressure of water vapor given relative humidity and temperature. |
|
Calculate the saturation vapor pressure of water as a function of temperature. |
|
Calculate the backscattering cross section for the Cabannes line. |
- ppcpy.misc.molecular_second_try.physical_constants()[source]#
Basic physics constants used in calculations. Values taken from NIST (2014 values).
- ppcpy.misc.molecular_second_try.molar_mass_dry_air(C)[source]#
Molar mass of dry air as a function of CO2 concentration. C: CO2 concentration [ppmv] Returns: Molar mass of dry air [kg/mol]
- ppcpy.misc.molecular_second_try.compressibility_of_moist_air(pressure, temperature, molar_fraction)[source]#
Compressibility of moist air. pressure: Total pressure [hPa] temperature: Temperature [K] molar_fraction: Molar fraction of water vapor
- ppcpy.misc.molecular_second_try.moist_air_density(pressure, temperature, C, Xw)[source]#
Calculate the density of moist air. pressure: Total pressure [hPa] temperature: Temperature [K] C: CO2 concentration [ppmv] Xw: Molar fraction of water vapor
- ppcpy.misc.molecular_second_try.molar_fraction_water_vapor(pressure, temperature, relative_humidity)[source]#
Molar fraction of water vapor. pressure: Total pressure [hPa] temperature: Temperature [K] relative_humidity: Relative humidity [%] (0-100)
- ppcpy.misc.molecular_second_try.enhancement_factor_f(pressure, temperature)[source]#
Enhancement factor for moist air. pressure: Total pressure [hPa] temperature: Temperature [K]
- ppcpy.misc.molecular_second_try.air_refractive_index(wavelength, pressure, temperature, C, relative_humidity)[source]#
Calculate the refractive index of air. wavelength: Wavelength [nm] pressure: Atmospheric pressure [hPa] temperature: Atmospheric temperature [K] C: CO2 concentration [ppmv] relative_humidity: Relative humidity [%] Returns: Refractive index of air.
- ppcpy.misc.molecular_second_try.sigma_pi_cabannes(wavelength, pressure, temperature, C, rh)[source]#
Calculate the backscattering cross section for the Cabannes line.
Parameters:#
- wavelengthfloat
Light wavelength in nanometers [nm].
- pressurefloat
Atmospheric pressure [hPa].
- temperaturefloat
Atmospheric temperature [K].
- Cfloat
CO2 concentration [ppmv].
- rhfloat
Relative humidity as a percentage (0 to 100).
Returns:#
- sigma_pifloat
Backscattering cross section of the Cabannes line [m^2*sr^{-1}].
- ppcpy.misc.molecular_second_try.beta_pi_cabannes(wavelength, pressure, temperature, C, rh)[source]#
Calculate the backscattering coefficient for the Cabannes line.
Parameters:#
- wavelengthfloat
Light wavelength in nanometers [nm].
- pressurefloat
Atmospheric pressure [hPa].
- temperaturefloat
Atmospheric temperature [K].
- Cfloat
CO2 concentration [ppmv].
- rhfloat
Relative humidity as a percentage (0 to 100).
Returns:#
- beta_pifloat
Backscattering coefficient of the Cabannes line [m^{-1}*sr^{-1}].
- ppcpy.misc.molecular_second_try.pressure_to_rh(partial_pressure, temperature)[source]#
Convert water vapor partial pressure to relative humidity.
Parameters:#
- partial_pressurefloat
Water vapor partial pressure [hPa].
- temperaturefloat
Temperature in Kelvin [K].
Returns:#
- rhfloat
Relative humidity as a percentage (0 to 100).
- ppcpy.misc.molecular_second_try.number_density_at_pt(pressure, temperature)[source]#
Calculate the number density of gas at a given pressure and temperature.
- Parameters:
pressure (float) – Pressure [hPa].
temperature (float) – Temperature [K].
- Returns:
Number density of gas [molecules/cm³].
- Return type:
float
Notes
- Number density is calculated using the ideal gas law:
n = P / (k_B * T),
where k_B is Boltzmann’s constant, and n is expressed in molecules/cm³.
- ppcpy.misc.molecular_second_try.n_standard_air_with_CO2(wavelength, C)[source]#
Calculate the refractive index of air at a specific wavelength with CO2 concentration.
- Parameters:
wavelength (float) – Wavelength [nm].
C (float) – CO2 concentration [ppmv].
- Returns:
Refractive index of air for the given CO2 concentration.
- Return type:
float
- ppcpy.misc.molecular_second_try.n_standard_air(wavelength)[source]#
Calculate the refractive index of standard air at a given wavelength.
- Parameters:
wavelength (float) – Wavelength [nm].
- Returns:
Refractive index of standard air.
- Return type:
float
- ppcpy.misc.molecular_second_try.n_water_vapor(wavelength)[source]#
Calculate the refractive index of water vapor.
- Parameters:
wavelength (float) – Wavelength [nm].
- Returns:
Refractive index of water vapor.
- Return type:
float
- ppcpy.misc.molecular_second_try.saturation_vapor_pressure(temperature)[source]#
Calculate the saturation vapor pressure of water as a function of temperature.
- Parameters:
temperature (float) – Temperature [K].
- Returns:
Saturation vapor pressure [hPa].
- Return type:
float
Notes
- Uses the Tetens equation for vapor pressure:
es = 6.112 * exp((17.62 * Tc) / (243.12 + Tc)),
where Tc = temperature in Celsius. The result is in hPa.
- ppcpy.misc.molecular_second_try.rh_to_pressure(rh, temperature)[source]#
Calculate the partial pressure of water vapor given relative humidity and temperature.
- Parameters:
rh (float) – Relative humidity [%] (0-100 scale).
temperature (float) – Temperature [K].
- Returns:
Partial pressure of water vapor [hPa].
- Return type:
float
Notes
- Partial pressure is calculated using the equation:
e = (rh / 100) * es,
where es is the saturation vapor pressure, calculated based on temperature.
- ppcpy.misc.molecular_second_try.rayleigh_scattering(wavelength, pressure, temperature, C, rh)[source]#
Calculate the molecular volume backscatter coefficient and extinction coefficient.
Parameters:#
- wavelengthfloat
Wavelength in nanometers [nm].
- pressurefloat
Atmospheric pressure [hPa].
- temperaturefloat
Atmospheric temperature [K].
- Cfloat
CO2 concentration [ppmv].
- rhfloat
Relative humidity as a percentage (0 to 100).
Returns:#
- beta_molfloat
Molecular backscatter coefficient [m^{-1}*sr^{-1}].
- alpha_molfloat
Molecular extinction coefficient [m^{-1}].
References:#
Bucholtz, A.: Rayleigh-scattering calculations for the terrestrial atmosphere, Appl. Opt. 34, 2765-2773 (1995). A. Behrendt and T. Nakamura, “Calculation of the calibration constant of polarization lidar and its dependency on atmospheric temperature,” Opt. Express, vol. 10, no. 16, pp. 805-817, 2002.
History:#
First edition by Zhenping, 2017-12-16. Based on the Python source code of Ioannis Binietoglou’s [repo](https://bitbucket.org/iannis_b/lidar_molecular).