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