Fixed bugs in state_point.F90 file with misuese of Tally IDs in HDF5 keys

This commit is contained in:
Will Boyd 2015-03-18 21:53:30 -04:00
parent 842f1c8ebd
commit 32558bf22e
2 changed files with 22 additions and 15 deletions

View file

@ -297,7 +297,7 @@ contains
group="tallies/tally " // trim(to_str(tally % id)), &
length=tally % n_score_bins)
call sp % write_data(tally % n_user_score_bins, "n_user_score_bins", &
group="tallies/tally " // to_str(i))
group="tallies/tally " // to_str(tally % id))
! Write explicit moment order strings for each score bin
k = 1
@ -306,13 +306,15 @@ contains
case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N)
moment_name = 'P' // to_str(tally % moment_order(k))
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
group="tallies/tally " // trim(to_str(tally % id)) // &
"/moments")
k = k + 1
case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN)
do n_order = 0, tally % moment_order(k)
moment_name = 'P' // trim(to_str(n_order))
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
group="tallies/tally " // trim(to_str(tally % id)) // &
"/moments")
k = k + 1
end do
case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, &
@ -321,15 +323,18 @@ contains
do nm_order = -n_order, n_order
moment_name = 'Y' // trim(to_str(n_order)) // ',' // &
trim(to_str(nm_order))
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
call sp % write_data(moment_name, "order" // &
trim(to_str(k)), &
group="tallies/tally " // trim(to_str(tally % id)) // &
"/moments")
k = k + 1
end do
end do
case default
moment_name = ''
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
group="tallies/tally " // trim(to_str(tally % id)) // &
"/moments")
k = k + 1
end select
@ -885,11 +890,12 @@ contains
! Write number of score bins, score bins, user score bins
call sp % read_data(tally % n_score_bins, "n_score_bins", &
group="tallies/tally " // to_str(i))
group="tallies/tally " // trim(to_str(curr_key)))
call sp % read_data(tally % score_bins, "score_bins", &
group="tallies/tally " // to_str(i), length=tally % n_score_bins)
group="tallies/tally " // trim(to_str(curr_key)), &
length=tally % n_score_bins)
call sp % read_data(tally % n_user_score_bins, "n_user_score_bins", &
group="tallies/tally " // to_str(i))
group="tallies/tally " // trim(to_str(curr_key)))
! Read explicit moment order strings for each score bin
k = 1
@ -897,12 +903,12 @@ contains
select case(tally % score_bins(k))
case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N)
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
group="tallies/tally " // trim(to_str(curr_key)) // "/moments")
k = k + 1
case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN)
do n_order = 0, tally % moment_order(k)
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
group="tallies/tally " // trim(to_str(curr_key)) // "/moments")
k = k + 1
end do
case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, &
@ -910,13 +916,14 @@ contains
do n_order = 0, tally % moment_order(k)
do nm_order = -n_order, n_order
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
group="tallies/tally " // trim(to_str(curr_key)) // &
"/moments")
k = k + 1
end do
end do
case default
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
group="tallies/tally " // trim(to_str(curr_key)) // "/moments")
k = k + 1
end select

View file

@ -379,12 +379,12 @@ class StatePoint(object):
# Read scattering moment order strings (e.g., P3, Y-1,2, etc.)
moments = list()
base += '{0}/moments/'.format(tally_key)
subbase = '{0}{1}/moments/'.format(base, tally_key)
# Extract the moment order string for each score
for k in range(len(scores)):
moment = self._get_string(8,
path='{0}order{1}'.format(base, k+1))
path='{0}order{1}'.format(subbase, k+1))
moment = moment.lstrip('[\'')
moment = moment.rstrip('\']')