Guide to Madagascar programs |
n1,n2,... are data dimensions o1,o2,... are axis origins d1,d2,... are axis sampling intervals label1,label2,... are axis labels unit1,unit2,... are axis units
float | check=2. | Portion of the data (in Mb) to check for zero values. | |
---|---|---|---|
bool | info=y | [y/n] | If n, only display the name of the data file. |
bool | trail=y | [y/n] | If n, skip trailing dimensions of one |
sfin is one of the most useful programs for operating with RSF files. It produces quick information on the file hypercube dimensions and checks the consistency of the associated data file.
Here is an example. Let us create an RSF file and examine it with sfin.
bash$ sfspike n1=100 n2=20 > spike.rsf bash$ sfin spike.rsf spike.rsf: in="/tmp/spike.rsf@" esize=4 type=float form=native n1=100 d1=0.004 o1=0 label1="Time" unit1="s" n2=20 d2=0.1 o2=0 label2="Distance" unit2="km" 2000 elements 8000 bytessfin reports the following information:
Suppose that the file got corrupted by a buggy program and reports incorrect dimensions. The sfin program should be able to catch the discrepancy.
bash$ echo n2=100 >> spike.rsf bash$ sfin spike.rsf > /dev/null sfin: Actually 8000 bytes, 20% of expected.
sfin also checks the first records in the file for zeros.
bash$ sfspike n1=100 n2=100 k2=99 > spike2.rsf bash$ sfin spike2.rsf >/dev/null sfin: The first 32768 bytes are all zerosThe number of bytes to check is adjustable
bash$ sfin spike2.rsf check=0.01 >/dev/null sfin: The first 16384 bytes are all zeros
You can also output only the location of the data file. This is sometimes handy in scripts.
bash$ sfin spike.rsf spike2.rsf info=n /tmp/spike.rsf@ /tmp/spike2.rsf@An alternative is to use sfget, as follows:
bash$ sfget parform=n in < spike.rsf /tmp/spike.rsf@
Guide to Madagascar programs |