@echo off
REM ===================================================
REM  Multi-week Ephemeris Database creator
REM  - Asks for YEAR, start week, end week
REM  - Walks: E:\GNSMART_DATA\YEAR\WEEK\DOY
REM  - Per DOY: processes sephDOY[a-x].25f/g/h/l/n/q
REM    with a 5-second wait between letters
REM ===================================================

setlocal ENABLEDELAYEDEXPANSION

REM ---- ROOT PATH FOR NAV FILE TREE ----
set ROOT=E:\GNSMART_DATA

REM ---- ASK USER FOR PARAMETERS ----
set /p YEAR=Enter year (e.g. 2025): 
set /p STARTWEEK=Enter start week (e.g. 2347): 
set /p ENDWEEK=Enter end week   (e.g. 2387): 

REM ---- EPH2EDB CONFIG ----
set EDB_PATH=E:\GNSMART_DATA\EDB
set ATX_FILE=C:\geopp\conf\gnsmart\igs20.atx
set EPH2EDB_EXE=eph2edb.exe

echo.
echo ============================================
echo  YEAR      : %YEAR%
echo  WEEKS     : %STARTWEEK% to %ENDWEEK%
echo  ROOT      : %ROOT%
echo  EDB PATH  : %EDB_PATH%
echo  ATX FILE  : %ATX_FILE%
echo ============================================
echo.

REM ========== LOOP OVER WEEKS ==========
for /L %%G in (%STARTWEEK%,1,%ENDWEEK%) do (
    set "WEEK=0000%%G"
    set "WEEK=!WEEK:~-4!"

    echo ################################################
    echo  Processing WEEK !WEEK!
    echo ################################################

    REM Loop DOY = 001..366, but only if the folder exists
    for /L %%D in (1,1,366) do (
        set "DOY=00%%D"
        set "DOY=!DOY:~-3!"

        set "DOY_PATH=%ROOT%\%YEAR%\!WEEK!\!DOY!"
        if exist "!DOY_PATH!\" (
            echo.
            echo --------------------------------------------
            echo  YEAR %YEAR%  WEEK !WEEK!  DOY !DOY!
            echo  Folder: !DOY_PATH!
            echo --------------------------------------------

            pushd "!DOY_PATH!" >nul

            REM ===== PER-DOY PROCESSING (your original logic) =====
            REM Letters a–x
            for %%L in (a b c d e f g h i j k l m n o p q r s t u v w x) do (
                echo   ---- Letter %%L for DOY !DOY! ----

                REM Reset CMD for each letter
                set "CMD=%EPH2EDB_EXE% +EDB=%EDB_PATH% -l -dE -ATX=%ATX_FILE%"
                set "ADDED="

                REM Suffixes: 25f 25g 25h 25l 25n 25q
                for %%E in (23f 23g 23h 23l 23n 23q) do (
                    set "FILE=seph!DOY!%%L.%%E"
                    if exist "!FILE!" (
                        echo       Adding file: !FILE!
                        set "CMD=!CMD! -N=!FILE!"
                        set "ADDED=1"
                    )
                )

                REM Only run eph2edb if this letter had files
                if defined ADDED (
                    echo.
                    echo       Running:
                    echo       !CMD!
                    echo.
                    !CMD!
                    echo.
                    echo       Waiting 5 seconds before next letter...
                    timeout /t 5 /nobreak >nul
                    echo.
                ) else (
                    echo       No seph!DOY!%%L.* files, skipping letter %%L.
                    echo.
                )
            )
            REM ===== END PER-DOY PROCESSING =====

            popd >nul
        )
    )
)

echo.
echo ============================================
echo  Finished creating EDB files for:
echo  YEAR %YEAR%, weeks %STARTWEEK%-%ENDWEEK%.
echo ============================================
pause

