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