How look into a global nodal function


Anything with > befor it is user input and < is the computer output. 

For this example the global function is SCAM. First of all change to 
the spsea home directory and start up a nodal.

>cd /user/spsea/nodal
>nodal

then find the memory position of the SCAM function.

>T ]]header(SCAM)
< 805f7010 To locate the function data file use the command ipcinfo. Your looking for the memory address on the line which is  below the value obtained with the header command " linked and frozen at address : " In this case it is in SFUNS. >ipcinfo 

<              linked and frozen at address : 80141000 
<  Segment p : shm id = 12, key = 1883542499, size = 8192, initialised from : 
<              ïï/user/spsea/nodal/PFUNS  by spsea 
<              linked and frozen at address : 80148000 
<  Segment s : shm id = 16, key = 1933874147, size = 12288, initialised from : 
<              ïï/user/spsea/nodal/SFUNS  by spsea 
<             linked and frozen at address : 805F6000 
<  Segment z : shm id = 17, key = 2051314659, size = 49152, initialised from : 
<              ïï/user/spsea/nodal/ZFUNS  by spsea Just to be sure load in the function files and check if SCAN is there. 
>ldef SFUNS
>lisd
< NCRATE    72    array integer(64,1) (16 bits short) 
< UCRATE    72    array integer(64,1) (16 bits short) 
< VCCC      72    array integer(64,1) (16 bits short) 
< LYCOMP   456    array string(64) 
< SVTEMP    52    string variable 
< GETSV    244    Define-Function (S-fl,S-va) 
< CPLACE   840    array string(64) 
< FINDS    240    Define-Function (R-ar,S-an) 
< SCAM     760    Define-Function (V-c,V-n,V-a,V-f) 
< SCAMQ    776    Define-Function (V-c,V-n,V-a,V-f,R-q) 
< BXCAM    312    Define-Call (V-crate,V-nal,V-qxf,R-iarr) 
< BSCAM    684    Define-Call (V-c,V-n,V-a,V-f,R-d,R-xq,R-nn) 
< BSCAMS   684    Define-Call (V-c,V-n,V-a,V-f,R-d,R-xq,R-nn) ok it's there, next exit nodal and set the NODAL_INIT string to null and then run nodal again. >q
>setenv NODAL_INIT ''
>nodal
ldef SFUNS
>open SCAM
>lis 10
<10.10 se m=arsize(ncrate);if c=-1;do 20 
<10.20 se nc=first(ncrate=c);if nc
<=m;se uc=ucrate(nc);if uc=-1;do 20 
<10.30 if nc>m;se uc=first(ucrate=c);if uc>m;do 20
<10.40 if nc>m;se uc=ucrate(uc)
<10.50 if n<0 or n>31;do 21
<10.60 if a<0 or a>15;do 22
<10.70 if f<0 or f>31;do 23
<10.80 if flag=-1;if f<16 or f>23;do 24
<10.90 if flag=1;if f>15;if f<24;DO 24 

If anyone wish information to be placed here,
please email there html or test files to me.
J. Fullerton