Line data Source code
1 : ! ***********************************************************************
2 : !
3 : ! Copyright (C) 2010-2019 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 pgstar
21 :
22 : use star_private_def
23 : use const_def, only: dp
24 : use chem_def, only : category_name
25 : use rates_def, only : i_rate
26 : use pgstar_support
27 : use star_pgstar
28 :
29 : implicit none
30 :
31 : contains
32 :
33 0 : subroutine do_create_file_name(s, dir, prefix, name)
34 : use pgstar_support, only : create_file_name
35 : type (star_info), pointer :: s
36 : character (len = *), intent(in) :: dir, prefix
37 : character (len = *), intent(out) :: name
38 0 : call create_file_name(s, dir, prefix, name)
39 0 : end subroutine do_create_file_name
40 :
41 :
42 0 : subroutine do_write_plot_to_file(s, p, filename, ierr)
43 0 : use star_def, only : star_info
44 : use pgstar_support, only : write_plot_to_file
45 : type (star_info), pointer :: s
46 : type (pgstar_win_file_data), pointer :: p
47 : character (len = *), intent(in) :: filename
48 : integer, intent(out) :: ierr
49 0 : call write_plot_to_file(s, p, filename, ierr)
50 0 : end subroutine do_write_plot_to_file
51 :
52 :
53 0 : subroutine do_show_pgstar_annotations(&
54 : s, show_annotation1, show_annotation2, show_annotation3)
55 0 : use pgstar_support, only : show_annotations
56 : type (star_info), pointer :: s
57 : logical, intent(in) :: &
58 : show_annotation1, show_annotation2, show_annotation3
59 : call show_annotations(&
60 0 : s, show_annotation1, show_annotation2, show_annotation3)
61 0 : end subroutine do_show_pgstar_annotations
62 :
63 :
64 1 : subroutine do_start_new_run_for_pgstar(s, ierr) ! reset logs
65 0 : use utils_lib
66 : type (star_info), pointer :: s
67 : integer, intent(out) :: ierr
68 : integer :: iounit
69 : character (len = strlen) :: fname
70 : logical :: fexist
71 1 : ierr = 0
72 1 : if(.not. folder_exists(trim(s% log_directory))) call mkdir(trim(s% log_directory))
73 1 : fname = trim(s% log_directory) // '/pgstar.dat'
74 1 : inquire(file = trim(fname), exist = fexist)
75 1 : if (fexist) then
76 0 : open(newunit = iounit, file = trim(fname), status = 'replace', action = 'write')
77 0 : close(iounit)
78 : end if
79 1 : call pgstar_clear(s)
80 1 : end subroutine do_start_new_run_for_pgstar
81 :
82 :
83 0 : subroutine do_restart_run_for_pgstar(s, ierr)
84 : type (star_info), pointer :: s
85 : integer, intent(out) :: ierr
86 0 : ierr = 0
87 0 : if (.not. s% job% pgstar_flag) return
88 0 : call pgstar_clear(s)
89 0 : call read_pgstar_data(s, ierr)
90 0 : if (ierr /= 0) then
91 0 : write(*, *) 'failed in read_pgstar_data'
92 0 : ierr = 0
93 : end if
94 : end subroutine do_restart_run_for_pgstar
95 :
96 :
97 0 : subroutine do_read_pgstar_controls(s, inlist_fname, ierr)
98 : use pgstar_ctrls_io, only : read_pgstar
99 : type (star_info), pointer :: s
100 : character(*), intent(in) :: inlist_fname
101 : integer, intent(out) :: ierr
102 : ierr = 0
103 0 : call read_pgstar(s, inlist_fname, ierr)
104 0 : if (ierr /= 0) then
105 0 : write(*, *) 'PGSTAR failed in reading ' // trim(inlist_fname)
106 : return
107 : end if
108 0 : if (s% use_other_set_pgstar_controls) &
109 0 : call s% other_set_pgstar_controls(s% id)
110 0 : call set_win_file_data(s, ierr)
111 0 : end subroutine do_read_pgstar_controls
112 :
113 :
114 0 : subroutine set_win_file_data(s, ierr)
115 0 : use pgstar_kipp, only : Kipp_Plot
116 : use pgstar_L_R, only : L_R_Plot
117 : use pgstar_L_v, only : L_v_Plot
118 : use pgstar_L_Teff, only : L_Teff_Plot
119 : use pgstar_logL_R, only : logL_R_Plot
120 : use pgstar_logL_v, only : logL_v_Plot
121 : use pgstar_logL_Teff, only : logL_Teff_Plot
122 : use pgstar_r_L, only : R_L_Plot
123 : use pgstar_r_Teff, only : R_Teff_Plot
124 : use pgstar_logg_Teff, only : logg_Teff_Plot
125 : use pgstar_logg_logT, only : logg_logT_Plot
126 : use pgstar_dPg_dnu, only : dPg_dnu_Plot
127 : use pgstar_hr, only : HR_Plot
128 : use pgstar_trho, only : TRho_Plot
129 : use pgstar_tmaxrho, only : TmaxRho_Plot
130 : use pgstar_dynamo, only : Dynamo_plot
131 : use pgstar_mixing_Ds, only : Mixing_plot
132 : use pgstar_trho_profile, only : TRho_Profile_plot
133 : use pgstar_power, only : power_plot
134 : use pgstar_mode_prop, only : mode_propagation_plot
135 : use pgstar_abundance, only : abundance_plot
136 : use pgstar_summary_burn, only : summary_burn_plot
137 : use pgstar_summary_profile, only : summary_profile_plot
138 : use pgstar_summary_history, only : summary_history_plot
139 : use pgstar_grid, only : &
140 : grid1_plot, grid2_plot, grid3_plot, grid4_plot, &
141 : grid5_plot, grid6_plot, grid7_plot, grid8_plot, grid9_plot
142 : use pgstar_summary, only : &
143 : Text_Summary1_Plot, Text_Summary2_Plot, Text_Summary3_Plot, &
144 : Text_Summary4_Plot, Text_Summary5_Plot, Text_Summary6_Plot, &
145 : Text_Summary7_Plot, Text_Summary8_Plot, Text_Summary9_Plot
146 : use pgstar_profile_panels, only : &
147 : Profile_Panels1_plot, Profile_Panels2_plot, Profile_Panels3_plot, &
148 : Profile_Panels4_plot, Profile_Panels5_plot, Profile_Panels6_plot, &
149 : Profile_Panels7_plot, Profile_Panels8_plot, Profile_Panels9_plot
150 : use pgstar_history_panels, only : &
151 : History_Panels1_plot, History_Panels2_plot, History_Panels3_plot, &
152 : History_Panels4_plot, History_Panels5_plot, History_Panels6_plot, &
153 : History_Panels7_plot, History_Panels8_plot, History_Panels9_plot
154 : use pgstar_hist_track, only : &
155 : History_Track1_plot, History_Track2_plot, History_Track3_plot, &
156 : History_Track4_plot, History_Track5_plot, History_Track6_plot, &
157 : History_Track7_plot, History_Track8_plot, History_Track9_plot
158 : use pgstar_network, only : Network_plot
159 : use pgstar_production, only : Production_plot
160 : use pgstar_Color_Magnitude, only : &
161 : Color_Magnitude1_plot, Color_Magnitude2_plot, Color_Magnitude3_plot, &
162 : Color_Magnitude4_plot, Color_Magnitude5_plot, Color_Magnitude6_plot, &
163 : Color_Magnitude7_plot, Color_Magnitude8_plot, Color_Magnitude9_plot
164 : type (star_info), pointer :: s
165 : integer, intent(out) :: ierr
166 :
167 : type (pgstar_win_file_data), pointer :: p
168 : integer :: i
169 :
170 : ! store win and file info in records
171 :
172 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary1)
173 0 : p% plot => Text_Summary1_Plot
174 0 : p% id = i_Text_Summary1
175 0 : p% name = 'Text_Summary1'
176 0 : p% win_flag = s% pg% Text_Summary1_win_flag
177 0 : p% win_width = s% pg% Text_Summary1_win_width
178 0 : p% win_aspect_ratio = s% pg% Text_Summary1_win_aspect_ratio
179 0 : p% file_flag = s% pg% Text_Summary1_file_flag
180 0 : p% file_dir = s% pg% Text_Summary1_file_dir
181 0 : p% file_prefix = s% pg% Text_Summary1_file_prefix
182 0 : p% file_interval = s% pg% Text_Summary1_file_interval
183 0 : p% file_width = s% pg% Text_Summary1_file_width
184 0 : p% file_aspect_ratio = s% pg% Text_Summary1_file_aspect_ratio
185 :
186 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary2)
187 0 : p% plot => Text_Summary2_Plot
188 0 : p% id = i_Text_Summary2
189 0 : p% name = 'Text_Summary2'
190 0 : p% win_flag = s% pg% Text_Summary2_win_flag
191 0 : p% win_width = s% pg% Text_Summary2_win_width
192 0 : p% win_aspect_ratio = s% pg% Text_Summary2_win_aspect_ratio
193 0 : p% file_flag = s% pg% Text_Summary2_file_flag
194 0 : p% file_dir = s% pg% Text_Summary2_file_dir
195 0 : p% file_prefix = s% pg% Text_Summary2_file_prefix
196 0 : p% file_interval = s% pg% Text_Summary2_file_interval
197 0 : p% file_width = s% pg% Text_Summary2_file_width
198 0 : p% file_aspect_ratio = s% pg% Text_Summary2_file_aspect_ratio
199 :
200 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary3)
201 0 : p% plot => Text_Summary3_Plot
202 0 : p% id = i_Text_Summary3
203 0 : p% name = 'Text_Summary3'
204 0 : p% win_flag = s% pg% Text_Summary3_win_flag
205 0 : p% win_width = s% pg% Text_Summary3_win_width
206 0 : p% win_aspect_ratio = s% pg% Text_Summary3_win_aspect_ratio
207 0 : p% file_flag = s% pg% Text_Summary3_file_flag
208 0 : p% file_dir = s% pg% Text_Summary3_file_dir
209 0 : p% file_prefix = s% pg% Text_Summary3_file_prefix
210 0 : p% file_interval = s% pg% Text_Summary3_file_interval
211 0 : p% file_width = s% pg% Text_Summary3_file_width
212 0 : p% file_aspect_ratio = s% pg% Text_Summary3_file_aspect_ratio
213 :
214 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary4)
215 0 : p% plot => Text_Summary4_Plot
216 0 : p% id = i_Text_Summary4
217 0 : p% name = 'Text_Summary4'
218 0 : p% win_flag = s% pg% Text_Summary4_win_flag
219 0 : p% win_width = s% pg% Text_Summary4_win_width
220 0 : p% win_aspect_ratio = s% pg% Text_Summary4_win_aspect_ratio
221 0 : p% file_flag = s% pg% Text_Summary4_file_flag
222 0 : p% file_dir = s% pg% Text_Summary4_file_dir
223 0 : p% file_prefix = s% pg% Text_Summary4_file_prefix
224 0 : p% file_interval = s% pg% Text_Summary4_file_interval
225 0 : p% file_width = s% pg% Text_Summary4_file_width
226 0 : p% file_aspect_ratio = s% pg% Text_Summary4_file_aspect_ratio
227 :
228 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary5)
229 0 : p% plot => Text_Summary5_Plot
230 0 : p% id = i_Text_Summary5
231 0 : p% name = 'Text_Summary5'
232 0 : p% win_flag = s% pg% Text_Summary5_win_flag
233 0 : p% win_width = s% pg% Text_Summary5_win_width
234 0 : p% win_aspect_ratio = s% pg% Text_Summary5_win_aspect_ratio
235 0 : p% file_flag = s% pg% Text_Summary5_file_flag
236 0 : p% file_dir = s% pg% Text_Summary5_file_dir
237 0 : p% file_prefix = s% pg% Text_Summary5_file_prefix
238 0 : p% file_interval = s% pg% Text_Summary5_file_interval
239 0 : p% file_width = s% pg% Text_Summary5_file_width
240 0 : p% file_aspect_ratio = s% pg% Text_Summary5_file_aspect_ratio
241 :
242 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary6)
243 0 : p% plot => Text_Summary6_Plot
244 0 : p% id = i_Text_Summary6
245 0 : p% name = 'Text_Summary6'
246 0 : p% win_flag = s% pg% Text_Summary6_win_flag
247 0 : p% win_width = s% pg% Text_Summary6_win_width
248 0 : p% win_aspect_ratio = s% pg% Text_Summary6_win_aspect_ratio
249 0 : p% file_flag = s% pg% Text_Summary6_file_flag
250 0 : p% file_dir = s% pg% Text_Summary6_file_dir
251 0 : p% file_prefix = s% pg% Text_Summary6_file_prefix
252 0 : p% file_interval = s% pg% Text_Summary6_file_interval
253 0 : p% file_width = s% pg% Text_Summary6_file_width
254 0 : p% file_aspect_ratio = s% pg% Text_Summary6_file_aspect_ratio
255 :
256 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary7)
257 0 : p% plot => Text_Summary7_Plot
258 0 : p% id = i_Text_Summary7
259 0 : p% name = 'Text_Summary7'
260 0 : p% win_flag = s% pg% Text_Summary7_win_flag
261 0 : p% win_width = s% pg% Text_Summary7_win_width
262 0 : p% win_aspect_ratio = s% pg% Text_Summary7_win_aspect_ratio
263 0 : p% file_flag = s% pg% Text_Summary7_file_flag
264 0 : p% file_dir = s% pg% Text_Summary7_file_dir
265 0 : p% file_prefix = s% pg% Text_Summary7_file_prefix
266 0 : p% file_interval = s% pg% Text_Summary7_file_interval
267 0 : p% file_width = s% pg% Text_Summary7_file_width
268 0 : p% file_aspect_ratio = s% pg% Text_Summary7_file_aspect_ratio
269 :
270 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary8)
271 0 : p% plot => Text_Summary8_Plot
272 0 : p% id = i_Text_Summary8
273 0 : p% name = 'Text_Summary8'
274 0 : p% win_flag = s% pg% Text_Summary8_win_flag
275 0 : p% win_width = s% pg% Text_Summary8_win_width
276 0 : p% win_aspect_ratio = s% pg% Text_Summary8_win_aspect_ratio
277 0 : p% file_flag = s% pg% Text_Summary8_file_flag
278 0 : p% file_dir = s% pg% Text_Summary8_file_dir
279 0 : p% file_prefix = s% pg% Text_Summary8_file_prefix
280 0 : p% file_interval = s% pg% Text_Summary8_file_interval
281 0 : p% file_width = s% pg% Text_Summary8_file_width
282 0 : p% file_aspect_ratio = s% pg% Text_Summary8_file_aspect_ratio
283 :
284 0 : p => s% pg% pgstar_win_file_ptr(i_Text_Summary9)
285 0 : p% plot => Text_Summary9_Plot
286 0 : p% id = i_Text_Summary9
287 0 : p% name = 'Text_Summary9'
288 0 : p% win_flag = s% pg% Text_Summary9_win_flag
289 0 : p% win_width = s% pg% Text_Summary9_win_width
290 0 : p% win_aspect_ratio = s% pg% Text_Summary9_win_aspect_ratio
291 0 : p% file_flag = s% pg% Text_Summary9_file_flag
292 0 : p% file_dir = s% pg% Text_Summary9_file_dir
293 0 : p% file_prefix = s% pg% Text_Summary9_file_prefix
294 0 : p% file_interval = s% pg% Text_Summary9_file_interval
295 0 : p% file_width = s% pg% Text_Summary9_file_width
296 0 : p% file_aspect_ratio = s% pg% Text_Summary9_file_aspect_ratio
297 :
298 0 : p => s% pg% pgstar_win_file_ptr(i_TRho_Profile)
299 0 : p% plot => TRho_Profile_plot
300 0 : p% id = i_TRho_Profile
301 0 : p% name = 'TRho_Profile'
302 0 : p% win_flag = s% pg% TRho_Profile_win_flag
303 0 : p% win_width = s% pg% TRho_Profile_win_width
304 0 : p% win_aspect_ratio = s% pg% TRho_Profile_win_aspect_ratio
305 0 : p% file_flag = s% pg% TRho_Profile_file_flag
306 0 : p% file_dir = s% pg% TRho_Profile_file_dir
307 0 : p% file_prefix = s% pg% TRho_Profile_file_prefix
308 0 : p% file_interval = s% pg% TRho_Profile_file_interval
309 0 : p% file_width = s% pg% TRho_Profile_file_width
310 0 : p% file_aspect_ratio = s% pg% TRho_Profile_file_aspect_ratio
311 :
312 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels1)
313 0 : p% plot => Profile_Panels1_plot
314 0 : p% id = i_Profile_Panels1
315 0 : p% name = 'Profile_Panels1'
316 0 : p% win_flag = s% pg% Profile_Panels1_win_flag
317 0 : p% win_width = s% pg% Profile_Panels1_win_width
318 0 : p% win_aspect_ratio = s% pg% Profile_Panels1_win_aspect_ratio
319 0 : p% file_flag = s% pg% Profile_Panels1_file_flag
320 0 : p% file_dir = s% pg% Profile_Panels1_file_dir
321 0 : p% file_prefix = s% pg% Profile_Panels1_file_prefix
322 0 : p% file_interval = s% pg% Profile_Panels1_file_interval
323 0 : p% file_width = s% pg% Profile_Panels1_file_width
324 0 : p% file_aspect_ratio = s% pg% Profile_Panels1_file_aspect_ratio
325 :
326 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels2)
327 0 : p% plot => Profile_Panels2_plot
328 0 : p% id = i_Profile_Panels2
329 0 : p% name = 'Profile_Panels2'
330 0 : p% win_flag = s% pg% Profile_Panels2_win_flag
331 0 : p% win_width = s% pg% Profile_Panels2_win_width
332 0 : p% win_aspect_ratio = s% pg% Profile_Panels2_win_aspect_ratio
333 0 : p% file_flag = s% pg% Profile_Panels2_file_flag
334 0 : p% file_dir = s% pg% Profile_Panels2_file_dir
335 0 : p% file_prefix = s% pg% Profile_Panels2_file_prefix
336 0 : p% file_interval = s% pg% Profile_Panels2_file_interval
337 0 : p% file_width = s% pg% Profile_Panels2_file_width
338 0 : p% file_aspect_ratio = s% pg% Profile_Panels2_file_aspect_ratio
339 :
340 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels3)
341 0 : p% plot => Profile_Panels3_plot
342 0 : p% id = i_Profile_Panels3
343 0 : p% name = 'Profile_Panels3'
344 0 : p% win_flag = s% pg% Profile_Panels3_win_flag
345 0 : p% win_width = s% pg% Profile_Panels3_win_width
346 0 : p% win_aspect_ratio = s% pg% Profile_Panels3_win_aspect_ratio
347 0 : p% file_flag = s% pg% Profile_Panels3_file_flag
348 0 : p% file_dir = s% pg% Profile_Panels3_file_dir
349 0 : p% file_prefix = s% pg% Profile_Panels3_file_prefix
350 0 : p% file_interval = s% pg% Profile_Panels3_file_interval
351 0 : p% file_width = s% pg% Profile_Panels3_file_width
352 0 : p% file_aspect_ratio = s% pg% Profile_Panels3_file_aspect_ratio
353 :
354 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels4)
355 0 : p% plot => Profile_Panels4_plot
356 0 : p% id = i_Profile_Panels4
357 0 : p% name = 'Profile_Panels4'
358 0 : p% win_flag = s% pg% Profile_Panels4_win_flag
359 0 : p% win_width = s% pg% Profile_Panels4_win_width
360 0 : p% win_aspect_ratio = s% pg% Profile_Panels4_win_aspect_ratio
361 0 : p% file_flag = s% pg% Profile_Panels4_file_flag
362 0 : p% file_dir = s% pg% Profile_Panels4_file_dir
363 0 : p% file_prefix = s% pg% Profile_Panels4_file_prefix
364 0 : p% file_interval = s% pg% Profile_Panels4_file_interval
365 0 : p% file_width = s% pg% Profile_Panels4_file_width
366 0 : p% file_aspect_ratio = s% pg% Profile_Panels4_file_aspect_ratio
367 :
368 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels5)
369 0 : p% plot => Profile_Panels5_plot
370 0 : p% id = i_Profile_Panels5
371 0 : p% name = 'Profile_Panels5'
372 0 : p% win_flag = s% pg% Profile_Panels5_win_flag
373 0 : p% win_width = s% pg% Profile_Panels5_win_width
374 0 : p% win_aspect_ratio = s% pg% Profile_Panels5_win_aspect_ratio
375 0 : p% file_flag = s% pg% Profile_Panels5_file_flag
376 0 : p% file_dir = s% pg% Profile_Panels5_file_dir
377 0 : p% file_prefix = s% pg% Profile_Panels5_file_prefix
378 0 : p% file_interval = s% pg% Profile_Panels5_file_interval
379 0 : p% file_width = s% pg% Profile_Panels5_file_width
380 0 : p% file_aspect_ratio = s% pg% Profile_Panels5_file_aspect_ratio
381 :
382 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels6)
383 0 : p% plot => Profile_Panels6_plot
384 0 : p% id = i_Profile_Panels6
385 0 : p% name = 'Profile_Panels6'
386 0 : p% win_flag = s% pg% Profile_Panels6_win_flag
387 0 : p% win_width = s% pg% Profile_Panels6_win_width
388 0 : p% win_aspect_ratio = s% pg% Profile_Panels6_win_aspect_ratio
389 0 : p% file_flag = s% pg% Profile_Panels6_file_flag
390 0 : p% file_dir = s% pg% Profile_Panels6_file_dir
391 0 : p% file_prefix = s% pg% Profile_Panels6_file_prefix
392 0 : p% file_interval = s% pg% Profile_Panels6_file_interval
393 0 : p% file_width = s% pg% Profile_Panels6_file_width
394 0 : p% file_aspect_ratio = s% pg% Profile_Panels6_file_aspect_ratio
395 :
396 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels7)
397 0 : p% plot => Profile_Panels7_plot
398 0 : p% id = i_Profile_Panels7
399 0 : p% name = 'Profile_Panels7'
400 0 : p% win_flag = s% pg% Profile_Panels7_win_flag
401 0 : p% win_width = s% pg% Profile_Panels7_win_width
402 0 : p% win_aspect_ratio = s% pg% Profile_Panels7_win_aspect_ratio
403 0 : p% file_flag = s% pg% Profile_Panels7_file_flag
404 0 : p% file_dir = s% pg% Profile_Panels7_file_dir
405 0 : p% file_prefix = s% pg% Profile_Panels7_file_prefix
406 0 : p% file_interval = s% pg% Profile_Panels7_file_interval
407 0 : p% file_width = s% pg% Profile_Panels7_file_width
408 0 : p% file_aspect_ratio = s% pg% Profile_Panels7_file_aspect_ratio
409 :
410 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels8)
411 0 : p% plot => Profile_Panels8_plot
412 0 : p% id = i_Profile_Panels8
413 0 : p% name = 'Profile_Panels8'
414 0 : p% win_flag = s% pg% Profile_Panels8_win_flag
415 0 : p% win_width = s% pg% Profile_Panels8_win_width
416 0 : p% win_aspect_ratio = s% pg% Profile_Panels8_win_aspect_ratio
417 0 : p% file_flag = s% pg% Profile_Panels8_file_flag
418 0 : p% file_dir = s% pg% Profile_Panels8_file_dir
419 0 : p% file_prefix = s% pg% Profile_Panels8_file_prefix
420 0 : p% file_interval = s% pg% Profile_Panels8_file_interval
421 0 : p% file_width = s% pg% Profile_Panels8_file_width
422 0 : p% file_aspect_ratio = s% pg% Profile_Panels8_file_aspect_ratio
423 :
424 0 : p => s% pg% pgstar_win_file_ptr(i_Profile_Panels9)
425 0 : p% plot => Profile_Panels9_plot
426 0 : p% id = i_Profile_Panels9
427 0 : p% name = 'Profile_Panels9'
428 0 : p% win_flag = s% pg% Profile_Panels9_win_flag
429 0 : p% win_width = s% pg% Profile_Panels9_win_width
430 0 : p% win_aspect_ratio = s% pg% Profile_Panels9_win_aspect_ratio
431 0 : p% file_flag = s% pg% Profile_Panels9_file_flag
432 0 : p% file_dir = s% pg% Profile_Panels9_file_dir
433 0 : p% file_prefix = s% pg% Profile_Panels9_file_prefix
434 0 : p% file_interval = s% pg% Profile_Panels9_file_interval
435 0 : p% file_width = s% pg% Profile_Panels9_file_width
436 0 : p% file_aspect_ratio = s% pg% Profile_Panels9_file_aspect_ratio
437 :
438 0 : p => s% pg% pgstar_win_file_ptr(i_logg_Teff)
439 0 : p% plot => logg_Teff_Plot
440 0 : p% id = i_logg_Teff
441 0 : p% name = 'logg_Teff'
442 0 : p% win_flag = s% pg% logg_Teff_win_flag
443 0 : p% win_width = s% pg% logg_Teff_win_width
444 0 : p% win_aspect_ratio = s% pg% logg_Teff_win_aspect_ratio
445 0 : p% file_flag = s% pg% logg_Teff_file_flag
446 0 : p% file_dir = s% pg% logg_Teff_file_dir
447 0 : p% file_prefix = s% pg% logg_Teff_file_prefix
448 0 : p% file_interval = s% pg% logg_Teff_file_interval
449 0 : p% file_width = s% pg% logg_Teff_file_width
450 0 : p% file_aspect_ratio = s% pg% logg_Teff_file_aspect_ratio
451 :
452 0 : p => s% pg% pgstar_win_file_ptr(i_logL_Teff)
453 0 : p% plot => logL_Teff_Plot
454 0 : p% id = i_logL_Teff
455 0 : p% name = 'logL_Teff'
456 0 : p% win_flag = s% pg% logL_Teff_win_flag
457 0 : p% win_width = s% pg% logL_Teff_win_width
458 0 : p% win_aspect_ratio = s% pg% logL_Teff_win_aspect_ratio
459 0 : p% file_flag = s% pg% logL_Teff_file_flag
460 0 : p% file_dir = s% pg% logL_Teff_file_dir
461 0 : p% file_prefix = s% pg% logL_Teff_file_prefix
462 0 : p% file_interval = s% pg% logL_Teff_file_interval
463 0 : p% file_width = s% pg% logL_Teff_file_width
464 0 : p% file_aspect_ratio = s% pg% logL_Teff_file_aspect_ratio
465 :
466 0 : p => s% pg% pgstar_win_file_ptr(i_L_Teff)
467 0 : p% plot => L_Teff_Plot
468 0 : p% id = i_L_Teff
469 0 : p% name = 'L_Teff'
470 0 : p% win_flag = s% pg% L_Teff_win_flag
471 0 : p% win_width = s% pg% L_Teff_win_width
472 0 : p% win_aspect_ratio = s% pg% L_Teff_win_aspect_ratio
473 0 : p% file_flag = s% pg% L_Teff_file_flag
474 0 : p% file_dir = s% pg% L_Teff_file_dir
475 0 : p% file_prefix = s% pg% L_Teff_file_prefix
476 0 : p% file_interval = s% pg% L_Teff_file_interval
477 0 : p% file_width = s% pg% L_Teff_file_width
478 0 : p% file_aspect_ratio = s% pg% L_Teff_file_aspect_ratio
479 :
480 0 : p => s% pg% pgstar_win_file_ptr(i_L_v)
481 0 : p% plot => L_v_Plot
482 0 : p% id = i_L_v
483 0 : p% name = 'L_v'
484 0 : p% win_flag = s% pg% L_v_win_flag
485 0 : p% win_width = s% pg% L_v_win_width
486 0 : p% win_aspect_ratio = s% pg% L_v_win_aspect_ratio
487 0 : p% file_flag = s% pg% L_v_file_flag
488 0 : p% file_dir = s% pg% L_v_file_dir
489 0 : p% file_prefix = s% pg% L_v_file_prefix
490 0 : p% file_interval = s% pg% L_v_file_interval
491 0 : p% file_width = s% pg% L_v_file_width
492 0 : p% file_aspect_ratio = s% pg% L_v_file_aspect_ratio
493 :
494 0 : p => s% pg% pgstar_win_file_ptr(i_L_R)
495 0 : p% plot => L_R_Plot
496 0 : p% id = i_L_R
497 0 : p% name = 'L_R'
498 0 : p% win_flag = s% pg% L_R_win_flag
499 0 : p% win_width = s% pg% L_R_win_width
500 0 : p% win_aspect_ratio = s% pg% L_R_win_aspect_ratio
501 0 : p% file_flag = s% pg% L_R_file_flag
502 0 : p% file_dir = s% pg% L_R_file_dir
503 0 : p% file_prefix = s% pg% L_R_file_prefix
504 0 : p% file_interval = s% pg% L_R_file_interval
505 0 : p% file_width = s% pg% L_R_file_width
506 0 : p% file_aspect_ratio = s% pg% L_R_file_aspect_ratio
507 :
508 0 : p => s% pg% pgstar_win_file_ptr(i_R_Teff)
509 0 : p% plot => R_Teff_Plot
510 0 : p% id = i_R_Teff
511 0 : p% name = 'R_Teff'
512 0 : p% win_flag = s% pg% R_Teff_win_flag
513 0 : p% win_width = s% pg% R_Teff_win_width
514 0 : p% win_aspect_ratio = s% pg% R_Teff_win_aspect_ratio
515 0 : p% file_flag = s% pg% R_Teff_file_flag
516 0 : p% file_dir = s% pg% R_Teff_file_dir
517 0 : p% file_prefix = s% pg% R_Teff_file_prefix
518 0 : p% file_interval = s% pg% R_Teff_file_interval
519 0 : p% file_width = s% pg% R_Teff_file_width
520 0 : p% file_aspect_ratio = s% pg% R_Teff_file_aspect_ratio
521 :
522 0 : p => s% pg% pgstar_win_file_ptr(i_R_L)
523 0 : p% plot => R_L_Plot
524 0 : p% id = i_R_L
525 0 : p% name = 'R_L'
526 0 : p% win_flag = s% pg% R_L_win_flag
527 0 : p% win_width = s% pg% R_L_win_width
528 0 : p% win_aspect_ratio = s% pg% R_L_win_aspect_ratio
529 0 : p% file_flag = s% pg% R_L_file_flag
530 0 : p% file_dir = s% pg% R_L_file_dir
531 0 : p% file_prefix = s% pg% R_L_file_prefix
532 0 : p% file_interval = s% pg% R_L_file_interval
533 0 : p% file_width = s% pg% R_L_file_width
534 0 : p% file_aspect_ratio = s% pg% R_L_file_aspect_ratio
535 :
536 0 : p => s% pg% pgstar_win_file_ptr(i_logg_logT)
537 0 : p% plot => logg_logT_Plot
538 0 : p% id = i_logg_logT
539 0 : p% name = 'logg_logT'
540 0 : p% win_flag = s% pg% logg_logT_win_flag
541 0 : p% win_width = s% pg% logg_logT_win_width
542 0 : p% win_aspect_ratio = s% pg% logg_logT_win_aspect_ratio
543 0 : p% file_flag = s% pg% logg_logT_file_flag
544 0 : p% file_dir = s% pg% logg_logT_file_dir
545 0 : p% file_prefix = s% pg% logg_logT_file_prefix
546 0 : p% file_interval = s% pg% logg_logT_file_interval
547 0 : p% file_width = s% pg% logg_logT_file_width
548 0 : p% file_aspect_ratio = s% pg% logg_logT_file_aspect_ratio
549 :
550 0 : p => s% pg% pgstar_win_file_ptr(i_dPg_dnu)
551 0 : p% plot => dPg_dnu_Plot
552 0 : p% id = i_dPg_dnu
553 0 : p% name = 'dPg_dnu'
554 0 : p% win_flag = s% pg% dPg_dnu_win_flag
555 0 : p% win_width = s% pg% dPg_dnu_win_width
556 0 : p% win_aspect_ratio = s% pg% dPg_dnu_win_aspect_ratio
557 0 : p% file_flag = s% pg% dPg_dnu_file_flag
558 0 : p% file_dir = s% pg% dPg_dnu_file_dir
559 0 : p% file_prefix = s% pg% dPg_dnu_file_prefix
560 0 : p% file_interval = s% pg% dPg_dnu_file_interval
561 0 : p% file_width = s% pg% dPg_dnu_file_width
562 0 : p% file_aspect_ratio = s% pg% dPg_dnu_file_aspect_ratio
563 :
564 0 : p => s% pg% pgstar_win_file_ptr(i_HR)
565 0 : p% plot => HR_Plot
566 0 : p% id = i_HR
567 0 : p% name = 'HR'
568 0 : p% win_flag = s% pg% HR_win_flag
569 0 : p% win_width = s% pg% HR_win_width
570 0 : p% win_aspect_ratio = s% pg% HR_win_aspect_ratio
571 0 : p% file_flag = s% pg% HR_file_flag
572 0 : p% file_dir = s% pg% HR_file_dir
573 0 : p% file_prefix = s% pg% HR_file_prefix
574 0 : p% file_interval = s% pg% HR_file_interval
575 0 : p% file_width = s% pg% HR_file_width
576 0 : p% file_aspect_ratio = s% pg% HR_file_aspect_ratio
577 :
578 0 : p => s% pg% pgstar_win_file_ptr(i_TRho)
579 0 : p% plot => TRho_Plot
580 0 : p% id = i_TRho
581 0 : p% name = 'TRho'
582 0 : p% win_flag = s% pg% TRho_win_flag
583 0 : p% win_width = s% pg% TRho_win_width
584 0 : p% win_aspect_ratio = s% pg% TRho_win_aspect_ratio
585 0 : p% file_flag = s% pg% TRho_file_flag
586 0 : p% file_dir = s% pg% TRho_file_dir
587 0 : p% file_prefix = s% pg% TRho_file_prefix
588 0 : p% file_interval = s% pg% TRho_file_interval
589 0 : p% file_width = s% pg% TRho_file_width
590 0 : p% file_aspect_ratio = s% pg% TRho_file_aspect_ratio
591 :
592 0 : p => s% pg% pgstar_win_file_ptr(i_TmaxRho)
593 0 : p% plot => TmaxRho_Plot
594 0 : p% id = i_TmaxRho
595 0 : p% name = 'TmaxRho'
596 0 : p% win_flag = s% pg% TmaxRho_win_flag
597 0 : p% win_width = s% pg% TmaxRho_win_width
598 0 : p% win_aspect_ratio = s% pg% TmaxRho_win_aspect_ratio
599 0 : p% file_flag = s% pg% TmaxRho_file_flag
600 0 : p% file_dir = s% pg% TmaxRho_file_dir
601 0 : p% file_prefix = s% pg% TmaxRho_file_prefix
602 0 : p% file_interval = s% pg% TmaxRho_file_interval
603 0 : p% file_width = s% pg% TmaxRho_file_width
604 0 : p% file_aspect_ratio = s% pg% TmaxRho_file_aspect_ratio
605 :
606 0 : p => s% pg% pgstar_win_file_ptr(i_Dynamo)
607 0 : p% plot => Dynamo_plot
608 0 : p% id = i_Dynamo
609 0 : p% name = 'Dynamo'
610 0 : p% win_flag = s% pg% Dynamo_win_flag
611 0 : p% win_width = s% pg% Dynamo_win_width
612 0 : p% win_aspect_ratio = s% pg% Dynamo_win_aspect_ratio
613 0 : p% file_flag = s% pg% Dynamo_file_flag
614 0 : p% file_dir = s% pg% Dynamo_file_dir
615 0 : p% file_prefix = s% pg% Dynamo_file_prefix
616 0 : p% file_interval = s% pg% Dynamo_file_interval
617 0 : p% file_width = s% pg% Dynamo_file_width
618 0 : p% file_aspect_ratio = s% pg% Dynamo_file_aspect_ratio
619 :
620 0 : p => s% pg% pgstar_win_file_ptr(i_Mixing)
621 0 : p% plot => Mixing_plot
622 0 : p% id = i_Mixing
623 0 : p% name = 'Mixing'
624 0 : p% win_flag = s% pg% Mixing_win_flag
625 0 : p% win_width = s% pg% Mixing_win_width
626 0 : p% win_aspect_ratio = s% pg% Mixing_win_aspect_ratio
627 0 : p% file_flag = s% pg% Mixing_file_flag
628 0 : p% file_dir = s% pg% Mixing_file_dir
629 0 : p% file_prefix = s% pg% Mixing_file_prefix
630 0 : p% file_interval = s% pg% Mixing_file_interval
631 0 : p% file_width = s% pg% Mixing_file_width
632 0 : p% file_aspect_ratio = s% pg% Mixing_file_aspect_ratio
633 :
634 0 : p => s% pg% pgstar_win_file_ptr(i_Kipp)
635 0 : p% plot => Kipp_Plot
636 0 : p% id = i_Kipp
637 0 : p% name = 'Kipp'
638 0 : p% win_flag = s% pg% Kipp_win_flag
639 0 : p% win_width = s% pg% Kipp_win_width
640 0 : p% win_aspect_ratio = s% pg% Kipp_win_aspect_ratio
641 0 : p% file_flag = s% pg% Kipp_file_flag
642 0 : p% file_dir = s% pg% Kipp_file_dir
643 0 : p% file_prefix = s% pg% Kipp_file_prefix
644 0 : p% file_interval = s% pg% Kipp_file_interval
645 0 : p% file_width = s% pg% Kipp_file_width
646 0 : p% file_aspect_ratio = s% pg% Kipp_file_aspect_ratio
647 :
648 0 : p => s% pg% pgstar_win_file_ptr(i_Network)
649 0 : p% plot => Network_Plot
650 0 : p% id = i_Network
651 0 : p% name = 'Network'
652 0 : p% win_flag = s% pg% Network_win_flag
653 0 : p% win_width = s% pg% Network_win_width
654 0 : p% win_aspect_ratio = s% pg% Network_win_aspect_ratio
655 0 : p% file_flag = s% pg% Network_file_flag
656 0 : p% file_dir = s% pg% Network_file_dir
657 0 : p% file_prefix = s% pg% Network_file_prefix
658 0 : p% file_interval = s% pg% Network_file_interval
659 0 : p% file_width = s% pg% Network_file_width
660 0 : p% file_aspect_ratio = s% pg% Network_file_aspect_ratio
661 :
662 0 : p => s% pg% pgstar_win_file_ptr(i_Production)
663 0 : p% plot => Production_Plot
664 0 : p% id = i_Production
665 0 : p% name = 'Production'
666 0 : p% win_flag = s% pg% Production_win_flag
667 0 : p% win_width = s% pg% Production_win_width
668 0 : p% win_aspect_ratio = s% pg% Production_win_aspect_ratio
669 0 : p% file_flag = s% pg% Production_file_flag
670 0 : p% file_dir = s% pg% Production_file_dir
671 0 : p% file_prefix = s% pg% Production_file_prefix
672 0 : p% file_interval = s% pg% Production_file_interval
673 0 : p% file_width = s% pg% Production_file_width
674 0 : p% file_aspect_ratio = s% pg% Production_file_aspect_ratio
675 :
676 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels1)
677 0 : p% plot => History_Panels1_plot
678 0 : p% id = i_Hist_Panels1
679 0 : p% name = 'History_Panels1'
680 0 : p% win_flag = s% pg% History_Panels1_win_flag
681 0 : p% win_width = s% pg% History_Panels1_win_width
682 0 : p% win_aspect_ratio = s% pg% History_Panels1_win_aspect_ratio
683 0 : p% file_flag = s% pg% History_Panels1_file_flag
684 0 : p% file_dir = s% pg% History_Panels1_file_dir
685 0 : p% file_prefix = s% pg% History_Panels1_file_prefix
686 0 : p% file_interval = s% pg% History_Panels1_file_interval
687 0 : p% file_width = s% pg% History_Panels1_file_width
688 0 : p% file_aspect_ratio = s% pg% History_Panels1_file_aspect_ratio
689 :
690 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels2)
691 0 : p% plot => History_Panels2_plot
692 0 : p% id = i_Hist_Panels2
693 0 : p% name = 'History_Panels2'
694 0 : p% win_flag = s% pg% History_Panels2_win_flag
695 0 : p% win_width = s% pg% History_Panels2_win_width
696 0 : p% win_aspect_ratio = s% pg% History_Panels2_win_aspect_ratio
697 0 : p% file_flag = s% pg% History_Panels2_file_flag
698 0 : p% file_dir = s% pg% History_Panels2_file_dir
699 0 : p% file_prefix = s% pg% History_Panels2_file_prefix
700 0 : p% file_interval = s% pg% History_Panels2_file_interval
701 0 : p% file_width = s% pg% History_Panels2_file_width
702 0 : p% file_aspect_ratio = s% pg% History_Panels2_file_aspect_ratio
703 :
704 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels3)
705 0 : p% plot => History_Panels3_plot
706 0 : p% id = i_Hist_Panels3
707 0 : p% name = 'History_Panels3'
708 0 : p% win_flag = s% pg% History_Panels3_win_flag
709 0 : p% win_width = s% pg% History_Panels3_win_width
710 0 : p% win_aspect_ratio = s% pg% History_Panels3_win_aspect_ratio
711 0 : p% file_flag = s% pg% History_Panels3_file_flag
712 0 : p% file_dir = s% pg% History_Panels3_file_dir
713 0 : p% file_prefix = s% pg% History_Panels3_file_prefix
714 0 : p% file_interval = s% pg% History_Panels3_file_interval
715 0 : p% file_width = s% pg% History_Panels3_file_width
716 0 : p% file_aspect_ratio = s% pg% History_Panels3_file_aspect_ratio
717 :
718 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels4)
719 0 : p% plot => History_Panels4_plot
720 0 : p% id = i_Hist_Panels4
721 0 : p% name = 'History_Panels4'
722 0 : p% win_flag = s% pg% History_Panels4_win_flag
723 0 : p% win_width = s% pg% History_Panels4_win_width
724 0 : p% win_aspect_ratio = s% pg% History_Panels4_win_aspect_ratio
725 0 : p% file_flag = s% pg% History_Panels4_file_flag
726 0 : p% file_dir = s% pg% History_Panels4_file_dir
727 0 : p% file_prefix = s% pg% History_Panels4_file_prefix
728 0 : p% file_interval = s% pg% History_Panels4_file_interval
729 0 : p% file_width = s% pg% History_Panels4_file_width
730 0 : p% file_aspect_ratio = s% pg% History_Panels4_file_aspect_ratio
731 :
732 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels5)
733 0 : p% plot => History_Panels5_plot
734 0 : p% id = i_Hist_Panels5
735 0 : p% name = 'History_Panels5'
736 0 : p% win_flag = s% pg% History_Panels5_win_flag
737 0 : p% win_width = s% pg% History_Panels5_win_width
738 0 : p% win_aspect_ratio = s% pg% History_Panels5_win_aspect_ratio
739 0 : p% file_flag = s% pg% History_Panels5_file_flag
740 0 : p% file_dir = s% pg% History_Panels5_file_dir
741 0 : p% file_prefix = s% pg% History_Panels5_file_prefix
742 0 : p% file_interval = s% pg% History_Panels5_file_interval
743 0 : p% file_width = s% pg% History_Panels5_file_width
744 0 : p% file_aspect_ratio = s% pg% History_Panels5_file_aspect_ratio
745 :
746 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels6)
747 0 : p% plot => History_Panels6_plot
748 0 : p% id = i_Hist_Panels6
749 0 : p% name = 'History_Panels6'
750 0 : p% win_flag = s% pg% History_Panels6_win_flag
751 0 : p% win_width = s% pg% History_Panels6_win_width
752 0 : p% win_aspect_ratio = s% pg% History_Panels6_win_aspect_ratio
753 0 : p% file_flag = s% pg% History_Panels6_file_flag
754 0 : p% file_dir = s% pg% History_Panels6_file_dir
755 0 : p% file_prefix = s% pg% History_Panels6_file_prefix
756 0 : p% file_interval = s% pg% History_Panels6_file_interval
757 0 : p% file_width = s% pg% History_Panels6_file_width
758 0 : p% file_aspect_ratio = s% pg% History_Panels6_file_aspect_ratio
759 :
760 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels7)
761 0 : p% plot => History_Panels7_plot
762 0 : p% id = i_Hist_Panels7
763 0 : p% name = 'History_Panels7'
764 0 : p% win_flag = s% pg% History_Panels7_win_flag
765 0 : p% win_width = s% pg% History_Panels7_win_width
766 0 : p% win_aspect_ratio = s% pg% History_Panels7_win_aspect_ratio
767 0 : p% file_flag = s% pg% History_Panels7_file_flag
768 0 : p% file_dir = s% pg% History_Panels7_file_dir
769 0 : p% file_prefix = s% pg% History_Panels7_file_prefix
770 0 : p% file_interval = s% pg% History_Panels7_file_interval
771 0 : p% file_width = s% pg% History_Panels7_file_width
772 0 : p% file_aspect_ratio = s% pg% History_Panels7_file_aspect_ratio
773 :
774 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels8)
775 0 : p% plot => History_Panels8_plot
776 0 : p% id = i_Hist_Panels8
777 0 : p% name = 'History_Panels8'
778 0 : p% win_flag = s% pg% History_Panels8_win_flag
779 0 : p% win_width = s% pg% History_Panels8_win_width
780 0 : p% win_aspect_ratio = s% pg% History_Panels8_win_aspect_ratio
781 0 : p% file_flag = s% pg% History_Panels8_file_flag
782 0 : p% file_dir = s% pg% History_Panels8_file_dir
783 0 : p% file_prefix = s% pg% History_Panels8_file_prefix
784 0 : p% file_interval = s% pg% History_Panels8_file_interval
785 0 : p% file_width = s% pg% History_Panels8_file_width
786 0 : p% file_aspect_ratio = s% pg% History_Panels8_file_aspect_ratio
787 :
788 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Panels9)
789 0 : p% plot => History_Panels9_plot
790 0 : p% id = i_Hist_Panels9
791 0 : p% name = 'History_Panels9'
792 0 : p% win_flag = s% pg% History_Panels9_win_flag
793 0 : p% win_width = s% pg% History_Panels9_win_width
794 0 : p% win_aspect_ratio = s% pg% History_Panels9_win_aspect_ratio
795 0 : p% file_flag = s% pg% History_Panels9_file_flag
796 0 : p% file_dir = s% pg% History_Panels9_file_dir
797 0 : p% file_prefix = s% pg% History_Panels9_file_prefix
798 0 : p% file_interval = s% pg% History_Panels9_file_interval
799 0 : p% file_width = s% pg% History_Panels9_file_width
800 0 : p% file_aspect_ratio = s% pg% History_Panels9_file_aspect_ratio
801 :
802 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track1)
803 0 : p% plot => History_Track1_plot
804 0 : p% id = i_Hist_Track1
805 0 : p% name = 'History_Track1'
806 0 : p% win_flag = s% pg% History_Track1_win_flag
807 0 : p% win_width = s% pg% History_Track1_win_width
808 0 : p% win_aspect_ratio = s% pg% History_Track1_win_aspect_ratio
809 0 : p% file_flag = s% pg% History_Track1_file_flag
810 0 : p% file_dir = s% pg% History_Track1_file_dir
811 0 : p% file_prefix = s% pg% History_Track1_file_prefix
812 0 : p% file_interval = s% pg% History_Track1_file_interval
813 0 : p% file_width = s% pg% History_Track1_file_width
814 0 : p% file_aspect_ratio = s% pg% History_Track1_file_aspect_ratio
815 :
816 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track2)
817 0 : p% plot => History_Track2_plot
818 0 : p% id = i_Hist_Track2
819 0 : p% name = 'History_Track2'
820 0 : p% win_flag = s% pg% History_Track2_win_flag
821 0 : p% win_width = s% pg% History_Track2_win_width
822 0 : p% win_aspect_ratio = s% pg% History_Track2_win_aspect_ratio
823 0 : p% file_flag = s% pg% History_Track2_file_flag
824 0 : p% file_dir = s% pg% History_Track2_file_dir
825 0 : p% file_prefix = s% pg% History_Track2_file_prefix
826 0 : p% file_interval = s% pg% History_Track2_file_interval
827 0 : p% file_width = s% pg% History_Track2_file_width
828 0 : p% file_aspect_ratio = s% pg% History_Track2_file_aspect_ratio
829 :
830 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track3)
831 0 : p% plot => History_Track3_plot
832 0 : p% id = i_Hist_Track3
833 0 : p% name = 'History_Track3'
834 0 : p% win_flag = s% pg% History_Track3_win_flag
835 0 : p% win_width = s% pg% History_Track3_win_width
836 0 : p% win_aspect_ratio = s% pg% History_Track3_win_aspect_ratio
837 0 : p% file_flag = s% pg% History_Track3_file_flag
838 0 : p% file_dir = s% pg% History_Track3_file_dir
839 0 : p% file_prefix = s% pg% History_Track3_file_prefix
840 0 : p% file_interval = s% pg% History_Track3_file_interval
841 0 : p% file_width = s% pg% History_Track3_file_width
842 0 : p% file_aspect_ratio = s% pg% History_Track3_file_aspect_ratio
843 :
844 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track4)
845 0 : p% plot => History_Track4_plot
846 0 : p% id = i_Hist_Track4
847 0 : p% name = 'History_Track4'
848 0 : p% win_flag = s% pg% History_Track4_win_flag
849 0 : p% win_width = s% pg% History_Track4_win_width
850 0 : p% win_aspect_ratio = s% pg% History_Track4_win_aspect_ratio
851 0 : p% file_flag = s% pg% History_Track4_file_flag
852 0 : p% file_dir = s% pg% History_Track4_file_dir
853 0 : p% file_prefix = s% pg% History_Track4_file_prefix
854 0 : p% file_interval = s% pg% History_Track4_file_interval
855 0 : p% file_width = s% pg% History_Track4_file_width
856 0 : p% file_aspect_ratio = s% pg% History_Track4_file_aspect_ratio
857 :
858 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track5)
859 0 : p% plot => History_Track5_plot
860 0 : p% id = i_Hist_Track5
861 0 : p% name = 'History_Track5'
862 0 : p% win_flag = s% pg% History_Track5_win_flag
863 0 : p% win_width = s% pg% History_Track5_win_width
864 0 : p% win_aspect_ratio = s% pg% History_Track5_win_aspect_ratio
865 0 : p% file_flag = s% pg% History_Track5_file_flag
866 0 : p% file_dir = s% pg% History_Track5_file_dir
867 0 : p% file_prefix = s% pg% History_Track5_file_prefix
868 0 : p% file_interval = s% pg% History_Track5_file_interval
869 0 : p% file_width = s% pg% History_Track5_file_width
870 0 : p% file_aspect_ratio = s% pg% History_Track5_file_aspect_ratio
871 :
872 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track6)
873 0 : p% plot => History_Track6_plot
874 0 : p% id = i_Hist_Track6
875 0 : p% name = 'History_Track6'
876 0 : p% win_flag = s% pg% History_Track6_win_flag
877 0 : p% win_width = s% pg% History_Track6_win_width
878 0 : p% win_aspect_ratio = s% pg% History_Track6_win_aspect_ratio
879 0 : p% file_flag = s% pg% History_Track6_file_flag
880 0 : p% file_dir = s% pg% History_Track6_file_dir
881 0 : p% file_prefix = s% pg% History_Track6_file_prefix
882 0 : p% file_interval = s% pg% History_Track6_file_interval
883 0 : p% file_width = s% pg% History_Track6_file_width
884 0 : p% file_aspect_ratio = s% pg% History_Track6_file_aspect_ratio
885 :
886 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track7)
887 0 : p% plot => History_Track7_plot
888 0 : p% id = i_Hist_Track7
889 0 : p% name = 'History_Track7'
890 0 : p% win_flag = s% pg% History_Track7_win_flag
891 0 : p% win_width = s% pg% History_Track7_win_width
892 0 : p% win_aspect_ratio = s% pg% History_Track7_win_aspect_ratio
893 0 : p% file_flag = s% pg% History_Track7_file_flag
894 0 : p% file_dir = s% pg% History_Track7_file_dir
895 0 : p% file_prefix = s% pg% History_Track7_file_prefix
896 0 : p% file_interval = s% pg% History_Track7_file_interval
897 0 : p% file_width = s% pg% History_Track7_file_width
898 0 : p% file_aspect_ratio = s% pg% History_Track7_file_aspect_ratio
899 :
900 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track8)
901 0 : p% plot => History_Track8_plot
902 0 : p% id = i_Hist_Track8
903 0 : p% name = 'History_Track8'
904 0 : p% win_flag = s% pg% History_Track8_win_flag
905 0 : p% win_width = s% pg% History_Track8_win_width
906 0 : p% win_aspect_ratio = s% pg% History_Track8_win_aspect_ratio
907 0 : p% file_flag = s% pg% History_Track8_file_flag
908 0 : p% file_dir = s% pg% History_Track8_file_dir
909 0 : p% file_prefix = s% pg% History_Track8_file_prefix
910 0 : p% file_interval = s% pg% History_Track8_file_interval
911 0 : p% file_width = s% pg% History_Track8_file_width
912 0 : p% file_aspect_ratio = s% pg% History_Track8_file_aspect_ratio
913 :
914 0 : p => s% pg% pgstar_win_file_ptr(i_Hist_Track9)
915 0 : p% plot => History_Track9_plot
916 0 : p% id = i_Hist_Track9
917 0 : p% name = 'History_Track9'
918 0 : p% win_flag = s% pg% History_Track9_win_flag
919 0 : p% win_width = s% pg% History_Track9_win_width
920 0 : p% win_aspect_ratio = s% pg% History_Track9_win_aspect_ratio
921 0 : p% file_flag = s% pg% History_Track9_file_flag
922 0 : p% file_dir = s% pg% History_Track9_file_dir
923 0 : p% file_prefix = s% pg% History_Track9_file_prefix
924 0 : p% file_interval = s% pg% History_Track9_file_interval
925 0 : p% file_width = s% pg% History_Track9_file_width
926 0 : p% file_aspect_ratio = s% pg% History_Track9_file_aspect_ratio
927 :
928 0 : p => s% pg% pgstar_win_file_ptr(i_Mode_Prop)
929 0 : p% plot => mode_propagation_plot
930 0 : p% id = i_Mode_Prop
931 0 : p% name = 'Mode_Propagation'
932 0 : p% win_flag = s% pg% Mode_Prop_win_flag
933 0 : p% win_width = s% pg% Mode_Prop_win_width
934 0 : p% win_aspect_ratio = s% pg% Mode_Prop_win_aspect_ratio
935 0 : p% file_flag = s% pg% Mode_Prop_file_flag
936 0 : p% file_dir = s% pg% Mode_Prop_file_dir
937 0 : p% file_prefix = s% pg% Mode_Prop_file_prefix
938 0 : p% file_interval = s% pg% Mode_Prop_file_interval
939 0 : p% file_width = s% pg% Mode_Prop_file_width
940 0 : p% file_aspect_ratio = s% pg% Mode_Prop_file_aspect_ratio
941 :
942 0 : p => s% pg% pgstar_win_file_ptr(i_Power)
943 0 : p% plot => power_plot
944 0 : p% id = i_Power
945 0 : p% name = 'Power'
946 0 : p% win_flag = s% pg% Power_win_flag
947 0 : p% win_width = s% pg% Power_win_width
948 0 : p% win_aspect_ratio = s% pg% Power_win_aspect_ratio
949 0 : p% file_flag = s% pg% Power_file_flag
950 0 : p% file_dir = s% pg% Power_file_dir
951 0 : p% file_prefix = s% pg% Power_file_prefix
952 0 : p% file_interval = s% pg% Power_file_interval
953 0 : p% file_width = s% pg% Power_file_width
954 0 : p% file_aspect_ratio = s% pg% Power_file_aspect_ratio
955 :
956 0 : p => s% pg% pgstar_win_file_ptr(i_Abundance)
957 0 : p% plot => abundance_plot
958 0 : p% id = i_Abundance
959 0 : p% name = 'Abundance'
960 0 : p% win_flag = s% pg% Abundance_win_flag
961 0 : p% win_width = s% pg% Abundance_win_width
962 0 : p% win_aspect_ratio = s% pg% Abundance_win_aspect_ratio
963 0 : p% file_flag = s% pg% Abundance_file_flag
964 0 : p% file_dir = s% pg% Abundance_file_dir
965 0 : p% file_prefix = s% pg% Abundance_file_prefix
966 0 : p% file_interval = s% pg% Abundance_file_interval
967 0 : p% file_width = s% pg% Abundance_file_width
968 0 : p% file_aspect_ratio = s% pg% Abundance_file_aspect_ratio
969 :
970 0 : p => s% pg% pgstar_win_file_ptr(i_Summary_Burn)
971 0 : p% plot => summary_burn_plot
972 0 : p% id = i_Summary_Burn
973 0 : p% name = 'Summary_Burn'
974 0 : p% win_flag = s% pg% Summary_Burn_win_flag
975 0 : p% win_width = s% pg% Summary_Burn_win_width
976 0 : p% win_aspect_ratio = s% pg% Summary_Burn_win_aspect_ratio
977 0 : p% file_flag = s% pg% Summary_Burn_file_flag
978 0 : p% file_dir = s% pg% Summary_Burn_file_dir
979 0 : p% file_prefix = s% pg% Summary_Burn_file_prefix
980 0 : p% file_interval = s% pg% Summary_Burn_file_interval
981 0 : p% file_width = s% pg% Summary_Burn_file_width
982 0 : p% file_aspect_ratio = s% pg% Summary_Burn_file_aspect_ratio
983 :
984 0 : p => s% pg% pgstar_win_file_ptr(i_Summary_Profile)
985 0 : p% plot => summary_profile_plot
986 0 : p% id = i_Summary_Profile
987 0 : p% name = 'Summary_Profile'
988 0 : p% win_flag = s% pg% Summary_Profile_win_flag
989 0 : p% win_width = s% pg% Summary_Profile_win_width
990 0 : p% win_aspect_ratio = s% pg% Summary_Profile_win_aspect_ratio
991 0 : p% file_flag = s% pg% Summary_Profile_file_flag
992 0 : p% file_dir = s% pg% Summary_Profile_file_dir
993 0 : p% file_prefix = s% pg% Summary_Profile_file_prefix
994 0 : p% file_interval = s% pg% Summary_Profile_file_interval
995 0 : p% file_width = s% pg% Summary_Profile_file_width
996 0 : p% file_aspect_ratio = s% pg% Summary_Profile_file_aspect_ratio
997 :
998 0 : p => s% pg% pgstar_win_file_ptr(i_Summary_History)
999 0 : p% plot => summary_history_plot
1000 0 : p% id = i_Summary_History
1001 0 : p% name = 'Summary_History'
1002 0 : p% win_flag = s% pg% Summary_History_win_flag
1003 0 : p% win_width = s% pg% Summary_History_win_width
1004 0 : p% win_aspect_ratio = s% pg% Summary_History_win_aspect_ratio
1005 0 : p% file_flag = s% pg% Summary_History_file_flag
1006 0 : p% file_dir = s% pg% Summary_History_file_dir
1007 0 : p% file_prefix = s% pg% Summary_History_file_prefix
1008 0 : p% file_interval = s% pg% Summary_History_file_interval
1009 0 : p% file_width = s% pg% Summary_History_file_width
1010 0 : p% file_aspect_ratio = s% pg% Summary_History_file_aspect_ratio
1011 :
1012 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag1)
1013 0 : p% plot => Color_Magnitude1_plot
1014 0 : p% id = i_Col_Mag1
1015 0 : p% name = 'Color_Magnitude1'
1016 0 : p% win_flag = s% pg% Color_Magnitude1_win_flag
1017 0 : p% win_width = s% pg% Color_Magnitude1_win_width
1018 0 : p% win_aspect_ratio = s% pg% Color_Magnitude1_win_aspect_ratio
1019 0 : p% file_flag = s% pg% Color_Magnitude1_file_flag
1020 0 : p% file_dir = s% pg% Color_Magnitude1_file_dir
1021 0 : p% file_prefix = s% pg% Color_Magnitude1_file_prefix
1022 0 : p% file_interval = s% pg% Color_Magnitude1_file_interval
1023 0 : p% file_width = s% pg% Color_Magnitude1_file_width
1024 0 : p% file_aspect_ratio = s% pg% Color_Magnitude1_file_aspect_ratio
1025 :
1026 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag2)
1027 0 : p% plot => Color_Magnitude2_plot
1028 0 : p% id = i_Col_Mag2
1029 0 : p% name = 'Color_Magnitude2'
1030 0 : p% win_flag = s% pg% Color_Magnitude2_win_flag
1031 0 : p% win_width = s% pg% Color_Magnitude2_win_width
1032 0 : p% win_aspect_ratio = s% pg% Color_Magnitude2_win_aspect_ratio
1033 0 : p% file_flag = s% pg% Color_Magnitude2_file_flag
1034 0 : p% file_dir = s% pg% Color_Magnitude2_file_dir
1035 0 : p% file_prefix = s% pg% Color_Magnitude2_file_prefix
1036 0 : p% file_interval = s% pg% Color_Magnitude2_file_interval
1037 0 : p% file_width = s% pg% Color_Magnitude2_file_width
1038 0 : p% file_aspect_ratio = s% pg% Color_Magnitude2_file_aspect_ratio
1039 :
1040 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag3)
1041 0 : p% plot => Color_Magnitude3_plot
1042 0 : p% id = i_Col_Mag3
1043 0 : p% name = 'Color_Magnitude3'
1044 0 : p% win_flag = s% pg% Color_Magnitude3_win_flag
1045 0 : p% win_width = s% pg% Color_Magnitude3_win_width
1046 0 : p% win_aspect_ratio = s% pg% Color_Magnitude3_win_aspect_ratio
1047 0 : p% file_flag = s% pg% Color_Magnitude3_file_flag
1048 0 : p% file_dir = s% pg% Color_Magnitude3_file_dir
1049 0 : p% file_prefix = s% pg% Color_Magnitude3_file_prefix
1050 0 : p% file_interval = s% pg% Color_Magnitude3_file_interval
1051 0 : p% file_width = s% pg% Color_Magnitude3_file_width
1052 0 : p% file_aspect_ratio = s% pg% Color_Magnitude3_file_aspect_ratio
1053 :
1054 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag4)
1055 0 : p% plot => Color_Magnitude4_plot
1056 0 : p% id = i_Col_Mag4
1057 0 : p% name = 'Color_Magnitude4'
1058 0 : p% win_flag = s% pg% Color_Magnitude4_win_flag
1059 0 : p% win_width = s% pg% Color_Magnitude4_win_width
1060 0 : p% win_aspect_ratio = s% pg% Color_Magnitude4_win_aspect_ratio
1061 0 : p% file_flag = s% pg% Color_Magnitude4_file_flag
1062 0 : p% file_dir = s% pg% Color_Magnitude4_file_dir
1063 0 : p% file_prefix = s% pg% Color_Magnitude4_file_prefix
1064 0 : p% file_interval = s% pg% Color_Magnitude4_file_interval
1065 0 : p% file_width = s% pg% Color_Magnitude4_file_width
1066 0 : p% file_aspect_ratio = s% pg% Color_Magnitude4_file_aspect_ratio
1067 :
1068 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag5)
1069 0 : p% plot => Color_Magnitude5_plot
1070 0 : p% id = i_Col_Mag5
1071 0 : p% name = 'Color_Magnitude5'
1072 0 : p% win_flag = s% pg% Color_Magnitude5_win_flag
1073 0 : p% win_width = s% pg% Color_Magnitude5_win_width
1074 0 : p% win_aspect_ratio = s% pg% Color_Magnitude5_win_aspect_ratio
1075 0 : p% file_flag = s% pg% Color_Magnitude5_file_flag
1076 0 : p% file_dir = s% pg% Color_Magnitude5_file_dir
1077 0 : p% file_prefix = s% pg% Color_Magnitude5_file_prefix
1078 0 : p% file_interval = s% pg% Color_Magnitude5_file_interval
1079 0 : p% file_width = s% pg% Color_Magnitude5_file_width
1080 0 : p% file_aspect_ratio = s% pg% Color_Magnitude5_file_aspect_ratio
1081 :
1082 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag6)
1083 0 : p% plot => Color_Magnitude6_plot
1084 0 : p% id = i_Col_Mag6
1085 0 : p% name = 'Color_Magnitude6'
1086 0 : p% win_flag = s% pg% Color_Magnitude6_win_flag
1087 0 : p% win_width = s% pg% Color_Magnitude6_win_width
1088 0 : p% win_aspect_ratio = s% pg% Color_Magnitude6_win_aspect_ratio
1089 0 : p% file_flag = s% pg% Color_Magnitude6_file_flag
1090 0 : p% file_dir = s% pg% Color_Magnitude6_file_dir
1091 0 : p% file_prefix = s% pg% Color_Magnitude6_file_prefix
1092 0 : p% file_interval = s% pg% Color_Magnitude6_file_interval
1093 0 : p% file_width = s% pg% Color_Magnitude6_file_width
1094 0 : p% file_aspect_ratio = s% pg% Color_Magnitude6_file_aspect_ratio
1095 :
1096 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag7)
1097 0 : p% plot => Color_Magnitude7_plot
1098 0 : p% id = i_Col_Mag7
1099 0 : p% name = 'Color_Magnitude7'
1100 0 : p% win_flag = s% pg% Color_Magnitude7_win_flag
1101 0 : p% win_width = s% pg% Color_Magnitude7_win_width
1102 0 : p% win_aspect_ratio = s% pg% Color_Magnitude7_win_aspect_ratio
1103 0 : p% file_flag = s% pg% Color_Magnitude7_file_flag
1104 0 : p% file_dir = s% pg% Color_Magnitude7_file_dir
1105 0 : p% file_prefix = s% pg% Color_Magnitude7_file_prefix
1106 0 : p% file_interval = s% pg% Color_Magnitude7_file_interval
1107 0 : p% file_width = s% pg% Color_Magnitude7_file_width
1108 0 : p% file_aspect_ratio = s% pg% Color_Magnitude7_file_aspect_ratio
1109 :
1110 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag8)
1111 0 : p% plot => Color_Magnitude8_plot
1112 0 : p% id = i_Col_Mag8
1113 0 : p% name = 'Color_Magnitude8'
1114 0 : p% win_flag = s% pg% Color_Magnitude8_win_flag
1115 0 : p% win_width = s% pg% Color_Magnitude8_win_width
1116 0 : p% win_aspect_ratio = s% pg% Color_Magnitude8_win_aspect_ratio
1117 0 : p% file_flag = s% pg% Color_Magnitude8_file_flag
1118 0 : p% file_dir = s% pg% Color_Magnitude8_file_dir
1119 0 : p% file_prefix = s% pg% Color_Magnitude8_file_prefix
1120 0 : p% file_interval = s% pg% Color_Magnitude8_file_interval
1121 0 : p% file_width = s% pg% Color_Magnitude8_file_width
1122 0 : p% file_aspect_ratio = s% pg% Color_Magnitude8_file_aspect_ratio
1123 :
1124 0 : p => s% pg% pgstar_win_file_ptr(i_Col_Mag9)
1125 0 : p% plot => Color_Magnitude9_plot
1126 0 : p% id = i_Col_Mag9
1127 0 : p% name = 'Color_Magnitude9'
1128 0 : p% win_flag = s% pg% Color_Magnitude9_win_flag
1129 0 : p% win_width = s% pg% Color_Magnitude9_win_width
1130 0 : p% win_aspect_ratio = s% pg% Color_Magnitude9_win_aspect_ratio
1131 0 : p% file_flag = s% pg% Color_Magnitude9_file_flag
1132 0 : p% file_dir = s% pg% Color_Magnitude9_file_dir
1133 0 : p% file_prefix = s% pg% Color_Magnitude9_file_prefix
1134 0 : p% file_interval = s% pg% Color_Magnitude9_file_interval
1135 0 : p% file_width = s% pg% Color_Magnitude9_file_width
1136 0 : p% file_aspect_ratio = s% pg% Color_Magnitude9_file_aspect_ratio
1137 :
1138 0 : p => s% pg% pgstar_win_file_ptr(i_Grid1)
1139 0 : p% plot => grid1_plot
1140 0 : p% id = i_Grid1
1141 0 : p% name = 'Grid1'
1142 0 : p% win_flag = s% pg% Grid1_win_flag
1143 0 : p% win_width = s% pg% Grid1_win_width
1144 0 : p% win_aspect_ratio = s% pg% Grid1_win_aspect_ratio
1145 0 : p% file_flag = s% pg% Grid1_file_flag
1146 0 : p% file_dir = s% pg% Grid1_file_dir
1147 0 : p% file_prefix = s% pg% Grid1_file_prefix
1148 0 : p% file_interval = s% pg% Grid1_file_interval
1149 0 : p% file_width = s% pg% Grid1_file_width
1150 0 : p% file_aspect_ratio = s% pg% Grid1_file_aspect_ratio
1151 :
1152 0 : p => s% pg% pgstar_win_file_ptr(i_Grid2)
1153 0 : p% plot => grid2_plot
1154 0 : p% id = i_Grid2
1155 0 : p% name = 'Grid2'
1156 0 : p% win_flag = s% pg% Grid2_win_flag
1157 0 : p% win_width = s% pg% Grid2_win_width
1158 0 : p% win_aspect_ratio = s% pg% Grid2_win_aspect_ratio
1159 0 : p% file_flag = s% pg% Grid2_file_flag
1160 0 : p% file_dir = s% pg% Grid2_file_dir
1161 0 : p% file_prefix = s% pg% Grid2_file_prefix
1162 0 : p% file_interval = s% pg% Grid2_file_interval
1163 0 : p% file_width = s% pg% Grid2_file_width
1164 0 : p% file_aspect_ratio = s% pg% Grid2_file_aspect_ratio
1165 :
1166 0 : p => s% pg% pgstar_win_file_ptr(i_Grid3)
1167 0 : p% plot => grid3_plot
1168 0 : p% id = i_Grid3
1169 0 : p% name = 'Grid3'
1170 0 : p% win_flag = s% pg% Grid3_win_flag
1171 0 : p% win_width = s% pg% Grid3_win_width
1172 0 : p% win_aspect_ratio = s% pg% Grid3_win_aspect_ratio
1173 0 : p% file_flag = s% pg% Grid3_file_flag
1174 0 : p% file_dir = s% pg% Grid3_file_dir
1175 0 : p% file_prefix = s% pg% Grid3_file_prefix
1176 0 : p% file_interval = s% pg% Grid3_file_interval
1177 0 : p% file_width = s% pg% Grid3_file_width
1178 0 : p% file_aspect_ratio = s% pg% Grid3_file_aspect_ratio
1179 :
1180 0 : p => s% pg% pgstar_win_file_ptr(i_Grid4)
1181 0 : p% plot => grid4_plot
1182 0 : p% id = i_Grid4
1183 0 : p% name = 'Grid4'
1184 0 : p% win_flag = s% pg% Grid4_win_flag
1185 0 : p% win_width = s% pg% Grid4_win_width
1186 0 : p% win_aspect_ratio = s% pg% Grid4_win_aspect_ratio
1187 0 : p% file_flag = s% pg% Grid4_file_flag
1188 0 : p% file_dir = s% pg% Grid4_file_dir
1189 0 : p% file_prefix = s% pg% Grid4_file_prefix
1190 0 : p% file_interval = s% pg% Grid4_file_interval
1191 0 : p% file_width = s% pg% Grid4_file_width
1192 0 : p% file_aspect_ratio = s% pg% Grid4_file_aspect_ratio
1193 :
1194 0 : p => s% pg% pgstar_win_file_ptr(i_Grid5)
1195 0 : p% plot => grid5_plot
1196 0 : p% id = i_Grid5
1197 0 : p% name = 'Grid5'
1198 0 : p% win_flag = s% pg% Grid5_win_flag
1199 0 : p% win_width = s% pg% Grid5_win_width
1200 0 : p% win_aspect_ratio = s% pg% Grid5_win_aspect_ratio
1201 0 : p% file_flag = s% pg% Grid5_file_flag
1202 0 : p% file_dir = s% pg% Grid5_file_dir
1203 0 : p% file_prefix = s% pg% Grid5_file_prefix
1204 0 : p% file_interval = s% pg% Grid5_file_interval
1205 0 : p% file_width = s% pg% Grid5_file_width
1206 0 : p% file_aspect_ratio = s% pg% Grid5_file_aspect_ratio
1207 :
1208 0 : p => s% pg% pgstar_win_file_ptr(i_Grid6)
1209 0 : p% plot => grid6_plot
1210 0 : p% id = i_Grid6
1211 0 : p% name = 'Grid6'
1212 0 : p% win_flag = s% pg% Grid6_win_flag
1213 0 : p% win_width = s% pg% Grid6_win_width
1214 0 : p% win_aspect_ratio = s% pg% Grid6_win_aspect_ratio
1215 0 : p% file_flag = s% pg% Grid6_file_flag
1216 0 : p% file_dir = s% pg% Grid6_file_dir
1217 0 : p% file_prefix = s% pg% Grid6_file_prefix
1218 0 : p% file_interval = s% pg% Grid6_file_interval
1219 0 : p% file_width = s% pg% Grid6_file_width
1220 0 : p% file_aspect_ratio = s% pg% Grid6_file_aspect_ratio
1221 :
1222 0 : p => s% pg% pgstar_win_file_ptr(i_Grid7)
1223 0 : p% plot => grid7_plot
1224 0 : p% id = i_Grid7
1225 0 : p% name = 'Grid7'
1226 0 : p% win_flag = s% pg% Grid7_win_flag
1227 0 : p% win_width = s% pg% Grid7_win_width
1228 0 : p% win_aspect_ratio = s% pg% Grid7_win_aspect_ratio
1229 0 : p% file_flag = s% pg% Grid7_file_flag
1230 0 : p% file_dir = s% pg% Grid7_file_dir
1231 0 : p% file_prefix = s% pg% Grid7_file_prefix
1232 0 : p% file_interval = s% pg% Grid7_file_interval
1233 0 : p% file_width = s% pg% Grid7_file_width
1234 0 : p% file_aspect_ratio = s% pg% Grid7_file_aspect_ratio
1235 :
1236 0 : p => s% pg% pgstar_win_file_ptr(i_Grid8)
1237 0 : p% plot => grid8_plot
1238 0 : p% id = i_Grid8
1239 0 : p% name = 'Grid8'
1240 0 : p% win_flag = s% pg% Grid8_win_flag
1241 0 : p% win_width = s% pg% Grid8_win_width
1242 0 : p% win_aspect_ratio = s% pg% Grid8_win_aspect_ratio
1243 0 : p% file_flag = s% pg% Grid8_file_flag
1244 0 : p% file_dir = s% pg% Grid8_file_dir
1245 0 : p% file_prefix = s% pg% Grid8_file_prefix
1246 0 : p% file_interval = s% pg% Grid8_file_interval
1247 0 : p% file_width = s% pg% Grid8_file_width
1248 0 : p% file_aspect_ratio = s% pg% Grid8_file_aspect_ratio
1249 :
1250 0 : p => s% pg% pgstar_win_file_ptr(i_Grid9)
1251 0 : p% plot => grid9_plot
1252 0 : p% id = i_Grid9
1253 0 : p% name = 'Grid9'
1254 0 : p% win_flag = s% pg% Grid9_win_flag
1255 0 : p% win_width = s% pg% Grid9_win_width
1256 0 : p% win_aspect_ratio = s% pg% Grid9_win_aspect_ratio
1257 0 : p% file_flag = s% pg% Grid9_file_flag
1258 0 : p% file_dir = s% pg% Grid9_file_dir
1259 0 : p% file_prefix = s% pg% Grid9_file_prefix
1260 0 : p% file_interval = s% pg% Grid9_file_interval
1261 0 : p% file_width = s% pg% Grid9_file_width
1262 0 : p% file_aspect_ratio = s% pg% Grid9_file_aspect_ratio
1263 :
1264 0 : do i = 1, max_num_Other_plots
1265 0 : p => s% pg% pgstar_win_file_ptr(i_Other + i - 1)
1266 0 : p% win_flag = .false.
1267 0 : p% file_flag = .false.
1268 0 : p% okay_to_call_do_plot_in_grid = .false.
1269 : end do
1270 :
1271 0 : if (s% use_other_pgstar_plots) &
1272 0 : call s% other_pgstar_plots_info(s% id, ierr)
1273 :
1274 0 : end subroutine set_win_file_data
1275 :
1276 :
1277 0 : subroutine do_pgstar_plots(&
1278 : s, must_write_files, &
1279 : ierr)
1280 : type (star_info), pointer :: s
1281 : logical, intent(in) :: must_write_files
1282 : integer, intent(out) :: ierr
1283 :
1284 : integer(i8) :: time0, time1, clock_rate
1285 : logical :: do_pause
1286 :
1287 : include 'formats'
1288 :
1289 0 : ierr = 0
1290 :
1291 0 : if (s% pg% clear_history) call pgstar_clear(s)
1292 :
1293 0 : call update_pgstar_data(s, ierr)
1294 0 : if (failed('update_pgstar_data')) return
1295 :
1296 0 : call onScreen_Plots(s, must_write_files, ierr)
1297 0 : if (failed('onScreen_Plots')) return
1298 :
1299 0 : call update_pgstar_history_file(s, ierr)
1300 0 : if (failed('save_text_data')) return
1301 :
1302 0 : if (s% pg% pause_interval > 0) then
1303 0 : do_pause = (mod(s% model_number, s% pg% pause_interval) == 0)
1304 : else
1305 0 : do_pause = s% pg% pause_flag
1306 : end if
1307 :
1308 0 : if (do_pause .and. s% pg% pgstar_interval > 0) &
1309 0 : do_pause = (mod(s% model_number, s% pg% pgstar_interval) == 0)
1310 :
1311 0 : if (do_pause) then
1312 0 : write(*, '(A)')
1313 0 : write(*, *) 'model_number', s% model_number
1314 0 : write(*, *) 'PGSTAR: paused -- hit RETURN to continue'
1315 0 : read(*, *)
1316 : end if
1317 :
1318 0 : if (s% pg% pgstar_sleep > 0) then
1319 0 : time0 = s% system_clock_at_start_of_step
1320 0 : do
1321 0 : call system_clock(time1, clock_rate)
1322 0 : if (dble(time1 - time0) / dble(clock_rate) >= s% pg% pgstar_sleep) exit
1323 : end do
1324 : end if
1325 :
1326 : !write(*,2) 'PGSTAR: done', s% model_number
1327 :
1328 : contains
1329 :
1330 0 : logical function failed(str)
1331 : character (len = *), intent(in) :: str
1332 0 : failed = (ierr /= 0)
1333 0 : if (failed) then
1334 0 : write(*, *) trim(str) // ' ierr', ierr
1335 : end if
1336 0 : end function failed
1337 :
1338 : end subroutine do_pgstar_plots
1339 :
1340 :
1341 : ! PGSTAR driver, called after each timestep
1342 0 : subroutine onScreen_Plots(s, must_write_files_in, ierr)
1343 : use utils_lib
1344 : use chem_def
1345 : use net_def
1346 : use net_lib, only : get_net_reaction_table
1347 : use const_def, only : Msun, Rsun
1348 :
1349 : type (star_info), pointer :: s
1350 : logical :: must_write_files_in
1351 : integer, intent(out) :: ierr
1352 :
1353 : integer :: i
1354 : type (pgstar_win_file_data), pointer :: p
1355 : logical, parameter :: dbg = .false.
1356 0 : real(dp) :: dlgL, dlgTeff, dHR
1357 : logical :: must_write_files, show_plot_now, save_plot_now
1358 :
1359 : include 'formats'
1360 0 : ierr = 0
1361 :
1362 : ! initialize pgstar
1363 0 : if (.not. have_initialized_pgstar) then
1364 0 : call init_pgstar(ierr)
1365 0 : if (failed('init_pgstar')) return
1366 : end if
1367 :
1368 : ! request files if sufficient movement in HR diagram
1369 0 : must_write_files = must_write_files_in
1370 :
1371 : if (s% pg% delta_HR_limit_for_file_output > 0 .and. &
1372 0 : s% L_phot_old > 0 .and. s% Teff_old > 0 .and. .not. must_write_files) then
1373 0 : dlgL = log10(s% L_phot / s% L_phot_old)
1374 0 : dlgTeff = log10(s% Teff / s% Teff_old)
1375 0 : dHR = sqrt(pow2(s% delta_HR_ds_L * dlgL) + pow2(s% delta_HR_ds_Teff * dlgTeff))
1376 0 : sum_dHR_since_last_file_write = sum_dHR_since_last_file_write + dHR
1377 : must_write_files = &
1378 0 : (sum_dHR_since_last_file_write >= s% pg% delta_HR_limit_for_file_output)
1379 : end if
1380 0 : if (must_write_files) sum_dHR_since_last_file_write = 0
1381 :
1382 0 : show_plot_now = .false.
1383 0 : if (s% pg% pgstar_interval > 0) then
1384 0 : if(mod(s% model_number, s% pg% pgstar_interval) == 0) then
1385 0 : show_plot_now = .true.
1386 : end if
1387 : end if
1388 :
1389 : ! retrieve extra profile data
1390 0 : s% num_extra_profile_cols = 0
1391 0 : if (associated(s% how_many_extra_profile_columns) .and. &
1392 : associated(s% data_for_extra_profile_columns)) then
1393 0 : i = s% how_many_extra_profile_columns(s% id)
1394 0 : if (i > 0) then
1395 0 : if (associated(s% extra_profile_col_names)) &
1396 0 : deallocate(s% extra_profile_col_names)
1397 0 : if (associated(s% extra_profile_col_vals)) &
1398 0 : deallocate(s% extra_profile_col_vals)
1399 0 : allocate(s% extra_profile_col_names(i))
1400 0 : allocate(s% extra_profile_col_vals(s% nz, i))
1401 0 : ierr = 0
1402 : call s% data_for_extra_profile_columns(&
1403 : s% id, i, s% nz, &
1404 : s% extra_profile_col_names, &
1405 0 : s% extra_profile_col_vals, ierr)
1406 0 : if (ierr == 0) s% num_extra_profile_cols = i
1407 0 : ierr = 0
1408 : end if
1409 : end if
1410 :
1411 : ! loop through all plots
1412 0 : do i = 1, num_pgstar_plots
1413 0 : p => s% pg% pgstar_win_file_ptr(i)
1414 :
1415 0 : if(show_plot_now) then
1416 : ! call to check_window opens device
1417 0 : call check_window(s, p, ierr)
1418 0 : if (failed('check_window')) return
1419 :
1420 : ! make the plot (window)
1421 0 : if (p% do_win) then
1422 0 : call p% plot(s% id, p% id_win, ierr)
1423 0 : if (failed(p% name)) return
1424 : end if
1425 : end if
1426 :
1427 0 : save_plot_now = must_write_files
1428 0 : if (p% file_interval > 0) then
1429 0 : if(mod(s% model_number, p% file_interval) == 0) then
1430 : save_plot_now = .true.
1431 : end if
1432 : end if
1433 :
1434 0 : if(save_plot_now)then
1435 : ! call to check_file opens device and does mkdir
1436 0 : call check_file(s, p, ierr)
1437 :
1438 : ! make the plot (file)
1439 0 : if (p% do_file) then
1440 0 : call p% plot(s% id, p% id_file, ierr)
1441 0 : if (failed(p% name)) return
1442 0 : call pgclos
1443 0 : if (s% pg% pgstar_report_writing_files) &
1444 0 : write(*, *) trim(p% most_recent_filename)
1445 0 : p% id_file = 0
1446 0 : p% do_file = .false.
1447 : end if
1448 : end if
1449 : end do
1450 :
1451 : contains
1452 :
1453 0 : logical function failed(str)
1454 : character (len = *), intent(in) :: str
1455 0 : failed = (ierr /= 0)
1456 0 : if (failed) then
1457 0 : write(*, *) trim(str) // ' ierr', ierr
1458 : end if
1459 0 : end function failed
1460 :
1461 : end subroutine onScreen_Plots
1462 :
1463 :
1464 0 : subroutine update_pgstar_history_file(s, ierr)
1465 : use utils_lib
1466 : type (star_info), pointer :: s
1467 : integer, intent(out) :: ierr
1468 :
1469 : integer :: iounit, n
1470 : character (len = 1024) :: fname
1471 : type (pgstar_hist_node), pointer :: pg
1472 :
1473 : logical, parameter :: dbg = .false.
1474 :
1475 : include 'formats'
1476 :
1477 0 : ierr = 0
1478 0 : pg => s% pg% pgstar_hist
1479 0 : if (.not. associated(pg)) return
1480 :
1481 0 : n = s% number_of_history_columns
1482 :
1483 0 : if(.not. folder_exists(trim(s% log_directory))) call mkdir(trim(s% log_directory))
1484 0 : fname = trim(s% log_directory) // '/pgstar.dat'
1485 :
1486 0 : if (associated(pg% next)) then
1487 : open(newunit = iounit, file = trim(fname), action = 'write', &
1488 0 : position = 'append', form = 'unformatted', iostat = ierr)
1489 : else
1490 : open(newunit = iounit, file = trim(fname), action = 'write', &
1491 0 : status = 'replace', form = 'unformatted', iostat = ierr)
1492 0 : if (ierr == 0) write(iounit) n
1493 : end if
1494 0 : if (ierr /= 0) then
1495 0 : write(*, *) 'save_pgstar_data: cannot open new file'
1496 0 : return
1497 : end if
1498 :
1499 0 : if (associated(pg% vals)) then
1500 0 : if (size(pg% vals, dim = 1) >= n) then
1501 0 : write(iounit) pg% age, pg% step, pg% vals(1:n)
1502 : end if
1503 : end if
1504 :
1505 0 : close(iounit)
1506 :
1507 : end subroutine update_pgstar_history_file
1508 :
1509 :
1510 0 : subroutine read_pgstar_data(s, ierr)
1511 : use utils_lib
1512 : type (star_info), pointer :: s
1513 : integer, intent(out) :: ierr
1514 :
1515 : logical :: fexist
1516 : integer :: iounit, n
1517 : character (len = 1024) :: fname
1518 : type (pgstar_hist_node), pointer :: pg
1519 :
1520 : logical, parameter :: dbg = .false.
1521 :
1522 : include 'formats'
1523 0 : ierr = 0
1524 :
1525 0 : fname = trim(s% log_directory) // '/pgstar.dat'
1526 0 : inquire(file = trim(fname), exist = fexist)
1527 0 : if (.not.fexist) then
1528 : if (dbg) write(*, *) 'failed to find ' // trim(fname)
1529 0 : return
1530 : end if
1531 :
1532 : open(newunit = iounit, file = trim(fname), action = 'read', &
1533 0 : status = 'old', iostat = ierr, form = 'unformatted')
1534 0 : if (ierr /= 0) then
1535 : if (dbg) write(*, *) 'failed to open ' // trim(fname)
1536 : return
1537 : end if
1538 :
1539 0 : read(iounit, iostat = ierr) n
1540 0 : if (ierr == 0) then
1541 0 : if (s% number_of_history_columns < 0) then
1542 0 : s% number_of_history_columns = n
1543 0 : else if (s% number_of_history_columns /= n) then
1544 0 : ierr = -1
1545 : end if
1546 : end if
1547 :
1548 0 : if (ierr /= 0) then
1549 : if (dbg) write(*, *) 'failed read pg_star history ' // trim(fname)
1550 : else
1551 0 : do ! keep reading until reach end of file so take care of restarts
1552 0 : allocate(pg)
1553 0 : allocate(pg% vals(n))
1554 0 : read(iounit, iostat = ierr) pg% age, pg% step, pg% vals(1:n)
1555 0 : if (ierr /= 0) then
1556 0 : ierr = 0
1557 0 : deallocate(pg% vals)
1558 0 : deallocate(pg)
1559 0 : exit
1560 : end if
1561 0 : call add_to_pgstar_hist(s, pg)
1562 : end do
1563 : end if
1564 :
1565 0 : close(iounit)
1566 :
1567 : end subroutine read_pgstar_data
1568 :
1569 :
1570 0 : subroutine update_pgstar_data(s, ierr)
1571 : use star_utils, only : eval_csound
1572 :
1573 : type (star_info), pointer :: s
1574 : integer, intent(out) :: ierr
1575 :
1576 : integer :: num
1577 : type (pgstar_hist_node), pointer :: pg
1578 :
1579 : include 'formats'
1580 :
1581 0 : ierr = 0
1582 0 : allocate(pg)
1583 0 : pg% step = s% model_number
1584 0 : pg% age = s% star_age
1585 0 : num = s% number_of_history_columns
1586 0 : allocate(pg% vals(num))
1587 0 : call get_hist_values(num, ierr)
1588 0 : if (ierr /= 0) then
1589 0 : write(*, *) 'failed in get_hist_values'
1590 : return
1591 : call mesa_error(__FILE__, __LINE__, 'pgstar')
1592 : end if
1593 0 : call add_to_pgstar_hist(s, pg)
1594 :
1595 : contains
1596 :
1597 0 : subroutine get_hist_values(num, ierr)
1598 0 : use history, only : do_get_data_for_history_columns
1599 : integer, intent(in) :: num
1600 : integer, intent(out) :: ierr
1601 : integer :: i
1602 0 : ierr = 0
1603 0 : if (s% need_to_set_history_names_etc .or. &
1604 : s% model_number_of_history_values /= s% model_number) then
1605 : call do_get_data_for_history_columns(&
1606 : s, &
1607 0 : ierr)
1608 0 : if (ierr /= 0) return
1609 : end if
1610 0 : do i = 1, num
1611 0 : pg% vals(i) = s% history_values(i)
1612 : end do
1613 0 : end subroutine get_hist_values
1614 :
1615 : end subroutine update_pgstar_data
1616 :
1617 :
1618 0 : subroutine do_set_xaxis_bounds(&
1619 : s, xaxis_by, win_xmin_in, win_xmax_in, xmargin, &
1620 : xvec, xmin, xmax, xleft, xright, dx, &
1621 : grid_min, grid_max, npts, ierr)
1622 : type (star_info), pointer :: s
1623 : character (len = *), intent(in) :: xaxis_by
1624 : real, intent(in) :: win_xmin_in, win_xmax_in, xmargin
1625 : real, allocatable, dimension(:) :: xvec
1626 : real, intent(out) :: xmin, xmax, xleft, xright, dx
1627 : integer, intent(out) :: grid_min, grid_max, npts
1628 : integer, intent(out) :: ierr
1629 : call set_xaxis_bounds(&
1630 : s, xaxis_by, win_xmin_in, win_xmax_in, .false., xmargin, &
1631 : xvec, xmin, xmax, xleft, xright, dx, &
1632 0 : grid_min, grid_max, npts, ierr)
1633 0 : end subroutine do_set_xaxis_bounds
1634 :
1635 :
1636 0 : subroutine do_show_xaxis_by(s, by, ierr)
1637 : type (star_info), pointer :: s
1638 : character (len = *), intent(in) :: by
1639 : integer, intent(out) :: ierr
1640 0 : call show_xaxis_name(s, by, ierr)
1641 0 : end subroutine do_show_xaxis_by
1642 :
1643 1 : subroutine shutdown_pgstar(s)
1644 : use pgstar_support
1645 : type (star_info), pointer :: s
1646 :
1647 1 : if(have_initialized_pgstar) then
1648 0 : call dealloc(hydrogen_burn_logT)
1649 0 : call dealloc(hydrogen_burn_logRho)
1650 0 : call dealloc(helium_burn_logT)
1651 0 : call dealloc(helium_burn_logRho)
1652 0 : call dealloc(carbon_burn_logT)
1653 0 : call dealloc(carbon_burn_logRho)
1654 0 : call dealloc(oxygen_burn_logT)
1655 0 : call dealloc(oxygen_burn_logRho)
1656 0 : call dealloc(psi4_logT)
1657 0 : call dealloc(psi4_logRho)
1658 0 : call dealloc(elect_data_logT)
1659 0 : call dealloc(elect_data_logRho)
1660 0 : call dealloc(gamma_4_thirds_logT)
1661 0 : call dealloc(gamma_4_thirds_logRho)
1662 0 : call dealloc(kap_rad_cond_eq_logT)
1663 0 : call dealloc(kap_rad_cond_eq_logRho)
1664 0 : call dealloc(opal_clip_logT)
1665 0 : call dealloc(opal_clip_logRho)
1666 0 : call dealloc(scvh_clip_logT)
1667 1 : call dealloc(scvh_clip_logRho)
1668 : end if
1669 :
1670 1 : call pgstar_clear(s)
1671 :
1672 1 : have_initialized_pgstar = .false.
1673 :
1674 : contains
1675 :
1676 0 : subroutine dealloc(x)
1677 : real, dimension(:), allocatable :: x
1678 :
1679 0 : if(allocated(x))then
1680 0 : deallocate(x)
1681 : end if
1682 :
1683 1 : end subroutine dealloc
1684 :
1685 : end subroutine shutdown_pgstar
1686 :
1687 : end module pgstar
|