Is any tool which allow analyse EPD file and add evaluation score per I want specify depth/multi PVL? I tested some tools which allow analysis EPD files but they not work like I want:


I can use Arena but it will not annotate back EPD - it create protocol file.
I can use SCID vs PC but it will not allow to set depth for EPD file.


I found some Python script but it also not support depth and multi PV.

I can write such tool by I do not want duplicate known software. Do you know any tool which allow analysis EPD files.
With  GradualTest, you can use it to control an engine to analyze a set of positions. The only version available through web.archive is 2.4 (a compiled version and program source) but exists version 2.6. The author is Gunnar Malin, available in GitHub.

Its syntax is: 
GradualTest [switches] 

** switches:

/a -    Init time in second, default=2.
/c -    Command to reset hash. Defaults to 'new'. 
/e -    Method to set up the board. Values: edit, cbedit or setboard.
        Default=setboard. (cbedit is used if the engine have implemented
        Chessbase's method of edit.)
/i -    Input file to be tested.
/o -    Output file.
/s -    Init string for the engine. Defaults to 
  'xboard\nhard\neasy\nnew\nlevel 1 1440 0\npost\n'.
/t -    Time to use at each position.
/w -    File to write positions with move not found.
/g -    File to write positions with only good moves
/u -    Use the UCI protocol.


It write also the following epd fields:

acd - Depth of the search for the pv line.
acn - Number of node serched for the pv line.
acs - Seconds searched for the pv line.
ce  - Centipawn evaluation of the pv line.
pm  - The best move from the engine.
pv  - The last pv line (pv=Predicted Variation).


With crafty (a winboard engine) I configured it in 'crafty.rc', sd=21 for instance, but with enough time to reach a depth of 21 ply. When the time to reach this depth was inferior than the time provided with GradualTest, the program somehow knows that position analyze has finished and proceded with the following position.