To add to @Uwe's answer, I found a source for the solar spectrum above the atmosphere (i.e. in space). It's in old-style .xls binary format, so I found a Python library to open it as I don't like to remember the Excel days.
A very broad band from 250nm to 350nm in the UV has about 1/7 the intensity of the 450 to 650nm band.
However, conventional CCDs and other imagers tend to give one photoelectron per photon, independent of photon energy 1 Watt of 300nm has half the number of photons as 1 Watt of 600nm. So even if the system had flat quantum efficiency (which it won't, even with backside-thinned CCDs) that ratio should really be 1/15.
Further factor in the precipitous drop in the Moon's albedo in the UV (the Moon is red, it is not at all white, see Why doesn't a full/gibbous moon high in the sky ever seem to look orange? Shouldn't it? for more details) so that ratio should really be 1/30.
While the idea could be workable, a factor of 30 loss in brightness would be tough to make up for with a factor of 30 longer exposure. At some point you'll need some pretty fancy camera-slewing or multiple image correlation and stacking with a toasty-hot image processing FPGA in order to keep the S/N comparable to the state-of-the-art in visible light.
above: "Figure 8: Averaged geometrical moon albedos measured by GOME from July 1995, November 1995, and September 1996." From ESA's GOME moon measurements, including instrument characterisation and moon albedo.
import numpy as np
import matplotlib.pyplot as plt
# https://www.nrel.gov/grid/solar-resource/spectra-astm-e490.html
# older https://www.nrel.gov/grid/solar-resource/spectra-wehrli.html
# FOUND: [Read Excel File in Python](https://stackoverflow.com/q/22169325/3904031)
# works for older .xls, which are binary and pre-2007 conversion to XML-like
# https://pypi.org/project/xlrd/
# https://libraries.io/pypi/xlrd
# HANDY! http://www.python-excel.org/
# ALSO HANDY! https://www.datacamp.com/community/tutorials/python-excel-tutorial
clight = 2.99792458E+08 # m / s
hplanck = 6.626070040E-34 # J s
Coulomb = 6E+18
if False: # do this once to read the Excel file, then save as .npy
from xlrd import open_workbook
wb = open_workbook('e490_00a_amo.xls')
sheets = wb.sheets()
s0 = sheets[0] # first sheet
nrows, ncols = s0.nrows, s0.ncols
print (nrows, ncols)
name_C0 = s0.cell(0,0).value # u'Wavelength, microns'
name_C1 = s0.cell(0,1).value # u'E-490 W/m2/micron'
lam = np.array([s0.cell(n,0).value for n in range(1, nrows)])
I = np.array([s0.cell(n,1).value for n in range(1, nrows)])
np.save('lam', lam)
np.save('I', I )
else: # then you can just read from disk next time
lam = np.load('lam.npy')
I = np.load('I.npy')
n0 = np.argmax(lam>0.15)
n1 = np.argmax(lam>0.75)
lam = lam[n0:n1+1]
I = I[n0:n1+1]
dlam = lam[1:] - lam[:-1]
lam = lam[:-1]
I = I[:-1]
Ephot = hplanck * clight / (1E-06 * lam)
print lam.min(), lam.max()
print dlam.min(), dlam.max()
uv1 = (lam >= 0.25) * (lam <= 0.35)
uv2 = (lam >= 0.35) * (lam <= 0.45)
vis1 = (lam >= 0.45) * (lam <= 0.55)
vis2 = (lam >= 0.55) * (lam <= 0.65)
Iuv1 = I * uv1
Iuv2 = I * uv2
Ivis1 = I * vis1
Ivis2 = I * vis2
Iuv1_tot = (Iuv1 * dlam).sum()
Iuv2_tot = (Iuv2 * dlam).sum()
Ivis1_tot = (Ivis1 * dlam).sum()
Ivis2_tot = (Ivis2 * dlam).sum()
print "Iuv1_tot: {} W/m^2".format(Iuv1_tot)
print "Iuv2_tot: {} W/m^2".format(Iuv2_tot)
print "Ivis1_tot: {} W/m^2".format(Ivis1_tot)
print "Ivis2_tot: {} W/m^2".format(Ivis2_tot)
if True:
plt.figure()
plt.subplot(2, 1, 1)
plt.plot(lam, I, '-k')
plt.plot(lam, Iuv1, '-m')
plt.plot(lam, Iuv2, '-b')
plt.plot(lam, Ivis1, '-g')
plt.plot(lam, Ivis2, '-y')
plt.text(0.32, 350, '52', fontsize=14)
plt.text(0.405, 750, '139', fontsize=14)
plt.text(0.48, 1300, '193', fontsize=14)
plt.text(0.59, 1200, '176', fontsize=14)
plt.text(0.18, 1900, 'approx W/m^2', fontsize=14)
plt.xlabel('microns')
plt.ylabel('W/m^2/micron')
plt.subplot(2, 1, 2)
plt.plot(lam, I, '-k')
plt.plot(lam, Iuv1, '-m')
plt.plot(lam, Iuv2, '-b')
plt.plot(lam, Ivis1, '-g')
plt.plot(lam, Ivis2, '-y')
plt.yscale('log')
plt.xlabel('microns')
plt.ylabel('W/m^2/micron')
plt.suptitle('e490_00a_amo.xls')
plt.show()