<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=Windows-1252">
<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:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;
        panose-1:2 11 0 4 2 2 2 2 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@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="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Thanks, Jennifer!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">To add a little context, GrADS was supported by US federal agencies as part of a multi-agency, block grant to COLA over a period of a quarter century (1993-2019). No grant or other funds for GrADS have been
 available since that time, and, at present, nobody is paid to support/develop GrADS. Maintenance and support of the software and user community is on a volunteer basis, notably by Jennifer Adams, as well as by respondents to the GrADS User Forum. GrADS continues
 to meet the needs of thousands of users worldwide (including me), in both academic and operational use cases; however, as noted in this thread, the limitations of the code are becoming increasingly apparent as data sets grow and analytics become more complex.
 The development undertaken near the end of the funding period was intended to enable GrADS usage in conjunction with other codes, including Python (as Jennifer noted) and GIS applications, so some workarounds are possible. Others who have encountered limitations
 and have found solutions are welcome to respond to this thread. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">***************************************************************<br>
Jim Kinter</span><span style="font-size:12.0pt;color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Professor, Climate Dynamics<br>
Director, Center for Ocean-Land-Atmosphere Studies<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">Director, Virginia Climate Center</span><span style="font-size:12.0pt;color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:black">284 Research Hall, Mail Stop 6C5<br>
George Mason University<br>
4400 University Drive<br>
Fairfax, VA 22030 USA<br>
-------------------------------------------------------------------------------------------------------<br>
tel: (703) 993-5700 ** email: </span><a href="mailto:ikinter@gmu.edu"><span style="font-size:11.0pt;color:#954F72">ikinter@gmu.edu</span></a><span style="font-size:11.0pt;color:black"> ** web:
</span><a href="http://cola.gmu.edu/"><span style="font-size:11.0pt;color:#954F72">http://cola.gmu.edu</span></a><span style="font-size:11.0pt;color:black"><br>
***************************************************************<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div id="mail-editor-reference-message-container">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
<b><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">From:
</span></b><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">gradsusr <gradsusr-bounces@gradsusr.org> on behalf of Adams, Jennifer M. (GSFC-619.0)[ADNET SYSTEMS INC] <jennifer.m.adams@nasa.gov><br>
<b>Date: </b>Saturday, December 2, 2023 at 5:21 PM<br>
<b>To: </b>GrADS Users Forum <gradsusr@gradsusr.org><br>
<b>Subject: </b>Re: [gradsusr] [EXTERNAL] [BULK] Future of GRADS<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:11.0pt">GrADS and the GrADS Data Server are in maintenance mode. There have been updates since 2019 that are documented here:<br>
</span><a href="https://github.com/j-m-adams/GrADS/blob/master/ChangeLog" title="Original URL:
https://github.com/j-m-adams/GrADS/blob/master/ChangeLog

Click to follow link."><span style="font-size:11.0pt">https://github.com/j-m-adams/GrADS/blob/master/ChangeLog</span></a><span style="font-size:11.0pt"> 
<br>
</span><a href="https://github.com/j-m-adams/GrADS-Data-Server/blob/main/ChangeLog"><span style="font-size:11.0pt">https://github.com/j-m-adams/GrADS-Data-Server/blob/main/ChangeLog</span></a><span style="font-size:11.0pt">.
<br>
I am doing my best to support existing features in both packages during my spare time or when required for operational support at GES DISC. I continue to use GrADS almost every day, but I think it's safe to say that rewriting the GrADS I/O layer to support
 multithreading is unlikely. The recent additions to the python interface (GradsPy) allow users to leverage Python for I/O and do analysis and plotting with GrADS, or the reverse -- GrADS does the I/O and Python does the analysis and plotting. The get() and
 put() methods allow you to pass defined variables back and forth. Maybe those features can help you build a better workaround.<br>
--Jennifer</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;color:#212121">-- </span><span style="font-size:9.0pt;color:black"><br>
<b>Jennifer Miletta Adams</b><br>
Senior Scientific Software Developer<br>
Goddard Earth Sciences Data and Information Services Center (GES DISC)</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;color:black">NASA/GSFC, Code 619</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:9.0pt;color:#404040">Building 32, Room S159</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:11.0pt;color:#212121"> </span><o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div id="mail-editor-reference-message-container">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
<b><span lang="EN-AU" style="font-size:12.0pt;color:black">From: </span></b><span lang="EN-AU" style="font-size:12.0pt;color:black">gradsusr <gradsusr-bounces@gradsusr.org> on behalf of mike@weatherwatch.net.au <mike@weatherwatch.net.au><br>
<b>Date: </b>Thursday, November 30, 2023 at 9:02 PM<br>
<b>To: </b>gradsusr@gradsusr.org <gradsusr@gradsusr.org><br>
<b>Subject: </b>[EXTERNAL] [BULK] [gradsusr] Future of GRADS</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span lang="EN-AU" style="font-size:11.0pt;mso-ligatures:standardcontextual">Hi all,</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span lang="EN-AU" style="font-size:11.0pt;mso-ligatures:standardcontextual"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span lang="EN-AU" style="font-size:11.0pt;mso-ligatures:standardcontextual">Just wondering what the future of GRADS is at all, the last update for it was 2019 and with GRIB data getting more and more high res and
 larger, GRADS is getting left behind significantly in terms of performance.. I’ve got cases now with Australian BOM ACCESS data where it can take up to 10s to generate an image due to how high res it is thanks to GRADS being single threaded. 
</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span lang="EN-AU" style="font-size:11.0pt;mso-ligatures:standardcontextual"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span lang="EN-AU" style="font-size:11.0pt;mso-ligatures:standardcontextual">To overcome this, I used a “workaround” for most charts which involves segmenting a single chart into a 3x3 grid, getting grads to execute
 all 9 instances in parallel and then stitch the resulting panels together in a final image… problem is that it just doesn’t look “quite right” especially when contouring is involved.  This is the only way I can get huge data to load up quickly.  What is everyone
 else using these days to handle huge GRIB files that can generate charts quickly using multithreading? (needs to be able to run in a headless linux environment – no GUI at all, which is why GRADS was perfect at the time).
</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span lang="EN-AU" style="font-size:11.0pt;mso-ligatures:standardcontextual"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span lang="EN-AU" style="font-size:11.0pt;mso-ligatures:standardcontextual">Cheers, Mike</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>