<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Title content=""><meta name=Keywords content=""><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:595.0pt 842.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body bgcolor=white lang=EN-GB link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span style='mso-fareast-language:EN-US'>There is an error in your code:        var0 = new((/251/),float,1e+30<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>As a preference, I always find it best to use the default FillValues when creating arrays. Read up on missing values/fillvalues on the NCL wedpage.<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>There is nothing wrong with returning a list from a function, even if the dimensions are different. Why would the dimensions matter?<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>This doesn’t seem to be your problem. You have not provided enough information about your code and variable information (printVarSumary) to give a definite answer.<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>It seems you need to do some more debugging of your code yourself.<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>When defining functions, it is good practice to set the define the intrinsic variables as “local” as well as using the “undef” function. <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Using the same name for the variables inside and outside the function, if you are indeed using a function that is properly designed, can mask a bug in your code. <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>Marston S. Ward, PhD<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>Department of Earth Sciences<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>University of Gothenburg, Sweden<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>Email: <a href="mailto:marston.johnston@gu.se"><span style='color:#0070C0'>marston.johnston@gu.se</span></a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>SkypeID: marston.johnston <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>Phone: +46-31-7864901 <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>Only the fruitful thing is true!<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:#0070C0'>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<o:p></o:p></span></p></div><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>ncl-talk <ncl-talk-bounces@ucar.edu> on behalf of Prashanth Bhalachandran <prashanth.bhalachandran@gmail.com><br><b>Date: </b>Saturday, 14 October 2017 at 03:57<br><b>To: </b><ncl-talk@ucar.edu><br><b>Subject: </b>Re: [ncl-talk] Function return<o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>Hello, <o:p></o:p></p><div><p class=MsoNormal>I have a quick question regarding returning of arrays from functions. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>In my code, I have two arrays var0 and var01 that I want to return from my function. Their dimensionalities are as follows: <o:p></o:p></p></div><div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'><br><br><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'>var0      = new((/251/),float,1e+30<o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'>var01     = new((/251,73/),float,1e+30)<o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'> <span class=apple-tab-span>    </span><o:p></o:p></span></p></div></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'>At present, I am trying to return this using the command : <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'><o:p> </o:p></span></p></div><div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#4D2F2D'>return([/var0,var01/]) ; Note that the dimensions of var0 and var1 are different. <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#4D2F2D'><br><br><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#4D2F2D'>As a result, in my wrapper script, when I receive the variables, it is becoming a confusing task. <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#4D2F2D'><br><br><o:p></o:p></span></p></div><div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'> wnout        = wn01(latvals,lonvals,lat1,lon1,speed)   <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'> var0         = wnout[0] <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'> var1         = wnout[1]  <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'><br><br><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'> The above return procedure is giving out an error since I don’t know how to define the dimensions of wnout. Is there any better way to return two arrays of varying dimensions in NCL? <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'><br><br><o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'>Thank you, <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#EDEAD4'><span style='font-size:12.0pt;font-family:"Courier",serif;color:#B82D18'>Prashanth  <o:p></o:p></span></p></div></div></div><p class=MsoNormal>_______________________________________________ ncl-talk mailing list ncl-talk@ucar.edu List instructions, subscriber options, unsubscribe: http://mailman.ucar.edu/mailman/listinfo/ncl-talk <o:p></o:p></p></div></body></html>