def vegetation_carbon_out_fluxes_by_symbol_1( in_fluxes: InFluxesBySymbol, out_fluxes: OutFluxesBySymbol, internal_fluxes: InternalFluxesBySymbol, svt: StateVariableTuple, vcsvt: VegetationCarbonStateVariableTuple ) -> VegetationCarbonOutFluxesBySymbol: svt_set=frozenset({v for v in svt}) vcsvt_set=frozenset({v for v in vcsvt}) combined = ( svt_set, in_fluxes, out_fluxes, internal_fluxes, ) _,in_fluxes_veg,out_fluxes_veg,internal_fluxes_veg=hr.extract(combined,vcsvt_set) return VegetationCarbonOutFluxesBySymbol( out_fluxes_veg)
def vegetation_carbon_compartmental_matrix_1( in_fluxes: InFluxesBySymbol, out_fluxes: OutFluxesBySymbol, internal_fluxes: InternalFluxesBySymbol, svt: StateVariableTuple, vcsvt: VegetationCarbonStateVariableTuple ) -> VegetationCarbonCompartmentalMatrix: svt_set=frozenset({v for v in svt}) vcsvt_set=frozenset({v for v in vcsvt}) combined = ( svt_set, in_fluxes, out_fluxes, internal_fluxes, ) _,in_fluxes_veg,out_fluxes_veg,internal_fluxes_veg=hr.extract(combined,vcsvt_set) cm=hr.compartmental_matrix_2( out_fluxes_veg, internal_fluxes_veg, vcsvt ) return VegetationCarbonCompartmentalMatrix(cm)
combined = ( set(mvs_mm.get_StateVariableTuple()), mvs_mm.get_InFluxesBySymbol(), mvs_mm.get_OutFluxesBySymbol(), mvs_mm.get_InternalFluxesBySymbol() ) sv_set_veg = frozenset(mvs_mm.get_VegetationCarbonStateVariableTuple()) state_vector_soil = Matrix([C_fastsom,C_slowsom,C_passsom]) # Probably the litter pools would be also considered to be part of the soil subsystem. # I just wanted to show that the division does not have tp be complete # state_vector_soil = Matrix([C_metlit,C_stlit,C_fastsom,C_slowsom,C_passsom]) sv_set_soil = frozenset({sv for sv in state_vector_soil}) _,in_fluxes_veg,out_fluxes_veg,internal_fluxes_veg=hr.extract(combined,sv_set_veg) #obviously we do not need to return sv_set_veg, since it is an argument _,in_fluxes_soil,out_fluxes_soil,internal_fluxes_soil=hr.extract(combined,sv_set_soil) internal_fluxes_veg, in_fluxes_soil part_dict = { sv_set_veg:'green', sv_set_soil:'brown', } hr.igraph_part_plot( mvs_mm.get_StateVariableTuple(), in_fluxes, internal_fluxes, out_fluxes, part_dict )