def writeTemperatures(temp, model):
    """Gas and dust temperatures."""
    temp.append('void temperature(double x, double y, double z, ')
    temp.append('double *temperature) {\n\n')
    temp.append('\ttemperature[0] = findvalue(x, y, z, temp);\n')
    if model.rescaletemp:
        temp.append('\ttemperature[0] *= %.3f;\n' % model.rescaletemp)
    temp.append('\tif (temperature[0] < %.2f) ' % model.tcmb)
    temp.append('{\n\t\ttemperature[0] = %.2f;\n\t}\n\n' % model.tcmb)
    if type(model.dtemp) is float:
        temp.append('\ttemperature[1] = %.3f * temperature[0];' % model.dtemp)
        temp.append('\n\n')
    else:
        temp.append('\ttemperature[1] = findvalue(x, y, z, dtemp);\n')
        temp.append('\tif (temperature[1] < %.2f) ' % model.tcmb)
        temp.append('{\n\t\ttemperature[1] = %.2f;\n\t}\n' % model.tcmb)
    temp.append('}\n\n\n')
    return
