bgc_md2.resolve package

Submodules

bgc_md2.resolve.MVarSet module

class bgc_md2.resolve.MVarSet.MVarSet(s)[source]

Bases: object

property computable_mvar_names
computable_mvar_types() → Set[type][source]
classmethod from_model_name(model_id)[source]

convenience method to get the instance from a submodule of bgc.models by just giving the name of the submodule

graph()[source]
path_dict_to_single_mvar(mvar: type) → Dict[type, List[Set[type]]][source]
property provided_mvar_types
render(var)[source]

bgc_md2.resolve.computers module

bgc_md2.resolve.computers.compartmental_matrix_from_smooth_reservoir_model(smr: CompartmentalSystems.smooth_reservoir_model.SmoothReservoirModel)bgc_md2.resolve.mvars.CompartmentalMatrix[source]
bgc_md2.resolve.computers.numeric_model_run_1(npsrm: bgc_md2.resolve.mvars.NumericParameterizedSmoothReservoirModel, start_values_num: bgc_md2.resolve.mvars.NumericStartValueArray, times_num: bgc_md2.resolve.mvars.NumericSimulationTimes) → CompartmentalSystems.smooth_model_run.SmoothModelRun[source]
bgc_md2.resolve.computers.numeric_parameterized_smooth_reservoir_model_1(srm: CompartmentalSystems.smooth_reservoir_model.SmoothReservoirModel, para_num: bgc_md2.resolve.mvars.NumericParameterization)bgc_md2.resolve.mvars.NumericParameterizedSmoothReservoirModel[source]
bgc_md2.resolve.computers.numeric_solution_array_1(smr: CompartmentalSystems.smooth_model_run.SmoothModelRun)bgc_md2.resolve.mvars.NumericSolutionArray[source]
bgc_md2.resolve.computers.numeric_start_value_array_1(nsvd: bgc_md2.resolve.mvars.NumericStartValueDict, svt: bgc_md2.resolve.mvars.StateVariableTuple)bgc_md2.resolve.mvars.NumericStartValueArray[source]
bgc_md2.resolve.computers.numeric_start_value_array_2(smr: CompartmentalSystems.smooth_model_run.SmoothModelRun)bgc_md2.resolve.mvars.NumericStartValueArray[source]
bgc_md2.resolve.computers.numeric_start_value_dict(nsva: bgc_md2.resolve.mvars.NumericStartValueArray, svt: bgc_md2.resolve.mvars.StateVariableTuple)bgc_md2.resolve.mvars.NumericStartValueDict[source]
bgc_md2.resolve.computers.quantity_model_run_1(qpsrm: bgc_md2.resolve.mvars.QuantityParameterizedSmoothReservoirModel, start_values_q: bgc_md2.resolve.mvars.QuantityStartValueArray, times_q: bgc_md2.resolve.mvars.QuantitySimulationTimes)bgc_md2.resolve.mvars.QuantityModelRun[source]
bgc_md2.resolve.computers.quantity_parameterization_1(np: bgc_md2.resolve.mvars.NumericParameterization, state_var_units: bgc_md2.resolve.mvars.StateVarUnitTuple, time_unit: sympy.physics.units.quantities.Quantity)bgc_md2.resolve.mvars.QuantityParameterization[source]
bgc_md2.resolve.computers.quantity_parameterized_smooth_reservoir_model_1(srm: CompartmentalSystems.smooth_reservoir_model.SmoothReservoirModel, para_q: bgc_md2.resolve.mvars.QuantityParameterization)bgc_md2.resolve.mvars.QuantityParameterizedSmoothReservoirModel[source]
bgc_md2.resolve.computers.quantity_solution_array_1(qmr: bgc_md2.resolve.mvars.QuantityModelRun)bgc_md2.resolve.mvars.QuantitySolutionArray[source]
bgc_md2.resolve.computers.quantity_start_value_array_1(qsvd: bgc_md2.resolve.mvars.QuantityStartValueDict, svt: bgc_md2.resolve.mvars.StateVariableTuple)bgc_md2.resolve.mvars.QuantityStartValueArray[source]
bgc_md2.resolve.computers.smooth_reservoir_model_2(smr: CompartmentalSystems.smooth_model_run.SmoothModelRun) → CompartmentalSystems.smooth_reservoir_model.SmoothReservoirModel[source]
bgc_md2.resolve.computers.smooth_reservoir_model_from_fluxes(in_fluxes: bgc_md2.resolve.mvars.InFluxesBySymbol, out_fluxes: bgc_md2.resolve.mvars.OutFluxesBySymbol, internal_fluxes: bgc_md2.resolve.mvars.InternalFluxesBySymbol, time_symbol: bgc_md2.resolve.mvars.TimeSymbol, state_variable_tuple: bgc_md2.resolve.mvars.StateVariableTuple) → CompartmentalSystems.smooth_reservoir_model.SmoothReservoirModel[source]
bgc_md2.resolve.computers.smooth_reservoir_model_from_input_tuple_and_matrix(u: bgc_md2.resolve.mvars.InputTuple, B: bgc_md2.resolve.mvars.CompartmentalMatrix, time_symbol: bgc_md2.resolve.mvars.TimeSymbol, state_variable_tuple: bgc_md2.resolve.mvars.StateVariableTuple) → CompartmentalSystems.smooth_reservoir_model.SmoothReservoirModel[source]
bgc_md2.resolve.computers.vegetation_carbon_input_tuple_from_vegetation_carbon_input_partinioning_tuple_and_vegetation_carbon_input_scalar(u: bgc_md2.resolve.mvars.VegetationCarbonInputScalar, b: bgc_md2.resolve.mvars.VegetationCarbonInputPartitioningTuple)bgc_md2.resolve.mvars.VegetationCarbonInputTuple[source]

bgc_md2.resolve.graph_helpers module

bgc_md2.resolve.graph_helpers.arg_set_graph(mvar: type, allComputers: Set[Callable]) → networkx.classes.multidigraph.MultiDiGraph[source]
bgc_md2.resolve.graph_helpers.compset_2_string(compset)[source]
bgc_md2.resolve.graph_helpers.edge_2_string(e)[source]
bgc_md2.resolve.graph_helpers.equivalent_multigraphs(g1_multi: networkx.classes.multidigraph.MultiDiGraph, g2_multi: networkx.classes.multidigraph.MultiDiGraph) → bool[source]
bgc_md2.resolve.graph_helpers.equivalent_singlegraphs(g1_single: networkx.classes.digraph.DiGraph, g2_single: networkx.classes.digraph.DiGraph) → bool[source]
bgc_md2.resolve.graph_helpers.immutable_edge(edge)[source]
bgc_md2.resolve.graph_helpers.initial_sparse_powerset_graph(computers: Set[Callable]) → networkx.classes.multidigraph.MultiDiGraph[source]
bgc_md2.resolve.graph_helpers.minimal_startnodes_for_node(spg: networkx.classes.graph.Graph, targetNode: Set[type]) → Set[Set][source]
bgc_md2.resolve.graph_helpers.minimal_startnodes_for_single_var(spg: networkx.classes.graph.Graph, targetVar: type)[source]

spg is a sparse powerset Graph, which means that it only contains all one element sets as targets.

bgc_md2.resolve.graph_helpers.minimal_target_subgraph_for_single_var(spg: networkx.classes.graph.Graph, targetVar: type)[source]
bgc_md2.resolve.graph_helpers.node_2_string(node)[source]
bgc_md2.resolve.graph_helpers.nodes_2_string(node)[source]
bgc_md2.resolve.graph_helpers.product_graph(*graphs: Tuple[networkx.classes.multidigraph.MultiDiGraph]) → networkx.classes.multidigraph.MultiDiGraph[source]
bgc_md2.resolve.graph_helpers.product_graph_2(g1: networkx.classes.multidigraph.MultiDiGraph, g2: networkx.classes.multidigraph.MultiDiGraph) → networkx.classes.multidigraph.MultiDiGraph[source]
bgc_md2.resolve.graph_helpers.sparse_powerset_graph(computers: Set[Callable]) → networkx.classes.multidigraph.MultiDiGraph[source]
bgc_md2.resolve.graph_helpers.toDiGraph(g_multi: networkx.classes.multidigraph.MultiDiGraph) → networkx.classes.digraph.DiGraph[source]
bgc_md2.resolve.graph_helpers.update_generator(computers: Set[Callable], max_it: int) → List[networkx.classes.multidigraph.MultiDiGraph][source]
bgc_md2.resolve.graph_helpers.update_step(spsg: networkx.classes.multidigraph.MultiDiGraph, computers: Set[Callable]) → networkx.classes.multidigraph.MultiDiGraph[source]

bgc_md2.resolve.graph_plotting module

bgc_md2.resolve.graph_plotting.AGraphComputerMultiDiGraph(spsg: networkx.classes.multidigraph.MultiDiGraph, cf: Callable) → pygraphviz.agraph.AGraph[source]
bgc_md2.resolve.graph_plotting.AGraphComputerSetMultiDiGraph(spsg: networkx.classes.multidigraph.MultiDiGraph, cf: Callable) → pygraphviz.agraph.AGraph[source]
bgc_md2.resolve.graph_plotting.compset_2_string(compset, aliases=<frozendict {}>)[source]
bgc_md2.resolve.graph_plotting.draw_ComputerSetDiGraph_matplotlib(spsg: networkx.classes.digraph.DiGraph, ax, pos=None, **kwargs)[source]
bgc_md2.resolve.graph_plotting.draw_ComputerSetMultiDiGraph_matplotlib(ax, spsg, mvar_aliases=<frozendict {}>, computer_aliases=<frozendict {}>, targetNode=None, pos=None, **kwargs)[source]
bgc_md2.resolve.graph_plotting.draw_sequence(fig, tups)[source]
bgc_md2.resolve.graph_plotting.draw_update_sequence(computers, max_it, fig, mvar_aliases=<frozendict {}>, computer_aliases=<frozendict {}>)[source]
bgc_md2.resolve.graph_plotting.edge_2_string(e)[source]
bgc_md2.resolve.graph_plotting.node_2_string(node, aliases=<frozendict {}>)[source]
bgc_md2.resolve.graph_plotting.nodes_2_string(node, aliases=<frozendict {}>)[source]

bgc_md2.resolve.helpers module

bgc_md2.resolve.helpers.bgc_md2_computer_aliases()[source]
bgc_md2.resolve.helpers.bgc_md2_computers()[source]
bgc_md2.resolve.helpers.bgc_md2_mvar_aliases()[source]
bgc_md2.resolve.helpers.list_mult(ll)[source]

bgc_md2.resolve.inspect_type_hints_old module

class bgc_md2.resolve.inspect_type_hints_old.CompartmentalMatrix(*args, **kwargs)[source]

Bases: sympy.matrices.immutable.ImmutableDenseMatrix

default_assumptions = {'algebraic': False, 'commutative': False, 'complex': False, 'composite': False, 'even': False, 'extended_negative': False, 'extended_nonnegative': False, 'extended_nonpositive': False, 'extended_nonzero': False, 'extended_positive': False, 'extended_real': False, 'imaginary': False, 'integer': False, 'irrational': False, 'negative': False, 'noninteger': False, 'nonnegative': False, 'nonpositive': False, 'nonzero': False, 'odd': False, 'positive': False, 'prime': False, 'rational': False, 'real': False, 'transcendental': False, 'zero': False}
is_algebraic = False
is_commutative = False
is_complex = False
is_composite = False
is_even = False
is_extended_negative = False
is_extended_nonnegative = False
is_extended_nonpositive = False
is_extended_nonzero = False
is_extended_positive = False
is_extended_real = False
is_imaginary = False
is_integer = False
is_irrational = False
is_negative = False
is_noninteger = False
is_nonnegative = False
is_nonpositive = False
is_nonzero = False
is_odd = False
is_positive = False
is_prime = False
is_rational = False
is_real = False
is_transcendental = False
is_zero = False
class bgc_md2.resolve.inspect_type_hints_old.InputTuple(*args, **kwargs)[source]

Bases: sympy.matrices.immutable.ImmutableDenseMatrix

default_assumptions = {'algebraic': False, 'commutative': False, 'complex': False, 'composite': False, 'even': False, 'extended_negative': False, 'extended_nonnegative': False, 'extended_nonpositive': False, 'extended_nonzero': False, 'extended_positive': False, 'extended_real': False, 'imaginary': False, 'integer': False, 'irrational': False, 'negative': False, 'noninteger': False, 'nonnegative': False, 'nonpositive': False, 'nonzero': False, 'odd': False, 'positive': False, 'prime': False, 'rational': False, 'real': False, 'transcendental': False, 'zero': False}
is_algebraic = False
is_commutative = False
is_complex = False
is_composite = False
is_even = False
is_extended_negative = False
is_extended_nonnegative = False
is_extended_nonpositive = False
is_extended_nonzero = False
is_extended_positive = False
is_extended_real = False
is_imaginary = False
is_integer = False
is_irrational = False
is_negative = False
is_noninteger = False
is_nonnegative = False
is_nonpositive = False
is_nonzero = False
is_odd = False
is_positive = False
is_prime = False
is_rational = False
is_real = False
is_transcendental = False
is_zero = False
class bgc_md2.resolve.inspect_type_hints_old.StateTuple(*args, **kwargs)[source]

Bases: sympy.matrices.immutable.ImmutableDenseMatrix

default_assumptions = {'algebraic': False, 'commutative': False, 'complex': False, 'composite': False, 'even': False, 'extended_negative': False, 'extended_nonnegative': False, 'extended_nonpositive': False, 'extended_nonzero': False, 'extended_positive': False, 'extended_real': False, 'imaginary': False, 'integer': False, 'irrational': False, 'negative': False, 'noninteger': False, 'nonnegative': False, 'nonpositive': False, 'nonzero': False, 'odd': False, 'positive': False, 'prime': False, 'rational': False, 'real': False, 'transcendental': False, 'zero': False}
is_algebraic = False
is_commutative = False
is_complex = False
is_composite = False
is_even = False
is_extended_negative = False
is_extended_nonnegative = False
is_extended_nonpositive = False
is_extended_nonzero = False
is_extended_positive = False
is_extended_real = False
is_imaginary = False
is_integer = False
is_irrational = False
is_negative = False
is_noninteger = False
is_nonnegative = False
is_nonpositive = False
is_nonzero = False
is_odd = False
is_positive = False
is_prime = False
is_rational = False
is_real = False
is_transcendental = False
is_zero = False
class bgc_md2.resolve.inspect_type_hints_old.TimeSymbol(name, **assumptions)[source]

Bases: sympy.core.symbol.Symbol

default_assumptions = {}
name
bgc_md2.resolve.inspect_type_hints_old.input_mvars(computer)[source]
bgc_md2.resolve.inspect_type_hints_old.output_mvar(computer)[source]
bgc_md2.resolve.inspect_type_hints_old.reservoirModel(sv: bgc_md2.resolve.inspect_type_hints_old.StateTuple, t: bgc_md2.resolve.inspect_type_hints_old.TimeSymbol, A: bgc_md2.resolve.inspect_type_hints_old.CompartmentalMatrix, I: bgc_md2.resolve.inspect_type_hints_old.InputTuple) → CompartmentalSystems.smooth_reservoir_model.SmoothReservoirModel[source]

bgc_md2.resolve.mvars module

Module for defining variable types for the description of compartmental models and model runs

class bgc_md2.resolve.mvars.CompartmentalMatrix(*args, **kwargs)[source]

Bases: sympy.matrices.immutable.ImmutableDenseMatrix

default_assumptions = {'algebraic': False, 'commutative': False, 'complex': False, 'composite': False, 'even': False, 'extended_negative': False, 'extended_nonnegative': False, 'extended_nonpositive': False, 'extended_nonzero': False, 'extended_positive': False, 'extended_real': False, 'imaginary': False, 'integer': False, 'irrational': False, 'negative': False, 'noninteger': False, 'nonnegative': False, 'nonpositive': False, 'nonzero': False, 'odd': False, 'positive': False, 'prime': False, 'rational': False, 'real': False, 'transcendental': False, 'zero': False}
is_algebraic = False
is_commutative = False
is_complex = False
is_composite = False
is_even = False
is_extended_negative = False
is_extended_nonnegative = False
is_extended_nonpositive = False
is_extended_nonzero = False
is_extended_positive = False
is_extended_real = False
is_imaginary = False
is_integer = False
is_irrational = False
is_negative = False
is_noninteger = False
is_nonnegative = False
is_nonpositive = False
is_nonzero = False
is_odd = False
is_positive = False
is_prime = False
is_rational = False
is_real = False
is_transcendental = False
is_zero = False
class bgc_md2.resolve.mvars.InFluxesBySymbol(*args, **kwargs)[source]

Bases: frozendict.frozendict

class bgc_md2.resolve.mvars.InputTuple(iterable=(), /)[source]

Bases: tuple

class bgc_md2.resolve.mvars.InternalFluxesBySymbol(*args, **kwargs)[source]

Bases: frozendict.frozendict

class bgc_md2.resolve.mvars.NumericParameterization(par_dict, func_dict)[source]

Bases: object

class bgc_md2.resolve.mvars.NumericParameterizedSmoothReservoirModel(srm, parameterization)[source]

Bases: object

class bgc_md2.resolve.mvars.NumericSimulationTimes(input_array)[source]

Bases: numpy.ndarray

class bgc_md2.resolve.mvars.NumericSolutionArray(input_array)[source]

Bases: numpy.ndarray

class bgc_md2.resolve.mvars.NumericStartValueArray(input_array)[source]

Bases: numpy.ndarray

class bgc_md2.resolve.mvars.NumericStartValueDict(*args, **kwargs)[source]

Bases: frozendict.frozendict

class bgc_md2.resolve.mvars.OutFluxesBySymbol(*args, **kwargs)[source]

Bases: frozendict.frozendict

class bgc_md2.resolve.mvars.QuantityModelRun(qpm, start_values_quant, times_quant)[source]

Bases: object

solve()[source]
class bgc_md2.resolve.mvars.QuantityParameterization(par_dict, func_dict, state_var_units, time_unit)[source]

Bases: bgc_md2.resolve.mvars.NumericParameterization

class bgc_md2.resolve.mvars.QuantityParameterizedSmoothReservoirModel(srm, parameterization)[source]

Bases: object

class bgc_md2.resolve.mvars.QuantitySimulationTimes(input_array)[source]

Bases: numpy.ndarray

class bgc_md2.resolve.mvars.QuantitySolutionArray(input_array)[source]

Bases: numpy.ndarray

class bgc_md2.resolve.mvars.QuantityStartValueArray(input_array)[source]

Bases: numpy.ndarray

class bgc_md2.resolve.mvars.QuantityStartValueDict(*args, **kwargs)[source]

Bases: frozendict.frozendict

class bgc_md2.resolve.mvars.StateVarUnitTuple(iterable=(), /)[source]

Bases: tuple

class bgc_md2.resolve.mvars.StateVariableTuple(iterable=(), /)[source]

Bases: tuple

class bgc_md2.resolve.mvars.TimeSymbol(name, **assumptions)[source]

Bases: sympy.core.symbol.Symbol

default_assumptions = {}
name
class bgc_md2.resolve.mvars.VegetationCarbonCompartmentalMatrix(*args, **kwargs)[source]

Bases: sympy.matrices.immutable.ImmutableDenseMatrix

default_assumptions = {'algebraic': False, 'commutative': False, 'complex': False, 'composite': False, 'even': False, 'extended_negative': False, 'extended_nonnegative': False, 'extended_nonpositive': False, 'extended_nonzero': False, 'extended_positive': False, 'extended_real': False, 'imaginary': False, 'integer': False, 'irrational': False, 'negative': False, 'noninteger': False, 'nonnegative': False, 'nonpositive': False, 'nonzero': False, 'odd': False, 'positive': False, 'prime': False, 'rational': False, 'real': False, 'transcendental': False, 'zero': False}
is_algebraic = False
is_commutative = False
is_complex = False
is_composite = False
is_even = False
is_extended_negative = False
is_extended_nonnegative = False
is_extended_nonpositive = False
is_extended_nonzero = False
is_extended_positive = False
is_extended_real = False
is_imaginary = False
is_integer = False
is_irrational = False
is_negative = False
is_noninteger = False
is_nonnegative = False
is_nonpositive = False
is_nonzero = False
is_odd = False
is_positive = False
is_prime = False
is_rational = False
is_real = False
is_transcendental = False
is_zero = False
class bgc_md2.resolve.mvars.VegetationCarbonInputPartitioningTuple(iterable=(), /)[source]

Bases: tuple

class bgc_md2.resolve.mvars.VegetationCarbonInputScalar(*args)[source]

Bases: sympy.core.expr.Expr

default_assumptions = {}
class bgc_md2.resolve.mvars.VegetationCarbonInputTuple(iterable=(), /)[source]

Bases: tuple

class bgc_md2.resolve.mvars.VegetationCarbonStateVariableTuple(iterable=(), /)[source]

Bases: tuple

bgc_md2.resolve.non_graph_helpers module

bgc_md2.resolve.non_graph_helpers.all_computers_for_mvar(mvar: type, allComputers: Set[Callable]) → Set[Callable][source]
bgc_md2.resolve.non_graph_helpers.all_mvars(all_computers: Set[Callable]) → Set[type][source]
bgc_md2.resolve.non_graph_helpers.applicable_computers(allComputers: Set[Callable], available_mvars: Set[type]) → Set[Callable][source]
bgc_md2.resolve.non_graph_helpers.arg_set(computer: Callable) → Set[type][source]
bgc_md2.resolve.non_graph_helpers.arg_set_set(mvar: type, allComputers: Set[Callable]) → Set[Set[type]][source]
bgc_md2.resolve.non_graph_helpers.computable_mvars(allComputers: Set[Callable], available_mvars: Set[type]) → Set[type][source]
bgc_md2.resolve.non_graph_helpers.directly_computable_mvars(allComputers: Set[Callable], available_mvars: Set[type]) → Set[type][source]
bgc_md2.resolve.non_graph_helpers.input_mvars(computer: Callable) → Set[type][source]
bgc_md2.resolve.non_graph_helpers.output_mvar(computer: Callable) → type[source]
bgc_md2.resolve.non_graph_helpers.pretty_name(mvar: type, aliases: frozendict.frozendict = <frozendict {}>) → str[source]

Module contents

The resolve module consists of a set of functions with type signature and the definition of those types.