LCOV - code coverage report
Current view: top level - star/private - ctrls_io.f90 (source / functions) Coverage Total Hit
Test: coverage.info Lines: 50.1 % 2989 1496
Test Date: 2025-05-08 18:23:42 Functions: 60.0 % 10 6

            Line data    Source code
       1              : ! ***********************************************************************
       2              : !
       3              : ! Copyright (C) 2010 The MESA Team
       4              : !
       5              : !   This program is free software: you can redistribute it and/or modify
       6              : !   it under the terms of the GNU Lesser General Public License
       7              : !   as published by the Free Software Foundation,
       8              : !   either version 3 of the License, or (at your option) any later version.
       9              : !
      10              : !   This program is distributed in the hope that it will be useful,
      11              : !   but WITHOUT ANY WARRANTY; without even the implied warranty of
      12              : !   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
      13              : !   See the GNU Lesser General Public License for more details.
      14              : !
      15              : !   You should have received a copy of the GNU Lesser General Public License
      16              : !   along with this program. If not, see <https://www.gnu.org/licenses/>.
      17              : !
      18              : ! ***********************************************************************
      19              : 
      20              :  module ctrls_io
      21              : 
      22              :  use const_def, only: dp
      23              :  use star_private_def
      24              : 
      25              :  implicit none
      26              : 
      27              :  include 'star_controls.inc'
      28              :  include 'star_controls_dev.inc'
      29              : 
      30              :  logical, dimension(max_extra_inlists) :: read_extra_controls_inlist
      31              :  character (len=strlen), dimension(max_extra_inlists) :: extra_controls_inlist_name
      32              :  logical :: save_controls_namelist
      33              :  character (len=strlen) :: controls_namelist_name
      34              : 
      35              :  namelist /controls/ &
      36              : 
      37              :     ! where to start
      38              :     initial_mass, initial_z, initial_y, initial_he3, &
      39              : 
      40              :     ! definition of core boundaries
      41              :     he_core_boundary_h1_fraction, co_core_boundary_he4_fraction, one_core_boundary_he4_c12_fraction, &
      42              :     fe_core_boundary_si28_fraction, neutron_rich_core_boundary_Ye_max, min_boundary_fraction, &
      43              : 
      44              :     ! when to stop
      45              :     max_model_number, relax_max_number_retries, max_number_retries, max_age, max_age_in_seconds, max_age_in_days, &
      46              :     num_adjusted_dt_steps_before_max_age, dt_years_for_steps_before_max_age, max_abs_rel_run_E_err, &
      47              :     reduction_factor_for_max_timestep, when_to_stop_rtol, when_to_stop_atol, &
      48              :     gamma_center_limit, eta_center_limit, log_center_temp_upper_limit, log_max_temp_upper_limit, &
      49              :     log_max_temp_lower_limit , log_center_temp_lower_limit, log_center_density_upper_limit, &
      50              :     log_center_density_lower_limit, center_entropy_upper_limit, center_entropy_lower_limit, &
      51              :     max_entropy_upper_limit, max_entropy_lower_limit, min_timestep_limit, non_fe_core_rebound_limit, &
      52              :     fe_core_infall_limit, center_Ye_lower_limit, center_R_lower_limit, non_fe_core_infall_limit, &
      53              :     fe_core_infall_mass, non_fe_core_infall_mass, &
      54              :     v_div_csound_surf_limit, v_div_csound_max_limit, Lnuc_div_L_upper_limit, Lnuc_div_L_lower_limit,&
      55              :     v_surf_div_v_kh_upper_limit, v_surf_div_v_kh_lower_limit, v_surf_div_v_esc_limit, v_surf_kms_limit, &
      56              :     stop_near_zams, Lnuc_div_L_zams_limit, Pgas_div_P_limit, Pgas_div_P_limit_max_q, gamma1_limit, gamma1_limit_max_q, &
      57              :     stop_at_phase_PreMS, stop_at_phase_ZAMS, stop_at_phase_IAMS, stop_at_phase_TAMS, gamma1_limit_max_v_div_vesc, &
      58              :     stop_at_phase_He_Burn, stop_at_phase_ZACHeB, stop_at_phase_TACHeB, &
      59              :     stop_at_phase_TP_AGB, stop_at_phase_C_Burn, stop_at_phase_Ne_Burn, &
      60              :     stop_at_phase_O_Burn, stop_at_phase_Si_Burn, stop_at_phase_WDCS, &
      61              :     peak_burn_vconv_div_cs_limit, omega_div_omega_crit_limit, delta_nu_lower_limit, &
      62              :     delta_nu_upper_limit, delta_Pg_lower_limit, delta_Pg_upper_limit, shock_mass_upper_limit, &
      63              :     mach1_mass_upper_limit, stop_when_reach_this_cumulative_extra_heating, &
      64              :     xa_central_lower_limit_species, xa_central_lower_limit, xa_central_upper_limit_species, xa_central_upper_limit, &
      65              :     xa_surface_lower_limit_species, xa_surface_lower_limit, xa_surface_upper_limit_species, xa_surface_upper_limit, &
      66              :     xa_average_lower_limit_species, xa_average_lower_limit, xa_average_upper_limit_species, xa_average_upper_limit, &
      67              :     star_species_mass_min_limit, star_species_mass_min_limit_iso, star_species_mass_max_limit, star_species_mass_max_limit_iso, &
      68              :     xmstar_min_limit, xmstar_max_limit, envelope_mass_limit, envelope_fraction_left_limit, &
      69              :     he_core_mass_limit, co_core_mass_limit, one_core_mass_limit, &
      70              :     fe_core_mass_limit, neutron_rich_core_mass_limit, HB_limit, star_mass_min_limit, star_mass_max_limit, &
      71              :     he_layer_mass_lower_limit, abs_diff_lg_LH_lg_Ls_limit, Teff_upper_limit, Teff_lower_limit, &
      72              :     photosphere_m_upper_limit, photosphere_m_lower_limit, photosphere_m_sub_M_center_limit, &
      73              :     photosphere_r_upper_limit, photosphere_r_lower_limit, log_Teff_upper_limit, log_Teff_lower_limit, &
      74              :     log_Tsurf_upper_limit, log_Tsurf_lower_limit, log_Rsurf_upper_limit, log_Rsurf_lower_limit, &
      75              :     log_Psurf_upper_limit, log_Psurf_lower_limit, remnant_mass_min_limit, ejecta_mass_max_limit, &
      76              :     log_Dsurf_upper_limit, log_Dsurf_lower_limit, log_L_upper_limit, log_L_lower_limit, &
      77              :     log_g_upper_limit, log_g_lower_limit, power_nuc_burn_upper_limit, power_h_burn_upper_limit, &
      78              :     power_he_burn_upper_limit, power_z_burn_upper_limit, power_nuc_burn_lower_limit, &
      79              :     power_h_burn_lower_limit, power_he_burn_lower_limit, power_z_burn_lower_limit, &
      80              : 
      81              :     ! max timesteps
      82              :     max_timestep, max_years_for_timestep, &
      83              :     hi_T_max_years_for_timestep, max_timestep_hi_T_limit, &
      84              : 
      85              :     ! output of "snapshots" for restarts
      86              :     photo_interval, photo_digits, photo_directory, &
      87              : 
      88              :     ! output of logs and profiles
      89              :     do_history_file, history_interval, write_header_frequency, terminal_interval, &
      90              :     terminal_show_age_units, terminal_show_timestep_units, terminal_show_log_dt, terminal_show_log_age, &
      91              :     num_trace_history_values, trace_history_value_name, write_profiles_flag, profile_interval, &
      92              :     priority_profile_interval, log_directory, star_history_name, star_history_header_name, &
      93              :     star_history_dbl_format, star_history_int_format, star_history_txt_format, extra_terminal_output_file, &
      94              :     profiles_index_name, profile_data_prefix, profile_data_suffix, profile_data_header_suffix, &
      95              :     profile_int_format, profile_txt_format, profile_dbl_format, profile_header_include_sys_details, &
      96              :     profile_model, max_num_profile_models, max_num_profile_zones, &
      97              :     write_controls_info_with_profile, controls_data_prefix, controls_data_suffix, &
      98              :     write_pulse_data_with_profile, pulse_data_format, add_atmosphere_to_pulse_data, &
      99              :     add_center_point_to_pulse_data, keep_surface_point_for_pulse_data, add_double_points_to_pulse_data, &
     100              :     interpolate_rho_for_pulse_data, threshold_grad_mu_for_double_point, max_number_of_double_points,&
     101              :     gyre_data_schema, fgong_header, fgong_ivers, &
     102              :     max_num_gyre_points, format_for_OSC_data, &
     103              :     fgong_zero_A_inside_r, use_other_export_pulse_data, use_other_get_pulse_data, use_other_edit_pulse_data, &
     104              :     write_model_with_profile, model_data_prefix, model_data_suffix, &
     105              :     mixing_D_limit_for_log, trace_mass_location, min_tau_for_max_abs_v_location, &
     106              :     min_q_for_inner_mach1_location, max_q_for_outer_mach1_location, &
     107              :     conv_core_gap_dq_limit, &
     108              :     alpha_TDC_DAMP, alpha_TDC_DAMPR, alpha_TDC_PtdVdt, &
     109              : 
     110              :     ! burn zone eps definitions for use in logs and profiles
     111              :     burn_min1, burn_min2, &
     112              :     max_conv_vel_div_csound_maxq, width_for_limit_conv_vel, max_q_for_limit_conv_vel, &
     113              :     max_mass_in_gm_for_limit_conv_vel, max_r_in_cm_for_limit_conv_vel, &
     114              : 
     115              :     ! for reported surface/center abundances
     116              :     surface_avg_abundance_dq, center_avg_value_dq, &
     117              : 
     118              :     ! mixing parameters
     119              :     min_convective_gap, min_thermohaline_gap, min_semiconvection_gap, min_thermohaline_dropout, &
     120              :     max_dropout_gradL_sub_grada, remove_embedded_semiconvection, recalc_mix_info_after_evolve, remove_mixing_glitches, &
     121              :     okay_to_remove_mixing_singleton, prune_bad_cz_min_Hp_height, prune_bad_cz_min_log_eps_nuc, &
     122              :     redo_conv_for_dr_lt_mixing_length, alpha_semiconvection, okay_to_reduce_gradT_excess, &
     123              :     semiconvection_option, use_Ledoux_criterion, D_mix_zero_region_bottom_q, &
     124              :     num_cells_for_smooth_gradL_composition_term, threshold_for_smooth_gradL_composition_term, clip_D_limit, &
     125              :    gradT_excess_f1, gradT_excess_f2, gradT_excess_age_fraction, gradT_excess_max_change, gradT_excess_lambda1, &
     126              :    gradT_excess_beta1, gradT_excess_lambda2, gradT_excess_beta2, &
     127              :    gradT_excess_dlambda, gradT_excess_dbeta, gradT_excess_max_center_h1, &
     128              :    gradT_excess_min_center_he4, gradT_excess_max_logT, gradT_excess_min_log_tau_full_on, gradT_excess_max_log_tau_full_off, &
     129              :     use_superad_reduction, superad_reduction_gamma_limit, superad_reduction_gamma_limit_scale, D_mix_zero_region_top_q, &
     130              :     superad_reduction_gamma_inv_scale, superad_reduction_diff_grads_limit, superad_reduction_limit, &
     131              :     make_gradr_sticky_in_solver_iters, min_logT_for_make_gradr_sticky_in_solver_iters, &
     132              :     max_logT_for_mlt, thermohaline_coeff, thermohaline_option, mixing_length_alpha, remove_small_D_limit, &
     133              :     alt_scale_height_flag, Henyey_MLT_y_param, Henyey_MLT_nu_param, no_MLT_below_shock, mlt_make_surface_no_mixing, &
     134              :     MLT_option, mlt_use_rotation_correction, mlt_Pturb_factor, do_normalize_dqs_as_part_of_set_qs, &
     135              :     max_Y_for_burn_z_mix_region, max_X_for_burn_he_mix_region, &
     136              :     limit_overshoot_Hp_using_size_of_convection_zone, RSP_min_tau_for_turbulent_flux, &
     137              :     predictive_mix, predictive_superad_thresh, predictive_avoid_reversal, predictive_limit_ingestion,&
     138              :     predictive_ingestion_factor, predictive_zone_type, predictive_zone_loc, predictive_bdy_loc, &
     139              :     predictive_bdy_q_min, predictive_bdy_q_max, T_mix_limit, RSP_report_undercorrections, &
     140              :     do_conv_premix, conv_premix_avoid_increase, conv_premix_time_factor, &
     141              :     conv_premix_fix_pgas, conv_premix_dump_snapshots, do_premix_heating, &
     142              :     overshoot_f, overshoot_f0, overshoot_D0, RSP_Qvisc_linear, dq_D_mix_zero_at_H_He_crossover, &
     143              :     overshoot_Delta0, overshoot_mass_full_on, overshoot_mass_full_off, dq_D_mix_zero_at_H_C_crossover, &
     144              :     overshoot_scheme, overshoot_zone_type, overshoot_zone_loc, RSP_Qvisc_quadratic, &
     145              :     overshoot_bdy_loc, overshoot_D_min, overshoot_brunt_B_max, mlt_gradT_fraction, max_conv_vel_div_csound, &
     146              :     max_v_for_convection, max_q_for_convection_with_hydro_on, alpha_RTI_src_max_q, &
     147              :     max_v_div_cs_for_convection, max_abs_du_div_cs_for_convection, RSP_max_dt, RSP_relax_dm_tolerance, &
     148              :     calculate_Brunt_B, calculate_Brunt_N2, brunt_N2_coefficient, num_cells_for_smooth_brunt_B, &
     149              :     threshold_for_smooth_brunt_B, min_magnitude_brunt_B, RSP_max_dt_times_min_rad_diff_time, &
     150              :     min_overshoot_q, overshoot_alpha, RSP_target_steps_per_cycle, &
     151              :     RSP_max_num_periods, RSP_min_max_R_for_periods, RSP_min_deltaR_for_periods, &
     152              :     RSP_min_PERIOD_div_PERIODLIN, RSP_report_limit_dt, RSP_mode_for_setting_PERIODLIN, RSP_initial_dt_factor, &
     153              :     RSP_v_div_cs_threshold_for_dt_limit, RSP_max_dt_times_min_dr_div_cs, RSP_thetae, &
     154              :     RSP_alfa, RSP_thetaq, RSP_default_PERIODLIN, &
     155              :    RSP_theta, RSP_thetat, RSP_thetau, RSP_wtr, RSP_wtc, RSP_wtt, RSP_gam, RSP_max_retries_per_step, RSP_Qvisc_linear_static, &
     156              :    RSP_alfa, RSP_alfap, RSP_alfam, RSP_alfat, RSP_alfas, RSP_alfac, RSP_alfad, RSP_gammar, RSP_nz_div_IBOTOM, &
     157              :    RSP_efl0, RSP_cq, RSP_zsh, RSP_tol_max_corr, RSP_tol_max_resid, RSP_max_iters_per_try, &
     158              :     RTI_smooth_mass, RTI_smooth_iterations, RTI_smooth_fraction, RSP_dq_1_factor, &
     159              :     alpha_RTI_diffusion_factor, dudt_RTI_diffusion_factor, dedt_RTI_diffusion_factor, alpha_RTI_src_min_v_div_cs, &
     160              :     dlnddt_RTI_diffusion_factor, composition_RTI_diffusion_factor, max_M_RTI_factors_full_on, min_M_RTI_factors_full_off, &
     161              :     alpha_RTI_src_min_v_div_cs, alpha_RTI_src_max_q, alpha_RTI_src_min_q, RSP_kick_vsurf_km_per_sec, &
     162              :     RSP_nz_outer, RSP_nz, RSP_T_anchor, RSP_T_inner, RSP_Teff, RSP_mass, RSP_L, RSP_X, RSP_Z, RSP_T_inner_tolerance, &
     163              :     RSP_relax_max_tries, RSP_hydro_only, &
     164              :    RSP_tau_surf_for_atm_grey_with_kap, RSP_fixed_Psurf, RSP_Avel, RSP_Arnd, RSP_relax_adjust_inner_mass_distribution, &
     165              :    use_other_RSP_linear_analysis, RSP_use_atm_grey_with_kap_for_Psurf, &
     166              :    RSP_fraction_1st_overtone,RSP_fraction_2nd_overtone, RSP_testing, RSP_use_Prad_for_Psurf, RSP_map_zone_interval, &
     167              :    RSP_write_map, RSP_map_filename, RSP_map_history_filename, RSP_map_first_period, RSP_map_last_period, &
     168              :    use_other_RSP_build_model, RSP_Psurf, RSP_work_period, RSP_work_filename, RSP_nmodes, RSP_surface_tau, &
     169              :    set_RSP_Psurf_to_multiple_of_initial_P1, use_RSP_new_start_scheme, RSP_do_check_omega, RSP_report_check_omega_changes, &
     170              :     RSP_relax_initial_model, RSP_trace_RSP_build_model, &
     171              :    RSP_GREKM_avg_abs_limit, RSP_GREKM_avg_abs_frac_new, RSP_kap_density_factor, RSP_map_columns_filename, &
     172              :    RSP_relax_alfap_before_alfat, RSP_max_outer_dm_tries, RSP_max_inner_scale_tries, RSP_T_anchor_tolerance, &
     173              :     ! mass gain or loss
     174              :     mass_change, mass_change_full_on_dt, mass_change_full_off_dt, trace_dt_control_mass_change, &
     175              :     min_wind, max_wind, use_accreted_material_j, accreted_material_j, D_omega_mixing_rate, &
     176              :     D_omega_mixing_across_convection_boundary, max_q_for_D_omega_zero_in_convection_region, nu_omega_mixing_rate, &
     177              :     nu_omega_mixing_across_convection_boundary, max_q_for_nu_omega_zero_in_convection_region, &
     178              :     mdot_omega_power, max_rotational_mdot_boost, max_mdot_jump_for_rotation, &
     179              :     lim_trace_rotational_mdot_boost, rotational_mdot_boost_fac, rotational_mdot_kh_fac, surf_avg_tau, surf_avg_tau_min, &
     180              :     max_tries_for_implicit_wind, iwind_tolerance, iwind_lambda, super_eddington_scaling_factor, &
     181              :     super_eddington_wind_Ledd_factor, wind_boost_full_off_L_div_Ledd, wind_boost_full_on_L_div_Ledd, &
     182              :     super_eddington_wind_max_boost, trace_super_eddington_wind_boost, &
     183              :     rlo_scaling_factor, rlo_wind_min_L, rlo_wind_max_Teff, rlo_wind_roche_lobe_radius, &
     184              :     roche_lobe_xfer_full_on, roche_lobe_xfer_full_off, rlo_wind_base_mdot, rlo_wind_scale_height, &
     185              :     hot_wind_scheme, cool_wind_RGB_scheme, cool_wind_AGB_scheme, RGB_to_AGB_wind_switch, &
     186              :     Reimers_scaling_factor, Blocker_scaling_factor, de_Jager_scaling_factor, van_Loon_scaling_factor, &
     187              :     Nieuwenhuijzen_scaling_factor, Vink_scaling_factor, &
     188              :     Dutch_scaling_factor, Bjorklund_scaling_factor, Dutch_wind_lowT_scheme, wind_He_layer_limit, &
     189              :     wind_H_envelope_limit, wind_H_He_envelope_limit, hot_wind_full_on_T, cool_wind_full_on_T, &
     190              : 
     191              :     ! composition of added mass
     192              :     accrete_same_as_surface, &
     193              :     accrete_given_mass_fractions, num_accretion_species, accretion_species_id, accretion_species_xa, &
     194              :     accretion_h1, accretion_h2, accretion_he3, accretion_he4, accretion_zfracs, accretion_dump_missing_metals_into_heaviest, &
     195              : 
     196              :     ! special list of z fractions
     197              :     z_fraction_li, z_fraction_be, z_fraction_b, z_fraction_c, z_fraction_n,&
     198              :     z_fraction_o, z_fraction_f, z_fraction_ne, z_fraction_na, z_fraction_mg, z_fraction_al, &
     199              :     z_fraction_si, z_fraction_p, z_fraction_s, z_fraction_cl, z_fraction_ar, z_fraction_k, &
     200              :     z_fraction_ca, z_fraction_sc, z_fraction_ti, z_fraction_v, z_fraction_cr, z_fraction_mn, &
     201              :     z_fraction_fe, z_fraction_co, z_fraction_ni, z_fraction_cu, z_fraction_zn, &
     202              :     lgT_lo_for_set_new_abundances, lgT_hi_for_set_new_abundances, &
     203              : 
     204              :     ! automatic stops for mass loss/gain
     205              :     max_star_mass_for_gain, min_star_mass_for_loss, max_T_center_for_any_mass_loss, max_T_center_for_full_mass_loss, &
     206              : 
     207              :     ! extra power source
     208              :     extra_power_source, &
     209              : 
     210              :     ! relaxation parameters
     211              :     relax_dlnZ, relax_dY, &
     212              : 
     213              :     ! mesh adjustment
     214              :     show_mesh_changes, okay_to_remesh, restore_mesh_on_retry, num_steps_to_hold_mesh_after_retry, &
     215              :     max_rel_delta_IE_for_mesh_total_energy_balance, &
     216              :     trace_mesh_adjust_error_in_conservation, max_allowed_nz, mesh_max_allowed_ratio, &
     217              :     remesh_max_allowed_logT, max_delta_x_for_merge, &
     218              :     mesh_ok_to_merge, mesh_max_k_old_for_split, mesh_min_k_old_for_split, &
     219              :     mesh_adjust_get_T_from_E, &
     220              :     max_dq, min_dq, min_dq_for_split, min_dq_for_xa, min_dq_for_xa_convective, &
     221              :     mesh_min_dlnR, merge_if_dlnR_too_small, min_dq_for_logT, &
     222              :     mesh_min_dr_div_dRstar, merge_if_dr_div_dRstar_too_small, &
     223              :     mesh_min_dr_div_cs, merge_if_dr_div_cs_too_small, &
     224              :     max_center_cell_dq, max_surface_cell_dq, max_num_subcells, max_num_merge_cells, &
     225              :     mesh_delta_coeff, mesh_delta_coeff_for_highT, &
     226              :     logT_max_for_standard_mesh_delta_coeff, logT_min_for_highT_mesh_delta_coeff, remesh_dt_limit, &
     227              :     mesh_Pgas_div_P_exponent, &
     228              :     E_function_weight, E_function_param, P_function_weight, &
     229              :     mesh_logX_species, &
     230              :     mesh_logX_min_for_extra, mesh_dlogX_dlogP_extra, mesh_dlogX_dlogP_full_on, mesh_dlogX_dlogP_full_off, &
     231              :     convective_bdy_min_dt_yrs, convective_bdy_dq_limit, convective_bdy_weight, &
     232              : 
     233              :     mesh_dlog_eps_min_for_extra, mesh_dlog_eps_dlogP_full_on, mesh_dlog_eps_dlogP_full_off, &
     234              :     mesh_dlog_pp_dlogP_extra, mesh_dlog_cno_dlogP_extra, mesh_dlog_3alf_dlogP_extra, &
     235              :     mesh_dlog_burn_c_dlogP_extra, mesh_dlog_burn_n_dlogP_extra, mesh_dlog_burn_o_dlogP_extra, &
     236              :     mesh_dlog_burn_ne_dlogP_extra, mesh_dlog_burn_na_dlogP_extra, mesh_dlog_burn_mg_dlogP_extra, &
     237              :     mesh_dlog_burn_si_dlogP_extra, mesh_dlog_burn_s_dlogP_extra, mesh_dlog_burn_ar_dlogP_extra, &
     238              :     mesh_dlog_burn_ca_dlogP_extra, mesh_dlog_burn_ti_dlogP_extra, mesh_dlog_burn_cr_dlogP_extra, &
     239              :     mesh_dlog_burn_fe_dlogP_extra, mesh_dlog_cc_dlogP_extra, mesh_dlog_co_dlogP_extra, mesh_dlog_oo_dlogP_extra, &
     240              :     mesh_dlog_pnhe4_dlogP_extra, mesh_dlog_photo_dlogP_extra, mesh_dlog_other_dlogP_extra, &
     241              :     T_function1_weight, T_function2_weight, T_function2_param, mesh_delta_coeff_factor_smooth_iters, &
     242              :     R_function_weight, R_function_param, &
     243              :     R_function2_weight, R_function2_param1, R_function2_param2, &
     244              :     R_function3_weight, M_function_weight, M_function_param, &
     245              :     gradT_function_weight, log_tau_function_weight, log_kap_function_weight, omega_function_weight, &
     246              :     gam_function_weight, gam_function_param1, gam_function_param2, &
     247              :     xa_function_species, xa_function_weight, xa_function_param, xa_mesh_delta_coeff, split_merge_amr_mesh_delta_coeff, &
     248              :     use_split_merge_amr, split_merge_amr_nz_baseline, split_merge_amr_log_zoning, split_merge_amr_hybrid_zoning, &
     249              :     split_merge_amr_flipped_hybrid_zoning, split_merge_amr_logtau_zoning, &
     250              :     split_merge_amr_okay_to_split_nz, split_merge_amr_nz_r_core, &
     251              :     split_merge_amr_okay_to_split_1, merge_amr_inhibit_at_jumps, split_merge_amr_MaxLong, split_merge_amr_nz_r_core_fraction, &
     252              :     split_merge_amr_MaxShort, merge_amr_max_abs_du_div_cs, &
     253              :     merge_amr_ignore_surface_cells, merge_amr_k_for_ignore_surface_cells, &
     254              :     merge_amr_du_div_cs_limit_only_for_compression, split_merge_amr_avoid_repeated_remesh, split_merge_amr_r_core_cm, &
     255              :     split_merge_amr_dq_min, split_merge_amr_dq_max, split_merge_amr_max_iters, trace_split_merge_amr, equal_split_density_amr, &
     256              : 
     257              :     ! nuclear reaction parameters
     258              :     screening_mode, default_net_name, net_logTcut_lo, net_logTcut_lim, &
     259              :     eps_nuc_factor, op_split_burn_eps_nuc_infall_limit, eps_WD_sedimentation_factor, &
     260              :     max_abs_eps_nuc, dxdt_nuc_factor, max_abar_for_burning, mix_factor, &
     261              :     fe56ec_fake_factor, min_T_for_fe56ec_fake_factor, weak_rate_factor, &
     262              :     sig_term_limit, sig_min_factor_for_high_Tcenter, Tcenter_min_for_sig_min_factor_full_on,&
     263              :     Tcenter_max_for_sig_min_factor_full_off, max_delta_m_to_bdy_for_sig_min_factor, &
     264              :     delta_m_lower_for_sig_min_factor, delta_m_upper_for_sig_min_factor, &
     265              :     am_sig_term_limit, am_D_mix_factor, am_gradmu_factor, am_nu_factor, &
     266              :     D_visc_factor, D_DSI_factor, D_SH_factor, D_SSI_factor, D_ES_factor, D_GSF_factor, D_ST_factor, &
     267              :     am_nu_non_rotation_factor, skip_rotation_in_convection_zones, am_nu_DSI_factor, am_nu_SH_factor,&
     268              :     am_nu_SSI_factor, am_nu_ES_factor, am_nu_GSF_factor, am_nu_ST_factor, am_nu_visc_factor, smooth_am_nu_rot, &
     269              :     ST_angsml, ST_angsmt, am_nu_omega_rot_factor, am_nu_omega_non_rot_factor, am_nu_j_rot_factor, am_nu_j_non_rot_factor, &
     270              :     smooth_nu_ST, smooth_D_ST, smooth_D_SH, smooth_D_DSI, smooth_D_ES, smooth_D_SSI, smooth_D_GSF, smooth_D_omega, &
     271              :     do_adjust_J_lost, premix_omega, angular_momentum_error_warn, angular_momentum_error_retry, &
     272              :     simple_i_rot_flag, recalc_mixing_info_each_substep, adjust_J_fraction, &
     273              :     min_q_for_adjust_J_lost, min_J_div_delta_J, max_mdot_redo_cnt, mdot_revise_factor, &
     274              :     implicit_mdot_boost, min_years_dt_for_redo_mdot, surf_omega_div_omega_crit_limit, surf_omega_div_omega_crit_tol, &
     275              :     w_div_wcrit_max, w_div_wcrit_max2, &
     276              :     D_mix_rotation_max_logT_full_on, D_mix_rotation_min_logT_full_off, &
     277              :     D_mix_rotation_min_tau_full_off, D_mix_rotation_min_tau_full_on, &
     278              :     set_uniform_am_nu_non_rot, uniform_am_nu_non_rot, &
     279              :     set_min_am_nu_non_rot, min_am_nu_non_rot, min_center_Ye_for_min_am_nu_non_rot, &
     280              :     set_min_D_mix_below_Tmax, min_D_mix_below_Tmax, set_min_D_mix_in_H_He, min_D_mix_in_H_He, &
     281              :     set_min_D_mix, mass_lower_limit_for_min_D_mix, mass_upper_limit_for_min_D_mix, &
     282              :     min_D_mix, min_center_Ye_for_min_D_mix, &
     283              :     smooth_outer_xa_big, smooth_outer_xa_small, nonlocal_NiCo_kap_gamma, nonlocal_NiCo_decay_heat, &
     284              :     dtau_gamma_NiCo_decay_heat, max_logT_for_net, reaction_neuQs_factor, &
     285              : 
     286              :     ! element diffusion parameters
     287              :     diffusion_use_iben_macdonald, diffusion_use_paquette, diffusion_use_caplan, diffusion_use_cgs_solver, &
     288              :     diffusion_use_full_net, do_WD_sedimentation_heating, min_xa_for_WD_sedimentation_heating, &
     289              :     do_diffusion_heating, do_element_diffusion, &
     290              :     cgs_thermal_diffusion_eta_full_on, cgs_thermal_diffusion_eta_full_off, diffusion_min_dq_at_surface, &
     291              :     diffusion_min_T_at_surface, diffusion_min_dq_ratio_at_surface, diffusion_dt_limit, &
     292              :     diffusion_min_X_hard_limit, diffusion_X_total_atol, diffusion_X_total_rtol, &
     293              :     diffusion_upwind_abs_v_limit, diffusion_dt_div_timescale, diffusion_min_num_substeps, &
     294              :     diffusion_max_iters_per_substep, diffusion_max_retries_per_substep, diffusion_v_max, &
     295              :     diffusion_gamma_full_off, diffusion_gamma_full_on, diffusion_T_full_on, diffusion_T_full_off, &
     296              :     D_mix_ignore_diffusion, diffusion_calculates_ionization, diffusion_nsmooth_typical_charge, &
     297              :     diffusion_tol_correction_max, diffusion_tol_correction_norm, &
     298              :     diffusion_AD_dm_full_on, diffusion_AD_dm_full_off, diffusion_AD_boost_factor, &
     299              :     diffusion_SIG_factor, diffusion_GT_factor, &
     300              :     diffusion_Vlimit_dm_full_on, diffusion_Vlimit_dm_full_off, diffusion_Vlimit, &
     301              :     diffusion_max_T_for_radaccel, diffusion_min_T_for_radaccel, diffusion_max_Z_for_radaccel, &
     302              :     diffusion_min_Z_for_radaccel, diffusion_screening_for_radaccel, &
     303              :     op_mono_data_path, op_mono_data_cache_filename, &
     304              :     emesh_data_for_op_mono_path, op_mono_method, &
     305              :     show_diffusion_info, show_diffusion_substep_info, show_diffusion_timing, &
     306              :     diffusion_num_classes, diffusion_class_representative, diffusion_class_A_max, &
     307              :     diffusion_class_typical_charge, diffusion_class_factor, &
     308              :     diffusion_use_isolve, diffusion_rtol_for_isolve, diffusion_atol_for_isolve, &
     309              :     diffusion_maxsteps_for_isolve, diffusion_isolve_solver, &
     310              : 
     311              :     ! WD phase separation
     312              :     do_phase_separation, &
     313              :     phase_separation_option, &
     314              :     do_phase_separation_heating, &
     315              :     phase_separation_mixing_use_brunt, &
     316              :     phase_separation_no_diffusion, &
     317              : 
     318              :     ! eos controls
     319              :     fix_d_eos_dxa_partials, &
     320              : 
     321              :     ! opacity controls
     322              :     use_simple_es_for_kap, use_starting_composition_for_kap, &
     323              :     min_kap_for_dPrad_dm_eqn, low_logT_op_mono_full_off, low_logT_op_mono_full_on, high_logT_op_mono_full_off, &
     324              :     high_logT_op_mono_full_on, op_mono_min_X_to_include, use_op_mono_alt_get_kap, &
     325              : 
     326              : 
     327              :     include_L_in_correction_limits, include_v_in_correction_limits, &
     328              :     include_u_in_correction_limits, include_w_in_correction_limits, &
     329              : 
     330              :     ! asteroseismology controls
     331              :     get_delta_nu_from_scaled_solar, nu_max_sun, delta_nu_sun, astero_Teff_sun, &
     332              :     delta_Pg_mode_freq, delta_Pg_traditional, &
     333              : 
     334              :     ! hydro parameters
     335              :     energy_eqn_option, &
     336              :     opacity_factor, opacity_min, opacity_max, min_logT_for_opacity_factor_off, min_logT_for_opacity_factor_on, &
     337              :     max_logT_for_opacity_factor_on, max_logT_for_opacity_factor_off, &
     338              :     non_nuc_neu_factor, &
     339              :     use_time_centered_eps_grav, &
     340              :     use_mass_corrections, use_gravity_rotation_correction, eps_grav_factor, eps_mdot_factor, &
     341              :     include_composition_in_eps_grav, no_dedt_form_during_relax, &
     342              :     max_abs_rel_change_surf_lnS, &
     343              :     max_num_surf_revisions, Gamma_lnS_eps_grav_full_off, Gamma_lnS_eps_grav_full_on, &
     344              :     use_dPrad_dm_form_of_T_gradient_eqn, use_flux_limiting_with_dPrad_dm_form, &
     345              :     use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn, dedt_eqn_r_scale, &
     346              :     RTI_A, RTI_B, RTI_C, RTI_D, RTI_max_alpha, RTI_C_X_factor, RTI_C_X0_frac, steps_before_use_velocity_time_centering, &
     347              :     RTI_dm_for_center_eta_nondecreasing, RTI_min_dm_behind_shock_for_full_on, RTI_energy_floor, &
     348              :     RTI_D_mix_floor, RTI_min_m_for_D_mix_floor, RTI_log_max_boost, RTI_m_full_boost, RTI_m_no_boost, &
     349              :     include_P_in_velocity_time_centering, include_L_in_velocity_time_centering, &
     350              :     P_theta_for_velocity_time_centering, L_theta_for_velocity_time_centering, &
     351              :     steps_before_use_TDC, use_P_d_1_div_rho_form_of_work_when_time_centering_velocity, compare_TDC_to_MLT, &
     352              :     velocity_logT_lower_bound, max_dt_yrs_for_velocity_logT_lower_bound, velocity_tau_lower_bound, velocity_q_upper_bound,  &
     353              :     report_max_infall_inside_fe_core, use_drag_energy, drag_coefficient, min_q_for_drag, &
     354              :     v_drag_factor, v_drag, q_for_v_drag_full_off, q_for_v_drag_full_on, &
     355              :     retry_for_v_above_clight, &
     356              : 
     357              :     ! hydro solver
     358              :     use_gold2_tolerances, gold2_solver_iters_timestep_limit, steps_before_use_gold2_tolerances, &
     359              :     gold2_iter_for_resid_tol2, gold2_iter_for_resid_tol3, gold2_tol_residual_norm1, gold2_tol_max_residual1, &
     360              :     gold2_tol_residual_norm2, gold2_tol_max_residual2, gold2_tol_residual_norm3, gold2_tol_max_residual3, &
     361              :     tol_correction_norm, tol_max_correction, correction_xa_limit, &
     362              :     tol_correction_high_T_limit, tol_correction_norm_high_T, tol_max_correction_high_T, &
     363              :     tol_correction_extreme_T_limit, tol_correction_norm_extreme_T, tol_max_correction_extreme_T, &
     364              :     tol_bad_max_correction, bad_max_correction_series_limit, &
     365              :     tol_max_residual1, tol_residual_norm1, tol_max_residual2, &
     366              :     tol_residual_norm2, tol_max_residual3, tol_residual_norm3, &
     367              :     warning_limit_for_max_residual, trace_solver_damping, &
     368              :     relax_use_gold_tolerances, relax_tol_correction_norm, relax_tol_max_correction, &
     369              :     relax_solver_iters_timestep_limit, &
     370              :     relax_iter_for_resid_tol2, relax_tol_residual_norm1, relax_tol_max_residual1, &
     371              :     relax_iter_for_resid_tol3, relax_tol_residual_norm2, relax_tol_max_residual2, &
     372              :     relax_tol_residual_norm3, relax_tol_max_residual3, relax_maxT_for_gold_tolerances, &
     373              :     use_gold_tolerances, gold_solver_iters_timestep_limit, maxT_for_gold_tolerances, &
     374              :     gold_tol_residual_norm1, gold_tol_max_residual1, gold_iter_for_resid_tol2, &
     375              :     gold_tol_residual_norm2, gold_tol_max_residual2, gold_iter_for_resid_tol3, &
     376              :     gold_tol_residual_norm3, gold_tol_max_residual3 , steps_before_use_gold_tolerances, &
     377              :     include_rotation_in_total_energy, convergence_ignore_equL_residuals, convergence_ignore_alpha_RTI_residuals, &
     378              :     iter_for_resid_tol2, iter_for_resid_tol3, &
     379              :     solver_itermin, solver_itermin_until_reduce_min_corr_coeff, &
     380              :     solver_reduced_min_corr_coeff, do_solver_damping_for_neg_xa, &
     381              :     scale_max_correction_for_negative_surf_lum, max_frac_for_negative_surf_lum, &
     382              :     hydro_mtx_max_allowed_abs_dlogT, hydro_mtx_max_allowed_abs_dlogRho, &
     383              :     min_logT_for_hydro_mtx_max_allowed, hydro_mtx_max_allowed_logT, &
     384              :     hydro_mtx_max_allowed_logRho, report_min_rcond_from_DGESXV, &
     385              :     hydro_mtx_min_allowed_logT, hydro_mtx_min_allowed_logRho, use_DGESVX_in_bcyclic, use_equilibration_in_DGESVX, &
     386              :     op_split_burn, op_split_burn_min_T, op_split_burn_eps, op_split_burn_odescal, &
     387              :     op_split_burn_min_T_for_variable_T_solver, solver_test_partials_show_dx_var_name, &
     388              :     tiny_corr_coeff_limit, scale_correction_norm, corr_param_factor, num_times_solver_reuse_mtx, &
     389              :     scale_max_correction, ignore_min_corr_coeff_for_scale_max_correction, &
     390              :     ignore_too_large_correction, ignore_species_in_max_correction, &
     391              :     corr_norm_jump_limit, max_corr_jump_limit, resid_norm_jump_limit, max_resid_jump_limit, RSP2_use_mass_interp_face_values, &
     392              :     corr_coeff_limit, tiny_corr_factor, solver_test_partials_call_number, solver_test_partials_iter_number, &
     393              :     max_tries1, solver_max_tries_before_reject, max_tries_for_retry, max_tries_after_5_retries, solver_test_partials_sink_name, &
     394              :     max_tries_after_10_retries, max_tries_after_20_retries, retry_limit, redo_limit, use_Pvsc_art_visc, Pvsc_cq, Pvsc_zsh, &
     395              :     min_xa_hard_limit, min_xa_hard_limit_for_highT, logT_max_for_min_xa_hard_limit, logT_min_for_min_xa_hard_limit_for_highT, &
     396              :     sum_xa_hard_limit, sum_xa_hard_limit_for_highT, logT_max_for_sum_xa_hard_limit, logT_min_for_sum_xa_hard_limit_for_highT, &
     397              :     xa_clip_limit, report_solver_progress, solver_test_partials_k_high, RSP2_use_L_eqn_at_surface, RSP2_use_RSP_eqn_for_Y_face, &
     398              :     solver_epsder_chem, solver_epsder_struct, solver_numerical_jacobian, energy_conservation_dump_model_number, &
     399              :     solver_jacobian_nzlo, solver_jacobian_nzhi, solver_check_everything, solver_inspect_soln_flag, RSP2_assume_HSE, &
     400              :     solver_test_partials_dx_0, solver_test_partials_k, solver_show_correction_info, eps_mdot_leak_frac_factor, &
     401              :     solver_test_partials_write_eos_call_info, solver_save_photo_call_number, RSP2_min_Lc_div_L_for_convective_mixing_type, &
     402              :     solver_test_partials_var_name, solver_test_partials_equ_name, RSP2_min_Lt_div_L_for_overshooting_mixing_type, &
     403              :     solver_test_eos_partials, solver_test_kap_partials, solver_test_net_partials, solver_test_atm_partials, &
     404              :     fill_arrays_with_NaNs, zero_when_allocate, warn_when_large_rel_run_E_err, &
     405              :     absolute_cumulative_energy_err, solver_test_partials_k_low, &
     406              :     warn_when_large_virial_thm_rel_err, warn_when_get_a_bad_eos_result, warn_rates_for_high_temp, max_safe_logT_for_rates, &
     407              :     RSP2_alfap, RSP2_alfat, RSP2_alfam, RSP2_alfar, RSP2_Lsurf_factor, RSP2_use_Stellingwerf_Lr, RSP2_remesh_when_load, &
     408              :     RSP2_alfad, RSP2_num_outermost_cells_forced_nonturbulent, RSP2_num_innermost_cells_forced_nonturbulent, &
     409              :     RSP2_target_steps_per_cycle, RSP2_max_num_periods, RSP2_work_period, RSP2_map_first_period, RSP2_map_last_period, &
     410              :     RSP2_min_max_R_for_periods, RSP2_GREKM_avg_abs_frac_new, RSP2_GREKM_avg_abs_limit, RSP2_map_zone_interval, &
     411              :     RSP2_work_filename, RSP2_map_columns_filename, RSP2_map_filename, RSP2_map_history_filename, RSP2_write_map, &
     412              :     RSP2_T_anchor, RSP2_dq_1_factor, RSP2_nz, RSP2_nz_outer, RSP2_nz_div_IBOTOM, RSP2_report_adjust_w, &
     413              :     RSP2_w_min_for_damping, RSP2_source_seed, RSP2_w_fix_if_neg, max_X_for_conv_timescale, min_X_for_conv_timescale, &
     414              :     max_q_for_conv_timescale, min_q_for_conv_timescale, max_q_for_QHSE_timescale, min_q_for_QHSE_timescale, &
     415              : 
     416              : 
     417              :     ! timestep
     418              :     time_delta_coeff, min_timestep_factor, max_timestep_factor, &
     419              :     max_timestep_factor_at_high_T, min_logT_for_max_timestep_factor_at_high_T, &
     420              :     timestep_factor_for_retries, retry_hold, &
     421              :     neg_mass_fraction_hold, timestep_dt_factor, use_dt_low_pass_controller, &
     422              :     force_timestep_min, force_timestep_min_years, force_timestep_min_factor, force_timestep, force_timestep_years, &
     423              :     varcontrol_target, min_allowed_varcontrol_target, varcontrol_dt_limit_ratio_hard_max, xa_scale, &
     424              :     solver_iters_timestep_limit, burn_steps_limit, burn_steps_hard_limit, &
     425              :     diffusion_steps_limit, diffusion_steps_hard_limit, diffusion_iters_limit, diffusion_iters_hard_limit, &
     426              :     dt_div_dt_cell_collapse_limit, dt_div_dt_cell_collapse_hard_limit, &
     427              :     dt_div_min_dr_div_cs_limit, dt_div_min_dr_div_cs_hard_limit, min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit, &
     428              :     min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit, min_k_for_dt_div_min_dr_div_cs_limit, &
     429              :     min_q_for_dt_div_min_dr_div_cs_limit, max_q_for_dt_div_min_dr_div_cs_limit, check_remnant_only_for_dt_div_min_dr_div_cs_limit, &
     430              :     dX_mix_dist_limit, dX_div_X_at_high_T_limit_lgT_min, dX_limit_species, &
     431              :     dX_limit_min_X, dX_limit, dX_hard_limit, dX_div_X_limit_min_X, dX_div_X_at_high_T_hard_limit, &
     432              :     dX_div_X_limit, dX_div_X_hard_limit, dX_decreases_only, dX_div_X_at_high_T_limit, &
     433              :     dX_nuc_drop_min_X_limit, dX_nuc_drop_max_A_limit, dX_nuc_drop_limit, &
     434              :     dX_nuc_drop_limit_at_high_T, dX_nuc_drop_hard_limit, dX_nuc_drop_min_yrs_for_dt, &
     435              :     dL_div_L_limit_min_L, dL_div_L_limit, dL_div_L_hard_limit, &
     436              :     delta_lgP_limit, delta_lgP_hard_limit, delta_lgP_limit_min_lgP, &
     437              :     delta_lgRho_limit, delta_lgRho_hard_limit, delta_lgRho_limit_min_lgRho, &
     438              :     delta_lgT_limit, delta_lgT_hard_limit, delta_lgT_limit_min_lgT, &
     439              :     delta_lgE_limit, delta_lgE_hard_limit, delta_lgE_limit_min_lgE, &
     440              :     delta_lgR_limit, delta_lgR_hard_limit, delta_lgR_limit_min_lgR, &
     441              :     delta_Ye_highT_limit, delta_Ye_highT_hard_limit, minT_for_highT_Ye_limit, &
     442              :     delta_lgL_nuc_cat_limit, delta_lgL_nuc_cat_hard_limit, lgL_nuc_cat_burn_min, lgL_nuc_mix_dist_limit, &
     443              :     delta_lgT_max_limit_only_after_near_zams, &
     444              :     delta_lgL_H_limit, delta_lgL_H_hard_limit, lgL_H_burn_min, lgL_H_drop_factor, lgL_H_burn_relative_limit, &
     445              :     delta_lgL_He_limit, delta_lgL_He_hard_limit, lgL_He_burn_min, lgL_He_drop_factor, lgL_He_burn_relative_limit, &
     446              :     delta_lgL_z_limit, delta_lgL_z_hard_limit, lgL_z_burn_min, lgL_z_drop_factor, lgL_z_burn_relative_limit, &
     447              :     delta_lgL_power_photo_limit, delta_lgL_power_photo_hard_limit, lgL_power_photo_burn_min, lgL_power_photo_drop_factor, &
     448              :     delta_lgL_nuc_limit, delta_lgL_nuc_hard_limit, lgL_nuc_burn_min, lgL_nuc_drop_factor, min_lgT_for_lgL_power_photo_limit, &
     449              :     delta_lgL_nuc_at_high_T_limit, delta_lgL_nuc_at_high_T_hard_limit, delta_lgL_nuc_at_high_T_limit_lgT_min, &
     450              :     delta_lgRho_cntr_limit, delta_lgRho_cntr_hard_limit, delta_lgP_cntr_limit, delta_lgP_cntr_hard_limit, &
     451              :     delta_lgT_cntr_limit, delta_lgT_cntr_hard_limit, delta_lgT_cntr_limit_only_after_near_zams, &
     452              :     delta_lgT_max_limit, delta_lgT_max_hard_limit, max_lgT_for_lgL_nuc_limit, &
     453              :     delta_log_eps_nuc_limit, delta_log_eps_nuc_hard_limit, delta_lgT_max_limit_lgT_min, &
     454              :     delta_lgT_max_at_high_T_limit, delta_lgT_max_at_high_T_hard_limit, delta_lgT_max_at_high_T_limit_lgT_min, &
     455              :     delta_dX_div_X_cntr_min, delta_dX_div_X_cntr_max, delta_dX_div_X_cntr_limit, delta_dX_div_X_cntr_hard_limit, &
     456              :     delta_dX_div_X_drop_only, delta_lg_XH_drop_only, &
     457              :     delta_lg_XHe_drop_only, delta_lg_XC_drop_only, delta_lg_XNe_drop_only, delta_lg_XO_drop_only, delta_lg_XSi_drop_only, &
     458              :     delta_XH_drop_only, delta_XHe_drop_only, delta_XC_drop_only, delta_XNe_drop_only, delta_XO_drop_only, delta_XSi_drop_only, &
     459              :     delta_lg_XH_cntr_min, delta_lg_XH_cntr_max, delta_lg_XH_cntr_limit, delta_lg_XH_cntr_hard_limit, &
     460              :     delta_lg_XHe_cntr_min, delta_lg_XHe_cntr_max, delta_lg_XHe_cntr_limit, delta_lg_XHe_cntr_hard_limit, &
     461              :     delta_lg_XC_cntr_min, delta_lg_XC_cntr_max, delta_lg_XC_cntr_limit, delta_lg_XC_cntr_hard_limit, &
     462              :     delta_lg_XNe_cntr_limit, delta_lg_XNe_cntr_hard_limit, delta_lg_XNe_cntr_min, delta_lg_XNe_cntr_max, &
     463              :     delta_lg_XO_cntr_limit, delta_lg_XO_cntr_hard_limit, delta_lg_XO_cntr_min, delta_lg_XO_cntr_max, &
     464              :     delta_lg_XSi_cntr_limit, delta_lg_XSi_cntr_hard_limit, delta_lg_XSi_cntr_min, delta_lg_XSi_cntr_max, &
     465              :     delta_XH_cntr_limit, delta_XH_cntr_hard_limit, delta_XHe_cntr_limit, delta_XHe_cntr_hard_limit, &
     466              :     delta_XC_cntr_limit, delta_XC_cntr_hard_limit, delta_XNe_cntr_limit, delta_XNe_cntr_hard_limit, &
     467              :     delta_XO_cntr_limit, delta_XO_cntr_hard_limit, delta_XSi_cntr_limit, delta_XSi_cntr_hard_limit, &
     468              :     delta_lgTeff_limit, delta_lgTeff_hard_limit, delta_lgL_limit, delta_lgL_limit_L_min, delta_lgL_hard_limit, &
     469              :     delta_HR_ds_L, delta_HR_ds_Teff, delta_HR_limit, delta_HR_hard_limit, &
     470              :     delta_lg_star_mass_limit, delta_lg_star_mass_hard_limit, &
     471              :     delta_mdot_atol, delta_mdot_rtol, delta_mdot_limit, delta_mdot_hard_limit, &
     472              :     adjust_J_q_limit, adjust_J_q_hard_limit, &
     473              :     never_skip_hard_limits, relax_hard_limits_after_retry, &
     474              :     report_dt_hard_limit_retries, report_min_dr_div_cs, report_solver_dt_info, &
     475              :     limit_for_rel_error_in_energy_conservation, hard_limit_for_rel_error_in_energy_conservation, &
     476              : 
     477              :     ! atmosphere -- surface boundary conditions
     478              : 
     479              :     atm_option, atm_off_table_option, Pextra_factor, &
     480              :     atm_fixed_Teff, atm_fixed_Psurf, atm_fixed_Tsurf, &
     481              : 
     482              :     atm_T_tau_relation, atm_T_tau_opacity, atm_T_tau_errtol, atm_T_tau_max_iters, &
     483              :     atm_T_tau_max_steps, &
     484              : 
     485              :     atm_table, &
     486              : 
     487              :     atm_irradiated_opacity, atm_irradiated_errtol, atm_irradiated_T_eq, &
     488              :     atm_irradiated_kap_v, atm_irradiated_kap_v_div_kap_th, atm_irradiated_P_surf, &
     489              :     atm_irradiated_max_iters, &
     490              : 
     491              :     use_compression_outer_BC, use_momentum_outer_BC, Tsurf_factor, use_zero_Pgas_outer_BC, &
     492              :     fixed_Psurf, use_fixed_Psurf_outer_BC, fixed_vsurf, use_fixed_vsurf_outer_BC, &
     493              : 
     494              :     atm_build_tau_outer, atm_build_dlogtau, atm_build_errtol, &
     495              : 
     496              :     use_T_tau_gradr_factor, &
     497              : 
     498              :     ! starspots
     499              :     do_starspots, fspot, xspot, &
     500              : 
     501              :     ! extra heat near surface to model irradiation
     502              :     irradiation_flux, column_depth_for_irradiation, &
     503              : 
     504              :     ! uniform extra heat
     505              :     inject_uniform_extra_heat, min_q_for_uniform_extra_heat, max_q_for_uniform_extra_heat, &
     506              :     inject_extra_ergs_sec, base_of_inject_extra_ergs_sec, total_mass_for_inject_extra_ergs_sec, &
     507              :     start_time_for_inject_extra_ergs_sec, duration_for_inject_extra_ergs_sec, &
     508              :     inject_until_reach_model_with_total_energy, &
     509              : 
     510              :     ! mass gain or loss
     511              :     no_wind_if_no_rotation, max_logT_for_k_below_const_q, &
     512              :     max_q_for_k_below_const_q, min_q_for_k_below_const_q, max_logT_for_k_const_mass, &
     513              :     min_q_for_k_const_mass, max_q_for_k_const_mass, &
     514              : 
     515              :     ! info for debugging
     516              :     stop_for_bad_nums, report_ierr, report_bad_negative_xa, diffusion_dump_call_number, &
     517              : 
     518              :     ! controls for the evolve routine
     519              :     trace_evolve, &
     520              : 
     521              :     ! misc
     522              :     min_chem_eqn_scale, zams_filename, set_rho_to_dm_div_dV, use_other_momentum_implicit, &
     523              :     use_other_surface_PT, use_other_mlt_results, use_other_kap, use_other_diffusion, use_other_diffusion_factor, &
     524              :     use_other_adjust_mdot, use_other_j_for_adjust_J_lost, use_other_alpha_mlt, use_other_remove_surface, &
     525              :     use_other_am_mixing, use_other_brunt, use_other_brunt_smoothing, use_other_solver_monitor, &
     526              :     use_other_build_initial_model, use_other_cgrav, use_other_energy_implicit, use_other_momentum, &
     527              :     use_other_energy, use_other_mesh_functions, use_other_eps_grav, use_other_gradr_factor, &
     528              :     use_other_D_mix, use_other_neu, use_other_net_get, use_other_opacity_factor, use_other_pressure, &
     529              :     use_other_diffusion_coefficients, use_other_pgstar_plots, use_other_eval_fp_ft, use_other_eval_i_rot, use_other_torque, &
     530              :     use_other_torque_implicit, use_other_wind, use_other_accreting_state, &
     531              :     use_other_after_struct_burn_mix, use_other_mesh_delta_coeff_factor, &
     532              :     use_other_before_struct_burn_mix, use_other_astero_freq_corr, use_other_timestep_limit, use_other_set_pgstar_controls, &
     533              :     use_other_screening, use_other_rate_get, use_other_net_derivs, use_other_split_burn, use_other_close_gaps, &
     534              :     x_ctrl, x_integer_ctrl, x_logical_ctrl, x_character_ctrl, &
     535              : 
     536              :     ! extra files
     537              :     read_extra_controls_inlist, extra_controls_inlist_name, &
     538              :     save_controls_namelist, controls_namelist_name
     539              : 
     540              : 
     541              :  contains
     542              : 
     543              : 
     544            0 :  subroutine write_controls(s, fname, ierr)
     545              :     type (star_info), pointer :: s
     546              :  character (len=*), intent(in) :: fname
     547              :  integer, intent(out) :: ierr
     548              :  integer :: iounit
     549              :  character (len=256) :: filename
     550              : 
     551            0 :  ierr = 0
     552            0 :  filename = fname
     553              : 
     554            0 :  if (len_trim(filename) == 0) filename = 'dump_controls.txt'
     555              : 
     556              :  open(newunit=iounit, file=trim(filename), &
     557            0 :     action='write', status='replace', iostat=ierr)
     558            0 :  if (ierr /= 0) then
     559            0 :     write(*,*) 'failed to open ' // trim(filename)
     560            0 :     return
     561              :  end if
     562              : 
     563            0 :  call set_controls_for_writing(s, ierr)
     564            0 :  if (ierr /= 0) then
     565            0 :     close(iounit)
     566            0 :     return
     567              :  end if
     568              : 
     569            0 :  write(iounit, nml=controls, iostat=ierr)
     570              : 
     571            0 :  write(*,*) 'write controls namelist values to "' // trim(filename)//'"'
     572              : 
     573            0 :  close(iounit)
     574              : 
     575            0 :  end subroutine write_controls
     576              : 
     577              : 
     578            2 :  subroutine do_one_setup(id, inlist, ierr)
     579              :     use utils_lib
     580              :     character (len=*), intent(in) :: inlist
     581              :     integer, intent(in) :: id
     582              :     integer, intent(out) :: ierr
     583              :     type (star_info), pointer :: s
     584              :     include 'formats'
     585            1 :     call get_star_ptr(id, s, ierr)
     586            1 :     if (ierr /= 0) return
     587            1 :     call set_default_controls
     588            1 :     call read_controls(id, inlist, ierr)
     589            1 :     if (ierr /= 0) return
     590              : 
     591            1 :    if (save_controls_namelist) then
     592            0 :       call write_controls(s, controls_namelist_name, ierr)
     593            0 :       if (ierr /= 0) then
     594              :          write(*,*) 'ierr from write_controls ' // &
     595            0 :             trim(controls_namelist_name)
     596            0 :          return
     597              :       end if
     598              :    end if
     599              : 
     600              :  end subroutine do_one_setup
     601              : 
     602              : 
     603            1 :  subroutine read_controls(id, filename, ierr)
     604              :  use star_private_def
     605              :  use utils_lib
     606              :  character(*), intent(in) :: filename
     607              :  integer, intent(in) :: id
     608              :  integer, intent(out) :: ierr
     609              : 
     610              :  type (star_info), pointer :: s
     611              :  ierr = 0
     612            1 :  call get_star_ptr(id, s, ierr)
     613            1 :  if (ierr /= 0) return
     614              : 
     615            1 :  call read_controls_file(s, filename, 1, ierr)
     616            1 :  call check_controls(s, ierr)
     617              : 
     618            1 :  end subroutine read_controls
     619              : 
     620              : 
     621            1 :  subroutine check_controls(s, ierr)
     622              :     type (star_info), pointer :: s
     623              :     integer, intent(out) :: ierr
     624              : 
     625            1 :     ierr = 0
     626              : 
     627            1 :     if (.not. (trim(s% energy_eqn_option) == 'dedt' .or. trim(s% energy_eqn_option) == 'eps_grav')) then
     628            0 :        write(*,'(A)')
     629            0 :        write(*,*) "Invalid choice for energy_eqn_option"
     630            0 :        write(*,*) "Available options are 'dedt' or 'eps_grav'"
     631            0 :        write(*,'(A)')
     632            0 :        ierr = -1
     633            0 :        return
     634              :     end if
     635              : 
     636            1 :  end subroutine check_controls
     637              : 
     638              : 
     639            1 :  recursive subroutine read_controls_file(s, filename, level, ierr)
     640              :  use star_private_def
     641              :  use utils_lib
     642              :  character(*), intent(in) :: filename
     643              :  type (star_info), pointer :: s
     644              :  integer, intent(in) :: level
     645              :  integer, intent(out) :: ierr
     646              :  logical, dimension(max_extra_inlists) :: read_extra
     647              :  character (len=strlen), dimension(max_extra_inlists) :: extra
     648              :  integer :: unit, i
     649              : 
     650            1 :  ierr = 0
     651              : 
     652            1 :  if (level >= 10) then
     653            0 :  write(*,*) 'ERROR: too many levels of nested extra controls inlist files'
     654            0 :  ierr = -1
     655            0 :  return
     656              :  end if
     657              : 
     658            1 :  if (len_trim(filename) > 0) then
     659            1 :     open(newunit=unit, file=trim(filename), action='read', delim='quote', status='old', iostat=ierr)
     660            1 :     if (ierr /= 0) then
     661            0 :        write(*, *) 'Failed to open control namelist file ', trim(filename)
     662            0 :        return
     663              :     end if
     664            1 :     read(unit, nml=controls, iostat=ierr)
     665            1 :     close(unit)
     666            1 :     if (ierr /= 0) then
     667            0 :        write(*, *)
     668            0 :        write(*, *)
     669            0 :        write(*, *)
     670            0 :        write(*, *)
     671            0 :        write(*, '(a)') 'Failed while trying to read control namelist file: ' // trim(filename)
     672            0 :        write(*, '(a)') 'Perhaps the following runtime error message will help you find the problem.'
     673            0 :        write(*, *)
     674            0 :        open(newunit=unit, file=trim(filename), action='read', delim='quote', status='old', iostat=ierr)
     675            0 :        read(unit, nml=controls)
     676            0 :        close(unit)
     677            0 :        return
     678              :     end if
     679              :  end if
     680              : 
     681            1 :  call store_controls(s, ierr)
     682              : 
     683              :  ! recursive calls to read other inlists
     684            6 :  do i=1, max_extra_inlists
     685            5 :     read_extra(i) = read_extra_controls_inlist(i)
     686            5 :     read_extra_controls_inlist(i) = .false.
     687            5 :     extra(i) = extra_controls_inlist_name(i)
     688            5 :     extra_controls_inlist_name(i) = 'undefined'
     689              : 
     690            6 :     if (read_extra(i)) then
     691            0 :        write(*,*) 'read ' // trim(extra(i))
     692            0 :        call read_controls_file(s, extra(i), level+1, ierr)
     693            0 :        if (ierr /= 0) return
     694              :     end if
     695              :  end do
     696              : 
     697              : 
     698            1 :  end subroutine read_controls_file
     699              : 
     700              : 
     701            1 :  subroutine set_default_controls
     702              : 
     703           10 :  xa_central_lower_limit_species(:) = ''
     704            1 :  xa_central_lower_limit(:) = 0
     705           10 :  xa_central_upper_limit_species(:) = ''
     706            1 :  xa_central_upper_limit(:) = 0
     707           10 :  xa_surface_lower_limit_species(:) = ''
     708            1 :  xa_surface_lower_limit(:) = 0
     709           10 :  xa_surface_upper_limit_species(:) = ''
     710            1 :  xa_surface_upper_limit(:) = 0
     711           10 :  xa_average_lower_limit_species(:) = ''
     712            1 :  xa_average_lower_limit(:) = 0
     713           10 :  xa_average_upper_limit_species(:) = ''
     714            1 :  xa_average_upper_limit(:) = 0
     715              : 
     716           51 :  trace_history_value_name(:) = ''
     717          251 :  accretion_species_id(:) = ''
     718            1 :  accretion_species_xa(:) = 0
     719           10 :  mesh_logX_species(:) = ''
     720            1 :  mesh_logX_min_for_extra(:) = 0
     721            1 :  mesh_dlogX_dlogP_extra(:) = 0
     722            1 :  mesh_dlogX_dlogP_full_on(:) = 0
     723            1 :  mesh_dlogX_dlogP_full_off(:) = 0
     724              : 
     725           10 :  xa_function_species(:) = ''
     726            1 :  xa_function_weight(:) = 0
     727            1 :  xa_function_param(:) = 0
     728            1 :  xa_mesh_delta_coeff(:) = 0
     729              : 
     730          101 :  diffusion_class_representative(:) = ''
     731            1 :  diffusion_class_A_max(:) = 0
     732            1 :  diffusion_class_typical_charge(:) = 0
     733            1 :  diffusion_class_factor(:) = 0
     734              : 
     735          101 :  x_character_ctrl(:) = ''
     736              : 
     737            1 :  predictive_mix(:) = .FALSE.
     738           17 :  predictive_zone_type(:) = ''
     739           17 :  predictive_zone_loc(:) = ''
     740           17 :  predictive_bdy_loc(:) = ''
     741            1 :  predictive_bdy_q_min(:) = 0d0
     742           17 :  predictive_bdy_q_max(:) = 1d0
     743            1 :  predictive_superad_thresh(:) = 0d0
     744           17 :  predictive_avoid_reversal(:) = ''
     745           17 :  predictive_limit_ingestion(:) = ''
     746            1 :  predictive_ingestion_factor(:) = 0d0
     747              : 
     748              :  include 'controls.defaults'
     749              :  include 'controls_dev.defaults'
     750              : 
     751            1 :  end subroutine set_default_controls
     752              : 
     753              : 
     754            1 :  subroutine store_controls(s, ierr)
     755              :  use star_private_def
     756              :  use chem_def  ! categories
     757              :  use utils_lib, only: mkdir
     758              :  type (star_info), pointer :: s
     759              :  integer, intent(out) :: ierr
     760              : 
     761            1 :  ierr = 0
     762              : 
     763              :  ! where to start
     764            1 :  s% initial_mass = initial_mass
     765            1 :  s% initial_z = initial_z
     766            1 :  s% initial_y = initial_y
     767            1 :  s% initial_he3 = initial_he3
     768              : 
     769              :  ! definition of core boundaries
     770            1 :  s% he_core_boundary_h1_fraction = he_core_boundary_h1_fraction
     771            1 :  s% co_core_boundary_he4_fraction = co_core_boundary_he4_fraction
     772            1 :  s% one_core_boundary_he4_c12_fraction = one_core_boundary_he4_c12_fraction
     773            1 :  s% fe_core_boundary_si28_fraction = fe_core_boundary_si28_fraction
     774            1 :  s% neutron_rich_core_boundary_Ye_max = neutron_rich_core_boundary_Ye_max
     775            1 :  s% min_boundary_fraction = min_boundary_fraction
     776              : 
     777              :  ! when to stop
     778            1 :  s% max_model_number = max_model_number
     779            1 :  s% max_number_retries = max_number_retries
     780            1 :  s% max_abs_rel_run_E_err = max_abs_rel_run_E_err
     781            1 :  s% relax_max_number_retries = relax_max_number_retries
     782            1 :  s% max_age = max_age
     783            1 :  s% max_age_in_days = max_age_in_days
     784            1 :  s% max_age_in_seconds = max_age_in_seconds
     785            1 :  s% num_adjusted_dt_steps_before_max_age = num_adjusted_dt_steps_before_max_age
     786            1 :  s% dt_years_for_steps_before_max_age = dt_years_for_steps_before_max_age
     787            1 :  s% reduction_factor_for_max_timestep = reduction_factor_for_max_timestep
     788            1 :  s% when_to_stop_rtol = when_to_stop_rtol
     789            1 :  s% when_to_stop_atol = when_to_stop_atol
     790            1 :  s% gamma_center_limit = gamma_center_limit
     791            1 :  s% eta_center_limit = eta_center_limit
     792            1 :  s% log_center_temp_upper_limit = log_center_temp_upper_limit
     793            1 :  s% log_max_temp_upper_limit = log_max_temp_upper_limit
     794            1 :  s% log_max_temp_lower_limit = log_max_temp_lower_limit
     795            1 :  s% log_center_temp_lower_limit = log_center_temp_lower_limit
     796            1 :  s% log_center_density_upper_limit = log_center_density_upper_limit
     797            1 :  s% log_center_density_lower_limit = log_center_density_lower_limit
     798            1 :  s% min_timestep_limit = min_timestep_limit
     799              : 
     800            1 :  s% center_entropy_upper_limit = center_entropy_upper_limit
     801            1 :  s% center_entropy_lower_limit = center_entropy_lower_limit
     802            1 :  s% max_entropy_upper_limit = max_entropy_upper_limit
     803            1 :  s% max_entropy_lower_limit = max_entropy_lower_limit
     804              : 
     805            1 :  s% fe_core_infall_limit = fe_core_infall_limit
     806            1 :  s% fe_core_infall_mass = fe_core_infall_mass
     807            1 :  s% center_Ye_lower_limit = center_Ye_lower_limit
     808            1 :  s% center_R_lower_limit = center_R_lower_limit
     809            1 :  s% non_fe_core_infall_limit = non_fe_core_infall_limit
     810            1 :  s% non_fe_core_infall_mass = non_fe_core_infall_mass
     811            1 :  s% non_fe_core_rebound_limit = non_fe_core_rebound_limit
     812            1 :  s% v_div_csound_surf_limit = v_div_csound_surf_limit
     813            1 :  s% v_div_csound_max_limit = v_div_csound_max_limit
     814            1 :  s% Lnuc_div_L_upper_limit = Lnuc_div_L_upper_limit
     815            1 :  s% Lnuc_div_L_lower_limit = Lnuc_div_L_lower_limit
     816            1 :  s% v_surf_div_v_kh_upper_limit = v_surf_div_v_kh_upper_limit
     817            1 :  s% v_surf_div_v_kh_lower_limit = v_surf_div_v_kh_lower_limit
     818            1 :  s% v_surf_div_v_esc_limit = v_surf_div_v_esc_limit
     819            1 :  s% v_surf_kms_limit = v_surf_kms_limit
     820              : 
     821            1 :  s% stop_near_zams = stop_near_zams
     822            1 :  s% stop_at_phase_PreMS = stop_at_phase_PreMS
     823            1 :  s% stop_at_phase_ZAMS = stop_at_phase_ZAMS
     824            1 :  s% stop_at_phase_IAMS = stop_at_phase_IAMS
     825            1 :  s% stop_at_phase_TAMS = stop_at_phase_TAMS
     826            1 :  s% stop_at_phase_He_Burn = stop_at_phase_He_Burn
     827            1 :  s% stop_at_phase_ZACHeB = stop_at_phase_ZACHeB
     828            1 :  s% stop_at_phase_TACHeB = stop_at_phase_TACHeB
     829            1 :  s% stop_at_phase_TP_AGB = stop_at_phase_TP_AGB
     830            1 :  s% stop_at_phase_C_Burn = stop_at_phase_C_Burn
     831            1 :  s% stop_at_phase_Ne_Burn = stop_at_phase_Ne_Burn
     832            1 :  s% stop_at_phase_O_Burn = stop_at_phase_O_Burn
     833            1 :  s% stop_at_phase_Si_Burn = stop_at_phase_Si_Burn
     834            1 :  s% stop_at_phase_WDCS = stop_at_phase_WDCS
     835            1 :  s% Lnuc_div_L_zams_limit = Lnuc_div_L_zams_limit
     836            1 :  s% gamma1_limit = gamma1_limit
     837            1 :  s% gamma1_limit_max_q = gamma1_limit_max_q
     838            1 :  s% gamma1_limit_max_v_div_vesc = gamma1_limit_max_v_div_vesc
     839            1 :  s% Pgas_div_P_limit = Pgas_div_P_limit
     840            1 :  s% Pgas_div_P_limit_max_q = Pgas_div_P_limit_max_q
     841            1 :  s% peak_burn_vconv_div_cs_limit = peak_burn_vconv_div_cs_limit
     842            1 :  s% omega_div_omega_crit_limit = omega_div_omega_crit_limit
     843            1 :  s% delta_nu_lower_limit = delta_nu_lower_limit
     844            1 :  s% delta_nu_upper_limit = delta_nu_upper_limit
     845            1 :  s% delta_Pg_lower_limit = delta_Pg_lower_limit
     846            1 :  s% delta_Pg_upper_limit = delta_Pg_upper_limit
     847            1 :  s% shock_mass_upper_limit = shock_mass_upper_limit
     848            1 :  s% mach1_mass_upper_limit = mach1_mass_upper_limit
     849            1 :  s% stop_when_reach_this_cumulative_extra_heating = stop_when_reach_this_cumulative_extra_heating
     850              : 
     851           10 :  s% xa_central_lower_limit_species = xa_central_lower_limit_species
     852           10 :  s% xa_central_lower_limit = xa_central_lower_limit
     853              : 
     854           10 :  s% xa_central_upper_limit_species = xa_central_upper_limit_species
     855           10 :  s% xa_central_upper_limit = xa_central_upper_limit
     856              : 
     857           10 :  s% xa_surface_lower_limit_species = xa_surface_lower_limit_species
     858           10 :  s% xa_surface_lower_limit = xa_surface_lower_limit
     859              : 
     860           10 :  s% xa_surface_upper_limit_species = xa_surface_upper_limit_species
     861           10 :  s% xa_surface_upper_limit = xa_surface_upper_limit
     862              : 
     863           10 :  s% xa_average_lower_limit_species = xa_average_lower_limit_species
     864           10 :  s% xa_average_lower_limit = xa_average_lower_limit
     865              : 
     866           10 :  s% xa_average_upper_limit_species = xa_average_upper_limit_species
     867           10 :  s% xa_average_upper_limit = xa_average_upper_limit
     868              : 
     869            1 :  s% HB_limit = HB_limit
     870              : 
     871            1 :  s% star_mass_max_limit = star_mass_max_limit
     872            1 :  s% star_mass_min_limit = star_mass_min_limit
     873            1 :  s% ejecta_mass_max_limit = ejecta_mass_max_limit
     874            1 :  s% remnant_mass_min_limit = remnant_mass_min_limit
     875              : 
     876            1 :  s% star_species_mass_min_limit = star_species_mass_min_limit
     877            1 :  s% star_species_mass_min_limit_iso = star_species_mass_min_limit_iso
     878            1 :  s% star_species_mass_max_limit = star_species_mass_max_limit
     879            1 :  s% star_species_mass_max_limit_iso = star_species_mass_max_limit_iso
     880              : 
     881            1 :  s% xmstar_min_limit = xmstar_min_limit
     882            1 :  s% xmstar_max_limit = xmstar_max_limit
     883            1 :  s% envelope_mass_limit = envelope_mass_limit
     884            1 :  s% envelope_fraction_left_limit = envelope_fraction_left_limit
     885              : 
     886            1 :  s% he_core_mass_limit = he_core_mass_limit
     887            1 :  s% co_core_mass_limit = co_core_mass_limit
     888            1 :  s% one_core_mass_limit = one_core_mass_limit
     889            1 :  s% fe_core_mass_limit = fe_core_mass_limit
     890            1 :  s% neutron_rich_core_mass_limit = neutron_rich_core_mass_limit
     891              : 
     892            1 :  s% he_layer_mass_lower_limit = he_layer_mass_lower_limit
     893            1 :  s% abs_diff_lg_LH_lg_Ls_limit = abs_diff_lg_LH_lg_Ls_limit
     894            1 :  s% Teff_upper_limit = Teff_upper_limit
     895            1 :  s% Teff_lower_limit = Teff_lower_limit
     896            1 :  s% photosphere_m_upper_limit = photosphere_m_upper_limit
     897            1 :  s% photosphere_m_lower_limit = photosphere_m_lower_limit
     898            1 :  s% photosphere_m_sub_M_center_limit = photosphere_m_sub_M_center_limit
     899            1 :  s% photosphere_r_upper_limit = photosphere_r_upper_limit
     900            1 :  s% photosphere_r_lower_limit = photosphere_r_lower_limit
     901            1 :  s% log_Teff_upper_limit = log_Teff_upper_limit
     902            1 :  s% log_Teff_lower_limit = log_Teff_lower_limit
     903            1 :  s% log_Tsurf_upper_limit = log_Tsurf_upper_limit
     904            1 :  s% log_Tsurf_lower_limit = log_Tsurf_lower_limit
     905            1 :  s% log_Rsurf_upper_limit = log_Rsurf_upper_limit
     906            1 :  s% log_Rsurf_lower_limit = log_Rsurf_lower_limit
     907            1 :  s% log_Psurf_upper_limit = log_Psurf_upper_limit
     908            1 :  s% log_Psurf_lower_limit = log_Psurf_lower_limit
     909            1 :  s% log_Dsurf_upper_limit = log_Dsurf_upper_limit
     910            1 :  s% log_Dsurf_lower_limit = log_Dsurf_lower_limit
     911            1 :  s% log_L_upper_limit = log_L_upper_limit
     912            1 :  s% log_L_lower_limit = log_L_lower_limit
     913            1 :  s% log_g_upper_limit = log_g_upper_limit
     914            1 :  s% log_g_lower_limit = log_g_lower_limit
     915              : 
     916            1 :  s% power_nuc_burn_upper_limit = power_nuc_burn_upper_limit
     917            1 :  s% power_h_burn_upper_limit = power_h_burn_upper_limit
     918            1 :  s% power_he_burn_upper_limit = power_he_burn_upper_limit
     919            1 :  s% power_z_burn_upper_limit = power_z_burn_upper_limit
     920            1 :  s% power_nuc_burn_lower_limit = power_nuc_burn_lower_limit
     921            1 :  s% power_h_burn_lower_limit = power_h_burn_lower_limit
     922            1 :  s% power_he_burn_lower_limit = power_he_burn_lower_limit
     923            1 :  s% power_z_burn_lower_limit = power_z_burn_lower_limit
     924              : 
     925              :  ! output of "snapshots" for restarts
     926            1 :  s% photo_interval = photo_interval
     927            1 :  s% photo_digits = photo_digits
     928            1 :  s% photo_directory = photo_directory
     929              :  ! output of history and profiles.
     930            1 :  s% do_history_file = do_history_file
     931            1 :  s% history_interval = history_interval
     932              : 
     933            1 :  s% write_header_frequency = write_header_frequency
     934            1 :  s% terminal_interval = terminal_interval
     935            1 :  s% terminal_show_age_units = terminal_show_age_units
     936            1 :  s% terminal_show_timestep_units = terminal_show_timestep_units
     937            1 :  s% terminal_show_log_dt = terminal_show_log_dt
     938            1 :  s% terminal_show_log_age = terminal_show_log_age
     939            1 :  s% extra_terminal_output_file = extra_terminal_output_file
     940            1 :  s% num_trace_history_values = num_trace_history_values
     941           51 :  s% trace_history_value_name = trace_history_value_name
     942              : 
     943            1 :  s% log_directory = log_directory
     944            1 :  s% star_history_name = star_history_name
     945            1 :  s% star_history_header_name = star_history_header_name
     946            1 :  s% star_history_dbl_format = star_history_dbl_format
     947            1 :  s% star_history_int_format = star_history_int_format
     948            1 :  s% star_history_txt_format = star_history_txt_format
     949              : 
     950            1 :  s% profiles_index_name = profiles_index_name
     951            1 :  s% profile_data_prefix = profile_data_prefix
     952            1 :  s% profile_data_suffix = profile_data_suffix
     953            1 :  s% profile_data_header_suffix = profile_data_header_suffix
     954            1 :  s% profile_int_format = profile_int_format
     955            1 :  s% profile_txt_format = profile_txt_format
     956            1 :  s% profile_dbl_format = profile_dbl_format
     957            1 :  s% profile_header_include_sys_details = profile_header_include_sys_details
     958            1 :  s% write_profiles_flag = write_profiles_flag
     959            1 :  s% profile_interval = profile_interval
     960            1 :  s% priority_profile_interval = priority_profile_interval
     961            1 :  s% profile_model = profile_model
     962            1 :  s% max_num_profile_models = max_num_profile_models
     963            1 :  s% max_num_profile_zones = max_num_profile_zones
     964              : 
     965            1 :  s% write_controls_info_with_profile = write_controls_info_with_profile
     966            1 :  s% controls_data_prefix = controls_data_prefix
     967            1 :  s% controls_data_suffix = controls_data_suffix
     968              : 
     969            1 :  s% write_pulse_data_with_profile = write_pulse_data_with_profile
     970            1 :  s% pulse_data_format = pulse_data_format
     971            1 :  s% add_atmosphere_to_pulse_data = add_atmosphere_to_pulse_data
     972            1 :  s% add_center_point_to_pulse_data = add_center_point_to_pulse_data
     973            1 :  s% keep_surface_point_for_pulse_data = keep_surface_point_for_pulse_data
     974            1 :  s% add_double_points_to_pulse_data = add_double_points_to_pulse_data
     975            1 :  s% interpolate_rho_for_pulse_data = interpolate_rho_for_pulse_data
     976            1 :  s% threshold_grad_mu_for_double_point = threshold_grad_mu_for_double_point
     977            1 :  s% max_number_of_double_points = max_number_of_double_points
     978              : 
     979            1 :  s% gyre_data_schema = gyre_data_schema
     980              : 
     981            5 :  s% fgong_header = fgong_header
     982            1 :  s% fgong_ivers = fgong_ivers
     983              : 
     984            1 :  s% max_num_gyre_points = max_num_gyre_points
     985            1 :  s% format_for_OSC_data = format_for_OSC_data
     986            1 :  s% fgong_zero_A_inside_r = fgong_zero_A_inside_r
     987            1 :  s% use_other_export_pulse_data = use_other_export_pulse_data
     988            1 :  s% use_other_get_pulse_data = use_other_get_pulse_data
     989            1 :  s% use_other_edit_pulse_data = use_other_edit_pulse_data
     990              : 
     991            1 :  s% write_model_with_profile = write_model_with_profile
     992            1 :  s% model_data_prefix = model_data_prefix
     993            1 :  s% model_data_suffix = model_data_suffix
     994              : 
     995            1 :  s% mixing_D_limit_for_log = mixing_D_limit_for_log
     996            1 :  s% trace_mass_location = trace_mass_location
     997            1 :  s% min_tau_for_max_abs_v_location = min_tau_for_max_abs_v_location
     998            1 :  s% min_q_for_inner_mach1_location = min_q_for_inner_mach1_location
     999            1 :  s% max_q_for_outer_mach1_location = max_q_for_outer_mach1_location
    1000              : 
    1001            1 :  s% conv_core_gap_dq_limit = conv_core_gap_dq_limit
    1002              : 
    1003              :  ! burn zone eps definitions for use in logs and profiles
    1004            1 :  s% burn_min1 = burn_min1
    1005            1 :  s% burn_min2 = burn_min2
    1006              : 
    1007            1 :  s% max_conv_vel_div_csound_maxq = max_conv_vel_div_csound_maxq
    1008            1 :  s% width_for_limit_conv_vel = width_for_limit_conv_vel
    1009            1 :  s% max_q_for_limit_conv_vel = max_q_for_limit_conv_vel
    1010            1 :  s% max_mass_in_gm_for_limit_conv_vel = max_mass_in_gm_for_limit_conv_vel
    1011            1 :  s% max_r_in_cm_for_limit_conv_vel = max_r_in_cm_for_limit_conv_vel
    1012              : 
    1013              :  ! for reported average values
    1014            1 :  s% surface_avg_abundance_dq = surface_avg_abundance_dq
    1015            1 :  s% center_avg_value_dq = center_avg_value_dq
    1016              : 
    1017              :  ! mixing parameters
    1018            1 :  s% min_convective_gap = min_convective_gap
    1019            1 :  s% min_thermohaline_gap = min_thermohaline_gap
    1020            1 :  s% min_semiconvection_gap = min_semiconvection_gap
    1021            1 :  s% min_thermohaline_dropout = min_thermohaline_dropout
    1022            1 :  s% max_dropout_gradL_sub_grada = max_dropout_gradL_sub_grada
    1023            1 :  s% remove_embedded_semiconvection = remove_embedded_semiconvection
    1024            1 :  s% recalc_mix_info_after_evolve = recalc_mix_info_after_evolve
    1025            1 :  s% remove_mixing_glitches = remove_mixing_glitches
    1026            1 :  s% okay_to_remove_mixing_singleton = okay_to_remove_mixing_singleton
    1027            1 :  s% prune_bad_cz_min_Hp_height = prune_bad_cz_min_Hp_height
    1028            1 :  s% prune_bad_cz_min_log_eps_nuc = prune_bad_cz_min_log_eps_nuc
    1029            1 :  s% redo_conv_for_dr_lt_mixing_length = redo_conv_for_dr_lt_mixing_length
    1030              : 
    1031            1 :  s% alpha_semiconvection = alpha_semiconvection
    1032            1 :  s% semiconvection_option = semiconvection_option
    1033            1 :  s% use_Ledoux_criterion = use_Ledoux_criterion
    1034            1 :  s% num_cells_for_smooth_gradL_composition_term = num_cells_for_smooth_gradL_composition_term
    1035            1 :  s% threshold_for_smooth_gradL_composition_term = threshold_for_smooth_gradL_composition_term
    1036            1 :  s% clip_D_limit = clip_D_limit
    1037              : 
    1038            1 : s% okay_to_reduce_gradT_excess = okay_to_reduce_gradT_excess
    1039            1 : s% gradT_excess_f1 = gradT_excess_f1
    1040            1 : s% gradT_excess_f2 = gradT_excess_f2
    1041            1 : s% gradT_excess_age_fraction = gradT_excess_age_fraction
    1042            1 : s% gradT_excess_max_change = gradT_excess_max_change
    1043            1 : s% gradT_excess_lambda1 = gradT_excess_lambda1
    1044            1 : s% gradT_excess_beta1 = gradT_excess_beta1
    1045            1 : s% gradT_excess_lambda2 = gradT_excess_lambda2
    1046            1 : s% gradT_excess_beta2 = gradT_excess_beta2
    1047            1 : s% gradT_excess_dlambda = gradT_excess_dlambda
    1048            1 : s% gradT_excess_dbeta = gradT_excess_dbeta
    1049            1 : s% gradT_excess_max_center_h1 = gradT_excess_max_center_h1
    1050            1 : s% gradT_excess_min_center_he4 = gradT_excess_min_center_he4
    1051            1 : s% gradT_excess_max_logT = gradT_excess_max_logT
    1052            1 : s% gradT_excess_min_log_tau_full_on = gradT_excess_min_log_tau_full_on
    1053            1 : s% gradT_excess_max_log_tau_full_off = gradT_excess_max_log_tau_full_off
    1054              : 
    1055            1 :  s% D_mix_zero_region_bottom_q = D_mix_zero_region_bottom_q
    1056            1 :  s% D_mix_zero_region_top_q = D_mix_zero_region_top_q
    1057            1 :  s% dq_D_mix_zero_at_H_He_crossover = dq_D_mix_zero_at_H_He_crossover
    1058            1 :  s% dq_D_mix_zero_at_H_C_crossover = dq_D_mix_zero_at_H_C_crossover
    1059              : 
    1060            1 :  s% use_superad_reduction = use_superad_reduction
    1061            1 :  s% superad_reduction_gamma_limit = superad_reduction_gamma_limit
    1062            1 :  s% superad_reduction_gamma_limit_scale = superad_reduction_gamma_limit_scale
    1063            1 :  s% superad_reduction_gamma_inv_scale = superad_reduction_gamma_inv_scale
    1064            1 :  s% superad_reduction_diff_grads_limit = superad_reduction_diff_grads_limit
    1065            1 :  s% superad_reduction_limit = superad_reduction_limit
    1066              : 
    1067            1 :  s% max_logT_for_mlt = max_logT_for_mlt
    1068            1 :  s% mlt_make_surface_no_mixing = mlt_make_surface_no_mixing
    1069            1 :  s% do_normalize_dqs_as_part_of_set_qs = do_normalize_dqs_as_part_of_set_qs
    1070              : 
    1071            1 :  s% thermohaline_coeff = thermohaline_coeff
    1072            1 :  s% thermohaline_option = thermohaline_option
    1073            1 :  s% mixing_length_alpha = mixing_length_alpha
    1074            1 :  s% remove_small_D_limit = remove_small_D_limit
    1075            1 :  s% alt_scale_height_flag = alt_scale_height_flag
    1076            1 :  s% Henyey_MLT_y_param = Henyey_MLT_y_param
    1077            1 :  s% Henyey_MLT_nu_param = Henyey_MLT_nu_param
    1078            1 :  s% make_gradr_sticky_in_solver_iters = make_gradr_sticky_in_solver_iters
    1079            1 :  s% min_logT_for_make_gradr_sticky_in_solver_iters = min_logT_for_make_gradr_sticky_in_solver_iters
    1080            1 :  s% no_MLT_below_shock = no_MLT_below_shock
    1081            1 :  s% MLT_option = MLT_option
    1082            1 :  s% steps_before_use_TDC = steps_before_use_TDC
    1083            1 :  s% mlt_use_rotation_correction = mlt_use_rotation_correction
    1084            1 :  s% mlt_Pturb_factor = mlt_Pturb_factor
    1085              : 
    1086            1 :  s% burn_z_mix_region_logT = burn_z_mix_region_logT
    1087            1 :  s% burn_he_mix_region_logT = burn_he_mix_region_logT
    1088            1 :  s% burn_h_mix_region_logT = burn_h_mix_region_logT
    1089            1 :  s% max_Y_for_burn_z_mix_region = max_Y_for_burn_z_mix_region
    1090            1 :  s% max_X_for_burn_he_mix_region = max_X_for_burn_he_mix_region
    1091              : 
    1092            1 :  s% limit_overshoot_Hp_using_size_of_convection_zone = limit_overshoot_Hp_using_size_of_convection_zone
    1093              : 
    1094           17 :  s% predictive_mix = predictive_mix
    1095           17 :  s% predictive_superad_thresh = predictive_superad_thresh
    1096           17 :  s% predictive_avoid_reversal = predictive_avoid_reversal
    1097           17 :  s% predictive_limit_ingestion = predictive_limit_ingestion
    1098           17 :  s% predictive_ingestion_factor = predictive_ingestion_factor
    1099           17 :  s% predictive_zone_type = predictive_zone_type
    1100           17 :  s% predictive_zone_loc = predictive_zone_loc
    1101           17 :  s% predictive_bdy_loc = predictive_bdy_loc
    1102           17 :  s% predictive_bdy_q_min = predictive_bdy_q_min
    1103           17 :  s% predictive_bdy_q_max = predictive_bdy_q_max
    1104              : 
    1105            1 :  s% do_conv_premix = do_conv_premix
    1106            1 :  s% conv_premix_avoid_increase = conv_premix_avoid_increase
    1107            1 :  s% conv_premix_time_factor = conv_premix_time_factor
    1108            1 :  s% conv_premix_fix_pgas = conv_premix_fix_pgas
    1109            1 :  s% conv_premix_dump_snapshots = conv_premix_dump_snapshots
    1110            1 :  s% do_premix_heating = do_premix_heating
    1111              : 
    1112           17 :  s% overshoot_f = overshoot_f
    1113           17 :  s% overshoot_f0 = overshoot_f0
    1114           17 :  s% overshoot_D0 = overshoot_D0
    1115           17 :  s% overshoot_Delta0 = overshoot_Delta0
    1116           17 :  s% overshoot_mass_full_on = overshoot_mass_full_on
    1117           17 :  s% overshoot_mass_full_off = overshoot_mass_full_off
    1118           17 :  s% overshoot_scheme = overshoot_scheme
    1119           17 :  s% overshoot_zone_type = overshoot_zone_type
    1120           17 :  s% overshoot_zone_loc = overshoot_zone_loc
    1121           17 :  s% overshoot_bdy_loc = overshoot_bdy_loc
    1122            1 :  s% overshoot_D_min = overshoot_D_min
    1123            1 :  s% overshoot_brunt_B_max = overshoot_brunt_B_max
    1124              : 
    1125            1 :  s% max_conv_vel_div_csound = max_conv_vel_div_csound
    1126            1 :  s% max_v_for_convection = max_v_for_convection
    1127            1 :  s% max_q_for_convection_with_hydro_on = max_q_for_convection_with_hydro_on
    1128            1 :  s% max_v_div_cs_for_convection = max_v_div_cs_for_convection
    1129            1 :  s% max_abs_du_div_cs_for_convection = max_abs_du_div_cs_for_convection
    1130              : 
    1131            1 :  s% calculate_Brunt_B = calculate_Brunt_B
    1132            1 :  s% calculate_Brunt_N2 = calculate_Brunt_N2
    1133            1 :  s% brunt_N2_coefficient = brunt_N2_coefficient
    1134            1 :  s% num_cells_for_smooth_brunt_B = num_cells_for_smooth_brunt_B
    1135            1 :  s% threshold_for_smooth_brunt_B = threshold_for_smooth_brunt_B
    1136            1 :  s% min_magnitude_brunt_B = min_magnitude_brunt_B
    1137              : 
    1138            1 :  s% min_overshoot_q = min_overshoot_q
    1139            1 :  s% overshoot_alpha = overshoot_alpha
    1140              : 
    1141            1 :    s% RSP_max_num_periods = RSP_max_num_periods
    1142            1 :    s% RSP_target_steps_per_cycle = RSP_target_steps_per_cycle
    1143            1 :    s% RSP_min_max_R_for_periods = RSP_min_max_R_for_periods
    1144            1 :    s% RSP_min_deltaR_for_periods = RSP_min_deltaR_for_periods
    1145            1 :    s% RSP_default_PERIODLIN = RSP_default_PERIODLIN
    1146            1 :    s% RSP_min_PERIOD_div_PERIODLIN = RSP_min_PERIOD_div_PERIODLIN
    1147            1 :    s% RSP_GREKM_avg_abs_frac_new = RSP_GREKM_avg_abs_frac_new
    1148            1 :    s% RSP_GREKM_avg_abs_limit = RSP_GREKM_avg_abs_limit
    1149            1 :    s% RSP_theta = RSP_theta
    1150            1 :    s% RSP_thetat = RSP_thetat
    1151            1 :    s% RSP_thetau = RSP_thetau
    1152            1 :    s% RSP_thetae = RSP_thetae
    1153            1 :    s% RSP_thetaq = RSP_thetaq
    1154            1 :    s% RSP_wtr = RSP_wtr
    1155            1 :    s% RSP_wtc = RSP_wtc
    1156            1 :    s% RSP_wtt = RSP_wtt
    1157            1 :    s% RSP_gam = RSP_gam
    1158            1 :    s% RSP_alfa = RSP_alfa
    1159            1 :    s% RSP_alfap = RSP_alfap
    1160            1 :    s% RSP_alfam = RSP_alfam
    1161            1 :    s% RSP_alfat = RSP_alfat
    1162            1 :    s% RSP_alfas = RSP_alfas
    1163            1 :    s% RSP_alfac = RSP_alfac
    1164            1 :    s% RSP_alfad = RSP_alfad
    1165            1 :    s% RSP_gammar = RSP_gammar
    1166            1 :    s% RSP_efl0 = RSP_efl0
    1167            1 :    s% RSP_min_tau_for_turbulent_flux = RSP_min_tau_for_turbulent_flux
    1168            1 :    s% RSP_cq = RSP_cq
    1169            1 :    s% RSP_zsh = RSP_zsh
    1170            1 :    s% RSP_Qvisc_quadratic = RSP_Qvisc_quadratic
    1171            1 :    s% RSP_Qvisc_linear = RSP_Qvisc_linear
    1172            1 :    s% RSP_Qvisc_linear_static = RSP_Qvisc_linear_static
    1173            1 :    s% RSP_tol_max_corr = RSP_tol_max_corr
    1174            1 :    s% RSP_tol_max_resid = RSP_tol_max_resid
    1175            1 :    s% RSP_max_iters_per_try = RSP_max_iters_per_try
    1176            1 :    s% RSP_max_retries_per_step = RSP_max_retries_per_step
    1177            1 :    s% RSP_nz_div_IBOTOM = RSP_nz_div_IBOTOM
    1178            1 :    s% RSP_kick_vsurf_km_per_sec = RSP_kick_vsurf_km_per_sec
    1179            1 :    s% RSP_fraction_1st_overtone = RSP_fraction_1st_overtone
    1180            1 :    s% RSP_fraction_2nd_overtone = RSP_fraction_2nd_overtone
    1181            1 :    s% RSP_Avel = RSP_Avel
    1182            1 :    s% RSP_Arnd = RSP_Arnd
    1183            1 :    s% RSP_mode_for_setting_PERIODLIN = RSP_mode_for_setting_PERIODLIN
    1184            1 :    s% RSP_initial_dt_factor = RSP_initial_dt_factor
    1185            1 :    s% RSP_v_div_cs_threshold_for_dt_limit = RSP_v_div_cs_threshold_for_dt_limit
    1186            1 :    s% RSP_max_dt_times_min_dr_div_cs = RSP_max_dt_times_min_dr_div_cs
    1187            1 :    s% RSP_max_dt_times_min_rad_diff_time = RSP_max_dt_times_min_rad_diff_time
    1188            1 :    s% RSP_max_dt = RSP_max_dt
    1189            1 :    s% RSP_testing = RSP_testing
    1190            1 :    s% RSP_report_limit_dt = RSP_report_limit_dt
    1191            1 :    s% RSP_use_Prad_for_Psurf = RSP_use_Prad_for_Psurf
    1192            1 :    s% RSP_report_undercorrections = RSP_report_undercorrections
    1193            1 :    s% RSP_use_atm_grey_with_kap_for_Psurf = RSP_use_atm_grey_with_kap_for_Psurf
    1194            1 :    s% use_other_RSP_linear_analysis = use_other_RSP_linear_analysis
    1195            1 :    s% use_other_RSP_build_model = use_other_RSP_build_model
    1196            1 :    s% RSP_kap_density_factor = RSP_kap_density_factor
    1197            1 :    s% RSP_fixed_Psurf = RSP_fixed_Psurf
    1198            1 :    s% RSP_hydro_only = RSP_hydro_only
    1199            1 :    s% RSP_tau_surf_for_atm_grey_with_kap = RSP_tau_surf_for_atm_grey_with_kap
    1200            1 :    s% RSP_Psurf = RSP_Psurf
    1201            1 :    s% set_RSP_Psurf_to_multiple_of_initial_P1 = set_RSP_Psurf_to_multiple_of_initial_P1
    1202            1 :    s% RSP_surface_tau = RSP_surface_tau
    1203            1 :    s% RSP_write_map = RSP_write_map
    1204            1 :    s% RSP_trace_RSP_build_model = RSP_trace_RSP_build_model
    1205            1 :    s% RSP_map_filename = RSP_map_filename
    1206            1 :    s% RSP_map_columns_filename = RSP_map_columns_filename
    1207            1 :    s% RSP_map_history_filename = RSP_map_history_filename
    1208            1 :    s% RSP_map_first_period = RSP_map_first_period
    1209            1 :    s% RSP_map_last_period = RSP_map_last_period
    1210            1 :    s% RSP_map_zone_interval = RSP_map_zone_interval
    1211            1 :    s% RSP_nmodes = RSP_nmodes
    1212            1 :    s% RSP_work_period = RSP_work_period
    1213            1 :    s% RSP_work_filename = RSP_work_filename
    1214            1 :    s% RSP_nz_outer = RSP_nz_outer
    1215            1 :    s% RSP_max_outer_dm_tries = RSP_max_outer_dm_tries
    1216            1 :    s% RSP_max_inner_scale_tries = RSP_max_inner_scale_tries
    1217            1 :    s% RSP_relax_max_tries = RSP_relax_max_tries
    1218            1 :    s% RSP_T_anchor_tolerance = RSP_T_anchor_tolerance
    1219            1 :    s% RSP_T_inner_tolerance = RSP_T_inner_tolerance
    1220            1 :    s% RSP_relax_dm_tolerance = RSP_relax_dm_tolerance
    1221            1 :    s% RSP_dq_1_factor = RSP_dq_1_factor
    1222            1 :    s% use_RSP_new_start_scheme = use_RSP_new_start_scheme
    1223            1 :    s% RSP_do_check_omega = RSP_do_check_omega
    1224            1 :    s% RSP_report_check_omega_changes = RSP_report_check_omega_changes
    1225            1 :    s% RSP_nz = RSP_nz
    1226            1 :    s% RSP_T_anchor = RSP_T_anchor
    1227            1 :    s% RSP_T_inner = RSP_T_inner
    1228            1 :    s% RSP_relax_initial_model = RSP_relax_initial_model
    1229            1 :    s% RSP_relax_alfap_before_alfat = RSP_relax_alfap_before_alfat
    1230            1 :    s% RSP_relax_adjust_inner_mass_distribution = RSP_relax_adjust_inner_mass_distribution
    1231            1 :    s% RSP_Teff = RSP_Teff
    1232            1 :    s% RSP_mass = RSP_mass
    1233            1 :    s% RSP_L = RSP_L
    1234            1 :    s% RSP_X = RSP_X
    1235            1 :    s% RSP_Z = RSP_Z
    1236              : 
    1237            1 :  s% RTI_smooth_mass = RTI_smooth_mass
    1238            1 :  s% RTI_smooth_iterations = RTI_smooth_iterations
    1239            1 :  s% RTI_smooth_fraction = RTI_smooth_fraction
    1240              : 
    1241            1 :  s% alpha_RTI_diffusion_factor = alpha_RTI_diffusion_factor
    1242            1 :  s% dudt_RTI_diffusion_factor = dudt_RTI_diffusion_factor
    1243            1 :  s% dedt_RTI_diffusion_factor = dedt_RTI_diffusion_factor
    1244            1 :  s% dlnddt_RTI_diffusion_factor = dlnddt_RTI_diffusion_factor
    1245            1 :  s% composition_RTI_diffusion_factor = composition_RTI_diffusion_factor
    1246            1 :  s% max_M_RTI_factors_full_on = max_M_RTI_factors_full_on
    1247            1 :  s% min_M_RTI_factors_full_off = min_M_RTI_factors_full_off
    1248              : 
    1249            1 :  s% alpha_RTI_src_min_v_div_cs = alpha_RTI_src_min_v_div_cs
    1250            1 :  s% alpha_RTI_src_max_q = alpha_RTI_src_max_q
    1251            1 :  s% alpha_RTI_src_min_q = alpha_RTI_src_min_q
    1252              : 
    1253            1 :  s% T_mix_limit = T_mix_limit
    1254            1 :  s% mlt_gradT_fraction = mlt_gradT_fraction
    1255              : 
    1256              :  ! atmosphere -- surface boundary conditions
    1257            1 :  s% atm_option = atm_option
    1258            1 :  s% atm_off_table_option = atm_off_table_option
    1259            1 :  s% Pextra_factor = Pextra_factor
    1260            1 :  s% atm_fixed_Teff = atm_fixed_Teff
    1261            1 :  s% atm_fixed_Psurf = atm_fixed_Psurf
    1262            1 :  s% atm_fixed_Tsurf = atm_fixed_Tsurf
    1263              : 
    1264            1 :  s% atm_T_tau_relation = atm_T_tau_relation
    1265            1 :  s% atm_T_tau_opacity = atm_T_tau_opacity
    1266            1 :  s% atm_T_tau_errtol = atm_T_tau_errtol
    1267            1 :  s% atm_T_tau_max_iters = atm_T_tau_max_iters
    1268            1 :  s% atm_T_tau_max_steps = atm_T_tau_max_steps
    1269              : 
    1270            1 :  s% atm_table = atm_table
    1271              : 
    1272            1 :  s% atm_irradiated_opacity = atm_irradiated_opacity
    1273            1 :  s% atm_irradiated_errtol = atm_irradiated_errtol
    1274            1 :  s% atm_irradiated_T_eq = atm_irradiated_T_eq
    1275            1 :  s% atm_irradiated_kap_v = atm_irradiated_kap_v
    1276            1 :  s% atm_irradiated_kap_v_div_kap_th = atm_irradiated_kap_v_div_kap_th
    1277            1 :  s% atm_irradiated_P_surf = atm_irradiated_P_surf
    1278            1 :  s% atm_irradiated_max_iters = atm_irradiated_max_iters
    1279              : 
    1280            1 :  s% use_compression_outer_BC = use_compression_outer_BC
    1281            1 :  s% use_momentum_outer_BC = use_momentum_outer_BC
    1282            1 :  s% Tsurf_factor = Tsurf_factor
    1283            1 :  s% use_zero_Pgas_outer_BC = use_zero_Pgas_outer_BC
    1284            1 :  s% fixed_vsurf = fixed_vsurf
    1285            1 :  s% use_fixed_vsurf_outer_BC = use_fixed_vsurf_outer_BC
    1286            1 :  s% fixed_Psurf = fixed_Psurf
    1287            1 :  s% use_fixed_Psurf_outer_BC = use_fixed_Psurf_outer_BC
    1288              : 
    1289            1 :  s% atm_build_tau_outer = atm_build_tau_outer
    1290            1 :  s% atm_build_dlogtau = atm_build_dlogtau
    1291            1 :  s% atm_build_errtol = atm_build_errtol
    1292              : 
    1293            1 :  s% use_T_tau_gradr_factor = use_T_tau_gradr_factor
    1294              : 
    1295              :  ! starspots
    1296            1 :  s% do_starspots = do_starspots
    1297            1 :  s% fspot = fspot
    1298            1 :  s% xspot = xspot
    1299              : 
    1300              :  ! extra heat near surface to model irradiation
    1301            1 :  s% irradiation_flux = irradiation_flux
    1302            1 :  s% column_depth_for_irradiation = column_depth_for_irradiation
    1303              : 
    1304              :  ! extra heat
    1305            1 :  s% inject_uniform_extra_heat = inject_uniform_extra_heat
    1306            1 :  s% min_q_for_uniform_extra_heat = min_q_for_uniform_extra_heat
    1307            1 :  s% max_q_for_uniform_extra_heat = max_q_for_uniform_extra_heat
    1308            1 :  s% inject_extra_ergs_sec = inject_extra_ergs_sec
    1309            1 :  s% base_of_inject_extra_ergs_sec = base_of_inject_extra_ergs_sec
    1310            1 :  s% total_mass_for_inject_extra_ergs_sec = total_mass_for_inject_extra_ergs_sec
    1311            1 :  s% start_time_for_inject_extra_ergs_sec = start_time_for_inject_extra_ergs_sec
    1312            1 :  s% duration_for_inject_extra_ergs_sec = duration_for_inject_extra_ergs_sec
    1313            1 :  s% inject_until_reach_model_with_total_energy = inject_until_reach_model_with_total_energy
    1314              : 
    1315              :  ! mass gain or loss
    1316            1 :  s% mass_change = mass_change
    1317            1 :  s% mass_change_full_off_dt = mass_change_full_off_dt
    1318            1 :  s% mass_change_full_on_dt = mass_change_full_on_dt
    1319            1 :  s% trace_dt_control_mass_change = trace_dt_control_mass_change
    1320            1 :  s% no_wind_if_no_rotation = no_wind_if_no_rotation
    1321              : 
    1322            1 :  s% min_wind = min_wind
    1323            1 :  s% max_wind = max_wind
    1324            1 :  s% use_accreted_material_j = use_accreted_material_j
    1325            1 :  s% accreted_material_j = accreted_material_j
    1326            1 :  s% D_omega_mixing_rate = D_omega_mixing_rate
    1327            1 :  s% D_omega_mixing_across_convection_boundary = D_omega_mixing_across_convection_boundary
    1328            1 :  s% max_q_for_D_omega_zero_in_convection_region = max_q_for_D_omega_zero_in_convection_region
    1329            1 :  s% nu_omega_mixing_rate = nu_omega_mixing_rate
    1330            1 :  s% nu_omega_mixing_across_convection_boundary = nu_omega_mixing_across_convection_boundary
    1331            1 :  s% max_q_for_nu_omega_zero_in_convection_region = max_q_for_nu_omega_zero_in_convection_region
    1332              : 
    1333            1 :  s% mdot_omega_power = mdot_omega_power
    1334            1 :  s% max_rotational_mdot_boost = max_rotational_mdot_boost
    1335            1 :  s% max_mdot_jump_for_rotation = max_mdot_jump_for_rotation
    1336            1 :  s% lim_trace_rotational_mdot_boost = lim_trace_rotational_mdot_boost
    1337            1 :  s% rotational_mdot_boost_fac = rotational_mdot_boost_fac
    1338            1 :  s% rotational_mdot_kh_fac = rotational_mdot_kh_fac
    1339            1 :  s% surf_avg_tau = surf_avg_tau
    1340            1 :  s% surf_avg_tau_min = surf_avg_tau_min
    1341              : 
    1342            1 :  s% super_eddington_scaling_factor = super_eddington_scaling_factor
    1343            1 :  s% super_eddington_wind_Ledd_factor = super_eddington_wind_Ledd_factor
    1344            1 :  s% wind_boost_full_off_L_div_Ledd = wind_boost_full_off_L_div_Ledd
    1345            1 :  s% wind_boost_full_on_L_div_Ledd = wind_boost_full_on_L_div_Ledd
    1346            1 :  s% super_eddington_wind_max_boost = super_eddington_wind_max_boost
    1347            1 :  s% trace_super_eddington_wind_boost = trace_super_eddington_wind_boost
    1348              : 
    1349            1 :  s% max_tries_for_implicit_wind = max_tries_for_implicit_wind
    1350            1 :  s% iwind_tolerance = iwind_tolerance
    1351            1 :  s% iwind_lambda = iwind_lambda
    1352              : 
    1353            1 :  s% cool_wind_full_on_T = cool_wind_full_on_T
    1354            1 :  s% hot_wind_full_on_T = hot_wind_full_on_T
    1355              : 
    1356            1 :  s% rlo_scaling_factor = rlo_scaling_factor
    1357            1 :  s% rlo_wind_min_L = rlo_wind_min_L
    1358            1 :  s% rlo_wind_max_Teff = rlo_wind_max_Teff
    1359            1 :  s% rlo_wind_roche_lobe_radius = rlo_wind_roche_lobe_radius
    1360            1 :  s% roche_lobe_xfer_full_on = roche_lobe_xfer_full_on
    1361            1 :  s% roche_lobe_xfer_full_off = roche_lobe_xfer_full_off
    1362            1 :  s% rlo_wind_base_mdot = rlo_wind_base_mdot
    1363            1 :  s% rlo_wind_scale_height = rlo_wind_scale_height
    1364              : 
    1365            1 :  s% hot_wind_scheme = hot_wind_scheme
    1366            1 :  s% cool_wind_RGB_scheme = cool_wind_RGB_scheme
    1367            1 :  s% cool_wind_AGB_scheme = cool_wind_AGB_scheme
    1368            1 :  s% RGB_to_AGB_wind_switch = RGB_to_AGB_wind_switch
    1369            1 :  s% Reimers_scaling_factor = Reimers_scaling_factor
    1370            1 :  s% Blocker_scaling_factor = Blocker_scaling_factor
    1371            1 :  s% de_Jager_scaling_factor = de_Jager_scaling_factor
    1372            1 :  s% van_Loon_scaling_factor = van_Loon_scaling_factor
    1373            1 :  s% Nieuwenhuijzen_scaling_factor = Nieuwenhuijzen_scaling_factor
    1374            1 :  s% Vink_scaling_factor = Vink_scaling_factor
    1375            1 :  s% Dutch_scaling_factor = Dutch_scaling_factor
    1376            1 :  s% Bjorklund_scaling_factor = Bjorklund_scaling_factor
    1377            1 :  s% Dutch_wind_lowT_scheme = Dutch_wind_lowT_scheme
    1378              : 
    1379            1 :  s% wind_H_envelope_limit = wind_H_envelope_limit
    1380            1 :  s% wind_H_He_envelope_limit = wind_H_He_envelope_limit
    1381            1 :  s% wind_He_layer_limit = wind_He_layer_limit
    1382              : 
    1383            1 :  s% max_logT_for_k_below_const_q = max_logT_for_k_below_const_q
    1384            1 :  s% max_q_for_k_below_const_q = max_q_for_k_below_const_q
    1385            1 :  s% min_q_for_k_below_const_q = min_q_for_k_below_const_q
    1386            1 :  s% max_logT_for_k_const_mass = max_logT_for_k_const_mass
    1387            1 :  s% min_q_for_k_const_mass = min_q_for_k_const_mass
    1388            1 :  s% max_q_for_k_const_mass = max_q_for_k_const_mass
    1389              : 
    1390              :  ! composition of added mass
    1391            1 :  s% accrete_same_as_surface = accrete_same_as_surface
    1392              : 
    1393            1 :  s% accrete_given_mass_fractions = accrete_given_mass_fractions
    1394            1 :  s% num_accretion_species = num_accretion_species
    1395          251 :  s% accretion_species_id = accretion_species_id
    1396          251 :  s% accretion_species_xa = accretion_species_xa
    1397              : 
    1398            1 :  s% accretion_h1 = accretion_h1
    1399            1 :  s% accretion_h2 = accretion_h2
    1400            1 :  s% accretion_he3 = accretion_he3
    1401            1 :  s% accretion_he4 = accretion_he4
    1402            1 :  s% accretion_zfracs = accretion_zfracs
    1403            1 :  s% accretion_dump_missing_metals_into_heaviest = accretion_dump_missing_metals_into_heaviest
    1404              : 
    1405              :  ! special list of z fractions
    1406            1 :  s% z_fraction_li = z_fraction_li
    1407            1 :  s% z_fraction_be = z_fraction_be
    1408            1 :  s% z_fraction_b = z_fraction_b
    1409            1 :  s% z_fraction_c = z_fraction_c
    1410            1 :  s% z_fraction_n = z_fraction_n
    1411            1 :  s% z_fraction_o = z_fraction_o
    1412            1 :  s% z_fraction_f = z_fraction_f
    1413            1 :  s% z_fraction_ne = z_fraction_ne
    1414            1 :  s% z_fraction_na = z_fraction_na
    1415            1 :  s% z_fraction_mg = z_fraction_mg
    1416            1 :  s% z_fraction_al = z_fraction_al
    1417            1 :  s% z_fraction_si = z_fraction_si
    1418            1 :  s% z_fraction_p = z_fraction_p
    1419            1 :  s% z_fraction_s = z_fraction_s
    1420            1 :  s% z_fraction_cl = z_fraction_cl
    1421            1 :  s% z_fraction_ar = z_fraction_ar
    1422            1 :  s% z_fraction_k = z_fraction_k
    1423            1 :  s% z_fraction_ca = z_fraction_ca
    1424            1 :  s% z_fraction_sc = z_fraction_sc
    1425            1 :  s% z_fraction_ti = z_fraction_ti
    1426            1 :  s% z_fraction_v = z_fraction_v
    1427            1 :  s% z_fraction_cr = z_fraction_cr
    1428            1 :  s% z_fraction_mn = z_fraction_mn
    1429            1 :  s% z_fraction_fe = z_fraction_fe
    1430            1 :  s% z_fraction_co = z_fraction_co
    1431            1 :  s% z_fraction_ni = z_fraction_ni
    1432            1 :  s% z_fraction_cu = z_fraction_cu
    1433            1 :  s% z_fraction_zn = z_fraction_zn
    1434              : 
    1435            1 :  s% lgT_lo_for_set_new_abundances = lgT_lo_for_set_new_abundances
    1436            1 :  s% lgT_hi_for_set_new_abundances = lgT_hi_for_set_new_abundances
    1437              : 
    1438              :  ! automatic stops for mass loss/gain
    1439            1 :  s% max_star_mass_for_gain = max_star_mass_for_gain
    1440            1 :  s% min_star_mass_for_loss = min_star_mass_for_loss
    1441            1 :  s% max_T_center_for_any_mass_loss = max_T_center_for_any_mass_loss
    1442            1 :  s% max_T_center_for_full_mass_loss = max_T_center_for_full_mass_loss
    1443              : 
    1444              :  ! extra power source
    1445            1 :  s% extra_power_source = extra_power_source
    1446              : 
    1447              :  ! relaxation parameters
    1448            1 :  s% relax_dlnZ = relax_dlnZ
    1449            1 :  s% relax_dY = relax_dY
    1450              : 
    1451              :  ! mesh adjustment
    1452            1 :  s% show_mesh_changes = show_mesh_changes
    1453            1 :  s% okay_to_remesh = okay_to_remesh
    1454            1 :  s% restore_mesh_on_retry = restore_mesh_on_retry
    1455            1 :  s% num_steps_to_hold_mesh_after_retry = num_steps_to_hold_mesh_after_retry
    1456            1 :  s% trace_mesh_adjust_error_in_conservation = trace_mesh_adjust_error_in_conservation
    1457            1 :  s% max_rel_delta_IE_for_mesh_total_energy_balance = max_rel_delta_IE_for_mesh_total_energy_balance
    1458            1 :  s% max_allowed_nz = max_allowed_nz
    1459            1 :  s% mesh_max_allowed_ratio = mesh_max_allowed_ratio
    1460            1 :  s% remesh_max_allowed_logT = remesh_max_allowed_logT
    1461            1 :  s% max_delta_x_for_merge = max_delta_x_for_merge
    1462              : 
    1463            1 :  s% mesh_ok_to_merge = mesh_ok_to_merge
    1464            1 :  s% mesh_max_k_old_for_split = mesh_max_k_old_for_split
    1465            1 :  s% mesh_min_k_old_for_split = mesh_min_k_old_for_split
    1466            1 :  s% mesh_adjust_get_T_from_E = mesh_adjust_get_T_from_E
    1467              : 
    1468            1 :  s% max_dq = max_dq
    1469            1 :  s% min_dq = min_dq
    1470            1 :  s% min_dq_for_split = min_dq_for_split
    1471            1 :  s% min_dq_for_xa = min_dq_for_xa
    1472            1 :  s% min_dq_for_xa_convective = min_dq_for_xa_convective
    1473            1 :  s% min_dq_for_logT = min_dq_for_logT
    1474              : 
    1475            1 :  s% mesh_min_dlnR = mesh_min_dlnR
    1476            1 :  s% merge_if_dlnR_too_small = merge_if_dlnR_too_small
    1477              : 
    1478            1 :  s% mesh_min_dr_div_dRstar = mesh_min_dr_div_dRstar
    1479            1 :  s% merge_if_dr_div_dRstar_too_small = merge_if_dr_div_dRstar_too_small
    1480              : 
    1481            1 :  s% mesh_min_dr_div_cs = mesh_min_dr_div_cs
    1482            1 :  s% merge_if_dr_div_cs_too_small = merge_if_dr_div_cs_too_small
    1483              : 
    1484            1 :  s% max_center_cell_dq = max_center_cell_dq
    1485            1 :  s% max_surface_cell_dq = max_surface_cell_dq
    1486            1 :  s% max_num_subcells = max_num_subcells
    1487            1 :  s% max_num_merge_cells = max_num_merge_cells
    1488              : 
    1489            1 :  s% mesh_delta_coeff = mesh_delta_coeff
    1490            1 :  s% mesh_delta_coeff_for_highT = mesh_delta_coeff_for_highT
    1491            1 :  s% logT_max_for_standard_mesh_delta_coeff = logT_max_for_standard_mesh_delta_coeff
    1492            1 :  s% logT_min_for_highT_mesh_delta_coeff = logT_min_for_highT_mesh_delta_coeff
    1493            1 :  s% mesh_Pgas_div_P_exponent = mesh_Pgas_div_P_exponent
    1494              : 
    1495            1 :  s% remesh_dt_limit = remesh_dt_limit
    1496              : 
    1497            1 :  s% E_function_weight = E_function_weight
    1498            1 :  s% E_function_param = E_function_param
    1499            1 :  s% P_function_weight = P_function_weight
    1500              : 
    1501           10 :  s% mesh_logX_species = mesh_logX_species
    1502           10 :  s% mesh_logX_min_for_extra = mesh_logX_min_for_extra
    1503           10 :  s% mesh_dlogX_dlogP_extra = mesh_dlogX_dlogP_extra
    1504           10 :  s% mesh_dlogX_dlogP_full_on = mesh_dlogX_dlogP_full_on
    1505           10 :  s% mesh_dlogX_dlogP_full_off = mesh_dlogX_dlogP_full_off
    1506              : 
    1507            1 :  s% convective_bdy_min_dt_yrs = convective_bdy_min_dt_yrs
    1508            1 :  s% convective_bdy_weight = convective_bdy_weight
    1509            1 :  s% convective_bdy_dq_limit = convective_bdy_dq_limit
    1510              : 
    1511            1 :  s% mesh_dlog_eps_min_for_extra = mesh_dlog_eps_min_for_extra
    1512            1 :  s% mesh_dlog_eps_dlogP_full_on = mesh_dlog_eps_dlogP_full_on
    1513            1 :  s% mesh_dlog_eps_dlogP_full_off = mesh_dlog_eps_dlogP_full_off
    1514              : 
    1515            1 :  s% mesh_dlog_pp_dlogP_extra = mesh_dlog_pp_dlogP_extra
    1516            1 :  s% mesh_dlog_cno_dlogP_extra = mesh_dlog_cno_dlogP_extra
    1517            1 :  s% mesh_dlog_3alf_dlogP_extra = mesh_dlog_3alf_dlogP_extra
    1518              : 
    1519            1 :  s% mesh_dlog_burn_c_dlogP_extra = mesh_dlog_burn_c_dlogP_extra
    1520            1 :  s% mesh_dlog_burn_n_dlogP_extra = mesh_dlog_burn_n_dlogP_extra
    1521            1 :  s% mesh_dlog_burn_o_dlogP_extra = mesh_dlog_burn_o_dlogP_extra
    1522            1 :  s% mesh_dlog_burn_ne_dlogP_extra = mesh_dlog_burn_ne_dlogP_extra
    1523            1 :  s% mesh_dlog_burn_na_dlogP_extra = mesh_dlog_burn_na_dlogP_extra
    1524            1 :  s% mesh_dlog_burn_mg_dlogP_extra = mesh_dlog_burn_mg_dlogP_extra
    1525            1 :  s% mesh_dlog_burn_si_dlogP_extra = mesh_dlog_burn_si_dlogP_extra
    1526            1 :  s% mesh_dlog_burn_s_dlogP_extra = mesh_dlog_burn_s_dlogP_extra
    1527            1 :  s% mesh_dlog_burn_ar_dlogP_extra = mesh_dlog_burn_ar_dlogP_extra
    1528            1 :  s% mesh_dlog_burn_ca_dlogP_extra = mesh_dlog_burn_ca_dlogP_extra
    1529            1 :  s% mesh_dlog_burn_ti_dlogP_extra = mesh_dlog_burn_ti_dlogP_extra
    1530            1 :  s% mesh_dlog_burn_cr_dlogP_extra = mesh_dlog_burn_cr_dlogP_extra
    1531            1 :  s% mesh_dlog_burn_fe_dlogP_extra = mesh_dlog_burn_fe_dlogP_extra
    1532              : 
    1533            1 :  s% mesh_dlog_cc_dlogP_extra = mesh_dlog_cc_dlogP_extra
    1534            1 :  s% mesh_dlog_co_dlogP_extra = mesh_dlog_co_dlogP_extra
    1535            1 :  s% mesh_dlog_oo_dlogP_extra = mesh_dlog_oo_dlogP_extra
    1536              : 
    1537            1 :  s% mesh_dlog_pnhe4_dlogP_extra = mesh_dlog_pnhe4_dlogP_extra
    1538            1 :  s% mesh_dlog_photo_dlogP_extra = mesh_dlog_photo_dlogP_extra
    1539            1 :  s% mesh_dlog_other_dlogP_extra = mesh_dlog_other_dlogP_extra
    1540              : 
    1541            1 :  s% mesh_delta_coeff_factor_smooth_iters = mesh_delta_coeff_factor_smooth_iters
    1542              : 
    1543            1 :  s% T_function1_weight = T_function1_weight
    1544            1 :  s% T_function2_weight = T_function2_weight
    1545            1 :  s% T_function2_param = T_function2_param
    1546              : 
    1547            1 :  s% R_function_weight = R_function_weight
    1548            1 :  s% R_function_param = R_function_param
    1549              : 
    1550            1 :  s% R_function2_weight = R_function2_weight
    1551            1 :  s% R_function2_param1 = R_function2_param1
    1552            1 :  s% R_function2_param2 = R_function2_param2
    1553              : 
    1554            1 :  s% R_function3_weight = R_function3_weight
    1555              : 
    1556            1 :  s% M_function_weight = M_function_weight
    1557            1 :  s% M_function_param = M_function_param
    1558              : 
    1559            1 :  s% gradT_function_weight = gradT_function_weight
    1560            1 :  s% log_tau_function_weight = log_tau_function_weight
    1561            1 :  s% log_kap_function_weight = log_kap_function_weight
    1562            1 :  s% omega_function_weight = omega_function_weight
    1563              : 
    1564            1 :  s% gam_function_weight = gam_function_weight
    1565            1 :  s% gam_function_param1 = gam_function_param1
    1566            1 :  s% gam_function_param2 = gam_function_param2
    1567              : 
    1568           10 :  s% xa_function_species = xa_function_species
    1569           10 :  s% xa_function_weight = xa_function_weight
    1570           10 :  s% xa_function_param = xa_function_param
    1571           10 :  s% xa_mesh_delta_coeff = xa_mesh_delta_coeff
    1572              : 
    1573            1 :  s% use_split_merge_amr = use_split_merge_amr
    1574            1 :  s% split_merge_amr_nz_baseline = split_merge_amr_nz_baseline
    1575            1 :  s% split_merge_amr_nz_r_core = split_merge_amr_nz_r_core
    1576            1 :  s% split_merge_amr_nz_r_core_fraction = split_merge_amr_nz_r_core_fraction
    1577            1 :  s% split_merge_amr_mesh_delta_coeff = split_merge_amr_mesh_delta_coeff
    1578            1 :  s% split_merge_amr_log_zoning = split_merge_amr_log_zoning
    1579            1 :  s% split_merge_amr_hybrid_zoning = split_merge_amr_hybrid_zoning
    1580            1 :  s% split_merge_amr_flipped_hybrid_zoning = split_merge_amr_flipped_hybrid_zoning
    1581            1 :  s% split_merge_amr_logtau_zoning = split_merge_amr_logtau_zoning
    1582            1 :  s% split_merge_amr_okay_to_split_nz = split_merge_amr_okay_to_split_nz
    1583            1 :  s% split_merge_amr_okay_to_split_1 = split_merge_amr_okay_to_split_1
    1584            1 :  s% merge_amr_inhibit_at_jumps = merge_amr_inhibit_at_jumps
    1585            1 :  s% split_merge_amr_MaxLong = split_merge_amr_MaxLong
    1586            1 :  s% split_merge_amr_MaxShort = split_merge_amr_MaxShort
    1587            1 :  s% merge_amr_max_abs_du_div_cs = merge_amr_max_abs_du_div_cs
    1588            1 :  s% merge_amr_ignore_surface_cells = merge_amr_ignore_surface_cells
    1589            1 :  s% merge_amr_du_div_cs_limit_only_for_compression = merge_amr_du_div_cs_limit_only_for_compression
    1590            1 :  s% split_merge_amr_avoid_repeated_remesh = split_merge_amr_avoid_repeated_remesh
    1591            1 :  s% merge_amr_k_for_ignore_surface_cells = merge_amr_k_for_ignore_surface_cells
    1592            1 :  s% split_merge_amr_dq_min = split_merge_amr_dq_min
    1593            1 :  s% split_merge_amr_dq_max = split_merge_amr_dq_max
    1594            1 :  s% split_merge_amr_r_core_cm = split_merge_amr_r_core_cm
    1595            1 :  s% split_merge_amr_max_iters = split_merge_amr_max_iters
    1596            1 :  s% trace_split_merge_amr = trace_split_merge_amr
    1597            1 :  s% equal_split_density_amr = equal_split_density_amr
    1598              : 
    1599              :  ! nuclear reaction parameters
    1600            1 :  s% screening_mode = screening_mode
    1601            1 :  s% default_net_name = default_net_name
    1602              : 
    1603            1 :  s% net_logTcut_lo = net_logTcut_lo
    1604            1 :  s% net_logTcut_lim = net_logTcut_lim
    1605              : 
    1606            1 :  s% eps_nuc_factor = eps_nuc_factor
    1607            1 :  s% op_split_burn_eps_nuc_infall_limit = op_split_burn_eps_nuc_infall_limit
    1608            1 :  s% eps_WD_sedimentation_factor = eps_WD_sedimentation_factor
    1609            1 :  s% max_abs_eps_nuc = max_abs_eps_nuc
    1610            1 :  s% dxdt_nuc_factor = dxdt_nuc_factor
    1611            1 :  s% max_abar_for_burning = max_abar_for_burning
    1612            1 :  s% fe56ec_fake_factor = fe56ec_fake_factor
    1613            1 :  s% min_T_for_fe56ec_fake_factor = min_T_for_fe56ec_fake_factor
    1614            1 :  s% weak_rate_factor = weak_rate_factor
    1615              : 
    1616              :  ! mixing
    1617            1 :  s% mix_factor = mix_factor
    1618              : 
    1619            1 :  s% sig_term_limit = sig_term_limit
    1620              : 
    1621            1 :  s% sig_min_factor_for_high_Tcenter = sig_min_factor_for_high_Tcenter
    1622            1 :  s% Tcenter_min_for_sig_min_factor_full_on = Tcenter_min_for_sig_min_factor_full_on
    1623            1 :  s% Tcenter_max_for_sig_min_factor_full_off = Tcenter_max_for_sig_min_factor_full_off
    1624            1 :  s% max_delta_m_to_bdy_for_sig_min_factor = max_delta_m_to_bdy_for_sig_min_factor
    1625            1 :  s% delta_m_lower_for_sig_min_factor = delta_m_lower_for_sig_min_factor
    1626            1 :  s% delta_m_upper_for_sig_min_factor = delta_m_upper_for_sig_min_factor
    1627              : 
    1628            1 :  s% am_sig_term_limit = am_sig_term_limit
    1629            1 :  s% am_D_mix_factor = am_D_mix_factor
    1630            1 :  s% am_gradmu_factor = am_gradmu_factor
    1631            1 :  s% am_nu_factor = am_nu_factor
    1632              : 
    1633            1 :  s% D_visc_factor = D_visc_factor
    1634            1 :  s% D_DSI_factor = D_DSI_factor
    1635            1 :  s% D_SH_factor = D_SH_factor
    1636            1 :  s% D_SSI_factor = D_SSI_factor
    1637            1 :  s% D_ES_factor = D_ES_factor
    1638            1 :  s% D_GSF_factor = D_GSF_factor
    1639            1 :  s% D_ST_factor = D_ST_factor
    1640              : 
    1641            1 :  s% am_nu_non_rotation_factor = am_nu_non_rotation_factor
    1642            1 :  s% skip_rotation_in_convection_zones = skip_rotation_in_convection_zones
    1643            1 :  s% am_nu_DSI_factor = am_nu_DSI_factor
    1644            1 :  s% am_nu_SH_factor = am_nu_SH_factor
    1645            1 :  s% am_nu_SSI_factor = am_nu_SSI_factor
    1646            1 :  s% am_nu_ES_factor = am_nu_ES_factor
    1647            1 :  s% am_nu_GSF_factor = am_nu_GSF_factor
    1648            1 :  s% am_nu_ST_factor = am_nu_ST_factor
    1649            1 :  s% am_nu_visc_factor = am_nu_visc_factor
    1650              : 
    1651            1 :  s% am_nu_omega_rot_factor = am_nu_omega_rot_factor
    1652            1 :  s% am_nu_omega_non_rot_factor = am_nu_omega_non_rot_factor
    1653            1 :  s% am_nu_j_rot_factor = am_nu_j_rot_factor
    1654            1 :  s% am_nu_j_non_rot_factor = am_nu_j_non_rot_factor
    1655              : 
    1656            1 :  s% smooth_nu_ST = smooth_nu_ST
    1657            1 :  s% smooth_D_ST = smooth_D_ST
    1658            1 :  s% smooth_D_DSI = smooth_D_DSI
    1659            1 :  s% smooth_D_SSI = smooth_D_SSI
    1660            1 :  s% smooth_D_SH = smooth_D_SH
    1661            1 :  s% smooth_D_GSF = smooth_D_GSF
    1662            1 :  s% smooth_D_ES = smooth_D_ES
    1663            1 :  s% smooth_D_omega = smooth_D_omega
    1664            1 :  s% smooth_am_nu_rot = smooth_am_nu_rot
    1665            1 :  s% ST_angsmt = ST_angsmt
    1666            1 :  s% ST_angsml = ST_angsml
    1667              : 
    1668            1 :  s% simple_i_rot_flag = simple_i_rot_flag
    1669            1 :  s% do_adjust_J_lost = do_adjust_J_lost
    1670            1 :  s% premix_omega = premix_omega
    1671            1 :  s% angular_momentum_error_warn = angular_momentum_error_warn
    1672            1 :  s% angular_momentum_error_retry = angular_momentum_error_retry
    1673            1 :  s% recalc_mixing_info_each_substep = recalc_mixing_info_each_substep
    1674            1 :  s% adjust_J_fraction = adjust_J_fraction
    1675            1 :  s% min_q_for_adjust_J_lost = min_q_for_adjust_J_lost
    1676            1 :  s% min_J_div_delta_J = min_J_div_delta_J
    1677            1 :  s% max_mdot_redo_cnt = max_mdot_redo_cnt
    1678            1 :  s% mdot_revise_factor = mdot_revise_factor
    1679            1 :  s% implicit_mdot_boost = implicit_mdot_boost
    1680            1 :  s% min_years_dt_for_redo_mdot = min_years_dt_for_redo_mdot
    1681            1 :  s% surf_omega_div_omega_crit_limit = surf_omega_div_omega_crit_limit
    1682            1 :  s% surf_omega_div_omega_crit_tol = surf_omega_div_omega_crit_tol
    1683            1 :  s% w_div_wcrit_max = w_div_wcrit_max
    1684            1 :  s% w_div_wcrit_max2 = w_div_wcrit_max2
    1685              : 
    1686            1 :  s% D_mix_rotation_max_logT_full_on = D_mix_rotation_max_logT_full_on
    1687            1 :  s% D_mix_rotation_min_logT_full_off = D_mix_rotation_min_logT_full_off
    1688            1 :  s% D_mix_rotation_min_tau_full_off = D_mix_rotation_min_tau_full_off
    1689            1 :  s% D_mix_rotation_min_tau_full_on = D_mix_rotation_min_tau_full_on
    1690              : 
    1691            1 :  s% set_uniform_am_nu_non_rot = set_uniform_am_nu_non_rot
    1692            1 :  s% uniform_am_nu_non_rot = uniform_am_nu_non_rot
    1693              : 
    1694            1 :  s% set_min_am_nu_non_rot = set_min_am_nu_non_rot
    1695            1 :  s% min_am_nu_non_rot = min_am_nu_non_rot
    1696            1 :  s% min_center_Ye_for_min_am_nu_non_rot = min_center_Ye_for_min_am_nu_non_rot
    1697              : 
    1698            1 :  s% set_min_D_mix = set_min_D_mix
    1699            1 :  s% mass_lower_limit_for_min_D_mix = mass_lower_limit_for_min_D_mix
    1700            1 :  s% mass_upper_limit_for_min_D_mix = mass_upper_limit_for_min_D_mix
    1701            1 :  s% min_D_mix = min_D_mix
    1702            1 :  s% set_min_D_mix_below_Tmax = set_min_D_mix_below_Tmax
    1703            1 :  s% min_D_mix_below_Tmax = min_D_mix_below_Tmax
    1704            1 :  s% set_min_D_mix_in_H_He = set_min_D_mix_in_H_He
    1705            1 :  s% min_D_mix_in_H_He = min_D_mix_in_H_He
    1706            1 :  s% min_center_Ye_for_min_D_mix = min_center_Ye_for_min_D_mix
    1707            1 :  s% reaction_neuQs_factor = reaction_neuQs_factor
    1708            1 :  s% nonlocal_NiCo_kap_gamma = nonlocal_NiCo_kap_gamma
    1709            1 :  s% nonlocal_NiCo_decay_heat = nonlocal_NiCo_decay_heat
    1710            1 :  s% dtau_gamma_NiCo_decay_heat = dtau_gamma_NiCo_decay_heat
    1711            1 :  s% max_logT_for_net = max_logT_for_net
    1712            1 :  s% smooth_outer_xa_big = smooth_outer_xa_big
    1713            1 :  s% smooth_outer_xa_small = smooth_outer_xa_small
    1714              : 
    1715              :  ! element diffusion parameters
    1716            1 :  s% diffusion_use_iben_macdonald = diffusion_use_iben_macdonald
    1717            1 :  s% diffusion_use_paquette = diffusion_use_paquette
    1718            1 :  s% diffusion_use_caplan = diffusion_use_caplan
    1719            1 :  s% diffusion_use_cgs_solver = diffusion_use_cgs_solver
    1720            1 :  s% diffusion_use_full_net = diffusion_use_full_net
    1721            1 :  s% do_WD_sedimentation_heating = do_WD_sedimentation_heating
    1722            1 :  s% min_xa_for_WD_sedimentation_heating = min_xa_for_WD_sedimentation_heating
    1723            1 :  s% do_diffusion_heating = do_diffusion_heating
    1724            1 :  s% do_element_diffusion = do_element_diffusion
    1725            1 :  s% cgs_thermal_diffusion_eta_full_on = cgs_thermal_diffusion_eta_full_on
    1726            1 :  s% cgs_thermal_diffusion_eta_full_off = cgs_thermal_diffusion_eta_full_off
    1727            1 :  s% diffusion_min_dq_at_surface = diffusion_min_dq_at_surface
    1728            1 :  s% diffusion_min_T_at_surface = diffusion_min_T_at_surface
    1729            1 :  s% diffusion_min_dq_ratio_at_surface = diffusion_min_dq_ratio_at_surface
    1730            1 :  s% diffusion_dt_limit = diffusion_dt_limit
    1731              : 
    1732            1 :  s% diffusion_min_X_hard_limit = diffusion_min_X_hard_limit
    1733            1 :  s% diffusion_X_total_atol = diffusion_X_total_atol
    1734            1 :  s% diffusion_X_total_rtol = diffusion_X_total_rtol
    1735            1 :  s% diffusion_upwind_abs_v_limit = diffusion_upwind_abs_v_limit
    1736            1 :  s% diffusion_dt_div_timescale = diffusion_dt_div_timescale
    1737            1 :  s% diffusion_min_num_substeps = diffusion_min_num_substeps
    1738            1 :  s% diffusion_max_iters_per_substep = diffusion_max_iters_per_substep
    1739            1 :  s% diffusion_max_retries_per_substep = diffusion_max_retries_per_substep
    1740            1 :  s% diffusion_v_max = diffusion_v_max
    1741            1 :  s% diffusion_gamma_full_off = diffusion_gamma_full_off
    1742            1 :  s% diffusion_gamma_full_on = diffusion_gamma_full_on
    1743            1 :  s% diffusion_T_full_off = diffusion_T_full_off
    1744            1 :  s% D_mix_ignore_diffusion = D_mix_ignore_diffusion
    1745            1 :  s% diffusion_T_full_on = diffusion_T_full_on
    1746            1 :  s% diffusion_calculates_ionization = diffusion_calculates_ionization
    1747            1 :  s% diffusion_nsmooth_typical_charge = diffusion_nsmooth_typical_charge
    1748            1 :  s% diffusion_tol_correction_max = diffusion_tol_correction_max
    1749            1 :  s% diffusion_tol_correction_norm = diffusion_tol_correction_norm
    1750              : 
    1751            1 :  s% diffusion_AD_dm_full_on = diffusion_AD_dm_full_on
    1752            1 :  s% diffusion_AD_dm_full_off = diffusion_AD_dm_full_off
    1753            1 :  s% diffusion_AD_boost_factor = diffusion_AD_boost_factor
    1754              : 
    1755            1 :  s% diffusion_SIG_factor = diffusion_SIG_factor
    1756            1 :  s% diffusion_GT_factor = diffusion_GT_factor
    1757              : 
    1758            1 :  s% diffusion_Vlimit_dm_full_on = diffusion_Vlimit_dm_full_on
    1759            1 :  s% diffusion_Vlimit_dm_full_off = diffusion_Vlimit_dm_full_off
    1760            1 :  s% diffusion_Vlimit = diffusion_Vlimit
    1761              : 
    1762            1 :  s% diffusion_max_T_for_radaccel = diffusion_max_T_for_radaccel
    1763            1 :  s% diffusion_min_T_for_radaccel = diffusion_min_T_for_radaccel
    1764            1 :  s% diffusion_max_Z_for_radaccel = diffusion_max_Z_for_radaccel
    1765            1 :  s% diffusion_min_Z_for_radaccel = diffusion_min_Z_for_radaccel
    1766            1 :  s% diffusion_screening_for_radaccel = diffusion_screening_for_radaccel
    1767            1 :  s% op_mono_data_path = op_mono_data_path
    1768            1 :  s% op_mono_data_cache_filename = op_mono_data_cache_filename
    1769            1 :  s% emesh_data_for_op_mono_path = emesh_data_for_op_mono_path
    1770            1 :  s% op_mono_method = op_mono_method
    1771              : 
    1772            1 :  s% show_diffusion_info = show_diffusion_info
    1773            1 :  s% show_diffusion_substep_info = show_diffusion_substep_info
    1774            1 :  s% show_diffusion_timing = show_diffusion_timing
    1775              : 
    1776            1 :  s% diffusion_num_classes = diffusion_num_classes
    1777          101 :  s% diffusion_class_representative = diffusion_class_representative
    1778          101 :  s% diffusion_class_A_max = diffusion_class_A_max
    1779          101 :  s% diffusion_class_typical_charge = diffusion_class_typical_charge
    1780          101 :  s% diffusion_class_factor = diffusion_class_factor
    1781              : 
    1782            1 :  s% diffusion_use_isolve = diffusion_use_isolve
    1783            1 :  s% diffusion_rtol_for_isolve = diffusion_rtol_for_isolve
    1784            1 :  s% diffusion_atol_for_isolve = diffusion_atol_for_isolve
    1785            1 :  s% diffusion_maxsteps_for_isolve = diffusion_maxsteps_for_isolve
    1786            1 :  s% diffusion_isolve_solver = diffusion_isolve_solver
    1787              : 
    1788              :  ! WD phase separation
    1789            1 :  s% do_phase_separation = do_phase_separation
    1790            1 :  s% phase_separation_option = phase_separation_option
    1791            1 :  s% do_phase_separation_heating = do_phase_separation_heating
    1792            1 :  s% phase_separation_mixing_use_brunt = phase_separation_mixing_use_brunt
    1793            1 :  s% phase_separation_no_diffusion = phase_separation_no_diffusion
    1794              : 
    1795              :  ! eos controls
    1796            1 :  s% fix_d_eos_dxa_partials = fix_d_eos_dxa_partials
    1797              : 
    1798              :  ! opacity controls
    1799            1 :  s% use_simple_es_for_kap = use_simple_es_for_kap
    1800            1 :  s% use_starting_composition_for_kap = use_starting_composition_for_kap
    1801              : 
    1802            1 :  s% min_kap_for_dPrad_dm_eqn = min_kap_for_dPrad_dm_eqn
    1803            1 :  s% low_logT_op_mono_full_off = low_logT_op_mono_full_off
    1804            1 :  s% low_logT_op_mono_full_on = low_logT_op_mono_full_on
    1805            1 :  s% high_logT_op_mono_full_off = high_logT_op_mono_full_off
    1806            1 :  s% high_logT_op_mono_full_on = high_logT_op_mono_full_on
    1807            1 :  s% op_mono_min_X_to_include = op_mono_min_X_to_include
    1808            1 :  s% use_op_mono_alt_get_kap = use_op_mono_alt_get_kap
    1809              : 
    1810            1 :  s% include_L_in_correction_limits = include_L_in_correction_limits
    1811            1 :  s% include_v_in_correction_limits = include_v_in_correction_limits
    1812            1 :  s% include_u_in_correction_limits = include_u_in_correction_limits
    1813            1 :  s% include_w_in_correction_limits = include_w_in_correction_limits
    1814              : 
    1815              :  ! asteroseismology controls
    1816              : 
    1817            1 :  s% get_delta_nu_from_scaled_solar = get_delta_nu_from_scaled_solar
    1818            1 :  s% nu_max_sun = nu_max_sun
    1819            1 :  s% delta_nu_sun = delta_nu_sun
    1820            1 :  s% astero_Teff_sun = astero_Teff_sun
    1821            1 :  s% delta_Pg_mode_freq = delta_Pg_mode_freq
    1822            1 :  s% delta_Pg_traditional = delta_Pg_traditional
    1823              : 
    1824              :  ! hydro parameters
    1825            1 :  s% energy_eqn_option = energy_eqn_option
    1826            1 :  s% opacity_factor = opacity_factor
    1827            1 :  s% opacity_min = opacity_min
    1828            1 :  s% opacity_max = opacity_max
    1829            1 :  s% min_logT_for_opacity_factor_off = min_logT_for_opacity_factor_off
    1830            1 :  s% min_logT_for_opacity_factor_on = min_logT_for_opacity_factor_on
    1831            1 :  s% max_logT_for_opacity_factor_on = max_logT_for_opacity_factor_on
    1832            1 :  s% max_logT_for_opacity_factor_off = max_logT_for_opacity_factor_off
    1833              : 
    1834            1 :  s% dxdt_nuc_factor = dxdt_nuc_factor
    1835            1 :  s% non_nuc_neu_factor = non_nuc_neu_factor
    1836            1 :  s% use_time_centered_eps_grav = use_time_centered_eps_grav
    1837            1 :  s% no_dedt_form_during_relax = no_dedt_form_during_relax
    1838            1 :  s% dedt_eqn_r_scale = dedt_eqn_r_scale
    1839            1 :  s% use_mass_corrections = use_mass_corrections
    1840            1 :  s% use_gravity_rotation_correction = use_gravity_rotation_correction
    1841            1 :  s% eps_grav_factor = eps_grav_factor
    1842            1 :  s% eps_mdot_factor = eps_mdot_factor
    1843            1 :  s% include_composition_in_eps_grav = include_composition_in_eps_grav
    1844            1 :  s% max_abs_rel_change_surf_lnS = max_abs_rel_change_surf_lnS
    1845            1 :  s% max_num_surf_revisions = max_num_surf_revisions
    1846            1 :  s% Gamma_lnS_eps_grav_full_off = Gamma_lnS_eps_grav_full_off
    1847            1 :  s% Gamma_lnS_eps_grav_full_on = Gamma_lnS_eps_grav_full_on
    1848              : 
    1849            1 :  s% use_dPrad_dm_form_of_T_gradient_eqn = use_dPrad_dm_form_of_T_gradient_eqn
    1850            1 :  s% use_flux_limiting_with_dPrad_dm_form = use_flux_limiting_with_dPrad_dm_form
    1851            1 :  s% use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn = use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn
    1852            1 :  s% include_P_in_velocity_time_centering = include_P_in_velocity_time_centering
    1853            1 :  s% include_L_in_velocity_time_centering = include_L_in_velocity_time_centering
    1854            1 :  s% use_P_d_1_div_rho_form_of_work_when_time_centering_velocity = use_P_d_1_div_rho_form_of_work_when_time_centering_velocity
    1855            1 :  s% steps_before_use_velocity_time_centering = steps_before_use_velocity_time_centering
    1856            1 :  s% P_theta_for_velocity_time_centering = P_theta_for_velocity_time_centering
    1857            1 :  s% L_theta_for_velocity_time_centering = L_theta_for_velocity_time_centering
    1858              : 
    1859            1 :  s% RTI_A = RTI_A
    1860            1 :  s% RTI_B = RTI_B
    1861            1 :  s% RTI_C = RTI_C
    1862            1 :  s% RTI_D = RTI_D
    1863            1 :  s% RTI_max_alpha = RTI_max_alpha
    1864            1 :  s% RTI_C_X_factor = RTI_C_X_factor
    1865            1 :  s% RTI_C_X0_frac = RTI_C_X0_frac
    1866            1 :  s% RTI_dm_for_center_eta_nondecreasing = RTI_dm_for_center_eta_nondecreasing
    1867            1 :  s% RTI_min_dm_behind_shock_for_full_on = RTI_min_dm_behind_shock_for_full_on
    1868            1 :  s% RTI_energy_floor = RTI_energy_floor
    1869            1 :  s% RTI_D_mix_floor = RTI_D_mix_floor
    1870            1 :  s% RTI_min_m_for_D_mix_floor = RTI_min_m_for_D_mix_floor
    1871            1 :  s% RTI_log_max_boost = RTI_log_max_boost
    1872            1 :  s% RTI_m_full_boost = RTI_m_full_boost
    1873            1 :  s% RTI_m_no_boost = RTI_m_no_boost
    1874              : 
    1875            1 :  s% use_drag_energy = use_drag_energy
    1876            1 :  s% drag_coefficient = drag_coefficient
    1877            1 :  s% min_q_for_drag = min_q_for_drag
    1878            1 :  s% v_drag_factor = v_drag_factor
    1879            1 :  s% v_drag = v_drag
    1880            1 :  s% q_for_v_drag_full_off = q_for_v_drag_full_off
    1881            1 :  s% q_for_v_drag_full_on = q_for_v_drag_full_on
    1882              : 
    1883              : 
    1884            1 :  s% velocity_logT_lower_bound = velocity_logT_lower_bound
    1885            1 :  s% max_dt_yrs_for_velocity_logT_lower_bound = max_dt_yrs_for_velocity_logT_lower_bound
    1886            1 :  s% velocity_tau_lower_bound = velocity_tau_lower_bound
    1887            1 :  s% velocity_q_upper_bound = velocity_q_upper_bound
    1888            1 :  s% report_max_infall_inside_fe_core = report_max_infall_inside_fe_core
    1889            1 :  s% retry_for_v_above_clight = retry_for_v_above_clight
    1890              : 
    1891              :  ! solvers
    1892              : 
    1893            1 :  s% tol_correction_norm = tol_correction_norm
    1894            1 :  s% tol_max_correction = tol_max_correction
    1895            1 :  s% correction_xa_limit = correction_xa_limit
    1896              : 
    1897            1 :  s% tol_correction_high_T_limit = tol_correction_high_T_limit
    1898            1 :  s% tol_correction_norm_high_T = tol_correction_norm_high_T
    1899            1 :  s% tol_max_correction_high_T = tol_max_correction_high_T
    1900              : 
    1901            1 :  s% tol_correction_extreme_T_limit = tol_correction_extreme_T_limit
    1902            1 :  s% tol_correction_norm_extreme_T = tol_correction_norm_extreme_T
    1903            1 :  s% tol_max_correction_extreme_T = tol_max_correction_extreme_T
    1904              : 
    1905            1 :  s% tol_bad_max_correction = tol_bad_max_correction
    1906            1 :  s% bad_max_correction_series_limit = bad_max_correction_series_limit
    1907              : 
    1908            1 :  s% tol_residual_norm1 = tol_residual_norm1
    1909            1 :  s% tol_max_residual1 = tol_max_residual1
    1910            1 :  s% tol_residual_norm2 = tol_residual_norm2
    1911            1 :  s% tol_max_residual2 = tol_max_residual2
    1912            1 :  s% tol_residual_norm3 = tol_residual_norm3
    1913            1 :  s% tol_max_residual3 = tol_max_residual3
    1914            1 :  s% warning_limit_for_max_residual = warning_limit_for_max_residual
    1915            1 :  s% trace_solver_damping = trace_solver_damping
    1916              : 
    1917            1 :  s% relax_use_gold_tolerances = relax_use_gold_tolerances
    1918            1 :  s% relax_tol_correction_norm = relax_tol_correction_norm
    1919            1 :  s% relax_tol_max_correction = relax_tol_max_correction
    1920            1 :  s% relax_solver_iters_timestep_limit = relax_solver_iters_timestep_limit
    1921            1 :  s% relax_iter_for_resid_tol2 = relax_iter_for_resid_tol2
    1922            1 :  s% relax_tol_residual_norm1 = relax_tol_residual_norm1
    1923            1 :  s% relax_tol_max_residual1 = relax_tol_max_residual1
    1924            1 :  s% relax_iter_for_resid_tol3 = relax_iter_for_resid_tol3
    1925            1 :  s% relax_tol_residual_norm2 = relax_tol_residual_norm2
    1926            1 :  s% relax_tol_max_residual2 = relax_tol_max_residual2
    1927            1 :  s% relax_tol_residual_norm3 = relax_tol_residual_norm3
    1928            1 :  s% relax_tol_max_residual3 = relax_tol_max_residual3
    1929            1 :  s% relax_maxT_for_gold_tolerances = relax_maxT_for_gold_tolerances
    1930              : 
    1931            1 :  s% use_gold_tolerances = use_gold_tolerances
    1932            1 :  s% gold_solver_iters_timestep_limit = gold_solver_iters_timestep_limit
    1933            1 :  s% maxT_for_gold_tolerances = maxT_for_gold_tolerances
    1934            1 :  s% gold_tol_residual_norm1 = gold_tol_residual_norm1
    1935            1 :  s% gold_tol_max_residual1 = gold_tol_max_residual1
    1936            1 :  s% gold_iter_for_resid_tol2 = gold_iter_for_resid_tol2
    1937            1 :  s% gold_tol_residual_norm2 = gold_tol_residual_norm2
    1938            1 :  s% gold_tol_max_residual2 = gold_tol_max_residual2
    1939            1 :  s% gold_iter_for_resid_tol3 = gold_iter_for_resid_tol3
    1940            1 :  s% gold_tol_residual_norm3 = gold_tol_residual_norm3
    1941            1 :  s% gold_tol_max_residual3 = gold_tol_max_residual3
    1942            1 :  s% steps_before_use_gold_tolerances = steps_before_use_gold_tolerances
    1943              : 
    1944            1 :  s% use_gold2_tolerances = use_gold2_tolerances
    1945            1 :  s% gold2_solver_iters_timestep_limit = gold2_solver_iters_timestep_limit
    1946            1 :  s% gold2_tol_residual_norm1 = gold2_tol_residual_norm1
    1947            1 :  s% gold2_tol_max_residual1 = gold2_tol_max_residual1
    1948            1 :  s% gold2_iter_for_resid_tol2 = gold2_iter_for_resid_tol2
    1949            1 :  s% gold2_tol_residual_norm2 = gold2_tol_residual_norm2
    1950            1 :  s% gold2_tol_max_residual2 = gold2_tol_max_residual2
    1951            1 :  s% gold2_iter_for_resid_tol3 = gold2_iter_for_resid_tol3
    1952            1 :  s% gold2_tol_residual_norm3 = gold2_tol_residual_norm3
    1953            1 :  s% gold2_tol_max_residual3 = gold2_tol_max_residual3
    1954            1 :  s% steps_before_use_gold2_tolerances = steps_before_use_gold2_tolerances
    1955              : 
    1956            1 :  s% include_rotation_in_total_energy = include_rotation_in_total_energy
    1957              : 
    1958            1 :  s% convergence_ignore_equL_residuals = convergence_ignore_equL_residuals
    1959            1 :  s% convergence_ignore_alpha_RTI_residuals = convergence_ignore_alpha_RTI_residuals
    1960              : 
    1961            1 :  s% iter_for_resid_tol2 = iter_for_resid_tol2
    1962            1 :  s% iter_for_resid_tol3 = iter_for_resid_tol3
    1963              : 
    1964            1 :  s% solver_itermin = solver_itermin
    1965            1 :  s% solver_itermin_until_reduce_min_corr_coeff = solver_itermin_until_reduce_min_corr_coeff
    1966            1 :  s% solver_reduced_min_corr_coeff = solver_reduced_min_corr_coeff
    1967            1 :  s% do_solver_damping_for_neg_xa = do_solver_damping_for_neg_xa
    1968            1 :  s% scale_max_correction_for_negative_surf_lum = scale_max_correction_for_negative_surf_lum
    1969            1 :  s% max_frac_for_negative_surf_lum = max_frac_for_negative_surf_lum
    1970            1 :  s% hydro_mtx_max_allowed_abs_dlogT = hydro_mtx_max_allowed_abs_dlogT
    1971            1 :  s% hydro_mtx_max_allowed_abs_dlogRho = hydro_mtx_max_allowed_abs_dlogRho
    1972            1 :  s% min_logT_for_hydro_mtx_max_allowed = min_logT_for_hydro_mtx_max_allowed
    1973            1 :  s% hydro_mtx_max_allowed_logT = hydro_mtx_max_allowed_logT
    1974            1 :  s% hydro_mtx_max_allowed_logRho = hydro_mtx_max_allowed_logRho
    1975            1 :  s% hydro_mtx_min_allowed_logT = hydro_mtx_min_allowed_logT
    1976            1 :  s% hydro_mtx_min_allowed_logRho = hydro_mtx_min_allowed_logRho
    1977              : 
    1978            1 :  s% use_DGESVX_in_bcyclic = use_DGESVX_in_bcyclic
    1979            1 :  s% use_equilibration_in_DGESVX = use_equilibration_in_DGESVX
    1980            1 :  s% report_min_rcond_from_DGESXV = report_min_rcond_from_DGESXV
    1981              : 
    1982            1 :  s% op_split_burn = op_split_burn
    1983            1 :  s% op_split_burn_min_T = op_split_burn_min_T
    1984            1 :  s% op_split_burn_eps = op_split_burn_eps
    1985            1 :  s% op_split_burn_odescal = op_split_burn_odescal
    1986            1 :  s% op_split_burn_min_T_for_variable_T_solver = op_split_burn_min_T_for_variable_T_solver
    1987              : 
    1988            1 :  s% tiny_corr_coeff_limit = tiny_corr_coeff_limit
    1989            1 :  s% scale_correction_norm = scale_correction_norm
    1990            1 :  s% num_times_solver_reuse_mtx = num_times_solver_reuse_mtx
    1991            1 :  s% corr_param_factor = corr_param_factor
    1992            1 :  s% scale_max_correction = scale_max_correction
    1993            1 :  s% ignore_min_corr_coeff_for_scale_max_correction = ignore_min_corr_coeff_for_scale_max_correction
    1994            1 :  s% ignore_too_large_correction = ignore_too_large_correction
    1995            1 :  s% ignore_species_in_max_correction = ignore_species_in_max_correction
    1996              : 
    1997            1 :  s% corr_norm_jump_limit = corr_norm_jump_limit
    1998            1 :  s% max_corr_jump_limit = max_corr_jump_limit
    1999            1 :  s% resid_norm_jump_limit = resid_norm_jump_limit
    2000            1 :  s% max_resid_jump_limit = max_resid_jump_limit
    2001              : 
    2002            1 :  s% corr_coeff_limit = corr_coeff_limit
    2003            1 :  s% tiny_corr_factor = tiny_corr_factor
    2004              : 
    2005            1 :  s% solver_max_tries_before_reject = solver_max_tries_before_reject
    2006            1 :  s% max_tries1 = max_tries1
    2007            1 :  s% max_tries_for_retry = max_tries_for_retry
    2008            1 :  s% max_tries_after_5_retries = max_tries_after_5_retries
    2009            1 :  s% max_tries_after_10_retries = max_tries_after_10_retries
    2010            1 :  s% max_tries_after_20_retries = max_tries_after_20_retries
    2011            1 :  s% retry_limit = retry_limit
    2012            1 :  s% redo_limit = redo_limit
    2013              : 
    2014            1 :  s% use_Pvsc_art_visc = use_Pvsc_art_visc
    2015            1 :  s% Pvsc_cq = Pvsc_cq
    2016            1 :  s% Pvsc_zsh = Pvsc_zsh
    2017              : 
    2018            1 :  s% min_xa_hard_limit = min_xa_hard_limit
    2019            1 :  s% min_xa_hard_limit_for_highT = min_xa_hard_limit_for_highT
    2020            1 :  s% logT_max_for_min_xa_hard_limit = logT_max_for_min_xa_hard_limit
    2021            1 :  s% logT_min_for_min_xa_hard_limit_for_highT = logT_min_for_min_xa_hard_limit_for_highT
    2022              : 
    2023            1 :  s% sum_xa_hard_limit = sum_xa_hard_limit
    2024            1 :  s% sum_xa_hard_limit_for_highT = sum_xa_hard_limit_for_highT
    2025            1 :  s% logT_max_for_sum_xa_hard_limit = logT_max_for_sum_xa_hard_limit
    2026            1 :  s% logT_min_for_sum_xa_hard_limit_for_highT = logT_min_for_sum_xa_hard_limit_for_highT
    2027              : 
    2028            1 :  s% xa_clip_limit = xa_clip_limit
    2029            1 :  s% report_solver_progress = report_solver_progress
    2030            1 :  s% solver_test_partials_call_number = solver_test_partials_call_number
    2031            1 :  s% solver_test_partials_iter_number = solver_test_partials_iter_number
    2032            1 :  s% solver_epsder_chem = solver_epsder_chem
    2033            1 :  s% solver_epsder_struct = solver_epsder_struct
    2034            1 :  s% solver_numerical_jacobian = solver_numerical_jacobian
    2035            1 :  s% solver_jacobian_nzlo = solver_jacobian_nzlo
    2036            1 :  s% solver_jacobian_nzhi = solver_jacobian_nzhi
    2037            1 :  s% solver_check_everything = solver_check_everything
    2038            1 :  s% energy_conservation_dump_model_number = energy_conservation_dump_model_number
    2039            1 :  s% solver_inspect_soln_flag = solver_inspect_soln_flag
    2040            1 :  s% solver_test_partials_dx_0 = solver_test_partials_dx_0
    2041            1 :  s% solver_test_partials_k = solver_test_partials_k
    2042            1 :  s% solver_test_partials_k_low = solver_test_partials_k_low
    2043            1 :  s% solver_test_partials_k_high = solver_test_partials_k_high
    2044            1 :  s% solver_show_correction_info = solver_show_correction_info
    2045            1 :  s% solver_test_partials_write_eos_call_info = solver_test_partials_write_eos_call_info
    2046            1 :  s% solver_test_eos_partials = solver_test_eos_partials
    2047            1 :  s% solver_test_kap_partials = solver_test_kap_partials
    2048            1 :  s% solver_test_net_partials = solver_test_net_partials
    2049            1 :  s% solver_test_atm_partials = solver_test_atm_partials
    2050            1 :  s% solver_test_partials_var_name = solver_test_partials_var_name
    2051            1 :  s% solver_test_partials_sink_name = solver_test_partials_sink_name
    2052            1 :  s% solver_test_partials_equ_name = solver_test_partials_equ_name
    2053            1 :  s% solver_test_partials_show_dx_var_name = solver_test_partials_show_dx_var_name
    2054            1 :  s% solver_save_photo_call_number = solver_save_photo_call_number
    2055            1 :  s% fill_arrays_with_NaNs = fill_arrays_with_NaNs
    2056            1 :  s% zero_when_allocate = zero_when_allocate
    2057            1 :  s% warn_when_large_rel_run_E_err = warn_when_large_rel_run_E_err
    2058            1 :  s% absolute_cumulative_energy_err = absolute_cumulative_energy_err
    2059            1 :  s% warn_when_large_virial_thm_rel_err = warn_when_large_virial_thm_rel_err
    2060            1 :  s% warn_when_get_a_bad_eos_result = warn_when_get_a_bad_eos_result
    2061            1 :  s% warn_rates_for_high_temp = warn_rates_for_high_temp
    2062            1 :  s% max_safe_logT_for_rates = max_safe_logT_for_rates
    2063            1 :  s% eps_mdot_leak_frac_factor = eps_mdot_leak_frac_factor
    2064              : 
    2065            1 :  s% alpha_TDC_DAMP = alpha_TDC_DAMP
    2066            1 :  s% alpha_TDC_DAMPR = alpha_TDC_DAMPR
    2067            1 :  s% alpha_TDC_PtdVdt = alpha_TDC_PtdVdt
    2068            1 :  s% compare_TDC_to_MLT = compare_TDC_to_MLT
    2069              : 
    2070            1 :  s% RSP2_alfap = RSP2_alfap
    2071            1 :  s% RSP2_alfad = RSP2_alfad
    2072            1 :  s% RSP2_alfat = RSP2_alfat
    2073            1 :  s% RSP2_alfam = RSP2_alfam
    2074            1 :  s% RSP2_alfar = RSP2_alfar
    2075            1 :  s% RSP2_min_Lt_div_L_for_overshooting_mixing_type = RSP2_min_Lt_div_L_for_overshooting_mixing_type
    2076            1 :  s% RSP2_min_Lc_div_L_for_convective_mixing_type = RSP2_min_Lc_div_L_for_convective_mixing_type
    2077            1 :  s% RSP2_Lsurf_factor = RSP2_Lsurf_factor
    2078            1 :  s% RSP2_use_Stellingwerf_Lr = RSP2_use_Stellingwerf_Lr
    2079            1 :  s% RSP2_remesh_when_load = RSP2_remesh_when_load
    2080            1 :  s% RSP2_use_L_eqn_at_surface = RSP2_use_L_eqn_at_surface
    2081            1 :  s% RSP2_report_adjust_w = RSP2_report_adjust_w
    2082            1 :  s% RSP2_assume_HSE = RSP2_assume_HSE
    2083            1 :  s% RSP2_use_RSP_eqn_for_Y_face = RSP2_use_RSP_eqn_for_Y_face
    2084            1 :  s% RSP2_use_mass_interp_face_values = RSP2_use_mass_interp_face_values
    2085            1 :  s% RSP2_num_outermost_cells_forced_nonturbulent = RSP2_num_outermost_cells_forced_nonturbulent
    2086            1 :  s% RSP2_num_innermost_cells_forced_nonturbulent = RSP2_num_innermost_cells_forced_nonturbulent
    2087            1 :  s% RSP2_T_anchor = RSP2_T_anchor
    2088            1 :  s% RSP2_dq_1_factor = RSP2_dq_1_factor
    2089            1 :  s% RSP2_nz = RSP2_nz
    2090            1 :  s% RSP2_nz_outer = RSP2_nz_outer
    2091            1 :  s% RSP2_nz_div_IBOTOM = RSP2_nz_div_IBOTOM
    2092            1 :  s% RSP2_target_steps_per_cycle = RSP2_target_steps_per_cycle
    2093            1 :  s% RSP2_max_num_periods = RSP2_max_num_periods
    2094            1 :  s% RSP2_work_period = RSP2_work_period
    2095            1 :  s% RSP2_map_first_period = RSP2_map_first_period
    2096            1 :  s% RSP2_map_last_period = RSP2_map_last_period
    2097            1 :  s% RSP2_min_max_R_for_periods = RSP2_min_max_R_for_periods
    2098            1 :  s% RSP2_GREKM_avg_abs_frac_new = RSP2_GREKM_avg_abs_frac_new
    2099            1 :  s% RSP2_GREKM_avg_abs_limit = RSP2_GREKM_avg_abs_limit
    2100            1 :  s% RSP2_map_zone_interval = RSP2_map_zone_interval
    2101            1 :  s% RSP2_work_filename = RSP2_work_filename
    2102            1 :  s% RSP2_map_columns_filename = RSP2_map_columns_filename
    2103            1 :  s% RSP2_map_filename = RSP2_map_filename
    2104            1 :  s% RSP2_map_history_filename = RSP2_map_history_filename
    2105            1 :  s% RSP2_write_map = RSP2_write_map
    2106            1 :  s% RSP2_w_min_for_damping = RSP2_w_min_for_damping
    2107            1 :  s% RSP2_source_seed = RSP2_source_seed
    2108            1 :  s% RSP2_w_fix_if_neg = RSP2_w_fix_if_neg
    2109              : 
    2110            1 :  s% max_X_for_conv_timescale = max_X_for_conv_timescale
    2111            1 :  s% min_X_for_conv_timescale = min_X_for_conv_timescale
    2112            1 :  s% max_q_for_conv_timescale = max_q_for_conv_timescale
    2113            1 :  s% min_q_for_conv_timescale = min_q_for_conv_timescale
    2114            1 :  s% max_q_for_QHSE_timescale = max_q_for_QHSE_timescale
    2115            1 :  s% min_q_for_QHSE_timescale = min_q_for_QHSE_timescale
    2116              : 
    2117              :  ! timestep
    2118            1 :  s% max_timestep = max_timestep
    2119            1 :  s% max_years_for_timestep = max_years_for_timestep
    2120              : 
    2121            1 :  s% hi_T_max_years_for_timestep = hi_T_max_years_for_timestep
    2122            1 :  s% max_timestep_hi_T_limit = max_timestep_hi_T_limit
    2123              : 
    2124            1 :  s% min_timestep_factor = min_timestep_factor
    2125            1 :  s% max_timestep_factor = max_timestep_factor
    2126            1 :  s% max_timestep_factor_at_high_T = max_timestep_factor_at_high_T
    2127            1 :  s% min_logT_for_max_timestep_factor_at_high_T = min_logT_for_max_timestep_factor_at_high_T
    2128            1 :  s% time_delta_coeff = time_delta_coeff
    2129            1 :  s% timestep_factor_for_retries = timestep_factor_for_retries
    2130            1 :  s% retry_hold = retry_hold
    2131            1 :  s% neg_mass_fraction_hold = neg_mass_fraction_hold
    2132            1 :  s% timestep_dt_factor = timestep_dt_factor
    2133            1 :  s% use_dt_low_pass_controller = use_dt_low_pass_controller
    2134              : 
    2135            1 :  s% force_timestep_min = force_timestep_min
    2136            1 :  s% force_timestep_min_years = force_timestep_min_years
    2137            1 :  s% force_timestep_min_factor = force_timestep_min_factor
    2138            1 :  s% force_timestep = force_timestep
    2139            1 :  s% force_timestep_years = force_timestep_years
    2140              : 
    2141            1 :  s% varcontrol_target = varcontrol_target
    2142            1 :  s% min_allowed_varcontrol_target = min_allowed_varcontrol_target
    2143            1 :  s% varcontrol_dt_limit_ratio_hard_max = varcontrol_dt_limit_ratio_hard_max
    2144            1 :  s% xa_scale = xa_scale
    2145              : 
    2146            1 :  s% solver_iters_timestep_limit = solver_iters_timestep_limit
    2147              : 
    2148            1 :  s% burn_steps_limit = burn_steps_limit
    2149            1 :  s% burn_steps_hard_limit = burn_steps_hard_limit
    2150              : 
    2151            1 :  s% diffusion_steps_limit = diffusion_steps_limit
    2152            1 :  s% diffusion_steps_hard_limit = diffusion_steps_hard_limit
    2153            1 :  s% diffusion_iters_limit = diffusion_iters_limit
    2154            1 :  s% diffusion_iters_hard_limit = diffusion_iters_hard_limit
    2155              : 
    2156            1 :  s% dt_div_dt_cell_collapse_limit = dt_div_dt_cell_collapse_limit
    2157            1 :  s% dt_div_dt_cell_collapse_hard_limit = dt_div_dt_cell_collapse_hard_limit
    2158            1 :  s% dt_div_min_dr_div_cs_limit = dt_div_min_dr_div_cs_limit
    2159            1 :  s% dt_div_min_dr_div_cs_hard_limit = dt_div_min_dr_div_cs_hard_limit
    2160              : 
    2161            1 :  s% min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit = min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit
    2162            1 :  s% min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit = min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit
    2163            1 :  s% min_k_for_dt_div_min_dr_div_cs_limit = min_k_for_dt_div_min_dr_div_cs_limit
    2164            1 :  s% min_q_for_dt_div_min_dr_div_cs_limit = min_q_for_dt_div_min_dr_div_cs_limit
    2165            1 :  s% max_q_for_dt_div_min_dr_div_cs_limit = max_q_for_dt_div_min_dr_div_cs_limit
    2166            1 :  s% check_remnant_only_for_dt_div_min_dr_div_cs_limit = check_remnant_only_for_dt_div_min_dr_div_cs_limit
    2167              : 
    2168            1 :  s% dX_mix_dist_limit = dX_mix_dist_limit
    2169              : 
    2170          101 :  s% dX_limit_species = dX_limit_species
    2171          101 :  s% dX_limit_min_X = dX_limit_min_X
    2172          101 :  s% dX_limit = dX_limit
    2173          101 :  s% dX_hard_limit = dX_hard_limit
    2174          101 :  s% dX_div_X_limit_min_X = dX_div_X_limit_min_X
    2175          101 :  s% dX_div_X_limit = dX_div_X_limit
    2176          101 :  s% dX_div_X_hard_limit = dX_div_X_hard_limit
    2177          101 :  s% dX_div_X_at_high_T_limit = dX_div_X_at_high_T_limit
    2178          101 :  s% dX_div_X_at_high_T_hard_limit = dX_div_X_at_high_T_hard_limit
    2179          101 :  s% dX_div_X_at_high_T_limit_lgT_min = dX_div_X_at_high_T_limit_lgT_min
    2180              : 
    2181          101 :  s% dX_decreases_only = dX_decreases_only
    2182              : 
    2183            1 :  s% dX_nuc_drop_min_X_limit = dX_nuc_drop_min_X_limit
    2184            1 :  s% dX_nuc_drop_max_A_limit = dX_nuc_drop_max_A_limit
    2185            1 :  s% dX_nuc_drop_limit = dX_nuc_drop_limit
    2186            1 :  s% dX_nuc_drop_limit_at_high_T = dX_nuc_drop_limit_at_high_T
    2187            1 :  s% dX_nuc_drop_hard_limit = dX_nuc_drop_hard_limit
    2188            1 :  s% dX_nuc_drop_min_yrs_for_dt = dX_nuc_drop_min_yrs_for_dt
    2189              : 
    2190            1 :  s% dL_div_L_limit_min_L = dL_div_L_limit_min_L
    2191            1 :  s% dL_div_L_limit = dL_div_L_limit
    2192            1 :  s% dL_div_L_hard_limit = dL_div_L_hard_limit
    2193              : 
    2194            1 :  s% delta_lgP_limit = delta_lgP_limit
    2195            1 :  s% delta_lgP_hard_limit = delta_lgP_hard_limit
    2196            1 :  s% delta_lgP_limit_min_lgP = delta_lgP_limit_min_lgP
    2197              : 
    2198            1 :  s% delta_lgRho_limit = delta_lgRho_limit
    2199            1 :  s% delta_lgRho_hard_limit = delta_lgRho_hard_limit
    2200            1 :  s% delta_lgRho_limit_min_lgRho = delta_lgRho_limit_min_lgRho
    2201              : 
    2202            1 :  s% delta_lgT_limit = delta_lgT_limit
    2203            1 :  s% delta_lgT_hard_limit = delta_lgT_hard_limit
    2204            1 :  s% delta_lgT_limit_min_lgT = delta_lgT_limit_min_lgT
    2205              : 
    2206            1 :  s% delta_lgE_limit = delta_lgE_limit
    2207            1 :  s% delta_lgE_hard_limit = delta_lgE_hard_limit
    2208            1 :  s% delta_lgE_limit_min_lgE = delta_lgE_limit_min_lgE
    2209              : 
    2210            1 :  s% delta_lgR_limit = delta_lgR_limit
    2211            1 :  s% delta_lgR_hard_limit = delta_lgR_hard_limit
    2212            1 :  s% delta_lgR_limit_min_lgR = delta_lgR_limit_min_lgR
    2213              : 
    2214            1 :  s% delta_Ye_highT_limit = delta_Ye_highT_limit
    2215            1 :  s% delta_Ye_highT_hard_limit = delta_Ye_highT_hard_limit
    2216            1 :  s% minT_for_highT_Ye_limit = minT_for_highT_Ye_limit
    2217              : 
    2218            1 :  s% delta_lgL_nuc_cat_limit = delta_lgL_nuc_cat_limit
    2219            1 :  s% delta_lgL_nuc_cat_hard_limit = delta_lgL_nuc_cat_hard_limit
    2220            1 :  s% lgL_nuc_cat_burn_min = lgL_nuc_cat_burn_min
    2221            1 :  s% lgL_nuc_mix_dist_limit = lgL_nuc_mix_dist_limit
    2222              : 
    2223            1 :  s% delta_lgL_H_limit = delta_lgL_H_limit
    2224            1 :  s% delta_lgL_H_hard_limit = delta_lgL_H_hard_limit
    2225            1 :  s% lgL_H_burn_min = lgL_H_burn_min
    2226            1 :  s% lgL_H_drop_factor = lgL_H_drop_factor
    2227            1 :  s% lgL_H_burn_relative_limit = lgL_H_burn_relative_limit
    2228              : 
    2229            1 :  s% delta_lgL_He_limit = delta_lgL_He_limit
    2230            1 :  s% delta_lgL_He_hard_limit = delta_lgL_He_hard_limit
    2231            1 :  s% lgL_He_burn_min = lgL_He_burn_min
    2232            1 :  s% lgL_He_drop_factor = lgL_He_drop_factor
    2233            1 :  s% lgL_He_burn_relative_limit = lgL_He_burn_relative_limit
    2234              : 
    2235            1 :  s% delta_lgL_z_limit = delta_lgL_z_limit
    2236            1 :  s% delta_lgL_z_hard_limit = delta_lgL_z_hard_limit
    2237            1 :  s% lgL_z_burn_min = lgL_z_burn_min
    2238            1 :  s% lgL_z_drop_factor = lgL_z_drop_factor
    2239            1 :  s% lgL_z_burn_relative_limit = lgL_z_burn_relative_limit
    2240              : 
    2241            1 :  s% delta_lgL_power_photo_limit = delta_lgL_power_photo_limit
    2242            1 :  s% delta_lgL_power_photo_hard_limit = delta_lgL_power_photo_hard_limit
    2243            1 :  s% lgL_power_photo_burn_min = lgL_power_photo_burn_min
    2244            1 :  s% lgL_power_photo_drop_factor = lgL_power_photo_drop_factor
    2245            1 :  s% min_lgT_for_lgL_power_photo_limit = min_lgT_for_lgL_power_photo_limit
    2246              : 
    2247            1 :  s% delta_lgL_nuc_limit = delta_lgL_nuc_limit
    2248            1 :  s% delta_lgL_nuc_hard_limit = delta_lgL_nuc_hard_limit
    2249            1 :  s% delta_lgL_nuc_at_high_T_limit = delta_lgL_nuc_at_high_T_limit
    2250            1 :  s% delta_lgL_nuc_at_high_T_hard_limit = delta_lgL_nuc_at_high_T_hard_limit
    2251            1 :  s% delta_lgL_nuc_at_high_T_limit_lgT_min = delta_lgL_nuc_at_high_T_limit_lgT_min
    2252              : 
    2253            1 :  s% max_lgT_for_lgL_nuc_limit = max_lgT_for_lgL_nuc_limit
    2254            1 :  s% lgL_nuc_burn_min = lgL_nuc_burn_min
    2255            1 :  s% lgL_nuc_drop_factor = lgL_nuc_drop_factor
    2256              : 
    2257            1 :  s% delta_lgRho_cntr_limit = delta_lgRho_cntr_limit
    2258            1 :  s% delta_lgRho_cntr_hard_limit = delta_lgRho_cntr_hard_limit
    2259              : 
    2260            1 :  s% delta_lgP_cntr_limit = delta_lgP_cntr_limit
    2261            1 :  s% delta_lgP_cntr_hard_limit = delta_lgP_cntr_hard_limit
    2262              : 
    2263            1 :  s% delta_lgT_cntr_limit = delta_lgT_cntr_limit
    2264            1 :  s% delta_lgT_cntr_hard_limit = delta_lgT_cntr_hard_limit
    2265            1 :  s% delta_lgT_cntr_limit_only_after_near_zams = delta_lgT_cntr_limit_only_after_near_zams
    2266              : 
    2267            1 :  s% delta_lgT_max_limit = delta_lgT_max_limit
    2268            1 :  s% delta_lgT_max_hard_limit = delta_lgT_max_hard_limit
    2269            1 :  s% delta_lgT_max_limit_lgT_min = delta_lgT_max_limit_lgT_min
    2270            1 :  s% delta_lgT_max_limit_only_after_near_zams = delta_lgT_max_limit_only_after_near_zams
    2271              : 
    2272            1 :  s% delta_lgT_max_at_high_T_limit = delta_lgT_max_at_high_T_limit
    2273            1 :  s% delta_lgT_max_at_high_T_hard_limit = delta_lgT_max_at_high_T_hard_limit
    2274            1 :  s% delta_lgT_max_at_high_T_limit_lgT_min = delta_lgT_max_at_high_T_limit_lgT_min
    2275              : 
    2276            1 :  s% delta_log_eps_nuc_limit = delta_log_eps_nuc_limit
    2277            1 :  s% delta_log_eps_nuc_hard_limit = delta_log_eps_nuc_hard_limit
    2278              : 
    2279            1 :  s% delta_dX_div_X_cntr_min = delta_dX_div_X_cntr_min
    2280            1 :  s% delta_dX_div_X_cntr_max = delta_dX_div_X_cntr_max
    2281            1 :  s% delta_dX_div_X_cntr_limit = delta_dX_div_X_cntr_limit
    2282            1 :  s% delta_dX_div_X_cntr_hard_limit = delta_dX_div_X_cntr_hard_limit
    2283              : 
    2284            1 :  s% delta_dX_div_X_drop_only = delta_dX_div_X_drop_only
    2285            1 :  s% delta_lg_XH_drop_only = delta_lg_XH_drop_only
    2286            1 :  s% delta_lg_XHe_drop_only = delta_lg_XHe_drop_only
    2287            1 :  s% delta_lg_XC_drop_only = delta_lg_XC_drop_only
    2288            1 :  s% delta_lg_XNe_drop_only = delta_lg_XNe_drop_only
    2289            1 :  s% delta_lg_XO_drop_only = delta_lg_XO_drop_only
    2290            1 :  s% delta_lg_XSi_drop_only = delta_lg_XSi_drop_only
    2291            1 :  s% delta_XH_drop_only = delta_XH_drop_only
    2292            1 :  s% delta_XHe_drop_only = delta_XHe_drop_only
    2293            1 :  s% delta_XC_drop_only = delta_XC_drop_only
    2294            1 :  s% delta_XNe_drop_only = delta_XNe_drop_only
    2295            1 :  s% delta_XO_drop_only = delta_XO_drop_only
    2296            1 :  s% delta_XSi_drop_only = delta_XSi_drop_only
    2297              : 
    2298            1 :  s% delta_lg_XH_cntr_min = delta_lg_XH_cntr_min
    2299            1 :  s% delta_lg_XH_cntr_max = delta_lg_XH_cntr_max
    2300            1 :  s% delta_lg_XH_cntr_limit = delta_lg_XH_cntr_limit
    2301            1 :  s% delta_lg_XH_cntr_hard_limit = delta_lg_XH_cntr_hard_limit
    2302              : 
    2303            1 :  s% delta_lg_XHe_cntr_min = delta_lg_XHe_cntr_min
    2304            1 :  s% delta_lg_XHe_cntr_max = delta_lg_XHe_cntr_max
    2305            1 :  s% delta_lg_XHe_cntr_limit = delta_lg_XHe_cntr_limit
    2306            1 :  s% delta_lg_XHe_cntr_hard_limit = delta_lg_XHe_cntr_hard_limit
    2307              : 
    2308            1 :  s% delta_lg_XC_cntr_min = delta_lg_XC_cntr_min
    2309            1 :  s% delta_lg_XC_cntr_max = delta_lg_XC_cntr_max
    2310            1 :  s% delta_lg_XC_cntr_limit = delta_lg_XC_cntr_limit
    2311            1 :  s% delta_lg_XC_cntr_hard_limit = delta_lg_XC_cntr_hard_limit
    2312              : 
    2313            1 :  s% delta_lg_XNe_cntr_limit = delta_lg_XNe_cntr_limit
    2314            1 :  s% delta_lg_XNe_cntr_hard_limit = delta_lg_XNe_cntr_hard_limit
    2315            1 :  s% delta_lg_XNe_cntr_min = delta_lg_XNe_cntr_min
    2316            1 :  s% delta_lg_XNe_cntr_max = delta_lg_XNe_cntr_max
    2317              : 
    2318            1 :  s% delta_lg_XO_cntr_limit = delta_lg_XO_cntr_limit
    2319            1 :  s% delta_lg_XO_cntr_hard_limit = delta_lg_XO_cntr_hard_limit
    2320            1 :  s% delta_lg_XO_cntr_min = delta_lg_XO_cntr_min
    2321            1 :  s% delta_lg_XO_cntr_max = delta_lg_XO_cntr_max
    2322              : 
    2323            1 :  s% delta_lg_XSi_cntr_limit = delta_lg_XSi_cntr_limit
    2324            1 :  s% delta_lg_XSi_cntr_hard_limit = delta_lg_XSi_cntr_hard_limit
    2325            1 :  s% delta_lg_XSi_cntr_min = delta_lg_XSi_cntr_min
    2326            1 :  s% delta_lg_XSi_cntr_max = delta_lg_XSi_cntr_max
    2327              : 
    2328            1 :  s% delta_XH_cntr_limit = delta_XH_cntr_limit
    2329            1 :  s% delta_XH_cntr_hard_limit = delta_XH_cntr_hard_limit
    2330            1 :  s% delta_XHe_cntr_limit = delta_XHe_cntr_limit
    2331            1 :  s% delta_XHe_cntr_hard_limit = delta_XHe_cntr_hard_limit
    2332            1 :  s% delta_XC_cntr_limit = delta_XC_cntr_limit
    2333            1 :  s% delta_XC_cntr_hard_limit = delta_XC_cntr_hard_limit
    2334            1 :  s% delta_XNe_cntr_limit = delta_XNe_cntr_limit
    2335            1 :  s% delta_XNe_cntr_hard_limit = delta_XNe_cntr_hard_limit
    2336            1 :  s% delta_XO_cntr_limit = delta_XO_cntr_limit
    2337            1 :  s% delta_XO_cntr_hard_limit = delta_XO_cntr_hard_limit
    2338            1 :  s% delta_XSi_cntr_limit = delta_XSi_cntr_limit
    2339            1 :  s% delta_XSi_cntr_hard_limit = delta_XSi_cntr_hard_limit
    2340              : 
    2341            1 :  s% delta_lgTeff_limit = delta_lgTeff_limit
    2342            1 :  s% delta_lgTeff_hard_limit = delta_lgTeff_hard_limit
    2343              : 
    2344            1 :  s% delta_lgL_limit = delta_lgL_limit
    2345            1 :  s% delta_lgL_limit_L_min = delta_lgL_limit_L_min
    2346            1 :  s% delta_lgL_hard_limit = delta_lgL_hard_limit
    2347              : 
    2348            1 :  s% delta_HR_ds_L = delta_HR_ds_L
    2349            1 :  s% delta_HR_ds_Teff = delta_HR_ds_Teff
    2350            1 :  s% delta_HR_limit = delta_HR_limit
    2351            1 :  s% delta_HR_hard_limit = delta_HR_hard_limit
    2352              : 
    2353            1 :  s% delta_lg_star_mass_limit = delta_lg_star_mass_limit
    2354            1 :  s% delta_lg_star_mass_hard_limit = delta_lg_star_mass_hard_limit
    2355              : 
    2356            1 :  s% delta_mdot_atol = delta_mdot_atol
    2357            1 :  s% delta_mdot_rtol = delta_mdot_rtol
    2358            1 :  s% delta_mdot_limit = delta_mdot_limit
    2359            1 :  s% delta_mdot_hard_limit = delta_mdot_hard_limit
    2360              : 
    2361            1 :  s% adjust_J_q_limit = adjust_J_q_limit
    2362            1 :  s% adjust_J_q_hard_limit = adjust_J_q_hard_limit
    2363            1 :  s% never_skip_hard_limits = never_skip_hard_limits
    2364            1 :  s% relax_hard_limits_after_retry = relax_hard_limits_after_retry
    2365            1 :  s% report_dt_hard_limit_retries = report_dt_hard_limit_retries
    2366            1 :  s% report_min_dr_div_cs = report_min_dr_div_cs
    2367            1 :  s% report_solver_dt_info = report_solver_dt_info
    2368              : 
    2369            1 :  s% limit_for_rel_error_in_energy_conservation = limit_for_rel_error_in_energy_conservation
    2370            1 :  s% hard_limit_for_rel_error_in_energy_conservation = hard_limit_for_rel_error_in_energy_conservation
    2371              : 
    2372            1 :  s% min_chem_eqn_scale = min_chem_eqn_scale
    2373              : 
    2374            1 :  s% trace_evolve = trace_evolve
    2375              : 
    2376              : 
    2377              :  ! misc
    2378            1 :  s% zams_filename = zams_filename
    2379            1 :  s% set_rho_to_dm_div_dV = set_rho_to_dm_div_dV
    2380              : 
    2381            1 :  s% use_other_mlt_results = use_other_mlt_results
    2382            1 :  s% use_other_surface_PT = use_other_surface_PT
    2383            1 :  s% use_other_kap = use_other_kap
    2384            1 :  s% use_other_diffusion = use_other_diffusion
    2385            1 :  s% use_other_diffusion_factor = use_other_diffusion_factor
    2386            1 :  s% use_other_adjust_mdot = use_other_adjust_mdot
    2387            1 :  s% use_other_j_for_adjust_J_lost = use_other_j_for_adjust_J_lost
    2388            1 :  s% use_other_alpha_mlt = use_other_alpha_mlt
    2389            1 :  s% use_other_am_mixing = use_other_am_mixing
    2390            1 :  s% use_other_brunt = use_other_brunt
    2391            1 :  s% use_other_brunt_smoothing = use_other_brunt_smoothing
    2392            1 :  s% use_other_solver_monitor = use_other_solver_monitor
    2393            1 :  s% use_other_build_initial_model = use_other_build_initial_model
    2394            1 :  s% use_other_cgrav = use_other_cgrav
    2395            1 :  s% use_other_mesh_delta_coeff_factor = use_other_mesh_delta_coeff_factor
    2396            1 :  s% use_other_energy_implicit = use_other_energy_implicit
    2397            1 :  s% use_other_remove_surface = use_other_remove_surface
    2398            1 :  s% use_other_momentum = use_other_momentum
    2399            1 :  s% use_other_momentum_implicit = use_other_momentum_implicit
    2400            1 :  s% use_other_pressure = use_other_pressure
    2401            1 :  s% use_other_energy = use_other_energy
    2402            1 :  s% use_other_mesh_functions = use_other_mesh_functions
    2403            1 :  s% use_other_eps_grav = use_other_eps_grav
    2404            1 :  s% use_other_gradr_factor = use_other_gradr_factor
    2405            1 :  s% use_other_D_mix = use_other_D_mix
    2406            1 :  s% use_other_neu = use_other_neu
    2407            1 :  s% use_other_net_get = use_other_net_get
    2408            1 :  s% use_other_opacity_factor = use_other_opacity_factor
    2409            1 :  s% use_other_diffusion_coefficients = use_other_diffusion_coefficients
    2410            1 :  s% use_other_pgstar_plots = use_other_pgstar_plots
    2411            1 :  s% use_other_eval_fp_ft = use_other_eval_fp_ft
    2412            1 :  s% use_other_eval_i_rot = use_other_eval_i_rot
    2413            1 :  s% use_other_torque = use_other_torque
    2414            1 :  s% use_other_torque_implicit = use_other_torque_implicit
    2415            1 :  s% use_other_wind = use_other_wind
    2416            1 :  s% use_other_accreting_state = use_other_accreting_state
    2417            1 :  s% use_other_after_struct_burn_mix = use_other_after_struct_burn_mix
    2418            1 :  s% use_other_before_struct_burn_mix = use_other_before_struct_burn_mix
    2419            1 :  s% use_other_astero_freq_corr = use_other_astero_freq_corr
    2420            1 :  s% use_other_timestep_limit = use_other_timestep_limit
    2421            1 :  s% use_other_set_pgstar_controls = use_other_set_pgstar_controls
    2422            1 :  s% use_other_screening = use_other_screening
    2423            1 :  s% use_other_rate_get = use_other_rate_get
    2424            1 :  s% use_other_net_derivs = use_other_net_derivs
    2425            1 :  s% use_other_split_burn = use_other_split_burn
    2426            1 :  s% use_other_close_gaps = use_other_close_gaps
    2427              : 
    2428          101 :  s% x_ctrl = x_ctrl
    2429          101 :  s% x_integer_ctrl = x_integer_ctrl
    2430          101 :  s% x_logical_ctrl = x_logical_ctrl
    2431          101 :  s% x_character_ctrl = x_character_ctrl
    2432              : 
    2433              :  ! info for debugging
    2434            1 :  s% stop_for_bad_nums = stop_for_bad_nums
    2435            1 :  s% report_ierr = report_ierr
    2436            1 :  s% report_bad_negative_xa = report_bad_negative_xa
    2437              : 
    2438            1 :  s% diffusion_dump_call_number = diffusion_dump_call_number
    2439              : 
    2440            1 :  s% surface_accel_div_grav_limit = surface_accel_div_grav_limit
    2441            1 :  s% steps_before_start_stress_test = steps_before_start_stress_test
    2442            1 :  s% stress_test_relax = stress_test_relax
    2443              : 
    2444            1 :  end subroutine store_controls
    2445              : 
    2446              : 
    2447            0 :  subroutine set_controls_for_writing(s, ierr)
    2448            1 :  use star_private_def
    2449              :  use chem_def  ! categories
    2450              :  type (star_info), pointer :: s
    2451              :  integer, intent(out) :: ierr
    2452              : 
    2453            0 :  ierr = 0
    2454              : 
    2455              :  ! where to start
    2456            0 :  initial_mass = s% initial_mass
    2457            0 :  initial_z = s% initial_z
    2458            0 :  initial_y = s% initial_y
    2459            0 :  initial_he3 = s% initial_he3
    2460              : 
    2461              :  ! definition of core boundaries
    2462            0 :  he_core_boundary_h1_fraction = s% he_core_boundary_h1_fraction
    2463            0 :  co_core_boundary_he4_fraction = s% co_core_boundary_he4_fraction
    2464            0 :  one_core_boundary_he4_c12_fraction = s% one_core_boundary_he4_c12_fraction
    2465            0 :  fe_core_boundary_si28_fraction = s% fe_core_boundary_si28_fraction
    2466            0 :  neutron_rich_core_boundary_Ye_max = s% neutron_rich_core_boundary_Ye_max
    2467            0 :  min_boundary_fraction = s% min_boundary_fraction
    2468              : 
    2469              :  ! when to stop
    2470            0 :  max_model_number = s% max_model_number
    2471            0 :  max_abs_rel_run_E_err = s% max_abs_rel_run_E_err
    2472            0 :  max_number_retries = s% max_number_retries
    2473            0 :  relax_max_number_retries = s% relax_max_number_retries
    2474            0 :  max_age = s% max_age
    2475            0 :  max_age_in_days = s% max_age_in_days
    2476            0 :  max_age_in_seconds = s% max_age_in_seconds
    2477            0 :  num_adjusted_dt_steps_before_max_age = s% num_adjusted_dt_steps_before_max_age
    2478            0 :  dt_years_for_steps_before_max_age = s% dt_years_for_steps_before_max_age
    2479            0 :  reduction_factor_for_max_timestep = s% reduction_factor_for_max_timestep
    2480            0 :  when_to_stop_rtol = s% when_to_stop_rtol
    2481            0 :  when_to_stop_atol = s% when_to_stop_atol
    2482            0 :  gamma_center_limit = s% gamma_center_limit
    2483            0 :  eta_center_limit = s% eta_center_limit
    2484            0 :  log_center_temp_upper_limit = s% log_center_temp_upper_limit
    2485            0 :  log_max_temp_upper_limit = s% log_max_temp_upper_limit
    2486            0 :  log_max_temp_lower_limit = s% log_max_temp_lower_limit
    2487            0 :  log_center_temp_lower_limit = s% log_center_temp_lower_limit
    2488            0 :  log_center_density_upper_limit = s% log_center_density_upper_limit
    2489            0 :  log_center_density_lower_limit = s% log_center_density_lower_limit
    2490            0 :  min_timestep_limit = s% min_timestep_limit
    2491              : 
    2492            0 :  center_entropy_upper_limit = s% center_entropy_upper_limit
    2493            0 :  center_entropy_lower_limit = s% center_entropy_lower_limit
    2494            0 :  max_entropy_upper_limit = s% max_entropy_upper_limit
    2495            0 :  max_entropy_lower_limit = s% max_entropy_lower_limit
    2496              : 
    2497            0 :  fe_core_infall_limit = s% fe_core_infall_limit
    2498            0 :  fe_core_infall_mass = s% fe_core_infall_mass
    2499            0 :  center_Ye_lower_limit = s% center_Ye_lower_limit
    2500            0 :  center_R_lower_limit = s% center_R_lower_limit
    2501            0 :  non_fe_core_infall_limit = s% non_fe_core_infall_limit
    2502            0 :  non_fe_core_infall_mass = s% non_fe_core_infall_mass
    2503            0 :  non_fe_core_rebound_limit = s% non_fe_core_rebound_limit
    2504            0 :  v_div_csound_surf_limit = s% v_div_csound_surf_limit
    2505            0 :  v_div_csound_max_limit = s% v_div_csound_max_limit
    2506            0 :  Lnuc_div_L_upper_limit = s% Lnuc_div_L_upper_limit
    2507            0 :  Lnuc_div_L_lower_limit = s% Lnuc_div_L_lower_limit
    2508            0 :  v_surf_div_v_kh_upper_limit = s% v_surf_div_v_kh_upper_limit
    2509            0 :  v_surf_div_v_kh_lower_limit = s% v_surf_div_v_kh_lower_limit
    2510            0 :  v_surf_div_v_esc_limit = s% v_surf_div_v_esc_limit
    2511            0 :  v_surf_kms_limit = s% v_surf_kms_limit
    2512              : 
    2513            0 :  stop_near_zams = s% stop_near_zams
    2514            0 :  stop_at_phase_PreMS = s% stop_at_phase_PreMS
    2515            0 :  stop_at_phase_ZAMS = s% stop_at_phase_ZAMS
    2516            0 :  stop_at_phase_IAMS = s% stop_at_phase_IAMS
    2517            0 :  stop_at_phase_TAMS = s% stop_at_phase_TAMS
    2518            0 :  stop_at_phase_He_Burn = s% stop_at_phase_He_Burn
    2519            0 :  stop_at_phase_ZACHeB = s% stop_at_phase_ZACHeB
    2520            0 :  stop_at_phase_TACHeB = s% stop_at_phase_TACHeB
    2521            0 :  stop_at_phase_TP_AGB = s% stop_at_phase_TP_AGB
    2522            0 :  stop_at_phase_C_Burn = s% stop_at_phase_C_Burn
    2523            0 :  stop_at_phase_Ne_Burn = s% stop_at_phase_Ne_Burn
    2524            0 :  stop_at_phase_O_Burn = s% stop_at_phase_O_Burn
    2525            0 :  stop_at_phase_Si_Burn = s% stop_at_phase_Si_Burn
    2526            0 :  stop_at_phase_WDCS = s% stop_at_phase_WDCS
    2527            0 :  Lnuc_div_L_zams_limit = s% Lnuc_div_L_zams_limit
    2528            0 :  Pgas_div_P_limit = s% Pgas_div_P_limit
    2529            0 :  Pgas_div_P_limit_max_q = s% Pgas_div_P_limit_max_q
    2530            0 :  gamma1_limit = s% gamma1_limit
    2531            0 :  gamma1_limit_max_q = s% gamma1_limit_max_q
    2532            0 :  gamma1_limit_max_v_div_vesc = s% gamma1_limit_max_v_div_vesc
    2533            0 :  peak_burn_vconv_div_cs_limit = s% peak_burn_vconv_div_cs_limit
    2534            0 :  omega_div_omega_crit_limit = s% omega_div_omega_crit_limit
    2535            0 :  delta_nu_lower_limit = s% delta_nu_lower_limit
    2536            0 :  delta_nu_upper_limit = s% delta_nu_upper_limit
    2537            0 :  delta_Pg_lower_limit = s% delta_Pg_lower_limit
    2538            0 :  delta_Pg_upper_limit = s% delta_Pg_upper_limit
    2539            0 :  shock_mass_upper_limit = s% shock_mass_upper_limit
    2540            0 :  mach1_mass_upper_limit = s% mach1_mass_upper_limit
    2541            0 :  stop_when_reach_this_cumulative_extra_heating = s% stop_when_reach_this_cumulative_extra_heating
    2542              : 
    2543            0 :  xa_central_lower_limit_species = s% xa_central_lower_limit_species
    2544            0 :  xa_central_lower_limit = s% xa_central_lower_limit
    2545              : 
    2546            0 :  xa_central_upper_limit_species = s% xa_central_upper_limit_species
    2547            0 :  xa_central_upper_limit = s% xa_central_upper_limit
    2548              : 
    2549            0 :  xa_surface_lower_limit_species = s% xa_surface_lower_limit_species
    2550            0 :  xa_surface_lower_limit = s% xa_surface_lower_limit
    2551              : 
    2552            0 :  xa_surface_upper_limit_species = s% xa_surface_upper_limit_species
    2553            0 :  xa_surface_upper_limit = s% xa_surface_upper_limit
    2554              : 
    2555            0 :  xa_average_lower_limit_species = s% xa_average_lower_limit_species
    2556            0 :  xa_average_lower_limit = s% xa_average_lower_limit
    2557              : 
    2558            0 :  xa_average_upper_limit_species = s% xa_average_upper_limit_species
    2559            0 :  xa_average_upper_limit = s% xa_average_upper_limit
    2560              : 
    2561            0 :  HB_limit = s% HB_limit
    2562              : 
    2563            0 :  star_mass_max_limit = s% star_mass_max_limit
    2564            0 :  star_mass_min_limit = s% star_mass_min_limit
    2565            0 :  ejecta_mass_max_limit = s% ejecta_mass_max_limit
    2566            0 :  remnant_mass_min_limit = s% remnant_mass_min_limit
    2567              : 
    2568            0 :  star_species_mass_min_limit = s% star_species_mass_min_limit
    2569            0 :  star_species_mass_min_limit_iso = s% star_species_mass_min_limit_iso
    2570            0 :  star_species_mass_max_limit = s% star_species_mass_max_limit
    2571            0 :  star_species_mass_max_limit_iso = s% star_species_mass_max_limit_iso
    2572              : 
    2573            0 :  xmstar_min_limit = s% xmstar_min_limit
    2574            0 :  xmstar_max_limit = s% xmstar_max_limit
    2575            0 :  envelope_mass_limit = s% envelope_mass_limit
    2576            0 :  envelope_fraction_left_limit = s% envelope_fraction_left_limit
    2577              : 
    2578            0 :  he_core_mass_limit = s% he_core_mass_limit
    2579            0 :  co_core_mass_limit = s% co_core_mass_limit
    2580            0 :  one_core_mass_limit = s% one_core_mass_limit
    2581            0 :  fe_core_mass_limit = s% fe_core_mass_limit
    2582            0 :  neutron_rich_core_mass_limit = s% neutron_rich_core_mass_limit
    2583              : 
    2584            0 :  he_layer_mass_lower_limit = s% he_layer_mass_lower_limit
    2585            0 :  abs_diff_lg_LH_lg_Ls_limit = s% abs_diff_lg_LH_lg_Ls_limit
    2586            0 :  Teff_upper_limit = s% Teff_upper_limit
    2587            0 :  Teff_lower_limit = s% Teff_lower_limit
    2588            0 :  photosphere_m_upper_limit = s% photosphere_m_upper_limit
    2589            0 :  photosphere_m_lower_limit = s% photosphere_m_lower_limit
    2590            0 :  photosphere_m_sub_M_center_limit = s% photosphere_m_sub_M_center_limit
    2591            0 :  photosphere_r_upper_limit = s% photosphere_r_upper_limit
    2592            0 :  photosphere_r_lower_limit = s% photosphere_r_lower_limit
    2593            0 :  log_Teff_upper_limit = s% log_Teff_upper_limit
    2594            0 :  log_Teff_lower_limit = s% log_Teff_lower_limit
    2595            0 :  log_Tsurf_upper_limit = s% log_Tsurf_upper_limit
    2596            0 :  log_Tsurf_lower_limit = s% log_Tsurf_lower_limit
    2597            0 :  log_Rsurf_upper_limit = s% log_Rsurf_upper_limit
    2598            0 :  log_Rsurf_lower_limit = s% log_Rsurf_lower_limit
    2599            0 :  log_Psurf_upper_limit = s% log_Psurf_upper_limit
    2600            0 :  log_Psurf_lower_limit = s% log_Psurf_lower_limit
    2601            0 :  log_Dsurf_upper_limit = s% log_Dsurf_upper_limit
    2602            0 :  log_Dsurf_lower_limit = s% log_Dsurf_lower_limit
    2603            0 :  log_L_upper_limit = s% log_L_upper_limit
    2604            0 :  log_L_lower_limit = s% log_L_lower_limit
    2605            0 :  log_g_upper_limit = s% log_g_upper_limit
    2606            0 :  log_g_lower_limit = s% log_g_lower_limit
    2607              : 
    2608            0 :  power_nuc_burn_upper_limit = s% power_nuc_burn_upper_limit
    2609            0 :  power_h_burn_upper_limit = s% power_h_burn_upper_limit
    2610            0 :  power_he_burn_upper_limit = s% power_he_burn_upper_limit
    2611            0 :  power_z_burn_upper_limit = s% power_z_burn_upper_limit
    2612            0 :  power_nuc_burn_lower_limit = s% power_nuc_burn_lower_limit
    2613            0 :  power_h_burn_lower_limit = s% power_h_burn_lower_limit
    2614            0 :  power_he_burn_lower_limit = s% power_he_burn_lower_limit
    2615            0 :  power_z_burn_lower_limit = s% power_z_burn_lower_limit
    2616              : 
    2617              : 
    2618              :  ! output of "snapshots" for restarts
    2619            0 :  photo_interval = s% photo_interval
    2620            0 :  photo_digits = s% photo_digits
    2621            0 :  photo_directory = s% photo_directory
    2622              :  ! output of history and profiles.
    2623            0 :  do_history_file = s% do_history_file
    2624            0 :  history_interval = s% history_interval
    2625              : 
    2626            0 :  write_header_frequency = s% write_header_frequency
    2627            0 :  terminal_interval = s% terminal_interval
    2628            0 :  terminal_show_age_units = s% terminal_show_age_units
    2629            0 :  terminal_show_timestep_units = s% terminal_show_timestep_units
    2630            0 :  terminal_show_log_dt = s% terminal_show_log_dt
    2631            0 :  terminal_show_log_age = s% terminal_show_log_age
    2632            0 :  extra_terminal_output_file = s% extra_terminal_output_file
    2633            0 :  num_trace_history_values = s% num_trace_history_values
    2634            0 :  trace_history_value_name = s% trace_history_value_name
    2635              : 
    2636            0 :  log_directory = s% log_directory
    2637              : 
    2638            0 :  star_history_name = s% star_history_name
    2639            0 :  star_history_header_name = s% star_history_header_name
    2640            0 :  star_history_dbl_format = s% star_history_dbl_format
    2641            0 :  star_history_int_format = s% star_history_int_format
    2642            0 :  star_history_txt_format = s% star_history_txt_format
    2643              : 
    2644            0 :  profiles_index_name = s% profiles_index_name
    2645            0 :  profile_data_prefix = s% profile_data_prefix
    2646            0 :  profile_data_suffix = s% profile_data_suffix
    2647            0 :  profile_data_header_suffix = s% profile_data_header_suffix
    2648            0 :  profile_int_format = s% profile_int_format
    2649            0 :  profile_txt_format = s% profile_txt_format
    2650            0 :  profile_dbl_format = s% profile_dbl_format
    2651            0 :  profile_header_include_sys_details = s% profile_header_include_sys_details
    2652            0 :  write_profiles_flag = s% write_profiles_flag
    2653            0 :  profile_interval = s% profile_interval
    2654            0 :  priority_profile_interval = s% priority_profile_interval
    2655            0 :  profile_model = s% profile_model
    2656            0 :  max_num_profile_models = s% max_num_profile_models
    2657            0 :  max_num_profile_zones = s% max_num_profile_zones
    2658              : 
    2659            0 :  write_controls_info_with_profile = s% write_controls_info_with_profile
    2660            0 :  controls_data_prefix = s% controls_data_prefix
    2661            0 :  controls_data_suffix = s% controls_data_suffix
    2662              : 
    2663            0 :  write_pulse_data_with_profile = s% write_pulse_data_with_profile
    2664            0 :  pulse_data_format = s% pulse_data_format
    2665            0 :  add_atmosphere_to_pulse_data = s% add_atmosphere_to_pulse_data
    2666            0 :  add_center_point_to_pulse_data = s% add_center_point_to_pulse_data
    2667            0 :  keep_surface_point_for_pulse_data = s% keep_surface_point_for_pulse_data
    2668            0 :  add_double_points_to_pulse_data = s% add_double_points_to_pulse_data
    2669            0 :  interpolate_rho_for_pulse_data = s% interpolate_rho_for_pulse_data
    2670            0 :  threshold_grad_mu_for_double_point = s% threshold_grad_mu_for_double_point
    2671            0 :  max_number_of_double_points = s% max_number_of_double_points
    2672              : 
    2673            0 :  gyre_data_schema = s% gyre_data_schema
    2674              : 
    2675            0 :  fgong_header = s% fgong_header
    2676            0 :  fgong_ivers = s% fgong_ivers
    2677              : 
    2678            0 :  max_num_gyre_points = s% max_num_gyre_points
    2679            0 :  format_for_OSC_data = s% format_for_OSC_data
    2680            0 :  fgong_zero_A_inside_r = s% fgong_zero_A_inside_r
    2681            0 :  use_other_export_pulse_data = s% use_other_export_pulse_data
    2682            0 :  use_other_get_pulse_data = s% use_other_get_pulse_data
    2683            0 :  use_other_edit_pulse_data = s% use_other_edit_pulse_data
    2684              : 
    2685            0 :  write_model_with_profile = s% write_model_with_profile
    2686            0 :  model_data_prefix = s% model_data_prefix
    2687            0 :  model_data_suffix = s% model_data_suffix
    2688              : 
    2689            0 :  mixing_D_limit_for_log = s% mixing_D_limit_for_log
    2690            0 :  trace_mass_location = s% trace_mass_location
    2691            0 :  min_tau_for_max_abs_v_location = s% min_tau_for_max_abs_v_location
    2692            0 :  min_q_for_inner_mach1_location = s% min_q_for_inner_mach1_location
    2693            0 :  max_q_for_outer_mach1_location = s% max_q_for_outer_mach1_location
    2694              : 
    2695            0 :  conv_core_gap_dq_limit = s% conv_core_gap_dq_limit
    2696              : 
    2697              :  ! burn zone eps definitions for use in logs and profiles
    2698            0 :  burn_min1 = s% burn_min1
    2699            0 :  burn_min2 = s% burn_min2
    2700              : 
    2701            0 :  max_conv_vel_div_csound_maxq = s% max_conv_vel_div_csound_maxq
    2702            0 :  width_for_limit_conv_vel = s% width_for_limit_conv_vel
    2703            0 :  max_q_for_limit_conv_vel = s% max_q_for_limit_conv_vel
    2704            0 :  max_mass_in_gm_for_limit_conv_vel = s% max_mass_in_gm_for_limit_conv_vel
    2705            0 :  max_r_in_cm_for_limit_conv_vel = s% max_r_in_cm_for_limit_conv_vel
    2706              : 
    2707              :  ! for reported average values
    2708            0 :  surface_avg_abundance_dq = s% surface_avg_abundance_dq
    2709            0 :  center_avg_value_dq = s% center_avg_value_dq
    2710              : 
    2711              :  ! mixing parameters
    2712            0 :  min_convective_gap = s% min_convective_gap
    2713            0 :  min_thermohaline_gap = s% min_thermohaline_gap
    2714            0 :  min_semiconvection_gap = s% min_semiconvection_gap
    2715            0 :  min_thermohaline_dropout = s% min_thermohaline_dropout
    2716            0 :  max_dropout_gradL_sub_grada = s% max_dropout_gradL_sub_grada
    2717            0 :  remove_embedded_semiconvection = s% remove_embedded_semiconvection
    2718            0 :  recalc_mix_info_after_evolve = s% recalc_mix_info_after_evolve
    2719            0 :  remove_mixing_glitches = s% remove_mixing_glitches
    2720            0 :  okay_to_remove_mixing_singleton = s% okay_to_remove_mixing_singleton
    2721            0 :  prune_bad_cz_min_Hp_height = s% prune_bad_cz_min_Hp_height
    2722            0 :  prune_bad_cz_min_log_eps_nuc = s% prune_bad_cz_min_log_eps_nuc
    2723            0 :  redo_conv_for_dr_lt_mixing_length = s% redo_conv_for_dr_lt_mixing_length
    2724              : 
    2725            0 :  alpha_semiconvection = s% alpha_semiconvection
    2726            0 :  semiconvection_option = s% semiconvection_option
    2727            0 :  use_Ledoux_criterion = s% use_Ledoux_criterion
    2728            0 :  num_cells_for_smooth_gradL_composition_term = s% num_cells_for_smooth_gradL_composition_term
    2729            0 :  threshold_for_smooth_gradL_composition_term = s% threshold_for_smooth_gradL_composition_term
    2730            0 :  clip_D_limit = s% clip_D_limit
    2731              : 
    2732            0 :  okay_to_reduce_gradT_excess = s% okay_to_reduce_gradT_excess
    2733            0 :  gradT_excess_f1 = s% gradT_excess_f1
    2734            0 :  gradT_excess_f2 = s% gradT_excess_f2
    2735            0 :  gradT_excess_max_center_h1 = s% gradT_excess_max_center_h1
    2736            0 :  gradT_excess_min_center_he4 = s% gradT_excess_min_center_he4
    2737            0 :  gradT_excess_max_logT = s% gradT_excess_max_logT
    2738            0 :  gradT_excess_min_log_tau_full_on = s% gradT_excess_min_log_tau_full_on
    2739            0 :  gradT_excess_max_log_tau_full_off = s% gradT_excess_max_log_tau_full_off
    2740            0 :  gradT_excess_lambda1 = s% gradT_excess_lambda1
    2741            0 :  gradT_excess_beta1 = s% gradT_excess_beta1
    2742            0 :  gradT_excess_lambda2 = s% gradT_excess_lambda2
    2743            0 :  gradT_excess_beta2 = s% gradT_excess_beta2
    2744            0 :  gradT_excess_dlambda = s% gradT_excess_dlambda
    2745            0 :  gradT_excess_dbeta = s% gradT_excess_dbeta
    2746              : 
    2747            0 :  D_mix_zero_region_bottom_q = s% D_mix_zero_region_bottom_q
    2748            0 :  D_mix_zero_region_top_q = s% D_mix_zero_region_top_q
    2749            0 :  dq_D_mix_zero_at_H_He_crossover = s% dq_D_mix_zero_at_H_He_crossover
    2750            0 :  dq_D_mix_zero_at_H_C_crossover = s% dq_D_mix_zero_at_H_C_crossover
    2751              : 
    2752            0 :  use_superad_reduction = s% use_superad_reduction
    2753            0 :  superad_reduction_gamma_limit = s% superad_reduction_gamma_limit
    2754            0 :  superad_reduction_gamma_limit_scale = s% superad_reduction_gamma_limit_scale
    2755            0 :  superad_reduction_gamma_inv_scale = s% superad_reduction_gamma_inv_scale
    2756            0 :  superad_reduction_diff_grads_limit = s% superad_reduction_diff_grads_limit
    2757            0 :  superad_reduction_limit = s% superad_reduction_limit
    2758              : 
    2759            0 :  max_logT_for_mlt = s% max_logT_for_mlt
    2760            0 :  mlt_make_surface_no_mixing = s% mlt_make_surface_no_mixing
    2761            0 :  do_normalize_dqs_as_part_of_set_qs = s% do_normalize_dqs_as_part_of_set_qs
    2762              : 
    2763            0 :  thermohaline_coeff = s% thermohaline_coeff
    2764            0 :  thermohaline_option = s% thermohaline_option
    2765            0 :  mixing_length_alpha = s% mixing_length_alpha
    2766            0 :  remove_small_D_limit = s% remove_small_D_limit
    2767            0 :  alt_scale_height_flag = s% alt_scale_height_flag
    2768            0 :  Henyey_MLT_y_param = s% Henyey_MLT_y_param
    2769            0 :  Henyey_MLT_nu_param = s% Henyey_MLT_nu_param
    2770            0 :  make_gradr_sticky_in_solver_iters = s% make_gradr_sticky_in_solver_iters
    2771            0 :  min_logT_for_make_gradr_sticky_in_solver_iters = s% min_logT_for_make_gradr_sticky_in_solver_iters
    2772            0 :  no_MLT_below_shock = s% no_MLT_below_shock
    2773            0 :  MLT_option = s% MLT_option
    2774            0 :  steps_before_use_TDC = s% steps_before_use_TDC
    2775            0 :  mlt_use_rotation_correction = s% mlt_use_rotation_correction
    2776            0 :  mlt_Pturb_factor = s% mlt_Pturb_factor
    2777              : 
    2778            0 :  burn_z_mix_region_logT = s% burn_z_mix_region_logT
    2779            0 :  burn_he_mix_region_logT = s% burn_he_mix_region_logT
    2780            0 :  burn_h_mix_region_logT = s% burn_h_mix_region_logT
    2781            0 :  max_Y_for_burn_z_mix_region = s% max_Y_for_burn_z_mix_region
    2782            0 :  max_X_for_burn_he_mix_region = s% max_X_for_burn_he_mix_region
    2783              : 
    2784            0 :  limit_overshoot_Hp_using_size_of_convection_zone = s% limit_overshoot_Hp_using_size_of_convection_zone
    2785              : 
    2786            0 :  predictive_mix = s% predictive_mix
    2787            0 :  predictive_superad_thresh = s% predictive_superad_thresh
    2788            0 :  predictive_avoid_reversal = s% predictive_avoid_reversal
    2789            0 :  predictive_limit_ingestion = s% predictive_limit_ingestion
    2790            0 :  predictive_ingestion_factor = s% predictive_ingestion_factor
    2791            0 :  predictive_zone_type = s% predictive_zone_type
    2792            0 :  predictive_zone_loc = s% predictive_zone_loc
    2793            0 :  predictive_bdy_loc = s% predictive_bdy_loc
    2794            0 :  predictive_bdy_q_min = s% predictive_bdy_q_min
    2795            0 :  predictive_bdy_q_max = s% predictive_bdy_q_max
    2796              : 
    2797            0 :  do_conv_premix = s% do_conv_premix
    2798            0 :  conv_premix_avoid_increase = s% conv_premix_avoid_increase
    2799            0 :  conv_premix_time_factor = s% conv_premix_time_factor
    2800            0 :  conv_premix_fix_pgas = s% conv_premix_fix_pgas
    2801            0 :  conv_premix_dump_snapshots = s% conv_premix_dump_snapshots
    2802            0 :  do_premix_heating = s% do_premix_heating
    2803              : 
    2804            0 :  overshoot_f = s% overshoot_f
    2805            0 :  overshoot_f0 = s% overshoot_f0
    2806            0 :  overshoot_D0 = s% overshoot_D0
    2807            0 :  overshoot_Delta0 = s% overshoot_Delta0
    2808            0 :  overshoot_mass_full_on = s% overshoot_mass_full_on
    2809            0 :  overshoot_mass_full_off = s% overshoot_mass_full_off
    2810            0 :  overshoot_scheme = s% overshoot_scheme
    2811            0 :  overshoot_zone_type = s% overshoot_zone_type
    2812            0 :  overshoot_zone_loc = s% overshoot_zone_loc
    2813            0 :  overshoot_bdy_loc = s% overshoot_bdy_loc
    2814            0 :  overshoot_D_min = s% overshoot_D_min
    2815            0 :  overshoot_brunt_B_max = s% overshoot_brunt_B_max
    2816              : 
    2817            0 :  max_conv_vel_div_csound = s% max_conv_vel_div_csound
    2818            0 :  max_v_for_convection = s% max_v_for_convection
    2819            0 :  max_q_for_convection_with_hydro_on = s% max_q_for_convection_with_hydro_on
    2820            0 :  max_v_div_cs_for_convection = s% max_v_div_cs_for_convection
    2821            0 :  max_abs_du_div_cs_for_convection = s% max_abs_du_div_cs_for_convection
    2822              : 
    2823            0 :  calculate_Brunt_B = s% calculate_Brunt_B
    2824            0 :  calculate_Brunt_N2 = s% calculate_Brunt_N2
    2825            0 :  brunt_N2_coefficient = s% brunt_N2_coefficient
    2826            0 :  threshold_for_smooth_brunt_B = s% threshold_for_smooth_brunt_B
    2827            0 :  min_magnitude_brunt_B = s% min_magnitude_brunt_B
    2828              : 
    2829            0 :  min_overshoot_q = s% min_overshoot_q
    2830            0 :  overshoot_alpha = s% overshoot_alpha
    2831              : 
    2832            0 :    RSP_max_num_periods = s% RSP_max_num_periods
    2833            0 :    RSP_target_steps_per_cycle = s% RSP_target_steps_per_cycle
    2834            0 :    RSP_min_max_R_for_periods = s% RSP_min_max_R_for_periods
    2835            0 :    RSP_min_deltaR_for_periods = s% RSP_min_deltaR_for_periods
    2836            0 :    RSP_default_PERIODLIN = s% RSP_default_PERIODLIN
    2837            0 :    RSP_min_PERIOD_div_PERIODLIN = s% RSP_min_PERIOD_div_PERIODLIN
    2838            0 :    RSP_GREKM_avg_abs_frac_new = s% RSP_GREKM_avg_abs_frac_new
    2839            0 :    RSP_GREKM_avg_abs_limit = s% RSP_GREKM_avg_abs_limit
    2840            0 :    RSP_theta = s% RSP_theta
    2841            0 :    RSP_thetat = s% RSP_thetat
    2842            0 :    RSP_thetau = s% RSP_thetau
    2843            0 :    RSP_thetae = s% RSP_thetae
    2844            0 :    RSP_thetaq = s% RSP_thetaq
    2845            0 :    RSP_wtr = s% RSP_wtr
    2846            0 :    RSP_wtc = s% RSP_wtc
    2847            0 :    RSP_wtt = s% RSP_wtt
    2848            0 :    RSP_gam = s% RSP_gam
    2849            0 :    RSP_alfa = s% RSP_alfa
    2850            0 :    RSP_alfap = s% RSP_alfap
    2851            0 :    RSP_alfam = s% RSP_alfam
    2852            0 :    RSP_alfat = s% RSP_alfat
    2853            0 :    RSP_alfas = s% RSP_alfas
    2854            0 :    RSP_alfac = s% RSP_alfac
    2855            0 :    RSP_alfad = s% RSP_alfad
    2856            0 :    RSP_gammar = s% RSP_gammar
    2857            0 :    RSP_efl0 = s% RSP_efl0
    2858            0 :    RSP_min_tau_for_turbulent_flux = s% RSP_min_tau_for_turbulent_flux
    2859            0 :    RSP_cq = s% RSP_cq
    2860            0 :    RSP_zsh = s% RSP_zsh
    2861            0 :    RSP_Qvisc_quadratic = s% RSP_Qvisc_quadratic
    2862            0 :    RSP_Qvisc_linear = s% RSP_Qvisc_linear
    2863            0 :    RSP_Qvisc_linear_static = s% RSP_Qvisc_linear_static
    2864            0 :    RSP_tol_max_corr = s% RSP_tol_max_corr
    2865            0 :    RSP_tol_max_resid = s% RSP_tol_max_resid
    2866            0 :    RSP_max_iters_per_try = s% RSP_max_iters_per_try
    2867            0 :    RSP_max_retries_per_step = s% RSP_max_retries_per_step
    2868            0 :    RSP_nz_div_IBOTOM = s% RSP_nz_div_IBOTOM
    2869            0 :    RSP_kick_vsurf_km_per_sec = s% RSP_kick_vsurf_km_per_sec
    2870            0 :    RSP_fraction_1st_overtone = s% RSP_fraction_1st_overtone
    2871            0 :    RSP_fraction_2nd_overtone = s% RSP_fraction_2nd_overtone
    2872            0 :    RSP_Avel = s% RSP_Avel
    2873            0 :    RSP_Arnd = s% RSP_Arnd
    2874            0 :    RSP_mode_for_setting_PERIODLIN = s% RSP_mode_for_setting_PERIODLIN
    2875            0 :    RSP_initial_dt_factor = s% RSP_initial_dt_factor
    2876            0 :    RSP_v_div_cs_threshold_for_dt_limit = s% RSP_v_div_cs_threshold_for_dt_limit
    2877            0 :    RSP_max_dt_times_min_dr_div_cs = s% RSP_max_dt_times_min_dr_div_cs
    2878            0 :    RSP_max_dt_times_min_rad_diff_time = s% RSP_max_dt_times_min_rad_diff_time
    2879            0 :    RSP_max_dt = s% RSP_max_dt
    2880            0 :    RSP_testing = s% RSP_testing
    2881            0 :    RSP_report_limit_dt = s% RSP_report_limit_dt
    2882            0 :    RSP_use_Prad_for_Psurf = s% RSP_use_Prad_for_Psurf
    2883            0 :    RSP_report_undercorrections = s% RSP_report_undercorrections
    2884            0 :    RSP_use_atm_grey_with_kap_for_Psurf = s% RSP_use_atm_grey_with_kap_for_Psurf
    2885            0 :    use_other_RSP_linear_analysis = s% use_other_RSP_linear_analysis
    2886            0 :    use_other_RSP_build_model = s% use_other_RSP_build_model
    2887            0 :    RSP_kap_density_factor = s% RSP_kap_density_factor
    2888            0 :    RSP_fixed_Psurf = s% RSP_fixed_Psurf
    2889            0 :    RSP_hydro_only = s% RSP_hydro_only
    2890            0 :    RSP_tau_surf_for_atm_grey_with_kap = s% RSP_tau_surf_for_atm_grey_with_kap
    2891            0 :    RSP_Psurf = s% RSP_Psurf
    2892            0 :    set_RSP_Psurf_to_multiple_of_initial_P1 = s% set_RSP_Psurf_to_multiple_of_initial_P1
    2893            0 :    RSP_surface_tau = s% RSP_surface_tau
    2894            0 :    RSP_write_map = s% RSP_write_map
    2895            0 :    RSP_trace_RSP_build_model = s% RSP_trace_RSP_build_model
    2896            0 :    RSP_map_filename = s% RSP_map_filename
    2897            0 :    RSP_map_columns_filename = s% RSP_map_columns_filename
    2898            0 :    RSP_map_history_filename = s% RSP_map_history_filename
    2899            0 :    RSP_map_first_period = s% RSP_map_first_period
    2900            0 :    RSP_map_last_period = s% RSP_map_last_period
    2901            0 :    RSP_map_zone_interval = s% RSP_map_zone_interval
    2902            0 :    RSP_nmodes = s% RSP_nmodes
    2903            0 :    RSP_work_period = s% RSP_work_period
    2904            0 :    RSP_work_filename = s% RSP_work_filename
    2905            0 :    RSP_nz_outer = s% RSP_nz_outer
    2906            0 :    RSP_max_outer_dm_tries = s% RSP_max_outer_dm_tries
    2907            0 :    RSP_max_inner_scale_tries = s% RSP_max_inner_scale_tries
    2908            0 :    RSP_relax_max_tries = s% RSP_relax_max_tries
    2909            0 :    RSP_T_anchor_tolerance = s% RSP_T_anchor_tolerance
    2910            0 :    RSP_T_inner_tolerance = s% RSP_T_inner_tolerance
    2911            0 :    RSP_relax_dm_tolerance = s% RSP_relax_dm_tolerance
    2912            0 :    RSP_dq_1_factor = s% RSP_dq_1_factor
    2913            0 :    use_RSP_new_start_scheme = s% use_RSP_new_start_scheme
    2914            0 :    RSP_do_check_omega = s% RSP_do_check_omega
    2915            0 :    RSP_report_check_omega_changes = s% RSP_report_check_omega_changes
    2916            0 :    RSP_nz = s% RSP_nz
    2917            0 :    RSP_T_anchor = s% RSP_T_anchor
    2918            0 :    RSP_T_inner = s% RSP_T_inner
    2919            0 :    RSP_relax_initial_model = s% RSP_relax_initial_model
    2920            0 :    RSP_relax_alfap_before_alfat = s% RSP_relax_alfap_before_alfat
    2921            0 :    RSP_relax_adjust_inner_mass_distribution = s% RSP_relax_adjust_inner_mass_distribution
    2922            0 :    RSP_Teff = s% RSP_Teff
    2923            0 :    RSP_mass = s% RSP_mass
    2924            0 :    RSP_L = s% RSP_L
    2925            0 :    RSP_X = s% RSP_X
    2926            0 :    RSP_Z = s% RSP_Z
    2927              : 
    2928            0 :  RTI_smooth_mass = s% RTI_smooth_mass
    2929            0 :  RTI_smooth_iterations = s% RTI_smooth_iterations
    2930            0 :  RTI_smooth_fraction = s% RTI_smooth_fraction
    2931              : 
    2932            0 :  alpha_RTI_diffusion_factor = s% alpha_RTI_diffusion_factor
    2933            0 :  dudt_RTI_diffusion_factor = s% dudt_RTI_diffusion_factor
    2934            0 :  dedt_RTI_diffusion_factor = s% dedt_RTI_diffusion_factor
    2935            0 :  dlnddt_RTI_diffusion_factor = s% dlnddt_RTI_diffusion_factor
    2936            0 :  composition_RTI_diffusion_factor = s% composition_RTI_diffusion_factor
    2937            0 :  max_M_RTI_factors_full_on = s% max_M_RTI_factors_full_on
    2938            0 :  min_M_RTI_factors_full_off = s% min_M_RTI_factors_full_off
    2939              : 
    2940            0 :  alpha_RTI_src_min_v_div_cs = s% alpha_RTI_src_min_v_div_cs
    2941            0 :  alpha_RTI_src_max_q = s% alpha_RTI_src_max_q
    2942            0 :  alpha_RTI_src_min_q = s% alpha_RTI_src_min_q
    2943              : 
    2944            0 :  T_mix_limit = s% T_mix_limit
    2945            0 :  mlt_gradT_fraction = s% mlt_gradT_fraction
    2946              : 
    2947              :  ! atmosphere -- surface boundary conditions
    2948            0 :  atm_option = s% atm_option
    2949            0 :  atm_off_table_option = s% atm_off_table_option
    2950            0 :  Pextra_factor = s% Pextra_factor
    2951            0 :  atm_fixed_Teff = s% atm_fixed_Teff
    2952            0 :  atm_fixed_Psurf = s% atm_fixed_Psurf
    2953            0 :  atm_fixed_Tsurf = s% atm_fixed_Tsurf
    2954              : 
    2955            0 :  atm_T_tau_relation = s% atm_T_tau_relation
    2956            0 :  atm_T_tau_opacity = s% atm_T_tau_opacity
    2957            0 :  atm_T_tau_errtol = s% atm_T_tau_errtol
    2958            0 :  atm_T_tau_max_iters = s% atm_T_tau_max_iters
    2959            0 :  atm_T_tau_max_steps = s% atm_T_tau_max_steps
    2960              : 
    2961            0 :  atm_table = s% atm_table
    2962              : 
    2963            0 :  atm_irradiated_opacity = s% atm_irradiated_opacity
    2964            0 :  atm_irradiated_errtol = s% atm_irradiated_errtol
    2965            0 :  atm_irradiated_T_eq = s% atm_irradiated_T_eq
    2966            0 :  atm_irradiated_kap_v = s% atm_irradiated_kap_v
    2967            0 :  atm_irradiated_kap_v_div_kap_th = s% atm_irradiated_kap_v_div_kap_th
    2968            0 :  atm_irradiated_P_surf = s% atm_irradiated_P_surf
    2969            0 :  atm_irradiated_max_iters = s% atm_irradiated_max_iters
    2970              : 
    2971            0 :  use_compression_outer_BC = s% use_compression_outer_BC
    2972            0 :  use_momentum_outer_BC = s% use_momentum_outer_BC
    2973            0 :  Tsurf_factor = s% Tsurf_factor
    2974            0 :  use_zero_Pgas_outer_BC = s% use_zero_Pgas_outer_BC
    2975            0 :  fixed_vsurf = s% fixed_vsurf
    2976            0 :  use_fixed_vsurf_outer_BC = s% use_fixed_vsurf_outer_BC
    2977            0 :  fixed_Psurf = s% fixed_Psurf
    2978            0 :  use_fixed_Psurf_outer_BC = s% use_fixed_Psurf_outer_BC
    2979              : 
    2980            0 :  atm_build_tau_outer = s% atm_build_tau_outer
    2981            0 :  atm_build_dlogtau = s% atm_build_dlogtau
    2982            0 :  atm_build_errtol = s% atm_build_errtol
    2983              : 
    2984            0 :  use_T_tau_gradr_factor = s% use_T_tau_gradr_factor
    2985              : 
    2986              :  ! starspots
    2987            0 :  do_starspots = s% do_starspots
    2988            0 :  fspot = s% fspot
    2989            0 :  xspot = s% xspot
    2990              : 
    2991              :  ! extra heat near surface to model irradiation
    2992            0 :  irradiation_flux = s% irradiation_flux
    2993            0 :  column_depth_for_irradiation = s% column_depth_for_irradiation
    2994              : 
    2995              :  ! extra heat
    2996            0 :  inject_uniform_extra_heat = s% inject_uniform_extra_heat
    2997            0 :  min_q_for_uniform_extra_heat = s% min_q_for_uniform_extra_heat
    2998            0 :  max_q_for_uniform_extra_heat = s% max_q_for_uniform_extra_heat
    2999            0 :  inject_extra_ergs_sec = s% inject_extra_ergs_sec
    3000            0 :  base_of_inject_extra_ergs_sec = s% base_of_inject_extra_ergs_sec
    3001            0 :  total_mass_for_inject_extra_ergs_sec = s% total_mass_for_inject_extra_ergs_sec
    3002            0 :  start_time_for_inject_extra_ergs_sec = s% start_time_for_inject_extra_ergs_sec
    3003            0 :  duration_for_inject_extra_ergs_sec = s% duration_for_inject_extra_ergs_sec
    3004            0 :  inject_until_reach_model_with_total_energy = s% inject_until_reach_model_with_total_energy
    3005              : 
    3006              :  ! mass gain or loss
    3007            0 :  mass_change = s% mass_change
    3008            0 :  mass_change_full_off_dt = s% mass_change_full_off_dt
    3009            0 :  mass_change_full_on_dt = s% mass_change_full_on_dt
    3010            0 :  trace_dt_control_mass_change = s% trace_dt_control_mass_change
    3011            0 :  no_wind_if_no_rotation = s% no_wind_if_no_rotation
    3012              : 
    3013            0 :  min_wind = s% min_wind
    3014            0 :  max_wind = s% max_wind
    3015            0 :  use_accreted_material_j = s% use_accreted_material_j
    3016            0 :  accreted_material_j = s% accreted_material_j
    3017            0 :  D_omega_mixing_rate = s% D_omega_mixing_rate
    3018            0 :  D_omega_mixing_across_convection_boundary = s% D_omega_mixing_across_convection_boundary
    3019            0 :  max_q_for_D_omega_zero_in_convection_region = s% max_q_for_D_omega_zero_in_convection_region
    3020            0 :  nu_omega_mixing_rate = s% nu_omega_mixing_rate
    3021            0 :  nu_omega_mixing_across_convection_boundary = s% nu_omega_mixing_across_convection_boundary
    3022            0 :  max_q_for_nu_omega_zero_in_convection_region = s% max_q_for_nu_omega_zero_in_convection_region
    3023              : 
    3024            0 :  mdot_omega_power = s% mdot_omega_power
    3025            0 :  max_rotational_mdot_boost = s% max_rotational_mdot_boost
    3026            0 :  max_mdot_jump_for_rotation = s% max_mdot_jump_for_rotation
    3027            0 :  lim_trace_rotational_mdot_boost = s% lim_trace_rotational_mdot_boost
    3028            0 :  rotational_mdot_boost_fac = s% rotational_mdot_boost_fac
    3029            0 :  rotational_mdot_kh_fac = s% rotational_mdot_kh_fac
    3030            0 :  surf_avg_tau = s% surf_avg_tau
    3031            0 :  surf_avg_tau_min = s% surf_avg_tau_min
    3032              : 
    3033            0 :  super_eddington_scaling_factor = s% super_eddington_scaling_factor
    3034            0 :  super_eddington_wind_Ledd_factor = s% super_eddington_wind_Ledd_factor
    3035            0 :  wind_boost_full_off_L_div_Ledd = s% wind_boost_full_off_L_div_Ledd
    3036            0 :  wind_boost_full_on_L_div_Ledd = s% wind_boost_full_on_L_div_Ledd
    3037            0 :  super_eddington_wind_max_boost = s% super_eddington_wind_max_boost
    3038            0 :  trace_super_eddington_wind_boost = s% trace_super_eddington_wind_boost
    3039              : 
    3040            0 :  max_tries_for_implicit_wind = s% max_tries_for_implicit_wind
    3041            0 :  iwind_tolerance = s% iwind_tolerance
    3042            0 :  iwind_lambda = s% iwind_lambda
    3043              : 
    3044            0 :  rlo_scaling_factor = s% rlo_scaling_factor
    3045            0 :  rlo_wind_min_L = s% rlo_wind_min_L
    3046            0 :  rlo_wind_max_Teff = s% rlo_wind_max_Teff
    3047            0 :  rlo_wind_roche_lobe_radius = s% rlo_wind_roche_lobe_radius
    3048            0 :  roche_lobe_xfer_full_on = s% roche_lobe_xfer_full_on
    3049            0 :  roche_lobe_xfer_full_off = s% roche_lobe_xfer_full_off
    3050            0 :  rlo_wind_base_mdot = s% rlo_wind_base_mdot
    3051            0 :  rlo_wind_scale_height = s% rlo_wind_scale_height
    3052              : 
    3053            0 :  cool_wind_RGB_scheme = s% cool_wind_RGB_scheme
    3054            0 :  cool_wind_AGB_scheme = s% cool_wind_AGB_scheme
    3055            0 :  RGB_to_AGB_wind_switch = s% RGB_to_AGB_wind_switch
    3056            0 :  Reimers_scaling_factor = s% Reimers_scaling_factor
    3057            0 :  Blocker_scaling_factor = s% Blocker_scaling_factor
    3058            0 :  de_Jager_scaling_factor = s% de_Jager_scaling_factor
    3059            0 :  van_Loon_scaling_factor = s% van_Loon_scaling_factor
    3060            0 :  Nieuwenhuijzen_scaling_factor = s% Nieuwenhuijzen_scaling_factor
    3061            0 :  Vink_scaling_factor = s% Vink_scaling_factor
    3062            0 :  Dutch_scaling_factor = s% Dutch_scaling_factor
    3063            0 :  Bjorklund_scaling_factor = s% Bjorklund_scaling_factor
    3064            0 :  Dutch_wind_lowT_scheme = s% Dutch_wind_lowT_scheme
    3065              : 
    3066            0 :  wind_H_envelope_limit = s% wind_H_envelope_limit
    3067            0 :  wind_H_He_envelope_limit = s% wind_H_He_envelope_limit
    3068            0 :  wind_He_layer_limit = s% wind_He_layer_limit
    3069              : 
    3070            0 :  max_logT_for_k_below_const_q = s% max_logT_for_k_below_const_q
    3071            0 :  max_q_for_k_below_const_q = s% max_q_for_k_below_const_q
    3072            0 :  min_q_for_k_below_const_q = s% min_q_for_k_below_const_q
    3073            0 :  max_logT_for_k_const_mass = s% max_logT_for_k_const_mass
    3074            0 :  min_q_for_k_const_mass = s% min_q_for_k_const_mass
    3075            0 :  max_q_for_k_const_mass = s% max_q_for_k_const_mass
    3076              : 
    3077              :  ! composition of added mass
    3078            0 :  accrete_same_as_surface = s% accrete_same_as_surface
    3079              : 
    3080            0 :  accrete_given_mass_fractions = s% accrete_given_mass_fractions
    3081            0 :  num_accretion_species = s% num_accretion_species
    3082            0 :  accretion_species_id = s% accretion_species_id
    3083            0 :  accretion_species_xa = s% accretion_species_xa
    3084              : 
    3085            0 :  accretion_h1 = s% accretion_h1
    3086            0 :  accretion_h2 = s% accretion_h2
    3087            0 :  accretion_he3 = s% accretion_he3
    3088            0 :  accretion_he4 = s% accretion_he4
    3089            0 :  accretion_zfracs = s% accretion_zfracs
    3090            0 :  accretion_dump_missing_metals_into_heaviest = s% accretion_dump_missing_metals_into_heaviest
    3091              : 
    3092              :  ! special list of z fractions
    3093            0 :  z_fraction_li = s% z_fraction_li
    3094            0 :  z_fraction_be = s% z_fraction_be
    3095            0 :  z_fraction_b = s% z_fraction_b
    3096            0 :  z_fraction_c = s% z_fraction_c
    3097            0 :  z_fraction_n = s% z_fraction_n
    3098            0 :  z_fraction_o = s% z_fraction_o
    3099            0 :  z_fraction_f = s% z_fraction_f
    3100            0 :  z_fraction_ne = s% z_fraction_ne
    3101            0 :  z_fraction_na = s% z_fraction_na
    3102            0 :  z_fraction_mg = s% z_fraction_mg
    3103            0 :  z_fraction_al = s% z_fraction_al
    3104            0 :  z_fraction_si = s% z_fraction_si
    3105            0 :  z_fraction_p = s% z_fraction_p
    3106            0 :  z_fraction_s = s% z_fraction_s
    3107            0 :  z_fraction_cl = s% z_fraction_cl
    3108            0 :  z_fraction_ar = s% z_fraction_ar
    3109            0 :  z_fraction_k = s% z_fraction_k
    3110            0 :  z_fraction_ca = s% z_fraction_ca
    3111            0 :  z_fraction_sc = s% z_fraction_sc
    3112            0 :  z_fraction_ti = s% z_fraction_ti
    3113            0 :  z_fraction_v = s% z_fraction_v
    3114            0 :  z_fraction_cr = s% z_fraction_cr
    3115            0 :  z_fraction_mn = s% z_fraction_mn
    3116            0 :  z_fraction_fe = s% z_fraction_fe
    3117            0 :  z_fraction_co = s% z_fraction_co
    3118            0 :  z_fraction_ni = s% z_fraction_ni
    3119            0 :  z_fraction_cu = s% z_fraction_cu
    3120            0 :  z_fraction_zn = s% z_fraction_zn
    3121              : 
    3122            0 :  lgT_lo_for_set_new_abundances = s% lgT_lo_for_set_new_abundances
    3123            0 :  lgT_hi_for_set_new_abundances = s% lgT_hi_for_set_new_abundances
    3124              : 
    3125              :  ! automatic stops for mass loss/gain
    3126            0 :  max_star_mass_for_gain = s% max_star_mass_for_gain
    3127            0 :  min_star_mass_for_loss = s% min_star_mass_for_loss
    3128            0 :  max_T_center_for_any_mass_loss = s% max_T_center_for_any_mass_loss
    3129            0 :  max_T_center_for_full_mass_loss = s% max_T_center_for_full_mass_loss
    3130              : 
    3131              :  ! relaxation parameters
    3132            0 :  extra_power_source = s% extra_power_source
    3133            0 :  relax_dlnZ = s% relax_dlnZ
    3134            0 :  relax_dY = s% relax_dY
    3135              : 
    3136              :  ! mesh adjustment
    3137            0 :  show_mesh_changes = s% show_mesh_changes
    3138            0 :  okay_to_remesh = s% okay_to_remesh
    3139            0 :  restore_mesh_on_retry = s% restore_mesh_on_retry
    3140            0 :  num_steps_to_hold_mesh_after_retry = s% num_steps_to_hold_mesh_after_retry
    3141            0 :  trace_mesh_adjust_error_in_conservation = s% trace_mesh_adjust_error_in_conservation
    3142            0 :  max_rel_delta_IE_for_mesh_total_energy_balance = s% max_rel_delta_IE_for_mesh_total_energy_balance
    3143            0 :  max_allowed_nz = s% max_allowed_nz
    3144            0 :  mesh_max_allowed_ratio = s% mesh_max_allowed_ratio
    3145            0 :  remesh_max_allowed_logT = s% remesh_max_allowed_logT
    3146            0 :  max_delta_x_for_merge = s% max_delta_x_for_merge
    3147              : 
    3148            0 :  mesh_ok_to_merge = s% mesh_ok_to_merge
    3149            0 :  mesh_max_k_old_for_split = s% mesh_max_k_old_for_split
    3150            0 :  mesh_min_k_old_for_split = s% mesh_min_k_old_for_split
    3151            0 :  mesh_adjust_get_T_from_E = s% mesh_adjust_get_T_from_E
    3152              : 
    3153            0 :  max_dq = s% max_dq
    3154            0 :  min_dq = s% min_dq
    3155            0 :  min_dq_for_split = s% min_dq_for_split
    3156            0 :  min_dq_for_xa = s% min_dq_for_xa
    3157            0 :  min_dq_for_xa_convective = s% min_dq_for_xa_convective
    3158            0 :  min_dq_for_logT = s% min_dq_for_logT
    3159              : 
    3160            0 :  mesh_min_dlnR = s% mesh_min_dlnR
    3161            0 :  merge_if_dlnR_too_small = s% merge_if_dlnR_too_small
    3162              : 
    3163            0 :  mesh_min_dr_div_dRstar = s% mesh_min_dr_div_dRstar
    3164            0 :  merge_if_dr_div_dRstar_too_small = s% merge_if_dr_div_dRstar_too_small
    3165              : 
    3166            0 :  mesh_min_dr_div_cs = s% mesh_min_dr_div_cs
    3167            0 :  merge_if_dr_div_cs_too_small = s% merge_if_dr_div_cs_too_small
    3168              : 
    3169            0 :  max_center_cell_dq = s% max_center_cell_dq
    3170            0 :  max_surface_cell_dq = s% max_surface_cell_dq
    3171            0 :  max_num_subcells = s% max_num_subcells
    3172            0 :  max_num_merge_cells = s% max_num_merge_cells
    3173              : 
    3174            0 :  mesh_delta_coeff = s% mesh_delta_coeff
    3175            0 :  mesh_delta_coeff_for_highT = s% mesh_delta_coeff_for_highT
    3176            0 :  logT_max_for_standard_mesh_delta_coeff = s% logT_max_for_standard_mesh_delta_coeff
    3177            0 :  logT_min_for_highT_mesh_delta_coeff = s% logT_min_for_highT_mesh_delta_coeff
    3178            0 :  mesh_Pgas_div_P_exponent = s% mesh_Pgas_div_P_exponent
    3179              : 
    3180            0 :  remesh_dt_limit = s% remesh_dt_limit
    3181              : 
    3182            0 :  E_function_weight = s% E_function_weight
    3183            0 :  E_function_param = s% E_function_param
    3184            0 :  P_function_weight = s% P_function_weight
    3185              : 
    3186            0 :  mesh_logX_species = s% mesh_logX_species
    3187            0 :  mesh_logX_min_for_extra = s% mesh_logX_min_for_extra
    3188            0 :  mesh_dlogX_dlogP_extra = s% mesh_dlogX_dlogP_extra
    3189            0 :  mesh_dlogX_dlogP_full_on = s% mesh_dlogX_dlogP_full_on
    3190            0 :  mesh_dlogX_dlogP_full_off = s% mesh_dlogX_dlogP_full_off
    3191              : 
    3192            0 :  convective_bdy_min_dt_yrs = s% convective_bdy_min_dt_yrs
    3193            0 :  convective_bdy_weight = s% convective_bdy_weight
    3194            0 :  convective_bdy_dq_limit = s% convective_bdy_dq_limit
    3195              : 
    3196            0 :  mesh_dlog_eps_min_for_extra = s% mesh_dlog_eps_min_for_extra
    3197            0 :  mesh_dlog_eps_dlogP_full_on = s% mesh_dlog_eps_dlogP_full_on
    3198            0 :  mesh_dlog_eps_dlogP_full_off = s% mesh_dlog_eps_dlogP_full_off
    3199              : 
    3200            0 :  mesh_dlog_pp_dlogP_extra = s% mesh_dlog_pp_dlogP_extra
    3201            0 :  mesh_dlog_cno_dlogP_extra = s% mesh_dlog_cno_dlogP_extra
    3202            0 :  mesh_dlog_3alf_dlogP_extra = s% mesh_dlog_3alf_dlogP_extra
    3203              : 
    3204            0 :  mesh_dlog_burn_c_dlogP_extra = s% mesh_dlog_burn_c_dlogP_extra
    3205            0 :  mesh_dlog_burn_n_dlogP_extra = s% mesh_dlog_burn_n_dlogP_extra
    3206            0 :  mesh_dlog_burn_o_dlogP_extra = s% mesh_dlog_burn_o_dlogP_extra
    3207            0 :  mesh_dlog_burn_ne_dlogP_extra = s% mesh_dlog_burn_ne_dlogP_extra
    3208            0 :  mesh_dlog_burn_na_dlogP_extra = s% mesh_dlog_burn_na_dlogP_extra
    3209            0 :  mesh_dlog_burn_mg_dlogP_extra = s% mesh_dlog_burn_mg_dlogP_extra
    3210            0 :  mesh_dlog_burn_si_dlogP_extra = s% mesh_dlog_burn_si_dlogP_extra
    3211            0 :  mesh_dlog_burn_s_dlogP_extra = s% mesh_dlog_burn_s_dlogP_extra
    3212            0 :  mesh_dlog_burn_ar_dlogP_extra = s% mesh_dlog_burn_ar_dlogP_extra
    3213            0 :  mesh_dlog_burn_ca_dlogP_extra = s% mesh_dlog_burn_ca_dlogP_extra
    3214            0 :  mesh_dlog_burn_ti_dlogP_extra = s% mesh_dlog_burn_ti_dlogP_extra
    3215            0 :  mesh_dlog_burn_cr_dlogP_extra = s% mesh_dlog_burn_cr_dlogP_extra
    3216            0 :  mesh_dlog_burn_fe_dlogP_extra = s% mesh_dlog_burn_fe_dlogP_extra
    3217              : 
    3218            0 :  mesh_dlog_cc_dlogP_extra = s% mesh_dlog_cc_dlogP_extra
    3219            0 :  mesh_dlog_co_dlogP_extra = s% mesh_dlog_co_dlogP_extra
    3220            0 :  mesh_dlog_oo_dlogP_extra = s% mesh_dlog_oo_dlogP_extra
    3221              : 
    3222            0 :  mesh_dlog_pnhe4_dlogP_extra = s% mesh_dlog_pnhe4_dlogP_extra
    3223            0 :  mesh_dlog_photo_dlogP_extra = s% mesh_dlog_photo_dlogP_extra
    3224            0 :  mesh_dlog_other_dlogP_extra = s% mesh_dlog_other_dlogP_extra
    3225              : 
    3226            0 :  mesh_delta_coeff_factor_smooth_iters = s% mesh_delta_coeff_factor_smooth_iters
    3227              : 
    3228            0 :  T_function1_weight = s% T_function1_weight
    3229            0 :  T_function2_weight = s% T_function2_weight
    3230            0 :  T_function2_param = s% T_function2_param
    3231              : 
    3232            0 :  R_function_weight = s% R_function_weight
    3233            0 :  R_function_param = s% R_function_param
    3234              : 
    3235            0 :  R_function2_weight = s% R_function2_weight
    3236            0 :  R_function2_param1 = s% R_function2_param1
    3237            0 :  R_function2_param2 = s% R_function2_param2
    3238              : 
    3239            0 :  R_function3_weight = s% R_function3_weight
    3240              : 
    3241            0 :  M_function_weight = s% M_function_weight
    3242            0 :  M_function_param = s% M_function_param
    3243              : 
    3244            0 :  gradT_function_weight = s% gradT_function_weight
    3245            0 :  log_tau_function_weight = s% log_tau_function_weight
    3246            0 :  log_kap_function_weight = s% log_kap_function_weight
    3247            0 :  omega_function_weight = s% omega_function_weight
    3248              : 
    3249            0 :  gam_function_weight = s% gam_function_weight
    3250            0 :  gam_function_param1 = s% gam_function_param1
    3251            0 :  gam_function_param2 = s% gam_function_param2
    3252              : 
    3253            0 :  xa_function_species = s% xa_function_species
    3254            0 :  xa_function_weight = s% xa_function_weight
    3255            0 :  xa_function_param = s% xa_function_param
    3256            0 :  xa_mesh_delta_coeff = s% xa_mesh_delta_coeff
    3257              : 
    3258            0 :  use_split_merge_amr = s% use_split_merge_amr
    3259            0 :  split_merge_amr_nz_baseline = s% split_merge_amr_nz_baseline
    3260            0 :  split_merge_amr_nz_r_core = s% split_merge_amr_nz_r_core
    3261            0 :  split_merge_amr_nz_r_core_fraction = s% split_merge_amr_nz_r_core_fraction
    3262            0 :  split_merge_amr_mesh_delta_coeff = s% split_merge_amr_mesh_delta_coeff
    3263            0 :  split_merge_amr_log_zoning = s% split_merge_amr_log_zoning
    3264            0 :  split_merge_amr_hybrid_zoning = s% split_merge_amr_hybrid_zoning
    3265            0 :  split_merge_amr_flipped_hybrid_zoning = s% split_merge_amr_flipped_hybrid_zoning
    3266            0 :  split_merge_amr_logtau_zoning = s% split_merge_amr_logtau_zoning
    3267            0 :  split_merge_amr_okay_to_split_nz = s% split_merge_amr_okay_to_split_nz
    3268            0 :  split_merge_amr_okay_to_split_1 = s% split_merge_amr_okay_to_split_1
    3269            0 :  merge_amr_inhibit_at_jumps = s% merge_amr_inhibit_at_jumps
    3270            0 :  split_merge_amr_MaxLong = s% split_merge_amr_MaxLong
    3271            0 :  split_merge_amr_MaxShort = s% split_merge_amr_MaxShort
    3272            0 :  merge_amr_max_abs_du_div_cs = s% merge_amr_max_abs_du_div_cs
    3273            0 :  merge_amr_ignore_surface_cells = s% merge_amr_ignore_surface_cells
    3274            0 :  merge_amr_du_div_cs_limit_only_for_compression = s% merge_amr_du_div_cs_limit_only_for_compression
    3275            0 :  split_merge_amr_avoid_repeated_remesh = s% split_merge_amr_avoid_repeated_remesh
    3276            0 :  merge_amr_k_for_ignore_surface_cells = s% merge_amr_k_for_ignore_surface_cells
    3277            0 :  split_merge_amr_dq_min = s% split_merge_amr_dq_min
    3278            0 :  split_merge_amr_dq_max = s% split_merge_amr_dq_max
    3279            0 :  split_merge_amr_r_core_cm = s% split_merge_amr_r_core_cm
    3280            0 :  split_merge_amr_max_iters = s% split_merge_amr_max_iters
    3281            0 :  trace_split_merge_amr = s% trace_split_merge_amr
    3282            0 :  equal_split_density_amr = s% equal_split_density_amr
    3283              : 
    3284              :  ! nuclear reaction parameters
    3285            0 :  screening_mode = s% screening_mode
    3286            0 :  default_net_name = s% default_net_name
    3287              : 
    3288            0 :  net_logTcut_lo = s% net_logTcut_lo
    3289            0 :  net_logTcut_lim = s% net_logTcut_lim
    3290              : 
    3291            0 :  eps_nuc_factor = s% eps_nuc_factor
    3292            0 :  op_split_burn_eps_nuc_infall_limit = s% op_split_burn_eps_nuc_infall_limit
    3293            0 :  eps_WD_sedimentation_factor = s% eps_WD_sedimentation_factor
    3294            0 :  max_abs_eps_nuc = s% max_abs_eps_nuc
    3295            0 :  dxdt_nuc_factor = s% dxdt_nuc_factor
    3296            0 :  max_abar_for_burning = s% max_abar_for_burning
    3297            0 :  fe56ec_fake_factor = s% fe56ec_fake_factor
    3298            0 :  min_T_for_fe56ec_fake_factor = s% min_T_for_fe56ec_fake_factor
    3299            0 :  weak_rate_factor = s% weak_rate_factor
    3300              : 
    3301            0 :  mix_factor = s% mix_factor
    3302              : 
    3303            0 :  sig_term_limit = s% sig_term_limit
    3304              : 
    3305            0 :  sig_min_factor_for_high_Tcenter = s% sig_min_factor_for_high_Tcenter
    3306            0 :  Tcenter_min_for_sig_min_factor_full_on = s% Tcenter_min_for_sig_min_factor_full_on
    3307            0 :  Tcenter_max_for_sig_min_factor_full_off = s% Tcenter_max_for_sig_min_factor_full_off
    3308            0 :  max_delta_m_to_bdy_for_sig_min_factor = s% max_delta_m_to_bdy_for_sig_min_factor
    3309            0 :  delta_m_lower_for_sig_min_factor = s% delta_m_lower_for_sig_min_factor
    3310            0 :  delta_m_upper_for_sig_min_factor = s% delta_m_upper_for_sig_min_factor
    3311              : 
    3312            0 :  am_sig_term_limit = s% am_sig_term_limit
    3313            0 :  am_D_mix_factor = s% am_D_mix_factor
    3314            0 :  am_gradmu_factor = s% am_gradmu_factor
    3315            0 :  am_nu_factor = s% am_nu_factor
    3316              : 
    3317            0 :  D_visc_factor = s% D_visc_factor
    3318            0 :  D_DSI_factor = s% D_DSI_factor
    3319            0 :  D_SH_factor = s% D_SH_factor
    3320            0 :  D_SSI_factor = s% D_SSI_factor
    3321            0 :  D_ES_factor = s% D_ES_factor
    3322            0 :  D_GSF_factor = s% D_GSF_factor
    3323            0 :  D_ST_factor = s% D_ST_factor
    3324              : 
    3325            0 :  am_nu_non_rotation_factor = s% am_nu_non_rotation_factor
    3326            0 :  skip_rotation_in_convection_zones = s% skip_rotation_in_convection_zones
    3327            0 :  am_nu_DSI_factor = s% am_nu_DSI_factor
    3328            0 :  am_nu_SH_factor = s% am_nu_SH_factor
    3329            0 :  am_nu_SSI_factor = s% am_nu_SSI_factor
    3330            0 :  am_nu_ES_factor = s% am_nu_ES_factor
    3331            0 :  am_nu_GSF_factor = s% am_nu_GSF_factor
    3332            0 :  am_nu_ST_factor = s% am_nu_ST_factor
    3333            0 :  am_nu_visc_factor = s% am_nu_visc_factor
    3334              : 
    3335            0 :  am_nu_omega_rot_factor = s% am_nu_omega_rot_factor
    3336            0 :  am_nu_omega_non_rot_factor = s% am_nu_omega_non_rot_factor
    3337            0 :  am_nu_j_rot_factor = s% am_nu_j_rot_factor
    3338            0 :  am_nu_j_non_rot_factor = s% am_nu_j_non_rot_factor
    3339              : 
    3340            0 :  smooth_nu_ST = s% smooth_nu_ST
    3341            0 :  smooth_D_ST = s% smooth_D_ST
    3342            0 :  smooth_D_DSI = s% smooth_D_DSI
    3343            0 :  smooth_D_SSI = s% smooth_D_SSI
    3344            0 :  smooth_D_SH = s% smooth_D_SH
    3345            0 :  smooth_D_GSF = s% smooth_D_GSF
    3346            0 :  smooth_D_ES = s% smooth_D_ES
    3347            0 :  smooth_D_omega = s% smooth_D_omega
    3348            0 :  smooth_am_nu_rot = s% smooth_am_nu_rot
    3349            0 :  ST_angsmt = s% ST_angsmt
    3350            0 :  ST_angsml = s% ST_angsml
    3351              : 
    3352            0 :  simple_i_rot_flag = s% simple_i_rot_flag
    3353            0 :  do_adjust_J_lost = s% do_adjust_J_lost
    3354            0 :  premix_omega = s% premix_omega
    3355            0 :  angular_momentum_error_warn = s% angular_momentum_error_warn
    3356            0 :  angular_momentum_error_retry = s% angular_momentum_error_retry
    3357            0 :  recalc_mixing_info_each_substep = s% recalc_mixing_info_each_substep
    3358            0 :  adjust_J_fraction = s% adjust_J_fraction
    3359            0 :  min_q_for_adjust_J_lost = s% min_q_for_adjust_J_lost
    3360            0 :  min_J_div_delta_J = s% min_J_div_delta_J
    3361            0 :  max_mdot_redo_cnt = s% max_mdot_redo_cnt
    3362            0 :  mdot_revise_factor = s% mdot_revise_factor
    3363            0 :  implicit_mdot_boost = s% implicit_mdot_boost
    3364            0 :  min_years_dt_for_redo_mdot = s% min_years_dt_for_redo_mdot
    3365            0 :  surf_omega_div_omega_crit_limit = s% surf_omega_div_omega_crit_limit
    3366            0 :  surf_omega_div_omega_crit_tol = s% surf_omega_div_omega_crit_tol
    3367            0 :  w_div_wcrit_max = s% w_div_wcrit_max
    3368            0 :  w_div_wcrit_max2 = s% w_div_wcrit_max2
    3369              : 
    3370            0 :  D_mix_rotation_max_logT_full_on = s% D_mix_rotation_max_logT_full_on
    3371            0 :  D_mix_rotation_min_logT_full_off = s% D_mix_rotation_min_logT_full_off
    3372            0 :  D_mix_rotation_min_tau_full_off = s% D_mix_rotation_min_tau_full_off
    3373            0 :  D_mix_rotation_min_tau_full_on = s% D_mix_rotation_min_tau_full_on
    3374              : 
    3375              : 
    3376            0 :  set_uniform_am_nu_non_rot = s% set_uniform_am_nu_non_rot
    3377            0 :  uniform_am_nu_non_rot = s% uniform_am_nu_non_rot
    3378              : 
    3379            0 :  set_min_am_nu_non_rot = s% set_min_am_nu_non_rot
    3380            0 :  min_am_nu_non_rot = s% min_am_nu_non_rot
    3381            0 :  min_center_Ye_for_min_am_nu_non_rot = s% min_center_Ye_for_min_am_nu_non_rot
    3382              : 
    3383            0 :  set_min_D_mix = s% set_min_D_mix
    3384            0 :  mass_lower_limit_for_min_D_mix = s% mass_lower_limit_for_min_D_mix
    3385            0 :  mass_upper_limit_for_min_D_mix = s% mass_upper_limit_for_min_D_mix
    3386            0 :  min_D_mix = s% min_D_mix
    3387            0 :  set_min_D_mix_below_Tmax = s% set_min_D_mix_below_Tmax
    3388            0 :  min_D_mix_below_Tmax = s% min_D_mix_below_Tmax
    3389            0 :  set_min_D_mix_in_H_He = s% set_min_D_mix_in_H_He
    3390            0 :  min_D_mix_in_H_He = s% min_D_mix_in_H_He
    3391            0 :  min_center_Ye_for_min_D_mix = s% min_center_Ye_for_min_D_mix
    3392            0 :  reaction_neuQs_factor = s% reaction_neuQs_factor
    3393            0 :  nonlocal_NiCo_kap_gamma = s% nonlocal_NiCo_kap_gamma
    3394            0 :  nonlocal_NiCo_decay_heat = s% nonlocal_NiCo_decay_heat
    3395            0 :  dtau_gamma_NiCo_decay_heat = s% dtau_gamma_NiCo_decay_heat
    3396            0 :  max_logT_for_net = s% max_logT_for_net
    3397            0 :  smooth_outer_xa_big = s% smooth_outer_xa_big
    3398            0 :  smooth_outer_xa_small = s% smooth_outer_xa_small
    3399              : 
    3400              :  ! element diffusion parameters
    3401            0 :  diffusion_use_iben_macdonald = s% diffusion_use_iben_macdonald
    3402            0 :  diffusion_use_paquette = s% diffusion_use_paquette
    3403            0 :  diffusion_use_caplan = s% diffusion_use_caplan
    3404            0 :  diffusion_use_cgs_solver = s% diffusion_use_cgs_solver
    3405            0 :  diffusion_use_full_net = s% diffusion_use_full_net
    3406            0 :  do_WD_sedimentation_heating = s% do_WD_sedimentation_heating
    3407            0 :  min_xa_for_WD_sedimentation_heating = s% min_xa_for_WD_sedimentation_heating
    3408            0 :  do_diffusion_heating = s% do_diffusion_heating
    3409            0 :  do_element_diffusion = s% do_element_diffusion
    3410            0 :  cgs_thermal_diffusion_eta_full_on = s% cgs_thermal_diffusion_eta_full_on
    3411            0 :  cgs_thermal_diffusion_eta_full_off = s% cgs_thermal_diffusion_eta_full_off
    3412            0 :  diffusion_min_dq_at_surface = s% diffusion_min_dq_at_surface
    3413            0 :  diffusion_min_T_at_surface = s% diffusion_min_T_at_surface
    3414            0 :  diffusion_min_dq_ratio_at_surface = s% diffusion_min_dq_ratio_at_surface
    3415            0 :  diffusion_dt_limit = s% diffusion_dt_limit
    3416              : 
    3417            0 :  do_phase_separation = s% do_phase_separation
    3418            0 :  phase_separation_option = s% phase_separation_option
    3419            0 :  do_phase_separation_heating = s% do_phase_separation_heating
    3420            0 :  phase_separation_mixing_use_brunt = s% phase_separation_mixing_use_brunt
    3421            0 :  phase_separation_no_diffusion = s% phase_separation_no_diffusion
    3422              : 
    3423            0 :  diffusion_min_X_hard_limit = s% diffusion_min_X_hard_limit
    3424            0 :  diffusion_X_total_atol = s% diffusion_X_total_atol
    3425            0 :  diffusion_X_total_rtol = s% diffusion_X_total_rtol
    3426            0 :  diffusion_upwind_abs_v_limit = s% diffusion_upwind_abs_v_limit
    3427            0 :  diffusion_dt_div_timescale = s% diffusion_dt_div_timescale
    3428            0 :  diffusion_min_num_substeps = s% diffusion_min_num_substeps
    3429            0 :  diffusion_max_iters_per_substep = s% diffusion_max_iters_per_substep
    3430            0 :  diffusion_max_retries_per_substep = s% diffusion_max_retries_per_substep
    3431            0 :  diffusion_v_max = s% diffusion_v_max
    3432            0 :  diffusion_gamma_full_off = s% diffusion_gamma_full_off
    3433            0 :  diffusion_gamma_full_on = s% diffusion_gamma_full_on
    3434            0 :  diffusion_T_full_off = s% diffusion_T_full_off
    3435            0 :  D_mix_ignore_diffusion = s% D_mix_ignore_diffusion
    3436            0 :  diffusion_T_full_on = s% diffusion_T_full_on
    3437            0 :  diffusion_calculates_ionization = s% diffusion_calculates_ionization
    3438            0 :  diffusion_nsmooth_typical_charge = s% diffusion_nsmooth_typical_charge
    3439            0 :  diffusion_tol_correction_max = s% diffusion_tol_correction_max
    3440            0 :  diffusion_tol_correction_norm = s% diffusion_tol_correction_norm
    3441              : 
    3442            0 :  diffusion_AD_dm_full_on = s% diffusion_AD_dm_full_on
    3443            0 :  diffusion_AD_dm_full_off = s% diffusion_AD_dm_full_off
    3444            0 :  diffusion_AD_boost_factor = s% diffusion_AD_boost_factor
    3445              : 
    3446            0 :  diffusion_SIG_factor = s% diffusion_SIG_factor
    3447            0 :  diffusion_GT_factor = s% diffusion_GT_factor
    3448              : 
    3449            0 :  diffusion_Vlimit_dm_full_on = s% diffusion_Vlimit_dm_full_on
    3450            0 :  diffusion_Vlimit_dm_full_off = s% diffusion_Vlimit_dm_full_off
    3451            0 :  diffusion_Vlimit = s% diffusion_Vlimit
    3452              : 
    3453            0 :  diffusion_max_T_for_radaccel = s% diffusion_max_T_for_radaccel
    3454            0 :  diffusion_min_T_for_radaccel = s% diffusion_min_T_for_radaccel
    3455            0 :  diffusion_max_Z_for_radaccel = s% diffusion_max_Z_for_radaccel
    3456            0 :  diffusion_min_Z_for_radaccel = s% diffusion_min_Z_for_radaccel
    3457            0 :  diffusion_screening_for_radaccel = s% diffusion_screening_for_radaccel
    3458            0 :  op_mono_data_path = s% op_mono_data_path
    3459            0 :  op_mono_data_cache_filename = s% op_mono_data_cache_filename
    3460            0 :  emesh_data_for_op_mono_path = s% emesh_data_for_op_mono_path
    3461            0 :  op_mono_method = s% op_mono_method
    3462              : 
    3463            0 :  show_diffusion_info = s% show_diffusion_info
    3464            0 :  show_diffusion_substep_info = s% show_diffusion_substep_info
    3465            0 :  show_diffusion_timing = s% show_diffusion_timing
    3466              : 
    3467            0 :  diffusion_num_classes = s% diffusion_num_classes
    3468            0 :  diffusion_class_representative = s% diffusion_class_representative
    3469            0 :  diffusion_class_A_max = s% diffusion_class_A_max
    3470            0 :  diffusion_class_typical_charge = s% diffusion_class_typical_charge
    3471            0 :  diffusion_class_factor = s% diffusion_class_factor
    3472              : 
    3473            0 :  diffusion_use_isolve = s% diffusion_use_isolve
    3474            0 :  diffusion_rtol_for_isolve = s% diffusion_rtol_for_isolve
    3475            0 :  diffusion_atol_for_isolve = s% diffusion_atol_for_isolve
    3476            0 :  diffusion_maxsteps_for_isolve = s% diffusion_maxsteps_for_isolve
    3477            0 :  diffusion_isolve_solver = s% diffusion_isolve_solver
    3478              : 
    3479              :  ! eos controls
    3480            0 :  fix_d_eos_dxa_partials = s% fix_d_eos_dxa_partials
    3481              : 
    3482              :  ! opacity controls
    3483            0 :  use_simple_es_for_kap = s% use_simple_es_for_kap
    3484            0 :  use_starting_composition_for_kap = s% use_starting_composition_for_kap
    3485            0 :  min_kap_for_dPrad_dm_eqn = s% min_kap_for_dPrad_dm_eqn
    3486              : 
    3487            0 :  low_logT_op_mono_full_off = s% low_logT_op_mono_full_off
    3488            0 :  low_logT_op_mono_full_on = s% low_logT_op_mono_full_on
    3489            0 :  high_logT_op_mono_full_off = s% high_logT_op_mono_full_off
    3490            0 :  high_logT_op_mono_full_on = s% high_logT_op_mono_full_on
    3491            0 :  op_mono_min_X_to_include = s% op_mono_min_X_to_include
    3492            0 :  use_op_mono_alt_get_kap = s% use_op_mono_alt_get_kap
    3493              : 
    3494            0 :  include_L_in_correction_limits = s% include_L_in_correction_limits
    3495            0 :  include_v_in_correction_limits = s% include_v_in_correction_limits
    3496            0 :  include_u_in_correction_limits = s% include_u_in_correction_limits
    3497            0 :  include_w_in_correction_limits = s% include_w_in_correction_limits
    3498              : 
    3499              :  ! asteroseismology controls
    3500              : 
    3501            0 :  get_delta_nu_from_scaled_solar = s% get_delta_nu_from_scaled_solar
    3502            0 :  nu_max_sun = s% nu_max_sun
    3503            0 :  delta_nu_sun = s% delta_nu_sun
    3504            0 :  astero_Teff_sun = s% astero_Teff_sun
    3505            0 :  delta_Pg_mode_freq = s% delta_Pg_mode_freq
    3506            0 :  delta_Pg_traditional = s% delta_Pg_traditional
    3507              : 
    3508              :  ! hydro parameters
    3509            0 :  energy_eqn_option = s% energy_eqn_option
    3510            0 :  opacity_min = s% opacity_min
    3511            0 :  opacity_max = s% opacity_max
    3512            0 :  opacity_factor = s% opacity_factor
    3513            0 :  min_logT_for_opacity_factor_off = s% min_logT_for_opacity_factor_off
    3514            0 :  max_logT_for_opacity_factor_off = s% max_logT_for_opacity_factor_off
    3515            0 :  min_logT_for_opacity_factor_on = s% min_logT_for_opacity_factor_on
    3516            0 :  max_logT_for_opacity_factor_on = s% max_logT_for_opacity_factor_on
    3517              : 
    3518            0 :  non_nuc_neu_factor = s% non_nuc_neu_factor
    3519            0 :  use_time_centered_eps_grav = s% use_time_centered_eps_grav
    3520            0 :  no_dedt_form_during_relax = s% no_dedt_form_during_relax
    3521            0 :  dedt_eqn_r_scale = s% dedt_eqn_r_scale
    3522            0 :  use_mass_corrections = s% use_mass_corrections
    3523            0 :  use_gravity_rotation_correction = s% use_gravity_rotation_correction
    3524            0 :  eps_grav_factor = s% eps_grav_factor
    3525            0 :  eps_mdot_factor = s% eps_mdot_factor
    3526            0 :  include_composition_in_eps_grav = s% include_composition_in_eps_grav
    3527            0 :  max_abs_rel_change_surf_lnS = s% max_abs_rel_change_surf_lnS
    3528            0 :  max_num_surf_revisions = s% max_num_surf_revisions
    3529            0 :  Gamma_lnS_eps_grav_full_off = s% Gamma_lnS_eps_grav_full_off
    3530            0 :  Gamma_lnS_eps_grav_full_on = s% Gamma_lnS_eps_grav_full_on
    3531              : 
    3532            0 :  use_dPrad_dm_form_of_T_gradient_eqn = s% use_dPrad_dm_form_of_T_gradient_eqn
    3533            0 :  use_flux_limiting_with_dPrad_dm_form = s% use_flux_limiting_with_dPrad_dm_form
    3534            0 :  use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn = s% use_gradT_actual_vs_gradT_MLT_for_T_gradient_eqn
    3535            0 :  steps_before_use_velocity_time_centering = s% steps_before_use_velocity_time_centering
    3536            0 :  include_P_in_velocity_time_centering = s% include_P_in_velocity_time_centering
    3537            0 :  include_L_in_velocity_time_centering = s% include_L_in_velocity_time_centering
    3538            0 :  P_theta_for_velocity_time_centering = s% P_theta_for_velocity_time_centering
    3539            0 :  L_theta_for_velocity_time_centering = s% L_theta_for_velocity_time_centering
    3540            0 :  use_P_d_1_div_rho_form_of_work_when_time_centering_velocity = s% use_P_d_1_div_rho_form_of_work_when_time_centering_velocity
    3541              : 
    3542            0 :  RTI_A = s% RTI_A
    3543            0 :  RTI_B = s% RTI_B
    3544            0 :  RTI_C = s% RTI_C
    3545            0 :  RTI_D = s% RTI_D
    3546            0 :  RTI_max_alpha = s% RTI_max_alpha
    3547            0 :  RTI_C_X_factor = s% RTI_C_X_factor
    3548            0 :  RTI_C_X0_frac = s% RTI_C_X0_frac
    3549            0 :  RTI_dm_for_center_eta_nondecreasing = s% RTI_dm_for_center_eta_nondecreasing
    3550            0 :  RTI_min_dm_behind_shock_for_full_on = s% RTI_min_dm_behind_shock_for_full_on
    3551            0 :  RTI_energy_floor = s% RTI_energy_floor
    3552            0 :  RTI_D_mix_floor = s% RTI_D_mix_floor
    3553            0 :  RTI_min_m_for_D_mix_floor = s% RTI_min_m_for_D_mix_floor
    3554            0 :  RTI_log_max_boost = s% RTI_log_max_boost
    3555            0 :  RTI_m_full_boost = s% RTI_m_full_boost
    3556            0 :  RTI_m_no_boost = s% RTI_m_no_boost
    3557              : 
    3558            0 :  use_drag_energy = s% use_drag_energy
    3559            0 :  drag_coefficient = s% drag_coefficient
    3560            0 :  min_q_for_drag = s% min_q_for_drag
    3561            0 :  v_drag_factor = s% v_drag_factor
    3562            0 :  v_drag = s% v_drag
    3563            0 :  q_for_v_drag_full_off = s% q_for_v_drag_full_off
    3564            0 :  q_for_v_drag_full_on = s% q_for_v_drag_full_on
    3565              : 
    3566            0 :  velocity_logT_lower_bound = s% velocity_logT_lower_bound
    3567            0 :  max_dt_yrs_for_velocity_logT_lower_bound = s% max_dt_yrs_for_velocity_logT_lower_bound
    3568            0 :  velocity_tau_lower_bound = s% velocity_tau_lower_bound
    3569            0 :  velocity_q_upper_bound = s% velocity_q_upper_bound
    3570            0 :  report_max_infall_inside_fe_core = s% report_max_infall_inside_fe_core
    3571            0 :  retry_for_v_above_clight = s% retry_for_v_above_clight
    3572              : 
    3573              :  ! solvers
    3574              : 
    3575            0 :  tol_correction_norm = s% tol_correction_norm
    3576            0 :  tol_max_correction = s% tol_max_correction
    3577            0 :  correction_xa_limit = s% correction_xa_limit
    3578              : 
    3579            0 :  tol_correction_high_T_limit = s% tol_correction_high_T_limit
    3580            0 :  tol_correction_norm_high_T = s% tol_correction_norm_high_T
    3581            0 :  tol_max_correction_high_T = s% tol_max_correction_high_T
    3582              : 
    3583            0 :  tol_correction_extreme_T_limit = s% tol_correction_extreme_T_limit
    3584            0 :  tol_correction_norm_extreme_T = s% tol_correction_norm_extreme_T
    3585            0 :  tol_max_correction_extreme_T = s% tol_max_correction_extreme_T
    3586              : 
    3587            0 :  tol_bad_max_correction = s% tol_bad_max_correction
    3588            0 :  bad_max_correction_series_limit = s% bad_max_correction_series_limit
    3589              : 
    3590            0 :  tol_residual_norm1 = s% tol_residual_norm1
    3591            0 :  tol_max_residual1 = s% tol_max_residual1
    3592            0 :  tol_residual_norm2 = s% tol_residual_norm2
    3593            0 :  tol_max_residual2 = s% tol_max_residual2
    3594            0 :  tol_residual_norm3 = s% tol_residual_norm3
    3595            0 :  tol_max_residual3 = s% tol_max_residual3
    3596            0 :  warning_limit_for_max_residual = s% warning_limit_for_max_residual
    3597            0 :  trace_solver_damping = s% trace_solver_damping
    3598              : 
    3599            0 :  relax_use_gold_tolerances = s% relax_use_gold_tolerances
    3600            0 :  relax_tol_correction_norm = s% relax_tol_correction_norm
    3601            0 :  relax_tol_max_correction = s% relax_tol_max_correction
    3602            0 :  relax_solver_iters_timestep_limit = s% relax_solver_iters_timestep_limit
    3603            0 :  relax_iter_for_resid_tol2 = s% relax_iter_for_resid_tol2
    3604            0 :  relax_tol_residual_norm1 = s% relax_tol_residual_norm1
    3605            0 :  relax_tol_max_residual1 = s% relax_tol_max_residual1
    3606            0 :  relax_iter_for_resid_tol3 = s% relax_iter_for_resid_tol3
    3607            0 :  relax_tol_residual_norm2 = s% relax_tol_residual_norm2
    3608            0 :  relax_tol_max_residual2 = s% relax_tol_max_residual2
    3609            0 :  relax_tol_residual_norm3 = s% relax_tol_residual_norm3
    3610            0 :  relax_tol_max_residual3 = s% relax_tol_max_residual3
    3611            0 :  relax_maxT_for_gold_tolerances = s% relax_maxT_for_gold_tolerances
    3612              : 
    3613            0 :  use_gold_tolerances = s% use_gold_tolerances
    3614            0 :  gold_solver_iters_timestep_limit = s% gold_solver_iters_timestep_limit
    3615            0 :  maxT_for_gold_tolerances = s% maxT_for_gold_tolerances
    3616            0 :  gold_tol_residual_norm1 = s% gold_tol_residual_norm1
    3617            0 :  gold_tol_max_residual1 = s% gold_tol_max_residual1
    3618            0 :  gold_iter_for_resid_tol2 = s% gold_iter_for_resid_tol2
    3619            0 :  gold_tol_residual_norm2 = s% gold_tol_residual_norm2
    3620            0 :  gold_tol_max_residual2 = s% gold_tol_max_residual2
    3621            0 :  gold_iter_for_resid_tol3 = s% gold_iter_for_resid_tol3
    3622            0 :  gold_tol_residual_norm3 = s% gold_tol_residual_norm3
    3623            0 :  gold_tol_max_residual3 = s% gold_tol_max_residual3
    3624            0 :  steps_before_use_gold_tolerances = s% steps_before_use_gold_tolerances
    3625              : 
    3626            0 :  use_gold2_tolerances = s% use_gold2_tolerances
    3627            0 :  gold2_solver_iters_timestep_limit = s% gold2_solver_iters_timestep_limit
    3628            0 :  gold2_tol_residual_norm1 = s% gold2_tol_residual_norm1
    3629            0 :  gold2_tol_max_residual1 = s% gold2_tol_max_residual1
    3630            0 :  gold2_iter_for_resid_tol2 = s% gold2_iter_for_resid_tol2
    3631            0 :  gold2_tol_residual_norm2 = s% gold2_tol_residual_norm2
    3632            0 :  gold2_tol_max_residual2 = s% gold2_tol_max_residual2
    3633            0 :  gold2_iter_for_resid_tol3 = s% gold2_iter_for_resid_tol3
    3634            0 :  gold2_tol_residual_norm3 = s% gold2_tol_residual_norm3
    3635            0 :  gold2_tol_max_residual3 = s% gold2_tol_max_residual3
    3636            0 :  steps_before_use_gold2_tolerances = s% steps_before_use_gold2_tolerances
    3637              : 
    3638            0 :  include_rotation_in_total_energy = s% include_rotation_in_total_energy
    3639              : 
    3640            0 :  convergence_ignore_equL_residuals = s% convergence_ignore_equL_residuals
    3641            0 :  convergence_ignore_alpha_RTI_residuals = s% convergence_ignore_alpha_RTI_residuals
    3642              : 
    3643            0 :  iter_for_resid_tol2 = s% iter_for_resid_tol2
    3644            0 :  iter_for_resid_tol3 = s% iter_for_resid_tol3
    3645              : 
    3646            0 :  solver_itermin = s% solver_itermin
    3647            0 :  solver_itermin_until_reduce_min_corr_coeff = s% solver_itermin_until_reduce_min_corr_coeff
    3648            0 :  solver_reduced_min_corr_coeff = s% solver_reduced_min_corr_coeff
    3649            0 :  do_solver_damping_for_neg_xa = s% do_solver_damping_for_neg_xa
    3650            0 :  scale_max_correction_for_negative_surf_lum = s% scale_max_correction_for_negative_surf_lum
    3651            0 :  max_frac_for_negative_surf_lum = s% max_frac_for_negative_surf_lum
    3652            0 :  hydro_mtx_max_allowed_abs_dlogT = s% hydro_mtx_max_allowed_abs_dlogT
    3653            0 :  hydro_mtx_max_allowed_abs_dlogRho = s% hydro_mtx_max_allowed_abs_dlogRho
    3654            0 :  min_logT_for_hydro_mtx_max_allowed = s% min_logT_for_hydro_mtx_max_allowed
    3655            0 :  hydro_mtx_max_allowed_logT = s% hydro_mtx_max_allowed_logT
    3656            0 :  hydro_mtx_max_allowed_logRho = s% hydro_mtx_max_allowed_logRho
    3657            0 :  hydro_mtx_min_allowed_logT = s% hydro_mtx_min_allowed_logT
    3658            0 :  hydro_mtx_min_allowed_logRho = s% hydro_mtx_min_allowed_logRho
    3659              : 
    3660            0 :  use_DGESVX_in_bcyclic = s% use_DGESVX_in_bcyclic
    3661            0 :  use_equilibration_in_DGESVX = s% use_equilibration_in_DGESVX
    3662            0 :  report_min_rcond_from_DGESXV = s% report_min_rcond_from_DGESXV
    3663              : 
    3664            0 :  op_split_burn = s% op_split_burn
    3665            0 :  op_split_burn_min_T = s% op_split_burn_min_T
    3666            0 :  op_split_burn_eps = s% op_split_burn_eps
    3667            0 :  op_split_burn_odescal = s% op_split_burn_odescal
    3668            0 :  op_split_burn_min_T_for_variable_T_solver = s% op_split_burn_min_T_for_variable_T_solver
    3669              : 
    3670            0 :  tiny_corr_coeff_limit = s% tiny_corr_coeff_limit
    3671            0 :  scale_correction_norm = s% scale_correction_norm
    3672            0 :  num_times_solver_reuse_mtx = s% num_times_solver_reuse_mtx
    3673            0 :  corr_param_factor = s% corr_param_factor
    3674            0 :  scale_max_correction = s% scale_max_correction
    3675            0 :  ignore_min_corr_coeff_for_scale_max_correction = s% ignore_min_corr_coeff_for_scale_max_correction
    3676            0 :  ignore_too_large_correction = s% ignore_too_large_correction
    3677            0 :  ignore_species_in_max_correction = s% ignore_species_in_max_correction
    3678              : 
    3679            0 :  corr_norm_jump_limit = s% corr_norm_jump_limit
    3680            0 :  max_corr_jump_limit = s% max_corr_jump_limit
    3681            0 :  resid_norm_jump_limit = s% resid_norm_jump_limit
    3682            0 :  max_resid_jump_limit = s% max_resid_jump_limit
    3683              : 
    3684            0 :  corr_coeff_limit = s% corr_coeff_limit
    3685            0 :  tiny_corr_factor = s% tiny_corr_factor
    3686              : 
    3687            0 :  solver_max_tries_before_reject = s% solver_max_tries_before_reject
    3688            0 :  max_tries1 = s% max_tries1
    3689            0 :  max_tries_for_retry = s% max_tries_for_retry
    3690            0 :  max_tries_after_5_retries = s% max_tries_after_5_retries
    3691            0 :  max_tries_after_10_retries = s% max_tries_after_10_retries
    3692            0 :  max_tries_after_20_retries = s% max_tries_after_20_retries
    3693            0 :  retry_limit = s% retry_limit
    3694            0 :  redo_limit = s% redo_limit
    3695              : 
    3696            0 :  use_Pvsc_art_visc = s% use_Pvsc_art_visc
    3697            0 :  Pvsc_cq = s% Pvsc_cq
    3698            0 :  Pvsc_zsh = s% Pvsc_zsh
    3699              : 
    3700            0 :  min_xa_hard_limit = s% min_xa_hard_limit
    3701            0 :  min_xa_hard_limit_for_highT = s% min_xa_hard_limit_for_highT
    3702            0 :  logT_max_for_min_xa_hard_limit = s% logT_max_for_min_xa_hard_limit
    3703            0 :  logT_min_for_min_xa_hard_limit_for_highT = s% logT_min_for_min_xa_hard_limit_for_highT
    3704              : 
    3705            0 :  sum_xa_hard_limit = s% sum_xa_hard_limit
    3706            0 :  sum_xa_hard_limit_for_highT = s% sum_xa_hard_limit_for_highT
    3707            0 :  logT_max_for_sum_xa_hard_limit = s% logT_max_for_sum_xa_hard_limit
    3708            0 :  logT_min_for_sum_xa_hard_limit_for_highT = s% logT_min_for_sum_xa_hard_limit_for_highT
    3709              : 
    3710            0 :  xa_clip_limit = s% xa_clip_limit
    3711            0 :  report_solver_progress = s% report_solver_progress
    3712            0 :  solver_test_partials_call_number = s% solver_test_partials_call_number
    3713            0 :  solver_test_partials_iter_number = s% solver_test_partials_iter_number
    3714            0 :  solver_epsder_chem = s% solver_epsder_chem
    3715            0 :  solver_epsder_struct = s% solver_epsder_struct
    3716            0 :  solver_numerical_jacobian = s% solver_numerical_jacobian
    3717            0 :  solver_jacobian_nzlo = s% solver_jacobian_nzlo
    3718            0 :  solver_jacobian_nzhi = s% solver_jacobian_nzhi
    3719            0 :  solver_check_everything = s% solver_check_everything
    3720            0 :  energy_conservation_dump_model_number = s% energy_conservation_dump_model_number
    3721            0 :  solver_inspect_soln_flag = s% solver_inspect_soln_flag
    3722            0 :  solver_test_partials_dx_0 = s% solver_test_partials_dx_0
    3723            0 :  solver_test_partials_k = s% solver_test_partials_k
    3724            0 :  solver_test_partials_k_low = s% solver_test_partials_k_low
    3725            0 :  solver_test_partials_k_high = s% solver_test_partials_k_high
    3726            0 :  solver_show_correction_info = s% solver_show_correction_info
    3727            0 :  solver_test_partials_write_eos_call_info = s% solver_test_partials_write_eos_call_info
    3728            0 :  solver_test_eos_partials = s% solver_test_eos_partials
    3729            0 :  solver_test_kap_partials = s% solver_test_kap_partials
    3730            0 :  solver_test_net_partials = s% solver_test_net_partials
    3731            0 :  solver_test_atm_partials = s% solver_test_atm_partials
    3732            0 : solver_test_partials_var_name = s% solver_test_partials_var_name
    3733            0 : solver_test_partials_sink_name = s% solver_test_partials_sink_name
    3734            0 :  solver_test_partials_equ_name = s% solver_test_partials_equ_name
    3735            0 :  solver_test_partials_show_dx_var_name = s% solver_test_partials_show_dx_var_name
    3736            0 :  solver_save_photo_call_number = s% solver_save_photo_call_number
    3737            0 :  fill_arrays_with_NaNs = s% fill_arrays_with_NaNs
    3738            0 :  zero_when_allocate = s% zero_when_allocate
    3739            0 :  warn_when_large_rel_run_E_err = s% warn_when_large_rel_run_E_err
    3740            0 :  absolute_cumulative_energy_err = s% absolute_cumulative_energy_err
    3741            0 :  warn_when_large_virial_thm_rel_err = s% warn_when_large_virial_thm_rel_err
    3742            0 :  warn_when_get_a_bad_eos_result = s% warn_when_get_a_bad_eos_result
    3743            0 :  warn_rates_for_high_temp = s% warn_rates_for_high_temp
    3744            0 :  max_safe_logT_for_rates = s% max_safe_logT_for_rates
    3745            0 :  eps_mdot_leak_frac_factor = s% eps_mdot_leak_frac_factor
    3746              : 
    3747            0 :  alpha_TDC_DAMP = s% alpha_TDC_DAMP
    3748            0 :  alpha_TDC_DAMPR = s% alpha_TDC_DAMPR
    3749            0 :  alpha_TDC_PtdVdt = s% alpha_TDC_PtdVdt
    3750            0 :  compare_TDC_to_MLT = s% compare_TDC_to_MLT
    3751              : 
    3752            0 :  RSP2_alfap= s% RSP2_alfap
    3753            0 :  RSP2_alfad = s% RSP2_alfad
    3754            0 :  RSP2_alfat= s% RSP2_alfat
    3755            0 :  RSP2_alfam= s% RSP2_alfam
    3756            0 :  RSP2_alfar= s% RSP2_alfar
    3757            0 :  RSP2_min_Lt_div_L_for_overshooting_mixing_type = s% RSP2_min_Lt_div_L_for_overshooting_mixing_type
    3758            0 :  RSP2_min_Lc_div_L_for_convective_mixing_type = s% RSP2_min_Lc_div_L_for_convective_mixing_type
    3759            0 :  RSP2_Lsurf_factor= s% RSP2_Lsurf_factor
    3760            0 :  RSP2_use_Stellingwerf_Lr = s% RSP2_use_Stellingwerf_Lr
    3761            0 :  RSP2_remesh_when_load = s% RSP2_remesh_when_load
    3762            0 :  RSP2_use_L_eqn_at_surface = s% RSP2_use_L_eqn_at_surface
    3763            0 :  RSP2_report_adjust_w = s% RSP2_report_adjust_w
    3764            0 :  RSP2_assume_HSE = s% RSP2_assume_HSE
    3765            0 :  RSP2_use_RSP_eqn_for_Y_face = s% RSP2_use_RSP_eqn_for_Y_face
    3766            0 :  RSP2_use_mass_interp_face_values = s% RSP2_use_mass_interp_face_values
    3767            0 :  RSP2_num_outermost_cells_forced_nonturbulent = s% RSP2_num_outermost_cells_forced_nonturbulent
    3768            0 :  RSP2_num_innermost_cells_forced_nonturbulent = s% RSP2_num_innermost_cells_forced_nonturbulent
    3769            0 :  RSP2_T_anchor = s% RSP2_T_anchor
    3770            0 :  RSP2_dq_1_factor = s% RSP2_dq_1_factor
    3771            0 :  RSP2_nz = s% RSP2_nz
    3772            0 :  RSP2_nz_outer = s% RSP2_nz_outer
    3773            0 :  RSP2_nz_div_IBOTOM = s% RSP2_nz_div_IBOTOM
    3774            0 :  RSP2_target_steps_per_cycle = s% RSP2_target_steps_per_cycle
    3775            0 :  RSP2_max_num_periods = s% RSP2_max_num_periods
    3776            0 :  RSP2_work_period = s% RSP2_work_period
    3777            0 :  RSP2_map_first_period = s% RSP2_map_first_period
    3778            0 :  RSP2_map_last_period = s% RSP2_map_last_period
    3779            0 :  RSP2_min_max_R_for_periods = s% RSP2_min_max_R_for_periods
    3780            0 :  RSP2_GREKM_avg_abs_frac_new = s% RSP2_GREKM_avg_abs_frac_new
    3781            0 :  RSP2_GREKM_avg_abs_limit = s% RSP2_GREKM_avg_abs_limit
    3782            0 :  RSP2_map_zone_interval = s% RSP2_map_zone_interval
    3783            0 :  RSP2_work_filename = s% RSP2_work_filename
    3784            0 :  RSP2_map_columns_filename = s% RSP2_map_columns_filename
    3785            0 :  RSP2_map_filename = s% RSP2_map_filename
    3786            0 :  RSP2_map_history_filename = s% RSP2_map_history_filename
    3787            0 :  RSP2_write_map = s% RSP2_write_map
    3788            0 :  RSP2_w_min_for_damping = s% RSP2_w_min_for_damping
    3789            0 :  RSP2_source_seed = s% RSP2_source_seed
    3790            0 :  RSP2_w_fix_if_neg = s% RSP2_w_fix_if_neg
    3791              : 
    3792            0 :  max_X_for_conv_timescale = s% max_X_for_conv_timescale
    3793            0 :  min_X_for_conv_timescale = s% min_X_for_conv_timescale
    3794            0 :  max_q_for_conv_timescale = s% max_q_for_conv_timescale
    3795            0 :  min_q_for_conv_timescale = s% min_q_for_conv_timescale
    3796            0 :  max_q_for_QHSE_timescale = s% max_q_for_QHSE_timescale
    3797            0 :  min_q_for_QHSE_timescale = s% min_q_for_QHSE_timescale
    3798              : 
    3799              :  ! timestep
    3800            0 :  max_timestep = s% max_timestep
    3801            0 :  max_years_for_timestep = s% max_years_for_timestep
    3802              : 
    3803            0 :  hi_T_max_years_for_timestep = s% hi_T_max_years_for_timestep
    3804            0 :  max_timestep_hi_T_limit = s% max_timestep_hi_T_limit
    3805              : 
    3806            0 :  min_timestep_factor = s% min_timestep_factor
    3807            0 :  max_timestep_factor = s% max_timestep_factor
    3808            0 :  max_timestep_factor_at_high_T = s% max_timestep_factor_at_high_T
    3809            0 :  min_logT_for_max_timestep_factor_at_high_T = s% min_logT_for_max_timestep_factor_at_high_T
    3810            0 :  time_delta_coeff = s% time_delta_coeff
    3811            0 :  timestep_factor_for_retries = s% timestep_factor_for_retries
    3812            0 :  retry_hold = s% retry_hold
    3813            0 :  neg_mass_fraction_hold = s% neg_mass_fraction_hold
    3814            0 :  timestep_dt_factor = s% timestep_dt_factor
    3815            0 :  use_dt_low_pass_controller = s% use_dt_low_pass_controller
    3816              : 
    3817            0 :  force_timestep_min = s% force_timestep_min
    3818            0 :  force_timestep_min_years = s% force_timestep_min_years
    3819            0 :  force_timestep_min_factor = s% force_timestep_min_factor
    3820            0 :  force_timestep = s% force_timestep
    3821            0 :  force_timestep_years = s% force_timestep_years
    3822              : 
    3823            0 :  varcontrol_target = s% varcontrol_target
    3824            0 :  min_allowed_varcontrol_target = s% min_allowed_varcontrol_target
    3825            0 :  varcontrol_dt_limit_ratio_hard_max = s% varcontrol_dt_limit_ratio_hard_max
    3826            0 :  xa_scale = s% xa_scale
    3827              : 
    3828            0 :  solver_iters_timestep_limit = s% solver_iters_timestep_limit
    3829              : 
    3830            0 :  burn_steps_limit = s% burn_steps_limit
    3831            0 :  burn_steps_hard_limit = s% burn_steps_hard_limit
    3832              : 
    3833            0 :  diffusion_steps_limit = s% diffusion_steps_limit
    3834            0 :  diffusion_steps_hard_limit = s% diffusion_steps_hard_limit
    3835            0 :  diffusion_iters_limit = s% diffusion_iters_limit
    3836            0 :  diffusion_iters_hard_limit = s% diffusion_iters_hard_limit
    3837              : 
    3838            0 :  dt_div_dt_cell_collapse_limit = s% dt_div_dt_cell_collapse_limit
    3839            0 :  dt_div_dt_cell_collapse_hard_limit = s% dt_div_dt_cell_collapse_hard_limit
    3840            0 :  dt_div_min_dr_div_cs_limit = s% dt_div_min_dr_div_cs_limit
    3841            0 :  dt_div_min_dr_div_cs_hard_limit = s% dt_div_min_dr_div_cs_hard_limit
    3842              : 
    3843            0 :  min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit = s% min_abs_du_div_cs_for_dt_div_min_dr_div_cs_limit
    3844            0 :  min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit = s% min_abs_u_div_cs_for_dt_div_min_dr_div_cs_limit
    3845            0 :  min_k_for_dt_div_min_dr_div_cs_limit = s% min_k_for_dt_div_min_dr_div_cs_limit
    3846            0 :  min_q_for_dt_div_min_dr_div_cs_limit = s% min_q_for_dt_div_min_dr_div_cs_limit
    3847            0 :  max_q_for_dt_div_min_dr_div_cs_limit = s% max_q_for_dt_div_min_dr_div_cs_limit
    3848            0 :  check_remnant_only_for_dt_div_min_dr_div_cs_limit = s% check_remnant_only_for_dt_div_min_dr_div_cs_limit
    3849              : 
    3850            0 :  dX_mix_dist_limit = s% dX_mix_dist_limit
    3851            0 :  dX_limit_species = s% dX_limit_species
    3852            0 :  dX_limit_min_X = s% dX_limit_min_X
    3853            0 :  dX_limit = s% dX_limit
    3854            0 :  dX_hard_limit = s% dX_hard_limit
    3855            0 :  dX_div_X_limit_min_X = s% dX_div_X_limit_min_X
    3856            0 :  dX_div_X_limit = s% dX_div_X_limit
    3857            0 :  dX_div_X_hard_limit = s% dX_div_X_hard_limit
    3858            0 :  dX_div_X_at_high_T_limit = s% dX_div_X_at_high_T_limit
    3859            0 :  dX_div_X_at_high_T_hard_limit = s% dX_div_X_at_high_T_hard_limit
    3860            0 :  dX_div_X_at_high_T_limit_lgT_min = s% dX_div_X_at_high_T_limit_lgT_min
    3861            0 :  dX_decreases_only = s% dX_decreases_only
    3862              : 
    3863            0 :  dX_nuc_drop_min_X_limit = s% dX_nuc_drop_min_X_limit
    3864            0 :  dX_nuc_drop_max_A_limit = s% dX_nuc_drop_max_A_limit
    3865            0 :  dX_nuc_drop_limit = s% dX_nuc_drop_limit
    3866            0 :  dX_nuc_drop_limit_at_high_T = s% dX_nuc_drop_limit_at_high_T
    3867            0 :  dX_nuc_drop_hard_limit = s% dX_nuc_drop_hard_limit
    3868            0 :  dX_nuc_drop_min_yrs_for_dt = s% dX_nuc_drop_min_yrs_for_dt
    3869              : 
    3870            0 :  dL_div_L_limit_min_L = s% dL_div_L_limit_min_L
    3871            0 :  dL_div_L_limit = s% dL_div_L_limit
    3872            0 :  dL_div_L_hard_limit = s% dL_div_L_hard_limit
    3873              : 
    3874            0 :  delta_lgP_limit = s% delta_lgP_limit
    3875            0 :  delta_lgP_hard_limit = s% delta_lgP_hard_limit
    3876            0 :  delta_lgP_limit_min_lgP = s% delta_lgP_limit_min_lgP
    3877              : 
    3878            0 :  delta_lgRho_limit = s% delta_lgRho_limit
    3879            0 :  delta_lgRho_hard_limit = s% delta_lgRho_hard_limit
    3880            0 :  delta_lgRho_limit_min_lgRho = s% delta_lgRho_limit_min_lgRho
    3881              : 
    3882            0 :  delta_lgT_limit = s% delta_lgT_limit
    3883            0 :  delta_lgT_hard_limit = s% delta_lgT_hard_limit
    3884            0 :  delta_lgT_limit_min_lgT = s% delta_lgT_limit_min_lgT
    3885              : 
    3886            0 :  delta_lgE_limit = s% delta_lgE_limit
    3887            0 :  delta_lgE_hard_limit = s% delta_lgE_hard_limit
    3888            0 :  delta_lgE_limit_min_lgE = s% delta_lgE_limit_min_lgE
    3889              : 
    3890            0 :  delta_lgR_limit = s% delta_lgR_limit
    3891            0 :  delta_lgR_hard_limit = s% delta_lgR_hard_limit
    3892            0 :  delta_lgR_limit_min_lgR = s% delta_lgR_limit_min_lgR
    3893              : 
    3894            0 :  delta_Ye_highT_limit = s% delta_Ye_highT_limit
    3895            0 :  delta_Ye_highT_hard_limit = s% delta_Ye_highT_hard_limit
    3896            0 :  minT_for_highT_Ye_limit = s% minT_for_highT_Ye_limit
    3897              : 
    3898            0 :  delta_lgL_nuc_cat_limit = s% delta_lgL_nuc_cat_limit
    3899            0 :  delta_lgL_nuc_cat_hard_limit = s% delta_lgL_nuc_cat_hard_limit
    3900            0 :  lgL_nuc_cat_burn_min = s% lgL_nuc_cat_burn_min
    3901            0 :  lgL_nuc_mix_dist_limit = s% lgL_nuc_mix_dist_limit
    3902              : 
    3903            0 :  delta_lgL_H_limit = s% delta_lgL_H_limit
    3904            0 :  delta_lgL_H_hard_limit = s% delta_lgL_H_hard_limit
    3905            0 :  lgL_H_burn_min = s% lgL_H_burn_min
    3906            0 :  lgL_H_drop_factor = s% lgL_H_drop_factor
    3907            0 :  lgL_H_burn_relative_limit = s% lgL_H_burn_relative_limit
    3908              : 
    3909            0 :  delta_lgL_He_limit = s% delta_lgL_He_limit
    3910            0 :  delta_lgL_He_hard_limit = s% delta_lgL_He_hard_limit
    3911            0 :  lgL_He_burn_min = s% lgL_He_burn_min
    3912            0 :  lgL_He_drop_factor = s% lgL_He_drop_factor
    3913            0 :  lgL_He_burn_relative_limit = s% lgL_He_burn_relative_limit
    3914              : 
    3915            0 :  delta_lgL_z_limit = s% delta_lgL_z_limit
    3916            0 :  delta_lgL_z_hard_limit = s% delta_lgL_z_hard_limit
    3917            0 :  lgL_z_burn_min = s% lgL_z_burn_min
    3918            0 :  lgL_z_drop_factor = s% lgL_z_drop_factor
    3919            0 :  lgL_z_burn_relative_limit = s% lgL_z_burn_relative_limit
    3920              : 
    3921            0 :  delta_lgL_power_photo_limit = s% delta_lgL_power_photo_limit
    3922            0 :  delta_lgL_power_photo_hard_limit = s% delta_lgL_power_photo_hard_limit
    3923            0 :  lgL_power_photo_burn_min = s% lgL_power_photo_burn_min
    3924            0 :  lgL_power_photo_drop_factor = s% lgL_power_photo_drop_factor
    3925            0 :  min_lgT_for_lgL_power_photo_limit = s% min_lgT_for_lgL_power_photo_limit
    3926              : 
    3927            0 :  delta_lgL_nuc_limit = s% delta_lgL_nuc_limit
    3928            0 :  delta_lgL_nuc_hard_limit = s% delta_lgL_nuc_hard_limit
    3929            0 :  delta_lgL_nuc_at_high_T_limit = s% delta_lgL_nuc_at_high_T_limit
    3930            0 :  delta_lgL_nuc_at_high_T_hard_limit = s% delta_lgL_nuc_at_high_T_hard_limit
    3931            0 :  delta_lgL_nuc_at_high_T_limit_lgT_min = s% delta_lgL_nuc_at_high_T_limit_lgT_min
    3932              : 
    3933            0 :  max_lgT_for_lgL_nuc_limit = s% max_lgT_for_lgL_nuc_limit
    3934            0 :  lgL_nuc_burn_min = s% lgL_nuc_burn_min
    3935            0 :  lgL_nuc_drop_factor = s% lgL_nuc_drop_factor
    3936              : 
    3937            0 :  delta_lgRho_cntr_limit = s% delta_lgRho_cntr_limit
    3938            0 :  delta_lgRho_cntr_hard_limit = s% delta_lgRho_cntr_hard_limit
    3939              : 
    3940            0 :  delta_lgT_cntr_limit = s% delta_lgT_cntr_limit
    3941            0 :  delta_lgT_cntr_hard_limit = s% delta_lgT_cntr_hard_limit
    3942            0 :  delta_lgT_cntr_limit_only_after_near_zams = s% delta_lgT_cntr_limit_only_after_near_zams
    3943              : 
    3944            0 :  delta_lgP_cntr_limit = s% delta_lgP_cntr_limit
    3945            0 :  delta_lgP_cntr_hard_limit = s% delta_lgP_cntr_hard_limit
    3946              : 
    3947            0 :  delta_lgT_max_limit = s% delta_lgT_max_limit
    3948            0 :  delta_lgT_max_hard_limit = s% delta_lgT_max_hard_limit
    3949            0 :  delta_lgT_max_limit_lgT_min = s% delta_lgT_max_limit_lgT_min
    3950            0 :  delta_lgT_max_limit_only_after_near_zams = s% delta_lgT_max_limit_only_after_near_zams
    3951              : 
    3952            0 :  delta_lgT_max_at_high_T_limit = s% delta_lgT_max_at_high_T_limit
    3953            0 :  delta_lgT_max_at_high_T_hard_limit = s% delta_lgT_max_at_high_T_hard_limit
    3954            0 :  delta_lgT_max_at_high_T_limit_lgT_min = s% delta_lgT_max_at_high_T_limit_lgT_min
    3955              : 
    3956            0 :  delta_log_eps_nuc_limit = s% delta_log_eps_nuc_limit
    3957            0 :  delta_log_eps_nuc_hard_limit = s% delta_log_eps_nuc_hard_limit
    3958              : 
    3959            0 :  delta_dX_div_X_cntr_min = s% delta_dX_div_X_cntr_min
    3960            0 :  delta_dX_div_X_cntr_max = s% delta_dX_div_X_cntr_max
    3961            0 :  delta_dX_div_X_cntr_limit = s% delta_dX_div_X_cntr_limit
    3962            0 :  delta_dX_div_X_cntr_hard_limit = s% delta_dX_div_X_cntr_hard_limit
    3963              : 
    3964            0 :  delta_dX_div_X_drop_only = s% delta_dX_div_X_drop_only
    3965            0 :  delta_lg_XH_drop_only = s% delta_lg_XH_drop_only
    3966            0 :  delta_lg_XHe_drop_only = s% delta_lg_XHe_drop_only
    3967            0 :  delta_lg_XC_drop_only = s% delta_lg_XC_drop_only
    3968            0 :  delta_lg_XNe_drop_only = s% delta_lg_XNe_drop_only
    3969            0 :  delta_lg_XO_drop_only = s% delta_lg_XO_drop_only
    3970            0 :  delta_lg_XSi_drop_only = s% delta_lg_XSi_drop_only
    3971            0 :  delta_XH_drop_only = s% delta_XH_drop_only
    3972            0 :  delta_XHe_drop_only = s% delta_XHe_drop_only
    3973            0 :  delta_XC_drop_only = s% delta_XC_drop_only
    3974            0 :  delta_XNe_drop_only = s% delta_XNe_drop_only
    3975            0 :  delta_XO_drop_only = s% delta_XO_drop_only
    3976            0 :  delta_XSi_drop_only = s% delta_XSi_drop_only
    3977              : 
    3978            0 :  delta_lg_XH_cntr_min = s% delta_lg_XH_cntr_min
    3979            0 :  delta_lg_XH_cntr_max = s% delta_lg_XH_cntr_max
    3980            0 :  delta_lg_XH_cntr_limit = s% delta_lg_XH_cntr_limit
    3981            0 :  delta_lg_XH_cntr_hard_limit = s% delta_lg_XH_cntr_hard_limit
    3982              : 
    3983            0 :  delta_lg_XHe_cntr_min = s% delta_lg_XHe_cntr_min
    3984            0 :  delta_lg_XHe_cntr_max = s% delta_lg_XHe_cntr_max
    3985            0 :  delta_lg_XHe_cntr_limit = s% delta_lg_XHe_cntr_limit
    3986            0 :  delta_lg_XHe_cntr_hard_limit = s% delta_lg_XHe_cntr_hard_limit
    3987              : 
    3988            0 :  delta_lg_XC_cntr_min = s% delta_lg_XC_cntr_min
    3989            0 :  delta_lg_XC_cntr_max = s% delta_lg_XC_cntr_max
    3990            0 :  delta_lg_XC_cntr_limit = s% delta_lg_XC_cntr_limit
    3991            0 :  delta_lg_XC_cntr_hard_limit = s% delta_lg_XC_cntr_hard_limit
    3992              : 
    3993            0 :  delta_lg_XNe_cntr_limit = s% delta_lg_XNe_cntr_limit
    3994            0 :  delta_lg_XNe_cntr_hard_limit = s% delta_lg_XNe_cntr_hard_limit
    3995            0 :  delta_lg_XNe_cntr_min = s% delta_lg_XNe_cntr_min
    3996            0 :  delta_lg_XNe_cntr_max = s% delta_lg_XNe_cntr_max
    3997              : 
    3998            0 :  delta_lg_XO_cntr_limit = s% delta_lg_XO_cntr_limit
    3999            0 :  delta_lg_XO_cntr_hard_limit = s% delta_lg_XO_cntr_hard_limit
    4000            0 :  delta_lg_XO_cntr_min = s% delta_lg_XO_cntr_min
    4001            0 :  delta_lg_XO_cntr_max = s% delta_lg_XO_cntr_max
    4002              : 
    4003            0 :  delta_lg_XSi_cntr_limit = s% delta_lg_XSi_cntr_limit
    4004            0 :  delta_lg_XSi_cntr_hard_limit = s% delta_lg_XSi_cntr_hard_limit
    4005            0 :  delta_lg_XSi_cntr_min = s% delta_lg_XSi_cntr_min
    4006            0 :  delta_lg_XSi_cntr_max = s% delta_lg_XSi_cntr_max
    4007              : 
    4008            0 :  delta_XH_cntr_limit = s% delta_XH_cntr_limit
    4009            0 :  delta_XH_cntr_hard_limit = s% delta_XH_cntr_hard_limit
    4010            0 :  delta_XHe_cntr_limit = s% delta_XHe_cntr_limit
    4011            0 :  delta_XHe_cntr_hard_limit = s% delta_XHe_cntr_hard_limit
    4012            0 :  delta_XC_cntr_limit = s% delta_XC_cntr_limit
    4013            0 :  delta_XC_cntr_hard_limit = s% delta_XC_cntr_hard_limit
    4014            0 :  delta_XNe_cntr_limit = s% delta_XNe_cntr_limit
    4015            0 :  delta_XNe_cntr_hard_limit = s% delta_XNe_cntr_hard_limit
    4016            0 :  delta_XO_cntr_limit = s% delta_XO_cntr_limit
    4017            0 :  delta_XO_cntr_hard_limit = s% delta_XO_cntr_hard_limit
    4018            0 :  delta_XSi_cntr_limit = s% delta_XSi_cntr_limit
    4019            0 :  delta_XSi_cntr_hard_limit = s% delta_XSi_cntr_hard_limit
    4020              : 
    4021            0 :  delta_lgTeff_limit = s% delta_lgTeff_limit
    4022            0 :  delta_lgTeff_hard_limit = s% delta_lgTeff_hard_limit
    4023              : 
    4024            0 :  delta_lgL_limit = s% delta_lgL_limit
    4025            0 :  delta_lgL_limit_L_min = s% delta_lgL_limit_L_min
    4026            0 :  delta_lgL_hard_limit = s% delta_lgL_hard_limit
    4027              : 
    4028            0 :  delta_HR_ds_L = s% delta_HR_ds_L
    4029            0 :  delta_HR_ds_Teff = s% delta_HR_ds_Teff
    4030            0 :  delta_HR_limit = s% delta_HR_limit
    4031            0 :  delta_HR_hard_limit = s% delta_HR_hard_limit
    4032              : 
    4033            0 :  delta_lg_star_mass_limit = s% delta_lg_star_mass_limit
    4034            0 :  delta_lg_star_mass_hard_limit = s% delta_lg_star_mass_hard_limit
    4035              : 
    4036            0 :  delta_mdot_atol = s% delta_mdot_atol
    4037            0 :  delta_mdot_rtol = s% delta_mdot_rtol
    4038            0 :  delta_mdot_limit = s% delta_mdot_limit
    4039            0 :  delta_mdot_hard_limit = s% delta_mdot_hard_limit
    4040              : 
    4041            0 :  adjust_J_q_limit = s% adjust_J_q_limit
    4042            0 :  adjust_J_q_hard_limit = s% adjust_J_q_hard_limit
    4043            0 :  never_skip_hard_limits = s% never_skip_hard_limits
    4044            0 :  relax_hard_limits_after_retry = s% relax_hard_limits_after_retry
    4045            0 :  report_dt_hard_limit_retries = s% report_dt_hard_limit_retries
    4046            0 :  report_min_dr_div_cs = s% report_min_dr_div_cs
    4047            0 :  report_solver_dt_info = s% report_solver_dt_info
    4048              : 
    4049            0 :  limit_for_rel_error_in_energy_conservation = s% limit_for_rel_error_in_energy_conservation
    4050            0 :  hard_limit_for_rel_error_in_energy_conservation = s% hard_limit_for_rel_error_in_energy_conservation
    4051              : 
    4052            0 :  min_chem_eqn_scale = s% min_chem_eqn_scale
    4053              : 
    4054              :  ! controls for the evolve routine
    4055            0 :  trace_evolve = s% trace_evolve
    4056              : 
    4057              : 
    4058              :  ! misc
    4059            0 :  zams_filename = s% zams_filename
    4060            0 :  set_rho_to_dm_div_dV = s% set_rho_to_dm_div_dV
    4061              : 
    4062            0 :  use_other_mlt_results = s% use_other_mlt_results
    4063            0 :  use_other_surface_PT = s% use_other_surface_PT
    4064            0 :  use_other_kap = s% use_other_kap
    4065            0 :  use_other_diffusion = s% use_other_diffusion
    4066            0 :  use_other_diffusion_factor = s% use_other_diffusion_factor
    4067            0 :  use_other_adjust_mdot = s% use_other_adjust_mdot
    4068            0 :  use_other_j_for_adjust_J_lost = s% use_other_j_for_adjust_J_lost
    4069            0 :  use_other_alpha_mlt = s% use_other_alpha_mlt
    4070            0 :  use_other_am_mixing = s% use_other_am_mixing
    4071            0 :  use_other_brunt = s% use_other_brunt
    4072            0 :  use_other_brunt_smoothing = s% use_other_brunt_smoothing
    4073            0 :  use_other_solver_monitor = s% use_other_solver_monitor
    4074            0 :  use_other_build_initial_model = s% use_other_build_initial_model
    4075            0 :  use_other_cgrav = s% use_other_cgrav
    4076            0 :  use_other_mesh_delta_coeff_factor = s% use_other_mesh_delta_coeff_factor
    4077            0 :  use_other_energy_implicit = s% use_other_energy_implicit
    4078            0 :  use_other_momentum_implicit = s% use_other_momentum_implicit
    4079            0 :  use_other_momentum = s% use_other_momentum
    4080            0 :  use_other_remove_surface = s% use_other_remove_surface
    4081            0 :  use_other_energy = s% use_other_energy
    4082            0 :  use_other_pressure = s% use_other_pressure
    4083            0 :  use_other_mesh_functions = s% use_other_mesh_functions
    4084            0 :  use_other_eps_grav = s% use_other_eps_grav
    4085            0 :  use_other_gradr_factor = s% use_other_gradr_factor
    4086            0 :  use_other_D_mix = s% use_other_D_mix
    4087            0 :  use_other_neu = s% use_other_neu
    4088            0 :  use_other_net_get = s% use_other_net_get
    4089            0 :  use_other_opacity_factor = s% use_other_opacity_factor
    4090            0 :  use_other_diffusion_coefficients = s% use_other_diffusion_coefficients
    4091            0 :  use_other_pgstar_plots = s% use_other_pgstar_plots
    4092            0 :  use_other_eval_fp_ft = s% use_other_eval_fp_ft
    4093            0 :  use_other_eval_i_rot = s% use_other_eval_i_rot
    4094            0 :  use_other_torque = s% use_other_torque
    4095            0 :  use_other_torque_implicit = s% use_other_torque_implicit
    4096            0 :  use_other_wind = s% use_other_wind
    4097            0 :  use_other_accreting_state = s% use_other_accreting_state
    4098            0 :  use_other_after_struct_burn_mix = s% use_other_after_struct_burn_mix
    4099            0 :  use_other_before_struct_burn_mix = s% use_other_before_struct_burn_mix
    4100            0 :  use_other_astero_freq_corr = s% use_other_astero_freq_corr
    4101            0 :  use_other_timestep_limit = s% use_other_timestep_limit
    4102            0 :  use_other_set_pgstar_controls = s% use_other_set_pgstar_controls
    4103            0 :  use_other_screening = s% use_other_screening
    4104            0 :  use_other_rate_get = s% use_other_rate_get
    4105            0 :  use_other_net_derivs = s% use_other_net_derivs
    4106            0 :  use_other_split_burn = s% use_other_split_burn
    4107            0 :  use_other_close_gaps = s% use_other_close_gaps
    4108              : 
    4109            0 :  x_ctrl = s% x_ctrl
    4110            0 :  x_integer_ctrl = s% x_integer_ctrl
    4111            0 :  x_logical_ctrl = s% x_logical_ctrl
    4112            0 :  x_character_ctrl = s% x_character_ctrl
    4113              : 
    4114              :  ! info for debugging
    4115            0 :  stop_for_bad_nums = s% stop_for_bad_nums
    4116            0 :  report_ierr = s% report_ierr
    4117            0 :  report_bad_negative_xa = s% report_bad_negative_xa
    4118              : 
    4119            0 :  diffusion_dump_call_number = s% diffusion_dump_call_number
    4120              : 
    4121            0 :  surface_accel_div_grav_limit = s% surface_accel_div_grav_limit
    4122            0 :  gradT_excess_age_fraction = s% gradT_excess_age_fraction
    4123            0 :  gradT_excess_max_change = s% gradT_excess_max_change
    4124            0 :  hot_wind_scheme = s% hot_wind_scheme
    4125            0 :  cool_wind_full_on_T = s% cool_wind_full_on_T
    4126            0 :  hot_wind_full_on_T = s% hot_wind_full_on_T
    4127            0 :  num_cells_for_smooth_brunt_B = s% num_cells_for_smooth_brunt_B
    4128            0 :  steps_before_start_stress_test = s% steps_before_start_stress_test
    4129            0 :  stress_test_relax = s% stress_test_relax
    4130              : 
    4131              : 
    4132              : 
    4133            0 :  end subroutine set_controls_for_writing
    4134              : 
    4135            0 :    subroutine get_control(s, name, val, ierr)
    4136            0 :       use utils_lib, only: StrUpCase
    4137              :       type (star_info), pointer :: s
    4138              :       character(len=*),intent(in) :: name
    4139              :       character(len=*), intent(out) :: val
    4140              :       integer, intent(out) :: ierr
    4141              : 
    4142            0 :       character(len(name)+1) :: upper_name
    4143              :       character(len=512) :: str
    4144              :       integer :: iounit,iostat,ind,i
    4145              : 
    4146              : 
    4147              :       ! First save current controls
    4148            0 :       call set_controls_for_writing(s, ierr)
    4149            0 :       if(ierr/=0) return
    4150              : 
    4151              :       ! Write namelist to temporary file
    4152            0 :       open(newunit=iounit,status='scratch')
    4153            0 :       write(iounit,nml=controls)
    4154            0 :       rewind(iounit)
    4155              : 
    4156              :       ! Namelists get written in capitals
    4157            0 :       upper_name = trim(StrUpCase(name))//'='
    4158            0 :       val = ''
    4159              :       ! Search for name inside namelist
    4160              :       do
    4161            0 :          read(iounit,'(A)',iostat=iostat) str
    4162            0 :          ind = index(trim(str),trim(upper_name))
    4163            0 :          if( ind /= 0 ) then
    4164            0 :             val = str(ind+len_trim(upper_name):len_trim(str)-1)  ! Remove final comma and starting =
    4165            0 :             do i=1,len(val)
    4166            0 :                if(val(i:i)=='"') val(i:i) = ' '
    4167              :             end do
    4168              :             exit
    4169              :          end if
    4170            0 :          if(is_iostat_end(iostat)) exit
    4171              :       end do
    4172              : 
    4173            0 :       if(len_trim(val) == 0 .and. ind==0 ) ierr = -1
    4174              : 
    4175            0 :       close(iounit)
    4176              : 
    4177            0 :    end subroutine get_control
    4178              : 
    4179            0 :    subroutine set_control(s, name, val, ierr)
    4180              :       type (star_info), pointer :: s
    4181              :       character(len=*), intent(in) :: name, val
    4182            0 :       character(len=len(name)+len(val)+13) :: tmp
    4183              :       integer, intent(out) :: ierr
    4184              : 
    4185              :       ! First save current controls
    4186            0 :       call set_controls_for_writing(s, ierr)
    4187            0 :       if(ierr/=0) return
    4188              : 
    4189            0 :       tmp=''
    4190            0 :       tmp = '&controls '//trim(name)//'='//trim(val)//' /'
    4191              : 
    4192              :       ! Load into namelist
    4193            0 :       read(tmp, nml=controls)
    4194              : 
    4195              :       ! Add to star
    4196            0 :       call store_controls(s, ierr)
    4197            0 :       if(ierr/=0) return
    4198              : 
    4199              :    end subroutine set_control
    4200              : 
    4201              :  end module ctrls_io
        

Generated by: LCOV version 2.0-1