I am trying to write one code where I use set null function for different images and also use a simple math function for scaling the images. But when I run this code after three processes it shows
Traceback (most recent call last):
File "F:\DB_test_data\python_script\FINAL_DB.py", line 192, in <module>
arcpy.CopyRaster_management(toa_b2,OutRaster)
File "C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcPy\arcpy\management.py", line 14587, in CopyRaster
raise e
RuntimeError: ERROR 999998: Unexpected Error.<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>here is my code
outdir<SPAN class="operator token">=</SPAN><SPAN class="string token">"F:\\DB_test_data\\TEST_RAY\\TEST1\\c\\"</SPAN>
<SPAN class="keyword token">for</SPAN> a<SPAN class="punctuation token">,</SPAN>b<SPAN class="punctuation token">,</SPAN>c<SPAN class="punctuation token">,</SPAN>d<SPAN class="punctuation token">,</SPAN>e<SPAN class="punctuation token">,</SPAN>f<SPAN class="punctuation token">,</SPAN>g<SPAN class="punctuation token">,</SPAN>h<SPAN class="punctuation token">,</SPAN>i<SPAN class="punctuation token">,</SPAN>j<SPAN class="punctuation token">,</SPAN>k<SPAN class="punctuation token">,</SPAN>l <SPAN class="keyword token">in</SPAN> zip <SPAN class="punctuation token">(</SPAN>CLDMASK<SPAN class="punctuation token">,</SPAN>AOD<SPAN class="punctuation token">,</SPAN>TOA_B1<SPAN class="punctuation token">,</SPAN>TOA_B2<SPAN class="punctuation token">,</SPAN>Height<SPAN class="punctuation token">,</SPAN>SenZen<SPAN class="punctuation token">,</SPAN>SenAzm<SPAN class="punctuation token">,</SPAN>SolZen<SPAN class="punctuation token">,</SPAN>SolAzm<SPAN class="punctuation token">,</SPAN>Sur_B1<SPAN class="punctuation token">,</SPAN>Sur_B2<SPAN class="punctuation token">,</SPAN>Sur_B3<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_a:"</SPAN><SPAN class="operator token">+</SPAN> a<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_b:"</SPAN><SPAN class="operator token">+</SPAN> b<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_c:"</SPAN><SPAN class="operator token">+</SPAN> c<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_d:"</SPAN><SPAN class="operator token">+</SPAN> d<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_e:"</SPAN><SPAN class="operator token">+</SPAN> e<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_f:"</SPAN><SPAN class="operator token">+</SPAN> f<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_g:"</SPAN><SPAN class="operator token">+</SPAN> g<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_h:"</SPAN><SPAN class="operator token">+</SPAN> h<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_i:"</SPAN><SPAN class="operator token">+</SPAN> i<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_j:"</SPAN><SPAN class="operator token">+</SPAN> j<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_k:"</SPAN><SPAN class="operator token">+</SPAN> k<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"processing_l:"</SPAN><SPAN class="operator token">+</SPAN> l<SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#######################################################################</SPAN>
<SPAN class="comment token">#Cloud Mask scalling</SPAN>
Scale_factor1 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">1.0</SPAN><SPAN class="punctuation token">)</SPAN>
add_offset1 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.0</SPAN><SPAN class="punctuation token">)</SPAN>
setnull1 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>a<SPAN class="punctuation token">,</SPAN>a<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat1"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" <= 0"</SPAN><SPAN class="punctuation token">)</SPAN>
ras1<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull1<SPAN class="punctuation token">)</SPAN>
cldmask<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras1<SPAN class="operator token">-</SPAN>add_offset1<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor1
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"cldmask"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>cldmask<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat1"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#AOD scalling and set lessthan 0.1 AOD </SPAN>
Scale_factor2 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.0010000000474974513</SPAN><SPAN class="punctuation token">)</SPAN>
add_offset2 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.0</SPAN><SPAN class="punctuation token">)</SPAN>
setnull2 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>b<SPAN class="punctuation token">,</SPAN>b<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat2"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -9999"</SPAN><SPAN class="punctuation token">)</SPAN>
ras2<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull2<SPAN class="punctuation token">)</SPAN>
aod<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras2<SPAN class="operator token">-</SPAN>add_offset2<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor2
aod_1 <SPAN class="operator token">=</SPAN> Con<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">(</SPAN>aod <SPAN class="operator token">>=</SPAN> <SPAN class="number token">0.0</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">&</SPAN> <SPAN class="punctuation token">(</SPAN>aod <SPAN class="operator token"><=</SPAN> <SPAN class="number token">0.1</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">)</SPAN>
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"aod_1"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>aod_1<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat2"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#TOA_B1 scalling</SPAN>
Scale_factor3 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.000053811826</SPAN><SPAN class="punctuation token">)</SPAN>
add_offset3 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="operator token">-</SPAN><SPAN class="number token">0.0</SPAN><SPAN class="punctuation token">)</SPAN>
setnull3 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>c<SPAN class="punctuation token">,</SPAN>c<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat3"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = 65535"</SPAN><SPAN class="punctuation token">)</SPAN>
ras3<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull3<SPAN class="punctuation token">)</SPAN>
toa_b1<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras3<SPAN class="operator token">-</SPAN><SPAN class="punctuation token">(</SPAN>add_offset3<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor3
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"toa_b1"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>toa_b1<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat3"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#TOA_B2 Scalling</SPAN>
Scale_factor4 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.00003255546</SPAN><SPAN class="punctuation token">)</SPAN>
add_offset4 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="operator token">-</SPAN><SPAN class="number token">0.0</SPAN><SPAN class="punctuation token">)</SPAN>
setnull4 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>d<SPAN class="punctuation token">,</SPAN>d<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat4"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = 65535"</SPAN><SPAN class="punctuation token">)</SPAN>
ras4<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull4<SPAN class="punctuation token">)</SPAN>
toa_b2<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras4<SPAN class="operator token">-</SPAN><SPAN class="punctuation token">(</SPAN>add_offset4<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor4
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"toa_b2"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>toa_b2<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat4"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Height</SPAN>
setnull <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>e<SPAN class="punctuation token">,</SPAN>e<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat5"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -32767"</SPAN><SPAN class="punctuation token">)</SPAN>
ras<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull<SPAN class="punctuation token">)</SPAN>
height<SPAN class="operator token">=</SPAN>ras
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"height"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>height<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat5"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Sensor Zenith angle</SPAN>
Scale_factor6 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.01</SPAN><SPAN class="punctuation token">)</SPAN>
add_offset6 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.0</SPAN><SPAN class="punctuation token">)</SPAN>
setnull6 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>f<SPAN class="punctuation token">,</SPAN>f<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat6"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -32767"</SPAN><SPAN class="punctuation token">)</SPAN>
ras6<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull6<SPAN class="punctuation token">)</SPAN>
senzen<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras6<SPAN class="operator token">-</SPAN>add_offset6<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor6
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"senzen"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>senzen<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat6"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Sensor azimuth angle</SPAN>
setnull7 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>g<SPAN class="punctuation token">,</SPAN>g<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat7"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -32767"</SPAN><SPAN class="punctuation token">)</SPAN>
ras7<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull7<SPAN class="punctuation token">)</SPAN>
senazm<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras7<SPAN class="operator token">-</SPAN>add_offset6<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor6
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"senazm"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>senazm<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat7"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#solar zenithal angle</SPAN>
setnull8 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>h<SPAN class="punctuation token">,</SPAN>h<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat8"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -32767"</SPAN><SPAN class="punctuation token">)</SPAN>
ras8<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull8<SPAN class="punctuation token">)</SPAN>
solzen<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras8<SPAN class="operator token">-</SPAN>add_offset6<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor6
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"solzen"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>solzen<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat8"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#solar azimuth angle</SPAN>
setnull9 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>i<SPAN class="punctuation token">,</SPAN>i<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat9"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -32767"</SPAN><SPAN class="punctuation token">)</SPAN>
ras9<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull9<SPAN class="punctuation token">)</SPAN>
solazm<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras9<SPAN class="operator token">-</SPAN>add_offset6<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor6
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"solazm"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>solazm<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat9"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#(MODO9)surface reflectance band 1</SPAN>
Scale_factor_10 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.0001</SPAN><SPAN class="punctuation token">)</SPAN>
add_offset_10 <SPAN class="operator token">=</SPAN> float<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0.0</SPAN><SPAN class="punctuation token">)</SPAN>
setnull_10 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>j<SPAN class="punctuation token">,</SPAN>j<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat10"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -28672"</SPAN><SPAN class="punctuation token">)</SPAN>
ras_10<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull_10<SPAN class="punctuation token">)</SPAN>
sur_b1<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras_10<SPAN class="operator token">-</SPAN>add_offset_10<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor_10
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"sur_b1"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>sur_b1<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat10"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#(MODO9)surface reflectance band 2</SPAN>
setnull_11 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>k<SPAN class="punctuation token">,</SPAN>k<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat11"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -28672"</SPAN><SPAN class="punctuation token">)</SPAN>
ras_11<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull_11<SPAN class="punctuation token">)</SPAN>
sur_b2<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras_11<SPAN class="operator token">-</SPAN>add_offset_10<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor_10
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"sur_b2"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>sur_b2<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat11"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#(MODO9)surface reflectance band 3</SPAN>
setnull_12 <SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>SetNull_sa<SPAN class="punctuation token">(</SPAN>l<SPAN class="punctuation token">,</SPAN>l<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"in_memory/dat12"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"\"Value\" = -28672"</SPAN><SPAN class="punctuation token">)</SPAN>
ras_12<SPAN class="operator token">=</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>Raster<SPAN class="punctuation token">(</SPAN>setnull_12<SPAN class="punctuation token">)</SPAN>
sur_b3<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>ras_12<SPAN class="operator token">-</SPAN> add_offset_10<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN>Scale_factor_10
OutRaster <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>outdir<SPAN class="punctuation token">,</SPAN><SPAN class="string token">'MOd0.{0}.img'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"sur_b3"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#print OutRaster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>sur_b3<SPAN class="punctuation token">,</SPAN>OutRaster<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"in_memory/dat12"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#############################################################################</SPAN>
<SPAN class="comment token"># # Process: Extract by Cloud_Mask</SPAN>
<SPAN class="comment token"># tempEnvironment0 = arcpy.env.cellSize</SPAN>
<SPAN class="comment token"># arcpy.env.cellSize = "MAXOF"</SPAN>
<SPAN class="comment token"># toa_bb1=arcpy.gp.ExtractByMask_sa(toa_b1, cldmask)</SPAN>
<SPAN class="comment token"># toa_b22=arcpy.gp.ExtractByMask_sa(toa_b2, cldmask)</SPAN>
<SPAN class="comment token"># heightt=arcpy.gp.ExtractByMask_sa(height, cldmask)</SPAN>
<SPAN class="comment token"># senzenn=arcpy.gp.ExtractByMask_sa(senzen, cldmask)</SPAN>
<SPAN class="comment token"># senazmm=arcpy.gp.ExtractByMask_sa(senazm, cldmask)</SPAN>
<SPAN class="comment token"># solzenn=arcpy.gp.ExtractByMask_sa(solzen, cldmask)</SPAN>
<SPAN class="comment token"># solazmm=arcpy.gp.ExtractByMask_sa(solazm, cldmask)</SPAN>
<SPAN class="comment token"># sur_b11=arcpy.gp.ExtractByMask_sa(sur_b1, cldmask)</SPAN>
<SPAN class="comment token"># sur_b22=arcpy.gp.ExtractByMask_sa(sur_b2, cldmask)</SPAN>
<SPAN class="comment token"># sur_b33=arcpy.gp.ExtractByMask_sa(sur_b3, cldmask)</SPAN>
<SPAN class="comment token"># arcpy.env.cellSize = tempEnvironment0</SPAN>
<SPAN class="comment token"># # Process: Extract by Mask using AOD less than 0.1 value</SPAN>
<SPAN class="comment token"># tempEnvironment0 = arcpy.env.cellSize</SPAN>
<SPAN class="comment token"># arcpy.env.cellSize = cellsize</SPAN>
<SPAN class="comment token"># toa_b1=arcpy.gp.ExtractByMask_sa(toa_bb1, aod_1)</SPAN>
<SPAN class="comment token"># toa_b2=arcpy.gp.ExtractByMask_sa(toa_bb2, aod_1)</SPAN>
<SPAN class="comment token"># height=arcpy.gp.ExtractByMask_sa(heightt, aod_1)</SPAN>
<SPAN class="comment token"># senzen=arcpy.gp.ExtractByMask_sa(senzenn, aod_1)</SPAN>
<SPAN class="comment token"># senazm=arcpy.gp.ExtractByMask_sa(senazmm, aod_1)</SPAN>
<SPAN class="comment token"># solzen=arcpy.gp.ExtractByMask_sa(solzenn, aod_1)</SPAN>
<SPAN class="comment token"># solazm=arcpy.gp.ExtractByMask_sa(solazmm, aod_1)</SPAN>
<SPAN class="comment token"># sur_b1=arcpy.gp.ExtractByMask_sa(sur_b11, aod_1)</SPAN>
<SPAN class="comment token"># sur_b2=arcpy.gp.ExtractByMask_sa(sur_b22, aod_1)</SPAN>
<SPAN class="comment token"># sur_b3=arcpy.gp.ExtractByMask_sa(sur_b33, aod_1)</SPAN>
<SPAN class="comment token"># arcpy.env.cellSize = tempEnvironment0</SPAN>
<SPAN class="comment token">#############################################################################</SPAN>
<SPAN class="comment token">#Calculate the scattering angle from Resample MOD03 products</SPAN>
<SPAN class="comment token">#Css = Cos(S2 * !pi / 180.D) IDL</SPAN>
<SPAN class="comment token">#Css = np.cos(S2 * np.pi / 180) Python</SPAN>
<SPAN class="comment token"># CosSenZ = np.Cos(senzen * np.pi / 180)</SPAN>
<SPAN class="comment token"># CosSolZ = np.Cos(solzen * np.pi / 180)</SPAN>
<SPAN class="comment token"># SinSenZ = np.Sin(senzen * np.pi / 180)</SPAN>
<SPAN class="comment token"># SinSolZ = np.Sin(solzen * np.pi / 180)</SPAN>
<SPAN class="comment token"># RelAzm = np.abs((senazm ) - (solazm))</SPAN>
<SPAN class="comment token"># index = np.where(RelAzm > 180.0)</SPAN>
<SPAN class="comment token"># RelAzm[index] = 360.0- RelAzm[index]</SPAN>
<SPAN class="comment token"># index = np.where(RelAzm <= 180.0)</SPAN>
<SPAN class="comment token"># RelAzm[index] = 180.0- RelAzm[index]</SPAN>
<SPAN class="comment token"># CosRe = np.Cos(np.radians(RelAzm))</SPAN>
<SPAN class="comment token"># SctAgl = np.acos((-CosSolZ * CosSenZ) + ((SinSolZ * SinSenZ) * CosRelA))</SPAN>
<SPAN class="comment token"># #Ray_correction for TOA_BAND_1 and TOA_BAND_2</SPAN>
<SPAN class="comment token"># #TOA_BAND_1</SPAN>
<SPAN class="comment token"># B1_ROD = (0.00864 + (0.0000065)) * (0.67)**(-(3.916 + (0.074 * 0.67)+ (0.05/0.67)))#for RED band, please change 0.67 for other bands wavelength</SPAN>
<SPAN class="comment token"># Pr1 = (3./16.*np.pi) * (1 + (np.cos(SctAgl) * np.cos(SctAgl)))</SPAN>
<SPAN class="comment token"># wr1 = 1.0</SPAN>
<SPAN class="comment token"># RayRef_B1 = (wr1 * B1_ROD * Pr1 ) / (4.0 * (CosSolZ * CosSenZ))</SPAN>
<SPAN class="comment token"># RCR_B1 = toa_b1 - RayRef_B1</SPAN>
<SPAN class="comment token"># #TOA_BAND_2</SPAN>
<SPAN class="comment token"># B2_ROD = (0.00864 + (0.0000065)) * (0.86)**(-(3.916 + (0.074 * 0.86)+ (0.05/0.86)))#for Near Infrared (NIR) band, please change 0.86 for other bands wavelength</SPAN>
<SPAN class="comment token"># Pr2 = (3./16.*np.pi) * (1 + (np.cos(SctAgl) * np.cos(SctAgl)))</SPAN>
<SPAN class="comment token"># wr2 = 1.0</SPAN>
<SPAN class="comment token"># RayRef_B2 = (wr2 * B2_ROD * Pr2 ) / (4.0 * (CosSolZ * CosSenZ))</SPAN>
<SPAN class="comment token"># RCR_B2 = toa_b2 - RayRef_B2</SPAN>
<SPAN class="comment token">#Calculating NDVI float raster</SPAN>
<SPAN class="comment token"># ndvi_raster = Divide(Float(Raster(toa_b2) - Raster(toa_b1)), Float(Raster(toa_b2) + Raster(toa_b1)))</SPAN>
<SPAN class="comment token"># ndvi = (Float(toa_b2) - toa_b1) / (Float(toa_b2) + toa_b1)</SPAN>
<SPAN class="keyword token">print</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>GetMessages<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="string token">'finished run: %s\n\n'</SPAN> <SPAN class="operator token">%</SPAN> <SPAN class="punctuation token">(</SPAN>datetime<SPAN class="punctuation token">.</SPAN>datetime<SPAN class="punctuation token">.</SPAN>now<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">-</SPAN> start<SPAN class="punctuation token">)</SPAN>
<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>I can't understand why it shows this error.
please help me, anyone, to resolve this matter.
And have any way to use a "foor loop" for set null function of different images?
Xander Bakker
Luke Webb,
Joshua Bixby
Joe Borgione
Dan Patterson