def calculate_deltat(year, month):
plw = '<STR_LIT>''<STR_LIT>''<STR_LIT>'<EOL>try:<EOL><INDENT>if np.any((year > <NUM_LIT>) | (year < -<NUM_LIT>)):<EOL><INDENT>warnings.warn(plw)<EOL><DEDENT><DEDENT>except ValueError:<EOL><INDENT>if (year > <NUM_LIT>) | (year < -<NUM_LIT>):<EOL><INDENT>warnings.warn(plw)<EOL><DEDENT><DEDENT>except TypeError:<EOL><INDENT>return <NUM_LIT:0><EOL><DEDENT>y = year + (month - <NUM_LIT:0.5>)/<NUM_LIT:12><EOL>deltat = np.where(year < -<NUM_LIT>,<EOL>-<NUM_LIT:20>+<NUM_LIT:32>*((y-<NUM_LIT>)/<NUM_LIT:100>)**<NUM_LIT:2>, <NUM_LIT:0>)<EOL>deltat = np.where((-<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>-<NUM_LIT>*(y/<NUM_LIT:100>)<EOL>+ <NUM_LIT>*(y/<NUM_LIT:100>)**<NUM_LIT:2><EOL>- <NUM_LIT>*(y/<NUM_LIT:100>)**<NUM_LIT:3><EOL>- <NUM_LIT>*(y/<NUM_LIT:100>)**<NUM_LIT:4><EOL>+ <NUM_LIT>*(y/<NUM_LIT:100>)**<NUM_LIT:5><EOL>+ <NUM_LIT>*(y/<NUM_LIT:100>)**<NUM_LIT:6>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>-<NUM_LIT>*((y-<NUM_LIT:1000>)/<NUM_LIT:100>)<EOL>+ <NUM_LIT>*((y-<NUM_LIT:1000>)/<NUM_LIT:100>)**<NUM_LIT:2><EOL>+ <NUM_LIT>*((y-<NUM_LIT:1000>)/<NUM_LIT:100>)**<NUM_LIT:3><EOL>- <NUM_LIT>*((y-<NUM_LIT:1000>)/<NUM_LIT:100>)**<NUM_LIT:4><EOL>- <NUM_LIT>*((y-<NUM_LIT:1000>)/<NUM_LIT:100>)**<NUM_LIT:5><EOL>+ <NUM_LIT>*((y-<NUM_LIT:1000>)/<NUM_LIT:100>)**<NUM_LIT:6>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>-<NUM_LIT>*(y-<NUM_LIT>)<EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:2><EOL>+ (y-<NUM_LIT>)**<NUM_LIT:3>/<NUM_LIT>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>+<NUM_LIT>*(y-<NUM_LIT>)<EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:2><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:3><EOL>- (y-<NUM_LIT>)**<NUM_LIT:4>/<NUM_LIT>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>-<NUM_LIT>*(y-<NUM_LIT>)<EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:2><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:3><EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:4><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:5><EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:6><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:7>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>+<NUM_LIT>*(y-<NUM_LIT>)<EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:2><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:3><EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:4><EOL>+ (y-<NUM_LIT>)**<NUM_LIT:5>/<NUM_LIT>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL>-<NUM_LIT>+<NUM_LIT>*(y-<NUM_LIT>)<EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:2><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:3><EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:4>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>+<NUM_LIT>*(y-<NUM_LIT>)<EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:2><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:3>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>+<NUM_LIT>*(y-<NUM_LIT>)<EOL>- (y-<NUM_LIT>)**<NUM_LIT:2>/<NUM_LIT><EOL>+ (y-<NUM_LIT>)**<NUM_LIT:3>/<NUM_LIT>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>+<NUM_LIT>*(y-<NUM_LIT>)<EOL>- (y-<NUM_LIT>)**<NUM_LIT:2>/<NUM_LIT><EOL>- (y-<NUM_LIT>)**<NUM_LIT:3>/<NUM_LIT>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>+<NUM_LIT>*(y-<NUM_LIT>)<EOL>- <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:2><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:3><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:4><EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:5>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL><NUM_LIT>+<NUM_LIT>*(y-<NUM_LIT>)<EOL>+ <NUM_LIT>*(y-<NUM_LIT>)**<NUM_LIT:2>, deltat)<EOL>deltat = np.where((<NUM_LIT> <= year) & (year < <NUM_LIT>),<EOL>-<NUM_LIT:20>+<NUM_LIT:32>*((y-<NUM_LIT>)/<NUM_LIT:100>)**<NUM_LIT:2><EOL>- <NUM_LIT>*(<NUM_LIT>-y), deltat)<EOL>deltat = np.where(year >= <NUM_LIT>,<EOL>-<NUM_LIT:20>+<NUM_LIT:32>*((y-<NUM_LIT>)/<NUM_LIT:100>)**<NUM_LIT:2>, deltat)<EOL>deltat = deltat.item() if np.isscalar(year) & np.isscalar(month)else deltat<EOL>return deltat<EOL>
Calculate the difference between Terrestrial Dynamical Time (TD)
    and Universal Time (UT).

    Note: This function is not yet compatible for calculations using
    Numba.

    Equations taken from http://eclipse.gsfc.nasa.gov/SEcat5/deltatpoly.html