<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: arial,helvetica,sans-serif; font-size: 12pt; color: #000000'>Thanks very much for your help and time. I still can't write out variable attribute even I followed your sample, and I don't what caused the problem.&nbsp;<div>Appreciate any suggestions.<div><br></div><div>Chao<br><br><hr id="zwchr"><div style="color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Alan Brammer" &lt;abrammer@albany.edu&gt;<br><b>To: </b>"Chao Luo" &lt;chao.luo@eas.gatech.edu&gt;<br><b>Cc: </b>"ncl-talk Talk" &lt;ncl-talk@ucar.edu&gt;<br><b>Sent: </b>Friday, August 28, 2015 12:39:28 PM<br><b>Subject: </b>Re: [ncl-talk] write variable attribute<br><br><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">&nbsp;The below example is how it should work. &nbsp; A ncl_filedump of your output netcdf might be useful for people to see what is missing compared to the data in the script. &nbsp;</div><div class="gmail_default" style="font-family:verdana,sans-serif">Not sure I follow what the problem is.&nbsp; If the metadata is written I don't see how the attributes weren't also.&nbsp;</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><div class="gmail_default">$ &nbsp; ncl &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; &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;</div><div class="gmail_default"><br></div><div class="gmail_default"><br></div><div class="gmail_default">&nbsp;ncout = addfile("<a href="http://test.nc" target="_blank">test.nc</a>","c")</div><div class="gmail_default">&nbsp; x = 0</div><div class="gmail_default">&nbsp;x!0 = "test"</div><div class="gmail_default">&nbsp;x&amp;test = 23</div><div class="gmail_default">&nbsp;x@Some_att = "First Att"</div><div class="gmail_default">&nbsp;x@Some_other_att = "Second Att"</div><div class="gmail_default">&nbsp;x@date = systemfunc("date")</div><div class="gmail_default">&nbsp;ncout-&gt;x = x</div><div class="gmail_default">&nbsp;exit</div><div class="gmail_default"><br></div><div class="gmail_default">$ &nbsp;ncl_filedump <a href="http://test.nc" target="_blank">test.nc</a> &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; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="gmail_default">&nbsp;Copyright (C) 1995-2015 - All Rights Reserved</div><div class="gmail_default">&nbsp;University Corporation for Atmospheric Research</div><div class="gmail_default">&nbsp;NCAR Command Language Version 6.3.0</div><div class="gmail_default">&nbsp;The use of this software is governed by a License Agreement.</div><div class="gmail_default">&nbsp;See <a href="http://www.ncl.ucar.edu/" target="_blank">http://www.ncl.ucar.edu/</a> for more details.</div><div class="gmail_default"><br></div><div class="gmail_default">Variable: f</div><div class="gmail_default">Type: file</div><div class="gmail_default">filename:<span class="" style="white-space:pre">        </span>test</div><div class="gmail_default">path:<span class="" style="white-space:pre">        </span><a href="http://test.nc" target="_blank">test.nc</a></div><div class="gmail_default">&nbsp; &nbsp;file global attributes:</div><div class="gmail_default">&nbsp; &nbsp;dimensions:</div><div class="gmail_default">&nbsp; &nbsp; &nbsp; test = 1</div><div class="gmail_default">&nbsp; &nbsp;variables:</div><div class="gmail_default">&nbsp; &nbsp; &nbsp; integer x ( test )</div><div class="gmail_default">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;date :<span class="" style="white-space:pre">        </span>Fri Aug 28 19:32:35 UTC 2015</div><div class="gmail_default">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Some_other_att :<span class="" style="white-space:pre">        </span>Second Att</div><div class="gmail_default">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Some_att :<span class="" style="white-space:pre">        </span>First Att</div><div class="gmail_default"><br></div><div class="gmail_default">&nbsp; &nbsp; &nbsp; integer test ( test )</div><div class="gmail_default"><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 28, 2015 at 3:13 PM, Luo, Chao <span dir="ltr">&lt;<a href="mailto:chao.luo@eas.gatech.edu" target="_blank">chao.luo@eas.gatech.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:#000000">Yes, it write out metadata of TEMP2, but still no TEMP2 attribute write out when I use ncdf-&gt;tem2 = temp2. What I want to write out is TEMP2 values and attribute. Thanks!<div><br></div><div>Chao<br><br><hr><div style="color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><b>From: </b>"Alan Brammer" &lt;<a href="mailto:abrammer@albany.edu" target="_blank">abrammer@albany.edu</a>&gt;<br><b>To: </b>"Chao Luo" &lt;<a href="mailto:chao.luo@eas.gatech.edu" target="_blank">chao.luo@eas.gatech.edu</a>&gt;<br><b>Cc: </b>"ncl-talk Talk" &lt;<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>&gt;<br><b>Sent: </b>Friday, August 28, 2015 11:06:55 AM<br><b>Subject: </b>Re: [ncl-talk] write variable attribute<div><div class="h5"><br><br><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif"><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px">You've commented out the line that explicitly writes the attributes to the file.&nbsp; Likely because you haven't explicitly defined the variable in the file. &nbsp;</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px">But by also surrounding temp2 with (/ /) you're telling ncl to not copy any metadata.&nbsp;</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px">That notation is only useful when you have already defined the variable in the file.&nbsp;</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px">So&nbsp;</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px">&nbsp; &nbsp; ncdf-&gt;temp2 &nbsp; = &nbsp;temp2<br></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px">Will write out the contents and the metadata/attributes with the variable.&nbsp;</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px"><br></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px"><br></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px"><br></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px">; &nbsp; filevarattdef(ncdf,"temp2",temp2)</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:16px"><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; ncdf-&gt;TFLAG =TFLAG</div><div>&nbsp; &nbsp; ncdf-&gt;temp2 &nbsp; = &nbsp;(/temp2/)</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 28, 2015 at 1:33 PM, Luo, Chao <span dir="ltr">&lt;<a href="mailto:chao.luo@eas.gatech.edu" target="_blank">chao.luo@eas.gatech.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:#000000"><font face="arial, helvetica, sans-serif"><span style="font-size:12pt">Dear All,</span></font><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:12pt"><br></div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:12pt">I am working on temperature interpolation from 36km to 4km by ESMF_regrid, and want to write out the TEMP2 at new resolution,</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:12pt">unfortunately the temp2 attribute didn't write out in netcdf file, I have tried to define TEMP2 attribute &nbsp;by:</div><div style="color:rgb(0,0,0);font-family:arial,helvetica,sans-serif;font-size:12pt"><br></div><div><div><font face="arial, helvetica, sans-serif">&nbsp; &nbsp; temp2!0 = "time"</font></div><div><font face="arial, helvetica, sans-serif">&nbsp; &nbsp; temp2!1 = "lay"</font></div><div><font face="arial, helvetica, sans-serif">&nbsp; &nbsp; temp2!2 &nbsp;= "lat"</font></div><div><font face="arial, helvetica, sans-serif">&nbsp; &nbsp; temp2!3 &nbsp;= "lon"</font></div><div><font face="arial, helvetica, sans-serif">&nbsp; &nbsp; temp2@long_name &nbsp;= "TEMP2"</font></div><div><font face="arial, helvetica, sans-serif">&nbsp; &nbsp; temp2@units &nbsp;= "k"</font></div><div><font face="arial, helvetica, sans-serif">&nbsp; &nbsp; temp2@var_desc = "temperature at 2 m"</font></div></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">and by function of filevarattdef. Both didn't work. &nbsp;</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Thanks very much for and help or suggestions!</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Here is the script I used:</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><div>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl"</div><div><br></div><div>begin</div><div><br></div><div>&nbsp;diri_36 &nbsp;= "/data11/cluo/CMAQv5.0.1/scripts/mcip4.1/36km/201107/data/"</div><div>&nbsp;diri_4 &nbsp;= "/data12/cluo/smoke3.6.5/data/ge_dat/"</div><div>&nbsp;namei_36 = "GRIDCRO2D_148x112_20110701"</div><div>&nbsp;namei_4 = "<a href="http://geo_em.d01_1332x1008.nc" target="_blank">geo_em.d01_1332x1008.nc</a>"</div><div><br></div><div>&nbsp;f1 = addfile(diri_36+namei_36,"r")</div><div><br></div><div>;output lat/lon</div><div>&nbsp; lat2d_36km &nbsp; &nbsp; = f1-&gt;LAT(0,0,:,:) &nbsp; &nbsp; &nbsp; ; (TSTEP, LAY, ROW, COL) , 36km</div><div>&nbsp; lon2d_36km &nbsp; &nbsp; = f1-&gt;LON(0,0,:,:) &nbsp; &nbsp; &nbsp; ; (TSTEP, LAY, ROW, COL) , 36km</div><div><br></div><div>&nbsp; printVarSummary (lon2d_36km)</div><div>&nbsp; printMinMax(lon2d_36km,True)</div><div><br></div><div><br></div><div>&nbsp;f2 = addfile(diri_4+namei_4,"r")</div><div>;input lat/lon</div><div><br></div><div>&nbsp; lat2d_4km = f2-&gt;XLAT_M(0,:,:) &nbsp; &nbsp; &nbsp; ; 4km</div><div>&nbsp; lon2d_4km = f2-&gt;XLONG_M(0,:,:) &nbsp; &nbsp; &nbsp;; 4km</div><div><br></div><div>&nbsp; printVarSummary (lon2d_4km)</div><div>&nbsp; printMinMax(lon2d_4km,True)</div><div><br></div><div>&nbsp; name_in = "METCRO2D_148x112_20110701"</div><div><br></div><div>&nbsp; nlay = 1</div><div>&nbsp; ntime = 25</div><div><br></div><div>&nbsp; time = new((/ntime/),integer)</div><div>&nbsp; time = ispan(0,ntime-1,1)</div><div><br></div><div>&nbsp; f3 = addfile(diri_36+name_in,"r") temp2_36 = f3-&gt;TEMP2(:,:,:,:) &nbsp; &nbsp; &nbsp;;(TSTEP, LAY, ROW, COL)</div><div>&nbsp;TFLAG &nbsp;= f3-&gt;TFLAG(:,0,:)</div><div>&nbsp;temp2_36@_FillValue = 9.999e+36</div><div><br></div><div>&nbsp;printVarSummary (temp2_36)</div><div>&nbsp;printMinMax(temp2_36,True)</div><div><br></div><div>&nbsp; &nbsp;diro &nbsp; &nbsp;= "/data11/cluo/cmaq4.6/data/post/smk31_post/"</div><div>&nbsp; &nbsp; filo &nbsp; &nbsp;= "<a href="http://out.nc" target="_blank">out.nc</a>" &nbsp; &nbsp;; input file name</div><div>&nbsp; &nbsp; fl_nm_out = diro+filo</div><div>&nbsp; &nbsp; system ("/bin/rm -f "+fl_nm_out) ; Remove any pre-existing file</div><div>&nbsp; &nbsp; ncdf &nbsp; &nbsp; &nbsp;= addfile(fl_nm_out,"c")</div><div><br></div><div></div><div>;---Set up options for regridding</div><div>&nbsp; &nbsp; Opt &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= True</div><div>&nbsp;</div><div><div>&nbsp; &nbsp; Opt@SrcGridLat &nbsp; &nbsp; = lat2d_36km &nbsp; &nbsp; ; source grid</div><div>&nbsp; &nbsp; Opt@SrcGridLon &nbsp; &nbsp; = lon2d_36km</div><div>&nbsp; &nbsp; Opt@DstGridLat &nbsp; &nbsp; = lat2d_4km &nbsp; &nbsp; ; destination grid</div><div>&nbsp; &nbsp; Opt@DstGridLon &nbsp; &nbsp; = lon2d_4km</div><div><br></div><div>&nbsp; &nbsp; Opt@SrcRegional &nbsp; &nbsp;= True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; Necessary if grids</div><div>&nbsp; &nbsp; Opt@DstRegional &nbsp; &nbsp;= True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; are regional</div><div><br></div><div>&nbsp; &nbsp; Opt@InterpMethod &nbsp; = "bilinear" &nbsp; &nbsp;; "patch", "conserve"</div><div><br></div><div>&nbsp; &nbsp; Opt@ForceOverwrite = True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; Optional, but recommended.</div><div>&nbsp; &nbsp; Opt@PrintTimings &nbsp; = True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; Optional.</div><div>&nbsp; &nbsp; Opt@Debug &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; Optional</div></div><div><br></div><div><div>&nbsp; &nbsp; temp2 = ESMF_regrid(temp2_36,Opt) &nbsp; &nbsp; &nbsp;; Do the regridding</div><div><br></div><div>&nbsp; &nbsp; temp2!0 = "time"</div><div>&nbsp; &nbsp; temp2!1 = "lay"</div><div>&nbsp; &nbsp; temp2!2 &nbsp;= "lat"</div><div>&nbsp; &nbsp; temp2!3 &nbsp;= "lon"</div><div>&nbsp; &nbsp; temp2@long_name &nbsp;= "TEMP2"</div><div>&nbsp; &nbsp; temp2@units &nbsp;= "k"</div><div>&nbsp; &nbsp; temp2@var_desc = "temperature at 2 m"</div><div><br></div><div>&nbsp; &nbsp; printVarSummary (temp2)</div><div>&nbsp; &nbsp; printMinMax(temp2,True)</div><div><br></div><div>; &nbsp; filevarattdef(ncdf,"temp2",temp2)</div></div><div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; ncdf-&gt;TFLAG =TFLAG</div><div>&nbsp; &nbsp; ncdf-&gt;temp2 &nbsp; = &nbsp;(/temp2/)</div><div><br></div><div>&nbsp; end</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><br></div></div></div><br>_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>
</div></div></div><br></div></div></div></blockquote></div><br></div>
</div><br></div></div></div></body></html>