MeltExtraction
Melt is incrementally extracted from migration domains defined by local maxima (-y is in upward direction) along the top of the partially molten region of the mantle. The top of the partially molten region can be smoothed using the parameter smoothing_radius_drainage.
The total volume of melt to be extracted is calculated based on the volume of melt in the partially molten mantle region and the extraction fraction.
Extracted melt is instantaneously emplaced using one of two models: 1. Partially Molten Emplacement (iuse_shallow_mantle_emplacement = 0): melt is emplaced at the shallowest marker of the partially molten mantle in a given migration domain. 2. Mantle Emplacement (iuse_shallow_mantle_emplacement = 1): melt is emplaced at the shallowest marker of the mantle located within an injection width centered on the local maximum of the partially molten mantle domain. The injection width is controlled by the characteristic injection width parameter and will be automatically adjusted to ensure emplaced magma height does not exceed a threshold (magma_height_limit).
To improve computational efficiency a subset of the mantle domain is searched for the shallowest mantle marker. The mantle search width defines the width of this search domain, which is centered on the initial shallowest partially molten mantle marker. The mantle search domain should be larger than the injection width otherwise erroneous injection may occur. A warning is printed if the injection domain is outside of the mantle search domain.
Emplacement can be controlled by a probabilistic normal distribution model by setting userandominjection_subdomain to True. With this option the injection width is divided into injection subdomains selected using a normal probability distribution function. The shallowest mantle marker within the selected subdomain is converted into magma.
The effects of fractionation in sills can be approximated by setting iuse_gabbroic_fractionation = 1. This model changes the composition of gabbroic magma to fractionated gabbroic magma once magma enters the crustal domain. Entry into the crustal domain is controlled by the fractionation_threshold_limit parameter which is the distance from the Moho where the composition of gabbroic magma is changed to fractionated or layered gabbroic magma. This change in composition involves an increase in the solidus leading to regions of partially molten fractioned gabbro as opposed to large regions of pure gabbroic magma inconsistent with geophysical observations.
Initialization
EarthBox.MeltModel.Extraction.initialize! — Function
initialize!(model::ModelData; kwargs...)::NothingInitialize melt extraction model parameters.
Arguments
model::ModelData: The model data container containing the model parameters and arrays.
Keyword Arguments
iuse_extraction::Int64- Integer flag that activates melt extraction model (0 = off, 1 = on). Extraction is required for intrusive and extrusive processes.
iuse_shallow_mantle_injection::Int64- Integer flag that activates shallow mantle injection model: 0 off; 1 on. This model is used to inject mantle-derived magma at the shallowest part of the mantle domain. If this option is False then mantle-derived magma is injected at the shallowest location of the partially molten mantle domain. This option approximates rapid ascent of melt from the mantle to the crustal domain via dykes and channelized melt networks.
smoothing_radius_drainage::Float64- Smoothing radius (meters) used to smooth the top of the partially molten mantle domain before calculating local maxima used to define migration domains for melt extraction.
smoothing_radius_fractionation::Float64- Smoothing radius (meters) used to smooth the oceanic Moho for the gabbroic fractionation model whereby fractionation occurs based on distance to Moho. Smoothing the Moho avoids spikes associated with residual gabbroic particles in the mantle associated with magmatic crust thinning.
characteristic_injection_width::Float64- Characteristic width (meters) of magma injection into the shallow mantle above the local maximum of the mantle partial melt domain. This parameters is used only if useshallowmantle_injection is True. Note that the actual injection width may be increased if the height of injected magma exceeds the magma height limit.
mantle_search_width::Float64- Width (meters) of the mantle domain used to search for the shallowest mantle marker in a subset of the model domain to improve computational efficiency. This parameter is used only if useshallowmantle_injection is True and may need to be adjusted depending on the characteristic injection width. Adjustments should be made to ensure that the search domain is equal to or larger than the injection domain.
magma_height_limit::Float64- Maximum height (meters) of magma that can be injected into the mantle domain. This is used to limit the height of magma bodies that are injected at the top of the mantle domain by increasing the injection width.
iuse_random_injection_subdomain::Int64- Integer flag that activates the random injection model (0 = off, 1 = on) whereby the characteristic injection width (characteristicinjectionwidth) is divided into subdomains (numberofinjection_subdomains) that are selected using a uniform distribution. The shallowest mantle marker within a selected subdomain is converted into magma. If this option is False then the shallowest mantle marker within the injection width is converted into magma.
iuse_normal_injection_subdomain::Int64- Integer flag that activates the normal injection model (0 = off, 1 = on) whereby the characteristic injection width (characteristicinjectionwidth) is divided into subdomains (numberofinjection_subdomains) that are selected using a normal distribution. The shallowest mantle marker within a selected subdomain is converted into magma. If this option is False then a uniform distribution is used to select the subdomain.
number_of_injection_subdomains::Int64- The number used to divide the characteristic injection width into separate domains that are selected using a normal distribution if
iuse_random_injection_subdomain = 1.
- The number used to divide the characteristic injection width into separate domains that are selected using a normal distribution if
emplacement_temperature::Float64- Temperature at which magma is emplaced in Kelvin. This parameter is currently not used in the code. Instead a default value of 1473.0 K is used.See function
transform_marker_to_magmafor details.
- Temperature at which magma is emplaced in Kelvin. This parameter is currently not used in the code. Instead a default value of 1473.0 K is used.See function
iuse_gabbroic_fractionation::Int64- Integer flag that activates gabbroic fractionation model: 0 off; 1 on. This model is used to approximate the effects of rapid fractionation in sills that produce layered gabbroic magma. This is accomplished by transforming gabbroic magma to a fractionated gabbroic magma composition once magma enters the crustal domain at the Moho.
fractionation_threshold_limit::Float64- Threshold limit (meters) for gabbroic fractionation. This is the distance from Moho where the composition of gabbroic magma is changed to fractionated or layered gabbroic magma to simulate the effects of rapid fractionation in sills and the downward flow of the gabbro glacier. This change in composition involves an increase in the solidus leading to regions of partially molten fractioned gabbro as opposed to large regions of pure gabbroic magma inconsistent with geophysical observations.
maximum_shallow_injection_depth::Float64- Maximum submud depth (meters) for normal shallow mantle injection. If the local maximum of the partially molten zone is deeper than this value then the injection width is increased by a factor of 5. THIS IS CURRENTLY TURNED OFF IN CODE. See function extractpartialmeltandmakemagmabody for details.
extraction_fraction::Float64- Fraction of extracted melt that is extracted from the partially molten zone. The remaining melt is left in the partially molten zone and refertalizes the mantle.