pycif.plugins.chemistries.lmdz — API reference

pycif.plugins.chemistries.lmdz — API reference#

Configuration reference: lmdz plugin

pycif.plugins.chemistries.lmdz.make_chemistry.create_chemicalscheme(self) None[source]#

Write the LMDZ chemical_scheme.nml Fortran namelist

pycif.plugins.chemistries.lmdz.read_chemistry.read_chemicalscheme(chemistry, **kwargs)[source]#
pycif.plugins.chemistries.lmdz.utils.parse_reaction(self, reac_str: str) tuple[list[str], list[str], list[int], Literal['constant', 'simplified_arrhenius', 'arrhenius', 'pressure', 'photolysis'], str | list[float]][source]#

Parse a SACS reaction string into its components.

Parameters:

reac_str (str) – reaction string.

Returns:

(reactant_list, product_list, stoi_list, rate_type, rate_terms)

Return type:

tuple

pycif.plugins.chemistries.lmdz.utils.format_reaction(reactant_list: list[str], product_list: list[str], stoi_list: list[int], rate_type: Literal['constant', 'simplified_arrhenius', 'arrhenius', 'pressure', 'photolysis'], rate_terms: list[str]) str[source]#

Serialise parsed reaction components back into a SACS reaction string.

The inverse of parse_reaction(). Formats reactants, products (with stoichiometric prefixes when stoi > 1), and the rate formula into the canonical SACS one-line representation.

Parameters:
  • reactant_list (list[str]) – reactant species names.

  • product_list (list[str]) – product species names.

  • stoi_list (list[int]) – stoichiometric coefficient for each product.

  • rate_type (RATE_TYPE) – one of 'constant', 'simplified_arrhenius', 'arrhenius', 'pressure', 'photolysis'.

  • rate_terms (list[str]) – rate parameters (floats for kinetic types, J-rate variable name for photolysis).

Returns:

the formatted reaction string.

Return type:

str

Raises:

ValueError – if rate_type is unrecognised.