I have three 2D arrays `SandArray`,`ClayArray`, and `SiltArray`. I also have a function described [here](https://soilwater.github.io/pynotes-agriscience/notebooks/soil_textural_class.html). Below is my code, when I run the script I get a `ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()`

```
def TextureClass(sand, clay, silt):

        #if sand + clay > 100 or sand < 0 or clay < 0:
        #    raise Exception('Inputs adds over 100% or are negative')

    if silt + 1.5*clay < 15:
        textural_class = 'sand'

    elif silt + 1.5*clay >= 15 and silt + 2*clay < 30:
        textural_class = 'loamy sand'

    elif (clay >= 7 and clay < 20 and sand > 52 and silt + 2*clay >= 30) or (clay < 7 and silt < 50 and silt + 2*clay >= 30):
        textural_class = 'sandy loam'

    elif clay >= 7 and clay < 27 and silt >= 28 and silt < 50 and sand <= 52:
        textural_class = 'loam'

    elif (silt >= 50 and clay >= 12 and clay < 27) or (silt >= 50 and silt < 80 and clay < 12):
        textural_class = 'silt loam'

    elif silt >= 80 and clay < 12:
        textural_class = 'silt'

    elif clay >= 20 and clay < 35 and silt < 28 and sand > 45:
        textural_class = 'sandy clay loam'

    elif clay >= 27 and clay < 40 and sand > 20 and sand <= 45:
        textural_class = 'clay loam'

    elif clay >= 27 and clay < 40 and sand <= 20:
        textural_class = 'silty clay loam'

    elif clay >= 35 and sand > 45:
        textural_class = 'sandy clay'

    elif clay >= 40 and silt >= 40:
        textural_class = 'silty clay'

    elif clay >= 40 and sand <= 45 and silt < 40:
        textural_class = 'clay'

    else:
        textural_class = 'na'

    return textural_class

Texture = TextureClass(SandArray,ClayArray,SiltArray)

```

Texture should be an array with the same shape as `SandArray`, `ClayArray`, and `SiltArray` but with the `textural_class` `str` as its values.

Is it possible to have an output array of text from a function having conditions and using arrays as its input arguments and if so, what am I missing?

Edit:
Having tried `texture = np.array(list(map(TextureClass,SandArray,ClayArray,SiltArray)))` I still get the same `ValueError`