We have a script that refuses to work in version 101.6, though before that it worked fine.
The script computes the decimation factor in order to
decimate from delta 0.025 to 0.1s; here is its echo to the screen:
setbb new 0.1
r AU.WR0..BHZ
rmean
evaluate to old &AU.WR0..BHZ,delta
==> evaluate to old 0.025
evaluate to factor %new / %old
==> evaluate to factor 4
decimate %factor
==> decimate 4
ERROR interpreting command: decimate %factor
ILLEGAL OPTION: ^
It does not like the "%"...
But if I simply do the following it works:
setbb factor 4
decimate %factor
Why does the script go wrong???
Guust Nolet
Géoazur
250, rue Albert Einstein
06560 Sophia Antipolis
France
+33.4.83.61.86.32
https://www.geoazur.fr/GLOBALSEIS/nolet/index.html
The script computes the decimation factor in order to
decimate from delta 0.025 to 0.1s; here is its echo to the screen:
setbb new 0.1
r AU.WR0..BHZ
rmean
evaluate to old &AU.WR0..BHZ,delta
==> evaluate to old 0.025
evaluate to factor %new / %old
==> evaluate to factor 4
decimate %factor
==> decimate 4
ERROR interpreting command: decimate %factor
ILLEGAL OPTION: ^
It does not like the "%"...
But if I simply do the following it works:
setbb factor 4
decimate %factor
Why does the script go wrong???
Guust Nolet
Géoazur
250, rue Albert Einstein
06560 Sophia Antipolis
France
+33.4.83.61.86.32
https://www.geoazur.fr/GLOBALSEIS/nolet/index.html

Guust,
The decimate command is expecting an integer and the division at line
evaluate to factor %new / %old
produces a floating point number.
You could use the following line to produce the integer required
SAC> evaluate to factor (integer ( ( %new / %old ) + 0.5 ) )
This will work, but is not correct for all cases.
A sadly undocumented function, new in 101.6, is "round" (my apologies)
SAC> evaluate to factor ( round ( %new / %old ) )
The older versions of SAC may have truncated your floating point number to an integer, possibly a 3 in this case, not a 4 as you would have hoped.
Brian Savage
savage<at>uri.edu
On May 20, 2014, at 11:20 AM, Guust Nolet wrote:
We have a script that refuses to work in version 101.6, though before that it worked fine.
The script computes the decimation factor in order to
decimate from delta 0.025 to 0.1s; here is its echo to the screen:
setbb new 0.1
r AU.WR0..BHZ
rmean
evaluate to old &AU.WR0..BHZ,delta
==> evaluate to old 0.025
evaluate to factor %new / %old
==> evaluate to factor 4
decimate %factor
==> decimate 4
ERROR interpreting command: decimate %factor
ILLEGAL OPTION: ^
It does not like the "%"...
But if I simply do the following it works:
setbb factor 4
decimate %factor
Why does the script go wrong???
Guust Nolet
Géoazur
250, rue Albert Einstein
06560 Sophia Antipolis
France
+33.4.83.61.86.32
https://www.geoazur.fr/GLOBALSEIS/nolet/index.html
_______________________________________________
sachelp mailing list
sachelp<at>iris.washington.edu
http://www.iris.washington.edu/mailman/listinfo/sachelp

Dear All 
In a spirit of userfriendliness (and to prevent script breakage like what is reported here), SAC/BRIS implements the integer argument check by allowing rounding leeway (if within 1e4 of an integer, the value is taken to be the nearby integer on the number line). Maybe SAC/IRIS should too and avoid requiring all scripts to be changed to use undocumented and/or newly introduced features. (This was implemented in Sep. 2006.)
On 20 May 2014, at 17:02, Brian Savage wrote:
Guust,
George Helffrich
The decimate command is expecting an integer and the division at line
evaluate to factor %new / %old
produces a floating point number.
You could use the following line to produce the integer required
SAC> evaluate to factor (integer ( ( %new / %old ) + 0.5 ) )
This will work, but is not correct for all cases.
A sadly undocumented function, new in 101.6, is "round" (my apologies)
SAC> evaluate to factor ( round ( %new / %old ) )
The older versions of SAC may have truncated your floating point number to an integer, possibly a 3 in this case, not a 4 as you would have hoped.
Brian Savage
savage<at>uri.edu
On May 20, 2014, at 11:20 AM, Guust Nolet wrote:
We have a script that refuses to work in version 101.6, though before that it worked fine.
_______________________________________________
The script computes the decimation factor in order to
decimate from delta 0.025 to 0.1s; here is its echo to the screen:
setbb new 0.1
r AU.WR0..BHZ
rmean
evaluate to old &AU.WR0..BHZ,delta
==> evaluate to old 0.025
evaluate to factor %new / %old
==> evaluate to factor 4
decimate %factor
==> decimate 4
ERROR interpreting command: decimate %factor
ILLEGAL OPTION: ^
It does not like the "%"...
But if I simply do the following it works:
setbb factor 4
decimate %factor
Why does the script go wrong???
Guust Nolet
Géoazur
250, rue Albert Einstein
06560 Sophia Antipolis
France
+33.4.83.61.86.32
https://www.geoazur.fr/GLOBALSEIS/nolet/index.html
_______________________________________________
sachelp mailing list
sachelp<at>iris.washington.edu
http://www.iris.washington.edu/mailman/listinfo/sachelp
sachelp mailing list
sachelp<at>iris.washington.edu
http://www.iris.washington.edu/mailman/listinfo/sachelp
george.helffrich<at>bris.ac.uk
