Line data Source code
1 : ! ***********************************************************************
2 : !
3 : ! Copyright (C) 2013 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 star_job_ctrls_io
21 :
22 : use const_def, only: dp
23 : use star_private_def
24 : use rates_def, only: maxlen_reaction_Name
25 :
26 : implicit none
27 :
28 : include 'star_job_controls.inc'
29 : include 'star_job_controls_dev.inc'
30 :
31 : namelist /star_job/ &
32 : mesa_dir, &
33 : eosDT_cache_dir, &
34 : ionization_cache_dir, &
35 : kap_cache_dir, &
36 : rates_cache_dir, &
37 : pause_before_terminate, &
38 : profile_columns_file, &
39 : history_columns_file, &
40 : show_log_description_at_start, &
41 : list_net_reactions, &
42 : show_net_reactions_info, &
43 : show_net_species_info, &
44 : first_model_for_timing, &
45 : steps_before_start_timing, &
46 : show_eqns_and_vars_names, &
47 : pgstar_flag, &
48 : disable_pgstar_during_relax_flag, &
49 : clear_initial_pgstar_history, &
50 : clear_pgstar_history, &
51 : save_pgstar_files_when_terminate, &
52 : save_photo_when_terminate, &
53 : load_saved_photo, &
54 : saved_photo_name, &
55 : save_photo_filename, &
56 : save_photo_number, &
57 : write_profile_when_terminate, &
58 : show_retry_counts_when_terminate, &
59 : show_timestep_limit_counts_when_terminate, &
60 : filename_for_profile_when_terminate, &
61 : create_pre_main_sequence_model, &
62 : pre_ms_relax_to_start_radiative_core, &
63 : pre_ms_relax_num_steps, &
64 : pre_ms_min_steps_before_check_radiative_core, &
65 : pre_ms_check_radiative_core_start, &
66 : pre_ms_check_radiative_core_stop, &
67 : pre_ms_check_radiative_core_Lnuc_div_L_limit, &
68 : pre_ms_check_radiative_core_min_mass, &
69 : pre_ms_T_c, &
70 : pre_ms_guess_rho_c, &
71 : pre_ms_d_log10_P, &
72 : pre_ms_logT_surf_limit, &
73 : pre_ms_logP_surf_limit, &
74 : create_initial_model, &
75 : initial_model_relax_num_steps, &
76 : radius_in_cm_for_create_initial_model, &
77 : mass_in_gm_for_create_initial_model, &
78 : center_logP_1st_try_for_create_initial_model, &
79 : entropy_1st_try_for_create_initial_model, &
80 : abs_e01_tolerance_for_create_initial_model, &
81 : abs_e02_tolerance_for_create_initial_model, &
82 : max_tries_for_create_initial_model, &
83 : initial_model_eps, &
84 : save_star_job_namelist, &
85 : star_job_namelist_name, &
86 : echo_at_start, &
87 : echo_at_end, &
88 : load_saved_model, &
89 : load_model_filename, &
90 : create_merger_model, &
91 : saved_model_for_merger_1, &
92 : saved_model_for_merger_2, &
93 : set_max_dt_to_frac_lifetime, &
94 : max_frac_of_lifetime_per_step, &
95 : astero_just_call_my_extras_check_model, &
96 : relax_mass, &
97 : relax_initial_mass, &
98 : new_mass, &
99 : lg_max_abs_mdot, &
100 : relax_mass_to_remove_H_env, &
101 : relax_initial_mass_to_remove_H_env, &
102 : extra_mass_retained_by_remove_H_env, &
103 : relax_mass_scale, &
104 : relax_initial_mass_scale, &
105 : dlgm_per_step, &
106 :
107 : relax_M_center_dt, &
108 : change_mass_years_for_dt, &
109 : relax_M_center, &
110 : relax_initial_M_center, &
111 : relax_core, &
112 : relax_initial_core, &
113 : new_core_mass, &
114 : dlg_core_mass_per_step, &
115 : relax_core_years_for_dt, &
116 : core_avg_rho, &
117 : core_avg_eps, &
118 :
119 : relax_R_center, &
120 : relax_initial_R_center, &
121 : new_R_center, &
122 : dlgR_per_step, &
123 : relax_R_center_dt, &
124 :
125 : set_v_center, &
126 : set_initial_v_center, &
127 : relax_v_center, &
128 : relax_initial_v_center, &
129 : new_v_center, &
130 : dv_per_step, &
131 : relax_v_center_dt, &
132 :
133 : zero_alpha_RTI, &
134 : zero_initial_alpha_RTI, &
135 :
136 : set_L_center, &
137 : set_initial_L_center, &
138 : relax_L_center, &
139 : relax_initial_L_center, &
140 : new_L_center, &
141 : dlgL_per_step, &
142 : relax_L_center_dt, &
143 :
144 : remove_center_at_cell_k, &
145 : remove_center_by_temperature, &
146 : remove_center_by_mass_fraction_q, &
147 : remove_center_by_delta_mass_gm, &
148 : remove_center_by_delta_mass_Msun, &
149 : remove_center_by_mass_gm, &
150 : remove_center_by_mass_Msun, &
151 : remove_center_by_radius_cm, &
152 : remove_center_by_radius_Rsun, &
153 : remove_center_by_he4, &
154 : remove_center_by_c12_o16, &
155 : remove_center_by_si28, &
156 : remove_center_to_reduce_co56_ni56, &
157 : remove_center_by_ye, &
158 : remove_center_by_entropy, &
159 : remove_center_by_infall_kms, &
160 : remove_center_at_inner_max_abs_v, &
161 : remove_fe_core, &
162 : remove_fallback_at_each_step, &
163 : fallback_check_total_energy, &
164 : remove_fallback_speed_limit, &
165 : remove_center_set_zero_v_center, &
166 : limit_center_logP_at_each_step, &
167 : remove_center_adjust_L_center, &
168 : remove_center_logRho_limit, &
169 :
170 : remove_initial_center_at_cell_k, &
171 : remove_initial_center_by_temperature, &
172 : remove_initial_center_by_mass_fraction_q, &
173 : remove_initial_center_by_delta_mass_gm, &
174 : remove_initial_center_by_delta_mass_Msun, &
175 : remove_initial_center_by_mass_gm, &
176 : remove_initial_center_by_mass_Msun, &
177 : remove_initial_center_by_radius_cm, &
178 : remove_initial_center_by_radius_Rsun, &
179 : remove_initial_center_by_he4, &
180 : remove_initial_center_by_c12_o16, &
181 : remove_initial_center_by_si28, &
182 : remove_initial_center_to_reduce_co56_ni56, &
183 : remove_initial_center_by_ye, &
184 : remove_initial_center_by_entropy, &
185 : remove_initial_center_by_infall_kms, &
186 : remove_initial_center_at_inner_max_abs_v, &
187 : remove_initial_fe_core, &
188 :
189 : zero_initial_inner_v_by_mass_Msun, &
190 : zero_inner_v_by_mass_Msun, &
191 :
192 : remove_surface_at_cell_k, &
193 : remove_surface_at_he_core_boundary, &
194 : remove_surface_by_optical_depth, &
195 : remove_surface_by_density, &
196 : remove_surface_by_pressure, &
197 : remove_surface_by_mass_fraction_q, &
198 : remove_surface_by_mass_gm, &
199 : remove_surface_by_radius_cm, &
200 : remove_surface_by_mass_Msun, &
201 : remove_surface_by_radius_Rsun, &
202 : remove_surface_by_v_surf_km_s, &
203 : remove_surface_by_v_surf_div_cs, &
204 : remove_surface_by_v_surf_div_v_escape, &
205 : min_q_for_remove_surface_by_v_surf_div_v_escape, &
206 : max_q_for_remove_surface_by_v_surf_div_v_escape, &
207 :
208 : remove_surface_do_jrot, &
209 : remove_surface_do_entropy, &
210 : remove_surface_turn_off_energy_sources_and_sinks, &
211 : remove_surface_by_relax_to_star_cut, &
212 :
213 : remove_initial_surface_at_cell_k, &
214 : remove_initial_surface_at_he_core_boundary, &
215 : remove_initial_surface_by_optical_depth, &
216 : remove_initial_surface_by_density, &
217 : remove_initial_surface_by_pressure, &
218 : remove_initial_surface_by_mass_fraction_q, &
219 : remove_initial_surface_by_mass_gm, &
220 : remove_initial_surface_by_radius_cm, &
221 : remove_initial_surface_by_mass_Msun, &
222 : remove_initial_surface_by_radius_Rsun, &
223 : remove_initial_surface_by_v_surf_km_s, &
224 : remove_initial_surface_by_v_surf_div_cs, &
225 : remove_initial_surface_by_v_surf_div_v_escape, &
226 :
227 : report_mass_not_fe56, &
228 : relax_dxdt_nuc_factor, &
229 : relax_initial_dxdt_nuc_factor, &
230 : new_dxdt_nuc_factor, &
231 : dxdt_nuc_factor_multiplier, &
232 : relax_eps_nuc_factor, &
233 : relax_initial_eps_nuc_factor, &
234 : new_eps_nuc_factor, &
235 : eps_nuc_factor_multiplier, &
236 : relax_opacity_max, &
237 : relax_initial_opacity_max, &
238 : new_opacity_max, &
239 : opacity_max_multiplier, &
240 : relax_max_surf_dq, &
241 : relax_initial_max_surf_dq, &
242 : new_max_surf_dq, &
243 : max_surf_dq_multiplier, &
244 :
245 : relax_tau_factor, &
246 : relax_initial_tau_factor, &
247 : set_tau_factor, &
248 : set_initial_tau_factor, &
249 : relax_to_this_tau_factor, &
250 : set_to_this_tau_factor, &
251 : dlogtau_factor, &
252 : set_tau_factor_after_core_He_burn, &
253 : set_tau_factor_after_core_C_burn, &
254 : relax_tau_factor_after_core_He_burn, &
255 : relax_tau_factor_after_core_C_burn, &
256 :
257 : relax_to_this_opacity_factor, &
258 : d_opacity_factor, &
259 : relax_opacity_factor, &
260 : relax_initial_opacity_factor, &
261 :
262 : adjust_tau_factor_to_surf_density, &
263 : base_for_adjust_tau_factor_to_surf_density, &
264 :
265 : relax_Tsurf_factor, &
266 : relax_initial_Tsurf_factor, &
267 : set_Tsurf_factor, &
268 : set_initial_Tsurf_factor, &
269 : relax_to_this_Tsurf_factor, &
270 : set_to_this_Tsurf_factor, &
271 : dlogTsurf_factor, &
272 :
273 : relax_irradiation, &
274 : relax_initial_irradiation, &
275 : set_irradiation, &
276 : set_initial_irradiation, &
277 : relax_irradiation_min_steps, &
278 : relax_to_this_irrad_flux, &
279 : set_to_this_irrad_flux, &
280 : irrad_col_depth, &
281 : relax_irradiation_max_yrs_dt, &
282 : relax_mass_change, &
283 : relax_initial_mass_change, &
284 : relax_mass_change_min_steps, &
285 : relax_mass_change_max_yrs_dt, &
286 : relax_mass_change_init_mdot, &
287 : relax_mass_change_final_mdot, &
288 :
289 : change_RTI_flag, &
290 : change_initial_RTI_flag, &
291 : new_RTI_flag, &
292 :
293 : change_RSP_flag, &
294 : change_initial_RSP_flag, &
295 : new_RSP_flag, &
296 :
297 : change_RSP2_flag, &
298 : change_initial_RSP2_flag, &
299 : change_RSP2_flag_at_model_number, &
300 : new_RSP2_flag, &
301 : create_RSP2_model, &
302 :
303 : change_w_div_wc_flag, &
304 : change_initial_w_div_wc_flag, &
305 : new_w_div_wc_flag, &
306 :
307 : change_j_rot_flag, &
308 : change_initial_j_rot_flag, &
309 : new_j_rot_flag, &
310 :
311 : create_RSP_model, &
312 :
313 : change_v_flag, &
314 : change_initial_v_flag, &
315 : new_v_flag, &
316 :
317 : change_D_omega_flag, &
318 : change_initial_D_omega_flag, &
319 : new_D_omega_flag, &
320 :
321 : change_am_nu_rot_flag, &
322 : change_initial_am_nu_rot_flag, &
323 : new_am_nu_rot_flag, &
324 :
325 : use_D_omega_for_am_nu_rot, &
326 :
327 : change_u_flag, &
328 : change_initial_u_flag, &
329 : new_u_flag, &
330 :
331 : change_reconstruction_flag, &
332 : change_initial_reconstruction_flag, &
333 : new_reconstruction_flag, &
334 :
335 : center_ye_limit_for_v_flag, &
336 : change_rotation_flag, &
337 : change_initial_rotation_flag, &
338 : new_rotation_flag, &
339 : use_w_div_wc_flag_with_rotation, &
340 : use_j_rot_flag_with_rotation, &
341 :
342 :
343 : set_omega, &
344 : set_initial_omega, &
345 : set_omega_step_limit, &
346 : set_near_zams_omega_steps, &
347 : new_omega, &
348 : set_omega_div_omega_crit, &
349 : set_initial_omega_div_omega_crit, &
350 : set_omega_div_omega_crit_step_limit, &
351 : set_near_zams_omega_div_omega_crit_steps, &
352 : new_omega_div_omega_crit, &
353 : set_surface_rotation_v, &
354 : set_initial_surface_rotation_v, &
355 : set_surf_rotation_v_step_limit, &
356 : set_near_zams_surface_rotation_v_steps, &
357 : new_surface_rotation_v, &
358 : relax_omega, &
359 : relax_initial_omega, &
360 : near_zams_relax_omega, &
361 : relax_omega_div_omega_crit, &
362 : relax_initial_omega_div_omega_crit, &
363 : near_zams_relax_omega_div_omega_crit, &
364 : relax_surface_rotation_v, &
365 : relax_initial_surface_rotation_v, &
366 : near_zams_relax_initial_surface_rotation_v, &
367 : num_steps_to_relax_rotation, &
368 : relax_omega_max_yrs_dt,&
369 : set_uniform_initial_composition, &
370 : initial_h1, &
371 : initial_h2, &
372 : initial_he3, &
373 : initial_he4, &
374 : initial_zfracs, &
375 : dump_missing_metals_into_heaviest, &
376 : relax_initial_composition, &
377 : relax_initial_to_xaccrete, &
378 : relax_composition_filename, &
379 : num_steps_to_relax_composition, &
380 : timescale_for_relax_composition, &
381 : relax_initial_angular_momentum, &
382 : max_steps_to_relax_angular_momentum, &
383 : timescale_for_relax_angular_momentum, &
384 : max_dt_for_relax_angular_momentum, &
385 : relax_angular_momentum_constant_omega_center, &
386 : num_timescales_for_relax_angular_momentum, &
387 : relax_angular_momentum_filename, &
388 : relax_initial_entropy, &
389 : max_steps_to_relax_entropy, &
390 : timescale_for_relax_entropy, &
391 : max_dt_for_relax_entropy, &
392 : num_timescales_for_relax_entropy, &
393 : relax_entropy_filename, &
394 : get_entropy_for_relax_from_eos, &
395 : report_cell_for_xm, &
396 : set_to_xa_for_accretion, &
397 : set_initial_to_xa_for_accretion, &
398 : set_nzlo, &
399 : set_nzhi, &
400 : change_Y, &
401 : change_initial_Y, &
402 : relax_Y, &
403 : relax_initial_Y, &
404 : relax_Y_minq, &
405 : relax_Y_maxq, &
406 : new_Y, &
407 : change_Z, &
408 : change_initial_Z, &
409 : relax_Z, &
410 : relax_initial_Z, &
411 : relax_Z_minq, &
412 : relax_Z_maxq, &
413 : new_Z, &
414 : steps_to_take_before_terminate, &
415 : stop_if_this_file_exists, &
416 : set_initial_age, &
417 : initial_age, &
418 : set_initial_model_number, &
419 : initial_model_number, &
420 : set_initial_number_retries, &
421 : initial_number_retries, &
422 : set_initial_dt, &
423 : limit_initial_dt, &
424 : years_for_initial_dt, &
425 : seconds_for_initial_dt, &
426 :
427 : set_initial_cumulative_energy_error, &
428 : set_cumulative_energy_error, &
429 : set_cumulative_energy_error_at_step, &
430 : set_cumulative_energy_error_each_step_if_age_less_than, &
431 : set_cumulative_energy_error_each_relax, &
432 : new_cumulative_energy_error, &
433 :
434 : change_net, &
435 : change_initial_net, &
436 : new_net_name, &
437 : change_small_net, &
438 : change_initial_small_net, &
439 : new_small_net_name, &
440 :
441 : h_he_net, &
442 : co_net, &
443 : adv_net, &
444 : adjust_abundances_for_new_isos, &
445 : set_uniform_xa_from_file, &
446 : set_uniform_initial_xa_from_file, &
447 : file_for_uniform_xa, &
448 :
449 : mix_section, mix_initial_section, &
450 : mix_section_nzlo, mix_section_nzhi, &
451 :
452 : T9_weaklib_full_off, &
453 : T9_weaklib_full_on, &
454 : weaklib_blend_hi_Z, &
455 : T9_weaklib_full_off_hi_Z, &
456 : T9_weaklib_full_on_hi_Z, &
457 :
458 : use_suzuki_weak_rates, &
459 : use_3a_fl87, &
460 :
461 : use_special_weak_rates, &
462 : special_weak_states_file, &
463 : special_weak_transitions_file, &
464 : ion_coulomb_corrections, &
465 : electron_coulomb_corrections, &
466 :
467 : mix_envelope_down_to_T, &
468 : mix_initial_envelope_down_to_T, &
469 : auto_extend_net, &
470 :
471 : enable_adaptive_network, &
472 : min_x_for_keep, &
473 : min_x_for_n, &
474 : min_x_for_add, &
475 : max_Z_for_add, &
476 : max_N_for_add, &
477 : max_A_for_add, &
478 :
479 : save_model_number, &
480 : save_model_filename, &
481 : save_model_when_terminate, &
482 : required_termination_code_string, &
483 : profile_starting_model, &
484 : profile_model_number, &
485 : report_retries, &
486 :
487 : net_reaction_filename, &
488 : jina_reaclib_filename, &
489 : jina_reaclib_min_T9, &
490 : rate_tables_dir, &
491 : rate_cache_suffix, &
492 : read_extra_star_job_inlist, &
493 : extra_star_job_inlist_name, &
494 : set_abundance_nzlo, &
495 : set_abundance_nzhi, &
496 : set_abundance, &
497 : set_initial_abundance, &
498 : chem_name, &
499 : new_frac, &
500 : set_abundance_nzlo, set_abundance_nzhi, &
501 : replace_element, &
502 : replace_initial_element, &
503 : chem_name1, &
504 : chem_name2, &
505 : replace_element_nzlo, replace_element_nzhi, &
506 : do_special_test, &
507 :
508 : save_pulse_data_for_model_number, &
509 : save_pulse_data_when_terminate, &
510 : save_pulse_data_filename, &
511 :
512 : chem_isotopes_filename, &
513 : ionization_file_prefix, &
514 : ionization_Z1_suffix, &
515 : extras_lipar, &
516 : extras_lrpar, &
517 : extras_lcpar, &
518 : extras_llpar, &
519 : extras_ipar, &
520 : extras_rpar, &
521 : extras_cpar, &
522 : extras_lpar, &
523 : num_special_rate_factors, &
524 : special_rate_factor, &
525 : filename_of_special_rate, &
526 : reaction_for_special_factor,&
527 : warn_run_star_extras, &
528 :
529 : report_garbage_collection, &
530 : num_steps_for_garbage_collection
531 :
532 : contains
533 :
534 :
535 1 : subroutine do_read_star_job(s, filename, ierr)
536 : use star_private_def
537 : use utils_lib
538 : type (star_info), pointer :: s
539 : character(*), intent(in) :: filename
540 : integer, intent(out) :: ierr
541 : character (len=strlen) :: star_job_namelist_name
542 : star_job_namelist_name = ''
543 1 : ierr = 0
544 1 : call set_default_star_job_controls
545 1 : call read_star_job_file(s, filename, 1, ierr)
546 1 : call check_star_job_controls(s, ierr)
547 1 : end subroutine do_read_star_job
548 :
549 :
550 1 : recursive subroutine read_star_job_file(s, filename, level, ierr)
551 1 : use star_private_def
552 : use utils_lib
553 : character(*), intent(in) :: filename
554 : type (star_info), pointer :: s
555 : integer, intent(in) :: level
556 : integer, intent(out) :: ierr
557 : logical, dimension(max_extra_inlists) :: read_extra
558 : character (len=strlen), dimension(max_extra_inlists) :: extra
559 : integer :: unit, i
560 :
561 1 : ierr = 0
562 :
563 1 : if (level >= 10) then
564 0 : write(*,*) 'ERROR: too many levels of nested extra star_job inlist files'
565 0 : ierr = -1
566 0 : return
567 : end if
568 :
569 1 : if (len_trim(filename) > 0) then
570 1 : open(newunit=unit, file=trim(filename), action='read', delim='quote', status='old', iostat=ierr)
571 1 : if (ierr /= 0) then
572 0 : write(*, *) 'Failed to open control namelist file "'//trim(filename)//'"'
573 0 : return
574 : end if
575 1 : read(unit, nml=star_job, iostat=ierr)
576 1 : close(unit)
577 1 : if (ierr /= 0) then
578 0 : write(*, *)
579 0 : write(*, *)
580 0 : write(*, *)
581 0 : write(*, *)
582 : write(*, '(a)') &
583 0 : 'Failed while trying to read control namelist file: ' // trim(filename)
584 : write(*, '(a)') &
585 0 : 'Perhaps the following runtime error message will help you find the problem.'
586 0 : write(*, *)
587 0 : open(newunit=unit, file=trim(filename), action='read', delim='quote', status='old', iostat=ierr)
588 0 : read(unit, nml=star_job)
589 0 : close(unit)
590 0 : return
591 : end if
592 : end if
593 :
594 1 : call store_star_job_controls(s, ierr)
595 :
596 : ! recursive calls to read other inlists
597 6 : do i=1, max_extra_inlists
598 5 : read_extra(i) = read_extra_star_job_inlist(i)
599 5 : read_extra_star_job_inlist(i) = .false.
600 5 : extra(i) = extra_star_job_inlist_name(i)
601 5 : extra_star_job_inlist_name(i) = 'undefined'
602 :
603 6 : if (read_extra(i)) then
604 0 : call read_star_job_file(s, extra(i), level+1, ierr)
605 0 : if (ierr /= 0) return
606 : end if
607 : end do
608 :
609 :
610 1 : end subroutine read_star_job_file
611 :
612 :
613 1 : subroutine store_star_job_controls(s, ierr)
614 1 : use star_private_def
615 : type (star_info), pointer :: s
616 : integer, intent(out) :: ierr
617 :
618 1 : ierr = 0
619 :
620 1 : s% job% mesa_dir = mesa_dir
621 1 : s% job% eosDT_cache_dir = eosDT_cache_dir
622 1 : s% job% ionization_cache_dir = ionization_cache_dir
623 1 : s% job% kap_cache_dir = kap_cache_dir
624 1 : s% job% rates_cache_dir = rates_cache_dir
625 1 : s% job% pause_before_terminate = pause_before_terminate
626 1 : s% job% profile_columns_file = profile_columns_file
627 1 : s% job% history_columns_file = history_columns_file
628 1 : s% job% show_log_description_at_start = show_log_description_at_start
629 1 : s% job% list_net_reactions = list_net_reactions
630 1 : s% job% show_net_reactions_info = show_net_reactions_info
631 1 : s% job% show_net_species_info = show_net_species_info
632 1 : s% job% first_model_for_timing = first_model_for_timing
633 1 : s% job% steps_before_start_timing = steps_before_start_timing
634 1 : s% job% show_eqns_and_vars_names = show_eqns_and_vars_names
635 1 : s% job% pgstar_flag = pgstar_flag
636 1 : s% job% disable_pgstar_during_relax_flag = disable_pgstar_during_relax_flag
637 1 : s% job% clear_initial_pgstar_history = clear_initial_pgstar_history
638 1 : s% job% clear_pgstar_history = clear_pgstar_history
639 1 : s% job% save_pgstar_files_when_terminate = save_pgstar_files_when_terminate
640 1 : s% job% save_photo_when_terminate = save_photo_when_terminate
641 1 : s% job% load_saved_photo = load_saved_photo
642 1 : s% job% saved_photo_name = saved_photo_name
643 1 : s% job% save_photo_filename = save_photo_filename
644 1 : s% job% save_photo_number = save_photo_number
645 1 : s% job% write_profile_when_terminate = write_profile_when_terminate
646 1 : s% job% show_retry_counts_when_terminate = show_retry_counts_when_terminate
647 1 : s% job% show_timestep_limit_counts_when_terminate = show_timestep_limit_counts_when_terminate
648 1 : s% job% filename_for_profile_when_terminate = filename_for_profile_when_terminate
649 1 : s% job% create_pre_main_sequence_model = create_pre_main_sequence_model
650 1 : s% job% pre_ms_relax_to_start_radiative_core = pre_ms_relax_to_start_radiative_core
651 1 : s% job% pre_ms_relax_num_steps = pre_ms_relax_num_steps
652 1 : s% job% pre_ms_min_steps_before_check_radiative_core = pre_ms_min_steps_before_check_radiative_core
653 1 : s% job% pre_ms_check_radiative_core_start = pre_ms_check_radiative_core_start
654 1 : s% job% pre_ms_check_radiative_core_stop = pre_ms_check_radiative_core_stop
655 1 : s% job% pre_ms_check_radiative_core_Lnuc_div_L_limit = pre_ms_check_radiative_core_Lnuc_div_L_limit
656 1 : s% job% pre_ms_check_radiative_core_min_mass = pre_ms_check_radiative_core_min_mass
657 1 : s% job% pre_ms_T_c = pre_ms_T_c
658 1 : s% job% pre_ms_guess_rho_c = pre_ms_guess_rho_c
659 1 : s% job% pre_ms_d_log10_P = pre_ms_d_log10_P
660 1 : s% job% pre_ms_logT_surf_limit = pre_ms_logT_surf_limit
661 1 : s% job% pre_ms_logP_surf_limit = pre_ms_logP_surf_limit
662 1 : s% job% create_initial_model = create_initial_model
663 1 : s% job% initial_model_relax_num_steps = initial_model_relax_num_steps
664 1 : s% job% radius_in_cm_for_create_initial_model = radius_in_cm_for_create_initial_model
665 1 : s% job% mass_in_gm_for_create_initial_model = mass_in_gm_for_create_initial_model
666 :
667 1 : s% job% center_logP_1st_try_for_create_initial_model = center_logP_1st_try_for_create_initial_model
668 1 : s% job% entropy_1st_try_for_create_initial_model = entropy_1st_try_for_create_initial_model
669 1 : s% job% abs_e01_tolerance_for_create_initial_model = abs_e01_tolerance_for_create_initial_model
670 1 : s% job% abs_e02_tolerance_for_create_initial_model = abs_e02_tolerance_for_create_initial_model
671 1 : s% job% max_tries_for_create_initial_model = max_tries_for_create_initial_model
672 :
673 1 : s% job% initial_model_eps = initial_model_eps
674 1 : s% job% save_star_job_namelist = save_star_job_namelist
675 1 : s% job% star_job_namelist_name = star_job_namelist_name
676 1 : s% job% echo_at_start = echo_at_start
677 1 : s% job% echo_at_end = echo_at_end
678 1 : s% job% load_saved_model = load_saved_model
679 1 : s% job% load_model_filename = load_model_filename
680 1 : s% job% create_merger_model = create_merger_model
681 1 : s% job% saved_model_for_merger_1 = saved_model_for_merger_1
682 1 : s% job% saved_model_for_merger_2 = saved_model_for_merger_2
683 1 : s% job% set_max_dt_to_frac_lifetime = set_max_dt_to_frac_lifetime
684 1 : s% job% max_frac_of_lifetime_per_step = max_frac_of_lifetime_per_step
685 1 : s% job% astero_just_call_my_extras_check_model = astero_just_call_my_extras_check_model
686 1 : s% job% relax_mass = relax_mass
687 1 : s% job% relax_initial_mass = relax_initial_mass
688 1 : s% job% new_mass = new_mass
689 1 : s% job% lg_max_abs_mdot = lg_max_abs_mdot
690 1 : s% job% relax_mass_to_remove_H_env = relax_mass_to_remove_H_env
691 1 : s% job% relax_initial_mass_to_remove_H_env = relax_initial_mass_to_remove_H_env
692 1 : s% job% extra_mass_retained_by_remove_H_env = extra_mass_retained_by_remove_H_env
693 1 : s% job% relax_mass_scale = relax_mass_scale
694 1 : s% job% relax_initial_mass_scale = relax_initial_mass_scale
695 1 : s% job% dlgm_per_step = dlgm_per_step
696 :
697 1 : s% job% relax_M_center_dt = relax_M_center_dt
698 1 : s% job% change_mass_years_for_dt = change_mass_years_for_dt
699 1 : s% job% relax_M_center = relax_M_center
700 1 : s% job% relax_initial_M_center = relax_initial_M_center
701 1 : s% job% relax_core = relax_core
702 1 : s% job% relax_initial_core = relax_initial_core
703 1 : s% job% new_core_mass = new_core_mass
704 1 : s% job% dlg_core_mass_per_step = dlg_core_mass_per_step
705 1 : s% job% relax_core_years_for_dt = relax_core_years_for_dt
706 1 : s% job% core_avg_rho = core_avg_rho
707 1 : s% job% core_avg_eps = core_avg_eps
708 :
709 1 : s% job% relax_R_center = relax_R_center
710 1 : s% job% relax_initial_R_center = relax_initial_R_center
711 1 : s% job% new_R_center = new_R_center
712 1 : s% job% dlgR_per_step = dlgR_per_step
713 1 : s% job% relax_R_center_dt = relax_R_center_dt
714 :
715 1 : s% job% set_v_center = set_v_center
716 1 : s% job% set_initial_v_center = set_initial_v_center
717 :
718 1 : s% job% relax_v_center = relax_v_center
719 1 : s% job% relax_initial_v_center = relax_initial_v_center
720 1 : s% job% new_v_center = new_v_center
721 1 : s% job% dv_per_step = dv_per_step
722 1 : s% job% relax_v_center_dt = relax_v_center_dt
723 :
724 1 : s% job% zero_alpha_RTI = zero_alpha_RTI
725 1 : s% job% zero_initial_alpha_RTI = zero_initial_alpha_RTI
726 :
727 1 : s% job% set_L_center = set_L_center
728 1 : s% job% set_initial_L_center = set_initial_L_center
729 1 : s% job% relax_L_center = relax_L_center
730 1 : s% job% relax_initial_L_center = relax_initial_L_center
731 1 : s% job% new_L_center = new_L_center
732 1 : s% job% dlgL_per_step = dlgL_per_step
733 1 : s% job% relax_L_center_dt = relax_L_center_dt
734 :
735 1 : s% job% remove_initial_center_at_cell_k = remove_initial_center_at_cell_k
736 1 : s% job% remove_initial_center_by_temperature = remove_initial_center_by_temperature
737 1 : s% job% remove_initial_center_by_mass_fraction_q = remove_initial_center_by_mass_fraction_q
738 1 : s% job% remove_initial_center_by_mass_gm = remove_initial_center_by_mass_gm
739 1 : s% job% remove_initial_center_by_delta_mass_Msun = remove_initial_center_by_delta_mass_Msun
740 1 : s% job% remove_initial_center_by_delta_mass_gm = remove_initial_center_by_delta_mass_gm
741 1 : s% job% remove_initial_center_by_mass_Msun = remove_initial_center_by_mass_Msun
742 1 : s% job% remove_initial_center_by_radius_cm = remove_initial_center_by_radius_cm
743 1 : s% job% remove_initial_center_by_radius_Rsun = remove_initial_center_by_radius_Rsun
744 1 : s% job% remove_initial_center_by_he4 = remove_initial_center_by_he4
745 1 : s% job% remove_initial_center_by_c12_o16 = remove_initial_center_by_c12_o16
746 1 : s% job% remove_initial_center_by_si28 = remove_initial_center_by_si28
747 1 : s% job% remove_initial_center_to_reduce_co56_ni56 = remove_initial_center_to_reduce_co56_ni56
748 1 : s% job% remove_initial_center_by_ye = remove_initial_center_by_ye
749 1 : s% job% remove_initial_center_by_entropy = remove_initial_center_by_entropy
750 1 : s% job% remove_initial_center_by_infall_kms = remove_initial_center_by_infall_kms
751 1 : s% job% remove_initial_center_at_inner_max_abs_v = remove_initial_center_at_inner_max_abs_v
752 1 : s% job% remove_initial_fe_core = remove_initial_fe_core
753 :
754 1 : s% job% remove_center_at_cell_k = remove_center_at_cell_k
755 1 : s% job% remove_center_by_temperature = remove_center_by_temperature
756 1 : s% job% remove_center_by_mass_fraction_q = remove_center_by_mass_fraction_q
757 1 : s% job% remove_center_by_delta_mass_gm = remove_center_by_delta_mass_gm
758 1 : s% job% remove_center_by_delta_mass_Msun = remove_center_by_delta_mass_Msun
759 1 : s% job% remove_center_by_mass_gm = remove_center_by_mass_gm
760 1 : s% job% remove_center_by_mass_Msun = remove_center_by_mass_Msun
761 1 : s% job% remove_center_by_radius_cm = remove_center_by_radius_cm
762 1 : s% job% remove_center_by_radius_Rsun = remove_center_by_radius_Rsun
763 1 : s% job% remove_center_by_he4 = remove_center_by_he4
764 1 : s% job% remove_center_by_c12_o16 = remove_center_by_c12_o16
765 1 : s% job% remove_center_by_si28 = remove_center_by_si28
766 1 : s% job% remove_center_to_reduce_co56_ni56 = remove_center_to_reduce_co56_ni56
767 1 : s% job% remove_center_by_ye = remove_center_by_ye
768 1 : s% job% remove_center_by_entropy = remove_center_by_entropy
769 1 : s% job% remove_center_by_infall_kms = remove_center_by_infall_kms
770 1 : s% job% remove_center_at_inner_max_abs_v = remove_center_at_inner_max_abs_v
771 1 : s% job% remove_fe_core = remove_fe_core
772 1 : s% job% remove_fallback_at_each_step = remove_fallback_at_each_step
773 1 : s% job% fallback_check_total_energy = fallback_check_total_energy
774 1 : s% job% remove_fallback_speed_limit = remove_fallback_speed_limit
775 1 : s% job% remove_center_set_zero_v_center = remove_center_set_zero_v_center
776 1 : s% job% limit_center_logP_at_each_step = limit_center_logP_at_each_step
777 1 : s% job% remove_center_adjust_L_center = remove_center_adjust_L_center
778 1 : s% job% remove_center_logRho_limit = remove_center_logRho_limit
779 :
780 1 : s% job% zero_initial_inner_v_by_mass_Msun = zero_initial_inner_v_by_mass_Msun
781 1 : s% job% zero_inner_v_by_mass_Msun = zero_inner_v_by_mass_Msun
782 :
783 1 : s% job% remove_initial_surface_at_cell_k = remove_initial_surface_at_cell_k
784 1 : s% job% remove_initial_surface_at_he_core_boundary = remove_initial_surface_at_he_core_boundary
785 1 : s% job% remove_initial_surface_by_optical_depth = remove_initial_surface_by_optical_depth
786 1 : s% job% remove_initial_surface_by_density = remove_initial_surface_by_density
787 1 : s% job% remove_initial_surface_by_pressure = remove_initial_surface_by_pressure
788 1 : s% job% remove_initial_surface_by_mass_fraction_q = remove_initial_surface_by_mass_fraction_q
789 1 : s% job% remove_initial_surface_by_mass_gm = remove_initial_surface_by_mass_gm
790 1 : s% job% remove_initial_surface_by_radius_cm = remove_initial_surface_by_radius_cm
791 1 : s% job% remove_initial_surface_by_mass_Msun = remove_initial_surface_by_mass_Msun
792 1 : s% job% remove_initial_surface_by_radius_Rsun = remove_initial_surface_by_radius_Rsun
793 1 : s% job% remove_initial_surface_by_v_surf_km_s = remove_initial_surface_by_v_surf_km_s
794 1 : s% job% remove_initial_surface_by_v_surf_div_cs = remove_initial_surface_by_v_surf_div_cs
795 1 : s% job% remove_initial_surface_by_v_surf_div_v_escape = remove_initial_surface_by_v_surf_div_v_escape
796 :
797 1 : s% job% remove_surface_at_cell_k = remove_surface_at_cell_k
798 1 : s% job% remove_surface_at_he_core_boundary = remove_surface_at_he_core_boundary
799 1 : s% job% remove_surface_by_optical_depth = remove_surface_by_optical_depth
800 1 : s% job% remove_surface_by_density = remove_surface_by_density
801 1 : s% job% remove_surface_by_pressure = remove_surface_by_pressure
802 1 : s% job% remove_surface_by_mass_fraction_q = remove_surface_by_mass_fraction_q
803 1 : s% job% remove_surface_by_mass_gm = remove_surface_by_mass_gm
804 1 : s% job% remove_surface_by_radius_cm = remove_surface_by_radius_cm
805 1 : s% job% remove_surface_by_mass_Msun = remove_surface_by_mass_Msun
806 1 : s% job% remove_surface_by_radius_Rsun = remove_surface_by_radius_Rsun
807 1 : s% job% remove_surface_by_v_surf_km_s = remove_surface_by_v_surf_km_s
808 1 : s% job% remove_surface_by_v_surf_div_cs = remove_surface_by_v_surf_div_cs
809 1 : s% job% remove_surface_by_v_surf_div_v_escape = remove_surface_by_v_surf_div_v_escape
810 1 : s% job% min_q_for_remove_surface_by_v_surf_div_v_escape = min_q_for_remove_surface_by_v_surf_div_v_escape
811 1 : s% job% max_q_for_remove_surface_by_v_surf_div_v_escape = max_q_for_remove_surface_by_v_surf_div_v_escape
812 :
813 1 : s% job% remove_surface_do_jrot = remove_surface_do_jrot
814 1 : s% job% remove_surface_do_entropy = remove_surface_do_entropy
815 1 : s% job% remove_surface_turn_off_energy_sources_and_sinks = remove_surface_turn_off_energy_sources_and_sinks
816 1 : s% job% remove_surface_by_relax_to_star_cut = remove_surface_by_relax_to_star_cut
817 :
818 1 : s% job% report_mass_not_fe56 = report_mass_not_fe56
819 1 : s% job% relax_dxdt_nuc_factor = relax_dxdt_nuc_factor
820 1 : s% job% relax_initial_dxdt_nuc_factor = relax_initial_dxdt_nuc_factor
821 1 : s% job% new_dxdt_nuc_factor = new_dxdt_nuc_factor
822 1 : s% job% dxdt_nuc_factor_multiplier = dxdt_nuc_factor_multiplier
823 1 : s% job% relax_eps_nuc_factor = relax_eps_nuc_factor
824 1 : s% job% relax_initial_eps_nuc_factor = relax_initial_eps_nuc_factor
825 1 : s% job% new_eps_nuc_factor = new_eps_nuc_factor
826 1 : s% job% eps_nuc_factor_multiplier = eps_nuc_factor_multiplier
827 1 : s% job% relax_opacity_max = relax_opacity_max
828 1 : s% job% relax_initial_opacity_max = relax_initial_opacity_max
829 1 : s% job% new_opacity_max = new_opacity_max
830 1 : s% job% opacity_max_multiplier = opacity_max_multiplier
831 1 : s% job% relax_max_surf_dq = relax_max_surf_dq
832 1 : s% job% relax_initial_max_surf_dq = relax_initial_max_surf_dq
833 1 : s% job% new_max_surf_dq = new_max_surf_dq
834 1 : s% job% max_surf_dq_multiplier = max_surf_dq_multiplier
835 :
836 1 : s% job% relax_tau_factor = relax_tau_factor
837 1 : s% job% relax_initial_tau_factor = relax_initial_tau_factor
838 1 : s% job% set_tau_factor = set_tau_factor
839 1 : s% job% set_initial_tau_factor = set_initial_tau_factor
840 1 : s% job% relax_to_this_tau_factor = relax_to_this_tau_factor
841 1 : s% job% set_to_this_tau_factor = set_to_this_tau_factor
842 1 : s% job% dlogtau_factor = dlogtau_factor
843 1 : s% job% set_tau_factor_after_core_He_burn = set_tau_factor_after_core_He_burn
844 1 : s% job% set_tau_factor_after_core_C_burn = set_tau_factor_after_core_C_burn
845 1 : s% job% relax_tau_factor_after_core_He_burn = relax_tau_factor_after_core_He_burn
846 1 : s% job% relax_tau_factor_after_core_C_burn = relax_tau_factor_after_core_C_burn
847 :
848 1 : s% job% adjust_tau_factor_to_surf_density = adjust_tau_factor_to_surf_density
849 1 : s% job% base_for_adjust_tau_factor_to_surf_density = base_for_adjust_tau_factor_to_surf_density
850 :
851 1 : s% job% relax_to_this_opacity_factor = relax_to_this_opacity_factor
852 1 : s% job% d_opacity_factor = d_opacity_factor
853 1 : s% job% relax_opacity_factor = relax_opacity_factor
854 1 : s% job% relax_initial_opacity_factor = relax_initial_opacity_factor
855 :
856 1 : s% job% relax_Tsurf_factor = relax_Tsurf_factor
857 1 : s% job% relax_initial_Tsurf_factor = relax_initial_Tsurf_factor
858 1 : s% job% set_Tsurf_factor = set_Tsurf_factor
859 1 : s% job% set_initial_Tsurf_factor = set_initial_Tsurf_factor
860 1 : s% job% relax_to_this_Tsurf_factor = relax_to_this_Tsurf_factor
861 1 : s% job% set_to_this_Tsurf_factor = set_to_this_Tsurf_factor
862 1 : s% job% dlogTsurf_factor = dlogTsurf_factor
863 :
864 1 : s% job% relax_irradiation = relax_irradiation
865 1 : s% job% relax_initial_irradiation = relax_initial_irradiation
866 1 : s% job% set_irradiation = set_irradiation
867 1 : s% job% set_initial_irradiation = set_initial_irradiation
868 1 : s% job% relax_irradiation_min_steps = relax_irradiation_min_steps
869 1 : s% job% relax_to_this_irrad_flux = relax_to_this_irrad_flux
870 1 : s% job% set_to_this_irrad_flux = set_to_this_irrad_flux
871 1 : s% job% irrad_col_depth = irrad_col_depth
872 1 : s% job% relax_irradiation_max_yrs_dt = relax_irradiation_max_yrs_dt
873 1 : s% job% relax_mass_change = relax_mass_change
874 1 : s% job% relax_initial_mass_change = relax_initial_mass_change
875 1 : s% job% relax_mass_change_min_steps = relax_mass_change_min_steps
876 1 : s% job% relax_mass_change_max_yrs_dt = relax_mass_change_max_yrs_dt
877 1 : s% job% relax_mass_change_init_mdot = relax_mass_change_init_mdot
878 1 : s% job% relax_mass_change_final_mdot = relax_mass_change_final_mdot
879 1 : s% job% change_RTI_flag = change_RTI_flag
880 1 : s% job% change_initial_RTI_flag = change_initial_RTI_flag
881 1 : s% job% new_RTI_flag = new_RTI_flag
882 1 : s% job% change_RSP_flag = change_RSP_flag
883 1 : s% job% change_initial_RSP_flag = change_initial_RSP_flag
884 1 : s% job% new_RSP_flag = new_RSP_flag
885 1 : s% job% change_RSP2_flag = change_RSP2_flag
886 1 : s% job% change_initial_RSP2_flag = change_initial_RSP2_flag
887 1 : s% job% change_RSP2_flag_at_model_number = change_RSP2_flag_at_model_number
888 1 : s% job% new_RSP2_flag = new_RSP2_flag
889 1 : s% job% create_RSP2_model = create_RSP2_model
890 1 : s% job% change_w_div_wc_flag = change_w_div_wc_flag
891 1 : s% job% change_initial_w_div_wc_flag = change_initial_w_div_wc_flag
892 1 : s% job% new_w_div_wc_flag = new_w_div_wc_flag
893 1 : s% job% change_j_rot_flag = change_j_rot_flag
894 1 : s% job% change_initial_j_rot_flag = change_initial_j_rot_flag
895 1 : s% job% new_j_rot_flag = new_j_rot_flag
896 :
897 1 : s% job% create_RSP_model = create_RSP_model
898 :
899 1 : s% job% change_v_flag = change_v_flag
900 1 : s% job% change_initial_v_flag = change_initial_v_flag
901 1 : s% job% new_v_flag = new_v_flag
902 1 : s% job% change_D_omega_flag = change_D_omega_flag
903 1 : s% job% change_initial_D_omega_flag = change_initial_D_omega_flag
904 1 : s% job% new_D_omega_flag = new_D_omega_flag
905 1 : s% job% change_am_nu_rot_flag = change_am_nu_rot_flag
906 1 : s% job% change_initial_am_nu_rot_flag = change_initial_am_nu_rot_flag
907 1 : s% job% new_am_nu_rot_flag = new_am_nu_rot_flag
908 1 : s% job% use_D_omega_for_am_nu_rot = use_D_omega_for_am_nu_rot
909 :
910 1 : s% job% change_u_flag = change_u_flag
911 1 : s% job% change_initial_u_flag = change_initial_u_flag
912 1 : s% job% new_u_flag = new_u_flag
913 :
914 1 : s% job% change_reconstruction_flag = change_reconstruction_flag
915 1 : s% job% change_initial_reconstruction_flag = change_initial_reconstruction_flag
916 1 : s% job% new_reconstruction_flag = new_reconstruction_flag
917 :
918 1 : s% job% center_ye_limit_for_v_flag = center_ye_limit_for_v_flag
919 1 : s% job% change_rotation_flag = change_rotation_flag
920 1 : s% job% change_initial_rotation_flag = change_initial_rotation_flag
921 1 : s% job% new_rotation_flag = new_rotation_flag
922 1 : s% job% use_w_div_wc_flag_with_rotation = use_w_div_wc_flag_with_rotation
923 1 : s% job% use_j_rot_flag_with_rotation = use_j_rot_flag_with_rotation
924 1 : s% job% set_omega = set_omega
925 1 : s% job% set_initial_omega = set_initial_omega
926 1 : s% job% set_omega_step_limit = set_omega_step_limit
927 1 : s% job% set_near_zams_omega_steps = set_near_zams_omega_steps
928 1 : s% job% new_omega = new_omega
929 1 : s% job% set_omega_div_omega_crit = set_omega_div_omega_crit
930 1 : s% job% set_initial_omega_div_omega_crit = set_initial_omega_div_omega_crit
931 1 : s% job% set_omega_div_omega_crit_step_limit = set_omega_div_omega_crit_step_limit
932 1 : s% job% set_near_zams_omega_div_omega_crit_steps = set_near_zams_omega_div_omega_crit_steps
933 1 : s% job% new_omega_div_omega_crit = new_omega_div_omega_crit
934 1 : s% job% set_surface_rotation_v = set_surface_rotation_v
935 1 : s% job% set_initial_surface_rotation_v = set_initial_surface_rotation_v
936 1 : s% job% set_surf_rotation_v_step_limit = set_surf_rotation_v_step_limit
937 1 : s% job% set_near_zams_surface_rotation_v_steps = set_near_zams_surface_rotation_v_steps
938 1 : s% job% new_surface_rotation_v = new_surface_rotation_v
939 1 : s% job% relax_omega = relax_omega
940 1 : s% job% relax_initial_omega = relax_initial_omega
941 1 : s% job% near_zams_relax_omega = near_zams_relax_omega
942 1 : s% job% relax_omega_div_omega_crit = relax_omega_div_omega_crit
943 1 : s% job% relax_initial_omega_div_omega_crit = relax_initial_omega_div_omega_crit
944 1 : s% job% near_zams_relax_omega_div_omega_crit = near_zams_relax_omega_div_omega_crit
945 1 : s% job% relax_surface_rotation_v = relax_surface_rotation_v
946 1 : s% job% relax_initial_surface_rotation_v = relax_initial_surface_rotation_v
947 1 : s% job% near_zams_relax_initial_surface_rotation_v = near_zams_relax_initial_surface_rotation_v
948 1 : s% job% num_steps_to_relax_rotation = num_steps_to_relax_rotation
949 1 : s% job% relax_omega_max_yrs_dt = relax_omega_max_yrs_dt
950 1 : s% job% set_uniform_initial_composition = set_uniform_initial_composition
951 1 : s% job% initial_h1 = initial_h1
952 1 : s% job% initial_h2 = initial_h2
953 1 : s% job% initial_he3 = initial_he3
954 1 : s% job% initial_he4 = initial_he4
955 1 : s% job% initial_zfracs = initial_zfracs
956 1 : s% job% dump_missing_metals_into_heaviest = dump_missing_metals_into_heaviest
957 1 : s% job% relax_initial_composition = relax_initial_composition
958 1 : s% job% relax_initial_to_xaccrete = relax_initial_to_xaccrete
959 1 : s% job% relax_composition_filename = relax_composition_filename
960 1 : s% job% num_steps_to_relax_composition = num_steps_to_relax_composition
961 1 : s% job% timescale_for_relax_composition = timescale_for_relax_composition
962 1 : s% job% relax_initial_angular_momentum = relax_initial_angular_momentum
963 1 : s% job% max_steps_to_relax_angular_momentum = max_steps_to_relax_angular_momentum
964 1 : s% job% timescale_for_relax_angular_momentum = timescale_for_relax_angular_momentum
965 1 : s% job% max_dt_for_relax_angular_momentum = max_dt_for_relax_angular_momentum
966 1 : s% job% num_timescales_for_relax_angular_momentum = num_timescales_for_relax_angular_momentum
967 1 : s% job% relax_angular_momentum_filename = relax_angular_momentum_filename
968 1 : s% job% relax_angular_momentum_constant_omega_center = relax_angular_momentum_constant_omega_center
969 1 : s% job% relax_initial_entropy = relax_initial_entropy
970 1 : s% job% max_steps_to_relax_entropy = max_steps_to_relax_entropy
971 1 : s% job% timescale_for_relax_entropy = timescale_for_relax_entropy
972 1 : s% job% max_dt_for_relax_entropy = max_dt_for_relax_entropy
973 1 : s% job% num_timescales_for_relax_entropy = num_timescales_for_relax_entropy
974 1 : s% job% relax_entropy_filename = relax_entropy_filename
975 1 : s% job% get_entropy_for_relax_from_eos = get_entropy_for_relax_from_eos
976 1 : s% job% report_cell_for_xm = report_cell_for_xm
977 1 : s% job% set_to_xa_for_accretion = set_to_xa_for_accretion
978 1 : s% job% set_initial_to_xa_for_accretion = set_initial_to_xa_for_accretion
979 1 : s% job% set_nzlo = set_nzlo
980 1 : s% job% set_nzhi = set_nzhi
981 1 : s% job% change_Y = change_Y
982 1 : s% job% change_initial_Y = change_initial_Y
983 1 : s% job% relax_Y = relax_Y
984 1 : s% job% relax_initial_Y = relax_initial_Y
985 1 : s% job% relax_Y_minq = relax_Y_minq
986 1 : s% job% relax_Y_maxq = relax_Y_maxq
987 1 : s% job% new_Y = new_Y
988 1 : s% job% change_Z = change_Z
989 1 : s% job% change_initial_Z = change_initial_Z
990 1 : s% job% relax_Z = relax_Z
991 1 : s% job% relax_initial_Z = relax_initial_Z
992 1 : s% job% relax_Z_minq = relax_Z_minq
993 1 : s% job% relax_Z_maxq = relax_Z_maxq
994 1 : s% job% new_Z = new_Z
995 1 : s% job% steps_to_take_before_terminate = steps_to_take_before_terminate
996 1 : s% job% stop_if_this_file_exists = stop_if_this_file_exists
997 1 : s% job% set_initial_age = set_initial_age
998 1 : s% job% initial_age = initial_age
999 1 : s% job% set_initial_model_number = set_initial_model_number
1000 1 : s% job% initial_model_number = initial_model_number
1001 1 : s% job% set_initial_number_retries = set_initial_number_retries
1002 1 : s% job% initial_number_retries = initial_number_retries
1003 1 : s% job% set_initial_dt = set_initial_dt
1004 1 : s% job% limit_initial_dt = limit_initial_dt
1005 1 : s% job% years_for_initial_dt = years_for_initial_dt
1006 1 : s% job% seconds_for_initial_dt = seconds_for_initial_dt
1007 :
1008 1 : s% job% set_initial_cumulative_energy_error = set_initial_cumulative_energy_error
1009 1 : s% job% set_cumulative_energy_error = set_cumulative_energy_error
1010 1 : s% job% set_cumulative_energy_error_at_step = set_cumulative_energy_error_at_step
1011 1 : s% job% set_cumulative_energy_error_each_step_if_age_less_than = set_cumulative_energy_error_each_step_if_age_less_than
1012 1 : s% job% new_cumulative_energy_error = new_cumulative_energy_error
1013 1 : s% job% set_cumulative_energy_error_each_relax = set_cumulative_energy_error_each_relax
1014 :
1015 1 : s% job% change_net = change_net
1016 1 : s% job% change_initial_net = change_initial_net
1017 1 : s% job% new_net_name = new_net_name
1018 1 : s% job% change_small_net = change_small_net
1019 1 : s% job% change_initial_small_net = change_initial_small_net
1020 1 : s% job% new_small_net_name = new_small_net_name
1021 :
1022 1 : s% job% h_he_net = h_he_net
1023 1 : s% job% co_net = co_net
1024 1 : s% job% adv_net = adv_net
1025 1 : s% job% adjust_abundances_for_new_isos = adjust_abundances_for_new_isos
1026 1 : s% job% set_uniform_xa_from_file = set_uniform_xa_from_file
1027 1 : s% job% set_uniform_initial_xa_from_file = set_uniform_initial_xa_from_file
1028 1 : s% job% file_for_uniform_xa = file_for_uniform_xa
1029 :
1030 1 : s% job% mix_section = mix_section
1031 1 : s% job% mix_initial_section = mix_initial_section
1032 1 : s% job% mix_section_nzlo = mix_section_nzlo
1033 1 : s% job% mix_section_nzhi = mix_section_nzhi
1034 :
1035 1 : s% job% T9_weaklib_full_off = T9_weaklib_full_off
1036 1 : s% job% T9_weaklib_full_on = T9_weaklib_full_on
1037 1 : s% job% weaklib_blend_hi_Z = weaklib_blend_hi_Z
1038 1 : s% job% T9_weaklib_full_off_hi_Z = T9_weaklib_full_off_hi_Z
1039 1 : s% job% T9_weaklib_full_on_hi_Z = T9_weaklib_full_on_hi_Z
1040 :
1041 1 : s% job% use_suzuki_weak_rates = use_suzuki_weak_rates
1042 1 : s% job% use_3a_fl87 = use_3a_fl87
1043 :
1044 1 : s% job% use_special_weak_rates = use_special_weak_rates
1045 1 : s% job% special_weak_states_file = special_weak_states_file
1046 1 : s% job% special_weak_transitions_file = special_weak_transitions_file
1047 1 : s% job% ion_coulomb_corrections = ion_coulomb_corrections
1048 1 : s% job% electron_coulomb_corrections = electron_coulomb_corrections
1049 :
1050 1 : s% job% mix_envelope_down_to_T = mix_envelope_down_to_T
1051 1 : s% job% mix_initial_envelope_down_to_T = mix_initial_envelope_down_to_T
1052 1 : s% job% auto_extend_net = auto_extend_net
1053 :
1054 1 : s% job% enable_adaptive_network = enable_adaptive_network
1055 1 : s% job% min_x_for_keep = min_x_for_keep
1056 1 : s% job% min_x_for_n = min_x_for_n
1057 1 : s% job% min_x_for_add = min_x_for_add
1058 1 : s% job% max_Z_for_add = max_Z_for_add
1059 1 : s% job% max_N_for_add = max_N_for_add
1060 1 : s% job% max_A_for_add = max_A_for_add
1061 :
1062 1 : s% job% save_model_number = save_model_number
1063 1 : s% job% save_model_filename = save_model_filename
1064 1 : s% job% save_model_when_terminate = save_model_when_terminate
1065 10 : s% job% required_termination_code_string = required_termination_code_string
1066 1 : s% job% profile_starting_model = profile_starting_model
1067 1 : s% job% profile_model_number = profile_model_number
1068 1 : s% job% report_retries = report_retries
1069 :
1070 1 : s% job% net_reaction_filename = net_reaction_filename
1071 1 : s% job% jina_reaclib_filename = jina_reaclib_filename
1072 1 : s% job% jina_reaclib_min_T9 = jina_reaclib_min_T9
1073 1 : s% job% rate_tables_dir = rate_tables_dir
1074 1 : s% job% rate_cache_suffix = rate_cache_suffix
1075 6 : s% job% read_extra_star_job_inlist = read_extra_star_job_inlist
1076 6 : s% job% extra_star_job_inlist_name = extra_star_job_inlist_name
1077 1 : s% job% set_abundance_nzlo = set_abundance_nzlo
1078 1 : s% job% set_abundance_nzhi = set_abundance_nzhi
1079 1 : s% job% set_abundance = set_abundance
1080 1 : s% job% set_initial_abundance = set_initial_abundance
1081 1 : s% job% chem_name = chem_name
1082 1 : s% job% new_frac = new_frac
1083 1 : s% job% set_abundance_nzlo = set_abundance_nzlo
1084 1 : s% job% set_abundance_nzhi = set_abundance_nzhi
1085 1 : s% job% replace_element = replace_element
1086 1 : s% job% replace_initial_element = replace_initial_element
1087 1 : s% job% chem_name1 = chem_name1
1088 1 : s% job% chem_name2 = chem_name2
1089 1 : s% job% replace_element_nzlo = replace_element_nzlo
1090 1 : s% job% replace_element_nzhi = replace_element_nzhi
1091 1 : s% job% do_special_test = do_special_test
1092 :
1093 1 : s% job% save_pulse_data_for_model_number = save_pulse_data_for_model_number
1094 1 : s% job% save_pulse_data_when_terminate = save_pulse_data_when_terminate
1095 1 : s% job% save_pulse_data_filename = save_pulse_data_filename
1096 :
1097 1 : s% job% chem_isotopes_filename = chem_isotopes_filename
1098 1 : s% job% ionization_file_prefix = ionization_file_prefix
1099 1 : s% job% ionization_Z1_suffix = ionization_Z1_suffix
1100 1 : s% job% extras_lipar = extras_lipar
1101 1 : s% job% extras_lrpar = extras_lrpar
1102 1 : s% job% extras_lcpar = extras_lcpar
1103 1 : s% job% extras_llpar = extras_llpar
1104 21 : s% job% extras_ipar = extras_ipar
1105 21 : s% job% extras_rpar = extras_rpar
1106 21 : s% job% extras_cpar = extras_cpar
1107 21 : s% job% extras_lpar = extras_lpar
1108 1 : s% job% num_special_rate_factors = num_special_rate_factors
1109 501 : s% job% special_rate_factor = special_rate_factor
1110 501 : s% job% filename_of_special_rate = filename_of_special_rate
1111 501 : s% job% reaction_for_special_factor = reaction_for_special_factor
1112 :
1113 1 : s% job% warn_run_star_extras = warn_run_star_extras
1114 1 : s% job% report_garbage_collection = report_garbage_collection
1115 1 : s% job% num_steps_for_garbage_collection = num_steps_for_garbage_collection
1116 :
1117 1 : end subroutine store_star_job_controls
1118 :
1119 :
1120 1 : subroutine set_default_star_job_controls
1121 10 : required_termination_code_string(:) = ''
1122 1 : extras_ipar(:) = 0
1123 1 : extras_rpar(:) = 0
1124 21 : extras_cpar(:) = ''
1125 1 : extras_lpar(:) = .false.
1126 501 : special_rate_factor(:) = 1d0
1127 501 : filename_of_special_rate(:) = ''
1128 501 : reaction_for_special_factor(:) = ''
1129 : include 'star_job.defaults'
1130 : include 'star_job_dev.defaults'
1131 1 : end subroutine set_default_star_job_controls
1132 :
1133 :
1134 1 : subroutine check_star_job_controls(s, ierr)
1135 : type (star_info), pointer :: s
1136 : integer, intent(out) :: ierr
1137 :
1138 1 : ierr = 0
1139 :
1140 1 : if (s% job% write_profile_when_terminate) then
1141 0 : if (len_trim(s% job% filename_for_profile_when_terminate) == 0) then
1142 0 : write(*,*) "when write_profile_when_terminate = .true.,"
1143 0 : write(*,*) "filename_for_profile_when_terminate must be non empty"
1144 0 : ierr = -1
1145 0 : return
1146 : end if
1147 : end if
1148 :
1149 1 : if (s% job% save_model_when_terminate) then
1150 0 : if (len_trim(s% job% save_model_filename) == 0) then
1151 0 : write(*,*) "when save_model_when_terminate = .true.,"
1152 0 : write(*,*) "filename_for_profile_when_terminate must be non empty"
1153 0 : ierr = -1
1154 0 : return
1155 : end if
1156 : end if
1157 :
1158 : end subroutine check_star_job_controls
1159 :
1160 :
1161 0 : subroutine set_star_job_controls_for_writing(s, ierr)
1162 : type (star_info), pointer :: s
1163 : integer, intent(out) :: ierr
1164 :
1165 0 : ierr = 0
1166 :
1167 0 : mesa_dir = s% job% mesa_dir
1168 0 : eosDT_cache_dir = s% job% eosDT_cache_dir
1169 0 : ionization_cache_dir = s% job% ionization_cache_dir
1170 0 : kap_cache_dir = s% job% kap_cache_dir
1171 0 : rates_cache_dir = s% job% rates_cache_dir
1172 0 : pause_before_terminate = s% job% pause_before_terminate
1173 0 : profile_columns_file = s% job% profile_columns_file
1174 0 : history_columns_file = s% job% history_columns_file
1175 0 : show_log_description_at_start = s% job% show_log_description_at_start
1176 0 : list_net_reactions = s% job% list_net_reactions
1177 0 : show_net_reactions_info = s% job% show_net_reactions_info
1178 0 : show_net_species_info = s% job% show_net_species_info
1179 0 : first_model_for_timing = s% job% first_model_for_timing
1180 0 : steps_before_start_timing = s% job% steps_before_start_timing
1181 0 : show_eqns_and_vars_names = s% job% show_eqns_and_vars_names
1182 0 : pgstar_flag = s% job% pgstar_flag
1183 0 : disable_pgstar_during_relax_flag = s% job% disable_pgstar_during_relax_flag
1184 0 : clear_initial_pgstar_history = s% job% clear_initial_pgstar_history
1185 0 : clear_pgstar_history = s% job% clear_pgstar_history
1186 0 : save_pgstar_files_when_terminate = s% job% save_pgstar_files_when_terminate
1187 0 : save_photo_when_terminate = s% job% save_photo_when_terminate
1188 0 : load_saved_photo = s% job% load_saved_photo
1189 0 : saved_photo_name = s% job% saved_photo_name
1190 0 : save_photo_filename = s% job% save_photo_filename
1191 0 : save_photo_number = s% job% save_photo_number
1192 0 : write_profile_when_terminate = s% job% write_profile_when_terminate
1193 0 : show_retry_counts_when_terminate = s% job% show_retry_counts_when_terminate
1194 0 : show_timestep_limit_counts_when_terminate = s% job% show_timestep_limit_counts_when_terminate
1195 0 : filename_for_profile_when_terminate = s% job% filename_for_profile_when_terminate
1196 0 : create_pre_main_sequence_model = s% job% create_pre_main_sequence_model
1197 0 : pre_ms_relax_to_start_radiative_core = s% job% pre_ms_relax_to_start_radiative_core
1198 0 : pre_ms_relax_num_steps = s% job% pre_ms_relax_num_steps
1199 0 : pre_ms_min_steps_before_check_radiative_core = s% job% pre_ms_min_steps_before_check_radiative_core
1200 0 : pre_ms_check_radiative_core_start = s% job% pre_ms_check_radiative_core_start
1201 0 : pre_ms_check_radiative_core_stop = s% job% pre_ms_check_radiative_core_stop
1202 0 : pre_ms_check_radiative_core_Lnuc_div_L_limit = s% job% pre_ms_check_radiative_core_Lnuc_div_L_limit
1203 0 : pre_ms_check_radiative_core_min_mass = s% job% pre_ms_check_radiative_core_min_mass
1204 0 : pre_ms_T_c = s% job% pre_ms_T_c
1205 0 : pre_ms_guess_rho_c = s% job% pre_ms_guess_rho_c
1206 0 : pre_ms_d_log10_P = s% job% pre_ms_d_log10_P
1207 0 : pre_ms_logT_surf_limit = s% job% pre_ms_logT_surf_limit
1208 0 : pre_ms_logP_surf_limit = s% job% pre_ms_logP_surf_limit
1209 0 : create_initial_model = s% job% create_initial_model
1210 0 : initial_model_relax_num_steps = s% job% initial_model_relax_num_steps
1211 0 : radius_in_cm_for_create_initial_model = s% job% radius_in_cm_for_create_initial_model
1212 0 : mass_in_gm_for_create_initial_model = s% job% mass_in_gm_for_create_initial_model
1213 :
1214 0 : center_logP_1st_try_for_create_initial_model = s% job% center_logP_1st_try_for_create_initial_model
1215 0 : entropy_1st_try_for_create_initial_model = s% job% entropy_1st_try_for_create_initial_model
1216 0 : abs_e01_tolerance_for_create_initial_model = s% job% abs_e01_tolerance_for_create_initial_model
1217 0 : abs_e02_tolerance_for_create_initial_model = s% job% abs_e02_tolerance_for_create_initial_model
1218 0 : max_tries_for_create_initial_model = s% job% max_tries_for_create_initial_model
1219 :
1220 0 : initial_model_eps = s% job% initial_model_eps
1221 0 : save_star_job_namelist = s% job% save_star_job_namelist
1222 0 : star_job_namelist_name = s% job% star_job_namelist_name
1223 0 : echo_at_start = s% job% echo_at_start
1224 0 : echo_at_end = s% job% echo_at_end
1225 0 : load_saved_model = s% job% load_saved_model
1226 0 : load_model_filename = s% job% load_model_filename
1227 0 : create_merger_model = s% job% create_merger_model
1228 0 : saved_model_for_merger_1 = s% job% saved_model_for_merger_1
1229 0 : saved_model_for_merger_2 = s% job% saved_model_for_merger_2
1230 0 : set_max_dt_to_frac_lifetime = s% job% set_max_dt_to_frac_lifetime
1231 0 : max_frac_of_lifetime_per_step = s% job% max_frac_of_lifetime_per_step
1232 0 : astero_just_call_my_extras_check_model = s% job% astero_just_call_my_extras_check_model
1233 0 : relax_mass = s% job% relax_mass
1234 0 : relax_initial_mass = s% job% relax_initial_mass
1235 0 : new_mass = s% job% new_mass
1236 0 : lg_max_abs_mdot = s% job% lg_max_abs_mdot
1237 0 : relax_mass_to_remove_H_env = s% job% relax_mass_to_remove_H_env
1238 0 : relax_initial_mass_to_remove_H_env = s% job% relax_initial_mass_to_remove_H_env
1239 0 : extra_mass_retained_by_remove_H_env = s% job% extra_mass_retained_by_remove_H_env
1240 0 : relax_mass_scale = s% job% relax_mass_scale
1241 0 : relax_initial_mass_scale = s% job% relax_initial_mass_scale
1242 0 : dlgm_per_step = s% job% dlgm_per_step
1243 :
1244 0 : relax_M_center_dt = s% job% relax_M_center_dt
1245 0 : change_mass_years_for_dt = s% job% change_mass_years_for_dt
1246 0 : relax_M_center = s% job% relax_M_center
1247 0 : relax_initial_M_center = s% job% relax_initial_M_center
1248 0 : relax_core = s% job% relax_core
1249 0 : relax_initial_core = s% job% relax_initial_core
1250 0 : new_core_mass = s% job% new_core_mass
1251 0 : dlg_core_mass_per_step = s% job% dlg_core_mass_per_step
1252 0 : relax_core_years_for_dt = s% job% relax_core_years_for_dt
1253 0 : core_avg_rho = s% job% core_avg_rho
1254 0 : core_avg_eps = s% job% core_avg_eps
1255 :
1256 0 : relax_R_center = s% job% relax_R_center
1257 0 : relax_initial_R_center = s% job% relax_initial_R_center
1258 0 : new_R_center = s% job% new_R_center
1259 0 : dlgR_per_step = s% job% dlgR_per_step
1260 0 : relax_R_center_dt = s% job% relax_R_center_dt
1261 :
1262 0 : set_v_center = s% job% set_v_center
1263 0 : set_initial_v_center = s% job% set_initial_v_center
1264 :
1265 0 : relax_v_center = s% job% relax_v_center
1266 0 : relax_initial_v_center = s% job% relax_initial_v_center
1267 0 : new_v_center = s% job% new_v_center
1268 0 : dv_per_step = s% job% dv_per_step
1269 0 : relax_v_center_dt = s% job% relax_v_center_dt
1270 :
1271 0 : zero_alpha_RTI = s% job% zero_alpha_RTI
1272 0 : zero_initial_alpha_RTI = s% job% zero_initial_alpha_RTI
1273 :
1274 0 : set_L_center = s% job% set_L_center
1275 0 : set_initial_L_center = s% job% set_initial_L_center
1276 0 : relax_L_center = s% job% relax_L_center
1277 0 : relax_initial_L_center = s% job% relax_initial_L_center
1278 0 : new_L_center = s% job% new_L_center
1279 0 : dlgL_per_step = s% job% dlgL_per_step
1280 0 : relax_L_center_dt = s% job% relax_L_center_dt
1281 :
1282 0 : remove_center_at_cell_k = s% job% remove_center_at_cell_k
1283 0 : remove_center_by_temperature = s% job% remove_center_by_temperature
1284 0 : remove_center_by_mass_fraction_q = s% job% remove_center_by_mass_fraction_q
1285 0 : remove_center_by_delta_mass_gm = s% job% remove_center_by_delta_mass_gm
1286 0 : remove_center_by_delta_mass_Msun = s% job% remove_center_by_delta_mass_Msun
1287 0 : remove_center_by_mass_gm = s% job% remove_center_by_mass_gm
1288 0 : remove_center_by_mass_Msun = s% job% remove_center_by_mass_Msun
1289 0 : remove_center_by_radius_Rsun = s% job% remove_center_by_radius_Rsun
1290 0 : remove_center_by_radius_cm = s% job% remove_center_by_radius_cm
1291 0 : remove_center_by_he4 = s% job% remove_center_by_he4
1292 0 : remove_center_by_c12_o16 = s% job% remove_center_by_c12_o16
1293 0 : remove_center_by_si28 = s% job% remove_center_by_si28
1294 0 : remove_center_to_reduce_co56_ni56 = s% job% remove_center_to_reduce_co56_ni56
1295 0 : remove_center_by_ye = s% job% remove_center_by_ye
1296 0 : remove_center_by_entropy = s% job% remove_center_by_entropy
1297 0 : remove_center_by_infall_kms = s% job% remove_center_by_infall_kms
1298 0 : remove_center_at_inner_max_abs_v = s% job% remove_center_at_inner_max_abs_v
1299 0 : remove_fe_core = s% job% remove_fe_core
1300 0 : remove_fallback_at_each_step = s% job% remove_fallback_at_each_step
1301 0 : fallback_check_total_energy = s% job% fallback_check_total_energy
1302 0 : remove_fallback_speed_limit = s% job% remove_fallback_speed_limit
1303 0 : remove_center_set_zero_v_center = s% job% remove_center_set_zero_v_center
1304 0 : limit_center_logP_at_each_step = s% job% limit_center_logP_at_each_step
1305 0 : remove_center_adjust_L_center = s% job% remove_center_adjust_L_center
1306 0 : remove_center_logRho_limit = s% job% remove_center_logRho_limit
1307 :
1308 0 : remove_initial_center_at_cell_k = s% job% remove_initial_center_at_cell_k
1309 0 : remove_initial_center_by_temperature = s% job% remove_initial_center_by_temperature
1310 0 : remove_initial_center_by_mass_fraction_q = s% job% remove_initial_center_by_mass_fraction_q
1311 0 : remove_initial_center_by_delta_mass_gm = s% job% remove_initial_center_by_delta_mass_gm
1312 0 : remove_initial_center_by_delta_mass_Msun = s% job% remove_initial_center_by_delta_mass_Msun
1313 0 : remove_initial_center_by_mass_gm = s% job% remove_initial_center_by_mass_gm
1314 0 : remove_initial_center_by_mass_Msun = s% job% remove_initial_center_by_mass_Msun
1315 0 : remove_initial_center_by_radius_Rsun = s% job% remove_initial_center_by_radius_Rsun
1316 0 : remove_initial_center_by_radius_cm = s% job% remove_initial_center_by_radius_cm
1317 0 : remove_initial_center_by_he4 = s% job% remove_initial_center_by_he4
1318 0 : remove_initial_center_by_c12_o16 = s% job% remove_initial_center_by_c12_o16
1319 0 : remove_initial_center_by_si28 = s% job% remove_initial_center_by_si28
1320 0 : remove_initial_center_to_reduce_co56_ni56 = s% job% remove_initial_center_to_reduce_co56_ni56
1321 0 : remove_initial_center_by_ye = s% job% remove_initial_center_by_ye
1322 0 : remove_initial_center_by_entropy = s% job% remove_initial_center_by_entropy
1323 0 : remove_initial_center_by_infall_kms = s% job% remove_initial_center_by_infall_kms
1324 0 : remove_initial_center_at_inner_max_abs_v = s% job% remove_initial_center_at_inner_max_abs_v
1325 0 : remove_initial_fe_core = s% job% remove_initial_fe_core
1326 :
1327 0 : zero_initial_inner_v_by_mass_Msun = s% job% zero_initial_inner_v_by_mass_Msun
1328 0 : zero_inner_v_by_mass_Msun = s% job% zero_inner_v_by_mass_Msun
1329 :
1330 0 : remove_surface_at_cell_k = s% job% remove_surface_at_cell_k
1331 0 : remove_surface_at_he_core_boundary = s% job% remove_surface_at_he_core_boundary
1332 0 : remove_surface_by_optical_depth = s% job% remove_surface_by_optical_depth
1333 0 : remove_surface_by_density = s% job% remove_surface_by_density
1334 0 : remove_surface_by_pressure = s% job% remove_surface_by_pressure
1335 0 : remove_surface_by_mass_fraction_q = s% job% remove_surface_by_mass_fraction_q
1336 0 : remove_surface_by_mass_gm = s% job% remove_surface_by_mass_gm
1337 0 : remove_surface_by_radius_cm = s% job% remove_surface_by_radius_cm
1338 0 : remove_surface_by_mass_Msun = s% job% remove_surface_by_mass_Msun
1339 0 : remove_surface_by_radius_Rsun = s% job% remove_surface_by_radius_Rsun
1340 0 : remove_surface_by_v_surf_km_s = s% job% remove_surface_by_v_surf_km_s
1341 0 : remove_surface_by_v_surf_div_cs = s% job% remove_surface_by_v_surf_div_cs
1342 0 : remove_surface_by_v_surf_div_v_escape = s% job% remove_surface_by_v_surf_div_v_escape
1343 0 : min_q_for_remove_surface_by_v_surf_div_v_escape = s% job% min_q_for_remove_surface_by_v_surf_div_v_escape
1344 0 : max_q_for_remove_surface_by_v_surf_div_v_escape = s% job% max_q_for_remove_surface_by_v_surf_div_v_escape
1345 :
1346 0 : remove_surface_do_jrot = s% job% remove_surface_do_jrot
1347 0 : remove_surface_do_entropy = s% job% remove_surface_do_entropy
1348 0 : remove_surface_turn_off_energy_sources_and_sinks = s% job% remove_surface_turn_off_energy_sources_and_sinks
1349 0 : remove_surface_by_relax_to_star_cut = s% job% remove_surface_by_relax_to_star_cut
1350 :
1351 0 : remove_initial_surface_at_cell_k = s% job% remove_initial_surface_at_cell_k
1352 0 : remove_initial_surface_at_he_core_boundary = s% job% remove_initial_surface_at_he_core_boundary
1353 0 : remove_initial_surface_by_optical_depth = s% job% remove_initial_surface_by_optical_depth
1354 0 : remove_initial_surface_by_density = s% job% remove_initial_surface_by_density
1355 0 : remove_initial_surface_by_pressure = s% job% remove_initial_surface_by_pressure
1356 0 : remove_initial_surface_by_mass_fraction_q = s% job% remove_initial_surface_by_mass_fraction_q
1357 0 : remove_initial_surface_by_mass_gm = s% job% remove_initial_surface_by_mass_gm
1358 0 : remove_initial_surface_by_radius_cm = s% job% remove_initial_surface_by_radius_cm
1359 0 : remove_initial_surface_by_mass_Msun = s% job% remove_initial_surface_by_mass_Msun
1360 0 : remove_initial_surface_by_radius_Rsun = s% job% remove_initial_surface_by_radius_Rsun
1361 0 : remove_initial_surface_by_v_surf_km_s = s% job% remove_initial_surface_by_v_surf_km_s
1362 0 : remove_initial_surface_by_v_surf_div_cs = s% job% remove_initial_surface_by_v_surf_div_cs
1363 0 : remove_initial_surface_by_v_surf_div_v_escape = s% job% remove_initial_surface_by_v_surf_div_v_escape
1364 :
1365 0 : report_mass_not_fe56 = s% job% report_mass_not_fe56
1366 0 : relax_dxdt_nuc_factor = s% job% relax_dxdt_nuc_factor
1367 0 : relax_initial_dxdt_nuc_factor = s% job% relax_initial_dxdt_nuc_factor
1368 0 : new_dxdt_nuc_factor = s% job% new_dxdt_nuc_factor
1369 0 : dxdt_nuc_factor_multiplier = s% job% dxdt_nuc_factor_multiplier
1370 0 : relax_eps_nuc_factor = s% job% relax_eps_nuc_factor
1371 0 : relax_initial_eps_nuc_factor = s% job% relax_initial_eps_nuc_factor
1372 0 : new_eps_nuc_factor = s% job% new_eps_nuc_factor
1373 0 : eps_nuc_factor_multiplier = s% job% eps_nuc_factor_multiplier
1374 0 : relax_opacity_max = s% job% relax_opacity_max
1375 0 : relax_initial_opacity_max = s% job% relax_initial_opacity_max
1376 0 : new_opacity_max = s% job% new_opacity_max
1377 0 : opacity_max_multiplier = s% job% opacity_max_multiplier
1378 0 : relax_max_surf_dq = s% job% relax_max_surf_dq
1379 0 : relax_initial_max_surf_dq = s% job% relax_initial_max_surf_dq
1380 0 : new_max_surf_dq = s% job% new_max_surf_dq
1381 0 : max_surf_dq_multiplier = s% job% max_surf_dq_multiplier
1382 :
1383 0 : relax_tau_factor = s% job% relax_tau_factor
1384 0 : relax_initial_tau_factor = s% job% relax_initial_tau_factor
1385 0 : set_tau_factor = s% job% set_tau_factor
1386 0 : set_initial_tau_factor = s% job% set_initial_tau_factor
1387 0 : relax_to_this_tau_factor = s% job% relax_to_this_tau_factor
1388 0 : set_to_this_tau_factor = s% job% set_to_this_tau_factor
1389 0 : dlogtau_factor = s% job% dlogtau_factor
1390 0 : set_tau_factor_after_core_He_burn = s% job% set_tau_factor_after_core_He_burn
1391 0 : set_tau_factor_after_core_C_burn = s% job% set_tau_factor_after_core_C_burn
1392 0 : relax_tau_factor_after_core_He_burn = s% job% relax_tau_factor_after_core_He_burn
1393 0 : relax_tau_factor_after_core_C_burn = s% job% relax_tau_factor_after_core_C_burn
1394 :
1395 0 : adjust_tau_factor_to_surf_density = s% job% adjust_tau_factor_to_surf_density
1396 0 : base_for_adjust_tau_factor_to_surf_density = s% job% base_for_adjust_tau_factor_to_surf_density
1397 :
1398 0 : relax_to_this_opacity_factor = s% job% relax_to_this_opacity_factor
1399 0 : d_opacity_factor = s% job% d_opacity_factor
1400 0 : relax_opacity_factor = s% job% relax_opacity_factor
1401 0 : relax_initial_opacity_factor = s% job% relax_initial_opacity_factor
1402 :
1403 0 : relax_Tsurf_factor = s% job% relax_Tsurf_factor
1404 0 : relax_initial_Tsurf_factor = s% job% relax_initial_Tsurf_factor
1405 0 : set_Tsurf_factor = s% job% set_Tsurf_factor
1406 0 : set_initial_Tsurf_factor = s% job% set_initial_Tsurf_factor
1407 0 : relax_to_this_Tsurf_factor = s% job% relax_to_this_Tsurf_factor
1408 0 : set_to_this_Tsurf_factor = s% job% set_to_this_Tsurf_factor
1409 0 : dlogTsurf_factor = s% job% dlogTsurf_factor
1410 :
1411 0 : relax_irradiation = s% job% relax_irradiation
1412 0 : relax_initial_irradiation = s% job% relax_initial_irradiation
1413 0 : set_irradiation = s% job% set_irradiation
1414 0 : set_initial_irradiation = s% job% set_initial_irradiation
1415 0 : relax_irradiation_min_steps = s% job% relax_irradiation_min_steps
1416 0 : relax_to_this_irrad_flux = s% job% relax_to_this_irrad_flux
1417 0 : set_to_this_irrad_flux = s% job% set_to_this_irrad_flux
1418 0 : irrad_col_depth = s% job% irrad_col_depth
1419 0 : relax_irradiation_max_yrs_dt = s% job% relax_irradiation_max_yrs_dt
1420 0 : relax_mass_change = s% job% relax_mass_change
1421 0 : relax_initial_mass_change = s% job% relax_initial_mass_change
1422 0 : relax_mass_change_min_steps = s% job% relax_mass_change_min_steps
1423 0 : relax_mass_change_max_yrs_dt = s% job% relax_mass_change_max_yrs_dt
1424 0 : relax_mass_change_init_mdot = s% job% relax_mass_change_init_mdot
1425 0 : relax_mass_change_final_mdot = s% job% relax_mass_change_final_mdot
1426 0 : change_RTI_flag = s% job% change_RTI_flag
1427 0 : change_initial_RTI_flag = s% job% change_initial_RTI_flag
1428 0 : new_RTI_flag = s% job% new_RTI_flag
1429 0 : change_RSP_flag = s% job% change_RSP_flag
1430 0 : change_initial_RSP_flag = s% job% change_initial_RSP_flag
1431 0 : new_RSP_flag = s% job% new_RSP_flag
1432 0 : change_RSP2_flag = s% job% change_RSP2_flag
1433 0 : change_initial_RSP2_flag = s% job% change_initial_RSP2_flag
1434 0 : change_RSP2_flag_at_model_number = s% job% change_RSP2_flag_at_model_number
1435 0 : new_RSP2_flag = s% job% new_RSP2_flag
1436 0 : create_RSP2_model = s% job% create_RSP2_model
1437 0 : change_w_div_wc_flag = s% job% change_w_div_wc_flag
1438 0 : change_initial_w_div_wc_flag = s% job% change_initial_w_div_wc_flag
1439 0 : new_w_div_wc_flag = s% job% new_w_div_wc_flag
1440 0 : change_j_rot_flag = s% job% change_j_rot_flag
1441 0 : change_initial_j_rot_flag = s% job% change_initial_j_rot_flag
1442 0 : new_j_rot_flag = s% job% new_j_rot_flag
1443 :
1444 0 : create_RSP_model = s% job% create_RSP_model
1445 0 : change_v_flag = s% job% change_v_flag
1446 0 : change_initial_v_flag = s% job% change_initial_v_flag
1447 0 : new_v_flag = s% job% new_v_flag
1448 0 : change_D_omega_flag = s% job% change_D_omega_flag
1449 0 : change_initial_D_omega_flag = s% job% change_initial_D_omega_flag
1450 0 : new_D_omega_flag = s% job% new_D_omega_flag
1451 0 : change_am_nu_rot_flag = s% job% change_am_nu_rot_flag
1452 0 : change_initial_am_nu_rot_flag = s% job% change_initial_am_nu_rot_flag
1453 0 : new_am_nu_rot_flag = s% job% new_am_nu_rot_flag
1454 0 : use_D_omega_for_am_nu_rot = s% job% use_D_omega_for_am_nu_rot
1455 :
1456 0 : change_u_flag = s% job% change_u_flag
1457 0 : change_initial_u_flag = s% job% change_initial_u_flag
1458 0 : new_u_flag = s% job% new_u_flag
1459 :
1460 0 : change_reconstruction_flag = s% job% change_reconstruction_flag
1461 0 : change_initial_reconstruction_flag = s% job% change_initial_reconstruction_flag
1462 0 : new_reconstruction_flag = s% job% new_reconstruction_flag
1463 :
1464 0 : center_ye_limit_for_v_flag = s% job% center_ye_limit_for_v_flag
1465 0 : change_rotation_flag = s% job% change_rotation_flag
1466 0 : change_initial_rotation_flag = s% job% change_initial_rotation_flag
1467 0 : new_rotation_flag = s% job% new_rotation_flag
1468 0 : use_w_div_wc_flag_with_rotation = s% job% use_w_div_wc_flag_with_rotation
1469 0 : use_j_rot_flag_with_rotation = s% job% use_j_rot_flag_with_rotation
1470 0 : set_omega = s% job% set_omega
1471 0 : set_initial_omega = s% job% set_initial_omega
1472 0 : set_omega_step_limit = s% job% set_omega_step_limit
1473 0 : set_near_zams_omega_steps = s% job% set_near_zams_omega_steps
1474 0 : new_omega = s% job% new_omega
1475 0 : set_omega_div_omega_crit = s% job% set_omega_div_omega_crit
1476 0 : set_initial_omega_div_omega_crit = s% job% set_initial_omega_div_omega_crit
1477 0 : set_omega_div_omega_crit_step_limit = s% job% set_omega_div_omega_crit_step_limit
1478 0 : set_near_zams_omega_div_omega_crit_steps = s% job% set_near_zams_omega_div_omega_crit_steps
1479 0 : new_omega_div_omega_crit = s% job% new_omega_div_omega_crit
1480 0 : set_surface_rotation_v = s% job% set_surface_rotation_v
1481 0 : set_initial_surface_rotation_v = s% job% set_initial_surface_rotation_v
1482 0 : set_surf_rotation_v_step_limit = s% job% set_surf_rotation_v_step_limit
1483 0 : set_near_zams_surface_rotation_v_steps = s% job% set_near_zams_surface_rotation_v_steps
1484 0 : new_surface_rotation_v = s% job% new_surface_rotation_v
1485 0 : relax_omega = s% job% relax_omega
1486 0 : relax_initial_omega = s% job% relax_initial_omega
1487 0 : near_zams_relax_omega = s% job% near_zams_relax_omega
1488 0 : relax_omega_div_omega_crit = s% job% relax_omega_div_omega_crit
1489 0 : relax_initial_omega_div_omega_crit = s% job% relax_initial_omega_div_omega_crit
1490 0 : near_zams_relax_omega_div_omega_crit = s% job% near_zams_relax_omega_div_omega_crit
1491 0 : relax_surface_rotation_v = s% job% relax_surface_rotation_v
1492 0 : relax_initial_surface_rotation_v = s% job% relax_initial_surface_rotation_v
1493 0 : near_zams_relax_initial_surface_rotation_v = s% job% near_zams_relax_initial_surface_rotation_v
1494 0 : num_steps_to_relax_rotation = s% job% num_steps_to_relax_rotation
1495 0 : relax_omega_max_yrs_dt = s% job% relax_omega_max_yrs_dt
1496 0 : set_uniform_initial_composition = s% job% set_uniform_initial_composition
1497 0 : initial_h1 = s% job% initial_h1
1498 0 : initial_h2 = s% job% initial_h2
1499 0 : initial_he3 = s% job% initial_he3
1500 0 : initial_he4 = s% job% initial_he4
1501 0 : initial_zfracs = s% job% initial_zfracs
1502 0 : dump_missing_metals_into_heaviest = s% job% dump_missing_metals_into_heaviest
1503 0 : relax_initial_composition = s% job% relax_initial_composition
1504 0 : relax_initial_to_xaccrete = s% job% relax_initial_to_xaccrete
1505 0 : relax_composition_filename = s% job% relax_composition_filename
1506 0 : num_steps_to_relax_composition = s% job% num_steps_to_relax_composition
1507 0 : timescale_for_relax_composition = s% job% timescale_for_relax_composition
1508 0 : relax_initial_angular_momentum = s% job% relax_initial_angular_momentum
1509 0 : max_steps_to_relax_angular_momentum = s% job% max_steps_to_relax_angular_momentum
1510 0 : timescale_for_relax_angular_momentum = s% job% timescale_for_relax_angular_momentum
1511 0 : max_dt_for_relax_angular_momentum = s% job% max_dt_for_relax_angular_momentum
1512 0 : num_timescales_for_relax_angular_momentum = s% job% num_timescales_for_relax_angular_momentum
1513 0 : relax_angular_momentum_filename = s% job% relax_angular_momentum_filename
1514 0 : relax_angular_momentum_constant_omega_center = s% job% relax_angular_momentum_constant_omega_center
1515 0 : relax_initial_entropy = s% job% relax_initial_entropy
1516 0 : max_steps_to_relax_entropy = s% job% max_steps_to_relax_entropy
1517 0 : timescale_for_relax_entropy = s% job% timescale_for_relax_entropy
1518 0 : max_dt_for_relax_entropy = s% job% max_dt_for_relax_entropy
1519 0 : num_timescales_for_relax_entropy = s% job% num_timescales_for_relax_entropy
1520 0 : relax_entropy_filename = s% job% relax_entropy_filename
1521 0 : get_entropy_for_relax_from_eos = s% job% get_entropy_for_relax_from_eos
1522 0 : report_cell_for_xm = s% job% report_cell_for_xm
1523 0 : set_to_xa_for_accretion = s% job% set_to_xa_for_accretion
1524 0 : set_initial_to_xa_for_accretion = s% job% set_initial_to_xa_for_accretion
1525 0 : set_nzlo = s% job% set_nzlo
1526 0 : set_nzhi = s% job% set_nzhi
1527 0 : change_Y = s% job% change_Y
1528 0 : change_initial_Y = s% job% change_initial_Y
1529 0 : relax_Y = s% job% relax_Y
1530 0 : relax_initial_Y = s% job% relax_initial_Y
1531 0 : relax_Y_minq = s% job% relax_Y_minq
1532 0 : relax_Y_maxq = s% job% relax_Y_maxq
1533 0 : new_Y = s% job% new_Y
1534 0 : change_Z = s% job% change_Z
1535 0 : change_initial_Z = s% job% change_initial_Z
1536 0 : relax_Z = s% job% relax_Z
1537 0 : relax_initial_Z = s% job% relax_initial_Z
1538 0 : relax_Z_minq = s% job% relax_Z_minq
1539 0 : relax_Z_maxq = s% job% relax_Z_maxq
1540 0 : new_Z = s% job% new_Z
1541 0 : steps_to_take_before_terminate = s% job% steps_to_take_before_terminate
1542 0 : stop_if_this_file_exists = s% job% stop_if_this_file_exists
1543 0 : set_initial_age = s% job% set_initial_age
1544 0 : initial_age = s% job% initial_age
1545 0 : set_initial_model_number = s% job% set_initial_model_number
1546 0 : initial_model_number = s% job% initial_model_number
1547 0 : set_initial_number_retries = s% job% set_initial_number_retries
1548 0 : initial_number_retries = s% job% initial_number_retries
1549 0 : set_initial_dt = s% job% set_initial_dt
1550 0 : limit_initial_dt = s% job% limit_initial_dt
1551 0 : years_for_initial_dt = s% job% years_for_initial_dt
1552 0 : seconds_for_initial_dt = s% job% seconds_for_initial_dt
1553 :
1554 0 : set_initial_cumulative_energy_error = s% job% set_initial_cumulative_energy_error
1555 0 : set_cumulative_energy_error = s% job% set_cumulative_energy_error
1556 0 : set_cumulative_energy_error_at_step = s% job% set_cumulative_energy_error_at_step
1557 0 : set_cumulative_energy_error_each_step_if_age_less_than = s% job% set_cumulative_energy_error_each_step_if_age_less_than
1558 0 : new_cumulative_energy_error = s% job% new_cumulative_energy_error
1559 0 : set_cumulative_energy_error_each_relax = s% job% set_cumulative_energy_error_each_relax
1560 :
1561 0 : change_net = s% job% change_net
1562 0 : change_initial_net = s% job% change_initial_net
1563 0 : new_net_name = s% job% new_net_name
1564 0 : change_small_net = s% job% change_small_net
1565 0 : change_initial_small_net = s% job% change_initial_small_net
1566 0 : new_small_net_name = s% job% new_small_net_name
1567 :
1568 0 : h_he_net = s% job% h_he_net
1569 0 : co_net = s% job% co_net
1570 0 : adv_net = s% job% adv_net
1571 0 : adjust_abundances_for_new_isos = s% job% adjust_abundances_for_new_isos
1572 0 : set_uniform_xa_from_file = s% job% set_uniform_xa_from_file
1573 0 : set_uniform_initial_xa_from_file = s% job% set_uniform_initial_xa_from_file
1574 0 : file_for_uniform_xa = s% job% file_for_uniform_xa
1575 :
1576 0 : mix_section = s% job% mix_section
1577 0 : mix_initial_section = s% job% mix_initial_section
1578 0 : mix_section_nzlo = s% job% mix_section_nzlo
1579 0 : mix_section_nzhi = s% job% mix_section_nzhi
1580 :
1581 0 : T9_weaklib_full_off = s% job% T9_weaklib_full_off
1582 0 : T9_weaklib_full_on = s% job% T9_weaklib_full_on
1583 0 : weaklib_blend_hi_Z = s% job% weaklib_blend_hi_Z
1584 0 : T9_weaklib_full_off_hi_Z = s% job% T9_weaklib_full_off_hi_Z
1585 0 : T9_weaklib_full_on_hi_Z = s% job% T9_weaklib_full_on_hi_Z
1586 :
1587 0 : use_suzuki_weak_rates = s% job% use_suzuki_weak_rates
1588 0 : use_3a_fl87 = s% job% use_3a_fl87
1589 :
1590 0 : use_special_weak_rates = s% job% use_special_weak_rates
1591 0 : special_weak_states_file = s% job% special_weak_states_file
1592 0 : special_weak_transitions_file = s% job% special_weak_transitions_file
1593 0 : ion_coulomb_corrections = s% job% ion_coulomb_corrections
1594 0 : electron_coulomb_corrections = s% job% electron_coulomb_corrections
1595 :
1596 0 : mix_envelope_down_to_T = s% job% mix_envelope_down_to_T
1597 0 : mix_initial_envelope_down_to_T = s% job% mix_initial_envelope_down_to_T
1598 0 : auto_extend_net = s% job% auto_extend_net
1599 :
1600 0 : enable_adaptive_network = s% job% enable_adaptive_network
1601 0 : min_x_for_keep = s% job% min_x_for_keep
1602 0 : min_x_for_n = s% job% min_x_for_n
1603 0 : min_x_for_add = s% job% min_x_for_add
1604 0 : max_Z_for_add = s% job% max_Z_for_add
1605 0 : max_N_for_add = s% job% max_N_for_add
1606 0 : max_A_for_add = s% job% max_A_for_add
1607 :
1608 0 : save_model_number = s% job% save_model_number
1609 0 : save_model_filename = s% job% save_model_filename
1610 0 : save_model_when_terminate = s% job% save_model_when_terminate
1611 0 : required_termination_code_string = s% job% required_termination_code_string
1612 0 : profile_starting_model = s% job% profile_starting_model
1613 0 : profile_model_number = s% job% profile_model_number
1614 0 : report_retries = s% job% report_retries
1615 :
1616 0 : net_reaction_filename = s% job% net_reaction_filename
1617 0 : jina_reaclib_filename = s% job% jina_reaclib_filename
1618 0 : jina_reaclib_min_T9 = s% job% jina_reaclib_min_T9
1619 0 : rate_tables_dir = s% job% rate_tables_dir
1620 0 : rate_cache_suffix = s% job% rate_cache_suffix
1621 0 : read_extra_star_job_inlist = s% job% read_extra_star_job_inlist
1622 0 : extra_star_job_inlist_name = s% job% extra_star_job_inlist_name
1623 0 : set_abundance_nzlo = s% job% set_abundance_nzlo
1624 0 : set_abundance_nzhi = s% job% set_abundance_nzhi
1625 0 : set_abundance = s% job% set_abundance
1626 0 : set_initial_abundance = s% job% set_initial_abundance
1627 0 : chem_name = s% job% chem_name
1628 0 : new_frac = s% job% new_frac
1629 : set_abundance_nzlo = s% job% set_abundance_nzlo
1630 : set_abundance_nzhi = s% job% set_abundance_nzhi
1631 0 : replace_element = s% job% replace_element
1632 0 : replace_initial_element = s% job% replace_initial_element
1633 0 : chem_name1 = s% job% chem_name1
1634 0 : chem_name2 = s% job% chem_name2
1635 0 : replace_element_nzlo = s% job% replace_element_nzlo
1636 0 : replace_element_nzhi = s% job% replace_element_nzhi
1637 0 : do_special_test = s% job% do_special_test
1638 :
1639 0 : save_pulse_data_for_model_number = s% job% save_pulse_data_for_model_number
1640 0 : save_pulse_data_when_terminate = s% job% save_pulse_data_when_terminate
1641 0 : save_pulse_data_filename = s% job% save_pulse_data_filename
1642 :
1643 0 : chem_isotopes_filename = s% job% chem_isotopes_filename
1644 0 : ionization_file_prefix = s% job% ionization_file_prefix
1645 0 : ionization_Z1_suffix = s% job% ionization_Z1_suffix
1646 0 : extras_lipar = s% job% extras_lipar
1647 0 : extras_lrpar = s% job% extras_lrpar
1648 0 : extras_lcpar = s% job% extras_lcpar
1649 0 : extras_llpar = s% job% extras_llpar
1650 0 : extras_ipar = s% job% extras_ipar
1651 0 : extras_rpar = s% job% extras_rpar
1652 0 : extras_cpar = s% job% extras_cpar
1653 0 : extras_lpar = s% job% extras_lpar
1654 0 : num_special_rate_factors = s% job% num_special_rate_factors
1655 0 : special_rate_factor = s% job% special_rate_factor
1656 0 : filename_of_special_rate = s% job% filename_of_special_rate
1657 :
1658 0 : reaction_for_special_factor = s% job% reaction_for_special_factor
1659 :
1660 0 : warn_run_star_extras = s% job% warn_run_star_extras
1661 0 : report_garbage_collection = s% job% report_garbage_collection
1662 0 : num_steps_for_garbage_collection = s% job% num_steps_for_garbage_collection
1663 :
1664 0 : end subroutine set_star_job_controls_for_writing
1665 :
1666 :
1667 0 : subroutine do_write_star_job(s, filename, ierr)
1668 : type (star_info), pointer :: s
1669 : character(*), intent(in) :: filename
1670 : integer, intent(out) :: ierr
1671 : integer :: io
1672 : ierr = 0
1673 0 : call set_star_job_controls_for_writing(s, ierr)
1674 0 : if (ierr /= 0) then
1675 0 : write(*,*) 'failed to set_star_job_controls_for_writing "' // trim(filename)//'"'
1676 0 : return
1677 : end if
1678 0 : open(newunit=io, file=trim(filename), action='write', status='replace', iostat=ierr)
1679 0 : if (ierr /= 0) then
1680 0 : write(*,*) 'failed to open "' // trim(filename)//'"'
1681 0 : return
1682 : end if
1683 0 : write(io, nml=star_job, iostat=ierr)
1684 0 : if (ierr /= 0) then
1685 0 : write(*,*) 'failed to write "' // trim(filename)//'"'
1686 0 : return
1687 : end if
1688 0 : write(*,*) 'write star_job namelist values to "' // trim(filename)//'"'
1689 0 : close(io)
1690 : end subroutine do_write_star_job
1691 :
1692 :
1693 0 : subroutine get_star_job(s, name, val, ierr)
1694 : use utils_lib, only: StrUpCase
1695 : type (star_info), pointer :: s
1696 : character(len=*),intent(in) :: name
1697 : character(len=*), intent(out) :: val
1698 : integer, intent(out) :: ierr
1699 :
1700 0 : character(len(name)+1) :: upper_name
1701 : character(len=512) :: str
1702 : integer :: iounit,iostat,ind,i
1703 :
1704 : ierr = 0
1705 :
1706 : ! First save current controls
1707 0 : call set_star_job_controls_for_writing(s, ierr)
1708 0 : if(ierr/=0) return
1709 :
1710 : ! Write namelist to temporary file
1711 0 : open(newunit=iounit,status='scratch')
1712 0 : write(iounit,nml=star_job)
1713 0 : rewind(iounit)
1714 :
1715 : ! Namelists get written in capitals
1716 0 : upper_name = trim(StrUpCase(name))//'='
1717 0 : val = ''
1718 : ! Search for name inside namelist
1719 : do
1720 0 : read(iounit,'(A)',iostat=iostat) str
1721 0 : ind = index(trim(str),trim(upper_name))
1722 0 : if( ind /= 0 ) then
1723 0 : val = str(ind+len_trim(upper_name):len_trim(str)-1) ! Remove final comma and starting =
1724 0 : do i=1,len(val)
1725 0 : if(val(i:i)=='"') val(i:i) = ' '
1726 : end do
1727 : exit
1728 : end if
1729 0 : if(is_iostat_end(iostat)) exit
1730 : end do
1731 :
1732 0 : if(len_trim(val) == 0 .and. ind==0 ) ierr = -1
1733 :
1734 0 : close(iounit)
1735 :
1736 0 : end subroutine get_star_job
1737 :
1738 0 : subroutine set_star_job(s, name, val, ierr)
1739 : type (star_info), pointer :: s
1740 : character(len=*), intent(in) :: name, val
1741 0 : character(len=len(name)+len(val)+12) :: tmp
1742 : integer, intent(out) :: ierr
1743 :
1744 : ierr = 0
1745 :
1746 : ! First save current star_job
1747 0 : call set_star_job_controls_for_writing(s, ierr)
1748 0 : if(ierr/=0) return
1749 :
1750 0 : tmp=''
1751 0 : tmp = '&star_job '//trim(name)//'='//trim(val)//'/'
1752 :
1753 : ! Load into namelist
1754 0 : read(tmp, nml=star_job)
1755 :
1756 : ! Add to star
1757 0 : call store_star_job_controls(s, ierr)
1758 0 : if(ierr/=0) return
1759 :
1760 : end subroutine set_star_job
1761 :
1762 :
1763 : end module star_job_ctrls_io
|