Ejemplo n.º 1
0
 def __init__(self):
     self.set_volatile_species(['CO2'])
     self.set_fugacity_model(fugacity_models.fugacity_idealgas())
     self.set_activity_model(activity_models.activity_idealsolution())
     self.set_solubility_dependence(False)
     self.set_calibration_ranges([
         calibration_checks.CalibrationRange(
             'pressure', [500.0, 5000.0],
             calibration_checks.crf_Between,
             'bar',
             'Shishkina et al. carbon',
             fail_msg=calibration_checks.crmsg_Between_fail,
             pass_msg=calibration_checks.crmsg_Between_pass,
             description_msg=calibration_checks.crmsg_Between_description),
         calibration_checks.CalibrationRange(
             'temperature', [1200.0, 1300.0],
             calibration_checks.crf_Between,
             'oC',
             'Shishkina et al. carbon',
             fail_msg=calibration_checks.crmsg_Between_fail,
             pass_msg=calibration_checks.crmsg_Between_pass,
             description_msg=calibration_checks.crmsg_Between_description),
         calibration_checks.CalibrationRange(
             'SiO2', [40, 57],
             calibration_checks.crf_Between,
             'wt%',
             'Shishkina et al. carbon',
             fail_msg=crmsg_BC_fail_C1,
             pass_msg=calibration_checks.crmsg_Between_pass,
             description_msg=calibration_checks.crmsg_Between_description)
     ])
Ejemplo n.º 2
0
 def __init__(self):
     """
     Initialize the model.
     """
     self.set_volatile_species(['H2O'])
     self.set_fugacity_model(fugacity_models.fugacity_HB_h2o())
     self.set_activity_model(activity_models.activity_idealsolution())
     self.set_solubility_dependence(False)
     self.set_calibration_ranges([
         calibration_checks.CalibrationRange(
             'pressure',
             3000.0,
             calibration_checks.crf_LessThan,
             'bar',
             'Moore et al. (1998) water',
             fail_msg=calibration_checks.crmsg_LessThan_fail,
             pass_msg=calibration_checks.crmsg_LessThan_pass,
             description_msg=calibration_checks.crmsg_LessThan_description),
         calibration_checks.CalibrationRange(
             'temperature', [700.0, 1200],
             calibration_checks.crf_Between,
             'oC',
             'Moore et al. (1998) water',
             fail_msg=calibration_checks.crmsg_Between_fail,
             pass_msg=calibration_checks.crmsg_Between_pass,
             description_msg=calibration_checks.crmsg_Between_description)
     ])
Ejemplo n.º 3
0
    def __init__(self):
        """
        Initialise the model.

        """
        self.set_volatile_species(['CO2'])
        self.set_fugacity_model(fugacity_models.fugacity_idealgas())
        self.set_activity_model(activity_models.activity_idealsolution())
        self.set_calibration_ranges([
            calibration_checks.CalibrationRange(
                'temperature', [1000, 1400],
                calibration_checks.crf_Between,
                'oC',
                'IaconoMarzianoCarbon',
                fail_msg=crmsg_BC_T,
                pass_msg=calibration_checks.crmsg_Between_pass,
                description_msg=calibration_checks.crmsg_Between_description),
            calibration_checks.CalibrationRange(
                'pressure', [100, 10000],
                calibration_checks.crf_Between,
                'bars',
                'IaconoMarzianoCarbon',
                fail_msg=crmsg_BC_P,
                pass_msg=calibration_checks.crmsg_Between_pass,
                description_msg=calibration_checks.crmsg_Between_description)
        ])
        self.set_solubility_dependence(True)
Ejemplo n.º 4
0
 def __init__(self):
     self.set_volatile_species(['H2O'])
     self.set_fugacity_model(fugacity_models.fugacity_MRK_h2o())
     self.set_activity_model(activity_models.activity_idealsolution())
     self.set_calibration_ranges([
         calibration_checks.CalibrationRange(
             'pressure',
             1000,
             calibration_checks.crf_LessThan,
             'bar',
             'Dixon (1997, Pi-SiO2 simpl.) Water',
             fail_msg=crmsg_1000bar_fail,
             pass_msg=calibration_checks.crmsg_LessThan_pass,
             description_msg=calibration_checks.crmsg_LessThan_description),
         calibration_checks.CalibrationRange(
             'pressure',
             2000,
             calibration_checks.crf_LessThan,
             'bar',
             'Dixon (1997, Pi-SiO2 simpl.) Water',
             fail_msg=crmsg_2000bar_fail,
             pass_msg=calibration_checks.crmsg_LessThan_pass,
             description_msg=calibration_checks.crmsg_LessThan_description),
         calibration_checks.CalibrationRange(
             'SiO2',
             49,
             calibration_checks.crf_LessThan,
             'wt%',
             'Dixon (1997, Pi-SiO2 simpl.) Water',
             fail_msg=crmsg_49_fail,
             pass_msg=calibration_checks.crmsg_LessThan_pass,
             description_msg=calibration_checks.crmsg_LessThan_description),
         calibration_checks.CalibrationRange(
             'SiO2',
             40,
             calibration_checks.crf_GreaterThan,
             'wt%',
             'Dixon (1997, Pi-SiO2 simpl.) Water',
             fail_msg=crmsg_40_fail,
             pass_msg=calibration_checks.crmsg_GreaterThan_pass,
             description_msg=calibration_checks.
             crmsg_GreaterThan_description),
         calibration_checks.CalibrationRange(
             'temperature', [1000, 1400],
             calibration_checks.crf_Between,
             'oC',
             'Dixon (1997, Pi-SiO2 simpl.) Water',
             fail_msg=crmsg_BC_T,
             pass_msg=calibration_checks.crmsg_Between_pass,
             description_msg=calibration_checks.crmsg_Between_description)
     ])
     self.set_solubility_dependence(False)
Ejemplo n.º 5
0
    def __init__(self):
        """
        Initialize the model.
        """
        self.set_volatile_species(['CO2'])
        self.set_fugacity_model(fugacity_models.fugacity_idealgas())
        self.set_activity_model(activity_models.activity_idealsolution())
        self.set_solubility_dependence(False)

        # Generate calibration range objects for each oxide
        cr_oxide_list = []
        for ox in carboncomprange.keys():
            cr_oxide_list.append(
                calibration_checks.CalibrationRange(
                    ox,
                    carboncomprange[ox],
                    calibration_checks.crf_Between,
                    'wt%',
                    'Liu et al. (2005) carbon',
                    fail_msg=calibration_checks.crmsg_BC_fail,
                    pass_msg=calibration_checks.crmsg_BC_pass,
                    description_msg=calibration_checks.
                    crmsg_Between_description))

        self.set_calibration_ranges([
            calibration_checks.CalibrationRange(
                'pressure', [0, 5000.0],
                calibration_checks.crf_Between,
                'bar',
                'Liu et al. (2005) Carbon',
                fail_msg=calibration_checks.crmsg_Between_fail,
                pass_msg=calibration_checks.crmsg_Between_pass,
                description_msg=calibration_checks.crmsg_Between_description),
            calibration_checks.CalibrationRange(
                'temperature', [700.0, 1200],
                calibration_checks.crf_Between,
                'oC',
                'Liu et al. (2005) Carbon',
                fail_msg=calibration_checks.crmsg_Between_fail,
                pass_msg=calibration_checks.crmsg_Between_pass,
                description_msg=calibration_checks.crmsg_Between_description),
            calibration_checks.CalibrationRange(
                'sample',
                None,
                crf_CarbonComp,
                None,
                None,
                fail_msg=crmsg_CarbonComp_fail,
                pass_msg=crmsg_Comp_pass,
                description_msg=crmsg_Comp_description)
        ] + cr_oxide_list)
Ejemplo n.º 6
0
    def __init__(self, model_loc='sunset', model_fit='thermodynamic'):
        """
        Initialize the model.

        Parameters
        ----------
        model_fit     str
            Either 'power' for the power-law fits, or 'thermodynamic' for the
            thermodynamic fits.
        model_loc     str
            One of 'sunset', 'sfvf', 'erebus', 'vesuvius', 'etna', 'stromboli'.
        """

        self.set_volatile_species(['CO2'])
        self.set_fugacity_model(fugacity_models.fugacity_HB_co2())
        self.set_activity_model(activity_models.activity_idealsolution())
        self.set_calibration_ranges([
            calibration_checks.CalibrationRange(
                'temperature',
                1200,
                calibration_checks.crf_EqualTo,
                'oC',
                'Allison et al. (2019) carbon',
                fail_msg=crmsg_Temp,
                pass_msg=calibration_checks.crmsg_EqualTo_pass,
                description_msg=calibration_checks.crmsg_EqualTo_description),
            calibration_checks.CalibrationRange(
                'temperature', [1000, 1400],
                calibration_checks.crf_Between,
                'oC',
                'Allison et al. (2019) carbon',
                fail_msg=crmsg_Between_Temp,
                pass_msg=calibration_checks.crmsg_EqualTo_pass,
                description_msg=calibration_checks.crmsg_EqualTo_description),
            calibration_checks.CalibrationRange(
                'H2O',
                0.5,
                calibration_checks.crf_LessThan,
                'wt%',
                'Allison et al. (2019) carbon',
                fail_msg=crmsg_H2O,
                pass_msg=calibration_checks.crmsg_LessThan_pass)
        ])
        self.set_solubility_dependence(False)
        self.model_loc = model_loc
        self.model_fit = model_fit
Ejemplo n.º 7
0
 def __init__(self):
     self.set_volatile_species(['H2O'])
     self.set_fugacity_model(fugacity_models.fugacity_idealgas())
     self.set_activity_model(activity_models.activity_idealsolution())
     self.set_solubility_dependence(False)
     self.set_calibration_ranges([
         calibration_checks.CalibrationRange(
             'pressure', [500.0, 5000.0],
             calibration_checks.crf_Between,
             'bar',
             'Shishkina et al. water',
             fail_msg=calibration_checks.crmsg_Between_fail,
             pass_msg=calibration_checks.crmsg_Between_pass,
             description_msg=calibration_checks.crmsg_Between_description),
         calibration_checks.CalibrationRange(
             'temperature', [1050, 1400],
             calibration_checks.crf_Between,
             'oC',
             'Shishkina et al. water',
             fail_msg=crmsg_BC_fail_T1,
             pass_msg=calibration_checks.crmsg_Between_pass,
             description_msg=calibration_checks.crmsg_Between_description),
         calibration_checks.CalibrationRange(
             'SiO2',
             65,
             calibration_checks.crf_LessThan,
             'wt%',
             'Shishkina et al. water',
             fail_msg=crmsg_LessThan_fail_WaterSi,
             pass_msg=calibration_checks.crmsg_LessThan_pass,
             description_msg=calibration_checks.crmsg_LessThan_description),
         calibration_checks.CalibrationRange(
             'SiO2',
             40,
             calibration_checks.crf_GreaterThan,
             'wt%',
             'Shishkina et al. water',
             fail_msg=crmsg_GreaterThan_fail_WaterSi,
             pass_msg=calibration_checks.crmsg_GreaterThan_pass,
             description_msg=calibration_checks.
             crmsg_GreaterThan_description)
     ])
Ejemplo n.º 8
0
    def __init__(self):
        """
        Initialise the model.

        """
        self.set_volatile_species(['H2O'])
        self.set_fugacity_model(fugacity_models.fugacity_idealgas())
        self.set_activity_model(activity_models.activity_idealsolution())
        self.set_calibration_ranges([
            calibration_checks.CalibrationRange(
                'temperature', [1000, 1400],
                calibration_checks.crf_Between,
                'oC',
                'IaconoMarzianoWater',
                fail_msg=crmsg_BC_T,
                pass_msg=calibration_checks.crmsg_Between_pass,
                description_msg=calibration_checks.crmsg_Between_description),
            calibration_checks.CalibrationRange(
                'pressure', [100, 10000],
                calibration_checks.crf_Between,
                'bars',
                'IaconoMarzianoWater',
                fail_msg=crmsg_BC_P,
                pass_msg=calibration_checks.crmsg_Between_pass,
                description_msg=calibration_checks.crmsg_Between_description)
        ])
        # Not dependent on CO2 conc, H2O dependence dealt with within model.
        self.set_solubility_dependence(False)

        # The oxide masses used in the IM webapp.
        self.IM_oxideMasses = {
            'Al2O3': 101.96,
            'CaO': 56.08,
            'FeO': 71.85,
            'K2O': 94.2,
            'MgO': 40.32,
            'Na2O': 61.98,
            'SiO2': 60.09,
            'TiO2': 79.9,
            'H2O': 18.01
        }
Ejemplo n.º 9
0
 def __init__(self):
     self.set_volatile_species(['CO2'])
     self.set_fugacity_model(fugacity_models.fugacity_MRK_co2())
     self.set_activity_model(activity_models.activity_idealsolution())
     self.set_calibration_ranges([])
     self.set_solubility_dependence(False)