RUFAS.data_structures.manure_to_crop_soil_connection module#

class RUFAS.data_structures.manure_to_crop_soil_connection.NutrientRequest(*, nitrogen: float = 0.0, phosphorus: float = 0.0, manure_type: ManureType, use_supplemental_manure: bool)#

Bases: object

A class that represents a request for nutrients from the crop and soil module.

nitrogen: float = 0.0#

Amount of manure nitrogen requested, kg.

phosphorus: float = 0.0#

Amount of manure phosphorus requested, kg.

manure_type: ManureType#

The type of manure.

use_supplemental_manure: bool#

Whether to use supplemental manure if the request cannot be fulfilled by on-farm manure.

__init__(*, nitrogen: float = 0.0, phosphorus: float = 0.0, manure_type: ManureType, use_supplemental_manure: bool) None#
class RUFAS.data_structures.manure_to_crop_soil_connection.NutrientRequestResults(nitrogen: float = 0.0, phosphorus: float = 0.0, total_manure_mass: float = 0.0, organic_nitrogen_fraction: float = 0.7, inorganic_nitrogen_fraction: float = 0.3, ammonium_nitrogen_fraction: float = 1.0, organic_phosphorus_fraction: float = 0.5, inorganic_phosphorus_fraction: float = 0.5, dry_matter: float = 0.0, dry_matter_fraction: float = 0.0)#

Bases: object

A dataclass to store the results of the nutrient request calculations.

nitrogen: float = 0.0#

Amount of manure nitrogen requested that can be fulfilled (kg). Default to 0.

phosphorus: float = 0.0#

Amount of manure phosphorus requested that can be fulfilled (kg). Default to 0.

total_manure_mass: float = 0.0#

Total amount of manure that can be fulfilled (kg). Default to 0.

organic_nitrogen_fraction: float = 0.7#

Fraction of nitrogen that is present in organic form, between 0 and 1 (unitless). Default to 0.7.

inorganic_nitrogen_fraction: float = 0.3#

Fraction of nitrogen that is present in inorganic form, between 0 and 1 (unitless). Default to 0.3.

ammonium_nitrogen_fraction: float = 1.0#

Fraction of inorganic nitrogen that is present in ammonium form, between 0 and 1 (unitless). Default to 1.0.

organic_phosphorus_fraction: float = 0.5#

Fraction of phosphorus that is present in organic form, between 0 and 1 (unitless). Default to 0.5.

inorganic_phosphorus_fraction: float = 0.5#

Fraction of phosphorus that is present in inorganic form, between 0 and 1 (unitless). Default to 0.5.

__init__(nitrogen: float = 0.0, phosphorus: float = 0.0, total_manure_mass: float = 0.0, organic_nitrogen_fraction: float = 0.7, inorganic_nitrogen_fraction: float = 0.3, ammonium_nitrogen_fraction: float = 1.0, organic_phosphorus_fraction: float = 0.5, inorganic_phosphorus_fraction: float = 0.5, dry_matter: float = 0.0, dry_matter_fraction: float = 0.0) None#
dry_matter: float = 0.0#

Amount of dry matter that can be fulfilled (kg). Default to 0.

dry_matter_fraction: float = 0.0#

Fraction of manure that is dry matter, between 0 and 1 (unitless). Default to 0.

class RUFAS.data_structures.manure_to_crop_soil_connection.ManureEventNutrientRequest(field_name: str, event: ManureEvent, nutrient_request: NutrientRequest | None)#

Bases: NamedTuple

Used to couple a manure event with a nutrient request.

_asdict()#

Return a new dict which maps field names to their values.

_field_defaults = {}#
_fields = ('field_name', 'event', 'nutrient_request')#
classmethod _make(iterable)#

Make a new ManureEventNutrientRequest object from a sequence or iterable

_replace(**kwds)#

Return a new ManureEventNutrientRequest object replacing specified fields with new values

field_name: str#

Alias for field number 0

event: ManureEvent#

Alias for field number 1

nutrient_request: NutrientRequest | None#

Alias for field number 2

class RUFAS.data_structures.manure_to_crop_soil_connection.ManureEventNutrientRequestResults(field_name: str, event: ManureEvent, nutrient_request_results: NutrientRequestResults | None)#

Bases: NamedTuple

Used to couple a manure event with the results of a nutrient request.

_asdict()#

Return a new dict which maps field names to their values.

_field_defaults = {}#
_fields = ('field_name', 'event', 'nutrient_request_results')#
classmethod _make(iterable)#

Make a new ManureEventNutrientRequestResults object from a sequence or iterable

_replace(**kwds)#

Return a new ManureEventNutrientRequestResults object replacing specified fields with new values

field_name: str#

Alias for field number 0

event: ManureEvent#

Alias for field number 1

nutrient_request_results: NutrientRequestResults | None#

Alias for field number 2