The main documentation of the Get_Status_Output Procedure contains additional explanation of this code listing.
subroutine Get_Status_Output (Status_String, S) ! Input variable. type(Status_type), intent(in) :: S ! Status. ! Output variable. ! Output string for this Status. type(character,*), intent(out) :: Status_String !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Verify requirements. VERIFY(Valid_State(S),1) ! S is valid. ! Determine which output string is to be set. Status_String = status_flag(S%status)%output_string ! Verify guarantees. ! Status_String should be what it was set to. VERIFY(Status_String == status_flag(S%status)%output_string,2) return end subroutine Get_Status_Output