I think the SARSim-Terrain-Correction and Cross-Correlation operators do not have the sourceBands parameter.
Also, I think the way you concatenate string by and does not work.
parameters.put('sourceBands', "Simulated_Intensity" and "Intensity_" + polarization)
Probably better is:
parameters.put('sourceBands', "Simulated_Intensity,Intensity_" + polarization)
Maybe this fixes your script already, but I see that you use GPF in an inefficient way.
You write every step to disk and read it in again. This slows down the processing dramatically.
You can pass the output of one createProduct(....)
call as input to the next one.
I’ve shown how to do it in this post: