Parameter Sweeps
Parameter Grid Count
Total Cases
A parameter sweep often starts by counting how many combinations will be evaluated.
Program
Play the program to change one dimension of the grid and see the total case count.
parameter_grid_count.f90
Replay: real traced execution (multi-file project)
program parameter_grid_count_demo
implicit none
integer :: alpha_count
integer :: beta_count
integer :: total_cases
alpha_count = 3
beta_count = 2
total_cases = alpha_count * beta_count
print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases
end program parameter_grid_count_demo
program parameter_grid_count_demo
implicit none
integer :: alpha_count
integer :: beta_count
integer :: total_cases
alpha_count = 2
beta_count = 2
total_cases = alpha_count * beta_count
print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases
end program parameter_grid_count_demo
program parameter_grid_count_demo
implicit none
integer :: alpha_count
integer :: beta_count
integer :: total_cases
alpha_count = 4
beta_count = 2
total_cases = alpha_count * beta_count
print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases
end program parameter_grid_count_demo
alpha_count ← 3
7alpha_count = 38beta_count = 2values this step3alpha_countbeta_count ← 2
7alpha_count = 38beta_count = 29total_cases = alpha_count * beta_countvalues this step2beta_counttotal_cases ← 6
8beta_count = 29total_cases = alpha_count * beta_count10print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_casesvalues this step6total_cases3alpha_count2beta_countprint '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases
9 total_cases = alpha_count * beta_count10 print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases11end program parameter_grid_count_demooutput3 2 6values this step3alpha_count2beta_count6total_cases
alpha_count ← 2
7alpha_count = 28beta_count = 2values this step2alpha_countbeta_count ← 2
7alpha_count = 28beta_count = 29total_cases = alpha_count * beta_countvalues this step2beta_counttotal_cases ← 4
8beta_count = 29total_cases = alpha_count * beta_count10print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_casesvalues this step4total_cases2alpha_count2beta_countprint '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases
9 total_cases = alpha_count * beta_count10 print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases11end program parameter_grid_count_demooutput2 2 4values this step2alpha_count2beta_count4total_cases
alpha_count ← 4
7alpha_count = 48beta_count = 2values this step4alpha_countbeta_count ← 2
7alpha_count = 48beta_count = 29total_cases = alpha_count * beta_countvalues this step2beta_counttotal_cases ← 8
8beta_count = 29total_cases = alpha_count * beta_count10print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_casesvalues this step8total_cases4alpha_count2beta_countprint '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases
9 total_cases = alpha_count * beta_count10 print '(I0, 1X, I0, 1X, I0)', alpha_count, beta_count, total_cases11end program parameter_grid_count_demooutput4 2 8values this step4alpha_count2beta_count8total_cases
grid dimension
Each parameter list contributes one dimension to the sweep grid.
case count
Multiplying dimension sizes gives the number of combinations.
planning pass
Counting cases before evaluating them keeps sweep work visible.