<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Hi Dennis,
<div class=""><br class="">
</div>
<div class="">Thanks so much for your replies. I’ve read through these scripts and some docs, here’s what I’ve tried:</div>
<div class=""><br class="">
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class="">
<div class="">
<div class="">;=============================================================</div>
</div>
<div class="">
<div class="">; <a href="https://www.ncl.ucar.edu/Applications/method_1.shtml" class="">
https://www.ncl.ucar.edu/Applications/method_1.shtml</a></div>
</div>
<div class="">
<div class="">;=============================================================</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;typeof(plev) =&gt; double</div>
</div>
<div class="">
<div class=""><br class="">
</div>
</div>
<div class="">
<div class="">&nbsp; plev_bnds = (/ (/ 100000, 98750/) \</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, (/ &nbsp;98750, 96250/) \</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, (/ &nbsp;91250, 88750/) \</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;, (/ &nbsp; 1000, &nbsp; 500/) /) &nbsp;*1d0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; last line</div>
</div>
<div class="">
<div class=""><br class="">
</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; name dimensions using NCL syntax</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;plev_bnds!0 = &quot;bnds0&quot; &nbsp; ; ... whatever is appropriate</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;plev_bnds!1 = &quot;bnds1&quot;</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;if (isatt(plev_bnds,&quot;units&quot;)) then</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp; &nbsp; &nbsp;plev_bnds@units = plev@units &nbsp;</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;end if</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;printVarSummary(plev_bnds) &nbsp;</div>
</div>
<div class="">
<div class=""><br class="">
</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;dirNc = &quot;./&quot;</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;filNc = &quot;plev_bnds.nc&quot;</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;pthNc = &nbsp;dirNc&#43;filNc</div>
</div>
<div class="">
<div class=""><br class="">
</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;system(&quot;/bin/rm -f &quot;&#43;pthNc) &nbsp; ; remove any pre-existing file</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;ncdf = addfile(pthNc ,&quot;c&quot;) &nbsp;; open output netCDF file</div>
</div>
<div class="">
<div class=""><br class="">
</div>
</div>
<div class="">
<div class="">;===================================================================</div>
</div>
<div class="">
<div class="">; create global attributes of the file (optional)</div>
</div>
<div class="">
<div class="">;===================================================================</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;fAtt &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; assign file attributes</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;fAtt@title &nbsp; &nbsp; &nbsp; &nbsp; = &quot;plev bound file&quot;</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;fAtt@Conventions &nbsp; = &quot;None&quot;</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;fAtt@creation_date = systemfunc (&quot;date&quot;)</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;fileattdef( ncdf, fAtt ) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; copy file attributes</div>
</div>
<div class="">
<div class=""><br class="">
</div>
</div>
<div class="">
<div class="">;===================================================================</div>
</div>
<div class="">
<div class="">; Write to file</div>
</div>
<div class="">
<div class="">;===================================================================</div>
</div>
<div class="">
<div class=""><br class="">
</div>
</div>
<div class="">
<div class="">&nbsp; &nbsp;ncdf-&gt;plev_bnds = plev_bnds</div>
</div>
</blockquote>
<div class="">
<div class=""><br class="">
</div>
<div class="">But I’m getting an error on the size of the right hand dimension I can’t fix. Thanks in advance if you can help:</div>
<div class=""><font face="Georgia" size="2" class=""><br class="">
</font></div>
</div>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class="">
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">&nbsp;Copyright (C) 1995-2015 - All Rights Reserved</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">&nbsp;University Corporation for Atmospheric Research</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">&nbsp;NCAR Command Language Version 6.3.0</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">&nbsp;The use of this software is governed by a License Agreement.</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">&nbsp;See
<a href="http://www.ncl.ucar.edu/" class="">http://www.ncl.ucar.edu/</a> for more details.</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">fatal:syntax error: typeof is a function not a procedure; return value must be referenced</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">fatal:error at line 4 in file mk_plev_bnd.ncl</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251); min-height: 21px;" class="">
<font face="Georgia" size="2" class=""><br class="">
</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">fatal:syntax error: line 4 in file mk_plev_bnd.ncl before or near =&nbsp;</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">&nbsp;&nbsp; typeof(plev) =</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">----------------^</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251); min-height: 21px;" class="">
<font face="Georgia" size="2" class=""><br class="">
</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">fatal:error in statement</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251); min-height: 21px;" class="">
<font face="Georgia" size="2" class=""><br class="">
</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">Variable: plev_bnds</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">Type: double</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">Total Size: 64 bytes</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 8 values</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">Number of Dimensions: 2</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">Dimensions and sizes:<span class="Apple-tab-span" style="white-space:pre">
</span>[bnds0 | 4] x [bnds1 | 2]</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">Coordinates:&nbsp;</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">fatal:Variable (bnds1) is undefined</font></div>
</div>
</div>
<div class="">
<div class="">
<div style="margin: 0px; background-color: rgb(250, 255, 251);" class=""><font face="Georgia" size="2" class="">fatal:[&quot;Execute.c&quot;:8575]:Execute: Error occurred at or near line 39 in file mk_plev_bnd.ncl</font></div>
</div>
</div>
</blockquote>
<div class="">
<div class=""><br class="">
</div>
<div class="">judy</div>
<div class=""><br class="">
</div>
<div>
<blockquote type="cite" class="">
<div class="">On Oct 21, 2015, at 3:55 PM, Dennis Shea &lt;<a href="mailto:shea@ucar.edu" class="">shea@ucar.edu</a>&gt; wrote:</div>
<br class="Apple-interchange-newline">
<div class="">Also .... another recommendation ...<br class="">
<br class="">
It is not required but I recommend the type of the 'plev_bnds' should<br class="">
be the same type as 'plev'<br class="">
<br class="">
=====================<br class="">
typeof(plev) =&gt; Integer<br class="">
<br class="">
&nbsp;&nbsp;plev_bnds = (/ (/ 100000, 98750/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;98750, 96250/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;91250, 88750/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;&nbsp;1000, &nbsp;&nbsp;500/) /) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; last line<br class="">
=================<br class="">
typeof(plev) =&gt; float<br class="">
<br class="">
&nbsp;&nbsp;plev_bnds = (/ (/ 100000.0, 98750.0/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;98750.0, 96250.0/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;91250.0, 88750.0/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;&nbsp;1000.0, &nbsp;&nbsp;500.0/) /) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; last line<br class="">
<br class="">
or, easier<br class="">
<br class="">
typeof(plev) =&gt; float<br class="">
<br class="">
&nbsp;&nbsp;plev_bnds = (/ (/ 100000, 98750/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;98750, 96250/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;91250, 88750/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;&nbsp;1000, &nbsp;&nbsp;500/) /) &nbsp;*1.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; last line<br class="">
<br class="">
=================<br class="">
<br class="">
typeof(plev) =&gt; double<br class="">
<br class="">
&nbsp;&nbsp;plev_bnds = (/ (/ 100000d0, 98750d0/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;98750d0, 96250d0/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;91250d0, 88750d0/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;&nbsp;&nbsp;1000d0, &nbsp;&nbsp;&nbsp;500d0/) /) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; last line<br class="">
<br class="">
or, easier<br class="">
<br class="">
typeof(plev) =&gt; double<br class="">
<br class="">
&nbsp;&nbsp;plev_bnds = (/ (/ 100000, 98750/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;98750, 96250/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;91250, 88750/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;&nbsp;1000, &nbsp;&nbsp;500/) /) &nbsp;*1d0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; last line<br class="">
<br class="">
<br class="">
On Tue, Oct 20, 2015 at 4:30 PM, Dennis Shea &lt;<a href="mailto:shea@ucar.edu" class="">shea@ucar.edu</a>&gt; wrote:<br class="">
<blockquote type="cite" class="">NCL .... A general place to go to get file IO information.<br class="">
<br class="">
Click 'Examples' .... then 'File I/O' .... Click 'Change netCDF file'<br class="">
<br class="">
For 'fun' look at other examples also.<br class="">
<br class="">
===<br class="">
<br class="">
<br class="">
===<br class="">
<br class="">
Two approaches:<br class="">
<br class="">
[1]<br class="">
If you are familiar withe the netCDF Operators (not associated with<br class="">
NCL). Use netCDF Operator: ncks &nbsp;&nbsp;[Use WWW to search for<br class="">
documentation]<br class="">
<br class="">
(a) Create a netCDF with the plev_bnds variable: &nbsp;&nbsp;plev_bnd.nc<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;See attached script. Of, course the 'plev' should be changed<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to the appropriate variable name.<br class="">
<br class="">
(b) &nbsp;If 'foo.nc' is your base file:<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ncks -O plev.nc &nbsp;foo.nc<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will append the bounds variable to the file.<br class="">
<br class="">
<br class="">
[2] NCL direct<br class="">
<br class="">
&nbsp;&nbsp;plev_bnds = (/ (/100000, 98750/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;98750, 96250/) \<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ &nbsp;91250, 88750/) \<br class="">
<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, (/ ... &nbsp;, &nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;/) &nbsp;/) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; last line<br class="">
<br class="">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; name dimensions using NCL syntax<br class="">
&nbsp;&nbsp;plev_bnds!0 = &quot;plev&quot; &nbsp;&nbsp;; ... whatever is appropriate<br class="">
&nbsp;&nbsp;plev_bnds!1 = &quot;pbnd&quot;<br class="">
&nbsp;&nbsp;plev_bnds@units = plev@units<br class="">
&nbsp;&nbsp;printVarSummary(plev_bnds)<br class="">
<br class="">
<br class="">
&nbsp;&nbsp;f = addfile(&quot;foo.nc&quot;, &quot;w&quot;) &nbsp;&nbsp;; NOTE the 'w'<br class="">
&nbsp;&nbsp;f-&gt;plev_bnds = plev_bnds<br class="">
<br class="">
===<br class="">
Either way, I would create test files in case there is a problem.<br class="">
<br class="">
On Tue, Oct 20, 2015 at 12:44 PM, Hertz, Judith A.<br class="">
(GSFC-606.0)[INTERNATIONAL TECHNOLOGY COALITION, INC]<br class="">
&lt;<a href="mailto:judith.a.hertz@nasa.gov" class="">judith.a.hertz@nasa.gov</a>&gt; wrote:<br class="">
<blockquote type="cite" class="">Greetings, NCL’ers<br class="">
<br class="">
I’m new to NCL. I want to add a variable, plev_bnds, to NetCDF files so that:<br class="">
<br class="">
double plev_bnds(plev, bnds) ;<br class="">
<br class="">
data:<br class="">
<br class="">
plev_bnds =<br class="">
&nbsp;100000, 98750,<br class="">
&nbsp;98750, 96250,<br class="">
&nbsp;96250, 93750,<br class="">
&nbsp;93750, 91250,<br class="">
&nbsp;91250, 88750,…..<br class="">
<br class="">
I’ve found addfile, which looks to be a good way to populate the data but the docs say the variable must already exist. Do you know what is the NCL way to create/define a new variable?<br class="">
<br class="">
thanks,<br class="">
<br class="">
judy<br class="">
_______________________________________________<br class="">
ncl-talk mailing list<br class="">
<a href="mailto:ncl-talk@ucar.edu" class="">ncl-talk@ucar.edu</a><br class="">
List instructions, subscriber options, unsubscribe:<br class="">
http://mailman.ucar.edu/mailman/listinfo/ncl-talk<br class="">
</blockquote>
</blockquote>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>