src.spyice.parameters.user_input#
- class src.spyice.parameters.user_input.BoundaryConditionType[source]#
Bases:
str,EnumRepresents the type of boundary condition.
- Variables:
NEUMANN (str) – Neumann boundary condition.
DIRICHLET (str) – Dirichlet boundary condition.
- __new__(value)#
- DIRICHLET = 'Dirichlet'#
- NEUMANN = 'Neumann'#
- class src.spyice.parameters.user_input.FileNameSuffix[source]#
Bases:
str,EnumRepresents the suffix for the output file name.
- Variables:
NON_CONST_DENS_MUSHFIX (str) – Non-constant density mush-fix.
NON_CONST_DENS (str) – Non-constant density.
CONST_DENS (str) – Constant density.
- __new__(value)#
- CONST_DENS = 'const_dens'#
- NON_CONST_DENS = 'nonconst_dens'#
- NON_CONST_DENS_MUSHFIX = 'nonconst_dens-mushfix'#
- class src.spyice.parameters.user_input.InitialLiquidFraction[source]#
Bases:
str,EnumRepresents the type of initial liquid fraction.
- Variables:
P0 (str) – Initial liquid fraction of 0.
P1 (str) – Initial liquid fraction of 1.
P_Stefan (str) – Initial liquid fraction based on Stefan condition.
PX (str) – Initial liquid fraction based on a custom profile.
- __new__(value)#
- P0 = 'P0'#
- P1 = 'P1'#
- PX = 'PX'#
- P_Stefan = 'P_Stefan'#
- class src.spyice.parameters.user_input.InitialMeltTemperature[source]#
Bases:
str,EnumRepresents the type of initial melt temperature.
- Variables:
T_MELT (str) – Initial melt temperature.
T_S (str) – Initial temperature based on salinity.
- __new__(value)#
- FREZCHEM = 'Frezchem'#
- ONEPHASE = 'onephase'#
- TWOPHASE = 'twophase'#
- class src.spyice.parameters.user_input.InitialSalinity[source]#
Bases:
str,EnumRepresents the type of initial salinity. User can add more salinity option SX where X is a number. The salinity is in parts per thousand (ppt).
- Variables:
S34 (str) – Initial salinity of 34 ppt.
S0 (str) – Initial salinity of 0 ppt.
S1 (str) – Initial salinity of 1 ppt.
S2 (str) – Initial salinity of 2 ppt.
S3 (str) – Initial salinity of 3 ppt.
S_LINEAR (str) – Linear initial salinity.
- __new__(value)#
- S0 = 'S0'#
- S1 = 'S1'#
- S2 = 'S2'#
- S3 = 'S3'#
- S34 = 'S34'#
- S_LINEAR = 'S_linear'#
- class src.spyice.parameters.user_input.InitialTemperature[source]#
Bases:
str,EnumRepresents the type of initial temperature.
- Variables:
T_Stefan (str) – Initial temperature based on Stefan condition.
T271p25 (str) – Initial temperature of 271.25 K.
T250 (str) – Initial temperature of 250 K.
T_MELT (str) – Initial temperature at which the material melts.
T_S (str) – Initial temperature based on salinity.
- __new__(value)#
- T250 = 'T250'#
- T271p25 = 'T271.25'#
- T_MELT = 'Tm_w'#
- T_S = 'T(S)'#
- T_STEFAN = 'T_Stefan'#
- class src.spyice.parameters.user_input.LiquidusRelation[source]#
Bases:
str,EnumRepresents the liquidus relation type.
- Variables:
NORMAL (str) – Normal liquidus relation.
FREZCHEM (str) – Frezchem liquidus relation.
- __new__(value)#
- FREZCHEM = 'Frezchem'#
- NORMAL = 'Normal'#
- class src.spyice.parameters.user_input.TopTemperatureType[source]#
Bases:
str,EnumRepresents the type of top temperature condition.
- Variables:
STEFAN (str) – Stefan condition.
DIRICHLET (str) – Dirichlet condition.
- __new__(value)#
- DIRICHLET = 'Dirichlet'#
- STEFAN = 'Stefan'#
- class src.spyice.parameters.user_input.UserInput[source]#
Bases:
objectRepresents the user input parameters for the model.
- Variables:
constants (RealConstants | DebugConstants) – The type of constants to use.
max_iterations (int) – The maximum number of iterations.
is_stefan (bool) – Flag indicating whether Stefan condition is applied.
is_buffo (bool) – Flag indicating whether Buffo condition is applied.
liquidus_relation_type (str) – The type of liquidus relation to use.
grid_resolution_dz (float) – The grid resolution in the z-direction.
boundary_condition_type (str) – The type of boundary condition to use.
temperature_tolerance (float) – The temperature tolerance.
salinity_tolerance (float) – The salinity tolerance.
liquid_fraction_tolerance (float) – The liquid fraction tolerance.
initial_temperature (str) – The initial temperature profile.
initial_salinity (str) – The initial salinity profile.
initial_liquid_fraction (str) – The initial liquid fraction profile.
output_suffix (str) – The suffix to be added to the output files.
temperature_top_type (str) – The type of temperature condition at the top boundary.
phase_type (int) – The type of phase to consider.
grid_timestep_dt (float) – The grid timestep.
dir_output_name (str) – The name of the output directory.
critical_liquid_fraction (float) – The critical liquid fraction.
boundary_salinity (float) – The boundary salinity (automatically calculated).
temperature_melt (float) – The temperature at which the material melts (automatically calculated).
boundary_top_temperature (float) – The temperature at the top boundary (automatically calculated).
geometry_type (int) – The type of geometry.
counter_limit (int) – The counter limit.
- __init__(constants=RealConstants(param_const=False, phi_ini=1, phi_ini_Stefan=1, beta=0.0005836, kappa=1.37e-07, mu=0.00188, Ra_c=1.01, alpha=0.0015600000000000002, L=334774, D_s=2e-09, k_i=2.0, k_br=0.6, k_w=0.6, c_i=2000, c_br=3985, c_w=3985, rho_br=1028, rho_i=917, rho_w=1028, m=2, g=9.8, phi_c=0.06823, P_s=0.01, a_phi=5.9e-06, b_phi=169491.5254237288), config_data=<factory>, is_stefan=True, is_buffo=False, is_voller=False, is_salinity_equation=False, is_diffusiononly_equation=True, is_algae_equation=False, is_radiation_equation=False, algae_model_BAL_type='all', max_iterations=1500, counter_limit=100000, grid_resolution_dz=0.01, grid_timestep_dt=47, boundary_condition_type='Dirichlet', boundary_salinity=34.0, boundary_top_temperature=265.0, temperature_top_type='Stefan', temperature_tolerance=0.01, salinity_tolerance=0.01, liquid_fraction_tolerance=0.01, initial_temperature='T(S)', initial_salinity='S34', initial_liquid_fraction='P1', critical_liquid_fraction=0.1, phase_type=1, liquidus_relation_type='Normal', output_suffix='nonconst_dens-mushfix', dir_output_name_hydra='Temperature_{S_IC}_{bc_condition}_{dz}_{dt}_{iter_max}_{cap_dens}', dir_output_name='Temperature_{S_IC}_{bc_condition}_{dz}_{dt}_{iter_max}_{cap_dens}', nutrient_cn_dsi_water=40, nutrient_cn_dsi_ice=15, carbon_cc_ice_initial=0.01, carbon_cc_water_initial=0.05)#
- Parameters:
constants (RealConstants | DebugConstants)
config_data (DictConfig)
is_stefan (bool)
is_buffo (bool)
is_voller (bool)
is_salinity_equation (bool)
is_diffusiononly_equation (bool)
is_algae_equation (bool)
is_radiation_equation (bool)
algae_model_BAL_type (str)
max_iterations (int)
counter_limit (int)
grid_resolution_dz (float)
grid_timestep_dt (float)
boundary_condition_type (BoundaryConditionType)
boundary_salinity (float)
boundary_top_temperature (float)
temperature_top_type (TopTemperatureType)
temperature_tolerance (float)
salinity_tolerance (float)
liquid_fraction_tolerance (float)
initial_temperature (InitialTemperature)
initial_salinity (InitialSalinity)
initial_liquid_fraction (InitialLiquidFraction)
critical_liquid_fraction (float)
phase_type (int)
liquidus_relation_type (LiquidusRelation)
output_suffix (FileNameSuffix)
dir_output_name_hydra (str)
dir_output_name (str)
nutrient_cn_dsi_water (float)
nutrient_cn_dsi_ice (float)
carbon_cc_ice_initial (float)
carbon_cc_water_initial (float)
- Return type:
None
- algae_model_BAL_type: str = 'all'#
- boundary_condition_type: BoundaryConditionType = 'Dirichlet'#
- boundary_salinity: float = 34.0#
- boundary_top_temperature: float = 265.0#
- carbon_cc_ice_initial: float = 0.01#
- carbon_cc_water_initial: float = 0.05#
- config_data: DictConfig#
- constants: RealConstants | DebugConstants = RealConstants(param_const=False, phi_ini=1, phi_ini_Stefan=1, beta=0.0005836, kappa=1.37e-07, mu=0.00188, Ra_c=1.01, alpha=0.0015600000000000002, L=334774, D_s=2e-09, k_i=2.0, k_br=0.6, k_w=0.6, c_i=2000, c_br=3985, c_w=3985, rho_br=1028, rho_i=917, rho_w=1028, m=2, g=9.8, phi_c=0.06823, P_s=0.01, a_phi=5.9e-06, b_phi=169491.5254237288)#
- counter_limit: int = 100000#
- critical_liquid_fraction: float = 0.1#
- dir_output_name: str = 'Temperature_{S_IC}_{bc_condition}_{dz}_{dt}_{iter_max}_{cap_dens}'#
- dir_output_name_hydra: str = 'Temperature_{S_IC}_{bc_condition}_{dz}_{dt}_{iter_max}_{cap_dens}'#
- geometry_type: int#
- grid_resolution_dz: float = 0.01#
- grid_timestep_dt: float = 47#
- initial_liquid_fraction: InitialLiquidFraction = 'P1'#
- initial_salinity: InitialSalinity = 'S34'#
- initial_temperature: InitialTemperature = 'T(S)'#
- is_algae_equation: bool = False#
- is_buffo: bool = False#
- is_diffusiononly_equation: bool = True#
- is_radiation_equation: bool = False#
- is_salinity_equation: bool = False#
- is_stefan: bool = True#
- is_voller: bool = False#
- liquid_fraction_tolerance: float = 0.01#
- liquidus_relation_type: LiquidusRelation = 'Normal'#
- max_iterations: int = 1500#
- nutrient_cn_dsi_ice: float = 15#
- nutrient_cn_dsi_water: float = 40#
- output_suffix: FileNameSuffix = 'nonconst_dens-mushfix'#
- phase_type: int = 1#
- salinity_tolerance: float = 0.01#
- temperature_melt: float#
- temperature_tolerance: float = 0.01#
- temperature_top_type: TopTemperatureType = 'Stefan'#