Suppress output by Cross-CorrelationOp when run in GPT

Hi developers,

we are running (many) graph files via the GPT in an automated fashion (orchestrated by an external tool). We currently experience the issue that GRAPH’s, containing a Cross-Correlation operator, generate so much output to the stdout, that our logging framework gets overloaded and chokes on it. Is there a way that we can control/reduce the amount of msg this operator produces? It seems that only this specific operator generates so many msg…

Thanks alot in advance!
Sven.

Hi Sven,

This is one operator of the S1TBX.
I’ve looked at the code and there are not so many lines which can cause this.
I guess you get output like:

mGCP = ({}, {})123123
Initial sGCP = ({}, {})456456

and

Final sGCP = ({},{})789890
Final sGCP coherence = {}1.2345

I think it should be no problem to remove them. or set the log level to debug.
But @lveci or @junlu should have a look at it.

cheers
Marco

You can try to increase the log level to a higher level. So that the messages are not logged any more.
Try specifying -dsnap.log.level=WARNING with you gpt command.

Hi Marco,

please see the snippet of msg below. I think I would still want the warning to show but get rid of the “INFO:” lines.

I will try changing the log to a higher level.

Thanks,
Sven.


INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Coarse sGCP = ({}, {})-1.00.0
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Coarse sGCP coherence = {}0.42809484868701936
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: mGCP = ({}, {})13888.032406.0
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Initial sGCP = ({}, {})13887.032406.0
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Using de-meaned magnitude patches for incoherent cross-correlation
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Pixel level offset: -58.0, -55.0 (corr=0.0754140300444644)
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Coarse sGCP = ({}, {})-55.0-58.0
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Coarse sGCP coherence = {}0.0754140300444644
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: mGCP = ({}, {})15740.032406.0
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Initial sGCP = ({}, {})15685.032348.0
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: crosscorrelate:changing static block to size [64, 64]
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Using de-meaned magnitude patches for incoherent cross-correlation
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Pixel level offset: 1.0, 0.0 (corr=0.45127771056242144)
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Careful, decrease AccL or increase winsizeL
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: crosscorrelate:changing static block to size [64, 64]
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Pixel level offset: -15.0, -8.0 (corr=0.2423844403723709)
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Careful, decrease AccL or increase winsizeL
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Careful, decrease AccP or increase winsizeP
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Pixel level offset: 0.0, -4.0 (corr=0.33251294585869995)
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Coarse sGCP = ({}, {})-4.00.0
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Coarse sGCP coherence = {}0.33251294585869995
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: mGCP = ({}, {})10184.032406.0
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Initial sGCP = ({}, {})10180.032406.0
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Using de-meaned magnitude patches for incoherent cross-correlation

Also the logging in the CoregistrationUtils class should be reduced. This is also a lot. This might be interesting when debugging but I think not when simply processing data.
You are right. Warnings should still be printed.

Hi Marco,

Thanks for the suggestion. We tried running the gpt command with that option but we received:

Error: Unknown option ‘-dsnap.log.level=WARNING’

I also see in the option that it refers to snap, and not gpt.
Any other suggestion form you? Thanks.

I have to check why this is not working.
Maybe the generic java property is working:
-Djava.util.logging.ConsoleHandler.level=WARNING

Thanks. That option didn’t result in “unknown option error” in a first attempt.
We will test this further.

Sorry about that Sven. I’ll knock it off.

OK, the -Dsnap.log.level=WARNING option must be set early. So it must be included in the gpt.vmoptions file. And it must be a capital ‘D’

Thanks! Let me know when a fix is available. BTW are you back from your Europe trip yet and will possibly anyone of your team attend the “Bringing space to earth” meeting @ The Hague end of this months?

Not yet, just catching up on emails in Frankfurt airport :airplane:
Sorry, I don’t have any more conferences/workshops planned anytime soon. It would be good to meet if I ever pass by ESTEC.

Be sure to do just that! Have a good trip home!