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.
In
AcousticsDynamics.__call__
a couple ofdt
are being computed. Namely:dt_acoustics_substep
: from thetimestep
and then_split
dt2
: half of the aboveWhen using
Float=np.float32
(orPACE_FLOAT_PRECISION=32
) those still remains 64-bit float, even when type hinted toFloat
. This is a DaCe bug. To go around it we use two callbacks (dt_acoustic_substep
, anddt2
onself
) which forces the type has a return.DaCe to fix - Pace to remove the workaround