<div dir="ltr"><div dir="ltr"><div>HI,</div><div><br></div><div>You might try the string formatting functions sprintf/sprinti; perhaps something like:</div><div><br></div><div>ncl 0> y = 2019<br>ncl 1> m = 8<br>ncl 2> d = 31</div><div>ncl 3> ymd = sprinti("%04d",y) + "-" + sprinti("%02d",m) + "-" + sprinti("%02d",d)<br>ncl 4> print(ymd)<br><br>Variable: ymd<br>Type: string<br>Total Size: 8 bytes<br>            1 values<br>Number of Dimensions: 1<br>Dimensions and sizes:   [1]<br>Coordinates:<br>(0)     2019-08-31<br></div></div><div><br></div><div>Rick</div><div><br></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 1, 2019 at 2:02 AM Lyndz via ncl-talk <<a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr" class="gmail-m_-4786254053286140695gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Dear NCL-experts, </div><div><br></div><div><b>Details:</b></div><div>I am converting dates with YYYYMMDD format to YYYY-MM-DD format (separated by a hyphen). For example, I have the following data <b>20140423</b>. If the month and day are both less than 10, a 0 should precede it. However, I encountered an error below:</div><div>-------------------------------------------------------------------------------------------------------------</div><div><b>What I have so far:</b></div><div>I have the following function from a previous email:</div><div><br></div><div>     undef("add_hyphen")<br>     function add_hyphen(yyyymmdd[*]:integer)<br>     local yyyy, mmdd, mm, dd, a, b, c, d<br>     begin<br>      yyyy    = yyyymmdd/10000<br>      mmdd    = yyyymmdd-(yyyy*10000)<br>      mm      = mmdd/100<br><br>         if(mm.lt.10)<br>         a = tostring(mm)<br>         b = 0+a<br>         else<br>         b = mm<br>         end if</div><div><br>         dd      = mmdd-(mm*100)<br>         if(dd.lt.10)<br>         c = tostring(dd)<br>         d = 0+c<br>         else<br>         d = dd<br>         end if<br>         return(yyyy+"-"+b+"-"+d)</div><div>     end<br><br>     yymd = add_hyphen(ymd)<br>     print(yymd)<br></div><div>-------------------------------------------------------------------------------------------------------------<br></div><div><b>Error:</b></div><div>fatal: Conditional statements (if and do while) require SCALAR logical values, see all and any functions<br></div><div>-------------------------------------------------------------------------------------------------------------<br></div><div><b>What I want:</b></div><div>The input has no "units" so I can't use the cd_string. Any suggestions on how I can do this correctly in NCL?</div><div>I'll appreciate any help.</div><div><br></div><div><br></div><div>Sincerely,</div><div>Lyndz</div><div><br></div><div><b><br></b></div><div><br></div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<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></blockquote></div></div>