src.spyice.statevariables#
- src.spyice.statevariables.compute_error_for_convergence(temperature_calculated, temperature_previous, salinity_calculated, salinity_previous, liquid_fraction_calculated, liquid_fraction_previous, voller=False, **kwargs)[source]#
Computes the errors for convergence between the calculated and previous values of temperature, salinity, and liquid fraction.
- Parameters:
temperature_calculated (numpy.ndarray) – Array of calculated temperature values.
temperature_previous (numpy.ndarray) – Array of previous temperature values.
salinity_calculated (numpy.ndarray) – Array of calculated salinity values.
salinity_previous (numpy.ndarray) – Array of previous salinity values.
liquid_fraction_calculated (numpy.ndarray) – Array of calculated liquid fraction values.
liquid_fraction_previous (numpy.ndarray) – Array of previous liquid fraction values.
- Returns:
- A tuple containing the following error values:
temperature_error_max (float): Maximum temperature error for convergence check.
temperature_error_all (numpy.ndarray): Full temperature error for convergence check.
salinity_error_max (float): Maximum salinity error for convergence check.
salinity_err_all (numpy.ndarray): Full salinity error for convergence check.
liquid_fraction_error_max (float): Maximum liquid fraction error for convergence check.
liquid_fraction_error_all (numpy.ndarray): Full liquid fraction error for convergence check.
- Return type:
tuple
- src.spyice.statevariables.overwrite_statevariables(temperature_calculated, salinity_calculated, brine_velocity_calculated, nutrient_calculated, liquid_fraction_calculated, x_wind_temperature, x_wind_salinity, temperature_melt=None, t_k_lhs_A_matrix=None, temp_factor3=None)[source]#
Overwrites the state variables with the calculated values. :param temperature_calculated: The calculated temperature. :type temperature_calculated: float :param salinity_calculated: The calculated salinity. :type salinity_calculated: float :param liquid_fraction_calculated: The calculated liquid fraction. :type liquid_fraction_calculated: float
- Returns:
- A tuple containing the following state variables:
temperature_new (float): The current temperature for iteration.
salinity_new (float): The current salinity for iteration.
liquid_fraction_new (float): The current liquid fraction for iteration.
- Return type:
tuple
- src.spyice.statevariables.reset_error_for_while_loop(temperature_tolerance, salinity_tolerance, liquid_fraction_tolerance)[source]#
Resets the error values for a while loop based on the given tolerances.
- Parameters:
temperature_tolerance (float) – The tolerance for temperature error.
salinity_tolerance (float) – The tolerance for salinity error.
liquid_fraction_tolerance (float) – The tolerance for liquid fraction error.
- Returns:
A tuple containing the reset error values for temperature, salinity, and liquid fraction.
- Return type:
tuple
- src.spyice.statevariables.set_initial_statevariables(temperature, salinity, liquid_fraction)[source]#
Initializes the state variables for the given temperature, salinity, and liquid fraction.
- Parameters:
temperature (float) – The initial temperature.
salinity (float) – The initial salinity.
liquid_fraction (float) – The initial liquid fraction.
- Returns:
- A tuple containing the initialized state variables:
temperature_initial (float): The initial temperature.
temperature_new (float): The current temperature for iteration.
temperature_previous (float): The previous temperature for initialization.
salinity_initial (float): The initial salinity.
salinity_new (float): The current salinity for iteration.
salinity_previous (float): The previous salinity for initialization.
phi_initial (float): The initial liquid fraction.
liquid_fraction_new (float): The current liquid fraction for iteration.
phi_prev (float): The previous liquid fraction for initialization.
- Return type:
tuple
- src.spyice.statevariables.set_statevariables(temperature_calculated, salinity_calculated, liquid_fraction_calculated)[source]#
Set the state variables for temperature, salinity, and liquid fraction.
- Parameters:
temperature_calculated (float) – The calculated temperature.
salinity_calculated (float) – The calculated salinity.
liquid_fraction_calculated (float) – The calculated liquid fraction.
- Returns:
- A tuple containing the following state variables:
temperature_initial (float): The initial temperature.
temperature_previous (float): The previous temperature.
salinity_initial (float): The initial salinity.
salinity_previous (float): The previous salinity.
phi_initial (float): The initial liquid fraction.
phi_prev (float): The previous liquid fraction.
- Return type:
tuple
- src.spyice.statevariables.voller_residual_scheme(temperature_calculated, temperature_previous, liquid_fraction_calculated, liquid_fraction_previous, kwargs)[source]#
Calculate the residual sum for the Voller residual scheme. This function computes the residual sum based on the calculated and previous temperature and liquid fraction values, along with additional parameters provided in the kwargs dictionary. The residual sum is used to assess the convergence of the numerical scheme. (RHS - LHS matrix) Parameters: ———– temperature_calculated : array-like
The calculated temperature values at the current iteration.
- temperature_previousarray-like
The temperature values from the previous iteration.
- liquid_fraction_calculatedarray-like
The calculated liquid fraction values at the current iteration.
- liquid_fraction_previousarray-like
The liquid fraction values from the previous iteration.
- kwargsdict
A dictionary containing additional parameters required for the computation. Expected keys are: - “A_matrix”: The coefficient matrix for the temperature calculation. - “phi_initial”: The initial liquid fraction values. - “t_initial”: The initial temperature values. - “temp_factor3”: A factor used in the residual calculation.
Returns:#
- residual_sumfloat
The sum of the absolute values of the residuals.