EarthBox.ModelDataContainer.MeltingContainer.Melting — Type
Melting <: CollectionContainerData structure containing parameter and array objects for melting and melt extraction.
Fields
parameters::Parameters: Parameter groups for melting options and configurationarrays::Arrays: Array groups for melt extraction tracking
Constructor
Melting()::MeltingCreate a new Melting collection with default values.
EarthBox.ModelDataContainer.MeltingContainer.ParameterCollection.Parameters — Type
Parameters <: AbstractParameterCollectionParameter collection for melting and melt extraction processes.
Fields
options::Options: Melting model on/off switchesmelting_material_ids::MeltingMaterialIDs: Material IDs for melting processesrheology::Rheology: Rheological properties of molten rockextrusion::Extrusion: Parameters for melt extrusionextraction::Extraction: Parameters for melt extraction
Constructor
Parameters()Create a new Parameters collection with default melting model values.
EarthBox.ModelDataContainer.MeltingContainer.ParameterCollection.OptionsGroup.Options — Type
Options <: AbstractParameterGroupParameter group for melting model on/off switches.
Fields
iuse_melting::ParameterInt: Integer flag that activates melt model with melt fraction calculation: 0 off; 1 oniuse_melt_viscosity::ParameterInt: Integer flag that activates melt viscosity model where the viscosity of partially molten rocks is set to melt viscosity if melt fraction exceeds 10%: 0 off; 1 oniuse_melt_thermal_props::ParameterInt: Integer flag that activates melt to impact thermal properties including density, heat capacity in the term rhocp and thermal expansivity in the adiabatic heating term alphaT: 0 off; 1 oniuse_extraction::ParameterInt: Integer flag that activates melt extraction model (0 = off, 1 = on). Extraction is required for intrusive and extrusive processes.iuse_gabbroic_fractionation::ParameterInt: 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.iuse_shallow_mantle_injection::ParameterInt: 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.iuse_random_injection_subdomain::ParameterInt: 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::ParameterInt: 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.iuse_depletion_density::ParameterInt: Integer flag that activate depletion density model (0 = off, 1 = on) whereby the density of rocks that have undergone melt extraction is modified to account for the partitioning of heavy elements into the melt.iuse_exponential_viscosity_reduction::ParameterInt: Integer flag that activates exponential viscosity reduction for partially molten rocks whereby the effective viscosity of partially molten rocks is reduced exponentially with extractable melt fraction for mantle rocks that are impacted bymelt extraction and melt fraction for crustal rocks that are currently not impacted by melt extraction (0 = off, 1 = on). If this parameter is set to 0, the effective viscosity of partially molten rocks is set to melt viscosity if melt fraction exceeds 10%.obj_list::Vector{ParameterInt}: List of parameter objects
Nested Dot Access
iuse_melting = model.melting.parameters.options.iuse_melting.valueiuse_melt_viscosity = model.melting.parameters.options.iuse_melt_viscosity.valueiuse_melt_thermal_props = model.melting.parameters.options.iuse_melt_thermal_props.valueiuse_extraction = model.melting.parameters.options.iuse_extraction.valueiuse_gabbroic_fractionation = model.melting.parameters.options.iuse_gabbroic_fractionation.valueiuse_shallow_mantle_injection = model.melting.parameters.options.iuse_shallow_mantle_injection.valueiuse_random_injection_subdomain = model.melting.parameters.options.iuse_random_injection_subdomain.valueiuse_normal_injection_subdomain = model.melting.parameters.options.iuse_normal_injection_subdomain.valueiuse_depletion_density = model.melting.parameters.options.iuse_depletion_density.valueiuse_exponential_viscosity_reduction = model.melting.parameters.options.iuse_exponential_viscosity_reduction.value
Constructor
Options()Returns
Options: New Options parameter group with initialized values
EarthBox.ModelDataContainer.MeltingContainer.ParameterCollection.MeltingMaterialIDsGroup.MeltingMaterialIDs — Type
MeltingMaterialIDs <: AbstractParameterGroupParameter group for material IDs used in melting processes.
Fields
ipmf1::ParameterInt: Material ID of the mantleipmf2::ParameterInt: Material ID of the mantleipmf3::ParameterInt: Material ID of the mantleipmf4::ParameterInt: Material ID of the mantleipmf_molten::ParameterInt: Material ID of molten mantleipmf_solid::ParameterInt: Material ID of solidified mantleipmf_molten_vol::ParameterInt: Material ID of molten extruded mantleipmf_solid_vol::ParameterInt: Material ID of solidified extruded molten mantleobj_list::Vector{ParameterInt}: List of parameter objects
Nested Dot Access
ipmf1 = model.melting.parameters.melting_material_ids.ipmf1.valueipmf2 = model.melting.parameters.melting_material_ids.ipmf2.valueipmf3 = model.melting.parameters.melting_material_ids.ipmf3.valueipmf4 = model.melting.parameters.melting_material_ids.ipmf4.valueipmf_molten = model.melting.parameters.melting_material_ids.ipmf_molten.valueipmf_solid = model.melting.parameters.melting_material_ids.ipmf_solid.valueipmf_molten_vol = model.melting.parameters.melting_material_ids.ipmf_molten_vol.valueipmf_solid_vol = model.melting.parameters.melting_material_ids.ipmf_solid_vol.value
Constructor
MeltingMaterialIDs()Returns
MeltingMaterialIDs: New MeltingMaterialIDs parameter group with initialized values
EarthBox.ModelDataContainer.MeltingContainer.ParameterCollection.RheologyGroup.Rheology — Type
Rheology <: AbstractParameterGroupParameter group for rheological properties of molten rock.
Fields
viscosity_melt::ParameterFloat: Viscosity of molten rock in Pa.sobj_list::Vector{ParameterFloat}: List of parameter objects
Nested Dot Access
viscosity_melt = model.melting.parameters.rheology.viscosity_melt.value
Constructor
Rheology()Returns
Rheology: New Rheology parameter group with initialized values
EarthBox.ModelDataContainer.MeltingContainer.ParameterCollection.ExtrusionGroup.Extrusion — Type
Extrusion <: AbstractParameterGroupParameter group for melt extrusion model parameters.
Fields
iuse_extrusion::ParameterInt: Integer flag that activates melt extrusion model: 0 off; 1 onextrusion_volume_factor::ParameterFloat: Minimum value for the extrusion volume factor. The volume of lava produced at the surface of the model is calculated as the product of the extrusion volume factor and the total volume of magma produced during a time step. The extrusion volume factor changes as a function of the characteristic magmatic crust height. The characteristic magmatic crust height is the height of new crust that would be formed if all the melt in the mantle was extracted and emplaced at the top of the model in a column with a width equal to the full extension velocity times the time step. This minimum value is used when the magmatic crust height is below the minimum characteristic magmatic crust height. A linear model is used to define the extrusion volume factor when the calculated magmatic crust height is between the minimum and maximum characteristic magmatic crust height.extrusion_volume_factor_max::ParameterFloat: Maximum value for the extrusion volume factor. This maximum value is reached when the characteristic magmatic crust height is equal to the maximum characteristic magmatic crust height.characteristic_magmatic_crust_height::ParameterFloat: Characteristic height of magmatic crust in meters calculated based on the total volume of magma produced during a given time step and the full extensional velocity. The characteristic magmatic crust height is the height of new crust that would be formed if all the melt in the mantle was extracted and emplaced at the top of the model in a column with a width equal to the full extension velocity times the time step.characteristic_magmatic_crust_height_min::ParameterFloat: Minimum reference value for the characteristic magmatic crust height in meters. When the calculated characteristic magmatic crust height is below this value the extrusion volume factor is set to the minimum value (i.e.extrusion_volume_factor).characteristic_magmatic_crust_height_max::ParameterFloat: Maximum reference value for the characteristic magmatic crust height in meters. When the calculated characteristic magmatic crust height is above this value the extrusion volume factor is set to the maximum value (i.e.extrusion_volume_factor_max).characteristic_flow_length_subaerial::ParameterFloat: Characteristic flow length for subaerial eruptions in meters. Flow distance of basaltic flows on land may be hundreds of kilometers (e.g. Ginkgo flow of the Frenchman Springs Member of the Columbia River Basalts has a flow length of 500 km).characteristic_flow_length_submarine::ParameterFloat: Characteristic flow length for submarine eruptions in meters.residual_lava_thickness_subaerial::ParameterFloat: Residual lava thickness for subaerial eruptions in metersresidual_lava_thickness_submarine::ParameterFloat: Residual lava thickness for submarine eruptions in metersiuse_random_eruption_location::ParameterInt: Integer flag that activates random eruption location: 0 off; 1 oniuse_normal_eruption_location::ParameterInt: Integer flag that activates normal distribution for eruption location: 0 off; 1 ondecimation_factor::ParameterInt: Topography grid decimation factor for 1D lava flow model gridinitial_magma_flush_steps::ParameterInt: Number of time steps for initial magma flushmagma_flush_factor::ParameterFloat: Factor that determines the amount of magma to flush for flush during magma flush time stepswidth_eruption_domain_fixed::ParameterFloat: Fixed width of the eruption domain in meters. If this is set to zero, the width of the eruption domain is determined by the width of the gabbroic molten zone including normal and layered gabbro.width_eruption_domain_fixed_max::ParameterFloat: Maximum width of the eruption domain. If this is set to zero, the width of the eruption domain is determined by the width of the gabbroic molten zone including normal and layered gabbro.porosity_initial_lava_flow::ParameterFloat: Initial porosity of lava flow in fraction used to decompact extruded gabbroic magma to account for vesicles. This parameter is not used to compact lava flows during burial. Instead, compaction properties associated with the material type are used. This allows for the decompaction of lava flows during eruption to account for porosity from vesicles and the preservation of thickness during burial due to chemical compaction and rigidity of the basalt matrix.decay_depth_lava_flow::ParameterFloat: Depth at which the porosity of lava flow decays to zero in meters. This parameter is used to compact lava flows during burial. Instead, compaction properties associated with the material type are used. This allows for the decompaction of lava flows during eruption to account for porosity from vesicles and the preservation of thickness during burial due to chemical compaction and rigidity of the basalt matrix.time_of_next_eruption_myr::ParameterFloat: Time of next eruption in Myreruption_interval_yr::ParameterFloat: Eruption interval in yearsiuse_eruption_interval::ParameterInt: Integer flag that activates eruption interval: 0 off; 1 onobj_list::Vector{Union{ParameterFloat, ParameterInt}}: List of parameter objects
Nested Dot Access
iuse_extrusion = model.melting.parameters.extrusion.iuse_extrusion.valueextrusion_volume_factor = model.melting.parameters.extrusion.extrusion_volume_factor.valueextrusion_volume_factor_max = model.melting.parameters.extrusion.extrusion_volume_factor_max.valuecharacteristic_magmatic_crust_height = model.melting.parameters.extrusion.characteristic_magmatic_crust_height.valuecharacteristic_magmatic_crust_height_min = model.melting.parameters.extrusion.characteristic_magmatic_crust_height_min.valuecharacteristic_magmatic_crust_height_max = model.melting.parameters.extrusion.characteristic_magmatic_crust_height_max.valuecharacteristic_flow_length_subaerial = model.melting.parameters.extrusion.characteristic_flow_length_subaerial.valuecharacteristic_flow_length_submarine = model.melting.parameters.extrusion.characteristic_flow_length_submarine.valueresidual_lava_thickness_subaerial = model.melting.parameters.extrusion.residual_lava_thickness_subaerial.valueresidual_lava_thickness_submarine = model.melting.parameters.extrusion.residual_lava_thickness_submarine.valueiuse_random_eruption_location = model.melting.parameters.extrusion.iuse_random_eruption_location.valueiuse_normal_eruption_location = model.melting.parameters.extrusion.iuse_normal_eruption_location.valuedecimation_factor = model.melting.parameters.extrusion.decimation_factor.valueinitial_magma_flush_steps = model.melting.parameters.extrusion.initial_magma_flush_steps.valuemagma_flush_factor = model.melting.parameters.extrusion.magma_flush_factor.valuewidth_eruption_domain_fixed = model.melting.parameters.extrusion.width_eruption_domain_fixed.valuewidth_eruption_domain_fixed_max = model.melting.parameters.extrusion.width_eruption_domain_fixed_max.valueporosity_initial_lava_flow = model.melting.parameters.extrusion.porosity_initial_lava_flow.valuedecay_depth_lava_flow = model.melting.parameters.extrusion.decay_depth_lava_flow.valuetime_of_next_eruption_myr = model.melting.parameters.extrusion.time_of_next_eruption_myr.valueeruption_interval_yr = model.melting.parameters.extrusion.eruption_interval_yr.valueiuse_eruption_interval = model.melting.parameters.extrusion.iuse_eruption_interval.value
Constructor
Extrusion()Create a new Extrusion parameter group with default values.
Returns
Extrusion: New Extrusion parameter group with initialized values
EarthBox.ModelDataContainer.MeltingContainer.ParameterCollection.ExtractionGroup.Extraction — Type
Extraction <: AbstractParameterGroupParameter group for melt extraction model parameters.
Fields
melt_residual::ParameterFloat: Sum of residual fractional melt particlesext_vol::ParameterFloat: Volume of extruded material in m^3xmid_mol::ParameterFloat: x-location of the molten mantle zone in metersytop_mol::ParameterFloat: y-location of the top of the molten mantle zone in meterswidth_mol::ParameterFloat: Width of the molten mantle zone in metersndrainage_basin::ParameterInt: Number of drainage basins in the modelsmoothing_radius_drainage::ParameterFloat: 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.characteristic_injection_width::ParameterFloat: 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.magma_height_limit::ParameterFloat: 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.fractionation_threshold_limit::ParameterFloat: 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.emplacement_temperature::ParameterFloat: 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 functiontransform_marker_to_magmafor details.number_of_injection_subdomains::ParameterInt: The number used to divide the characteristic injection width into separate domains that are selected using a normal distribution ifiuse_random_injection_subdomain = 1.maximum_shallow_injection_depth::ParameterFloat: 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::ParameterFloat: 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.smoothing_radius_fractionation::ParameterFloat: 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.mantle_search_width::ParameterFloat: 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.ndrainage_basin_old::ParameterInt: Old number of drainage basinsobj_list::Vector{Union{ParameterFloat, ParameterInt}}: List of parameter objects
Nested Dot Access
melt_residual = model.melting.parameters.extraction.melt_residual.valueext_vol = model.melting.parameters.extraction.ext_vol.valuexmid_mol = model.melting.parameters.extraction.xmid_mol.valueytop_mol = model.melting.parameters.extraction.ytop_mol.valuewidth_mol = model.melting.parameters.extraction.width_mol.valuendrainage_basin = model.melting.parameters.extraction.ndrainage_basin.valuesmoothing_radius_drainage = model.melting.parameters.extraction.smoothing_radius_drainage.valuecharacteristic_injection_width = model.melting.parameters.extraction.characteristic_injection_width.valuemagma_height_limit = model.melting.parameters.extraction.magma_height_limit.valuefractionation_threshold_limit = model.melting.parameters.extraction.fractionation_threshold_limit.valueemplacement_temperature = model.melting.parameters.extraction.emplacement_temperature.valuenumber_of_injection_subdomains = model.melting.parameters.extraction.number_of_injection_subdomains.valuemaximum_shallow_injection_depth = model.melting.parameters.extraction.maximum_shallow_injection_depth.valueextraction_fraction = model.melting.parameters.extraction.extraction_fraction.valuesmoothing_radius_fractionation = model.melting.parameters.extraction.smoothing_radius_fractionation.valuemantle_search_width = model.melting.parameters.extraction.mantle_search_width.valuendrainage_basin_old = model.melting.parameters.extraction.ndrainage_basin_old.value
Constructor
Extraction()Returns
Extraction: New Extraction parameter group with initialized values
EarthBox.ModelDataContainer.MeltingContainer.ArrayCollection.Arrays — Type
Arrays <: AbstractArrayCollectionData structure containing array groups for melt extraction tracking.
Fields
extraction::Extraction: Arrays for drainage basin tracking
Constructor
Arrays()::ArraysCreate a new Arrays collection with default extraction arrays.
EarthBox.ModelDataContainer.MeltingContainer.ArrayCollection.ExtractionGroup.Extraction — Type
Extraction <: AbstractArrayGroupArray group containing drainage basin tracking arrays for melt extraction.
Fields
xstart_drainage::GridArray1DState:(nmax_basin): Current x-locations in meters of the start of the drainage area. The drainage area is the region where the melt migrates to the shallowest position.xend_drainage::GridArray1DState:(nmax_basin): Current x-locations in meters of the end of the drainage area. The drainage area is the region where the melt migrates to the shallowest position.melt_residuals::GridArray1DState:(nmax_basin): Residual melt volume in m^3 remaining in the extrusion volume after the melt has been extracted in drainage basin.extrusion_volumes::GridArray1DState:(nmax_basin): Volume of extracted melt in m^3 that will be extruded to surface.xmid_molten_zones::GridArray1DState:(nmax_basin): X-locations in meters of the midpoints of the molten region.ytop_molten_zones::GridArray1DState:(nmax_basin): Y-locations in meters of the top of the molten region.width_molten_zones::GridArray1DState:(nmax_basin): Width of the molten region in drainage basin in meters.avg_shallow_partial_melt_xcoors::GridArray1DState:(nmax_basin): Average x-coordinates of the shallowest partial melt marker in drainage basins in meters.avg_shallow_partial_melt_ycoors::GridArray1DState:(nmax_basin): Average y-coordinates of the shallowest partial melt marker in drainage basins in meters.xstart_drainage_o::GridArray1DState:(nmax_basin): Old x-locations of the start of the drainage area. The drainage area is the region where the melt migrates to the shallowest position in meters.xend_drainage_o::GridArray1DState:(nmax_basin): Old x-locations of the end of the drainage area. The drainage area is the region where the melt migrates to the shallowest position in meters.
Nested Dot Access
xstart_drainage = model.melting.arrays.extraction.xstart_drainage.arrayxend_drainage = model.melting.arrays.extraction.xend_drainage.arraymelt_residuals = model.melting.arrays.extraction.melt_residuals.arrayextrusion_volumes = model.melting.arrays.extraction.extrusion_volumes.arrayxmid_molten_zones = model.melting.arrays.extraction.xmid_molten_zones.arrayytop_molten_zones = model.melting.arrays.extraction.ytop_molten_zones.arraywidth_molten_zones = model.melting.arrays.extraction.width_molten_zones.arrayavg_shallow_partial_melt_xcoors = model.melting.arrays.extraction.avg_shallow_partial_melt_xcoors.arrayavg_shallow_partial_melt_ycoors = model.melting.arrays.extraction.avg_shallow_partial_melt_ycoors.arrayxstart_drainage_o = model.melting.arrays.extraction.xstart_drainage_o.arrayxend_drainage_o = model.melting.arrays.extraction.xend_drainage_o.array
Constructor
Extraction()Create a new Extraction array group with default drainage basin arrays.
Returns
Extraction: New Extraction array group with initialized arrays