Skip to content

Commit a130cfd

Browse files
authored
Merge pull request #471 from MESAHub/inlist_arrays
Turns options to read extra inlists into arrays. e.g. extra_controls_inlist1_name -> extra_controls_inlist_name(1)
2 parents 112459a + 3f382ca commit a130cfd

File tree

370 files changed

+5380
-6308
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

370 files changed

+5380
-6308
lines changed

astero/defaults/astero_pgstar.defaults

Lines changed: 6 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -83,40 +83,12 @@
8383
! Include other inlists
8484
! ---------------------
8585

86-
! read_extra_astero_pgstar_inlist1
86+
! read_extra_astero_pgstar_inlist
8787
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88-
! extra_astero_pgstar_inlist1_name
88+
! extra_astero_pgstar_inlist_name
8989
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90-
! read_extra_astero_pgstar_inlist2
91-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92-
! extra_astero_pgstar_inlist2_name
93-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
94-
! read_extra_astero_pgstar_inlist3
95-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96-
! extra_astero_pgstar_inlist3_name
97-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98-
! read_extra_astero_pgstar_inlist4
99-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100-
! extra_astero_pgstar_inlist4_name
101-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
102-
! read_extra_astero_pgstar_inlist5
103-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104-
! extra_astero_pgstar_inlist5_name
105-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106-
! If ``read_extra_astero_pgstar_inlistN`` is ``.true.``, then read the namelist
107-
! in file ``extra_astero_pgstar_inlistN_name``. ::
108-
109-
read_extra_astero_pgstar_inlist1 = .false.
110-
extra_astero_pgstar_inlist1_name = 'undefined'
111-
112-
read_extra_astero_pgstar_inlist2 = .false.
113-
extra_astero_pgstar_inlist2_name = 'undefined'
114-
115-
read_extra_astero_pgstar_inlist3 = .false.
116-
extra_astero_pgstar_inlist3_name = 'undefined'
117-
118-
read_extra_astero_pgstar_inlist4 = .false.
119-
extra_astero_pgstar_inlist4_name = 'undefined'
90+
! If ``read_extra_astero_pgstar_inlist(i)`` is ``.true.``, then read the namelist
91+
! in file ``extra_astero_pgstar_inlist_name(i)``. ::
12092

121-
read_extra_astero_pgstar_inlist5 = .false.
122-
extra_astero_pgstar_inlist5_name = 'undefined'
93+
read_extra_astero_pgstar_inlist(:) = .false.
94+
extra_astero_pgstar_inlist_name(:) = 'undefined'

astero/defaults/astero_search.defaults

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,40 +1246,13 @@
12461246
! Include other inlists
12471247
! ---------------------
12481248

1249-
! read_extra_astero_search_inlist1
1250-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1251-
! extra_astero_search_inlist1_name
1252-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1253-
! read_extra_astero_search_inlist2
1254-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1255-
! extra_astero_search_inlist2_name
1256-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1257-
! read_extra_astero_search_inlist3
1258-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1259-
! extra_astero_search_inlist3_name
1260-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1261-
! read_extra_astero_search_inlist4
1262-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1263-
! extra_astero_search_inlist4_name
1264-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1265-
! read_extra_astero_search_inlist5
1266-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1267-
! extra_astero_search_inlist5_name
1268-
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1269-
! If ``read_extra_astero_search_inlistN`` is ``.true.``, then read the namelist
1270-
! in file ``extra_astero_search_inlistN_name``. ::
1271-
1272-
read_extra_astero_search_inlist1 = .false.
1273-
extra_astero_search_inlist1_name = 'undefined'
1274-
1275-
read_extra_astero_search_inlist2 = .false.
1276-
extra_astero_search_inlist2_name = 'undefined'
1277-
1278-
read_extra_astero_search_inlist3 = .false.
1279-
extra_astero_search_inlist3_name = 'undefined'
1249+
! read_extra_astero_search_inlist(1..5)
1250+
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1251+
! extra_astero_search_inlist_name(1..5)
1252+
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1253+
! If ``read_extra_astero_search_inlist(i)`` is ``.true.``, then read the namelist
1254+
! in file ``extra_astero_search_inlist_name(i)``. ::
12801255

1281-
read_extra_astero_search_inlist4 = .false.
1282-
extra_astero_search_inlist4_name = 'undefined'
1256+
read_extra_astero_search_inlist(:) = .false.
1257+
extra_astero_search_inlist_name(:) = 'undefined'
12831258

1284-
read_extra_astero_search_inlist5 = .false.
1285-
extra_astero_search_inlist5_name = 'undefined'

astero/public/astero_def.f90

Lines changed: 39 additions & 162 deletions
Original file line numberDiff line numberDiff line change
@@ -273,23 +273,9 @@ end subroutine other_adipls_mode_info_interface
273273
! frequency range for adipls is set from observed frequencies times these
274274
integer :: & ! misc adipls parameters
275275
adipls_irotkr, adipls_nprtkr, adipls_igm1kr, adipls_npgmkr
276-
277-
278-
logical :: read_extra_astero_search_inlist1
279-
character (len=256) :: extra_astero_search_inlist1_name
280-
281-
logical :: read_extra_astero_search_inlist2
282-
character (len=256) :: extra_astero_search_inlist2_name
283-
284-
logical :: read_extra_astero_search_inlist3
285-
character (len=256) :: extra_astero_search_inlist3_name
286-
287-
logical :: read_extra_astero_search_inlist4
288-
character (len=256) :: extra_astero_search_inlist4_name
289276

290-
logical :: read_extra_astero_search_inlist5
291-
character (len=256) :: extra_astero_search_inlist5_name
292-
277+
logical, dimension(max_extra_inlists) :: read_extra_astero_search_inlist
278+
character (len=strlen), dimension(max_extra_inlists) :: extra_astero_search_inlist_name
293279

294280
namelist /astero_search_controls/ &
295281
normalize_chi2_spectro, &
@@ -422,16 +408,8 @@ end subroutine other_adipls_mode_info_interface
422408
iscan_factor, &
423409
adipls_irotkr, adipls_nprtkr, adipls_igm1kr, adipls_npgmkr, &
424410
nu_lower_factor, nu_upper_factor, &
425-
read_extra_astero_search_inlist1, &
426-
extra_astero_search_inlist1_name, &
427-
read_extra_astero_search_inlist2, &
428-
extra_astero_search_inlist2_name, &
429-
read_extra_astero_search_inlist3, &
430-
extra_astero_search_inlist3_name, &
431-
read_extra_astero_search_inlist4, &
432-
extra_astero_search_inlist4_name, &
433-
read_extra_astero_search_inlist5, &
434-
extra_astero_search_inlist5_name
411+
read_extra_astero_search_inlist, &
412+
extra_astero_search_inlist_name
435413

436414

437415
! pgstar plots
@@ -466,20 +444,8 @@ end subroutine other_adipls_mode_info_interface
466444
show_ratios_annotation2, &
467445
show_ratios_annotation3
468446

469-
logical :: read_extra_astero_pgstar_inlist1
470-
character (len=256) :: extra_astero_pgstar_inlist1_name
471-
472-
logical :: read_extra_astero_pgstar_inlist2
473-
character (len=256) :: extra_astero_pgstar_inlist2_name
474-
475-
logical :: read_extra_astero_pgstar_inlist3
476-
character (len=256) :: extra_astero_pgstar_inlist3_name
477-
478-
logical :: read_extra_astero_pgstar_inlist4
479-
character (len=256) :: extra_astero_pgstar_inlist4_name
480-
481-
logical :: read_extra_astero_pgstar_inlist5
482-
character (len=256) :: extra_astero_pgstar_inlist5_name
447+
logical, dimension(max_extra_inlists) :: read_extra_astero_pgstar_inlist
448+
character (len=strlen), dimension(max_extra_inlists) :: extra_astero_pgstar_inlist_name
483449

484450
namelist /astero_pgstar_controls/ &
485451
echelle_win_flag, echelle_file_flag, &
@@ -505,11 +471,7 @@ end subroutine other_adipls_mode_info_interface
505471
show_ratios_annotation1, &
506472
show_ratios_annotation2, &
507473
show_ratios_annotation3, &
508-
read_extra_astero_pgstar_inlist1, extra_astero_pgstar_inlist1_name, &
509-
read_extra_astero_pgstar_inlist2, extra_astero_pgstar_inlist2_name, &
510-
read_extra_astero_pgstar_inlist3, extra_astero_pgstar_inlist3_name, &
511-
read_extra_astero_pgstar_inlist4, extra_astero_pgstar_inlist4_name, &
512-
read_extra_astero_pgstar_inlist5, extra_astero_pgstar_inlist5_name
474+
read_extra_astero_pgstar_inlist, extra_astero_pgstar_inlist_name
513475

514476

515477

@@ -896,9 +858,10 @@ recursive subroutine read1_astero_search_inlist(filename, level, ierr)
896858
integer, intent(in) :: level
897859
integer, intent(out) :: ierr
898860

899-
logical :: read_extra1, read_extra2, read_extra3, read_extra4, read_extra5
900-
character (len=256) :: message, extra1, extra2, extra3, extra4, extra5
901-
integer :: unit
861+
logical, dimension(max_extra_inlists) :: read_extra
862+
character (len=strlen) :: message
863+
character (len=strlen), dimension(max_extra_inlists) :: extra
864+
integer :: unit, i
902865

903866
if (level >= 10) then
904867
write(*,*) 'ERROR: too many levels of nested extra star_job inlist files'
@@ -933,61 +896,18 @@ recursive subroutine read1_astero_search_inlist(filename, level, ierr)
933896
if (ierr /= 0) return
934897

935898
! recursive calls to read other inlists
936-
937-
read_extra1 = read_extra_astero_search_inlist1
938-
read_extra_astero_search_inlist1 = .false.
939-
extra1 = extra_astero_search_inlist1_name
940-
extra_astero_search_inlist1_name = 'undefined'
941-
942-
read_extra2 = read_extra_astero_search_inlist2
943-
read_extra_astero_search_inlist2 = .false.
944-
extra2 = extra_astero_search_inlist2_name
945-
extra_astero_search_inlist2_name = 'undefined'
946-
947-
read_extra3 = read_extra_astero_search_inlist3
948-
read_extra_astero_search_inlist3 = .false.
949-
extra3 = extra_astero_search_inlist3_name
950-
extra_astero_search_inlist3_name = 'undefined'
951-
952-
read_extra4 = read_extra_astero_search_inlist4
953-
read_extra_astero_search_inlist4 = .false.
954-
extra4 = extra_astero_search_inlist4_name
955-
extra_astero_search_inlist4_name = 'undefined'
956-
957-
read_extra5 = read_extra_astero_search_inlist5
958-
read_extra_astero_search_inlist5 = .false.
959-
extra5 = extra_astero_search_inlist5_name
960-
extra_astero_search_inlist5_name = 'undefined'
961-
962-
if (read_extra1) then
963-
!write(*,*) 'read extra astero_search inlist1 from ' // trim(extra1)
964-
call read1_astero_search_inlist(extra1, level+1, ierr)
965-
if (ierr /= 0) return
966-
end if
967-
968-
if (read_extra2) then
969-
!write(*,*) 'read extra astero_search inlist2 from ' // trim(extra2)
970-
call read1_astero_search_inlist(extra2, level+1, ierr)
971-
if (ierr /= 0) return
972-
end if
973-
974-
if (read_extra3) then
975-
!write(*,*) 'read extra astero_search inlist3 from ' // trim(extra3)
976-
call read1_astero_search_inlist(extra3, level+1, ierr)
977-
if (ierr /= 0) return
978-
end if
979-
980-
if (read_extra4) then
981-
!write(*,*) 'read extra astero_search inlist4 from ' // trim(extra4)
982-
call read1_astero_search_inlist(extra4, level+1, ierr)
983-
if (ierr /= 0) return
984-
end if
985-
986-
if (read_extra5) then
987-
write(*,*) 'read extra astero_search inlist5 from ' // trim(extra5)
988-
call read1_astero_search_inlist(extra5, level+1, ierr)
989-
if (ierr /= 0) return
990-
end if
899+
do i=1, max_extra_inlists
900+
read_extra(i) = read_extra_astero_search_inlist(i)
901+
read_extra_astero_search_inlist(i) = .false.
902+
extra(i) = extra_astero_search_inlist_name(i)
903+
extra_astero_search_inlist_name(i) = 'undefined'
904+
905+
if (read_extra(i)) then
906+
call read1_astero_search_inlist(extra(i), level+1, ierr)
907+
if (ierr /= 0) return
908+
end if
909+
end do
910+
991911

992912
end subroutine read1_astero_search_inlist
993913

@@ -1042,9 +962,10 @@ recursive subroutine read1_astero_pgstar_inlist(filename, level, ierr)
1042962
integer, intent(in) :: level
1043963
integer, intent(out) :: ierr
1044964

1045-
logical :: read_extra1, read_extra2, read_extra3, read_extra4, read_extra5
1046-
character (len=256) :: message, extra1, extra2, extra3, extra4, extra5
1047-
integer :: unit
965+
logical, dimension(max_extra_inlists) :: read_extra
966+
character (len=strlen) :: message
967+
character (len=strlen), dimension(max_extra_inlists) :: extra
968+
integer :: unit, i
1048969

1049970
if (level >= 10) then
1050971
write(*,*) 'ERROR: too many levels of nested extra star_job inlist files'
@@ -1077,62 +998,18 @@ recursive subroutine read1_astero_pgstar_inlist(filename, level, ierr)
1077998
call free_iounit(unit)
1078999
if (ierr /= 0) return
10791000

1080-
! recursive calls to read other inlists
1081-
1082-
read_extra1 = read_extra_astero_pgstar_inlist1
1083-
read_extra_astero_pgstar_inlist1 = .false.
1084-
extra1 = extra_astero_pgstar_inlist1_name
1085-
extra_astero_pgstar_inlist1_name = 'undefined'
1086-
1087-
read_extra2 = read_extra_astero_pgstar_inlist2
1088-
read_extra_astero_pgstar_inlist2 = .false.
1089-
extra2 = extra_astero_pgstar_inlist2_name
1090-
extra_astero_pgstar_inlist2_name = 'undefined'
1091-
1092-
read_extra3 = read_extra_astero_pgstar_inlist3
1093-
read_extra_astero_pgstar_inlist3 = .false.
1094-
extra3 = extra_astero_pgstar_inlist3_name
1095-
extra_astero_pgstar_inlist3_name = 'undefined'
1096-
1097-
read_extra4 = read_extra_astero_pgstar_inlist4
1098-
read_extra_astero_pgstar_inlist4 = .false.
1099-
extra4 = extra_astero_pgstar_inlist4_name
1100-
extra_astero_pgstar_inlist4_name = 'undefined'
1101-
1102-
read_extra5 = read_extra_astero_pgstar_inlist5
1103-
read_extra_astero_pgstar_inlist5 = .false.
1104-
extra5 = extra_astero_pgstar_inlist5_name
1105-
extra_astero_pgstar_inlist5_name = 'undefined'
1106-
1107-
if (read_extra1) then
1108-
!write(*,*) 'read extra astero_pgstar inlist1 from ' // trim(extra1)
1109-
call read1_astero_pgstar_inlist(extra1, level+1, ierr)
1110-
if (ierr /= 0) return
1111-
end if
1112-
1113-
if (read_extra2) then
1114-
!write(*,*) 'read extra astero_pgstar inlist2 from ' // trim(extra2)
1115-
call read1_astero_pgstar_inlist(extra2, level+1, ierr)
1116-
if (ierr /= 0) return
1117-
end if
1118-
1119-
if (read_extra3) then
1120-
!write(*,*) 'read extra astero_pgstar inlist3 from ' // trim(extra3)
1121-
call read1_astero_pgstar_inlist(extra3, level+1, ierr)
1122-
if (ierr /= 0) return
1123-
end if
1124-
1125-
if (read_extra4) then
1126-
!write(*,*) 'read extra astero_pgstar inlist4 from ' // trim(extra4)
1127-
call read1_astero_pgstar_inlist(extra4, level+1, ierr)
1128-
if (ierr /= 0) return
1129-
end if
1130-
1131-
if (read_extra5) then
1132-
write(*,*) 'read extra astero_pgstar inlist5 from ' // trim(extra5)
1133-
call read1_astero_pgstar_inlist(extra5, level+1, ierr)
1134-
if (ierr /= 0) return
1135-
end if
1001+
! recursive calls to read other inlists
1002+
do i=1, max_extra_inlists
1003+
read_extra(i) = read_extra_astero_pgstar_inlist(i)
1004+
read_extra_astero_pgstar_inlist(i) = .false.
1005+
extra(i) = extra_astero_pgstar_inlist_name(i)
1006+
extra_astero_pgstar_inlist_name(i) = 'undefined'
1007+
1008+
if (read_extra(i)) then
1009+
call read1_astero_pgstar_inlist(extra(i), level+1, ierr)
1010+
if (ierr /= 0) return
1011+
end if
1012+
end do
11361013

11371014
end subroutine read1_astero_pgstar_inlist
11381015

0 commit comments

Comments
 (0)