[gradsusr] (no subject)
praveen rai
praveenrai583 at gmail.com
Thu Apr 20 02:46:45 EDT 2017
Thanks for the reply everyone. The script is running now but i am getting
this error now-
Data Request Warning: Request is completely outside file limits
k=nt
300 500 200 1 7
Data Request Warning: Request is completely outside file limits
k=nt
200 300 200 1 8
I have total of 164 time steps in my file and after putting it at place of
k, this error appears. Please tell me where to correct now in my script.
Thanks
On Wed, Apr 19, 2017 at 4:13 PM, Davide Sacchetti <
davide.sacchetti at arpal.gov.it> wrote:
> no idea ...
> but when creating thermo.ctl you forget "append" in:
> write (filename, record <, append>)
> so I expect thermo.ctl to be overwritten at every write
>
> When finished, use also close (name)
> (see http://cola.gmu.edu/grads/gadoc/script.html)
>
> Bye
> Davide
>
> Il giorno mer, 19/04/2017 alle 15.38 +0530, praveen rai ha scritto:
> > This script runs successfully but the .bin file is getting made
> > because of which .ctl file is not opening. Please anyone tell me how
> > to made this .bin file and where i am doing wrong.
> >
> > Thanks
> >
> > On Wed, Apr 19, 2017 at 2:04 PM, praveen rai <praveenrai583 at gmail.com
> > > wrote:
> > > Hello all,
> > >
> > > I have made a .ctl file from .nc file using CDO command which shows
> > > following description-
> > >
> > > * Generated by CDO operator gradsdes
> > > *
> > > DSET ^merge_rf79_05_act_0lag.nc
> > > DTYPE netCDF
> > > XDEF 720 LINEAR 0.000000 0.500000
> > > YDEF 361 LINEAR -90.000000 0.500000
> > > ZDEF 7 LEVELS 2 3 5 7 8.5 9.25 10
> > > TDEF 164 LINEAR 12:00Z03aug1979 1dy
> > > TITLE merge_rf79_05_act_0lag.nc 720x361 grid
> > > OPTIONS yrev zrev
> > > UNDEF -32767
> > > VARS 4
> > > v 7 t,z,y,x V component of wind [m s**-1]
> > > u 7 t,z,y,x U component of wind [m s**-1]
> > > t 7 t,z,y,x Temperature [K]
> > > w 7 t,z,y,x Vertical velocity [Pa s**-1]
> > > ENDVARS
> > >
> > > Using this .ctl file, i am trying to write a .ctl file containing
> > > variables for my diabatic heating calculation but the new .ctl file
> > > is not opening and it gives following error-
> > >
> > > Scanning description file: thermo.ctl
> > > Open Error: Looking for "endvars", found "res 7 99 residuo of
> > > diabatic heating (q) [k/dia] " instead.
> > > --> The invalid description file record is:
> > > --> res 7 99 residuo of diabatic heating (Q) [K/dia]
> > > The data file was not opened.
> > > I am using the following script to calculate the diabatic heating
> > > variable in .ctl file-
> > > 'reinit'
> > > 'open merge_rf79_05_act_0lag.ctl'
> > >
> > > ***********************************************************
> > > 'q file'
> > > rc=sublin(result,5)
> > > nt=subwrd(rc,12)
> > > nl=subwrd(rc,9)
> > > nx=subwrd(rc,3)
> > > ny=subwrd(rc,6)
> > > rc=sublin(result,6)
> > > 'q time'
> > > td=subwrd(result,3)
> > > ano=substr (td, 9, 4)
> > >
> > > ***********************************************************
> > >
> > > 'set fwrite thermo.bin'
> > > 'set gxout fwrite'
> > > 'set x 1 720 '
> > > 'set y 1 361 '
> > >
> > > * Note: Repeat 1000 and 100 to permit program diferentiate z
> > > levels.
> > >
> > > string=' 10 10 9.25 8.5 7 5 3 2 2 '
> > >
> > > *aa --> m
> > > *Rgas --> 287.05 J/Kg K
> > > *Cp --> 1004 J/Kg K
> > > *dt --> s
> > > *T --> K
> > > *u --> m/s
> > > *v --> m/s
> > > *P --> Pa
> > > *W --> Pa/s
> > >
> > > 'define aa=6.37e6'
> > > 'define pi=2*asin(1)'
> > > 'define rd=pi/180'
> > > 'define clat=cos(lat*rd)'
> > > 'define dx=cdiff(lon,x)*rd'
> > > 'define dy=cdiff(lat,y)*rd'
> > > 'define kp=287.05/1004'
> > > 'define dt=3600*6*2'
> > >
> > > 'k = 1'
> > > 'l = 2'
> > >
> > > while (k <= 164)
> > >
> > > while (l <= 7+1)
> > >
> > > 'set t 'k
> > >
> > > l1=l-1
> > > l2=l+1
> > >
> > > nivel = subwrd(string,l)
> > > nivel1 = subwrd(string,11)
> > > nivel2 = subwrd(string,l2)
> > >
> > > * As vertical velocity is in units of Pa/sec and the levels (in CTL
> > > and nc data)
> > > * are in hPa, we must multiply the levels (hPa) by 100 to convert
> > > it in Pa units
> > > * (the same unit of vertical velocity)
> > >
> > > 'define p1='nivel1'*100'
> > > 'define p2='nivel2'*100'
> > >
> > > say nivel' 'nivel1' 'nivel2' 'k' 'l
> > >
> > > 'set lev 'nivel
> > >
> > > * Computing Temperature tendency term
> > > *_____________ dT/dt _______________*
> > > * Units must be in K/s
> > >
> > > k1=k-1
> > > k2=k+1
> > >
> > >
> > > if(k!=1 | k!=nt)
> > > 'define ttend = (T(t='k2')-T(t='k1'))/dt'
> > > endif
> > >
> > > if(k=1)
> > > 'define ttend = (T(t='k2')-T(t='k'))/(dt/2)'
> > > say 'k=1'
> > > endif
> > >
> > >
> > > if(k=nt)
> > > 'define ttend = (T(t='k')-T(t='k1'))/(dt/2)'
> > > say 'k=nt'
> > > endif
> > >
> > > * Computing Temperature horizontal advection
> > > * in hespherical coordinates
> > > *_____________ V Grad(T) _______________*
> > > * Units must be in K/s
> > >
> > > 'define advh = ((u*cdiff(T,x))/(clat*dx) + (v*cdiff(T,y))/dy)/aa'
> > >
> > > * Computing Temperature vertical advection
> > > * in hespherical coordinates
> > > *_________ w Grad(T) or wdT/dp __________*
> > > * Units must be in K/s
> > >
> > > 'define advv = w*(t(lev='nivel2')-t(lev='nivel1'))/(p2-p1)'
> > >
> > > * Computing alfa term
> > > * in hespherical coordinates
> > > * _____RTW/CpP _____________*
> > > * Units must be in K/s
> > >
> > > 'define qd = -kp * (w*(t))/(lev*100)'
> > >
> > > * Computing ther esidual term or the diabatic term
> > > * in hespherical coordinates
> > > * _____ Q _____________*
> > > * Units must be in K/s
> > >
> > > 'define res = ttend + advh + advv + qd'
> > >
> > > * Recording the diabatic term in units of K/day
> > >
> > > 'd ttend*86400'
> > > 'd advh*86400'
> > > 'd advv*86400'
> > > 'd qd*86400'
> > > 'd res*86400'
> > >
> > >
> > >
> > > k = k
> > > l = l + 1
> > >
> > > endwhile
> > >
> > > l = 2
> > > k = k + 1
> > >
> > > endwhile
> > >
> > > 'disable fwrite'
> > >
> > > **********************************************************
> > > write (thermo.ctl,'dset thermo.bin')
> > > write (thermo.ctl,'undef -32767')
> > > write (thermo.ctl,'title merge_rf79_05_act_0lag.nc 720x361 grid')
> > > write (thermo.ctl,"xdef "720" linear 0.0 "0.5"")
> > > write (thermo.ctl,"ydef "361" linear -90.0 "0.5"")
> > > write (thermo.ctl,"zdef "7" levels "2" "3" "5" "7" "8.5" "9.25"
> > > "10" ")
> > > write (thermo.ctl,"tdef "164" linear "00Z03aug1979" "12hr" " )
> > > write (thermo.ctl,'vars 4')
> > > write (thermo.ctl,'ttend 7 99 temperature tendency [K/dia] ')
> > > write (thermo.ctl,'advh 7 99 horiz. temperature advection
> > > [K/dia] ')
> > > write (thermo.ctl,'advv 7 99 vertical temperature advection
> > > [K/dia] ')
> > > write (thermo.ctl,'qd 7 99
> > > [K/dia] ')
> > > write (thermo.ctl,"res "7" 99 residuo of diabatic heating (Q)
> > > [K/dia] ")
> > > write (thermo.ctl,'endvars')
> > > **********************************************************
> > >
> > > Sorry for the long note. Any help will be much appreciated.
> > >
> > > Thanks
> > > Praveen
> > >
> > >
> >
> > _______________________________________________
> > gradsusr mailing list
> > gradsusr at gradsusr.org
> > http://gradsusr.org/mailman/listinfo/gradsusr
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20170420/bab912a9/attachment-0001.html
More information about the gradsusr
mailing list