<html xmlns:v="urn:schemas-microsoft-com:vml" 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=us-ascii"><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;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;mso-fareast-language:EN-US'>Hi Jennifer,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-fareast-language:EN-US'>Thanks you so much for all the work you and the team have been doing for GrADS.  It’s been a fundamental piece of software for use in our company and it has definitely made life a lot easier for us.  With regards to the larger datasets, what we’ve been doing now is using wgrib2 to split this into smaller subsets for processing and it has made a significant difference.  A meteogram for example for 0-228 hours used to take 25s on GFS data, we’ve now got this down to around 6s by using a smaller temporary subset. We’ve also utilised things like spawning multiple instances of grads at the same time for “multithreading” support if generating things like soundings that require multiple Z levels, this has also significantly improved speed to <1s in most cases. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-fareast-language:EN-US'>Cheers, Mike<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-fareast-language:EN-US'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt'>From:</span></b><span lang=EN-US style='font-size:11.0pt'> gradsusr <gradsusr-bounces@gradsusr.org> <b>On Behalf Of </b>Adams, Jennifer M. (GSFC-619.0)[ADNET SYSTEMS INC]<br><b>Sent:</b> Sunday, December 3, 2023 8:18 AM<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></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-US 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><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.">https://github.com/j-m-adams/GrADS/blob/master/ChangeLog</a>  <br><a href="https://github.com/j-m-adams/GrADS-Data-Server/blob/main/ChangeLog">https://github.com/j-m-adams/GrADS-Data-Server/blob/main/ChangeLog</a>. <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<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt'><o:p> </o:p></span></p><div><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;color:#212121'>-- </span><span lang=EN-US 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><span lang=EN-US style='font-size:12.0pt;color:#212121'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;color:black'>NASA/GSFC, Code 619</span><span lang=EN-US style='font-size:12.0pt;color:#212121'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;color:#404040'>Building 32, Room S159</span><span lang=EN-US style='font-size:12.0pt;color:#404040'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;color:#212121'> </span><span lang=EN-US style='font-size:12.0pt;color:#212121'><o:p></o:p></span></p></div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US 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 0cm 0cm 0cm'><p class=MsoNormal style='margin-bottom:12.0pt'><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>gradsusr <<a href="mailto:gradsusr-bounces@gradsusr.org">gradsusr-bounces@gradsusr.org</a>> on behalf of <a href="mailto:mike@weatherwatch.net.au">mike@weatherwatch.net.au</a> <<a href="mailto:mike@weatherwatch.net.au">mike@weatherwatch.net.au</a>><br><b>Date: </b>Thursday, November 30, 2023 at 9:02 PM<br><b>To: </b><a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a> <<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a>><br><b>Subject: </b>[EXTERNAL] [BULK] [gradsusr] Future of GRADS<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:11.0pt;mso-ligatures:standardcontextual'>Hi all,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-ligatures:standardcontextual'> <o:p></o:p></span></p><p class=MsoNormal><span 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.  <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-ligatures:standardcontextual'> <o:p></o:p></span></p><p class=MsoNormal><span 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). <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-ligatures:standardcontextual'> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;mso-ligatures:standardcontextual'>Cheers, Mike<o:p></o:p></span></p></div></div></div></div></body></html>