NutMEG.reactor.saved_systems package

Submodules

NutMEG.reactor.saved_systems.Enceladus module

class NutMEG.reactor.saved_systems.Enceladus.Enceladus(name, pH=8.5, depth=8.5, T=273.15, mixingratios={'CH4': 0.2+/-0.1, 'CO2': 0.55+/-0.25, 'H2': 0.9+/-0.5, 'H2S': 0.0021+/-0.001, 'NH3': 0.85+/-0.45}, CO2origin='pH', tigerstripeT=197.0+/-20.0, Pconc=1e-06+/-0, workoutID=False, nominals=False)

Bases: NutMEG.reactor.reactor.reactor

The chemically active evirionment of the Enceladean Ocean. It has a few unique attributes, and at the moment does not take kwargs for reactors. This may be added in the future when the model is a bit more flexible.

This is a saved instance of reactor, which contains the methanogenesis and environmental data for the moon. In the future this will be fleshed out with other constituents and maybe even other reactions/flows.

ocean_pH

pH of the ocean at 273.15 K

Type

float

mixingratios

molar mixing ratio of the plume (wrt H2O) to use as ufloats. Default is the mixing ratios listed in Waite et al. 2017.

Type

dict, optional

CO2origin

By which methods to calculate the activity of CO2. Options include ‘tigerstripe’, ‘pH’, ‘HTHeating’, ‘HTHeating20’, ‘HTHeatingSalts’. HTHeatingSalts is recommended for the best results.

Type

str

tigerstripeT

Temperature of the tiger stripes for estimating CO2 activity. Only required if you plan to use this technique (e.g. when CO2origin = ‘tigerstripe’)

Type

ufloat, optional

nominals

Whether to return values as their nominal case (True) or as ufloats (False). Using ufloats can cause problems when working out reaction quotients.

Type

boolean, optional

Pconc

Dissolved concentration of phosphorus in the ocean.

Type

ufloat, optional

workoutID

Whether to make an entry into the Enceladus table of the NutMEG database.

Type

boolean, optional

calc_mol_CH4(mol_CO2_oc)

Return the activity of CH4 from the activity of CO2 and mixing ratios.

calc_mol_H2(mol_CO2_oc)

Return the activity of H2 from the activity of CO2 and mixing ratios.

depth = 8.5
env = <NutMEG.environment.environment.environment object>
static getHsuT(pH)

Get the temperature at the rock-water interface predicted by Hsu et al 2015 if pH were constant.

static get_CO2_from_HTHeating(T, pH, nominals=False, salts=False, CO2unc=0.0)

Return the CO2 activity and H2O activity as ufloats from the carbonate speciation model, or as a list with upper and lower bounds (when salts==True)

T

Temperature of your position in the ocean

Type

float

pH

pH that the ocean would be at 273 K.

Type

float

salts

if True, use the carbonate speciation model and return nominal, upper and lower bounds for both.

Type

boolean, optional

get_CO2_from_pH()

Return the CO2 activity as estimated from the pH in (Waite et al. 2017). Note only really valid at 273 K.

get_exp_T(T_max, T_min, height)

Use simple exponential model to estimate T with depth.

get_tigerstripe_CO2(logform=False)

Return the CO2 activity as estimated by the tiger stripe temperature. (Glein and Waite 2020)

initial_conditions(pH, mol_CO2, Pconc, H2Oact=1.0, oceanvals=False, mol_CO2_oc=None)

Set up the initial conditions of the ocean in the configuration defined in the initialisation.

pH

wider ocean (273 K) pH

Type

float

mol_CO2

Calculated activity of CO2 at this ocean location.

Type

float

Pconc

Concentration of phosphorus

Type

ufloat

H2Oact

water activity, default 1.0.

Type

float, optional

oceanvals

whether computing the wider ocean CO2 activity is needed.

Type

boolean, optional

mol_CO2_oc

wider ocean CO2 activity. Default is None (then calculated here)

Type

float, optional

static interpo_CO2_H2O(Temp=273.15, oceanpH=8.0, salt='nominalCO2')

Return the activity of CO2 and H2O at a given temperature and wider ocean pH (273 K) by interpolating the values from the carbonate speciation model.

volume = 7540000000000000.0

NutMEG.reactor.saved_systems.VenusDrop module

class NutMEG.reactor.saved_systems.VenusDrop.VenusDrop(H2ppm=25, HSact=1e-10, T=298, P=100000, V=1.13e-16, setupcomp=True, workoutID=True)

Bases: NutMEG.reactor.reactor.reactor

The chemically active evironment of a simple Venusian cloud droplet.

This is an instance of reactor, with added methods to estimate the composition from cloud ppm values and setup specific possible venusian metabolisms.

static getgasconc(gas_name, P_gas, T, P_bar=101325, S=0)

From a partial pressure, get the dissolved gas concentration.

gas_namestr

Name of reagent

P_gasfloat

partial pressure of gas in Pa

Tfloat

local temperature in K

P_barfloat

Local barometric pressure in Pa

Sfloat

Salinity of the droplet in parts per thousand

initial_conditions(H2ppm, HSact=1e-10, setupcomp=True, addreaction=True)

Set up a basic configuration, with pH 0 sulfuric acid droplet and dissolved H2.

H2ppmfloat

H2 parts per million in the atmosphere around the droplet.

HSactfloat

HS activity to use. Default is 1e-10

setupcompbool

Whether to set up the standard composition. Default True

addreactionbool

Whether to include sulfate reduction in the reactionlist

static solubilityEQ(gas_name, T, S)
static solubilityEQparams(A1, A2, A3, B1, B2, B3, T, S)
update_conditions(H2ppm, HSact=1e-10)

Calculate dissolved concentratoins in the current reactor environment for a standard VenusDrop

H2ppmfloat

Atmospheric ppm for H2

update_reagent(name, ppm)

Update the concentration of a specific reagent based on its atmospheric ppm

namestr

Name of the reagent to update

ppmfloat

atmospheric concentration to use

Module contents