<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.3314" name=GENERATOR>
<STYLE>@font-face {
        font-family: 宋体;
}
@font-face {
        font-family: Verdana;
}
@font-face {
        font-family: @宋体;
}
@page Section1 {size: 595.3pt 841.9pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; layout-grid: 15.6pt; }
P.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
LI.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
DIV.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        FONT-WEIGHT: normal; COLOR: windowtext; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal-compose
}
DIV.Section1 {
        page: Section1
}
UNKNOWN {
        FONT-SIZE: 10pt
}
BLOCKQUOTE {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</STYLE>
</HEAD>
<BODY style="FONT-SIZE: 10pt; MARGIN: 10px; FONT-FAMILY: verdana">
<DIV><FONT face=Verdana color=#003366 size=2>Hi, Arlindo</FONT></DIV>
<DIV><FONT color=#003366></FONT>&nbsp;</DIV>
<DIV><FONT color=#003366>Thanks for your explanation. </FONT></DIV>
<DIV><FONT color=#003366></FONT>&nbsp;</DIV>
<DIV><FONT color=#003366>I have carried out sending&nbsp;1&nbsp;x 1 
lat-lon&nbsp;GrADS variable&nbsp;to Python by setting a dummy 2 x&nbsp;2 lat-lon 
dimensional environment and clipping in Python. Here is a my suggestion to 
change the name of function "exp" to "g2p" and "imp" to "p2g". These two names 
are maybe more easily to comprehend and memorize.</FONT></DIV>
<DIV><FONT color=#003366></FONT><FONT color=#003366></FONT>&nbsp;</DIV>
<DIV><FONT color=#003366>Though I use Python only a few days and have little 
understanding about such object-oriented programming language, I am glad to 
share my practical experience of PyGrADS with other PyGrADS users. Today, I have 
introduced the PyGrADS to others in my group.</FONT></DIV>
<DIV><FONT color=#003366></FONT>&nbsp;</DIV>
<DIV><FONT face=Verdana color=#003366 size=2>What I&nbsp;am most interested in 
the&nbsp;to-be function of PyGrADS are more plot functions like GaLab.contourf 
and more statistical functions for analysis of climate variability like 
GaNum.eof.</FONT></DIV>
<DIV><FONT color=#003366></FONT>&nbsp;</DIV>
<DIV><FONT color=#003366>Thanks for your excellent job.</FONT></DIV>
<DIV><FONT color=#003366></FONT>&nbsp;</DIV>
<DIV><FONT color=#003366>Peter</FONT></DIV>
<DIV><FONT color=#000080></FONT>&nbsp;</DIV>
<DIV><FONT face=Verdana color=#c0c0c0 size=2>2008-04-11 </FONT></DIV>
<HR color=#b5c4df SIZE=1>

<DIV><FONT face=Verdana size=2><STRONG>发件人:</STRONG> Arlindo da Silva 
</FONT></DIV>
<DIV><FONT face=Verdana size=2><STRONG>发送时间:</STRONG> 2008-04-11&nbsp; 19:23:09 
</FONT></DIV>
<DIV><FONT face=Verdana size=2><STRONG>收件人:</STRONG> GRADSUSR@LIST.CINECA.IT 
</FONT></DIV>
<DIV><FONT face=Verdana size=2><STRONG>抄送:</STRONG> </FONT></DIV>
<DIV><FONT face=Verdana size=2><STRONG>主题:</STRONG> [?? Probable Spam] Re: 
Problem on PyGrads: Exchange array data between Python and GrADS </FONT></DIV>
<DIV><FONT face=Verdana size=2></FONT> </DIV>
<DIV><FONT face=Verdana size=2>
<DIV class=gmail_quote>On Fri, Apr 11, 2008 at 7:05 AM, $B2+J? (B &lt;<A 
href="mailto:ph0007@ustc.edu">ph0007@ustc.edu</A>&gt; wrote:<BR>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi, 
  Arlindo<BR><BR>Thanks for your work on PyGrads. It is very 
useful.<BR></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>I am glad it can be of some use.</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><BR>Yet, 
  I feel some restrictions on the exchanging array data between Python and 
  GrADS. The only array data with nlon &gt; 1 and nlat &gt; 1 can be exchanged. 
  Similarly, such data can be drawn via the GaLab. The slice data with nlon*nz, 
  nlat*nz, nz*nt,...,ets and time index data are not supported. If the original 
  data have more dimensions than nlon*nlat, this problem can be solved by 
  slicing in Python and drawing via pylab. Or else, the PyGrADS will lose its 
  unique role.</BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>This particular restriction, that the x-y dimensions must be varying when 
exchanging data with python, is a development shortcut. Because of the 
particular way functions are executed in GrADS, exchanging x-z, y-z, x-t, y-t, 
z-t slices would require special handling if one is to retain symmetry of the 
import/export methods. (Exporting such slices from GrADS to Python would be much 
easier than importing into GrADS from Python.) In prioritizing development I 
decided to impose this restriction for now and concentrate on other aspects of 
the development. An overhaul of the IPC layer that manages this data exchange is 
in my TO DO list, but I was hoping to address it in the context of GrADS v2 when 
the E-dimension comes into play.&nbsp;</DIV>
<DIV><BR></DIV>
<DIV>Of course there are workarounds. You can always exchange a 2x2 lat-lon box 
with python, and then discard some of the points once the data has been 
exchanged. As I said, removing this restriction from the exp() method is more 
straightforward. We can always use a helping hand, if you or others with Python 
experience would like to contribute time to this development, just drop us a 
note at&nbsp;<SPAN class=Apple-style-span 
style="BORDER-COLLAPSE: collapse; webkit-border-horizontal-spacing: 2px; webkit-border-vertical-spacing: 2px"><A 
href="mailto:opengrads-devel@lists.sourceforge.net">opengrads-devel@lists.sourceforge.net</A> 
. One way people can contribute is to help with Wiki documentation and 
examples,</SPAN></DIV>
<DIV><BR></DIV>
<BLOCKQUOTE class=gmail_quote 
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><BR>Do 
  you have further plans for upgrading PyGrADS recently?<BR></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>My immediate plans is to concentrate on making satellite imagery really 
easy to use, with transparent support for McIDAS AREA files and some basic kml 
support, so that people can tap on all the imagery that is freely available with 
minimum effort. Satellite imagery is a very powerful tool and something that can 
complement nicely all the other GrADS capabilities. (Why not implement this as a 
GrADS extension, you ask. Well, it is much easier to make quick progress in 
Python than C.)</DIV>
<DIV><BR></DIV>
<DIV>&nbsp;&nbsp;Thank you for you interest in PyGrADS. By far, it is still a 
work in progress. Jump in if you can and help us accelerate the progress.</DIV>
<DIV><BR></DIV>
<DIV>&nbsp;&nbsp; Arlindo</DIV>
<DIV>&nbsp;</DIV></DIV>-- <BR>Arlindo da Silva<BR><A 
href="mailto:dasilva@alum.mit.edu">dasilva@alum.mit.edu</A> 
</FONT></DIV></BODY></HTML>