0
votes

I have a very large data set (100GB) and need to run PROC NLIN on each set of observations. In some cases, the model fails to converge which generates a set of warning lines to the log file:

NOTE: PROC NLIN grid search time was 0: 0: 0.
WARNING: PROC NLIN failed to converge.
NOTE: Negative model SS. Check model and initial parameters.
NOTE: The (approximate) Hessian is singular.
NOTE: The above message was for the following BY group: obs=420

The parameters from PROC NLIN were given to me and I am not able to change any of them. So the suggestions here (https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_nlin_sect023.htm) can not be followed in this case.

I have done the following just before the call to PROC NLIN:

options nonotes ;
proc printto print='/dev/null' new;
run;

However the line "WARNING: PROC NLIN failed to converge." is still printed to the log. Is there any way to suppress this warning (or all similar warnings) from the SAS log file?

This is on SAS 9.3 TS1M2 on Linux OS.

Additional Note: We are not ignoring the NLIN errors - the conditions that produce them are being captured and we'll eventually filter the input data set accordingly. For now we are trying to get a run through of all of the data without the SAS log file filling up.

1

1 Answers

0
votes

I'm posting this as an answer. It should have been obvious but in case others come across this. within a SAS program you can temporarily re-direct the output of warnings and errors to a different log file using the following syntax (on Linux/Unix):

proc printto print='/dev/null' log='/dev/null' new;
run;

I had been using the print= part but not the log= part. To return to regular logging just run:

proc printto
run;