Select to view content in your preferred language

Script that runs perfectly in ArcMap version 10 does not in version 10.1

941
2
10-26-2012 06:15 AM
GualbertoHernández_Juárez
Emerging Contributor
Hi all,

develop a script that runs perfectly in ArcMap version 10, and when I run the same script on machine with version 10.1 is the following error:

(I hope you can help me to resolve it)

Thans,
Gualberto


>>> import arcpy
import glob, os


#*********** PRINCIPALES VARIABLES *************
prefijo = "sde.SDE."
Nommosaico = "mostest8"
variable = "pslv"


outLoc = "C:/IIE_Datos/Prediccion/Ejemplomosaico/test.mdb/"
inNetCDF = "C:/IIE_Datos/Prediccion/Ejemplomosaico/MMOUT_DOMAIN1.nc"

# Process: Create Mosaic Dataset
arcpy.CreateMosaicDataset_management(outLoc, Nommosaico, "PROJCS['Lambert_Conformal_Conic',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',-27.0],PARAMETER['Central_Meridian',-124.17],PARAMETER['Standard_Parallel_1',0.0],PARAMETER['Standard_Parallel_2',0.0],PARAMETER['Scale_Factor',1.0],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Kilometer',1000.0]];-20037.7 -30225.3 149134210447.956;1 1;1 1;0.000001;2;2;IsHighPrecision", "", "")

variable = "pslv"

nc_FP = arcpy.NetCDFFileProperties(inNetCDF)
nc_Dim = nc_FP.getDimensions()

test = outLoc + '/*'
r = glob.glob(test)
for i in r:
   os.remove(i)

for dimension in nc_Dim:

    top = nc_FP.getDimensionSize(dimension)

    for i in range(0, top):

        if dimension == "time":

            dimension_values = nc_FP.getDimensionValue(dimension, i)
            daat = "time '"+str(dimension_values)+ "'"
            print daat
            
            #nowFile = str(dimension_values)
            nowFile = str(i)
            testt = dimension_values.replace("/","").replace(":","").replace(".","").replace("'","").replace(' ','')
            print testt
            rast = "time" + nowFile
            #print rast
            
            # this will convert the FIRST time step in your netCDF file to a raster layer
            arcpy.MakeNetCDFRasterLayer_md(inNetCDF, variable, "lon", "lat", testt, "", daat, "BY_VALUE")
            arcpy.CopyRaster_management(testt, outLoc + rast, "", "", "", "NONE", "NONE", "")


            # Local variables:
            Build_Raster_Pyramids = "true"
            Calculate_Statistics = "true"

            # Process: Add Rasters To Mosaic Dataset
            arcpy.AddRastersToMosaicDataset_management(outLoc + Nommosaico, "Raster Dataset", outLoc + rast, "UPDATE_CELL_SIZES", "NO_BOUNDARY", "NO_OVERVIEWS", "", "0", "1500", "", "", "SUBFOLDERS", "ALLOW_DUPLICATES", Build_Raster_Pyramids, Calculate_Statistics, "NO_THUMBNAILS", "")


    
            # print dimension_values
            
time '28/08/2012 12:00:00'
28082012120000
time '28/08/2012 12:00:03'
28082012120003
time '28/08/2012 12:00:06'
28082012120006
time '28/08/2012 12:00:09'
28082012120009
time '28/08/2012 12:00:12'
28082012120012
time '28/08/2012 12:00:15'
28082012120015
time '28/08/2012 12:00:18'
28082012120018
time '28/08/2012 12:00:21'
28082012120021
time '28/08/2012 12:00:24'
28082012120024
time '28/08/2012 12:00:27'
28082012120027
time '28/08/2012 12:00:30'
28082012120030
time '28/08/2012 12:00:33'
28082012120033
time '28/08/2012 12:00:36'
28082012120036
time '28/08/2012 12:00:39'
28082012120039
time '28/08/2012 12:00:42'
28082012120042
time '28/08/2012 12:00:45'
28082012120045
time '28/08/2012 12:00:48'
28082012120048
time '28/08/2012 12:00:51'
28082012120051
time '28/08/2012 12:00:54'
28082012120054
time '28/08/2012 12:00:57'
28082012120057
time '28/08/2012 12:01:00'
28082012120100
time '28/08/2012 12:01:03'
28082012120103
time '28/08/2012 12:01:06'
28082012120106
time '28/08/2012 12:01:09'
28082012120109
time '28/08/2012 12:01:12'
28082012120112
time '28/08/2012 12:01:15'
28082012120115
time '28/08/2012 12:01:18'
28082012120118
time '28/08/2012 12:01:21'
28082012120121
time '28/08/2012 12:01:24'
28082012120124
time '28/08/2012 12:01:27'
28082012120127
time '28/08/2012 12:01:30'
28082012120130
time '28/08/2012 12:01:33'
28082012120133
time '28/08/2012 12:01:36'
28082012120136
Runtime error  Traceback (most recent call last):   File "<string>", line 48, in <module>   File "c:\program files (x86)\arcgis\desktop10.1\arcpy\arcpy\management.py", line 11034, in CopyRaster     raise e ExecuteError: ERROR 001143: Background server threw an exception.
Tags (2)
0 Kudos
2 Replies
T__WayneWhitley
Honored Contributor
Looks like it's failing at Copy Raster, right?  Did you test for valid input for Copy Raster, testt, I think you called it?
Also, maybe this doesn't matter, but Copy Raster at 10.1 syntax is 10 params, 2 of which are required:

CopyRaster_management (in_raster, out_rasterdataset, {config_keyword}, {background_value}, {nodata_value}, {onebit_to_eightbit}, {colormap_to_RGB}, {pixel_type}, {scale_pixel_value}, {RGB_to_Colormap})

...and you have fed in 8 - so make sure they are valid:
CopyRaster_management(testt, outLoc + rast, "", "", "", "NONE", "NONE", "")

Since the 6th and 7th param defaults are NONE anyway according to the doc, looks like you only have to specify the 2 required params, so just check those 2 for validity, 'testt' and 'outLoc + rast':

CopyRaster_management(testt, outLoc + rast)

Also, check out the suggestion to disable background processes for that error.
http://resources.arcgis.com/en/help/main/10.1/index.html#//00vp00000024001143
0 Kudos
GualbertoHernández_Juárez
Emerging Contributor
Thank you very much Wayne,

finally was solved so you were right:

arcpy.CopyRaster_management(testt, outLoc + rast, "", "", "-3,402823e+038", "NONE", "NONE", "", "NONE", "NONE")

Finally I need now is to add a time field mosaic obtained from all raster, and allocate time for each raster in order to encourage the mosaic will have some idea who can help me?

Thank you very much,
Gualberto
0 Kudos