def physics_options(self, input_file, step): "Options corresponding to modeling choices." config_filename = self.config(step) options = [ "-energy none", # isothermal setup; allows selecting cold-mode flow laws "-ssa_flow_law isothermal_glen", # isothermal setup "-yield_stress constant", "-tauc %e" % MISMIP.C(self.experiment), "-pseudo_plastic", "-gradient eta", "-pseudo_plastic_q %e" % MISMIP.m(self.experiment), "-pseudo_plastic_uthreshold %e" % MISMIP.secpera(), "-calving ocean_kill", # calving at the present front "-ocean_kill_file %s" % input_file, "-config_override %s" % config_filename, "-ssa_method fd", "-cfbc", # calving front boundary conditions "-part_grid", # sub-grid front motion parameterization "-ssafd_ksp_rtol 1e-7", "-ys 0", "-ye %d" % MISMIP.run_length(self.experiment, step), "-options_left", ] if self.model == 1: options.extend(["-stress_balance ssa"]) else: options.extend([ "-stress_balance ssa+sia", "-sia_flow_law isothermal_glen", # isothermal setup ]) return options
def physics_options(self, input_file, step): "Options corresponding to modeling choices." config_filename = self.config(step) options = ["-energy none", # isothermal setup; allows selecting cold-mode flow laws "-ssa_flow_law isothermal_glen", # isothermal setup "-yield_stress constant", "-tauc %e" % MISMIP.C(self.experiment), "-pseudo_plastic", "-gradient eta", "-pseudo_plastic_q %e" % MISMIP.m(self.experiment), "-pseudo_plastic_uthreshold %e" % MISMIP.secpera(), "-calving ocean_kill", # calving at the present front "-ocean_kill_file %s" % input_file, "-config_override %s" % config_filename, "-ssa_method fd", "-cfbc", # calving front boundary conditions "-part_grid", # sub-grid front motion parameterization "-ssafd_ksp_rtol 1e-7", "-ys 0", "-ye %d" % MISMIP.run_length(self.experiment, step), "-options_left", ] if self.model == 1: options.extend(["-stress_balance ssa"]) else: options.extend(["-stress_balance ssa+sia", "-sia_flow_law isothermal_glen", # isothermal setup ]) return options
def physics_options(self, step): "Options corresponding to modeling choices." config_filename = self.config(step) options = [ "-cold", # allow selecting cold-mode flow laws "-sia_flow_law isothermal_glen", # isothermal setup "-ssa_flow_law isothermal_glen", # isothermal setup "-no_energy", # isothermal setup "-ssa_sliding", # use SSA "-hold_tauc", "-tauc %e" % MISMIP.C(self.experiment), "-pseudo_plastic", "-gradient eta", "-pseudo_plastic_q %e" % MISMIP.m(self.experiment), "-pseudo_plastic_uthreshold %e" % MISMIP.secpera(), "-ocean_kill", # calving at the present front "-config_override %s" % config_filename, "-ssa_method fd", # use the FD solver that includes PIK improvements "-cfbc", # calving front boundary conditions "-part_grid", # sub-grid front motion parameterization "-ksp_rtol 1e-7", "-ys 0", "-ye %f" % MISMIP.run_length(self.experiment, step), "-options_left", ] if self.model == 1: options.extend(["-no_sia"]) else: options.extend(["-sia"]) if self.mode in (2, 3): options.extend(["-skip", "-skip_max 10"]) return options