To run the code below:
SHIFT+ENTER
on your keyboard.%matplotlib inline
import urllib2
import matplotlib.pyplot as plt
# create a file-like object from the url
f=urllib2.urlopen("http://access.planetserver.eu:8080/rasdaman/ows?service=WCS&version=2.0.1&request=ProcessCoverages&query=for%20data%20in%20(frt0000abcb_07_if166l_trr3)%20return%20encode(%20{%20red:%20(int)(255%20/%20(max((data.band_233%20!=%2065535)%20*%20data.band_233)%20-%20min(data.band_233)))%20*%20(data.band_233%20-%20min(data.band_233));%20green:%20(int)(255%20/%20(max((data.band_13%20!=%2065535)%20*%20data.band_13)%20-%20min(data.band_13)))%20*%20(data.band_13%20-%20min(data.band_13));%20blue:%20(int)(255%20/%20(max((data.band_78%20!=%2065535)%20*%20data.band_78)%20-%20min(data.band_78)))%20*%20(data.band_78%20-%20min(data.band_78))%20;%20alpha:%20(data.band_100%20!=%2065535)%20*%20255},%20%22png%22,%20%22nodata=null%22)")
# read the image file in a numpy array
a = plt.imread(f)
plt.imshow(a)
plt.show()
The first part of the query is the server direction: http://access.planetserver.eu:8080/rasdaman/ows?service=WCS&version=2.0.1&request=ProcessCoverages&query=
Then the query itself:
for data in (frt0000805f_07_if166l_trr3) return encode({
red: (int)(255 / (max((data.band_233 != 65535) * data.band_233) - min(data.band_233))) * (data.band_233 - min(data.band_233));
green: (int)(255 / (max((data.band_13 != 65535) * data.band_13) - min(data.band_13))) * (data.band_13 - min(data.band_13));
blue: (int)(255 / (max((data.band_78 != 65535) * data.band_78) - min(data.band_78))) * (data.band_78 - min(data.band_78));
alpha: (data.band_100 != 65535) * 255},
"png", "nodata=null")
%matplotlib inline
import urllib2
import matplotlib.pyplot as plt
# create a file-like object from the url
f=urllib2.urlopen("http://access.planetserver.eu:8090/python?wcpsQuery=http://access.planetserver.eu:8080/rasdaman/ows?service=WCS&version=2.0.1&request=ProcessCoverages&query=for%20data%20in%20(%20frt00009971_07_if166l_trr3%20)%20return%20encode(%20{Red:(int)(%20255%20/%20(%20max((1%20-%20(data.band_185%20/%20((1%20-%20(0.538461538))%20*%20data.band_178%20+%20(0.538461538)%20*%20data.band_191))))%20-%20min((1%20-%20(data.band_185%20/%20((1%20-%20(0.538461538))%20*%20data.band_178%20+%20(0.538461538)%20*%20data.band_191))))%20))%20*%20(%20((1%20-%20(data.band_185%20/%20((1%20-%20(0.538461538))%20*%20data.band_178%20+%20(0.538461538)%20*%20data.band_191))))%20-%20min((1%20-%20(data.band_185%20/%20((1%20-%20(0.538461538))%20*%20data.band_178%20+%20(0.538461538)%20*%20data.band_191))))%20);%20Green:(int)(%20255%20/%20(%20max((1%20-%20(data.band_181%20/%20((1%20-%20(0.49988651))%20*%20data.band_171%20+%20(0.49988651)%20*%20data.band_191))))%20-%20min((1%20-%20(data.band_181%20/%20((1%20-%20(0.49988651))%20*%20data.band_171%20+%20(0.49988651)%20*%20data.band_191))))%20))%20*%20(%20((1%20-%20(data.band_181%20/%20((1%20-%20(0.49988651))%20*%20data.band_171%20+%20(0.49988651)%20*%20data.band_191))))%20-%20min((1%20-%20(data.band_181%20/%20((1%20-%20(0.49988651))%20*%20data.band_171%20+%20(0.49988651)%20*%20data.band_191))))%20);%20Blue:(int)(%20255%20/%20(%20max((1%20-%20(data.band_178%20/%20((1%20-%20(0.374881786))%20*%20data.band_171%20+%20(0.374881786)%20*%20data.band_188))))%20-%20min((1%20-%20(data.band_178%20/%20((1%20-%20(0.374881786))%20*%20data.band_171%20+%20(0.374881786)%20*%20data.band_188))))%20))%20*%20(%20((1%20-%20(data.band_178%20/%20((1%20-%20(0.374881786))%20*%20data.band_171%20+%20(0.374881786)%20*%20data.band_188))))%20-%20min((1%20-%20(data.band_178%20/%20((1%20-%20(0.374881786))%20*%20data.band_171%20+%20(0.374881786)%20*%20data.band_188))))%20);%20%20alpha:%20(data.band_100%20!=%2065535)%20*%20255%20},%20%22tiff%22,%20%22nodata=null%22)")
# read the image file in a numpy array
a = plt.imread(f)
plt.imshow(a)
plt.show()
As you can see, here the query is more complex. It is actually a wcps query with a wcps query in each channel. Let's split it in parts:
Red:(int)( 255 / ( max((1 - (data.band_185 / ((1 - (0.538461538)) * data.band_178 (0.538461538) * data.band_191)))) - min((1 - (data.band_185 / ((1 - (0.538461538)) * data.band_178 (0.538461538) * data.band_191)))) )) * ( ((1 - (data.band_185 / ((1 - (0.538461538)) * data.band_178 (0.538461538) * data.band_191)))) - min((1 - (data.band_185 / ((1 - (0.538461538)) * data.band_178 (0.538461538) * data.band_191)))) );
Green:(int)( 255 / ( max((1 - (data.band_181 / ((1 - (0.49988651)) * data.band_171 (0.49988651) * data.band_191)))) - min((1 - (data.band_181 / ((1 - (0.49988651)) * data.band_171 (0.49988651) * data.band_191)))) )) * ( ((1 - (data.band_181 / ((1 - (0.49988651)) * data.band_171 (0.49988651) * data.band_191)))) - min((1 - (data.band_181 / ((1 - (0.49988651)) * data.band_171 (0.49988651) * data.band_191)))) );
Blue:(int)( 255 / ( max((1 - (data.band_178 / ((1 - (0.374881786)) * data.band_171 (0.374881786) * data.band_188)))) - min((1 - (data.band_178 / ((1 - (0.374881786)) * data.band_171 (0.374881786) * data.band_188)))) )) * ( ((1 - (data.band_178 / ((1 - (0.374881786)) * data.band_171 (0.374881786) * data.band_188)))) - min((1 - (data.band_178 / ((1 - (0.374881786)) * data.band_171 (0.374881786) * data.band_188)))) );
alpha: (data.band_100 != 65535) * 255 }, "tiff", "nodata=null")
We can also query spectral data from CRISM images. This is querying a single pixel along the cube, in this case we have a cube with 438 bands therefore we will get the spectral signal of the selected pixel along all the bands.
%matplotlib inline
import math
import numpy as np
import matplotlib.pyplot as plt
x_axis = [1.00135, 1.0079, 1.0144500000000001, 1.0209999999999999, 1.02755, 1.0341, 1.0406500000000001, 1.0471999999999999, 1.05375, 1.0603, 1.0668500000000001, 1.07341, 1.07996, 1.0865100000000001, 1.09307, 1.09962, 1.1061700000000001, 1.11273, 1.1192800000000001, 1.12584, 1.13239, 1.1389499999999999, 1.14551, 1.1520600000000001, 1.15862, 1.1651800000000001, 1.1717299999999999, 1.1782900000000001, 1.18485, 1.1914100000000001, 1.19797, 1.2045300000000001, 1.21109, 1.2176499999999999, 1.22421, 1.2307699999999999, 1.23733, 1.2438899999999999, 1.2504500000000001, 1.25701, 1.2635700000000001, 1.27014, 1.2766999999999999, 1.2832600000000001, 1.28983, 1.2963899999999999, 1.3029500000000001, 1.30952, 1.3160799999999999, 1.3226500000000001, 1.32921, 1.33578, 1.3423400000000001, 1.3489100000000001, 1.35548, 1.36205, 1.3686100000000001, 1.3751800000000001, 1.38175, 1.38832, 1.39489, 1.4014500000000001, 1.40802, 1.41459, 1.42116, 1.4277299999999999, 1.43431, 1.4408799999999999, 1.4474499999999999, 1.4540200000000001, 1.4605900000000001, 1.46716, 1.47374, 1.48031, 1.48688, 1.49346, 1.50003, 1.50661, 1.51318, 1.51976, 1.52633, 1.53291, 1.53948, 1.54606, 1.55264, 1.55921, 1.56579, 1.57237, 1.5789500000000001, 1.58552, 1.5921000000000001, 1.5986800000000001, 1.6052599999999999, 1.6118399999999999, 1.61842, 1.625, 1.63158, 1.6381600000000001, 1.6447400000000001, 1.65133, 1.65791, 1.66449, 1.6710700000000001, 1.6776599999999999, 1.68424, 1.69082, 1.6974100000000001, 1.7039899999999999, 1.71058, 1.71716, 1.7237499999999999, 1.7303299999999999, 1.73692, 1.7435099999999999, 1.7500899999999999, 1.75668, 1.7632699999999999, 1.7698499999999999, 1.77644, 1.7830299999999999, 1.78962, 1.7962100000000001, 1.8028, 1.8093900000000001, 1.8159799999999999, 1.82257, 1.8291599999999999, 1.83575, 1.8423400000000001, 1.84893, 1.8555200000000001, 1.86212, 1.8687100000000001, 1.8753, 1.8818999999999999, 1.88849, 1.8950800000000001, 1.90168, 1.9082699999999999, 1.9148700000000001, 1.9214599999999999, 1.9280600000000001, 1.93465, 1.9412499999999999, 1.9478500000000001, 1.95444, 1.9610399999999999, 1.9676400000000001, 1.97424, 1.9808399999999999, 1.98743, 1.99403, 2.0006300000000001, 2.0072299999999998, 2.01383, 2.0204300000000002, 2.0270299999999999, 2.03363, 2.0402399999999998, 2.04684, 2.0534400000000002, 2.0600399999999999, 2.06664, 2.0732499999999998, 2.07985, 2.0864500000000001, 2.0930599999999999, 2.0996600000000001, 2.1062699999999999, 2.11287, 2.1194799999999998, 2.12608, 2.1326900000000002, 2.1393, 2.1459000000000001, 2.1525099999999999, 2.1591200000000002, 2.1657199999999999, 2.1723300000000001, 2.1789399999999999, 2.1855500000000001, 2.1921599999999999, 2.1987700000000001, 2.2053799999999999, 2.2119900000000001, 2.2185999999999999, 2.2252100000000001, 2.2318199999999999, 2.2384300000000001, 2.2450399999999999, 2.2516500000000002, 2.25827, 2.2648799999999998, 2.27149, 2.2780999999999998, 2.2847200000000001, 2.2913299999999999, 2.2979500000000002, 2.3045599999999999, 2.3111799999999998, 2.31779, 2.3244099999999999, 2.3310200000000001, 2.3376399999999999, 2.3442599999999998, 2.35087, 2.3574899999999999, 2.3641100000000002, 2.3707199999999999, 2.3773399999999998, 2.3839600000000001, 2.3905799999999999, 2.3972000000000002, 2.4038200000000001, 2.4104399999999999, 2.4170600000000002, 2.4236800000000001, 2.4302999999999999, 2.4369200000000002, 2.44354, 2.45017, 2.4567899999999998, 2.4634100000000001, 2.4700299999999999, 2.4766599999999999, 2.4832800000000002, 2.4899, 2.4965299999999999, 2.50312, 2.5097200000000002, 2.5163199999999999, 2.5229200000000001, 2.5295100000000001, 2.5361099999999999, 2.54271, 2.5493100000000002, 2.5559099999999999, 2.5625100000000001, 2.5691099999999998, 2.5757099999999999, 2.5823100000000001, 2.5889099999999998, 2.59551, 2.6021200000000002, 2.6087199999999999, 2.6153200000000001, 2.6219199999999998, 2.62853, 2.6351300000000002, 2.64174, 2.6483400000000001, 2.6549499999999999, 2.6615500000000001, 2.6681599999999999, 2.67476, 2.6813699999999998, 2.68798, 2.6945800000000002, 2.70119, 2.7606799999999998, 2.76729, 2.7738999999999998, 2.7805200000000001, 2.7871299999999999, 2.7937400000000001, 2.8003499999999999, 2.8069700000000002, 2.81358, 2.8201999999999998, 2.82681, 2.8334299999999999, 2.8400400000000001, 2.84666, 2.8532799999999998, 2.85989, 2.8665099999999999, 2.8731300000000002, 2.87975, 2.8863599999999998, 2.8929800000000001, 2.8996, 2.9062199999999998, 2.9128400000000001, 2.9194599999999999, 2.9260799999999998, 2.9327000000000001, 2.9393199999999999, 2.9459499999999998, 2.9525700000000001, 2.95919, 2.9658099999999998, 2.9724400000000002, 2.97906, 2.9856799999999999, 2.9923099999999998, 2.9989300000000001, 3.00556, 3.0121799999999999, 3.0188100000000002, 3.0254400000000001, 3.03206, 3.0386899999999999, 3.0453199999999998, 3.0519500000000002, 3.05857, 3.0651999999999999, 3.0718299999999998, 3.0784600000000002, 3.0850900000000001, 3.09172, 3.0983499999999999, 3.1049799999999999, 3.1116100000000002, 3.1182500000000002, 3.1248800000000001, 3.13151, 3.1381399999999999, 3.1447799999999999, 3.1514099999999998, 3.1580400000000002, 3.1646800000000002, 3.1713100000000001, 3.1779500000000001, 3.18458, 3.1912199999999999, 3.1978499999999999, 3.2044899999999998, 3.2111299999999998, 3.2177600000000002, 3.2244000000000002, 3.2310400000000001, 3.2376800000000001, 3.2443200000000001, 3.2509600000000001, 3.2576000000000001, 3.26424, 3.27088, 3.27752, 3.28416, 3.2907999999999999, 3.2974399999999999, 3.3040799999999999, 3.31073, 3.3173699999999999, 3.3240099999999999, 3.33066, 3.3372999999999999, 3.34395, 3.35059, 3.35724, 3.36388, 3.37053, 3.37717, 3.3838200000000001, 3.3904700000000001, 3.3971200000000001, 3.4037600000000001, 3.4104100000000002, 3.4170600000000002, 3.4237099999999998, 3.4303599999999999, 3.4370099999999999, 3.4436599999999999, 3.45031, 3.45696, 3.4636100000000001, 3.4702600000000001, 3.4769199999999998, 3.4835699999999998, 3.4902199999999999, 3.4968699999999999, 3.50353, 3.5101800000000001, 3.5168400000000002, 3.5234899999999998, 3.5301499999999999, 3.5367999999999999, 3.5434600000000001, 3.5501100000000001, 3.5567700000000002, 3.5634299999999999, 3.5700799999999999, 3.57674, 3.5834000000000001, 3.5900599999999998, 3.5967199999999999, 3.60338, 3.6100400000000001, 3.6166999999999998, 3.6233599999999999, 3.63002, 3.6366800000000001, 3.6433399999999998, 3.6499999999999999, 3.6566700000000001, 3.6633300000000002, 3.6699899999999999, 3.67665, 3.6833200000000001, 3.6899799999999998, 3.69665, 3.7033100000000001, 3.7099799999999998, 3.7166399999999999, 3.7233100000000001, 3.7299799999999999, 3.73664, 3.7433100000000001, 3.7499799999999999, 3.75665, 3.7633100000000002, 3.7699799999999999, 3.7766500000000001, 3.7833199999999998, 3.78999, 3.7966600000000001, 3.8033299999999999, 3.8100000000000001, 3.8166699999999998, 3.82335, 3.8300200000000002, 3.8366899999999999, 3.8433600000000001, 3.8500399999999999, 3.8567100000000001, 3.8633899999999999, 3.8700600000000001, 3.8767299999999998, 3.88341, 3.8900800000000002, 3.89676, 3.9034399999999998, 3.91011, 3.9167900000000002, 3.92347, 3.9301499999999998, 3.93682, 4.0]
#query = "http://access.planetserver.eu:8080/rasdaman/ows?query=for%20c%20in%20(frt000050f2_07_if165l_trr3)%20return%20encode(c[%20N(893017.359289:893017.359289),%20E(4278699.1105:4278699.1105)%20],%20%22csv%22)"
data = np.genfromtxt('http://access.planetserver.eu:8080/rasdaman/ows?query=for%20c%20in%20(frt000050f2_07_if165l_trr3)%20return%20encode(c[%20N(893017.359289:893017.359289),%20E(4278699.1105:4278699.1105)%20],%20%22csv%22)',delimiter=' ', dtype = float)
for x in range (0,len(data)):
if data[x] == 65535 or math.isnan(data[x]):
data[x] = 0
plt.xlabel( 'wavelength (' + u"\u03BC" + ')')
plt.ylabel( 'Reflectance' )
plt.plot(x_axis,data)
plt.show()
In order to smooth the signal a common practice is to query the data in kernels. Common kernels are 3x3 and 5x5. This allows to avoid subpixel errors.
%matplotlib inline
import math
import urllib2
import csv
import numpy as np
import matplotlib.pyplot as plt
def get_data(url):
response = urllib2.urlopen(url)
data = np.genfromtxt(response,delimiter = ' ', dtype = float)
return data
#we declare the x axis
x_axis = [1.00135, 1.0079, 1.0144500000000001, 1.0209999999999999, 1.02755, 1.0341, 1.0406500000000001, 1.0471999999999999, 1.05375, 1.0603, 1.0668500000000001, 1.07341, 1.07996, 1.0865100000000001, 1.09307, 1.09962, 1.1061700000000001, 1.11273, 1.1192800000000001, 1.12584, 1.13239, 1.1389499999999999, 1.14551, 1.1520600000000001, 1.15862, 1.1651800000000001, 1.1717299999999999, 1.1782900000000001, 1.18485, 1.1914100000000001, 1.19797, 1.2045300000000001, 1.21109, 1.2176499999999999, 1.22421, 1.2307699999999999, 1.23733, 1.2438899999999999, 1.2504500000000001, 1.25701, 1.2635700000000001, 1.27014, 1.2766999999999999, 1.2832600000000001, 1.28983, 1.2963899999999999, 1.3029500000000001, 1.30952, 1.3160799999999999, 1.3226500000000001, 1.32921, 1.33578, 1.3423400000000001, 1.3489100000000001, 1.35548, 1.36205, 1.3686100000000001, 1.3751800000000001, 1.38175, 1.38832, 1.39489, 1.4014500000000001, 1.40802, 1.41459, 1.42116, 1.4277299999999999, 1.43431, 1.4408799999999999, 1.4474499999999999, 1.4540200000000001, 1.4605900000000001, 1.46716, 1.47374, 1.48031, 1.48688, 1.49346, 1.50003, 1.50661, 1.51318, 1.51976, 1.52633, 1.53291, 1.53948, 1.54606, 1.55264, 1.55921, 1.56579, 1.57237, 1.5789500000000001, 1.58552, 1.5921000000000001, 1.5986800000000001, 1.6052599999999999, 1.6118399999999999, 1.61842, 1.625, 1.63158, 1.6381600000000001, 1.6447400000000001, 1.65133, 1.65791, 1.66449, 1.6710700000000001, 1.6776599999999999, 1.68424, 1.69082, 1.6974100000000001, 1.7039899999999999, 1.71058, 1.71716, 1.7237499999999999, 1.7303299999999999, 1.73692, 1.7435099999999999, 1.7500899999999999, 1.75668, 1.7632699999999999, 1.7698499999999999, 1.77644, 1.7830299999999999, 1.78962, 1.7962100000000001, 1.8028, 1.8093900000000001, 1.8159799999999999, 1.82257, 1.8291599999999999, 1.83575, 1.8423400000000001, 1.84893, 1.8555200000000001, 1.86212, 1.8687100000000001, 1.8753, 1.8818999999999999, 1.88849, 1.8950800000000001, 1.90168, 1.9082699999999999, 1.9148700000000001, 1.9214599999999999, 1.9280600000000001, 1.93465, 1.9412499999999999, 1.9478500000000001, 1.95444, 1.9610399999999999, 1.9676400000000001, 1.97424, 1.9808399999999999, 1.98743, 1.99403, 2.0006300000000001, 2.0072299999999998, 2.01383, 2.0204300000000002, 2.0270299999999999, 2.03363, 2.0402399999999998, 2.04684, 2.0534400000000002, 2.0600399999999999, 2.06664, 2.0732499999999998, 2.07985, 2.0864500000000001, 2.0930599999999999, 2.0996600000000001, 2.1062699999999999, 2.11287, 2.1194799999999998, 2.12608, 2.1326900000000002, 2.1393, 2.1459000000000001, 2.1525099999999999, 2.1591200000000002, 2.1657199999999999, 2.1723300000000001, 2.1789399999999999, 2.1855500000000001, 2.1921599999999999, 2.1987700000000001, 2.2053799999999999, 2.2119900000000001, 2.2185999999999999, 2.2252100000000001, 2.2318199999999999, 2.2384300000000001, 2.2450399999999999, 2.2516500000000002, 2.25827, 2.2648799999999998, 2.27149, 2.2780999999999998, 2.2847200000000001, 2.2913299999999999, 2.2979500000000002, 2.3045599999999999, 2.3111799999999998, 2.31779, 2.3244099999999999, 2.3310200000000001, 2.3376399999999999, 2.3442599999999998, 2.35087, 2.3574899999999999, 2.3641100000000002, 2.3707199999999999, 2.3773399999999998, 2.3839600000000001, 2.3905799999999999, 2.3972000000000002, 2.4038200000000001, 2.4104399999999999, 2.4170600000000002, 2.4236800000000001, 2.4302999999999999, 2.4369200000000002, 2.44354, 2.45017, 2.4567899999999998, 2.4634100000000001, 2.4700299999999999, 2.4766599999999999, 2.4832800000000002, 2.4899, 2.4965299999999999, 2.50312, 2.5097200000000002, 2.5163199999999999, 2.5229200000000001, 2.5295100000000001, 2.5361099999999999, 2.54271, 2.5493100000000002, 2.5559099999999999, 2.5625100000000001, 2.5691099999999998, 2.5757099999999999, 2.5823100000000001, 2.5889099999999998, 2.59551, 2.6021200000000002, 2.6087199999999999, 2.6153200000000001, 2.6219199999999998, 2.62853, 2.6351300000000002, 2.64174, 2.6483400000000001, 2.6549499999999999, 2.6615500000000001, 2.6681599999999999, 2.67476, 2.6813699999999998, 2.68798, 2.6945800000000002, 2.70119, 2.7606799999999998, 2.76729, 2.7738999999999998, 2.7805200000000001, 2.7871299999999999, 2.7937400000000001, 2.8003499999999999, 2.8069700000000002, 2.81358, 2.8201999999999998, 2.82681, 2.8334299999999999, 2.8400400000000001, 2.84666, 2.8532799999999998, 2.85989, 2.8665099999999999, 2.8731300000000002, 2.87975, 2.8863599999999998, 2.8929800000000001, 2.8996, 2.9062199999999998, 2.9128400000000001, 2.9194599999999999, 2.9260799999999998, 2.9327000000000001, 2.9393199999999999, 2.9459499999999998, 2.9525700000000001, 2.95919, 2.9658099999999998, 2.9724400000000002, 2.97906, 2.9856799999999999, 2.9923099999999998, 2.9989300000000001, 3.00556, 3.0121799999999999, 3.0188100000000002, 3.0254400000000001, 3.03206, 3.0386899999999999, 3.0453199999999998, 3.0519500000000002, 3.05857, 3.0651999999999999, 3.0718299999999998, 3.0784600000000002, 3.0850900000000001, 3.09172, 3.0983499999999999, 3.1049799999999999, 3.1116100000000002, 3.1182500000000002, 3.1248800000000001, 3.13151, 3.1381399999999999, 3.1447799999999999, 3.1514099999999998, 3.1580400000000002, 3.1646800000000002, 3.1713100000000001, 3.1779500000000001, 3.18458, 3.1912199999999999, 3.1978499999999999, 3.2044899999999998, 3.2111299999999998, 3.2177600000000002, 3.2244000000000002, 3.2310400000000001, 3.2376800000000001, 3.2443200000000001, 3.2509600000000001, 3.2576000000000001, 3.26424, 3.27088, 3.27752, 3.28416, 3.2907999999999999, 3.2974399999999999, 3.3040799999999999, 3.31073, 3.3173699999999999, 3.3240099999999999, 3.33066, 3.3372999999999999, 3.34395, 3.35059, 3.35724, 3.36388, 3.37053, 3.37717, 3.3838200000000001, 3.3904700000000001, 3.3971200000000001, 3.4037600000000001, 3.4104100000000002, 3.4170600000000002, 3.4237099999999998, 3.4303599999999999, 3.4370099999999999, 3.4436599999999999, 3.45031, 3.45696, 3.4636100000000001, 3.4702600000000001, 3.4769199999999998, 3.4835699999999998, 3.4902199999999999, 3.4968699999999999, 3.50353, 3.5101800000000001, 3.5168400000000002, 3.5234899999999998, 3.5301499999999999, 3.5367999999999999, 3.5434600000000001, 3.5501100000000001, 3.5567700000000002, 3.5634299999999999, 3.5700799999999999, 3.57674, 3.5834000000000001, 3.5900599999999998, 3.5967199999999999, 3.60338, 3.6100400000000001, 3.6166999999999998, 3.6233599999999999, 3.63002, 3.6366800000000001, 3.6433399999999998, 3.6499999999999999, 3.6566700000000001, 3.6633300000000002, 3.6699899999999999, 3.67665, 3.6833200000000001, 3.6899799999999998, 3.69665, 3.7033100000000001, 3.7099799999999998, 3.7166399999999999, 3.7233100000000001, 3.7299799999999999, 3.73664, 3.7433100000000001, 3.7499799999999999, 3.75665, 3.7633100000000002, 3.7699799999999999, 3.7766500000000001, 3.7833199999999998, 3.78999, 3.7966600000000001, 3.8033299999999999, 3.8100000000000001, 3.8166699999999998, 3.82335, 3.8300200000000002, 3.8366899999999999, 3.8433600000000001, 3.8500399999999999, 3.8567100000000001, 3.8633899999999999, 3.8700600000000001, 3.8767299999999998, 3.88341, 3.8900800000000002, 3.89676, 3.9034399999999998, 3.91011, 3.9167900000000002, 3.92347, 3.9301499999999998, 3.93682, 4.0]
#Those are coordinates in lat long of the pixels for the numerator
longitude_num = [73.269608,73.269302,73.268997,73.269585,73.269279,73.268967,73.269569,73.269264,73.268959]
latitude_num = [20.865166,20.865131,20.865095,20.865479,20.865444,20.865408,20.865753,20.865717,20.865683]
#Those are coordinates in lat long of the pixels for the denominator
longitude_denom = [73.264534,73.264214,73.263885,73.264519,73.264198,73.263878,73.264481,73.264160,73.263832]
latitude_denom = [20.900640,20.900602,20.900564,20.900684,20.900646,20.900608,20.900881,20.900843,20.900805]
#declare arrays for avg_num, _denom and ratio
avg_num = np.zeros(len(x_axis))
avg_denom = np.zeros(len(x_axis))
ratio = []
print('Computing Numerator...')
for i in range (0,len(longitude_num)):
#data is stored in meters so we transform lat, long to meters
r = 3396190
cosOf0 = 1
rho = (math.pi / 180)
N = latitude_num[i] * r * rho
E = longitude_num[i] * cosOf0 * r * rho
#here you can select the coverage you want to query
covID = "frt0000abcb_07_if166l_trr3"
query = "http://access.planetserver.eu:8080/rasdaman/ows?query=for%20c%20in%20(" + covID + ")%20return%20encode(c[%20N(" + str(N) + ":" + str(N) + "),%20E(" + str(E) + ":" + str(E) + ")%20],%20%22csv%22)"
data = get_data(query)
for x in range (0,len(data)):
if data[x] == 65535 or math.isnan(data[x]):
data[x] = 0
avg_num[x] = avg_num[x] + data[x]
for n in range (0,len(avg_num)):
avg_num[n] = avg_num[n]/len(longitude_num)
print('Computing Denominator...')
for i in range (0,len(longitude_denom)):
#data is stored in meters so we transform lat, long to meters
r = 3396190
cosOf0 = 1
rho = (math.pi / 180)
N = latitude_denom[i] * r * rho
E = longitude_denom[i] * cosOf0 * r * rho
covID = "frt0000abcb_07_if166l_trr3"
query = "http://access.planetserver.eu:8080/rasdaman/ows?query=for%20c%20in%20(" + covID + ")%20return%20encode(c[%20N(" + str(N) + ":" + str(N) + "),%20E(" + str(E) + ":" + str(E) + ")%20],%20%22csv%22)"
data = get_data(query)
for x in range (0,len(data)):
if data[x] == 65535 or math.isnan(data[x]):
data[x] = 0
avg_denom[x] = avg_denom[x] + data[x]
for n in range (0,len(avg_denom)):
avg_denom[n] = avg_denom[n]/len(longitude_num)
print ('Ratio')
for j in range (0,len(avg_denom)):
ratio.append(avg_num[j] / avg_denom[j])
print('Done')
Computing Numerator... Computing Denominator... Ratio Done
/usr/lib/python2.7/site-packages/ipykernel/__main__.py:42: RuntimeWarning: invalid value encountered in double_scalars
fig = plt.figure()
ax1 = fig.add_subplot(111)
plt.xlim(1, 2.6)
plt.ylim(0.12,0.22)
plt.title('Numerator/Denom')
plt.plot(x_axis,avg_num, '-', label="ABCB_num_k", color='b')
plt.plot(x_axis,avg_denom, '-', label="ABCB_den_k", color='g')
plt.xlabel( 'wavelength (' + u"\u03BC" + 'm)')
plt.ylabel( 'Reflectance' )
plt.legend(loc='upper right')
##############################################
fig = plt.figure(figsize=(10,10))
ax2 = fig.add_subplot(211)
plt.xlim(1, 2.6)
plt.ylim(1.2,1.5)
plt.title('Ratio')
plt.axvline(x=1.4, color='k',label='1.4 ' + u"\u03BC" + 'm')
plt.axvline(x=1.92, color='g',label='1.92 ' + u"\u03BC" + 'm')
plt.axvline(x=2.2, color='r',label='2.2' + u"\u03BC" + 'm')
plt.plot(x_axis,ratio, '-', color='b')
plt.xlabel( 'wavelength (' + u"\u03BC" + 'm)')
plt.ylabel( 'Ratioed CRISM' )
plt.legend(loc='upper left')
##############################################
x_spec = [0.350000,0.352500,0.355000,0.357500,0.360000,0.362500,0.365000,0.367500,0.370000,0.372500,0.375000,0.377500,0.380000,0.382500,0.385000,0.387500,0.390000,0.392500,0.395000,0.397500,0.400000,0.402500,0.405000,0.407500,0.410000,0.412500,0.415000,0.417500,0.420000,0.422500,0.425000,0.427500,0.430000,0.432500,0.435000,0.437500,0.440000,0.442500,0.445000,0.447500,0.450000,0.452500,0.455000,0.457500,0.460000,0.462500,0.465000,0.467500,0.470000,0.472500,0.475000,0.477500,0.480000,0.482500,0.485000,0.487500,0.490000,0.492500,0.495000,0.497500,0.500000,0.502500,0.505000,0.507500,0.510000,0.512500,0.515000,0.517500,0.520000,0.522500,0.525000,0.527500,0.530000,0.532500,0.535000,0.537500,0.540000,0.542500,0.545000,0.547500,0.550000,0.552500,0.555000,0.557500,0.560000,0.562500,0.565000,0.567500,0.570000,0.572500,0.575000,0.577500,0.580000,0.582500,0.585000,0.587500,0.590000,0.592500,0.595000,0.597500,0.600000,0.602500,0.605000,0.607500,0.610000,0.612500,0.615000,0.617500,0.620000,0.622500,0.625000,0.627500,0.630000,0.632500,0.635000,0.637500,0.640000,0.642500,0.645000,0.647500,0.650000,0.652500,0.655000,0.657500,0.660000,0.662500,0.665000,0.667500,0.670000,0.672500,0.675000,0.677500,0.680000,0.682500,0.685000,0.687500,0.690000,0.692500,0.695000,0.697500,0.700000,0.702500,0.705000,0.707500,0.710000,0.712500,0.715000,0.717500,0.720000,0.722500,0.725000,0.727500,0.730000,0.732500,0.735000,0.737500,0.740000,0.742500,0.745000,0.747500,0.750000,0.752500,0.755000,0.757500,0.760000,0.762500,0.765000,0.767500,0.770000,0.772500,0.775000,0.777500,0.780000,0.782500,0.785000,0.787500,0.790000,0.792500,0.795000,0.797500,0.800000,0.802500,0.805000,0.807500,0.810000,0.812500,0.815000,0.817500,0.820000,0.822500,0.825000,0.827500,0.830000,0.832500,0.835000,0.837500,0.840000,0.842500,0.845000,0.847500,0.850000,0.852500,0.855000,0.857500,0.860000,0.862500,0.865000,0.867500,0.870000,0.872500,0.875000,0.877500,0.880000,0.882500,0.885000,0.887500,0.890000,0.892500,0.895000,0.897500,0.899999,0.902499,0.904999,0.907499,0.909999,0.912499,0.914999,0.917499,0.919999,0.922499,0.924999,0.927499,0.929999,0.932499,0.934999,0.937499,0.939999,0.942499,0.944999,0.947499,0.949999,0.952499,0.954999,0.957499,0.959999,0.962499,0.964999,0.967499,0.969999,0.972499,0.974999,0.977499,0.979999,0.982499,0.984999,0.987499,0.989999,0.992499,0.994999,0.997499,0.999999,1.002500,1.005000,1.007500,1.010000,1.012500,1.015000,1.017500,1.020000,1.022500,1.025000,1.027500,1.030000,1.032500,1.035000,1.037500,1.040000,1.042500,1.045000,1.047500,1.050000,1.052500,1.055000,1.057500,1.060000,1.062500,1.065000,1.067500,1.070000,1.072500,1.075000,1.077500,1.080000,1.082500,1.085000,1.087500,1.090000,1.092500,1.095000,1.097500,1.100000,1.102500,1.105000,1.107500,1.110000,1.112500,1.115000,1.117500,1.120000,1.122500,1.125000,1.127500,1.130000,1.132500,1.135000,1.137500,1.140000,1.142500,1.145000,1.147500,1.150000,1.152500,1.155000,1.157500,1.160000,1.162500,1.165000,1.167500,1.170000,1.172500,1.175000,1.177500,1.180000,1.182500,1.185000,1.187500,1.190000,1.192500,1.195000,1.197500,1.200000,1.202500,1.205000,1.207500,1.210000,1.212500,1.215000,1.217500,1.220000,1.222500,1.225000,1.227500,1.230000,1.232500,1.235000,1.237500,1.240000,1.242500,1.245010,1.247510,1.250010,1.252510,1.255010,1.257510,1.260010,1.262510,1.265010,1.267510,1.270010,1.272510,1.275010,1.277510,1.280010,1.282510,1.285010,1.287510,1.290010,1.292510,1.295010,1.297510,1.300010,1.302510,1.305010,1.307510,1.310010,1.312510,1.315010,1.317510,1.320010,1.322510,1.325010,1.327510,1.330010,1.332510,1.335010,1.337510,1.340010,1.342510,1.345010,1.347510,1.350010,1.352510,1.355010,1.357510,1.360010,1.362510,1.365010,1.367510,1.370010,1.372510,1.375010,1.377510,1.380010,1.382510,1.385010,1.387510,1.390010,1.392510,1.395010,1.397510,1.400010,1.402510,1.405010,1.407510,1.410010,1.412510,1.415010,1.417510,1.420010,1.422510,1.425010,1.427510,1.430010,1.432510,1.435010,1.437510,1.440010,1.442510,1.445010,1.447510,1.450010,1.452510,1.455010,1.457510,1.460010,1.462510,1.465010,1.467510,1.470010,1.472510,1.475010,1.477510,1.480010,1.482510,1.485010,1.487510,1.490010,1.492510,1.495010,1.497510,1.500010,1.502510,1.505010,1.507510,1.510010,1.512510,1.515010,1.517510,1.520010,1.522510,1.525010,1.527510,1.530010,1.532510,1.535010,1.537510,1.540010,1.542510,1.545010,1.547510,1.550010,1.552510,1.555010,1.557510,1.560010,1.562510,1.565010,1.567510,1.570010,1.572510,1.575010,1.577510,1.580010,1.582510,1.585010,1.587510,1.590010,1.592510,1.595010,1.597510,1.600010,1.602510,1.605010,1.607510,1.610010,1.612510,1.615010,1.617510,1.620010,1.622510,1.625010,1.627510,1.630010,1.632510,1.635010,1.637510,1.640010,1.642510,1.645010,1.647510,1.650010,1.652510,1.655010,1.657510,1.660010,1.662510,1.665010,1.667510,1.670010,1.672510,1.675010,1.677510,1.680010,1.682520,1.685020,1.687520,1.690020,1.692520,1.695020,1.697520,1.700020,1.702520,1.705020,1.707520,1.710020,1.712520,1.715020,1.717520,1.720020,1.722520,1.725020,1.727520,1.730020,1.732520,1.735020,1.737520,1.740020,1.742520,1.745020,1.747520,1.750020,1.752520,1.755020,1.757520,1.760020,1.762520,1.765020,1.767520,1.770020,1.772520,1.775020,1.777520,1.780020,1.782520,1.785020,1.787520,1.790020,1.792520,1.795020,1.797520,1.800020,1.802520,1.805020,1.807520,1.810020,1.812520,1.815020,1.817520,1.820020,1.822520,1.825020,1.827520,1.830020,1.832520,1.835020,1.837520,1.840020,1.842520,1.845020,1.847520,1.850020,1.852520,1.855020,1.857520,1.860020,1.862520,1.865020,1.867520,1.870020,1.872520,1.875020,1.877520,1.880020,1.882520,1.885020,1.887520,1.890020,1.892520,1.895020,1.897520,1.900020,1.902520,1.905020,1.907520,1.910020,1.912520,1.915020,1.917520,1.920020,1.922520,1.925020,1.927520,1.930020,1.932520,1.935020,1.937520,1.940020,1.942520,1.945020,1.947520,1.950020,1.952520,1.955020,1.957520,1.960020,1.962520,1.965020,1.967520,1.970020,1.972520,1.975020,1.977520,1.980020,1.982520,1.985020,1.987520,1.990020,1.992520,1.995020,1.997520,2.000020,2.002520,2.005020,2.007520,2.010020,2.012520,2.015020,2.017520,2.020020,2.022520,2.025020,2.027520,2.030020,2.032520,2.035020,2.037520,2.040020,2.042520,2.045020,2.047520,2.050020,2.052520,2.055020,2.057520,2.060020,2.062520,2.065020,2.067520,2.070020,2.072520,2.075020,2.077520,2.080020,2.082520,2.085020,2.087520,2.090020,2.092520,2.095020,2.097520,2.100020,2.102520,2.105020,2.107520,2.110020,2.112520,2.115020,2.117520,2.120020,2.122520,2.125030,2.127530,2.130030,2.132530,2.135030,2.137530,2.140030,2.142530,2.145030,2.147530,2.150030,2.152530,2.155030,2.157530,2.160030,2.162530,2.165030,2.167530,2.170030,2.172530,2.175030,2.177530,2.180030,2.182530,2.185030,2.187530,2.190030,2.192530,2.195030,2.197530,2.200030,2.202530,2.205030,2.207530,2.210030,2.212530,2.215030,2.217530,2.220030,2.222530,2.225030,2.227530,2.230030,2.232530,2.235030,2.237530,2.240030,2.242530,2.245030,2.247530,2.250030,2.252530,2.255030,2.257530,2.260030,2.262530,2.265030,2.267530,2.270030,2.272530,2.275030,2.277530,2.280030,2.282530,2.285030,2.287530,2.290030,2.292530,2.295030,2.297530,2.300030,2.302530,2.305030,2.307530,2.310030,2.312530,2.315030,2.317530,2.320030,2.322530,2.325030,2.327530,2.330030,2.332530,2.335030,2.337530,2.340030,2.342530,2.345030,2.347530,2.350030,2.352530,2.355030,2.357530,2.360030,2.362530,2.365030,2.367530,2.370030,2.372530,2.375030,2.377530,2.380030,2.382530,2.385030,2.387530,2.390030,2.392530,2.395030,2.397530,2.400030,2.402530,2.405030,2.407530,2.410030,2.412530,2.415030,2.417530,2.420030,2.422530,2.425030,2.427530,2.430030,2.432530,2.435030,2.437530,2.440030,2.442530,2.445030,2.447530,2.450030,2.452530,2.455030,2.457530,2.460030,2.462530,2.465030,2.467530,2.470030,2.472530,2.475030,2.477530,2.480030,2.482530,2.485030,2.487530,2.490030,2.492530,2.495030,2.497530,2.500030,2.502530,2.505030,2.507530,2.510030,2.512530,2.515030,2.517530,2.520030,2.522530,2.525030,2.527530,2.530030,2.532530,2.535030,2.537530,2.540030,2.542530,2.545030,2.547530,2.550030,2.552530,2.555030,2.557530,2.560030,2.562540,2.565040,2.567540,2.570040,2.572540,2.575040,2.577540,2.580040,2.582540,2.585040,2.587540,2.590040,2.592540,2.595040,2.597540,2.600040,2.602540,2.605040,2.607540,2.610040,2.612540,2.615040,2.617540,2.620040,2.622540,2.625040,2.627540,2.630040,2.632540,2.635040,2.637540,2.640040,2.642540,2.645040,2.647540,2.650040,2.652540,2.655040,2.657540,2.660040,2.662540,2.665040,2.667540,2.670040,2.672540,2.675040,2.677540,2.680040,2.682540,2.685040,2.687540,2.690040,2.692540,2.695040,2.697540,2.700040,2.702540,2.705040,2.707540,2.710040,2.712540,2.715040,2.717540,2.720040,2.722540,2.725040,2.727540,2.730040,2.732540,2.735040,2.737540,2.740040,2.742540,2.745040,2.747540,2.750040,2.752540,2.755040,2.757540,2.760040,2.762540,2.765040,2.767540,2.770040,2.772540,2.775040,2.777540,2.780040,2.782540,2.785040,2.787540,2.790040,2.792540,2.795040,2.797540,2.800040,2.802540,2.805040,2.807540,2.810040,2.812540,2.815040,2.817540,2.820040,2.822540,2.825040,2.827540,2.830040,2.832540,2.835040,2.837540,2.840040,2.842540,2.845040,2.847540,2.850040,2.852540,2.855040,2.857540,2.860040,2.862540,2.865040,2.867540,2.870040,2.872540,2.875040,2.877540,2.880040,2.882540,2.885040,2.887540,2.890040,2.892540,2.895040,2.897540,2.900040,2.902540,2.905040,2.907540,2.910040,2.912540,2.915040,2.917540,2.920040,2.922540,2.925040,2.927540,2.930040,2.932540,2.935040,2.937540,2.940040,2.942540,2.945040,2.947540,2.950040,2.952540,2.955040,2.957540,2.960040,2.962540,2.965040,2.967540,2.970040,2.972540,2.975040,2.977540,2.980040,2.982540,2.985040,2.987540,2.990040,2.992540,2.995040,2.997550,3.000050,3.002550,3.005050,3.007550,3.010050,3.012550,3.015050,3.017550,3.020050,3.022550,3.025050,3.027550,3.030050,3.032550,3.035050,3.037550,3.040050,3.042550,3.045050,3.047550,3.050050,3.052550,3.055050,3.057550,3.060050,3.062550,3.065050,3.067550,3.070050,3.072550,3.075050,3.077550,3.080050,3.082550,3.085050,3.087550,3.090050,3.092550,3.095050,3.097550,3.100050,3.102550,3.105050,3.107550,3.110050,3.112550,3.115050,3.117550,3.120050,3.122550,3.125050,3.127550,3.130050,3.132550,3.135050,3.137550,3.140050,3.142550,3.145050,3.147550,3.150050,3.152550,3.155050,3.157550,3.160050,3.162550,3.165050,3.167550,3.170050,3.172550,3.175050,3.177550,3.180050,3.182550,3.185050,3.187550,3.190050,3.192550,3.195050,3.197550,3.200050,3.202550,3.205050,3.207550,3.210050,3.212550,3.215050,3.217550,3.220050,3.222550,3.225050,3.227550,3.230050,3.232550,3.235050,3.237550,3.240050,3.242550,3.245050,3.247550,3.250050,3.252550,3.255050,3.257550,3.260050,3.262550,3.265050,3.267550,3.270050,3.272550,3.275050,3.277550,3.280050,3.282550,3.285050,3.287550,3.290050,3.292550,3.295050,3.297550,3.300050,3.302550,3.305050,3.307550,3.310050,3.312550,3.315050,3.317550,3.320050,3.322550,3.325050,3.327550,3.330050,3.332550,3.335050,3.337550,3.340050,3.342550,3.345050,3.347550,3.350050,3.352550,3.355050,3.357550,3.360050,3.362550,3.365050,3.367550,3.370050,3.372550,3.375050,3.377550,3.380050,3.382550,3.385050,3.387550,3.390050,3.392550,3.395050,3.397550,3.400050,3.402550,3.405050,3.407550,3.410050,3.412550,3.415050,3.417550,3.420050,3.422550,3.425050,3.427550,3.430050,3.432550,3.435060,3.437560,3.440060,3.442560,3.445060,3.447560,3.450060,3.452560,3.455060,3.457560,3.460060,3.462560,3.465060,3.467560,3.470060,3.472560,3.475060,3.477560,3.480060,3.482560,3.485060,3.487560,3.490060,3.492560,3.495060,3.497560,3.500060,3.502560,3.505060,3.507560,3.510060,3.512560,3.515060,3.517560,3.520060,3.522560,3.525060,3.527560,3.530060,3.532560,3.535060,3.537560,3.540060,3.542560,3.545060,3.547560,3.550060,3.552560,3.555060,3.557560,3.560060,3.562560,3.565060,3.567560,3.570060,3.572560,3.575060,3.577560,3.580060,3.582560,3.585060,3.587560,3.590060,3.592560,3.595060,3.597560,3.600060,3.602560,3.605060,3.607560,3.610060,3.612560,3.615060,3.617560,3.620060,3.622560,3.625060,3.627560,3.630060,3.632560,3.635060,3.637560,3.640060,3.642560,3.645060,3.647560,3.650060,3.652560,3.655060,3.657560,3.660060,3.662560,3.665060,3.667560,3.670060,3.672560,3.675060,3.677560,3.680060,3.682560,3.685060,3.687560,3.690060,3.692560,3.695060,3.697560,3.700060,3.702560,3.705060,3.707560,3.710060,3.712560,3.715060,3.717560,3.720060,3.722560,3.725060,3.727560,3.730060,3.732560,3.735060,3.737560,3.740060,3.742560,3.745060,3.747560,3.750060,3.752560,3.755060,3.757560,3.760060,3.762560,3.765060,3.767560,3.770060,3.772560,3.775060,3.777560,3.780060,3.782560,3.785060,3.787560,3.790060,3.792560,3.795060,3.797560,3.800060,3.802560,3.805060,3.807560,3.810060,3.812560,3.815060,3.817560,3.820060,3.822560,3.825060,3.827560,3.830060,3.832560,3.835060,3.837560,3.840060,3.842560,3.845060,3.847560,3.850060,3.852560,3.855060,3.857560,3.860060,3.862560,3.865060,3.867560,3.870060,3.872570,3.875070,3.877570,3.880070,3.882570,3.885070,3.887570,3.890070,3.892570,3.895070,3.897570,3.900070,3.902570,3.905070,3.907570,3.910070,3.912570,3.915070,3.917570,3.920070,3.922570,3.925070,3.927570,3.930070,3.932570,3.935070,3.937570,3.940070,3.942570,3.945070,3.947570,3.950070,3.952570,3.955070,3.957570,3.960070,3.962570,3.965070,3.967570,3.970070,3.972570,3.975070,3.977570,3.980070,3.982570,3.985070,3.987570,3.990070,3.992570,3.995070,3.997570,4.000070,4.002570,4.005070,4.007570,4.010070,4.012570,4.015070,4.017570,4.020070,4.022570,4.025070,4.027570,4.030070,4.032570,4.035070,4.037570,4.040070,4.042570,4.045070,4.047570,4.050070,4.052570,4.055070,4.057570,4.060070,4.062570,4.065070,4.067570,4.070070,4.072570,4.075070,4.077570,4.080070,4.082570,4.085070,4.087570,4.090070,4.092570,4.095070,4.097570,4.100070]
kaolinite = [0.450200,0.465350,0.480500,0.498200,0.515900,0.533550,0.551200,0.565500,0.579800,0.591400,0.603000,0.612900,0.622800,0.631000,0.639200,0.647200,0.655200,0.661000,0.666800,0.673200,0.679600,0.685250,0.690900,0.693050,0.695200,0.701400,0.707600,0.711800,0.716000,0.719950,0.723900,0.728000,0.732100,0.736300,0.740500,0.743800,0.747100,0.750350,0.753600,0.756400,0.759200,0.761700,0.764200,0.767200,0.770200,0.772200,0.774200,0.778300,0.782400,0.784150,0.785900,0.789500,0.793100,0.794500,0.795900,0.798800,0.801700,0.803150,0.804600,0.806750,0.808900,0.811300,0.813700,0.815450,0.817200,0.819150,0.821100,0.823300,0.825500,0.827000,0.828500,0.830350,0.832200,0.833800,0.835400,0.836750,0.838100,0.839750,0.841400,0.843000,0.844600,0.845500,0.846400,0.847350,0.848300,0.849350,0.850400,0.851150,0.851900,0.853050,0.854200,0.855700,0.857200,0.857650,0.858100,0.859500,0.860900,0.861800,0.862700,0.863750,0.864800,0.865050,0.865300,0.866950,0.868600,0.868850,0.869100,0.870200,0.871300,0.872500,0.873700,0.874250,0.874800,0.875850,0.876900,0.877800,0.878700,0.878900,0.879100,0.879650,0.880200,0.881100,0.882000,0.882800,0.883600,0.883800,0.884000,0.884850,0.885700,0.886200,0.886700,0.887050,0.887400,0.888450,0.889500,0.889650,0.889800,0.890550,0.891300,0.892400,0.893500,0.892950,0.892400,0.893150,0.893900,0.895000,0.896100,0.896200,0.896300,0.896900,0.897500,0.898650,0.899800,0.900400,0.901000,0.900300,0.899600,0.900450,0.901300,0.901800,0.902300,0.902250,0.902200,0.903250,0.904300,0.903300,0.902300,0.902850,0.903400,0.904150,0.904900,0.904950,0.905000,0.905150,0.905300,0.905500,0.905700,0.905550,0.905400,0.905650,0.905900,0.906250,0.906600,0.906800,0.907000,0.907250,0.907500,0.907100,0.906700,0.907000,0.907300,0.907000,0.906700,0.906550,0.906400,0.906950,0.907500,0.907850,0.908200,0.908150,0.908100,0.908900,0.909700,0.908900,0.908100,0.907900,0.907700,0.907100,0.906500,0.907550,0.908600,0.908100,0.907600,0.908050,0.908500,0.908750,0.909000,0.908550,0.908100,0.908900,0.909700,0.909900,0.910100,0.909400,0.908700,0.908250,0.907800,0.908100,0.908400,0.909200,0.910000,0.909450,0.908900,0.909050,0.909200,0.908450,0.907700,0.906800,0.905900,0.904601,0.903301,0.901901,0.900501,0.901250,0.902000,0.899501,0.897001,0.898399,0.899799,0.905348,0.910898,0.911600,0.912300,0.912300,0.912300,0.913050,0.913800,0.914000,0.914200,0.913250,0.912300,0.912450,0.912600,0.913250,0.913900,0.913700,0.913500,0.914250,0.915000,0.914900,0.914800,0.914650,0.914500,0.914250,0.914000,0.914250,0.914500,0.914600,0.914700,0.914900,0.915100,0.915350,0.915600,0.916000,0.916400,0.916150,0.915900,0.916250,0.916600,0.916350,0.916100,0.915650,0.915200,0.916100,0.917000,0.917350,0.917700,0.917200,0.916700,0.916900,0.917100,0.917100,0.917100,0.916150,0.915200,0.915400,0.915600,0.916550,0.917500,0.917250,0.917000,0.917200,0.917400,0.917800,0.918200,0.918100,0.918000,0.917900,0.917800,0.917550,0.917300,0.916900,0.916500,0.917100,0.917700,0.917850,0.918000,0.917950,0.917900,0.917800,0.917700,0.917750,0.917800,0.917200,0.916600,0.916750,0.916900,0.917300,0.917700,0.918100,0.918500,0.918000,0.917500,0.918650,0.919800,0.918800,0.917800,0.917450,0.917100,0.915900,0.914700,0.912250,0.909800,0.908100,0.906400,0.905400,0.904400,0.905300,0.906204,0.907304,0.908404,0.909404,0.910403,0.911153,0.911900,0.911900,0.911899,0.911599,0.911295,0.910045,0.908793,0.907093,0.905391,0.903091,0.900785,0.897135,0.893490,0.890990,0.888494,0.886994,0.885488,0.882588,0.879689,0.877039,0.874401,0.874601,0.874794,0.873244,0.871691,0.869491,0.867296,0.866396,0.865498,0.865048,0.864597,0.863947,0.863299,0.863149,0.862973,0.856323,0.849654,0.838204,0.826793,0.825143,0.823507,0.825307,0.827097,0.826447,0.825782,0.821332,0.816860,0.806810,0.796741,0.781991,0.767208,0.744158,0.721114,0.699714,0.678446,0.689946,0.701411,0.704111,0.706855,0.720505,0.733850,0.671398,0.609554,0.698057,0.786316,0.815317,0.844238,0.853688,0.863126,0.869727,0.876315,0.880065,0.883808,0.885758,0.887703,0.888503,0.889308,0.891258,0.893204,0.894204,0.895202,0.895602,0.896003,0.896653,0.897305,0.898555,0.899804,0.900754,0.901705,0.902855,0.903999,0.903849,0.903696,0.902696,0.901700,0.901750,0.901806,0.903256,0.904703,0.905453,0.906204,0.907254,0.908300,0.908300,0.908302,0.908702,0.909100,0.909000,0.908900,0.908900,0.908898,0.908448,0.908002,0.908452,0.908901,0.909101,0.909301,0.909451,0.909601,0.909901,0.910203,0.911053,0.911899,0.911649,0.911399,0.911049,0.910702,0.911302,0.911896,0.910946,0.910002,0.910502,0.911003,0.911653,0.912300,0.912300,0.912299,0.912149,0.912001,0.912301,0.912599,0.912399,0.912198,0.911698,0.911197,0.910547,0.909899,0.909699,0.909503,0.910253,0.911000,0.910900,0.910799,0.910449,0.910099,0.909799,0.909499,0.909349,0.909199,0.908999,0.908796,0.907796,0.906798,0.906398,0.906002,0.906602,0.907197,0.906447,0.905702,0.906204,0.906701,0.906851,0.906990,0.905690,0.904410,0.905660,0.906890,0.905690,0.904496,0.903996,0.903494,0.902694,0.901899,0.901799,0.901695,0.901045,0.900397,0.900047,0.899694,0.898944,0.898192,0.897242,0.896295,0.895695,0.895094,0.894294,0.893493,0.892593,0.891696,0.891146,0.890594,0.889894,0.889190,0.887990,0.886788,0.885338,0.883886,0.882086,0.880281,0.877881,0.875484,0.873484,0.871490,0.870240,0.868996,0.868446,0.867895,0.867245,0.866592,0.865642,0.864692,0.863742,0.862788,0.861338,0.859907,0.860807,0.861715,0.863565,0.865407,0.866307,0.867175,0.864025,0.860890,0.859640,0.858426,0.861676,0.864926,0.868176,0.871401,0.871551,0.871708,0.872758,0.873799,0.873649,0.873440,0.865991,0.858590,0.857290,0.855994,0.855244,0.854486,0.852686,0.850885,0.848985,0.847082,0.844832,0.842558,0.837358,0.832176,0.829125,0.826088,0.824638,0.823198,0.822898,0.822599,0.822449,0.822301,0.822401,0.822500,0.822500,0.822497,0.822147,0.821801,0.821901,0.822003,0.822403,0.822801,0.822901,0.823002,0.823252,0.823502,0.823702,0.823901,0.824051,0.824201,0.824351,0.824500,0.824550,0.824601,0.824751,0.824898,0.824648,0.824396,0.823846,0.823292,0.822342,0.821396,0.820846,0.820296,0.819796,0.819290,0.818040,0.816791,0.815590,0.814393,0.813543,0.812689,0.811339,0.809994,0.809194,0.808392,0.807442,0.806486,0.804686,0.802886,0.801136,0.799386,0.797636,0.795886,0.794086,0.792284,0.790284,0.788275,0.785175,0.782074,0.778824,0.775584,0.773634,0.771668,0.767618,0.763574,0.760274,0.756987,0.755387,0.753781,0.751431,0.749080,0.746530,0.743948,0.737397,0.730851,0.724701,0.718594,0.717794,0.716985,0.715135,0.713256,0.709556,0.705821,0.699170,0.692467,0.681417,0.670313,0.654663,0.638952,0.618352,0.597779,0.579228,0.560776,0.550426,0.540170,0.537670,0.535232,0.537932,0.540646,0.544496,0.548331,0.550931,0.553489,0.552589,0.551627,0.545527,0.539419,0.532720,0.526026,0.519876,0.513537,0.491638,0.469768,0.450468,0.431872,0.471120,0.510426,0.554226,0.597725,0.616474,0.635088,0.642388,0.649619,0.651169,0.652686,0.651486,0.650286,0.649086,0.647895,0.647495,0.647089,0.646139,0.645174,0.642974,0.640769,0.638169,0.635567,0.632817,0.630044,0.625394,0.620743,0.615993,0.611254,0.607404,0.603567,0.600766,0.597972,0.595672,0.593363,0.590313,0.587255,0.583505,0.579728,0.573779,0.567841,0.562891,0.557973,0.555723,0.553487,0.552437,0.551405,0.551805,0.552234,0.555084,0.557908,0.558608,0.559259,0.555859,0.552432,0.546732,0.541033,0.535433,0.529872,0.527572,0.525311,0.526211,0.527087,0.526037,0.524929,0.519029,0.513117,0.506217,0.499370,0.496819,0.494333,0.497083,0.499862,0.505062,0.510264,0.515614,0.520933,0.523683,0.526390,0.525540,0.524683,0.523233,0.521759,0.518309,0.514856,0.511156,0.507443,0.502693,0.497921,0.491321,0.484719,0.477969,0.471248,0.466949,0.462663,0.459613,0.456569,0.453969,0.451380,0.449730,0.448088,0.447088,0.446084,0.444734,0.443366,0.440566,0.437767,0.435017,0.432246,0.427746,0.423254,0.419454,0.415686,0.414486,0.413294,0.412794,0.412288,0.411288,0.410277,0.408377,0.406483,0.405033,0.403580,0.401930,0.400287,0.399237,0.398187,0.397087,0.395975,0.393875,0.391781,0.390181,0.388576,0.386576,0.384584,0.383234,0.381895,0.381495,0.381138,0.384288,0.387315,0.380186,0.373186,0.372286,0.371362,0.369012,0.366698,0.366598,0.366494,0.366094,0.365667,0.363617,0.361583,0.360533,0.359464,0.357214,0.355011,0.355711,0.356301,0.350152,0.344119,0.345319,0.346382,0.339033,0.331803,0.332003,0.332134,0.327984,0.323718,0.312318,0.301051,0.298001,0.294892,0.288091,0.281306,0.275456,0.269581,0.262080,0.254565,0.246165,0.237765,0.229315,0.220702,0.202102,0.183634,0.173234,0.162713,0.144813,0.126995,0.114094,0.101172,0.086922,0.072707,0.060658,0.048639,0.038589,0.028539,0.018490,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000]
montmorillonite = [0.025839,0.026137,0.026436,0.026805,0.027175,0.027726,0.028277,0.028811,0.029345,0.030215,0.031086,0.032034,0.032982,0.034166,0.035349,0.036577,0.037804,0.039255,0.040706,0.042261,0.043816,0.045547,0.047278,0.048850,0.050423,0.052268,0.054114,0.055987,0.057860,0.060069,0.062277,0.064668,0.067060,0.069665,0.072271,0.075197,0.078123,0.081076,0.084029,0.086792,0.089556,0.092458,0.095361,0.097805,0.100249,0.102619,0.104990,0.107261,0.109532,0.111813,0.114093,0.116647,0.119202,0.122415,0.125629,0.128868,0.132108,0.135778,0.139447,0.143667,0.147886,0.152781,0.157676,0.162957,0.168238,0.174284,0.180330,0.186613,0.192896,0.200023,0.207150,0.214083,0.221016,0.228068,0.235119,0.242895,0.250671,0.258505,0.266338,0.274561,0.282784,0.291197,0.299611,0.308217,0.316823,0.325800,0.334777,0.344355,0.353933,0.363474,0.373015,0.382641,0.392268,0.401354,0.410440,0.419933,0.429426,0.438451,0.447477,0.456792,0.466107,0.474181,0.482255,0.489937,0.497619,0.505682,0.513745,0.520898,0.528052,0.535074,0.542095,0.548612,0.555130,0.561064,0.566998,0.572662,0.578327,0.583400,0.588474,0.592353,0.596231,0.601354,0.606476,0.610197,0.613917,0.619134,0.624352,0.627428,0.630504,0.633479,0.636453,0.640751,0.645050,0.648418,0.651785,0.655345,0.658905,0.662384,0.665863,0.669541,0.673218,0.676530,0.679841,0.682660,0.685480,0.687570,0.689660,0.692941,0.696223,0.698518,0.700813,0.703528,0.706242,0.707289,0.708335,0.710397,0.712459,0.714905,0.717351,0.719226,0.721101,0.721923,0.722744,0.723563,0.724381,0.724765,0.725149,0.726134,0.727119,0.727126,0.727132,0.727278,0.727424,0.727021,0.726617,0.726620,0.726623,0.726471,0.726319,0.725461,0.724604,0.723871,0.723139,0.722440,0.721741,0.720578,0.719415,0.719099,0.718783,0.716995,0.715207,0.715068,0.714930,0.714501,0.714072,0.713032,0.711993,0.710782,0.709570,0.709026,0.708481,0.706141,0.703802,0.703992,0.704181,0.703385,0.702588,0.702170,0.701751,0.700911,0.700071,0.699513,0.698955,0.698639,0.698323,0.697754,0.697184,0.696537,0.695890,0.695670,0.695451,0.695049,0.694647,0.695100,0.695553,0.695076,0.694598,0.694727,0.694857,0.694816,0.694774,0.695175,0.695577,0.695266,0.694954,0.696198,0.697442,0.697225,0.697008,0.696717,0.696426,0.696639,0.696852,0.697172,0.697493,0.697843,0.698193,0.698838,0.699483,0.700453,0.701424,0.702197,0.702971,0.703641,0.704311,0.705380,0.706450,0.707008,0.707566,0.709206,0.710846,0.710611,0.710374,0.711271,0.712168,0.713511,0.714853,0.715869,0.716885,0.717809,0.718734,0.719717,0.720699,0.722230,0.723761,0.724925,0.726088,0.727260,0.728432,0.729791,0.731149,0.732185,0.733220,0.735121,0.737022,0.738058,0.739094,0.740447,0.741801,0.742725,0.743649,0.745595,0.747542,0.748223,0.748904,0.750817,0.752730,0.754505,0.756281,0.757374,0.758466,0.759838,0.761211,0.762745,0.764279,0.766055,0.767832,0.768951,0.770070,0.771575,0.773081,0.774731,0.776381,0.777065,0.777749,0.778607,0.779464,0.780734,0.782004,0.782766,0.783528,0.785832,0.788135,0.789177,0.790218,0.792208,0.794197,0.796280,0.798363,0.799777,0.801190,0.802016,0.802842,0.804759,0.806675,0.807616,0.808558,0.810845,0.813133,0.814845,0.816557,0.817209,0.817861,0.819683,0.821505,0.822581,0.823656,0.825175,0.826695,0.828541,0.830388,0.831816,0.833244,0.833733,0.834222,0.835861,0.837501,0.838171,0.838847,0.840192,0.841535,0.842616,0.843699,0.845199,0.846697,0.847878,0.849060,0.850276,0.851488,0.851743,0.851998,0.853175,0.853628,0.854855,0.855482,0.855866,0.856522,0.857089,0.857682,0.858340,0.858885,0.859194,0.860280,0.860642,0.860906,0.861212,0.862467,0.863310,0.863458,0.863976,0.864301,0.864951,0.865231,0.865790,0.866164,0.866437,0.866739,0.866804,0.867142,0.867541,0.868059,0.868358,0.868498,0.868577,0.868504,0.868290,0.868000,0.867378,0.866387,0.864926,0.862439,0.859410,0.856452,0.853185,0.851172,0.847193,0.843531,0.838556,0.832525,0.825342,0.818713,0.812767,0.807669,0.804181,0.801869,0.802023,0.804449,0.808317,0.814347,0.820063,0.826953,0.832682,0.838661,0.843575,0.848238,0.851766,0.855190,0.857776,0.860238,0.862520,0.863766,0.865138,0.866095,0.866508,0.867455,0.868081,0.868861,0.869837,0.870848,0.871734,0.872280,0.873386,0.874011,0.874480,0.875266,0.876161,0.876515,0.877179,0.877583,0.878300,0.878724,0.879252,0.879585,0.880065,0.880082,0.880443,0.881123,0.881678,0.881501,0.881851,0.881794,0.882810,0.882807,0.882941,0.883379,0.883496,0.883610,0.883982,0.884118,0.884006,0.883997,0.884473,0.884616,0.884944,0.885238,0.884804,0.885178,0.885509,0.885503,0.885850,0.885689,0.886224,0.885887,0.885954,0.886088,0.886081,0.886191,0.886204,0.886170,0.886406,0.886161,0.886544,0.886700,0.886482,0.886194,0.886284,0.886151,0.886430,0.886840,0.886766,0.886442,0.886391,0.887014,0.886551,0.886470,0.886473,0.886406,0.886377,0.886589,0.886511,0.886671,0.886183,0.886197,0.886199,0.886167,0.885973,0.885910,0.885686,0.885780,0.885547,0.885420,0.885429,0.885502,0.885218,0.885224,0.884685,0.884734,0.885008,0.885020,0.884752,0.884404,0.884378,0.884289,0.883905,0.883972,0.883874,0.883596,0.883464,0.883518,0.883255,0.883115,0.882872,0.882782,0.882356,0.882228,0.882321,0.882227,0.881923,0.881588,0.881386,0.881392,0.881270,0.880948,0.880880,0.880955,0.880398,0.879920,0.880020,0.879813,0.879673,0.879660,0.879625,0.879081,0.879321,0.878812,0.878555,0.878493,0.878002,0.877954,0.878401,0.877771,0.877296,0.877214,0.877103,0.877110,0.876991,0.876612,0.876378,0.876335,0.875556,0.875532,0.875362,0.875084,0.874332,0.874136,0.874056,0.873729,0.873320,0.873174,0.872703,0.872456,0.872538,0.871671,0.871239,0.870666,0.869985,0.868697,0.867718,0.866024,0.863747,0.861606,0.858423,0.854310,0.849670,0.843600,0.836770,0.829683,0.822349,0.815417,0.808872,0.802780,0.797958,0.794409,0.792406,0.792596,0.793996,0.796472,0.799298,0.802336,0.805431,0.808171,0.810750,0.813098,0.815081,0.816675,0.818005,0.819852,0.821468,0.822438,0.823630,0.824263,0.825513,0.826818,0.827649,0.828976,0.830220,0.830956,0.831545,0.832479,0.833252,0.834078,0.834624,0.835017,0.835856,0.836749,0.837467,0.837933,0.838394,0.839383,0.839730,0.840316,0.841002,0.841554,0.842012,0.842617,0.843003,0.843834,0.844225,0.844378,0.844834,0.845444,0.845485,0.845814,0.846167,0.846468,0.846629,0.846891,0.846998,0.847277,0.847431,0.847329,0.847297,0.847066,0.847141,0.846908,0.846933,0.846388,0.846054,0.845770,0.845108,0.844858,0.844336,0.844137,0.843524,0.843019,0.842460,0.842161,0.841803,0.841690,0.841468,0.841327,0.841641,0.840859,0.841707,0.841798,0.841148,0.840950,0.841322,0.840956,0.840329,0.840293,0.839689,0.839351,0.838363,0.838325,0.837151,0.835774,0.834113,0.833094,0.830742,0.829706,0.828097,0.825922,0.823608,0.820410,0.816022,0.811144,0.804899,0.798013,0.790529,0.782946,0.775164,0.767324,0.760174,0.752539,0.746039,0.740547,0.735605,0.731410,0.728163,0.725812,0.724459,0.723288,0.722890,0.724201,0.725790,0.728480,0.732328,0.735915,0.739818,0.743443,0.746560,0.749740,0.752658,0.755593,0.758089,0.761101,0.764485,0.768065,0.771938,0.775407,0.778540,0.781309,0.783629,0.784978,0.786369,0.787585,0.788088,0.788517,0.788695,0.788144,0.787577,0.787222,0.786093,0.785078,0.783951,0.782774,0.781166,0.779967,0.777983,0.776147,0.774382,0.772959,0.771490,0.769505,0.767775,0.766295,0.764459,0.763087,0.761391,0.759718,0.758154,0.756755,0.754651,0.752768,0.750728,0.748662,0.745899,0.743985,0.741874,0.739988,0.738005,0.736379,0.734997,0.733577,0.732242,0.731326,0.730315,0.729382,0.728720,0.728144,0.726985,0.726012,0.725300,0.724120,0.723309,0.722079,0.720939,0.719877,0.719081,0.718017,0.717200,0.716349,0.715531,0.714849,0.714034,0.713078,0.712205,0.711024,0.710073,0.708940,0.707326,0.706205,0.705175,0.704037,0.702976,0.701685,0.700716,0.699570,0.698567,0.697729,0.697108,0.696588,0.696074,0.695392,0.694971,0.694699,0.694547,0.694341,0.694717,0.694602,0.694878,0.694866,0.694862,0.694940,0.694903,0.694550,0.693845,0.693318,0.692596,0.691769,0.690897,0.690021,0.689131,0.688208,0.687276,0.686280,0.685385,0.684338,0.683306,0.682225,0.681332,0.680517,0.679376,0.678325,0.677226,0.676286,0.675554,0.674459,0.673740,0.672714,0.671932,0.670695,0.669899,0.669251,0.668337,0.666980,0.665887,0.665534,0.663761,0.663067,0.662274,0.660960,0.660236,0.658921,0.657283,0.656030,0.654881,0.654857,0.649880,0.649588,0.648676,0.647099,0.644059,0.642367,0.640784,0.639016,0.637299,0.634537,0.632138,0.630170,0.628656,0.625490,0.622237,0.619819,0.617204,0.614541,0.611657,0.608640,0.605487,0.602028,0.598903,0.594349,0.590127,0.586050,0.580366,0.575550,0.567787,0.558291,0.545262,0.531862,0.519220,0.503460,0.483869,0.457875,0.424229,0.386936,0.350673,0.317196,0.287038,0.263241,0.244529,0.229221,0.216566,0.205499,0.193910,0.181535,0.168269,0.153436,0.137114,0.121859,0.107210,0.094803,0.084539,0.076340,0.069559,0.064319,0.059800,0.056275,0.053525,0.051831,0.050928,0.051038,0.051752,0.053203,0.055467,0.058257,0.061542,0.065272,0.069510,0.074265,0.079406,0.085023,0.091004,0.097219,0.103621,0.110324,0.117022,0.123608,0.130114,0.136358,0.142234,0.147936,0.153027,0.157732,0.161931,0.165821,0.169183,0.172103,0.174750,0.177052,0.179026,0.180896,0.182496,0.184053,0.185428,0.186565,0.187581,0.188566,0.189494,0.190319,0.191146,0.191884,0.192670,0.193298,0.193757,0.194276,0.194759,0.195259,0.195561,0.195872,0.196180,0.196436,0.196740,0.197012,0.197269,0.197508,0.197878,0.198271,0.198569,0.199046,0.199558,0.199873,0.200283,0.200727,0.201347,0.201738,0.202264,0.202743,0.203261,0.203865,0.204476,0.204959,0.205336,0.205833,0.206333,0.206951,0.207447,0.207992,0.208625,0.209249,0.210013,0.210916,0.211581,0.212356,0.213170,0.214081,0.215113,0.216213,0.217121,0.218189,0.219391,0.220556,0.221874,0.223242,0.224517,0.225716,0.226919,0.228231,0.229645,0.230953,0.232186,0.233406,0.234677,0.235898,0.237089,0.238296,0.239535,0.240604,0.241792,0.242830,0.243842,0.244926,0.245973,0.246865,0.247915,0.248923,0.249808,0.250667,0.251516,0.252417,0.253325,0.254173,0.254910,0.255668,0.256425,0.257156,0.257994,0.258879,0.259617,0.260167,0.260790,0.261418,0.262208,0.263072,0.263887,0.264573,0.265231,0.265978,0.266954,0.267841,0.268814,0.269791,0.270639,0.271603,0.272742,0.273922,0.274985,0.276121,0.277163,0.278218,0.279358,0.280601,0.281787,0.283000,0.284069,0.285132,0.286213,0.287470,0.288692,0.289994,0.291250,0.292374,0.293441,0.294593,0.295785,0.297087,0.298414,0.299584,0.300723,0.301858,0.303021,0.304199,0.305430,0.306650,0.307812,0.309049,0.310234,0.311355,0.312466,0.313606,0.314811,0.315937,0.317100,0.318273,0.319363,0.320469,0.321609,0.322696,0.323857,0.324979,0.326123,0.327291,0.328350,0.329423,0.330479,0.331553,0.332579,0.333739,0.334812,0.335851,0.337002,0.338080,0.339081,0.340080,0.341284,0.342508,0.343487,0.344517,0.345621,0.346645,0.347650,0.348748,0.349823,0.350788,0.351748,0.352773,0.353886,0.354949,0.356001,0.357020,0.358042,0.359107,0.360142,0.361119,0.362043,0.363088,0.364099,0.365019,0.365967,0.366950,0.367921,0.368890,0.369781,0.370737,0.371777,0.372709,0.373453,0.374258,0.375169,0.375983,0.376761,0.377503,0.378267,0.379015,0.379604,0.380181,0.380752,0.381303,0.381820,0.382492,0.383094,0.383741,0.384483,0.385304,0.386111,0.386999,0.387952,0.388794,0.389499,0.390079,0.390604,0.391050,0.391466,0.391955,0.392436,0.393063,0.393954,0.394978,0.396205,0.397599,0.399069,0.400470,0.401757,0.403061,0.404346,0.405619,0.406773,0.407862,0.408925,0.409963,0.410988,0.412047,0.413030,0.413983,0.414900,0.415753,0.416526,0.417255,0.417990,0.418702,0.419385,0.420015,0.420685,0.421443,0.422226,0.422963,0.423655,0.424303,0.424960,0.425593,0.426280,0.427118,0.428059,0.429189,0.430344,0.431484,0.432540,0.433569,0.434581,0.435661,0.436802,0.437942,0.439053,0.440189,0.441254,0.442279,0.443342,0.444379,0.445458,0.446468,0.447444,0.448388,0.449355,0.450243,0.451179,0.452101,0.453042,0.453875,0.454680,0.455497,0.456368,0.457185,0.458014,0.458811,0.459519,0.460312,0.461118,0.461844,0.462585,0.463288,0.463985,0.464653,0.465344,0.466076,0.466754,0.467403,0.467978,0.468559,0.469209,0.469818,0.470450,0.470990,0.471566,0.472068,0.472586,0.473078,0.473570,0.474069,0.474591,0.475066,0.475576,0.476100,0.476585,0.477067,0.477574,0.478100,0.478665,0.479242,0.479808,0.480391,0.481006,0.481656,0.482264,0.482889,0.483539,0.484232,0.484912,0.485560,0.486264,0.486935,0.487616,0.488362,0.489070,0.489792,0.490538,0.491308,0.492043,0.492744,0.493469,0.494222,0.494971,0.495676,0.496367,0.497059,0.497852,0.498556,0.499260,0.499949,0.500673,0.501347,0.502024,0.502692,0.503339,0.504014,0.504655,0.505311,0.505993,0.506606,0.507146,0.507737,0.508338,0.508921,0.509477,0.510024,0.510591,0.511178,0.511751,0.512278,0.512785,0.513315,0.513846,0.514346,0.514826,0.515308,0.515794,0.516275,0.516752,0.517289,0.517758,0.518204,0.518633,0.519078,0.519537,0.519994,0.520484,0.520937,0.521330,0.521697,0.522078,0.522491,0.522914,0.523327,0.523735,0.524106,0.524493,0.524899,0.525299,0.525681,0.526026,0.526340,0.526717,0.527111,0.527476,0.527852,0.528196,0.528518,0.528852,0.529202,0.529554,0.529881,0.530191,0.530495,0.530789,0.531069,0.531368,0.531596,0.531871,0.532129,0.532398,0.532684,0.532937,0.533207,0.533403,0.533605,0.533812,0.534027,0.534258,0.534448,0.534626,0.534803,0.534993,0.535183,0.535338,0.535501,0.535651,0.535830,0.535995,0.536125,0.536250,0.536372,0.536549,0.536698,0.536838,0.537008,0.537122,0.537237,0.537340,0.537449,0.537568,0.537670,0.537764,0.537863,0.537973,0.538076,0.538135,0.538234,0.538320,0.538392,0.538443,0.538461,0.538528,0.538604,0.538691,0.538760,0.538774,0.538842,0.538902,0.538948,0.538985,0.539027,0.539055,0.539091,0.539139,0.539186,0.539178,0.539198,0.539212,0.539233,0.539273,0.539270,0.539298,0.539327,0.539354,0.539403,0.539396,0.539393,0.539382,0.539352,0.539344,0.539355]
hallosyite = [0.696907,0.697408,0.697909,0.701083,0.704258,0.709386,0.714515,0.720321,0.726128,0.728944,0.731761,0.732747,0.733733,0.735605,0.737476,0.741484,0.745492,0.750481,0.755469,0.761875,0.768281,0.767534,0.766787,0.768286,0.769785,0.775982,0.782179,0.782501,0.782823,0.784052,0.785281,0.789095,0.792908,0.794751,0.796593,0.799248,0.801902,0.806445,0.810987,0.810189,0.809390,0.813742,0.818093,0.818191,0.818289,0.819339,0.820388,0.822601,0.824815,0.825890,0.826966,0.828782,0.830599,0.830960,0.831321,0.833703,0.836085,0.837869,0.839652,0.840609,0.841566,0.844194,0.846821,0.846501,0.846182,0.849131,0.852080,0.850791,0.849503,0.853127,0.856751,0.855618,0.854486,0.855904,0.857321,0.857586,0.857851,0.858437,0.859022,0.860097,0.861172,0.860701,0.860230,0.861565,0.862900,0.862512,0.862123,0.863067,0.864011,0.863771,0.863532,0.864144,0.864756,0.865145,0.865534,0.865629,0.865724,0.866204,0.866684,0.866639,0.866594,0.866878,0.867162,0.867034,0.866907,0.867131,0.867354,0.866989,0.866625,0.866550,0.866475,0.866845,0.867215,0.866966,0.866717,0.867422,0.868128,0.867920,0.867711,0.868752,0.869792,0.869557,0.869323,0.870098,0.870873,0.871324,0.871774,0.872158,0.872542,0.873644,0.874746,0.873411,0.872076,0.874229,0.876382,0.874854,0.873326,0.874115,0.874903,0.875262,0.875620,0.875139,0.874658,0.875261,0.875865,0.875540,0.875216,0.876331,0.877446,0.878561,0.879676,0.879690,0.879703,0.879745,0.879786,0.878702,0.877617,0.878383,0.879148,0.879755,0.880362,0.879138,0.877915,0.879713,0.881510,0.879562,0.877613,0.879840,0.882067,0.882307,0.882547,0.880723,0.878898,0.880529,0.882159,0.881441,0.880722,0.880963,0.881204,0.880801,0.880398,0.880880,0.881362,0.881826,0.882289,0.881707,0.881126,0.881517,0.881908,0.882448,0.882989,0.882024,0.881059,0.880450,0.879842,0.880448,0.881053,0.881238,0.881423,0.881175,0.880926,0.880818,0.880709,0.880576,0.880444,0.879894,0.879345,0.881138,0.882931,0.880508,0.878085,0.878606,0.879128,0.879354,0.879579,0.878376,0.877173,0.879200,0.881226,0.880954,0.880682,0.879977,0.879271,0.879140,0.879008,0.879091,0.879174,0.878243,0.877311,0.876428,0.875545,0.875570,0.875596,0.875242,0.874887,0.873755,0.872624,0.871449,0.870275,0.870303,0.870331,0.869762,0.869192,0.868147,0.867102,0.868064,0.869027,0.869834,0.870642,0.871119,0.871596,0.872497,0.873399,0.875083,0.876768,0.876903,0.877037,0.876961,0.876884,0.876878,0.876873,0.876706,0.876539,0.876637,0.876734,0.876552,0.876369,0.875970,0.875572,0.875790,0.876008,0.876038,0.876068,0.875154,0.874240,0.874739,0.875238,0.875204,0.875170,0.874713,0.874256,0.874366,0.874476,0.875248,0.876019,0.875680,0.875341,0.875584,0.875827,0.876296,0.876765,0.876295,0.875825,0.875024,0.874223,0.874415,0.874608,0.874561,0.874515,0.874440,0.874365,0.874449,0.874534,0.875297,0.876061,0.875660,0.875258,0.875287,0.875317,0.874983,0.874649,0.874654,0.874658,0.874084,0.873511,0.873312,0.873114,0.872938,0.872763,0.872660,0.872557,0.872193,0.871830,0.871545,0.871261,0.871069,0.870877,0.870779,0.870680,0.870316,0.869952,0.870472,0.870991,0.870884,0.870778,0.870960,0.871143,0.870866,0.870588,0.870043,0.869498,0.869861,0.870224,0.870433,0.870642,0.870474,0.870305,0.870179,0.870052,0.870584,0.871117,0.869354,0.867591,0.866562,0.865533,0.865149,0.864766,0.864160,0.863550,0.862926,0.862307,0.862780,0.863253,0.863713,0.864172,0.864106,0.864042,0.864189,0.864334,0.863806,0.863277,0.862315,0.861352,0.860224,0.859094,0.857621,0.856146,0.854502,0.852860,0.851504,0.850148,0.848631,0.847115,0.845761,0.844408,0.843361,0.842312,0.840811,0.839310,0.837871,0.836434,0.835535,0.834636,0.833541,0.832444,0.830760,0.829069,0.825820,0.822579,0.821453,0.820290,0.810060,0.799864,0.798041,0.796228,0.797085,0.797903,0.788984,0.780047,0.766925,0.753752,0.728088,0.702424,0.677134,0.651938,0.650141,0.648361,0.650620,0.652903,0.661036,0.669159,0.674981,0.680701,0.660874,0.641042,0.619817,0.598869,0.646219,0.693452,0.712143,0.730813,0.744291,0.757738,0.763763,0.769783,0.774507,0.779216,0.780271,0.781332,0.784171,0.787007,0.789088,0.791170,0.793672,0.796173,0.798340,0.800510,0.803206,0.805899,0.807803,0.809708,0.811936,0.814162,0.815739,0.817317,0.819260,0.821198,0.821904,0.822612,0.823704,0.824793,0.825268,0.825745,0.826776,0.827808,0.829220,0.830633,0.832201,0.833770,0.835603,0.837433,0.838442,0.839449,0.840142,0.840832,0.840809,0.840787,0.840905,0.841021,0.840701,0.840385,0.841020,0.841653,0.841838,0.842023,0.842111,0.842199,0.842501,0.842801,0.842529,0.842258,0.842065,0.841875,0.842358,0.842842,0.843607,0.844369,0.844695,0.845023,0.845910,0.846797,0.847493,0.848188,0.848769,0.849347,0.849298,0.849252,0.849756,0.850257,0.850321,0.850385,0.850637,0.850892,0.851620,0.852343,0.851799,0.851260,0.851674,0.852089,0.852960,0.853831,0.854804,0.855772,0.855166,0.854567,0.855914,0.857256,0.857383,0.857507,0.857150,0.856788,0.855387,0.853993,0.854526,0.855049,0.854603,0.854161,0.854197,0.854236,0.854728,0.855219,0.855490,0.855753,0.855077,0.854405,0.854183,0.853964,0.854062,0.854150,0.852993,0.851842,0.851398,0.850955,0.850639,0.850315,0.848896,0.847482,0.846727,0.845975,0.845590,0.845205,0.844841,0.844472,0.843615,0.842756,0.841613,0.840478,0.840318,0.840136,0.837155,0.834200,0.834468,0.834722,0.833235,0.831760,0.831814,0.831858,0.830688,0.829512,0.827593,0.825694,0.826333,0.826948,0.824550,0.822159,0.820630,0.819122,0.820202,0.821286,0.822918,0.824518,0.822146,0.819768,0.816701,0.813678,0.816236,0.818773,0.818681,0.818582,0.817697,0.816834,0.818691,0.820515,0.818171,0.815823,0.813049,0.810205,0.798689,0.787297,0.791327,0.795260,0.787251,0.779200,0.765911,0.752669,0.745288,0.737856,0.724174,0.710485,0.696052,0.681611,0.666284,0.651011,0.642543,0.634106,0.629329,0.624619,0.628256,0.631921,0.639217,0.646476,0.649312,0.652177,0.658618,0.665011,0.665480,0.665965,0.668481,0.670998,0.673664,0.676323,0.678042,0.679768,0.682443,0.685116,0.687491,0.689858,0.691196,0.692553,0.696283,0.699985,0.700049,0.700129,0.702162,0.704198,0.706530,0.708854,0.710054,0.711259,0.713034,0.714810,0.716786,0.718765,0.721067,0.723360,0.724460,0.725571,0.728140,0.730694,0.731280,0.731864,0.732172,0.732493,0.734315,0.736131,0.737104,0.738072,0.738507,0.738936,0.738571,0.738201,0.737343,0.736493,0.736615,0.736725,0.735217,0.733714,0.732776,0.731845,0.732025,0.732196,0.731288,0.730381,0.729504,0.728615,0.726216,0.723838,0.723907,0.723967,0.722959,0.721934,0.718803,0.715666,0.711760,0.707865,0.705219,0.702576,0.700369,0.698170,0.697107,0.696029,0.694115,0.692157,0.686539,0.680907,0.674145,0.667376,0.659882,0.652332,0.640144,0.627965,0.616375,0.604783,0.593009,0.581305,0.575346,0.569419,0.566104,0.562807,0.560979,0.559141,0.556464,0.553764,0.549204,0.544612,0.537478,0.530284,0.518166,0.506035,0.492849,0.479567,0.458314,0.437236,0.430631,0.424382,0.447315,0.470356,0.502178,0.533888,0.556466,0.578888,0.588262,0.597600,0.603895,0.610153,0.613347,0.616517,0.617663,0.618814,0.620402,0.621954,0.620582,0.619249,0.621089,0.622894,0.621854,0.620821,0.620357,0.619866,0.617212,0.614591,0.614766,0.614927,0.613951,0.612952,0.610038,0.607110,0.603122,0.599128,0.594676,0.590208,0.584586,0.578976,0.574304,0.569643,0.565909,0.562184,0.559220,0.556279,0.555192,0.554113,0.553641,0.553154,0.551414,0.549676,0.548173,0.546626,0.541471,0.536325,0.531872,0.527435,0.524262,0.521119,0.520335,0.519563,0.519818,0.520029,0.516695,0.513350,0.509074,0.504798,0.500501,0.496217,0.493023,0.489863,0.489417,0.488977,0.488994,0.489019,0.489702,0.490382,0.490815,0.491214,0.488920,0.486621,0.483913,0.481196,0.477818,0.474457,0.472530,0.470570,0.465924,0.461280,0.456830,0.452410,0.450579,0.448741,0.446247,0.443742,0.440418,0.437110,0.435234,0.433379,0.433383,0.433357,0.430936,0.428511,0.425734,0.422951,0.419585,0.416247,0.415159,0.414023,0.408929,0.403859,0.400808,0.397789,0.397469,0.397144,0.396395,0.395645,0.394797,0.393810,0.392370,0.390835,0.389242,0.387610,0.385839,0.383896,0.382072,0.380412,0.378689,0.376906,0.375289,0.373519,0.371153,0.368589,0.366222,0.363941,0.361799,0.359876,0.357949,0.355824,0.353537,0.351111,0.348314,0.345340,0.342688,0.340201,0.337594,0.335180,0.333081,0.330982,0.328846,0.326488,0.324057,0.321689,0.319359,0.316984,0.314210,0.311560,0.309292,0.306669,0.303930,0.301160,0.298373,0.295450,0.292501,0.288957,0.285014,0.281031,0.276941,0.272486,0.267740,0.262943,0.258048,0.252960,0.247508,0.241838,0.235595,0.229169,0.222106,0.214469,0.206415,0.198000,0.189148,0.179805,0.169739,0.158656,0.146987,0.134801,0.122805,0.108930,0.094477,0.079751,0.064682,0.050245,0.037859,0.028168,0.020926,0.016420,0.014518,0.014208,0.015240,0.016920,0.018458,0.019358,0.019780,0.020625,0.021576,0.022308,0.022690,0.023004,0.023140,0.023085,0.023104,0.023168,0.023166,0.022356,0.021238,0.019979,0.018827,0.018056,0.017600,0.018075,0.019668,0.022547,0.026105,0.029794,0.033391,0.036331,0.038777,0.041083,0.043485,0.045951,0.048382,0.051132,0.053570,0.056020,0.058262,0.060040,0.061187,0.061798,0.061739,0.060850,0.059840,0.059249,0.059211,0.059875,0.060943,0.062120,0.063131,0.063791,0.064309,0.064869,0.066027,0.067758,0.069861,0.072031,0.073850,0.075699,0.077454,0.078967,0.080245,0.081108,0.081935,0.082711,0.083356,0.083954,0.084306,0.084619,0.084863,0.084873,0.084935,0.084986,0.084979,0.084880,0.084664,0.084545,0.084298,0.084025,0.084031,0.084618,0.085574,0.086746,0.088013,0.089999,0.092200,0.094539,0.096916,0.098895,0.100604,0.102109,0.103429,0.104557,0.105223,0.105551,0.105625,0.105686,0.106184,0.106941,0.107877,0.108824,0.109435,0.109984,0.110619,0.111709,0.113182,0.114892,0.116756,0.118837,0.120597,0.122153,0.123674,0.125293,0.126864,0.128356,0.129715,0.130964,0.132136,0.133225,0.134556,0.135881,0.137157,0.138269,0.139397,0.140638,0.142038,0.143113,0.144086,0.145025,0.146113,0.147403,0.148674,0.149799,0.150882,0.151848,0.152708,0.153598,0.154482,0.155365,0.156253,0.157223,0.158117,0.158826,0.159322,0.159892,0.160578,0.161304,0.162145,0.163085,0.164070,0.164943,0.165761,0.166627,0.167778,0.168972,0.169909,0.170921,0.171946,0.172948,0.174677,0.174853,0.175058,0.175736,0.176833,0.178094,0.178862,0.179760,0.180992,0.182442,0.182667,0.183420,0.184469,0.185799,0.186926,0.188304,0.189755,0.190711,0.191629,0.192011,0.192924,0.193495,0.195224,0.196670,0.197344,0.198672,0.199371,0.199510,0.200396,0.200585,0.201468,0.203661,0.205094,0.205515,0.206503,0.207637,0.208202,0.208844,0.209908,0.211041,0.211528,0.212574,0.213854,0.214936,0.215166,0.215680,0.217259,0.218232,0.219478,0.220573,0.220946,0.221584,0.222878,0.223684,0.224028,0.225559,0.227053,0.227594,0.227843,0.228640,0.229687,0.230953,0.231629,0.231833,0.232267,0.233387,0.234086,0.234456,0.235631,0.236651,0.237590,0.238404,0.239303,0.239903,0.240211,0.240761,0.241675,0.243077,0.244112,0.244191,0.244515,0.245504,0.245905,0.246863,0.248214,0.248229,0.248725,0.249954,0.251090,0.251839,0.252187,0.252425,0.253265,0.253843,0.253980,0.255087,0.255503,0.255352,0.255943,0.256676,0.257088,0.257119,0.257228,0.257443,0.257381,0.257460,0.257852,0.258457,0.258224,0.258010,0.258459,0.258916,0.259205,0.259502,0.260227,0.260849,0.261030,0.261521,0.261716,0.261509,0.261893,0.262171,0.262008,0.261989,0.261867,0.262186,0.262741,0.264070,0.265854,0.267773,0.269515,0.270704,0.272128,0.273553,0.275255,0.276751,0.277920,0.279094,0.279855,0.281252,0.282499,0.283130,0.283988,0.285366,0.286186,0.286655,0.287553,0.288044,0.288712,0.289650,0.290358,0.290792,0.291045,0.291387,0.292004,0.292438,0.292742,0.293581,0.294173,0.294638,0.295219,0.295973,0.297023,0.298479,0.299654,0.300543,0.301847,0.302718,0.303892,0.305791,0.307297,0.308152,0.309072,0.310482,0.311756,0.312359,0.313143,0.314512,0.315711,0.315854,0.315715,0.315886,0.315491,0.314558,0.313638,0.312320,0.310697,0.309194,0.308842,0.309778,0.311834,0.314885,0.318126,0.320885,0.323857,0.326554,0.328354,0.329676,0.331125,0.332619,0.334008,0.335304,0.336304,0.337064,0.337640,0.338276,0.339315,0.340264,0.340809,0.340941,0.341475,0.342260,0.343075,0.343861,0.344545,0.345077,0.345660,0.346013,0.346386,0.346792,0.347030,0.347182,0.347565,0.348273,0.348872,0.348970,0.348856,0.348937,0.349065,0.349031,0.348836,0.348539,0.348670,0.349371,0.350262,0.351119,0.351697,0.352502,0.353338,0.354046,0.354381,0.354759,0.355135,0.355733,0.356771,0.358576,0.360293,0.361517,0.362828,0.364268,0.365379,0.366258,0.367072,0.367869,0.368543,0.368817,0.369723,0.370882,0.371962,0.373088,0.374217,0.374996,0.375599,0.376544,0.377453,0.377762,0.378382,0.379144,0.379432,0.379704,0.380456,0.381333,0.381938,0.382407,0.382942,0.383397,0.384112,0.384828,0.385279,0.385197,0.385573,0.386360,0.387261,0.387988,0.388421,0.388734,0.389220,0.389766,0.389728,0.389902,0.390390,0.391031,0.391661,0.392176,0.392491,0.392606,0.392571,0.392904,0.393390,0.393969,0.394516,0.394887,0.395040,0.395089,0.395335,0.395607,0.395954,0.396598,0.397358,0.397827,0.398064,0.398083,0.398213,0.398395,0.398461,0.398670,0.399248,0.399802,0.399879,0.399903,0.400039,0.400213,0.400403,0.400640,0.400905,0.401216,0.401657,0.401994,0.402208,0.402311,0.402264,0.402205,0.402528,0.402940,0.403149,0.403252,0.403588,0.403610,0.403296,0.403242,0.403449,0.403732,0.403872,0.404026,0.403929,0.403750,0.403705,0.403874,0.404103,0.404029,0.404291,0.404299,0.404168,0.404282,0.404801,0.404773,0.404489,0.404237,0.404177,0.404257,0.404569,0.404633,0.404535,0.404430,0.404516,0.404718,0.405012,0.405205,0.405255,0.405204,0.405037,0.405157,0.405369,0.405419,0.405051,0.405193,0.405412,0.405389,0.405131,0.404928,0.405137,0.405378,0.405543,0.405558,0.405372,0.405329,0.405380,0.405396,0.405243,0.404828,0.404302,0.403950,0.403893,0.404184,0.404415,0.404593,0.404617,0.404412,0.404133,0.404017]
fig = plt.figure(figsize=(10,10))
ax2 = fig.add_subplot(211)
plt.plot(x_spec,kaolinite, color = 'b',label = "Antigorite")
plt.plot(x_spec,montmorillonite, color = 'm',label = "Montmorillonite")
plt.plot(x_spec,hallosyite, color = 'y',label = "Saponite")
#plt.plot(x_spec,ratio, '-', label="ABCB_den", color='g')
plt.xlim(1,2.6)
plt.ylim(0.30,1)
plt.axvline(x=1.4, color='k',label='1.4 ' + u"\u03BC" + 'm')
plt.axvline(x=1.92, color='g',label='1.92 ' + u"\u03BC" + 'm')
plt.axvline(x=2.2, color='r',label='2.2' + u"\u03BC" + 'm')
plt.xlabel( 'wavelength (' + u"\u03BC" + 'm)')
plt.ylabel( 'spectral Library' )
plt.legend(loc='lower left')
plt.show()