1. There is no straight-forward way to restart an IVCurve calculation that was interrupted. This is because what the analysis really does is to run a range of SCF calculations followed by TransmissionSpectrum analysis. A rather complex operation that requires restarting from previous finite-bias calculations in order to ease convergence. A restart scheme for this is much more complicated than it may appear.
In general, however, you can always start an analysis from the zero-bias calculations, e.g.
device_configuration = nlread("ivcurve_selfconsistent_configurations_bias_0.nc")[0]
where "[ 0 ]" means that you want the first item saved in the file, in this case the zero-bias calculation.
2. Checkpoint files should be used only a last resort. Restarting from the saved zero-bias calculation is a more transparent approach.