from __future__ import annotations

from pint import UnitRegistry

ureg = UnitRegistry(on_redefinition="ignore")
ureg.enable_contexts("chemistry")
Q_ = ureg.Quantity

ureg.define("Sverdrup = 1e6 * meter **3 / second = Sv = Sverdrups")
ureg.define("Mol = 1 * mol / liter = M")
ureg.define("fraction = [] = frac")
ureg.define("percent = 1e-2 frac = pct")
ureg.define("permil = 1e-3 fraction")
ureg.define("ppm = 1e-6 fraction")

import numpy as np

np.seterr(invalid="ignore")

import typing as tp

from .esbmtk_base import *
from .esbmtk import *
from .extended_classes import *
from .connections import *
from .processes import *
from .carbonate_chemistry import *
from .utility_functions import *
from .sealevel import *
from .solver import *
from .Equation_Terms import *
from .ODEINT_Solver import *
from .Constructor import *
from .odeuli2 import *
from .carbonate_chemistry_2 import *
