Monitor[NDSolve[{eq, bc1, bc2, ic},
z, {t, 0, 100}, {x, -Lx, Lx}, {y, -Ly, Ly}, Method -> mol,
StepMonitor :> (time = t)],
ProgressIndicator[time/100]]
This doesn't appear to slow down the evaluation in any significant way:
RepeatedTiming[
NDSolve[{eq, bc1, bc2, ic},
z, {t, 0, 100}, {x, -Lx, Lx}, {y, -Ly, Ly}, Method -> mol], 60]
RepeatedTiming[
Monitor[NDSolve[{eq, bc1, bc2, ic},
z, {t, 0, 100}, {x, -Lx, Lx}, {y, -Ly, Ly}, Method -> mol,
StepMonitor :> (time = t)], ProgressIndicator[time/100]], 60]
RepeatedTiming[
Monitor[NDSolve[{eq, bc1, bc2, ic},
z, {t, 0, 100}, {x, -Lx, Lx}, {y, -Ly, Ly}, Method -> mol,
EvaluationMonitor :> (time = t)], ProgressIndicator[time/100]], 60]
11.46
12.
11.9