<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 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:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi Dennis,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thank you for the background information. That’s a long history behind this function.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The attached is a simple ncl script to reproduce my error. The same script is copied within the Github Issue ticket I posted.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I think the option is passed to the fortran code taper.f (in ncl_ncarg-6.5.0/ni/src/lib/nfpfort) as an argument “IOPT”. This is copied to a local variable kopt, and used for if-conditioning block that initializes the output array XT using
 the input array X if kopt is not 1. Please take a look. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Koichi<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Dennis Shea <shea@ucar.edu><br>
<b>Date: </b>Monday, August 23, 2021 at 11:48 AM<br>
<b>To: </b>Orhan Eroglu <oero@ucar.edu><br>
<b>Cc: </b>Koichi Sakaguchi <Koichi.Sakaguchi@pnnl.gov>, "ncl-talk@mailman.ucar.edu" <ncl-talk@mailman.ucar.edu><br>
<b>Subject: </b>Re: [ncl-talk] Serious bug in the taper (and taper_n) function with option 1<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div style="border:none;border-left:solid #D77600 6.0pt;padding:0in 0in 0in 0in;font-size:1.15rem">
<p class="MsoNormal" align="center" style="text-align:center;background:#F7E3CC">
<span style="font-family:"Arial",sans-serif;color:black">Check twice before you click! This email originated from outside PNNL.</span><span style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">NCL's 'taper' function is almost directly from <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Peter Bloomfield<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Fourier Analysis of Time Series: An Introduction<br>
Wiley-Interscience, 1976<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">There is a 2nd edition (2000) that contains S-PLUS (Think 'R') functions<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The 1976 has fortran subroutines.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I am sure this functionality has been replicated in other languages: C, R, Python.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">It is necessary to perform tapering on non-cyclic data prior to invocation of the FFT.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-----<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I've attached a simple f77 version of the code used by NCL.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Note that NCL uses a C-language interface to the fortran subroutine.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">It is the C code that creates the returned ("output") array to the NCL environment.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">----<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The 'taper' function was in the 4.2.0 version (2001).... many years ago.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Some options were introduced in the 6.2.1 versions (Sept 2014):  
<a href="https://gcc02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ncl.ucar.edu%2FDocument%2FFunctions%2FBuilt-in%2Ftaper.shtml&data=04%7C01%7CKoichi.Sakaguchi%40pnnl.gov%7Ca574a69769584e7c721508d96666a299%7Cd6faa5f90ae240338c0130048a38deeb%7C0%7C0%7C637653413287899561%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=e5mLDpHXQg1YbVrLggluMucezdSn9jPGGuC%2BQQyAwOM%3D&reserved=0">
<b>taper</b></a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The options were implemented in the C-interface. The C-code is too complicated to attach.   :-)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If you can create a simple debug script that replicates your issue, I will take a look.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Mon, Aug 23, 2021 at 11:58 AM Orhan Eroglu via ncl-talk <<a href="mailto:ncl-talk@mailman.ucar.edu">ncl-talk@mailman.ucar.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Hello Koichi, <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks for your email and detailed explanation, as well as I am sorry to hear the inconveniences you have been having!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">As you already mentioned, NCL is in maintenance mode, and we are doing our best to provide support for it (prioritizing Conda installation related issues). However, even those types of issues are leading us to spend days most of the time,
 sometimes without finding a solution. Since we have several other toolkits in our GeoCAT stack that need to be planned, developed, deployed, and maintained in our daily workflow, sometimes, we can't even check and respond to NCL issues even though we wouldn't
 like to oversee any support ticket such a vibrant community has. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">With all that being said, we are noting down such issues for being addressed in a future bug fix release (the date of which is not current as of today), if the community itself does not resolve the issue with the help of other users/developers. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The community developers are more than welcome to offer any solutions/bug-fixes to such NCL issues.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I hope this helps understand our situation and the tool's maintenance plan.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Sun, Aug 22, 2021 at 11:06 AM Sakaguchi, Koichi via ncl-talk <<a href="mailto:ncl-talk@mailman.ucar.edu" target="_blank">ncl-talk@mailman.ucar.edu</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Dear NCL support staff and users,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I found a bug in the ncl function taper (and taper_n) such that when the option 1 is chosen the function does not copy all the values of the input array to the output array, except
 for the portions that are tapered. In my environment (NERSC and PNNL computing facilities), the uncopied values in the output array are all zero. This bug had a serious impact on my work.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The function works correctly when option 0 is chosen. This difference arises because the output array is not initialized properly in the underlying fortran code (taper.f) when option
 1 is selected.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I provided more details in the NCL github issues<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><a href="https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FNCAR%2Fncl%2Fissues%2F171&data=04%7C01%7CKoichi.Sakaguchi%40pnnl.gov%7Ca574a69769584e7c721508d96666a299%7Cd6faa5f90ae240338c0130048a38deeb%7C0%7C0%7C637653413287899561%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=vXH6ylV4qR8wnq5GkxCW5XKNo5y3D%2FS1m3OpmfeIf84%3D&reserved=0" target="_blank">https://github.com/NCAR/ncl/issues/171</a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I posted a bug report about a month ago following
<a href="https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ncl.ucar.edu%2FSupport%2Fposting_guidelines.shtml&data=04%7C01%7CKoichi.Sakaguchi%40pnnl.gov%7Ca574a69769584e7c721508d96666a299%7Cd6faa5f90ae240338c0130048a38deeb%7C0%7C0%7C637653413287909527%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=heJSK2nhiMktoh%2B7wnhzXhttAo9tkPRDmMxBy20%2Fk54%3D&reserved=0" target="_blank">
https://www.ncl.ucar.edu/Support/posting_guidelines.shtml</a>, but no responses have been provided, so I am reporting here in the ncl-talk. I see a few even older postings without responses from the developers there... I am aware that NCL is in the maintenance
 mode without further development, but I think more close and regular attention should be paid to the issues posted on NCL github because NCL is still very widely used.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Best regards,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Koichi<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">--------------------------------<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Koichi Sakaguchi, Ph.D.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Earth Scientist<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">ATMOSPHERIC SCIENCES & GLOBAL CHANGE <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Pacific Northwest National Laboratory<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">3200 Innovation Blvd<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">PO Box 999, MSIN: K9-24<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Richland, WA 99352 USA<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Phone: 509-375-7385<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Fax: 509-375-6448<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><a href="mailto:Email%3Akoichi.sakaguchi@pnnl.gov" target="_blank">Email:koichi.sakaguchi@pnnl.gov</a><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@mailman.ucar.edu" target="_blank">ncl-talk@mailman.ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmailman.ucar.edu%2Fmailman%2Flistinfo%2Fncl-talk&data=04%7C01%7CKoichi.Sakaguchi%40pnnl.gov%7Ca574a69769584e7c721508d96666a299%7Cd6faa5f90ae240338c0130048a38deeb%7C0%7C0%7C637653413287909527%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=AuYWYym1smwfIf5Rlf5%2F7Gf2UnJxV1IpJ98w7RoZtis%3D&reserved=0" target="_blank">https://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal">_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@mailman.ucar.edu" target="_blank">ncl-talk@mailman.ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmailman.ucar.edu%2Fmailman%2Flistinfo%2Fncl-talk&data=04%7C01%7CKoichi.Sakaguchi%40pnnl.gov%7Ca574a69769584e7c721508d96666a299%7Cd6faa5f90ae240338c0130048a38deeb%7C0%7C0%7C637653413287909527%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=AuYWYym1smwfIf5Rlf5%2F7Gf2UnJxV1IpJ98w7RoZtis%3D&reserved=0" target="_blank">https://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</body>
</html>