function main()
_result=0
'set lev 500'
'set t 1'
*anem a buscar les dimensions de la matriu
'q ctlinfo'
k=1
while(cadena != xdef)
linea=sublin(result,k)
cadena=substr(linea,1,4)
k=k+1
if (k>10)
say 'error:'k
break
endif
endwhile
filinia=0
res=buscabusca(linea,2,1,filinia)
kespai1=subwrd(res,1)
ncar=subwrd(res,2)
xdef=substr(linea,kespai1+1,ncar)
*ja tenim xdef
say 'xdef= 'xdef
* ara anem a buscar X0
res=buscabusca(linea,4,3,filinia)
kespai1=subwrd(res,1)
ncar=subwrd(res,2)
x0=substr(linea,kespai1+1,ncar)
*ja tenim x0
say 'x0= 'x0
*ara anem a buscar dx
filinia=1
res=buscabusca(linea,5,4,filinia)
kespai1=subwrd(res,1)
ncar=subwrd(res,2)
dx=substr(linea,kespai1+1,ncar)
*ja tenim dx
say 'dx= 'dx
k=1
while(cadena != ydef)
linea=sublin(result,k)
cadena=substr(linea,1,4)
k=k+1
if (k>10)
say 'error:'k
break
endif
endwhile
filinia=0
res=buscabusca(linea,2,1,filinia)
kespai1=subwrd(res,1)
ncar=subwrd(res,2)
ydef=substr(linea,kespai1+1,ncar)
say 'ydef= 'ydef
filinia=0
res=buscabusca(linea,4,3,filinia)
kespai1=subwrd(res,1)
ncar=subwrd(res,2)
y0=substr(linea,kespai1+1,ncar)
*ja tenim Y0
say 'y0= 'y0
filinia=1
res=buscabusca(linea,5,4,filinia)
kespai1=subwrd(res,1)
ncar=subwrd(res,2)
dy=substr(linea,kespai1+1,ncar)
*ja tenim dy
say 'dy= 'dy
nxdef=subwrd(xdef,1)
nx0=subwrd(x0,1)
ndx=subwrd(dx,1)
nydef=subwrd(ydef,1)
ny0=subwrd(y0,1)
ndy=subwrd(dy,1)
*ja sabem els valors de Xdef i Ydef. Com estem a 500 hPa, anem a extreure'n la z i gravar-la en
*el fitxer 'zeta500'
*però lo primer que gravarem en el fitxer són les dimensions de la matriu.
res=write('zeta500.txt',nxdef)
res=write('zeta500.txt',nx0)
res=write('zeta500.txt',ndx)
res=write('zeta500.txt',nydef)
res=write('zeta500.txt',ny0)
res=write('zeta500.txt',ndy)
'set lev 500'
'set t 1'
fila=1
while(fila<(nydef+1))
'set y ' fila
col=1
while(col<(nxdef+1))
'set x ' col
'd z'
_result=subwrd(result,4)
res = write('zeta500.txt', _result)
status = sublin(res,1)
if(status != 0)
say 'write error #'status
'quit'
endif
col=col+1
endwhile
fila=fila+1
endwhile
res = close('zeta500.txt')
status = sublin(res,1)
if(status != 0)
say 'close error #'status
'quit'
endif
return
function buscabusca(linea,nespais,primerespai,filinia)
*anem a buscar el valor a través dels espais de la linea
espais=0
k=1
while (espais<nespais)
caracter=substr(linea,k,1)
if (caracter=' ')
espais=espais+1
if (espais=primerespai)
kespai1=k
endif
endif
if((filinia=1)&(espais=primerespai))
longitud=strlon(linea)
ncar=longitud-kespai1
break
endif
k=k+1
endwhile
if (filinia=0)
ncar=k-2-kespai1
endif
return(kespai1' 'ncar)
function strlon(linea)
k=1
caracter=substr(linea,k,1)
while(caracter !='')
k=k+1
caracter=substr(linea,k,1)
endwhile
return(k-1)