exo_k.atm_evolution.tracers

@author: jeremy leconte

Module Contents

class exo_k.atm_evolution.tracers.Tracers(settings, tracers=None, tracer_values=None, Dmol=0.0, bg_vmr=None, M_bg=None, Nlay=None, **kwargs)[source]

Bases: object

Class that deals with tracers.

Fills out the tracers.qarray and creates tracer_names, a table of correspondence between tracer names and indices in tracers.qarray.

settings
bg_vmr
gas_vmr
var_gas_idx
aerosols_idx
var_gas_names
aerosols_names
gas_molar_masses
aerosols_bulk_density
aerosols_r_eff
some_var_gases = False
some_active_aerosol = False
dico
namelist
idx
qarray
qsurf
qdeep
M_bg
Dmol
update_gas_composition(update_vmr=True)[source]

Performs mass to volume mixing ratio conversion, computes the new molar mass of the total gas and transmits new composition to the radiative model.

!!!Small discrepancies with case without tracers!!! Maybe a problem with the background gas. JL22 => is this still true ?

Parameters:

atm (exo_k.Atm object) – If atm is provided, its composition will be updated with the new composition.

update_aerosol_properties(atm)[source]
dry_convective_adjustment(timestep, Htot, atm, verbose=False)[source]

Computes convective adjustement.

Parameters:
  • timestep (float) – physical timestep of the current step (in s/cp). (needs to be converted before it is sent to `turbulent diffusion)

  • Htot (array, np.ndarray) – Total heating rate (in W/kg) of all physical processes already computed

  • atm (Atm object) – The Atm object used in the radiative transfer which contains many state variables.

update_surface_reservoir(condensing_pairs_idx=False, surf_layer_mass=0.0)[source]

Update surface reservoirs of tracers.

E.g. deals with removing excess condensates from the first layer or putting more when everything as been evaporated.

interpolate_tracers_profile(new_logplay, old_logplay)[source]

Re interpolates tracers on a new pressure grid

Parameers

new_logplay: array

new pressure grid

old_logplay: array

Old pressure grid