Thanks for responding Curtis. I really appreciate you taking the time to help me understand this concept. It's starting to get clearer but I think I need to circle back around for clarity's and organization's sake (for myself and others in geonet community).
Here is an re-arranged version of my full code for the original python script behind script tool that keeps giving me errors. Hopefully it clarifies my end goals:
inrast = arcpy.GetParameterAsText(0)
outrast = arcpy.GetParameterAsText(1)
outext = arcpy.GetParameterAsText(2)
infc = arcpy.GetParameterAsText(3)
outfc = arcpy.GetParameterAsText(4)
buff_dist = arcpy.GetParameterAsText(5)
buffout = arcpy.GetParameterAsText(6)
outpath = arcpy.GetParameterAsText(7)
arcpy.AddMessage("Starting clipping analysis...")
arcpy.Clip_management(inrast, "", outrast, outext, "", 'ClippingGeometry', 'NO_MAINTAIN_EXTENT')
arcpy.AddMessage("Raster clipping to study area successful!")
arcpy.Clip_analysis(infc, outext, outfc)
arcpy.AddMessage("Vector clipping to study area successful!")
arcpy.Buffer_analysis(outfc, buffout, buff_dist)
arcpy.AddMessage("Buffer of streams successful!")
arcpy.Clip_management(outrast, "", outpath, buffout, "ClippingGeometry", 'NO_MAINTAIN_EXTENT')
arcpy.AddMessage("Clipping of hillshade to buffer output successful!")
As you can see, I'm not using any derived parameters in this script- just required output and input parameters. I get the first clipped raster, the clipped stream feature class, and the buffered stream polygon feature class into a file geodatabase. But every time I've run this tool, it gives me an error for the final Clip step.
I understand that derived parameters don't show up in tool dialog and that it's most effective to put them at end of parameters for organizational purposes. Not exactly clear how to follow your suggestion of setting path of buffout.
Would calculate the path of buffer output look something like this?:
buffpath = os.path(buffout)
Then I'd use arcpy.SetParameterAsText():
arcpy.SetParameterAsText(8, buffout)
Finally, input the above into Clip Management tool:
arcpy.Clip_management(outrast, "", outpath, buffpath + buffout, "ClippingGeometry", "NO_MAINTAIN_EXTENT")
Also, would I be able to set other outputs from tools (ie outfc, outrast) as inputs using SetParameterAsText()?
Again, much thanks for your help Curtis! Josh