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 : color_num_files,&
528 : color_file_names,&
529 : color_num_colors,&
530 : warn_run_star_extras, &
531 :
532 : report_garbage_collection, &
533 : num_steps_for_garbage_collection
534 :
535 : contains
536 :
537 :
538 1 : subroutine do_read_star_job(s, filename, ierr)
539 : use star_private_def
540 : use utils_lib
541 : type (star_info), pointer :: s
542 : character(*), intent(in) :: filename
543 : integer, intent(out) :: ierr
544 : character (len=strlen) :: star_job_namelist_name
545 : star_job_namelist_name = ''
546 1 : ierr = 0
547 1 : call set_default_star_job_controls
548 1 : call read_star_job_file(s, filename, 1, ierr)
549 1 : call check_star_job_controls(s, ierr)
550 1 : end subroutine do_read_star_job
551 :
552 :
553 1 : recursive subroutine read_star_job_file(s, filename, level, ierr)
554 1 : use star_private_def
555 : use utils_lib
556 : character(*), intent(in) :: filename
557 : type (star_info), pointer :: s
558 : integer, intent(in) :: level
559 : integer, intent(out) :: ierr
560 : logical, dimension(max_extra_inlists) :: read_extra
561 : character (len=strlen), dimension(max_extra_inlists) :: extra
562 : integer :: unit, i
563 :
564 1 : ierr = 0
565 :
566 1 : if (level >= 10) then
567 0 : write(*,*) 'ERROR: too many levels of nested extra star_job inlist files'
568 0 : ierr = -1
569 0 : return
570 : end if
571 :
572 1 : if (len_trim(filename) > 0) then
573 1 : open(newunit=unit, file=trim(filename), action='read', delim='quote', status='old', iostat=ierr)
574 1 : if (ierr /= 0) then
575 0 : write(*, *) 'Failed to open control namelist file "'//trim(filename)//'"'
576 0 : return
577 : end if
578 1 : read(unit, nml=star_job, iostat=ierr)
579 1 : close(unit)
580 1 : if (ierr /= 0) then
581 0 : write(*, *)
582 0 : write(*, *)
583 0 : write(*, *)
584 0 : write(*, *)
585 : write(*, '(a)') &
586 0 : 'Failed while trying to read control namelist file: ' // trim(filename)
587 : write(*, '(a)') &
588 0 : 'Perhaps the following runtime error message will help you find the problem.'
589 0 : write(*, *)
590 0 : open(newunit=unit, file=trim(filename), action='read', delim='quote', status='old', iostat=ierr)
591 0 : read(unit, nml=star_job)
592 0 : close(unit)
593 0 : return
594 : end if
595 : end if
596 :
597 1 : call store_star_job_controls(s, ierr)
598 :
599 : ! recursive calls to read other inlists
600 6 : do i=1, max_extra_inlists
601 5 : read_extra(i) = read_extra_star_job_inlist(i)
602 5 : read_extra_star_job_inlist(i) = .false.
603 5 : extra(i) = extra_star_job_inlist_name(i)
604 5 : extra_star_job_inlist_name(i) = 'undefined'
605 :
606 6 : if (read_extra(i)) then
607 0 : call read_star_job_file(s, extra(i), level+1, ierr)
608 0 : if (ierr /= 0) return
609 : end if
610 : end do
611 :
612 :
613 1 : end subroutine read_star_job_file
614 :
615 :
616 1 : subroutine store_star_job_controls(s, ierr)
617 1 : use star_private_def
618 : type (star_info), pointer :: s
619 : integer, intent(out) :: ierr
620 :
621 1 : ierr = 0
622 :
623 1 : s% job% mesa_dir = mesa_dir
624 1 : s% job% eosDT_cache_dir = eosDT_cache_dir
625 1 : s% job% ionization_cache_dir = ionization_cache_dir
626 1 : s% job% kap_cache_dir = kap_cache_dir
627 1 : s% job% rates_cache_dir = rates_cache_dir
628 1 : s% job% pause_before_terminate = pause_before_terminate
629 1 : s% job% profile_columns_file = profile_columns_file
630 1 : s% job% history_columns_file = history_columns_file
631 1 : s% job% show_log_description_at_start = show_log_description_at_start
632 1 : s% job% list_net_reactions = list_net_reactions
633 1 : s% job% show_net_reactions_info = show_net_reactions_info
634 1 : s% job% show_net_species_info = show_net_species_info
635 1 : s% job% first_model_for_timing = first_model_for_timing
636 1 : s% job% steps_before_start_timing = steps_before_start_timing
637 1 : s% job% show_eqns_and_vars_names = show_eqns_and_vars_names
638 1 : s% job% pgstar_flag = pgstar_flag
639 1 : s% job% disable_pgstar_during_relax_flag = disable_pgstar_during_relax_flag
640 1 : s% job% clear_initial_pgstar_history = clear_initial_pgstar_history
641 1 : s% job% clear_pgstar_history = clear_pgstar_history
642 1 : s% job% save_pgstar_files_when_terminate = save_pgstar_files_when_terminate
643 1 : s% job% save_photo_when_terminate = save_photo_when_terminate
644 1 : s% job% load_saved_photo = load_saved_photo
645 1 : s% job% saved_photo_name = saved_photo_name
646 1 : s% job% save_photo_filename = save_photo_filename
647 1 : s% job% save_photo_number = save_photo_number
648 1 : s% job% write_profile_when_terminate = write_profile_when_terminate
649 1 : s% job% show_retry_counts_when_terminate = show_retry_counts_when_terminate
650 1 : s% job% show_timestep_limit_counts_when_terminate = show_timestep_limit_counts_when_terminate
651 1 : s% job% filename_for_profile_when_terminate = filename_for_profile_when_terminate
652 1 : s% job% create_pre_main_sequence_model = create_pre_main_sequence_model
653 1 : s% job% pre_ms_relax_to_start_radiative_core = pre_ms_relax_to_start_radiative_core
654 1 : s% job% pre_ms_relax_num_steps = pre_ms_relax_num_steps
655 1 : s% job% pre_ms_min_steps_before_check_radiative_core = pre_ms_min_steps_before_check_radiative_core
656 1 : s% job% pre_ms_check_radiative_core_start = pre_ms_check_radiative_core_start
657 1 : s% job% pre_ms_check_radiative_core_stop = pre_ms_check_radiative_core_stop
658 1 : s% job% pre_ms_check_radiative_core_Lnuc_div_L_limit = pre_ms_check_radiative_core_Lnuc_div_L_limit
659 1 : s% job% pre_ms_check_radiative_core_min_mass = pre_ms_check_radiative_core_min_mass
660 1 : s% job% pre_ms_T_c = pre_ms_T_c
661 1 : s% job% pre_ms_guess_rho_c = pre_ms_guess_rho_c
662 1 : s% job% pre_ms_d_log10_P = pre_ms_d_log10_P
663 1 : s% job% pre_ms_logT_surf_limit = pre_ms_logT_surf_limit
664 1 : s% job% pre_ms_logP_surf_limit = pre_ms_logP_surf_limit
665 1 : s% job% create_initial_model = create_initial_model
666 1 : s% job% initial_model_relax_num_steps = initial_model_relax_num_steps
667 1 : s% job% radius_in_cm_for_create_initial_model = radius_in_cm_for_create_initial_model
668 1 : s% job% mass_in_gm_for_create_initial_model = mass_in_gm_for_create_initial_model
669 :
670 1 : s% job% center_logP_1st_try_for_create_initial_model = center_logP_1st_try_for_create_initial_model
671 1 : s% job% entropy_1st_try_for_create_initial_model = entropy_1st_try_for_create_initial_model
672 1 : s% job% abs_e01_tolerance_for_create_initial_model = abs_e01_tolerance_for_create_initial_model
673 1 : s% job% abs_e02_tolerance_for_create_initial_model = abs_e02_tolerance_for_create_initial_model
674 1 : s% job% max_tries_for_create_initial_model = max_tries_for_create_initial_model
675 :
676 1 : s% job% initial_model_eps = initial_model_eps
677 1 : s% job% save_star_job_namelist = save_star_job_namelist
678 1 : s% job% star_job_namelist_name = star_job_namelist_name
679 1 : s% job% echo_at_start = echo_at_start
680 1 : s% job% echo_at_end = echo_at_end
681 1 : s% job% load_saved_model = load_saved_model
682 1 : s% job% load_model_filename = load_model_filename
683 1 : s% job% create_merger_model = create_merger_model
684 1 : s% job% saved_model_for_merger_1 = saved_model_for_merger_1
685 1 : s% job% saved_model_for_merger_2 = saved_model_for_merger_2
686 1 : s% job% set_max_dt_to_frac_lifetime = set_max_dt_to_frac_lifetime
687 1 : s% job% max_frac_of_lifetime_per_step = max_frac_of_lifetime_per_step
688 1 : s% job% astero_just_call_my_extras_check_model = astero_just_call_my_extras_check_model
689 1 : s% job% relax_mass = relax_mass
690 1 : s% job% relax_initial_mass = relax_initial_mass
691 1 : s% job% new_mass = new_mass
692 1 : s% job% lg_max_abs_mdot = lg_max_abs_mdot
693 1 : s% job% relax_mass_to_remove_H_env = relax_mass_to_remove_H_env
694 1 : s% job% relax_initial_mass_to_remove_H_env = relax_initial_mass_to_remove_H_env
695 1 : s% job% extra_mass_retained_by_remove_H_env = extra_mass_retained_by_remove_H_env
696 1 : s% job% relax_mass_scale = relax_mass_scale
697 1 : s% job% relax_initial_mass_scale = relax_initial_mass_scale
698 1 : s% job% dlgm_per_step = dlgm_per_step
699 :
700 1 : s% job% relax_M_center_dt = relax_M_center_dt
701 1 : s% job% change_mass_years_for_dt = change_mass_years_for_dt
702 1 : s% job% relax_M_center = relax_M_center
703 1 : s% job% relax_initial_M_center = relax_initial_M_center
704 1 : s% job% relax_core = relax_core
705 1 : s% job% relax_initial_core = relax_initial_core
706 1 : s% job% new_core_mass = new_core_mass
707 1 : s% job% dlg_core_mass_per_step = dlg_core_mass_per_step
708 1 : s% job% relax_core_years_for_dt = relax_core_years_for_dt
709 1 : s% job% core_avg_rho = core_avg_rho
710 1 : s% job% core_avg_eps = core_avg_eps
711 :
712 1 : s% job% relax_R_center = relax_R_center
713 1 : s% job% relax_initial_R_center = relax_initial_R_center
714 1 : s% job% new_R_center = new_R_center
715 1 : s% job% dlgR_per_step = dlgR_per_step
716 1 : s% job% relax_R_center_dt = relax_R_center_dt
717 :
718 1 : s% job% set_v_center = set_v_center
719 1 : s% job% set_initial_v_center = set_initial_v_center
720 :
721 1 : s% job% relax_v_center = relax_v_center
722 1 : s% job% relax_initial_v_center = relax_initial_v_center
723 1 : s% job% new_v_center = new_v_center
724 1 : s% job% dv_per_step = dv_per_step
725 1 : s% job% relax_v_center_dt = relax_v_center_dt
726 :
727 1 : s% job% zero_alpha_RTI = zero_alpha_RTI
728 1 : s% job% zero_initial_alpha_RTI = zero_initial_alpha_RTI
729 :
730 1 : s% job% set_L_center = set_L_center
731 1 : s% job% set_initial_L_center = set_initial_L_center
732 1 : s% job% relax_L_center = relax_L_center
733 1 : s% job% relax_initial_L_center = relax_initial_L_center
734 1 : s% job% new_L_center = new_L_center
735 1 : s% job% dlgL_per_step = dlgL_per_step
736 1 : s% job% relax_L_center_dt = relax_L_center_dt
737 :
738 1 : s% job% remove_initial_center_at_cell_k = remove_initial_center_at_cell_k
739 1 : s% job% remove_initial_center_by_temperature = remove_initial_center_by_temperature
740 1 : s% job% remove_initial_center_by_mass_fraction_q = remove_initial_center_by_mass_fraction_q
741 1 : s% job% remove_initial_center_by_mass_gm = remove_initial_center_by_mass_gm
742 1 : s% job% remove_initial_center_by_delta_mass_Msun = remove_initial_center_by_delta_mass_Msun
743 1 : s% job% remove_initial_center_by_delta_mass_gm = remove_initial_center_by_delta_mass_gm
744 1 : s% job% remove_initial_center_by_mass_Msun = remove_initial_center_by_mass_Msun
745 1 : s% job% remove_initial_center_by_radius_cm = remove_initial_center_by_radius_cm
746 1 : s% job% remove_initial_center_by_radius_Rsun = remove_initial_center_by_radius_Rsun
747 1 : s% job% remove_initial_center_by_he4 = remove_initial_center_by_he4
748 1 : s% job% remove_initial_center_by_c12_o16 = remove_initial_center_by_c12_o16
749 1 : s% job% remove_initial_center_by_si28 = remove_initial_center_by_si28
750 1 : s% job% remove_initial_center_to_reduce_co56_ni56 = remove_initial_center_to_reduce_co56_ni56
751 1 : s% job% remove_initial_center_by_ye = remove_initial_center_by_ye
752 1 : s% job% remove_initial_center_by_entropy = remove_initial_center_by_entropy
753 1 : s% job% remove_initial_center_by_infall_kms = remove_initial_center_by_infall_kms
754 1 : s% job% remove_initial_center_at_inner_max_abs_v = remove_initial_center_at_inner_max_abs_v
755 1 : s% job% remove_initial_fe_core = remove_initial_fe_core
756 :
757 1 : s% job% remove_center_at_cell_k = remove_center_at_cell_k
758 1 : s% job% remove_center_by_temperature = remove_center_by_temperature
759 1 : s% job% remove_center_by_mass_fraction_q = remove_center_by_mass_fraction_q
760 1 : s% job% remove_center_by_delta_mass_gm = remove_center_by_delta_mass_gm
761 1 : s% job% remove_center_by_delta_mass_Msun = remove_center_by_delta_mass_Msun
762 1 : s% job% remove_center_by_mass_gm = remove_center_by_mass_gm
763 1 : s% job% remove_center_by_mass_Msun = remove_center_by_mass_Msun
764 1 : s% job% remove_center_by_radius_cm = remove_center_by_radius_cm
765 1 : s% job% remove_center_by_radius_Rsun = remove_center_by_radius_Rsun
766 1 : s% job% remove_center_by_he4 = remove_center_by_he4
767 1 : s% job% remove_center_by_c12_o16 = remove_center_by_c12_o16
768 1 : s% job% remove_center_by_si28 = remove_center_by_si28
769 1 : s% job% remove_center_to_reduce_co56_ni56 = remove_center_to_reduce_co56_ni56
770 1 : s% job% remove_center_by_ye = remove_center_by_ye
771 1 : s% job% remove_center_by_entropy = remove_center_by_entropy
772 1 : s% job% remove_center_by_infall_kms = remove_center_by_infall_kms
773 1 : s% job% remove_center_at_inner_max_abs_v = remove_center_at_inner_max_abs_v
774 1 : s% job% remove_fe_core = remove_fe_core
775 1 : s% job% remove_fallback_at_each_step = remove_fallback_at_each_step
776 1 : s% job% fallback_check_total_energy = fallback_check_total_energy
777 1 : s% job% remove_fallback_speed_limit = remove_fallback_speed_limit
778 1 : s% job% remove_center_set_zero_v_center = remove_center_set_zero_v_center
779 1 : s% job% limit_center_logP_at_each_step = limit_center_logP_at_each_step
780 1 : s% job% remove_center_adjust_L_center = remove_center_adjust_L_center
781 1 : s% job% remove_center_logRho_limit = remove_center_logRho_limit
782 :
783 1 : s% job% zero_initial_inner_v_by_mass_Msun = zero_initial_inner_v_by_mass_Msun
784 1 : s% job% zero_inner_v_by_mass_Msun = zero_inner_v_by_mass_Msun
785 :
786 1 : s% job% remove_initial_surface_at_cell_k = remove_initial_surface_at_cell_k
787 1 : s% job% remove_initial_surface_at_he_core_boundary = remove_initial_surface_at_he_core_boundary
788 1 : s% job% remove_initial_surface_by_optical_depth = remove_initial_surface_by_optical_depth
789 1 : s% job% remove_initial_surface_by_density = remove_initial_surface_by_density
790 1 : s% job% remove_initial_surface_by_pressure = remove_initial_surface_by_pressure
791 1 : s% job% remove_initial_surface_by_mass_fraction_q = remove_initial_surface_by_mass_fraction_q
792 1 : s% job% remove_initial_surface_by_mass_gm = remove_initial_surface_by_mass_gm
793 1 : s% job% remove_initial_surface_by_radius_cm = remove_initial_surface_by_radius_cm
794 1 : s% job% remove_initial_surface_by_mass_Msun = remove_initial_surface_by_mass_Msun
795 1 : s% job% remove_initial_surface_by_radius_Rsun = remove_initial_surface_by_radius_Rsun
796 1 : s% job% remove_initial_surface_by_v_surf_km_s = remove_initial_surface_by_v_surf_km_s
797 1 : s% job% remove_initial_surface_by_v_surf_div_cs = remove_initial_surface_by_v_surf_div_cs
798 1 : s% job% remove_initial_surface_by_v_surf_div_v_escape = remove_initial_surface_by_v_surf_div_v_escape
799 :
800 1 : s% job% remove_surface_at_cell_k = remove_surface_at_cell_k
801 1 : s% job% remove_surface_at_he_core_boundary = remove_surface_at_he_core_boundary
802 1 : s% job% remove_surface_by_optical_depth = remove_surface_by_optical_depth
803 1 : s% job% remove_surface_by_density = remove_surface_by_density
804 1 : s% job% remove_surface_by_pressure = remove_surface_by_pressure
805 1 : s% job% remove_surface_by_mass_fraction_q = remove_surface_by_mass_fraction_q
806 1 : s% job% remove_surface_by_mass_gm = remove_surface_by_mass_gm
807 1 : s% job% remove_surface_by_radius_cm = remove_surface_by_radius_cm
808 1 : s% job% remove_surface_by_mass_Msun = remove_surface_by_mass_Msun
809 1 : s% job% remove_surface_by_radius_Rsun = remove_surface_by_radius_Rsun
810 1 : s% job% remove_surface_by_v_surf_km_s = remove_surface_by_v_surf_km_s
811 1 : s% job% remove_surface_by_v_surf_div_cs = remove_surface_by_v_surf_div_cs
812 1 : s% job% remove_surface_by_v_surf_div_v_escape = remove_surface_by_v_surf_div_v_escape
813 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
814 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
815 :
816 1 : s% job% remove_surface_do_jrot = remove_surface_do_jrot
817 1 : s% job% remove_surface_do_entropy = remove_surface_do_entropy
818 1 : s% job% remove_surface_turn_off_energy_sources_and_sinks = remove_surface_turn_off_energy_sources_and_sinks
819 1 : s% job% remove_surface_by_relax_to_star_cut = remove_surface_by_relax_to_star_cut
820 :
821 1 : s% job% report_mass_not_fe56 = report_mass_not_fe56
822 1 : s% job% relax_dxdt_nuc_factor = relax_dxdt_nuc_factor
823 1 : s% job% relax_initial_dxdt_nuc_factor = relax_initial_dxdt_nuc_factor
824 1 : s% job% new_dxdt_nuc_factor = new_dxdt_nuc_factor
825 1 : s% job% dxdt_nuc_factor_multiplier = dxdt_nuc_factor_multiplier
826 1 : s% job% relax_eps_nuc_factor = relax_eps_nuc_factor
827 1 : s% job% relax_initial_eps_nuc_factor = relax_initial_eps_nuc_factor
828 1 : s% job% new_eps_nuc_factor = new_eps_nuc_factor
829 1 : s% job% eps_nuc_factor_multiplier = eps_nuc_factor_multiplier
830 1 : s% job% relax_opacity_max = relax_opacity_max
831 1 : s% job% relax_initial_opacity_max = relax_initial_opacity_max
832 1 : s% job% new_opacity_max = new_opacity_max
833 1 : s% job% opacity_max_multiplier = opacity_max_multiplier
834 1 : s% job% relax_max_surf_dq = relax_max_surf_dq
835 1 : s% job% relax_initial_max_surf_dq = relax_initial_max_surf_dq
836 1 : s% job% new_max_surf_dq = new_max_surf_dq
837 1 : s% job% max_surf_dq_multiplier = max_surf_dq_multiplier
838 :
839 1 : s% job% relax_tau_factor = relax_tau_factor
840 1 : s% job% relax_initial_tau_factor = relax_initial_tau_factor
841 1 : s% job% set_tau_factor = set_tau_factor
842 1 : s% job% set_initial_tau_factor = set_initial_tau_factor
843 1 : s% job% relax_to_this_tau_factor = relax_to_this_tau_factor
844 1 : s% job% set_to_this_tau_factor = set_to_this_tau_factor
845 1 : s% job% dlogtau_factor = dlogtau_factor
846 1 : s% job% set_tau_factor_after_core_He_burn = set_tau_factor_after_core_He_burn
847 1 : s% job% set_tau_factor_after_core_C_burn = set_tau_factor_after_core_C_burn
848 1 : s% job% relax_tau_factor_after_core_He_burn = relax_tau_factor_after_core_He_burn
849 1 : s% job% relax_tau_factor_after_core_C_burn = relax_tau_factor_after_core_C_burn
850 :
851 1 : s% job% adjust_tau_factor_to_surf_density = adjust_tau_factor_to_surf_density
852 1 : s% job% base_for_adjust_tau_factor_to_surf_density = base_for_adjust_tau_factor_to_surf_density
853 :
854 1 : s% job% relax_to_this_opacity_factor = relax_to_this_opacity_factor
855 1 : s% job% d_opacity_factor = d_opacity_factor
856 1 : s% job% relax_opacity_factor = relax_opacity_factor
857 1 : s% job% relax_initial_opacity_factor = relax_initial_opacity_factor
858 :
859 1 : s% job% relax_Tsurf_factor = relax_Tsurf_factor
860 1 : s% job% relax_initial_Tsurf_factor = relax_initial_Tsurf_factor
861 1 : s% job% set_Tsurf_factor = set_Tsurf_factor
862 1 : s% job% set_initial_Tsurf_factor = set_initial_Tsurf_factor
863 1 : s% job% relax_to_this_Tsurf_factor = relax_to_this_Tsurf_factor
864 1 : s% job% set_to_this_Tsurf_factor = set_to_this_Tsurf_factor
865 1 : s% job% dlogTsurf_factor = dlogTsurf_factor
866 :
867 1 : s% job% relax_irradiation = relax_irradiation
868 1 : s% job% relax_initial_irradiation = relax_initial_irradiation
869 1 : s% job% set_irradiation = set_irradiation
870 1 : s% job% set_initial_irradiation = set_initial_irradiation
871 1 : s% job% relax_irradiation_min_steps = relax_irradiation_min_steps
872 1 : s% job% relax_to_this_irrad_flux = relax_to_this_irrad_flux
873 1 : s% job% set_to_this_irrad_flux = set_to_this_irrad_flux
874 1 : s% job% irrad_col_depth = irrad_col_depth
875 1 : s% job% relax_irradiation_max_yrs_dt = relax_irradiation_max_yrs_dt
876 1 : s% job% relax_mass_change = relax_mass_change
877 1 : s% job% relax_initial_mass_change = relax_initial_mass_change
878 1 : s% job% relax_mass_change_min_steps = relax_mass_change_min_steps
879 1 : s% job% relax_mass_change_max_yrs_dt = relax_mass_change_max_yrs_dt
880 1 : s% job% relax_mass_change_init_mdot = relax_mass_change_init_mdot
881 1 : s% job% relax_mass_change_final_mdot = relax_mass_change_final_mdot
882 1 : s% job% change_RTI_flag = change_RTI_flag
883 1 : s% job% change_initial_RTI_flag = change_initial_RTI_flag
884 1 : s% job% new_RTI_flag = new_RTI_flag
885 1 : s% job% change_RSP_flag = change_RSP_flag
886 1 : s% job% change_initial_RSP_flag = change_initial_RSP_flag
887 1 : s% job% new_RSP_flag = new_RSP_flag
888 1 : s% job% change_RSP2_flag = change_RSP2_flag
889 1 : s% job% change_initial_RSP2_flag = change_initial_RSP2_flag
890 1 : s% job% change_RSP2_flag_at_model_number = change_RSP2_flag_at_model_number
891 1 : s% job% new_RSP2_flag = new_RSP2_flag
892 1 : s% job% create_RSP2_model = create_RSP2_model
893 1 : s% job% change_w_div_wc_flag = change_w_div_wc_flag
894 1 : s% job% change_initial_w_div_wc_flag = change_initial_w_div_wc_flag
895 1 : s% job% new_w_div_wc_flag = new_w_div_wc_flag
896 1 : s% job% change_j_rot_flag = change_j_rot_flag
897 1 : s% job% change_initial_j_rot_flag = change_initial_j_rot_flag
898 1 : s% job% new_j_rot_flag = new_j_rot_flag
899 :
900 1 : s% job% create_RSP_model = create_RSP_model
901 :
902 1 : s% job% change_v_flag = change_v_flag
903 1 : s% job% change_initial_v_flag = change_initial_v_flag
904 1 : s% job% new_v_flag = new_v_flag
905 1 : s% job% change_D_omega_flag = change_D_omega_flag
906 1 : s% job% change_initial_D_omega_flag = change_initial_D_omega_flag
907 1 : s% job% new_D_omega_flag = new_D_omega_flag
908 1 : s% job% change_am_nu_rot_flag = change_am_nu_rot_flag
909 1 : s% job% change_initial_am_nu_rot_flag = change_initial_am_nu_rot_flag
910 1 : s% job% new_am_nu_rot_flag = new_am_nu_rot_flag
911 1 : s% job% use_D_omega_for_am_nu_rot = use_D_omega_for_am_nu_rot
912 :
913 1 : s% job% change_u_flag = change_u_flag
914 1 : s% job% change_initial_u_flag = change_initial_u_flag
915 1 : s% job% new_u_flag = new_u_flag
916 :
917 1 : s% job% change_reconstruction_flag = change_reconstruction_flag
918 1 : s% job% change_initial_reconstruction_flag = change_initial_reconstruction_flag
919 1 : s% job% new_reconstruction_flag = new_reconstruction_flag
920 :
921 1 : s% job% center_ye_limit_for_v_flag = center_ye_limit_for_v_flag
922 1 : s% job% change_rotation_flag = change_rotation_flag
923 1 : s% job% change_initial_rotation_flag = change_initial_rotation_flag
924 1 : s% job% new_rotation_flag = new_rotation_flag
925 1 : s% job% use_w_div_wc_flag_with_rotation = use_w_div_wc_flag_with_rotation
926 1 : s% job% use_j_rot_flag_with_rotation = use_j_rot_flag_with_rotation
927 1 : s% job% set_omega = set_omega
928 1 : s% job% set_initial_omega = set_initial_omega
929 1 : s% job% set_omega_step_limit = set_omega_step_limit
930 1 : s% job% set_near_zams_omega_steps = set_near_zams_omega_steps
931 1 : s% job% new_omega = new_omega
932 1 : s% job% set_omega_div_omega_crit = set_omega_div_omega_crit
933 1 : s% job% set_initial_omega_div_omega_crit = set_initial_omega_div_omega_crit
934 1 : s% job% set_omega_div_omega_crit_step_limit = set_omega_div_omega_crit_step_limit
935 1 : s% job% set_near_zams_omega_div_omega_crit_steps = set_near_zams_omega_div_omega_crit_steps
936 1 : s% job% new_omega_div_omega_crit = new_omega_div_omega_crit
937 1 : s% job% set_surface_rotation_v = set_surface_rotation_v
938 1 : s% job% set_initial_surface_rotation_v = set_initial_surface_rotation_v
939 1 : s% job% set_surf_rotation_v_step_limit = set_surf_rotation_v_step_limit
940 1 : s% job% set_near_zams_surface_rotation_v_steps = set_near_zams_surface_rotation_v_steps
941 1 : s% job% new_surface_rotation_v = new_surface_rotation_v
942 1 : s% job% relax_omega = relax_omega
943 1 : s% job% relax_initial_omega = relax_initial_omega
944 1 : s% job% near_zams_relax_omega = near_zams_relax_omega
945 1 : s% job% relax_omega_div_omega_crit = relax_omega_div_omega_crit
946 1 : s% job% relax_initial_omega_div_omega_crit = relax_initial_omega_div_omega_crit
947 1 : s% job% near_zams_relax_omega_div_omega_crit = near_zams_relax_omega_div_omega_crit
948 1 : s% job% relax_surface_rotation_v = relax_surface_rotation_v
949 1 : s% job% relax_initial_surface_rotation_v = relax_initial_surface_rotation_v
950 1 : s% job% near_zams_relax_initial_surface_rotation_v = near_zams_relax_initial_surface_rotation_v
951 1 : s% job% num_steps_to_relax_rotation = num_steps_to_relax_rotation
952 1 : s% job% relax_omega_max_yrs_dt = relax_omega_max_yrs_dt
953 1 : s% job% set_uniform_initial_composition = set_uniform_initial_composition
954 1 : s% job% initial_h1 = initial_h1
955 1 : s% job% initial_h2 = initial_h2
956 1 : s% job% initial_he3 = initial_he3
957 1 : s% job% initial_he4 = initial_he4
958 1 : s% job% initial_zfracs = initial_zfracs
959 1 : s% job% dump_missing_metals_into_heaviest = dump_missing_metals_into_heaviest
960 1 : s% job% relax_initial_composition = relax_initial_composition
961 1 : s% job% relax_initial_to_xaccrete = relax_initial_to_xaccrete
962 1 : s% job% relax_composition_filename = relax_composition_filename
963 1 : s% job% num_steps_to_relax_composition = num_steps_to_relax_composition
964 1 : s% job% timescale_for_relax_composition = timescale_for_relax_composition
965 1 : s% job% relax_initial_angular_momentum = relax_initial_angular_momentum
966 1 : s% job% max_steps_to_relax_angular_momentum = max_steps_to_relax_angular_momentum
967 1 : s% job% timescale_for_relax_angular_momentum = timescale_for_relax_angular_momentum
968 1 : s% job% max_dt_for_relax_angular_momentum = max_dt_for_relax_angular_momentum
969 1 : s% job% num_timescales_for_relax_angular_momentum = num_timescales_for_relax_angular_momentum
970 1 : s% job% relax_angular_momentum_filename = relax_angular_momentum_filename
971 1 : s% job% relax_angular_momentum_constant_omega_center = relax_angular_momentum_constant_omega_center
972 1 : s% job% relax_initial_entropy = relax_initial_entropy
973 1 : s% job% max_steps_to_relax_entropy = max_steps_to_relax_entropy
974 1 : s% job% timescale_for_relax_entropy = timescale_for_relax_entropy
975 1 : s% job% max_dt_for_relax_entropy = max_dt_for_relax_entropy
976 1 : s% job% num_timescales_for_relax_entropy = num_timescales_for_relax_entropy
977 1 : s% job% relax_entropy_filename = relax_entropy_filename
978 1 : s% job% get_entropy_for_relax_from_eos = get_entropy_for_relax_from_eos
979 1 : s% job% report_cell_for_xm = report_cell_for_xm
980 1 : s% job% set_to_xa_for_accretion = set_to_xa_for_accretion
981 1 : s% job% set_initial_to_xa_for_accretion = set_initial_to_xa_for_accretion
982 1 : s% job% set_nzlo = set_nzlo
983 1 : s% job% set_nzhi = set_nzhi
984 1 : s% job% change_Y = change_Y
985 1 : s% job% change_initial_Y = change_initial_Y
986 1 : s% job% relax_Y = relax_Y
987 1 : s% job% relax_initial_Y = relax_initial_Y
988 1 : s% job% relax_Y_minq = relax_Y_minq
989 1 : s% job% relax_Y_maxq = relax_Y_maxq
990 1 : s% job% new_Y = new_Y
991 1 : s% job% change_Z = change_Z
992 1 : s% job% change_initial_Z = change_initial_Z
993 1 : s% job% relax_Z = relax_Z
994 1 : s% job% relax_initial_Z = relax_initial_Z
995 1 : s% job% relax_Z_minq = relax_Z_minq
996 1 : s% job% relax_Z_maxq = relax_Z_maxq
997 1 : s% job% new_Z = new_Z
998 1 : s% job% steps_to_take_before_terminate = steps_to_take_before_terminate
999 1 : s% job% stop_if_this_file_exists = stop_if_this_file_exists
1000 1 : s% job% set_initial_age = set_initial_age
1001 1 : s% job% initial_age = initial_age
1002 1 : s% job% set_initial_model_number = set_initial_model_number
1003 1 : s% job% initial_model_number = initial_model_number
1004 1 : s% job% set_initial_number_retries = set_initial_number_retries
1005 1 : s% job% initial_number_retries = initial_number_retries
1006 1 : s% job% set_initial_dt = set_initial_dt
1007 1 : s% job% limit_initial_dt = limit_initial_dt
1008 1 : s% job% years_for_initial_dt = years_for_initial_dt
1009 1 : s% job% seconds_for_initial_dt = seconds_for_initial_dt
1010 :
1011 1 : s% job% set_initial_cumulative_energy_error = set_initial_cumulative_energy_error
1012 1 : s% job% set_cumulative_energy_error = set_cumulative_energy_error
1013 1 : s% job% set_cumulative_energy_error_at_step = set_cumulative_energy_error_at_step
1014 1 : s% job% set_cumulative_energy_error_each_step_if_age_less_than = set_cumulative_energy_error_each_step_if_age_less_than
1015 1 : s% job% new_cumulative_energy_error = new_cumulative_energy_error
1016 1 : s% job% set_cumulative_energy_error_each_relax = set_cumulative_energy_error_each_relax
1017 :
1018 1 : s% job% change_net = change_net
1019 1 : s% job% change_initial_net = change_initial_net
1020 1 : s% job% new_net_name = new_net_name
1021 1 : s% job% change_small_net = change_small_net
1022 1 : s% job% change_initial_small_net = change_initial_small_net
1023 1 : s% job% new_small_net_name = new_small_net_name
1024 :
1025 1 : s% job% h_he_net = h_he_net
1026 1 : s% job% co_net = co_net
1027 1 : s% job% adv_net = adv_net
1028 1 : s% job% adjust_abundances_for_new_isos = adjust_abundances_for_new_isos
1029 1 : s% job% set_uniform_xa_from_file = set_uniform_xa_from_file
1030 1 : s% job% set_uniform_initial_xa_from_file = set_uniform_initial_xa_from_file
1031 1 : s% job% file_for_uniform_xa = file_for_uniform_xa
1032 :
1033 1 : s% job% mix_section = mix_section
1034 1 : s% job% mix_initial_section = mix_initial_section
1035 1 : s% job% mix_section_nzlo = mix_section_nzlo
1036 1 : s% job% mix_section_nzhi = mix_section_nzhi
1037 :
1038 1 : s% job% T9_weaklib_full_off = T9_weaklib_full_off
1039 1 : s% job% T9_weaklib_full_on = T9_weaklib_full_on
1040 1 : s% job% weaklib_blend_hi_Z = weaklib_blend_hi_Z
1041 1 : s% job% T9_weaklib_full_off_hi_Z = T9_weaklib_full_off_hi_Z
1042 1 : s% job% T9_weaklib_full_on_hi_Z = T9_weaklib_full_on_hi_Z
1043 :
1044 1 : s% job% use_suzuki_weak_rates = use_suzuki_weak_rates
1045 1 : s% job% use_3a_fl87 = use_3a_fl87
1046 :
1047 1 : s% job% use_special_weak_rates = use_special_weak_rates
1048 1 : s% job% special_weak_states_file = special_weak_states_file
1049 1 : s% job% special_weak_transitions_file = special_weak_transitions_file
1050 1 : s% job% ion_coulomb_corrections = ion_coulomb_corrections
1051 1 : s% job% electron_coulomb_corrections = electron_coulomb_corrections
1052 :
1053 1 : s% job% mix_envelope_down_to_T = mix_envelope_down_to_T
1054 1 : s% job% mix_initial_envelope_down_to_T = mix_initial_envelope_down_to_T
1055 1 : s% job% auto_extend_net = auto_extend_net
1056 :
1057 1 : s% job% enable_adaptive_network = enable_adaptive_network
1058 1 : s% job% min_x_for_keep = min_x_for_keep
1059 1 : s% job% min_x_for_n = min_x_for_n
1060 1 : s% job% min_x_for_add = min_x_for_add
1061 1 : s% job% max_Z_for_add = max_Z_for_add
1062 1 : s% job% max_N_for_add = max_N_for_add
1063 1 : s% job% max_A_for_add = max_A_for_add
1064 :
1065 1 : s% job% save_model_number = save_model_number
1066 1 : s% job% save_model_filename = save_model_filename
1067 1 : s% job% save_model_when_terminate = save_model_when_terminate
1068 10 : s% job% required_termination_code_string = required_termination_code_string
1069 1 : s% job% profile_starting_model = profile_starting_model
1070 1 : s% job% profile_model_number = profile_model_number
1071 1 : s% job% report_retries = report_retries
1072 :
1073 1 : s% job% net_reaction_filename = net_reaction_filename
1074 1 : s% job% jina_reaclib_filename = jina_reaclib_filename
1075 1 : s% job% jina_reaclib_min_T9 = jina_reaclib_min_T9
1076 1 : s% job% rate_tables_dir = rate_tables_dir
1077 1 : s% job% rate_cache_suffix = rate_cache_suffix
1078 6 : s% job% read_extra_star_job_inlist = read_extra_star_job_inlist
1079 6 : s% job% extra_star_job_inlist_name = extra_star_job_inlist_name
1080 1 : s% job% set_abundance_nzlo = set_abundance_nzlo
1081 1 : s% job% set_abundance_nzhi = set_abundance_nzhi
1082 1 : s% job% set_abundance = set_abundance
1083 1 : s% job% set_initial_abundance = set_initial_abundance
1084 1 : s% job% chem_name = chem_name
1085 1 : s% job% new_frac = new_frac
1086 1 : s% job% set_abundance_nzlo = set_abundance_nzlo
1087 1 : s% job% set_abundance_nzhi = set_abundance_nzhi
1088 1 : s% job% replace_element = replace_element
1089 1 : s% job% replace_initial_element = replace_initial_element
1090 1 : s% job% chem_name1 = chem_name1
1091 1 : s% job% chem_name2 = chem_name2
1092 1 : s% job% replace_element_nzlo = replace_element_nzlo
1093 1 : s% job% replace_element_nzhi = replace_element_nzhi
1094 1 : s% job% do_special_test = do_special_test
1095 :
1096 1 : s% job% save_pulse_data_for_model_number = save_pulse_data_for_model_number
1097 1 : s% job% save_pulse_data_when_terminate = save_pulse_data_when_terminate
1098 1 : s% job% save_pulse_data_filename = save_pulse_data_filename
1099 :
1100 1 : s% job% chem_isotopes_filename = chem_isotopes_filename
1101 1 : s% job% ionization_file_prefix = ionization_file_prefix
1102 1 : s% job% ionization_Z1_suffix = ionization_Z1_suffix
1103 1 : s% job% extras_lipar = extras_lipar
1104 1 : s% job% extras_lrpar = extras_lrpar
1105 1 : s% job% extras_lcpar = extras_lcpar
1106 1 : s% job% extras_llpar = extras_llpar
1107 21 : s% job% extras_ipar = extras_ipar
1108 21 : s% job% extras_rpar = extras_rpar
1109 21 : s% job% extras_cpar = extras_cpar
1110 21 : s% job% extras_lpar = extras_lpar
1111 1 : s% job% num_special_rate_factors = num_special_rate_factors
1112 501 : s% job% special_rate_factor = special_rate_factor
1113 501 : s% job% filename_of_special_rate = filename_of_special_rate
1114 501 : s% job% reaction_for_special_factor = reaction_for_special_factor
1115 1 : s% job% color_num_files = color_num_files
1116 11 : s% job% color_file_names = color_file_names
1117 21 : s% job% color_num_colors = color_num_colors
1118 :
1119 1 : s% job% warn_run_star_extras = warn_run_star_extras
1120 1 : s% job% report_garbage_collection = report_garbage_collection
1121 1 : s% job% num_steps_for_garbage_collection = num_steps_for_garbage_collection
1122 :
1123 1 : end subroutine store_star_job_controls
1124 :
1125 :
1126 1 : subroutine set_default_star_job_controls
1127 10 : required_termination_code_string(:) = ''
1128 1 : extras_ipar(:) = 0
1129 1 : extras_rpar(:) = 0
1130 21 : extras_cpar(:) = ''
1131 1 : extras_lpar(:) = .false.
1132 501 : special_rate_factor(:) = 1d0
1133 501 : filename_of_special_rate(:) = ''
1134 501 : reaction_for_special_factor(:) = ''
1135 1 : color_num_colors(:) = 0
1136 11 : color_file_names(:) = ''
1137 : include 'star_job.defaults'
1138 : include 'star_job_dev.defaults'
1139 1 : end subroutine set_default_star_job_controls
1140 :
1141 :
1142 1 : subroutine check_star_job_controls(s, ierr)
1143 : type (star_info), pointer :: s
1144 : integer, intent(out) :: ierr
1145 :
1146 1 : ierr = 0
1147 :
1148 1 : if (s% job% write_profile_when_terminate) then
1149 0 : if (len_trim(s% job% filename_for_profile_when_terminate) == 0) then
1150 0 : write(*,*) "when write_profile_when_terminate = .true.,"
1151 0 : write(*,*) "filename_for_profile_when_terminate must be non empty"
1152 0 : ierr = -1
1153 0 : return
1154 : end if
1155 : end if
1156 :
1157 1 : if (s% job% save_model_when_terminate) then
1158 0 : if (len_trim(s% job% save_model_filename) == 0) then
1159 0 : write(*,*) "when save_model_when_terminate = .true.,"
1160 0 : write(*,*) "filename_for_profile_when_terminate must be non empty"
1161 0 : ierr = -1
1162 0 : return
1163 : end if
1164 : end if
1165 :
1166 : end subroutine check_star_job_controls
1167 :
1168 :
1169 0 : subroutine set_star_job_controls_for_writing(s, ierr)
1170 : type (star_info), pointer :: s
1171 : integer, intent(out) :: ierr
1172 :
1173 0 : ierr = 0
1174 :
1175 0 : mesa_dir = s% job% mesa_dir
1176 0 : eosDT_cache_dir = s% job% eosDT_cache_dir
1177 0 : ionization_cache_dir = s% job% ionization_cache_dir
1178 0 : kap_cache_dir = s% job% kap_cache_dir
1179 0 : rates_cache_dir = s% job% rates_cache_dir
1180 0 : pause_before_terminate = s% job% pause_before_terminate
1181 0 : profile_columns_file = s% job% profile_columns_file
1182 0 : history_columns_file = s% job% history_columns_file
1183 0 : show_log_description_at_start = s% job% show_log_description_at_start
1184 0 : list_net_reactions = s% job% list_net_reactions
1185 0 : show_net_reactions_info = s% job% show_net_reactions_info
1186 0 : show_net_species_info = s% job% show_net_species_info
1187 0 : first_model_for_timing = s% job% first_model_for_timing
1188 0 : steps_before_start_timing = s% job% steps_before_start_timing
1189 0 : show_eqns_and_vars_names = s% job% show_eqns_and_vars_names
1190 0 : pgstar_flag = s% job% pgstar_flag
1191 0 : disable_pgstar_during_relax_flag = s% job% disable_pgstar_during_relax_flag
1192 0 : clear_initial_pgstar_history = s% job% clear_initial_pgstar_history
1193 0 : clear_pgstar_history = s% job% clear_pgstar_history
1194 0 : save_pgstar_files_when_terminate = s% job% save_pgstar_files_when_terminate
1195 0 : save_photo_when_terminate = s% job% save_photo_when_terminate
1196 0 : load_saved_photo = s% job% load_saved_photo
1197 0 : saved_photo_name = s% job% saved_photo_name
1198 0 : save_photo_filename = s% job% save_photo_filename
1199 0 : save_photo_number = s% job% save_photo_number
1200 0 : write_profile_when_terminate = s% job% write_profile_when_terminate
1201 0 : show_retry_counts_when_terminate = s% job% show_retry_counts_when_terminate
1202 0 : show_timestep_limit_counts_when_terminate = s% job% show_timestep_limit_counts_when_terminate
1203 0 : filename_for_profile_when_terminate = s% job% filename_for_profile_when_terminate
1204 0 : create_pre_main_sequence_model = s% job% create_pre_main_sequence_model
1205 0 : pre_ms_relax_to_start_radiative_core = s% job% pre_ms_relax_to_start_radiative_core
1206 0 : pre_ms_relax_num_steps = s% job% pre_ms_relax_num_steps
1207 0 : pre_ms_min_steps_before_check_radiative_core = s% job% pre_ms_min_steps_before_check_radiative_core
1208 0 : pre_ms_check_radiative_core_start = s% job% pre_ms_check_radiative_core_start
1209 0 : pre_ms_check_radiative_core_stop = s% job% pre_ms_check_radiative_core_stop
1210 0 : pre_ms_check_radiative_core_Lnuc_div_L_limit = s% job% pre_ms_check_radiative_core_Lnuc_div_L_limit
1211 0 : pre_ms_check_radiative_core_min_mass = s% job% pre_ms_check_radiative_core_min_mass
1212 0 : pre_ms_T_c = s% job% pre_ms_T_c
1213 0 : pre_ms_guess_rho_c = s% job% pre_ms_guess_rho_c
1214 0 : pre_ms_d_log10_P = s% job% pre_ms_d_log10_P
1215 0 : pre_ms_logT_surf_limit = s% job% pre_ms_logT_surf_limit
1216 0 : pre_ms_logP_surf_limit = s% job% pre_ms_logP_surf_limit
1217 0 : create_initial_model = s% job% create_initial_model
1218 0 : initial_model_relax_num_steps = s% job% initial_model_relax_num_steps
1219 0 : radius_in_cm_for_create_initial_model = s% job% radius_in_cm_for_create_initial_model
1220 0 : mass_in_gm_for_create_initial_model = s% job% mass_in_gm_for_create_initial_model
1221 :
1222 0 : center_logP_1st_try_for_create_initial_model = s% job% center_logP_1st_try_for_create_initial_model
1223 0 : entropy_1st_try_for_create_initial_model = s% job% entropy_1st_try_for_create_initial_model
1224 0 : abs_e01_tolerance_for_create_initial_model = s% job% abs_e01_tolerance_for_create_initial_model
1225 0 : abs_e02_tolerance_for_create_initial_model = s% job% abs_e02_tolerance_for_create_initial_model
1226 0 : max_tries_for_create_initial_model = s% job% max_tries_for_create_initial_model
1227 :
1228 0 : initial_model_eps = s% job% initial_model_eps
1229 0 : save_star_job_namelist = s% job% save_star_job_namelist
1230 0 : star_job_namelist_name = s% job% star_job_namelist_name
1231 0 : echo_at_start = s% job% echo_at_start
1232 0 : echo_at_end = s% job% echo_at_end
1233 0 : load_saved_model = s% job% load_saved_model
1234 0 : load_model_filename = s% job% load_model_filename
1235 0 : create_merger_model = s% job% create_merger_model
1236 0 : saved_model_for_merger_1 = s% job% saved_model_for_merger_1
1237 0 : saved_model_for_merger_2 = s% job% saved_model_for_merger_2
1238 0 : set_max_dt_to_frac_lifetime = s% job% set_max_dt_to_frac_lifetime
1239 0 : max_frac_of_lifetime_per_step = s% job% max_frac_of_lifetime_per_step
1240 0 : astero_just_call_my_extras_check_model = s% job% astero_just_call_my_extras_check_model
1241 0 : relax_mass = s% job% relax_mass
1242 0 : relax_initial_mass = s% job% relax_initial_mass
1243 0 : new_mass = s% job% new_mass
1244 0 : lg_max_abs_mdot = s% job% lg_max_abs_mdot
1245 0 : relax_mass_to_remove_H_env = s% job% relax_mass_to_remove_H_env
1246 0 : relax_initial_mass_to_remove_H_env = s% job% relax_initial_mass_to_remove_H_env
1247 0 : extra_mass_retained_by_remove_H_env = s% job% extra_mass_retained_by_remove_H_env
1248 0 : relax_mass_scale = s% job% relax_mass_scale
1249 0 : relax_initial_mass_scale = s% job% relax_initial_mass_scale
1250 0 : dlgm_per_step = s% job% dlgm_per_step
1251 :
1252 0 : relax_M_center_dt = s% job% relax_M_center_dt
1253 0 : change_mass_years_for_dt = s% job% change_mass_years_for_dt
1254 0 : relax_M_center = s% job% relax_M_center
1255 0 : relax_initial_M_center = s% job% relax_initial_M_center
1256 0 : relax_core = s% job% relax_core
1257 0 : relax_initial_core = s% job% relax_initial_core
1258 0 : new_core_mass = s% job% new_core_mass
1259 0 : dlg_core_mass_per_step = s% job% dlg_core_mass_per_step
1260 0 : relax_core_years_for_dt = s% job% relax_core_years_for_dt
1261 0 : core_avg_rho = s% job% core_avg_rho
1262 0 : core_avg_eps = s% job% core_avg_eps
1263 :
1264 0 : relax_R_center = s% job% relax_R_center
1265 0 : relax_initial_R_center = s% job% relax_initial_R_center
1266 0 : new_R_center = s% job% new_R_center
1267 0 : dlgR_per_step = s% job% dlgR_per_step
1268 0 : relax_R_center_dt = s% job% relax_R_center_dt
1269 :
1270 0 : set_v_center = s% job% set_v_center
1271 0 : set_initial_v_center = s% job% set_initial_v_center
1272 :
1273 0 : relax_v_center = s% job% relax_v_center
1274 0 : relax_initial_v_center = s% job% relax_initial_v_center
1275 0 : new_v_center = s% job% new_v_center
1276 0 : dv_per_step = s% job% dv_per_step
1277 0 : relax_v_center_dt = s% job% relax_v_center_dt
1278 :
1279 0 : zero_alpha_RTI = s% job% zero_alpha_RTI
1280 0 : zero_initial_alpha_RTI = s% job% zero_initial_alpha_RTI
1281 :
1282 0 : set_L_center = s% job% set_L_center
1283 0 : set_initial_L_center = s% job% set_initial_L_center
1284 0 : relax_L_center = s% job% relax_L_center
1285 0 : relax_initial_L_center = s% job% relax_initial_L_center
1286 0 : new_L_center = s% job% new_L_center
1287 0 : dlgL_per_step = s% job% dlgL_per_step
1288 0 : relax_L_center_dt = s% job% relax_L_center_dt
1289 :
1290 0 : remove_center_at_cell_k = s% job% remove_center_at_cell_k
1291 0 : remove_center_by_temperature = s% job% remove_center_by_temperature
1292 0 : remove_center_by_mass_fraction_q = s% job% remove_center_by_mass_fraction_q
1293 0 : remove_center_by_delta_mass_gm = s% job% remove_center_by_delta_mass_gm
1294 0 : remove_center_by_delta_mass_Msun = s% job% remove_center_by_delta_mass_Msun
1295 0 : remove_center_by_mass_gm = s% job% remove_center_by_mass_gm
1296 0 : remove_center_by_mass_Msun = s% job% remove_center_by_mass_Msun
1297 0 : remove_center_by_radius_Rsun = s% job% remove_center_by_radius_Rsun
1298 0 : remove_center_by_radius_cm = s% job% remove_center_by_radius_cm
1299 0 : remove_center_by_he4 = s% job% remove_center_by_he4
1300 0 : remove_center_by_c12_o16 = s% job% remove_center_by_c12_o16
1301 0 : remove_center_by_si28 = s% job% remove_center_by_si28
1302 0 : remove_center_to_reduce_co56_ni56 = s% job% remove_center_to_reduce_co56_ni56
1303 0 : remove_center_by_ye = s% job% remove_center_by_ye
1304 0 : remove_center_by_entropy = s% job% remove_center_by_entropy
1305 0 : remove_center_by_infall_kms = s% job% remove_center_by_infall_kms
1306 0 : remove_center_at_inner_max_abs_v = s% job% remove_center_at_inner_max_abs_v
1307 0 : remove_fe_core = s% job% remove_fe_core
1308 0 : remove_fallback_at_each_step = s% job% remove_fallback_at_each_step
1309 0 : fallback_check_total_energy = s% job% fallback_check_total_energy
1310 0 : remove_fallback_speed_limit = s% job% remove_fallback_speed_limit
1311 0 : remove_center_set_zero_v_center = s% job% remove_center_set_zero_v_center
1312 0 : limit_center_logP_at_each_step = s% job% limit_center_logP_at_each_step
1313 0 : remove_center_adjust_L_center = s% job% remove_center_adjust_L_center
1314 0 : remove_center_logRho_limit = s% job% remove_center_logRho_limit
1315 :
1316 0 : remove_initial_center_at_cell_k = s% job% remove_initial_center_at_cell_k
1317 0 : remove_initial_center_by_temperature = s% job% remove_initial_center_by_temperature
1318 0 : remove_initial_center_by_mass_fraction_q = s% job% remove_initial_center_by_mass_fraction_q
1319 0 : remove_initial_center_by_delta_mass_gm = s% job% remove_initial_center_by_delta_mass_gm
1320 0 : remove_initial_center_by_delta_mass_Msun = s% job% remove_initial_center_by_delta_mass_Msun
1321 0 : remove_initial_center_by_mass_gm = s% job% remove_initial_center_by_mass_gm
1322 0 : remove_initial_center_by_mass_Msun = s% job% remove_initial_center_by_mass_Msun
1323 0 : remove_initial_center_by_radius_Rsun = s% job% remove_initial_center_by_radius_Rsun
1324 0 : remove_initial_center_by_radius_cm = s% job% remove_initial_center_by_radius_cm
1325 0 : remove_initial_center_by_he4 = s% job% remove_initial_center_by_he4
1326 0 : remove_initial_center_by_c12_o16 = s% job% remove_initial_center_by_c12_o16
1327 0 : remove_initial_center_by_si28 = s% job% remove_initial_center_by_si28
1328 0 : remove_initial_center_to_reduce_co56_ni56 = s% job% remove_initial_center_to_reduce_co56_ni56
1329 0 : remove_initial_center_by_ye = s% job% remove_initial_center_by_ye
1330 0 : remove_initial_center_by_entropy = s% job% remove_initial_center_by_entropy
1331 0 : remove_initial_center_by_infall_kms = s% job% remove_initial_center_by_infall_kms
1332 0 : remove_initial_center_at_inner_max_abs_v = s% job% remove_initial_center_at_inner_max_abs_v
1333 0 : remove_initial_fe_core = s% job% remove_initial_fe_core
1334 :
1335 0 : zero_initial_inner_v_by_mass_Msun = s% job% zero_initial_inner_v_by_mass_Msun
1336 0 : zero_inner_v_by_mass_Msun = s% job% zero_inner_v_by_mass_Msun
1337 :
1338 0 : remove_surface_at_cell_k = s% job% remove_surface_at_cell_k
1339 0 : remove_surface_at_he_core_boundary = s% job% remove_surface_at_he_core_boundary
1340 0 : remove_surface_by_optical_depth = s% job% remove_surface_by_optical_depth
1341 0 : remove_surface_by_density = s% job% remove_surface_by_density
1342 0 : remove_surface_by_pressure = s% job% remove_surface_by_pressure
1343 0 : remove_surface_by_mass_fraction_q = s% job% remove_surface_by_mass_fraction_q
1344 0 : remove_surface_by_mass_gm = s% job% remove_surface_by_mass_gm
1345 0 : remove_surface_by_radius_cm = s% job% remove_surface_by_radius_cm
1346 0 : remove_surface_by_mass_Msun = s% job% remove_surface_by_mass_Msun
1347 0 : remove_surface_by_radius_Rsun = s% job% remove_surface_by_radius_Rsun
1348 0 : remove_surface_by_v_surf_km_s = s% job% remove_surface_by_v_surf_km_s
1349 0 : remove_surface_by_v_surf_div_cs = s% job% remove_surface_by_v_surf_div_cs
1350 0 : remove_surface_by_v_surf_div_v_escape = s% job% remove_surface_by_v_surf_div_v_escape
1351 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
1352 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
1353 :
1354 0 : remove_surface_do_jrot = s% job% remove_surface_do_jrot
1355 0 : remove_surface_do_entropy = s% job% remove_surface_do_entropy
1356 0 : remove_surface_turn_off_energy_sources_and_sinks = s% job% remove_surface_turn_off_energy_sources_and_sinks
1357 0 : remove_surface_by_relax_to_star_cut = s% job% remove_surface_by_relax_to_star_cut
1358 :
1359 0 : remove_initial_surface_at_cell_k = s% job% remove_initial_surface_at_cell_k
1360 0 : remove_initial_surface_at_he_core_boundary = s% job% remove_initial_surface_at_he_core_boundary
1361 0 : remove_initial_surface_by_optical_depth = s% job% remove_initial_surface_by_optical_depth
1362 0 : remove_initial_surface_by_density = s% job% remove_initial_surface_by_density
1363 0 : remove_initial_surface_by_pressure = s% job% remove_initial_surface_by_pressure
1364 0 : remove_initial_surface_by_mass_fraction_q = s% job% remove_initial_surface_by_mass_fraction_q
1365 0 : remove_initial_surface_by_mass_gm = s% job% remove_initial_surface_by_mass_gm
1366 0 : remove_initial_surface_by_radius_cm = s% job% remove_initial_surface_by_radius_cm
1367 0 : remove_initial_surface_by_mass_Msun = s% job% remove_initial_surface_by_mass_Msun
1368 0 : remove_initial_surface_by_radius_Rsun = s% job% remove_initial_surface_by_radius_Rsun
1369 0 : remove_initial_surface_by_v_surf_km_s = s% job% remove_initial_surface_by_v_surf_km_s
1370 0 : remove_initial_surface_by_v_surf_div_cs = s% job% remove_initial_surface_by_v_surf_div_cs
1371 0 : remove_initial_surface_by_v_surf_div_v_escape = s% job% remove_initial_surface_by_v_surf_div_v_escape
1372 :
1373 0 : report_mass_not_fe56 = s% job% report_mass_not_fe56
1374 0 : relax_dxdt_nuc_factor = s% job% relax_dxdt_nuc_factor
1375 0 : relax_initial_dxdt_nuc_factor = s% job% relax_initial_dxdt_nuc_factor
1376 0 : new_dxdt_nuc_factor = s% job% new_dxdt_nuc_factor
1377 0 : dxdt_nuc_factor_multiplier = s% job% dxdt_nuc_factor_multiplier
1378 0 : relax_eps_nuc_factor = s% job% relax_eps_nuc_factor
1379 0 : relax_initial_eps_nuc_factor = s% job% relax_initial_eps_nuc_factor
1380 0 : new_eps_nuc_factor = s% job% new_eps_nuc_factor
1381 0 : eps_nuc_factor_multiplier = s% job% eps_nuc_factor_multiplier
1382 0 : relax_opacity_max = s% job% relax_opacity_max
1383 0 : relax_initial_opacity_max = s% job% relax_initial_opacity_max
1384 0 : new_opacity_max = s% job% new_opacity_max
1385 0 : opacity_max_multiplier = s% job% opacity_max_multiplier
1386 0 : relax_max_surf_dq = s% job% relax_max_surf_dq
1387 0 : relax_initial_max_surf_dq = s% job% relax_initial_max_surf_dq
1388 0 : new_max_surf_dq = s% job% new_max_surf_dq
1389 0 : max_surf_dq_multiplier = s% job% max_surf_dq_multiplier
1390 :
1391 0 : relax_tau_factor = s% job% relax_tau_factor
1392 0 : relax_initial_tau_factor = s% job% relax_initial_tau_factor
1393 0 : set_tau_factor = s% job% set_tau_factor
1394 0 : set_initial_tau_factor = s% job% set_initial_tau_factor
1395 0 : relax_to_this_tau_factor = s% job% relax_to_this_tau_factor
1396 0 : set_to_this_tau_factor = s% job% set_to_this_tau_factor
1397 0 : dlogtau_factor = s% job% dlogtau_factor
1398 0 : set_tau_factor_after_core_He_burn = s% job% set_tau_factor_after_core_He_burn
1399 0 : set_tau_factor_after_core_C_burn = s% job% set_tau_factor_after_core_C_burn
1400 0 : relax_tau_factor_after_core_He_burn = s% job% relax_tau_factor_after_core_He_burn
1401 0 : relax_tau_factor_after_core_C_burn = s% job% relax_tau_factor_after_core_C_burn
1402 :
1403 0 : adjust_tau_factor_to_surf_density = s% job% adjust_tau_factor_to_surf_density
1404 0 : base_for_adjust_tau_factor_to_surf_density = s% job% base_for_adjust_tau_factor_to_surf_density
1405 :
1406 0 : relax_to_this_opacity_factor = s% job% relax_to_this_opacity_factor
1407 0 : d_opacity_factor = s% job% d_opacity_factor
1408 0 : relax_opacity_factor = s% job% relax_opacity_factor
1409 0 : relax_initial_opacity_factor = s% job% relax_initial_opacity_factor
1410 :
1411 0 : relax_Tsurf_factor = s% job% relax_Tsurf_factor
1412 0 : relax_initial_Tsurf_factor = s% job% relax_initial_Tsurf_factor
1413 0 : set_Tsurf_factor = s% job% set_Tsurf_factor
1414 0 : set_initial_Tsurf_factor = s% job% set_initial_Tsurf_factor
1415 0 : relax_to_this_Tsurf_factor = s% job% relax_to_this_Tsurf_factor
1416 0 : set_to_this_Tsurf_factor = s% job% set_to_this_Tsurf_factor
1417 0 : dlogTsurf_factor = s% job% dlogTsurf_factor
1418 :
1419 0 : relax_irradiation = s% job% relax_irradiation
1420 0 : relax_initial_irradiation = s% job% relax_initial_irradiation
1421 0 : set_irradiation = s% job% set_irradiation
1422 0 : set_initial_irradiation = s% job% set_initial_irradiation
1423 0 : relax_irradiation_min_steps = s% job% relax_irradiation_min_steps
1424 0 : relax_to_this_irrad_flux = s% job% relax_to_this_irrad_flux
1425 0 : set_to_this_irrad_flux = s% job% set_to_this_irrad_flux
1426 0 : irrad_col_depth = s% job% irrad_col_depth
1427 0 : relax_irradiation_max_yrs_dt = s% job% relax_irradiation_max_yrs_dt
1428 0 : relax_mass_change = s% job% relax_mass_change
1429 0 : relax_initial_mass_change = s% job% relax_initial_mass_change
1430 0 : relax_mass_change_min_steps = s% job% relax_mass_change_min_steps
1431 0 : relax_mass_change_max_yrs_dt = s% job% relax_mass_change_max_yrs_dt
1432 0 : relax_mass_change_init_mdot = s% job% relax_mass_change_init_mdot
1433 0 : relax_mass_change_final_mdot = s% job% relax_mass_change_final_mdot
1434 0 : change_RTI_flag = s% job% change_RTI_flag
1435 0 : change_initial_RTI_flag = s% job% change_initial_RTI_flag
1436 0 : new_RTI_flag = s% job% new_RTI_flag
1437 0 : change_RSP_flag = s% job% change_RSP_flag
1438 0 : change_initial_RSP_flag = s% job% change_initial_RSP_flag
1439 0 : new_RSP_flag = s% job% new_RSP_flag
1440 0 : change_RSP2_flag = s% job% change_RSP2_flag
1441 0 : change_initial_RSP2_flag = s% job% change_initial_RSP2_flag
1442 0 : change_RSP2_flag_at_model_number = s% job% change_RSP2_flag_at_model_number
1443 0 : new_RSP2_flag = s% job% new_RSP2_flag
1444 0 : create_RSP2_model = s% job% create_RSP2_model
1445 0 : change_w_div_wc_flag = s% job% change_w_div_wc_flag
1446 0 : change_initial_w_div_wc_flag = s% job% change_initial_w_div_wc_flag
1447 0 : new_w_div_wc_flag = s% job% new_w_div_wc_flag
1448 0 : change_j_rot_flag = s% job% change_j_rot_flag
1449 0 : change_initial_j_rot_flag = s% job% change_initial_j_rot_flag
1450 0 : new_j_rot_flag = s% job% new_j_rot_flag
1451 :
1452 0 : create_RSP_model = s% job% create_RSP_model
1453 0 : change_v_flag = s% job% change_v_flag
1454 0 : change_initial_v_flag = s% job% change_initial_v_flag
1455 0 : new_v_flag = s% job% new_v_flag
1456 0 : change_D_omega_flag = s% job% change_D_omega_flag
1457 0 : change_initial_D_omega_flag = s% job% change_initial_D_omega_flag
1458 0 : new_D_omega_flag = s% job% new_D_omega_flag
1459 0 : change_am_nu_rot_flag = s% job% change_am_nu_rot_flag
1460 0 : change_initial_am_nu_rot_flag = s% job% change_initial_am_nu_rot_flag
1461 0 : new_am_nu_rot_flag = s% job% new_am_nu_rot_flag
1462 0 : use_D_omega_for_am_nu_rot = s% job% use_D_omega_for_am_nu_rot
1463 :
1464 0 : change_u_flag = s% job% change_u_flag
1465 0 : change_initial_u_flag = s% job% change_initial_u_flag
1466 0 : new_u_flag = s% job% new_u_flag
1467 :
1468 0 : change_reconstruction_flag = s% job% change_reconstruction_flag
1469 0 : change_initial_reconstruction_flag = s% job% change_initial_reconstruction_flag
1470 0 : new_reconstruction_flag = s% job% new_reconstruction_flag
1471 :
1472 0 : center_ye_limit_for_v_flag = s% job% center_ye_limit_for_v_flag
1473 0 : change_rotation_flag = s% job% change_rotation_flag
1474 0 : change_initial_rotation_flag = s% job% change_initial_rotation_flag
1475 0 : new_rotation_flag = s% job% new_rotation_flag
1476 0 : use_w_div_wc_flag_with_rotation = s% job% use_w_div_wc_flag_with_rotation
1477 0 : use_j_rot_flag_with_rotation = s% job% use_j_rot_flag_with_rotation
1478 0 : set_omega = s% job% set_omega
1479 0 : set_initial_omega = s% job% set_initial_omega
1480 0 : set_omega_step_limit = s% job% set_omega_step_limit
1481 0 : set_near_zams_omega_steps = s% job% set_near_zams_omega_steps
1482 0 : new_omega = s% job% new_omega
1483 0 : set_omega_div_omega_crit = s% job% set_omega_div_omega_crit
1484 0 : set_initial_omega_div_omega_crit = s% job% set_initial_omega_div_omega_crit
1485 0 : set_omega_div_omega_crit_step_limit = s% job% set_omega_div_omega_crit_step_limit
1486 0 : set_near_zams_omega_div_omega_crit_steps = s% job% set_near_zams_omega_div_omega_crit_steps
1487 0 : new_omega_div_omega_crit = s% job% new_omega_div_omega_crit
1488 0 : set_surface_rotation_v = s% job% set_surface_rotation_v
1489 0 : set_initial_surface_rotation_v = s% job% set_initial_surface_rotation_v
1490 0 : set_surf_rotation_v_step_limit = s% job% set_surf_rotation_v_step_limit
1491 0 : set_near_zams_surface_rotation_v_steps = s% job% set_near_zams_surface_rotation_v_steps
1492 0 : new_surface_rotation_v = s% job% new_surface_rotation_v
1493 0 : relax_omega = s% job% relax_omega
1494 0 : relax_initial_omega = s% job% relax_initial_omega
1495 0 : near_zams_relax_omega = s% job% near_zams_relax_omega
1496 0 : relax_omega_div_omega_crit = s% job% relax_omega_div_omega_crit
1497 0 : relax_initial_omega_div_omega_crit = s% job% relax_initial_omega_div_omega_crit
1498 0 : near_zams_relax_omega_div_omega_crit = s% job% near_zams_relax_omega_div_omega_crit
1499 0 : relax_surface_rotation_v = s% job% relax_surface_rotation_v
1500 0 : relax_initial_surface_rotation_v = s% job% relax_initial_surface_rotation_v
1501 0 : near_zams_relax_initial_surface_rotation_v = s% job% near_zams_relax_initial_surface_rotation_v
1502 0 : num_steps_to_relax_rotation = s% job% num_steps_to_relax_rotation
1503 0 : relax_omega_max_yrs_dt = s% job% relax_omega_max_yrs_dt
1504 0 : set_uniform_initial_composition = s% job% set_uniform_initial_composition
1505 0 : initial_h1 = s% job% initial_h1
1506 0 : initial_h2 = s% job% initial_h2
1507 0 : initial_he3 = s% job% initial_he3
1508 0 : initial_he4 = s% job% initial_he4
1509 0 : initial_zfracs = s% job% initial_zfracs
1510 0 : dump_missing_metals_into_heaviest = s% job% dump_missing_metals_into_heaviest
1511 0 : relax_initial_composition = s% job% relax_initial_composition
1512 0 : relax_initial_to_xaccrete = s% job% relax_initial_to_xaccrete
1513 0 : relax_composition_filename = s% job% relax_composition_filename
1514 0 : num_steps_to_relax_composition = s% job% num_steps_to_relax_composition
1515 0 : timescale_for_relax_composition = s% job% timescale_for_relax_composition
1516 0 : relax_initial_angular_momentum = s% job% relax_initial_angular_momentum
1517 0 : max_steps_to_relax_angular_momentum = s% job% max_steps_to_relax_angular_momentum
1518 0 : timescale_for_relax_angular_momentum = s% job% timescale_for_relax_angular_momentum
1519 0 : max_dt_for_relax_angular_momentum = s% job% max_dt_for_relax_angular_momentum
1520 0 : num_timescales_for_relax_angular_momentum = s% job% num_timescales_for_relax_angular_momentum
1521 0 : relax_angular_momentum_filename = s% job% relax_angular_momentum_filename
1522 0 : relax_angular_momentum_constant_omega_center = s% job% relax_angular_momentum_constant_omega_center
1523 0 : relax_initial_entropy = s% job% relax_initial_entropy
1524 0 : max_steps_to_relax_entropy = s% job% max_steps_to_relax_entropy
1525 0 : timescale_for_relax_entropy = s% job% timescale_for_relax_entropy
1526 0 : max_dt_for_relax_entropy = s% job% max_dt_for_relax_entropy
1527 0 : num_timescales_for_relax_entropy = s% job% num_timescales_for_relax_entropy
1528 0 : relax_entropy_filename = s% job% relax_entropy_filename
1529 0 : get_entropy_for_relax_from_eos = s% job% get_entropy_for_relax_from_eos
1530 0 : report_cell_for_xm = s% job% report_cell_for_xm
1531 0 : set_to_xa_for_accretion = s% job% set_to_xa_for_accretion
1532 0 : set_initial_to_xa_for_accretion = s% job% set_initial_to_xa_for_accretion
1533 0 : set_nzlo = s% job% set_nzlo
1534 0 : set_nzhi = s% job% set_nzhi
1535 0 : change_Y = s% job% change_Y
1536 0 : change_initial_Y = s% job% change_initial_Y
1537 0 : relax_Y = s% job% relax_Y
1538 0 : relax_initial_Y = s% job% relax_initial_Y
1539 0 : relax_Y_minq = s% job% relax_Y_minq
1540 0 : relax_Y_maxq = s% job% relax_Y_maxq
1541 0 : new_Y = s% job% new_Y
1542 0 : change_Z = s% job% change_Z
1543 0 : change_initial_Z = s% job% change_initial_Z
1544 0 : relax_Z = s% job% relax_Z
1545 0 : relax_initial_Z = s% job% relax_initial_Z
1546 0 : relax_Z_minq = s% job% relax_Z_minq
1547 0 : relax_Z_maxq = s% job% relax_Z_maxq
1548 0 : new_Z = s% job% new_Z
1549 0 : steps_to_take_before_terminate = s% job% steps_to_take_before_terminate
1550 0 : stop_if_this_file_exists = s% job% stop_if_this_file_exists
1551 0 : set_initial_age = s% job% set_initial_age
1552 0 : initial_age = s% job% initial_age
1553 0 : set_initial_model_number = s% job% set_initial_model_number
1554 0 : initial_model_number = s% job% initial_model_number
1555 0 : set_initial_number_retries = s% job% set_initial_number_retries
1556 0 : initial_number_retries = s% job% initial_number_retries
1557 0 : set_initial_dt = s% job% set_initial_dt
1558 0 : limit_initial_dt = s% job% limit_initial_dt
1559 0 : years_for_initial_dt = s% job% years_for_initial_dt
1560 0 : seconds_for_initial_dt = s% job% seconds_for_initial_dt
1561 :
1562 0 : set_initial_cumulative_energy_error = s% job% set_initial_cumulative_energy_error
1563 0 : set_cumulative_energy_error = s% job% set_cumulative_energy_error
1564 0 : set_cumulative_energy_error_at_step = s% job% set_cumulative_energy_error_at_step
1565 0 : set_cumulative_energy_error_each_step_if_age_less_than = s% job% set_cumulative_energy_error_each_step_if_age_less_than
1566 0 : new_cumulative_energy_error = s% job% new_cumulative_energy_error
1567 0 : set_cumulative_energy_error_each_relax = s% job% set_cumulative_energy_error_each_relax
1568 :
1569 0 : change_net = s% job% change_net
1570 0 : change_initial_net = s% job% change_initial_net
1571 0 : new_net_name = s% job% new_net_name
1572 0 : change_small_net = s% job% change_small_net
1573 0 : change_initial_small_net = s% job% change_initial_small_net
1574 0 : new_small_net_name = s% job% new_small_net_name
1575 :
1576 0 : h_he_net = s% job% h_he_net
1577 0 : co_net = s% job% co_net
1578 0 : adv_net = s% job% adv_net
1579 0 : adjust_abundances_for_new_isos = s% job% adjust_abundances_for_new_isos
1580 0 : set_uniform_xa_from_file = s% job% set_uniform_xa_from_file
1581 0 : set_uniform_initial_xa_from_file = s% job% set_uniform_initial_xa_from_file
1582 0 : file_for_uniform_xa = s% job% file_for_uniform_xa
1583 :
1584 0 : mix_section = s% job% mix_section
1585 0 : mix_initial_section = s% job% mix_initial_section
1586 0 : mix_section_nzlo = s% job% mix_section_nzlo
1587 0 : mix_section_nzhi = s% job% mix_section_nzhi
1588 :
1589 0 : T9_weaklib_full_off = s% job% T9_weaklib_full_off
1590 0 : T9_weaklib_full_on = s% job% T9_weaklib_full_on
1591 0 : weaklib_blend_hi_Z = s% job% weaklib_blend_hi_Z
1592 0 : T9_weaklib_full_off_hi_Z = s% job% T9_weaklib_full_off_hi_Z
1593 0 : T9_weaklib_full_on_hi_Z = s% job% T9_weaklib_full_on_hi_Z
1594 :
1595 0 : use_suzuki_weak_rates = s% job% use_suzuki_weak_rates
1596 0 : use_3a_fl87 = s% job% use_3a_fl87
1597 :
1598 0 : use_special_weak_rates = s% job% use_special_weak_rates
1599 0 : special_weak_states_file = s% job% special_weak_states_file
1600 0 : special_weak_transitions_file = s% job% special_weak_transitions_file
1601 0 : ion_coulomb_corrections = s% job% ion_coulomb_corrections
1602 0 : electron_coulomb_corrections = s% job% electron_coulomb_corrections
1603 :
1604 0 : mix_envelope_down_to_T = s% job% mix_envelope_down_to_T
1605 0 : mix_initial_envelope_down_to_T = s% job% mix_initial_envelope_down_to_T
1606 0 : auto_extend_net = s% job% auto_extend_net
1607 :
1608 0 : enable_adaptive_network = s% job% enable_adaptive_network
1609 0 : min_x_for_keep = s% job% min_x_for_keep
1610 0 : min_x_for_n = s% job% min_x_for_n
1611 0 : min_x_for_add = s% job% min_x_for_add
1612 0 : max_Z_for_add = s% job% max_Z_for_add
1613 0 : max_N_for_add = s% job% max_N_for_add
1614 0 : max_A_for_add = s% job% max_A_for_add
1615 :
1616 0 : save_model_number = s% job% save_model_number
1617 0 : save_model_filename = s% job% save_model_filename
1618 0 : save_model_when_terminate = s% job% save_model_when_terminate
1619 0 : required_termination_code_string = s% job% required_termination_code_string
1620 0 : profile_starting_model = s% job% profile_starting_model
1621 0 : profile_model_number = s% job% profile_model_number
1622 0 : report_retries = s% job% report_retries
1623 :
1624 0 : net_reaction_filename = s% job% net_reaction_filename
1625 0 : jina_reaclib_filename = s% job% jina_reaclib_filename
1626 0 : jina_reaclib_min_T9 = s% job% jina_reaclib_min_T9
1627 0 : rate_tables_dir = s% job% rate_tables_dir
1628 0 : rate_cache_suffix = s% job% rate_cache_suffix
1629 0 : read_extra_star_job_inlist = s% job% read_extra_star_job_inlist
1630 0 : extra_star_job_inlist_name = s% job% extra_star_job_inlist_name
1631 0 : set_abundance_nzlo = s% job% set_abundance_nzlo
1632 0 : set_abundance_nzhi = s% job% set_abundance_nzhi
1633 0 : set_abundance = s% job% set_abundance
1634 0 : set_initial_abundance = s% job% set_initial_abundance
1635 0 : chem_name = s% job% chem_name
1636 0 : new_frac = s% job% new_frac
1637 : set_abundance_nzlo = s% job% set_abundance_nzlo
1638 : set_abundance_nzhi = s% job% set_abundance_nzhi
1639 0 : replace_element = s% job% replace_element
1640 0 : replace_initial_element = s% job% replace_initial_element
1641 0 : chem_name1 = s% job% chem_name1
1642 0 : chem_name2 = s% job% chem_name2
1643 0 : replace_element_nzlo = s% job% replace_element_nzlo
1644 0 : replace_element_nzhi = s% job% replace_element_nzhi
1645 0 : do_special_test = s% job% do_special_test
1646 :
1647 0 : save_pulse_data_for_model_number = s% job% save_pulse_data_for_model_number
1648 0 : save_pulse_data_when_terminate = s% job% save_pulse_data_when_terminate
1649 0 : save_pulse_data_filename = s% job% save_pulse_data_filename
1650 :
1651 0 : chem_isotopes_filename = s% job% chem_isotopes_filename
1652 0 : ionization_file_prefix = s% job% ionization_file_prefix
1653 0 : ionization_Z1_suffix = s% job% ionization_Z1_suffix
1654 0 : extras_lipar = s% job% extras_lipar
1655 0 : extras_lrpar = s% job% extras_lrpar
1656 0 : extras_lcpar = s% job% extras_lcpar
1657 0 : extras_llpar = s% job% extras_llpar
1658 0 : extras_ipar = s% job% extras_ipar
1659 0 : extras_rpar = s% job% extras_rpar
1660 0 : extras_cpar = s% job% extras_cpar
1661 0 : extras_lpar = s% job% extras_lpar
1662 0 : num_special_rate_factors = s% job% num_special_rate_factors
1663 0 : special_rate_factor = s% job% special_rate_factor
1664 0 : filename_of_special_rate = s% job% filename_of_special_rate
1665 :
1666 0 : reaction_for_special_factor = s% job% reaction_for_special_factor
1667 0 : color_num_files = s% job% color_num_files
1668 0 : color_file_names = s% job% color_file_names
1669 0 : color_num_colors = s% job% color_num_colors
1670 :
1671 0 : warn_run_star_extras = s% job% warn_run_star_extras
1672 0 : report_garbage_collection = s% job% report_garbage_collection
1673 0 : num_steps_for_garbage_collection = s% job% num_steps_for_garbage_collection
1674 :
1675 0 : end subroutine set_star_job_controls_for_writing
1676 :
1677 :
1678 0 : subroutine do_write_star_job(s, filename, ierr)
1679 : type (star_info), pointer :: s
1680 : character(*), intent(in) :: filename
1681 : integer, intent(out) :: ierr
1682 : integer :: io
1683 : ierr = 0
1684 0 : call set_star_job_controls_for_writing(s, ierr)
1685 0 : if (ierr /= 0) then
1686 0 : write(*,*) 'failed to set_star_job_controls_for_writing "' // trim(filename)//'"'
1687 0 : return
1688 : end if
1689 0 : open(newunit=io, file=trim(filename), action='write', status='replace', iostat=ierr)
1690 0 : if (ierr /= 0) then
1691 0 : write(*,*) 'failed to open "' // trim(filename)//'"'
1692 0 : return
1693 : end if
1694 0 : write(io, nml=star_job, iostat=ierr)
1695 0 : if (ierr /= 0) then
1696 0 : write(*,*) 'failed to write "' // trim(filename)//'"'
1697 0 : return
1698 : end if
1699 0 : write(*,*) 'write star_job namelist values to "' // trim(filename)//'"'
1700 0 : close(io)
1701 : end subroutine do_write_star_job
1702 :
1703 :
1704 0 : subroutine get_star_job(s, name, val, ierr)
1705 : use utils_lib, only: StrUpCase
1706 : type (star_info), pointer :: s
1707 : character(len=*),intent(in) :: name
1708 : character(len=*), intent(out) :: val
1709 : integer, intent(out) :: ierr
1710 :
1711 0 : character(len(name)+1) :: upper_name
1712 : character(len=512) :: str
1713 : integer :: iounit,iostat,ind,i
1714 :
1715 : ierr = 0
1716 :
1717 : ! First save current controls
1718 0 : call set_star_job_controls_for_writing(s, ierr)
1719 0 : if(ierr/=0) return
1720 :
1721 : ! Write namelist to temporary file
1722 0 : open(newunit=iounit,status='scratch')
1723 0 : write(iounit,nml=star_job)
1724 0 : rewind(iounit)
1725 :
1726 : ! Namelists get written in capitals
1727 0 : upper_name = trim(StrUpCase(name))//'='
1728 0 : val = ''
1729 : ! Search for name inside namelist
1730 : do
1731 0 : read(iounit,'(A)',iostat=iostat) str
1732 0 : ind = index(trim(str),trim(upper_name))
1733 0 : if( ind /= 0 ) then
1734 0 : val = str(ind+len_trim(upper_name):len_trim(str)-1) ! Remove final comma and starting =
1735 0 : do i=1,len(val)
1736 0 : if(val(i:i)=='"') val(i:i) = ' '
1737 : end do
1738 : exit
1739 : end if
1740 0 : if(is_iostat_end(iostat)) exit
1741 : end do
1742 :
1743 0 : if(len_trim(val) == 0 .and. ind==0 ) ierr = -1
1744 :
1745 0 : close(iounit)
1746 :
1747 0 : end subroutine get_star_job
1748 :
1749 0 : subroutine set_star_job(s, name, val, ierr)
1750 : type (star_info), pointer :: s
1751 : character(len=*), intent(in) :: name, val
1752 0 : character(len=len(name)+len(val)+12) :: tmp
1753 : integer, intent(out) :: ierr
1754 :
1755 : ierr = 0
1756 :
1757 : ! First save current star_job
1758 0 : call set_star_job_controls_for_writing(s, ierr)
1759 0 : if(ierr/=0) return
1760 :
1761 0 : tmp=''
1762 0 : tmp = '&star_job '//trim(name)//'='//trim(val)//'/'
1763 :
1764 : ! Load into namelist
1765 0 : read(tmp, nml=star_job)
1766 :
1767 : ! Add to star
1768 0 : call store_star_job_controls(s, ierr)
1769 0 : if(ierr/=0) return
1770 :
1771 : end subroutine set_star_job
1772 :
1773 :
1774 : end module star_job_ctrls_io
|