A quality flag can combine several validation checks into one report decision.

Program

Play the program to choose how many warnings are tolerated before the report changes state.

quality_flag_summary.f90
program quality_flag_summary_demo
    implicit none
    integer :: warning_count
    integer :: missing_count
    integer :: tolerance
    logical :: report_ok
    character(len=8) :: status

    warning_count = 2
    missing_count = 1
    tolerance = 
    report_ok = warning_count + missing_count <= tolerance
    if (report_ok) then
        status = 'accept'
    else
        status = 'review'
    end if
    print '(A, 1X, I0)', trim(status), warning_count + missing_count
end program quality_flag_summary_demo
program quality_flag_summary_demo
    implicit none
    integer :: warning_count
    integer :: missing_count
    integer :: tolerance
    logical :: report_ok
    character(len=8) :: status

    warning_count = 2
    missing_count = 1
    tolerance = 
    report_ok = warning_count + missing_count <= tolerance
    if (report_ok) then
        status = 'accept'
    else
        status = 'review'
    end if
    print '(A, 1X, I0)', trim(status), warning_count + missing_count
end program quality_flag_summary_demo
program quality_flag_summary_demo
    implicit none
    integer :: warning_count
    integer :: missing_count
    integer :: tolerance
    logical :: report_ok
    character(len=8) :: status

    warning_count = 2
    missing_count = 1
    tolerance = 
    report_ok = warning_count + missing_count <= tolerance
    if (report_ok) then
        status = 'accept'
    else
        status = 'review'
    end if
    print '(A, 1X, I0)', trim(status), warning_count + missing_count
end program quality_flag_summary_demo
flag total Multiple validation counts can be combined into one total.
gate `report_ok` records whether the report should continue.
status A short label makes the validation decision visible in the trace.