program sfx_main
    !< @brief main driver 

    ! modules used
    ! --------------------------------------------------------------------------------
    use sfx_config
    use sfx_run
    ! --------------------------------------------------------------------------------

    ! directives list
    ! --------------------------------------------------------------------------------
    implicit none
    ! --------------------------------------------------------------------------------

    character(len=:), allocatable :: filename_out
    type(sfxDatasetType) :: dataset
    integer :: model

    integer :: status
    ! --------------------------------------------------------------------------------

    !   *: explicit call to stop to print exceptions raised

    ! --- setting run
    call set_run(filename_out, dataset, model, status)
    if (status /= 0) stop

    ! --- running main driver
    call run_dataset(filename_out, dataset, model, status)
    stop

end program
