In AcousticsDynamics.__call__ a couple of dt are being computed. Namely:
dt_acoustics_substep: from the timestep and the n_split
dt2: half of the above
When using Float=np.float32 (or PACE_FLOAT_PRECISION=32) those still remains 64-bit float, even when type hinted to Float. This is a DaCe bug. To go around it we use two callbacks (dt_acoustic_substep, and dt2 on self) which forces the type has a return.
DaCe to fix - Pace to remove the workaround