def get_cross_correlation(dLT_dTAU, dLT_dLU, dLT_dLD, S_TAU, S_LU, S_LD):
    """Calculates the cross correlation term, which is part of the surface
       temperature uncertainty estimation.

    Args:
        dLT_dTAU <numpy.2darray>: transmission partial
        dLT_dLU <numpy.2darray>: upwelled partial
        dLT_dLD <numpy.2darray>: downwelled partial
        S_TAU <numpy.2darray>: transmission uncertainty
        S_LU <numpy.2darray>: upwelled uncertainty
        S_LD <numpy.2darray>: downwelled uncertainty

    Returns:
        cross_correlation <numpy.2darray>: cross correlation term
    """

    # Correlation coefficients from MODTRAN simulations using MERRA.
    corr_tau_lu = -0.9899
    corr_tau_ld = -0.9857
    corr_lu_ld = 0.9965

    # Calculate cross correlation terms
    part_tau_lu = 2 * corr_tau_lu * dLT_dTAU * dLT_dLU * S_TAU * S_LU
    part_tau_ld = 2 * corr_tau_ld * dLT_dTAU * dLT_dLD * S_TAU * S_LD
    part_lu_ld = 2 * corr_lu_ld * dLT_dLU * dLT_dLD * S_LU * S_LD

    # Calculate cross correlation
    cross_correlation = part_tau_lu + part_tau_ld + part_lu_ld

    # Memory cleanup
    del part_tau_lu
    del part_tau_ld
    del part_lu_ld

    return cross_correlation