def METHOD_NAME(ngauss):
    """Computes integration over half sphere. ngauss=5 is 5 angles over half a 
    sphere. 
    These are taken from : 
    Abramowitz and Stegun Table 25.8
    https://books.google.com/books?id=32HJ1orVXDEC&pg=PA876&lpg=PA876&dq=Abramowitz+and+Stegun+Table+25.8&source=bl&ots=_eKu6k5SG8&sig=ACfU3U0_piSAi8aDHOVd0itf_QSAFxcFLQ&hl=en&sa=X&ved=2ahUKEwj5neLR2fDoAhXemHIEHUSVCjEQ6AEwD3oECAwQKQ#v=onepage&q=Abramowitz%20and%20Stegun%20Table%2025.8&f=false
    Parameters
    ----------
    ngauss: int 
        Can only be 5, 6, 7, 8
    """
    #n=5 
    if ngauss ==5:
        gangle = array([0.0985350858, 0.3045357266, 0.5620251898, 0.8019865821,0.9601901429])
        gweight = array([0.0157479145, 0.0739088701, 0.1463869871,  0.1671746381,0.0967815902])
    #n=6 
    elif ngauss ==6:
        gangle = array([0.0730543287, 0.2307661380, 0.4413284812, 0.6630153097, 0.8519214003,0.9706835728])
        gweight = array([0.0087383018, 0.0439551656, 0.0986611509, 0.1407925538, 0.1355424972, 0.0723103307])
    #n=7
    elif ngauss ==7:
        gangle = array([0.0562625605, 0.1802406917, 0.3526247171, 0.5471536263, 0.7342101772, 0.8853209468, 0.9775206136])
        gweight = array([0.0052143622, 0.0274083567, 0.0663846965, 0.1071250657, 0.1273908973, 0.1105092582, 0.0559673634])
    #n=8
    elif ngauss ==8:
        gangle = array([0.0446339553, 0.1443662570, 0.2868247571, 0.4548133152, 0.6280678354, 0.7856915206, 0.9086763921, 0.9822200849])
        gweight = array([0.0032951914, 0.0178429027, 0.0454393195, 0.0791995995, 0.1060473594, 0.1125057995, 0.0911190236, 0.0445508044])
    else: 
        raise Exception("Please enter ngauss=5,6,7 or 8.")
    tangle,tweight = array([0]), array([1])
    return gangle, gweight, tangle,tweight