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