-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathwhatsnew.html
596 lines (584 loc) · 27.3 KB
/
whatsnew.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Change Log — PyGeode 1.4.1-rc2 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/pygtheme.css" />
<link rel="stylesheet" type="text/css" href="_static/plot_directive.css" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery.css" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-binder.css" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-dataframe.css" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-rendered-html.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<link rel="shortcut icon" href="_static/pygeode_icon.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="prev" title="Plot a significance mask" href="gallery/advanced/plot_sigmask.html" />
<link href="http://fonts.googleapis.com/css?family=Ubuntu:300,300italic,regular,italic,500,500italic,bold,bolditalic" rel="stylesheet" type="text/css">
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700' rel='stylesheet' type='text/css'>
</head><body>
<div class="header" role="banner"><img class="logo" src="_static/pygeode_logo.png" width=79px alt="Logo"/>
<h1 class="heading"><a href="index.html">
<span>PyGeode 1.4.1-rc2 documentation</span></a></h1>
<h2 class="heading"><span>Change Log</span></h2>
</div>
<div class="topnav" role="navigation" aria-label="top navigation">
<p>
«  <a href="gallery/advanced/plot_sigmask.html">Plot a significance mask</a>
  ::  
<a class="uplink" href="reference.html">Reference</a>
  ::  
<a class="uplink" href="tutorial.html">Tutorial</a>
  ::  
<a class="uplink" href="gallery/index.html">Gallery</a>
</p>
</div>
<div class="content">
<div class="section" id="change-log">
<h1>Change Log<a class="headerlink" href="#change-log" title="Permalink to this headline">¶</a></h1>
<div class="section" id="id1">
<h2>1.4.1 - 2022/01/25<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Added new regex for recognizing ISO8601 format time and date strings when
specifying times; one can also customize this in the pygrc config file.</p></li>
<li><p>Improved some of the default choices for cartopy maps; it’s a bit easier
to customize gridlines and labeling now.</p></li>
<li><p>Some further imporvements to error reporting in openmulti()</p></li>
<li><p>Units are handled a bit more consistently when plotting and interpreting cf metadata</p></li>
<li><p>Add a full set of time locator objects</p></li>
<li><p>Corrected a bug in the StandardTime axis logic to recognize year 0 as a leap-year</p></li>
<li><p>Prettified printing of dataset and variable attributes</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id2">
<h2>1.4.0 - 2020/06/22<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Cartopy (version > 0.17.0) is now supported in addition to Basemap for map
projections.</p></li>
<li><p>Error reporting for openmulti() has been improved.</p></li>
<li><p>Non-ASCII character support in NetCDF attributes are now better handled.</p></li>
<li><p>Improvements and bugfixes in stats module</p></li>
<li><p>Fixed crash in eof module.</p></li>
<li><p>Changed default netcdf opener to use standard netcdf4 python package.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id3">
<h2>1.3.1 - 2020/06/14<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fix bug where pygeode.formats.netcdf4 fails if the libnetcdf shared library
is not installed on the system. It should not be required, since the
interface uses the Python netCDF4 package to handle I/O.</p></li>
<li><p>Updated the INSTALL file with more up-to-date information.</p></li>
<li><p>Removed warning message when libnetcdf unavailable. This was always
displayed, even when libnetcdf was not actually needed. This could cause
confusion if using the newer pygeode.formats.netcdf4 interface, since it
doesn’t require the shared library at all.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id4">
<h2>1.3.0 - 2019/10/02<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Support for Python 3.</p></li>
<li><p>Fix ext_xarray.from_xarray() method, which was failing on xarray versions
> 0.10.0.</p></li>
<li><p>Handle Var objects passed into netcdf.save and netcdf4.save.</p></li>
<li><p>Properly detect attributes that are 1-element list of strings when writing
to netcdf.</p></li>
<li><p>Force attributes from netcdf4 module to be string instead of unicode.</p></li>
<li><p>Support for netcdf4 groups.</p></li>
<li><p>Fix lazy variable loading for netcdf4 module.</p></li>
<li><p>Added new bar() and errorbar() plot wrappers.</p></li>
<li><p>Fix colorbar=False option for showvar.</p></li>
<li><p>Fix nl=0 option for clfdict.</p></li>
<li><p>Updated progress bar to be compatible with progressbar2 package.</p></li>
<li><p>New rotatelon() and clip() functions.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id5">
<h2>1.2.2 - 2018/07/06<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Handle netCDF time units that are separated by a “T” instead of a space.
E.g., “hours since 2010-02-01T03:00:00”.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id6">
<h2>1.2.1 - 2018/05/18<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fix bug in plot_v1, where the ‘projection’ entry was removed from the
projection dictionary supplied by the user. This was causing problems
when creating sequential plots, where only the first one had the right
projection.</p></li>
<li><p>Fix bug in hdf4 interface. Files that had dimensions with no associated
coordinate variable were crashing with a KeyError.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id7">
<h2>1.2.0 - 2018/03/21<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Added nan-aware versions of climatological mean operations.</p></li>
<li><p>Added standard deviation and nan-aware standard deviation classes for all
time subdivisions of climatological operations.</p></li>
<li><p>Added count operations in climat module that return number of non-NaN
elements.</p></li>
<li><p>Climatology operators can now be invoked as methods of Var objects.</p></li>
<li><p>Add a “netcdf4” format for interfacing with the netCDF4 python module.</p></li>
<li><p>Add support for entry points for pygeode.plugins and pygeode.formats.</p></li>
<li><p>Add entry points for custom axes.</p></li>
<li><p>Added pcolor operation to AxesWrapper.</p></li>
<li><p>Better support for dimensionless Var objects (issue #108).</p></li>
<li><p>Fix stack overflow when dealing with large 1D arrays (issue #107).</p></li>
<li><p>New module pygeode.ext_xarray for converting to/from xarray objects.</p></li>
<li><p>New hasaxis() and getaxis() methods for Dataset objects.</p></li>
<li><p>Var.get() now returns a writeable copy the array.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id8">
<h2>1.1.1 - 2018/01/19<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fixed some padding logic in showgrid.</p></li>
<li><p>Corrected bug that was happening when the inx coordinate variable was
provided with more than one axis but not as many axes as the data.</p></li>
<li><p>Disable prefix checks when there’s an exact match to an axis name.
Fixes bug triggered by axis names that contain underscores.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id9">
<h2>1.1.0 - 2017/06/17<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Allow some settings to be read from a configuration file (pygrc).</p></li>
<li><p>Added an option to disable lazy array evaluation, for cases where this
feature gets in the way.</p></li>
<li><p>Option to back variables into “shorts” when saving netCDF files,
triggered by passing pack=True to netcdf.save().</p></li>
<li><p>Allow specifying an “unlimited” dimension when saving netCDF files.</p></li>
<li><p>Added load() method to Dataset objects, to load all the associated
variables in memory.</p></li>
<li><p>New plot routines: vstreamplot, vhist, and fill_between.</p></li>
<li><p>New plot.cm module to help with colormaps.</p></li>
<li><p>New plot.cnt_helpers module for setting up contour intervals.</p></li>
<li><p>New “yearlymean” and “climstdev” operators in climat module.</p></li>
<li><p>Allow weights to be used in variance operator.</p></li>
<li><p>Added second-derivative operator (triggered by passing df=2 to “deriv”).</p></li>
<li><p>New forward difference operator (“diff”).</p></li>
<li><p>Added conjugation operator (“conj”).</p></li>
<li><p>Added option to compute covariance matrix of regression coefficients in
multiple_regress.</p></li>
<li><p>New ‘s_’ prefix for axis subsetting, to “squeeze” the axis out after
selecting a particular value.</p></li>
<li><p>New ‘n_’ prefix for axis subsetting, to “negate” the selection criteria.</p></li>
<li><p>New “station” axis, for data that’s sample at predetermined surface stations.</p></li>
<li><p>Also, added more general “non-coordinate” axes where the values are not
part of a continuum, and need not even be numeric.</p></li>
<li><p>New time axis constructor helpers (standardtimerange, standardtimen,
modeltime365range, modeltime365n, modeltime360range, modeltime360n,
yearlessn).</p></li>
<li><p>New “check_multi” routine in formats.multifile, to pre-scan all files and
report any problems with the files.</p></li>
<li><p>New “formats.data_scanner” module for loading more general (heterogeneous)
files together into a dataset.</p></li>
<li><p>Added some new and interesting bugs to the code.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id10">
<h2>1.0.6 - 2017/03/31<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fixed missing parentheses in interp.c, which could cause a compilation failure.</p></li>
<li><p>Fixed RPM installation configuration.</p></li>
<li><p>Switched from distutils to setuptools, in order to make wheel files.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id11">
<h2>1.0.5 - 2016/07/07<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fixed segmentation fault when initializing a time axis with an invalid month.
(issue #76).</p></li>
<li><p>Allow tools.loopover to handle Axis arguments. Certain operations such as
smooth() were crashing when operating on an Axis object (issue #86).</p></li>
<li><p>Preserve variable metadata when doing climatologies (issue #89).</p></li>
<li><p>In multifile.openall(), don’t require a format if an opener is provided.
(issue #90).</p></li>
<li><p>Fixed a pointer issue in interpcore, in the case where there aren’t enough
valid points to do an interpolation.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id12">
<h2>1.0.4 - 2015/11/04<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Set attribute Conventions=”CF-1.0” in netcdf output files, so other netcdf
utilities know how to parse our data.</p></li>
<li><p>Added system include paths for non-standard prefix installs (conda), as well
as to the libhelper routines for finding libraries</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id13">
<h2>1.0.3 - 2015/06/16<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Allow other PyGeode formats to be installed in parallel Python paths.</p></li>
<li><p>Add LD_LIBRARY_PATH to search path in libhelper.find_library().</p></li>
<li><p>Force double-precision in val_as_date, to prevent precision loss when
computing dates.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id14">
<h2>1.0.2 - 2015/03/24<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fixed bugs in regress and correlate in axis matching logic.</p></li>
<li><p>Allow timeaxes to support unordered values (issue 69).</p></li>
<li><p>Fixed issue in removeleapyears.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id15">
<h2>1.0.1 - 2014/07/09<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fixed small colourbar bug.</p></li>
<li><p>In multifile, allow for case where files are passed in as a tuple.</p></li>
<li><p>Allow showvar() to work without basemap installed.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id16">
<h2>1.0.0 - 2014/04/14<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h2>
<div class="section" id="general-updates-to-the-code">
<h3>General updates to the code:<a class="headerlink" href="#general-updates-to-the-code" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Converted C shared libraries to Python extension modules, to improve
portability of the package.</p></li>
<li><p>New top-level “open” and “save” commands, which guess the appropriate file
format to use.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-var-class">
<h3>Updates to Var class:<a class="headerlink" href="#updates-to-var-class" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Change the behaviour of Var.__getitem__, so that degenerate axes are
removed. This brings our array slicing behaviour closer to numpy.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-axis-module">
<h3>Updates to axis module:<a class="headerlink" href="#updates-to-axis-module" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>For axes, added in a tolerance autodetection for closeness of matches,
based on spacing in axis.</p></li>
<li><p>New functions “regularlat” & “regularlon” to create regularly spaced
latitude and longitude axes.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="new-modules">
<h3>New modules:<a class="headerlink" href="#new-modules" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>New ‘spectral’ module, which defines a Spectral axis.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-the-plot-module">
<h3>Updates to the plot module:<a class="headerlink" href="#updates-to-the-plot-module" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Can output to PDF.</p></li>
<li><p>Improved support for Basemap.</p></li>
<li><p>Support for scatter plots, quiver plots, and significance masks.</p></li>
<li><p>Various usability improvements</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-the-old-v1-plot-module">
<h3>Updates to the old (v1) plot module:<a class="headerlink" href="#updates-to-the-old-v1-plot-module" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Added hatching option for old significance mask.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-the-stats-module">
<h3>Updates to the stats module:<a class="headerlink" href="#updates-to-the-stats-module" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Added option to scale effective degrees of freedom in regress().</p></li>
<li><p>Regress now takes a comma-separated string to specify outputs, like EOF.</p></li>
<li><p>New function “multiple_regress” - code to do multiple linear regression.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-the-reduce-module">
<h3>Updates to the reduce module:<a class="headerlink" href="#updates-to-the-reduce-module" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Added argmin() operator.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-the-ufunc-module">
<h3>Updates to the ufunc module:<a class="headerlink" href="#updates-to-the-ufunc-module" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>We now keep the original variable name if we’re doing an arithmetic scalar
operation on the variable.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-the-formats-cfmeta-module">
<h3>Updates to the formats.cfmeta module:<a class="headerlink" href="#updates-to-the-formats-cfmeta-module" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Better detection and handling of (malformed) time axes.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="bug-fixes">
<h3>Bug fixes:<a class="headerlink" href="#bug-fixes" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Correct portability issue with timeaxiscore module; also improved its error
reporting.</p></li>
<li><p>Fixed issue with concatenating along dummy axis.</p></li>
<li><p>Fixed issue with “smooth” module (issue 44), and changed the smooth
interface a bit to make it easier to use your own kernels.</p></li>
</ul>
</div></blockquote>
</div>
</div>
<div class="section" id="id17">
<h2>0.7.3 - 2014/01/13<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Add support for more netcdf data types (issue 54).</p></li>
<li><p>Minor bugfix for ufunc (var name was not being set properly).</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id18">
<h2>0.7.2 - 2013/09/16<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fix ufunc operators dropping metadata (issue 39).</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id19">
<h2>0.7.1 - 2013/06/05<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fix missing header message in progress bars (issue 33).</p></li>
<li><p>Fix axis values being overwritten in plotvar (issue 36).</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id20">
<h2>0.7.0 - 2012/08/17<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h2>
<div class="section" id="updates-to-var-and-axis-classes">
<h3>Updates to Var and Axis classes:<a class="headerlink" href="#updates-to-var-and-axis-classes" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul>
<li><p>Vars now have a ‘units’ attribute</p></li>
<li><p>Vars and Axes now have a ‘plotatts’ dictionary, which contains all plotting
parameters. Some possible keys are:</p>
<blockquote>
<div><dl class="simple">
<dt>plottitle</dt><dd><p>The title to use for plots of this variable (or the axis label, if
this is an Axis)</p>
</dd>
<dt>plotname</dt><dd><p>A shorter title, used for axis labels.</p>
</dd>
<dt>plotunits</dt><dd><p>The units of the variable (overrides the ‘units’ attribute of the
variable).</p>
</dd>
<dt>plotscale</dt><dd><p>The type of scaling to apply to the values, either ‘linear’ or ‘log’.</p>
</dd>
<dt>plotorder</dt><dd><p>The direction to plot the axis coordinates. 1 = away from origin, -1
= towards origin.</p>
</dd>
<dt>formatstr</dt><dd><p>A special string for formatting the values on axis ticks and plot
titles.</p>
</dd>
<dt>scalefactor</dt><dd><p>unit conversion, to get values in the plotunits</p>
</dd>
<dt>offset</dt><dd><p>unit conversion, to get values in the plotunits</p>
</dd>
</dl>
</div></blockquote>
</li>
<li><p>Auto-completion of axis & variable members of Var and Dataset objects
(works in ipython). These members are also listed in dir() calls now.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id21">
<h3>Updates to the plot module:<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Added ‘every’ keyword to plotquiver() to thin the vector field, implemented
lblx, lbly kwargs.</p></li>
<li><p>In plotsigmask(), added “alpha” kwarg to control alpha value of mask</p></li>
<li><p>Keyword arguments “scaleAx”, “scaleX”, “scaleY” control scaling the values
by one of the axis coordinates. This preserves integrals under a
logarithmic axis.</p></li>
<li><p>added log10-scaling of 2D field values with new kwarg ‘logVal’</p></li>
<li><p>apply scalefactor and offset from plotatts, if they’re defined. Only
triggers if var.plotatts[‘plotunits’] is different from var.units.</p></li>
<li><p>disable anti-aliasing in 2D plots. In some versions of matplotlib (e.g.
the one shipped with Ubuntu 11.10), antialiasing causes annoying gaps
between polygons in various plots (contourf, pcolor, etc.).</p></li>
<li><p>Created a more modularized set of plotting routines. This gives greater
control over the construction of the plots, e.g. for publication. The old
‘plotvar’ routine is still available for cases where the automatic
formatting is good enough.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id22">
<h3>Updates to the stats module:<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul>
<li><p>Added some t test code:</p>
<blockquote>
<div><dl class="simple">
<dt>difference(X, Y)</dt><dd><p>Calculates difference between the mean values of X and Y averaged over
the dimensions specified by axes. Returns X - Y, p values, confidence
intervals, and degrees of freedom.</p>
</dd>
<dt>isnonzero(X)</dt><dd><p>Determines if X is non-zero, assuming X is normally distributed.
Returns mean of X along axes, p value, and confidence interval.</p>
</dd>
</dl>
</div></blockquote>
</li>
<li><p>Updated regress() to work on arbitrary axes</p></li>
<li><p>can now specify which axes to correlate()</p></li>
<li><p>correlate() now works with NaN values.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="updates-to-the-timeutils-module">
<h3>Updates to the timeutils module:<a class="headerlink" href="#updates-to-the-timeutils-module" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Lag variable for lagged correlations</p></li>
<li><p>Moved _uniquify, modify, reltime, delta, wrapdate, and date_diff from
timeaxis module to timeutils module.</p></li>
<li><p>New operator removeleapyears() to convert a standard time axis to a 365-day
or 360-day axis.</p></li>
<li><p>New operator splittimeaxis() to split a time axis into 2 dimensions (e.g.
year, day-of-year).</p></li>
<li><p>New function conform_values() to make 2 time axes have the same units and
start date.</p></li>
<li><p>New operator jointimeaxes() to convert a 2D time representation (e.g. year,
day-of-year) to a single time axis.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="other-updates">
<h3>Other updates:<a class="headerlink" href="#other-updates" title="Permalink to this headline">¶</a></h3>
<blockquote>
<div><ul class="simple">
<li><p>Interpolation now is nan-aware and can extrapolate linearly. By default,
no extrapolation is done (gives NaNs outside the data range).</p></li>
<li><p>Improved compatibility with newer versions of the progressbar package.</p></li>
<li><p>In concat module, allow the concatenation axis to be specified by the user,
so it doesn’t have to be guessed.</p></li>
<li><p>Added argmax() operator (works on one dimension)</p></li>
<li><p>In composite operator, events that extend past the edge of the data now are
filled with NaNs</p></li>
<li><p>Improved handling of endpoints in the ‘smooth’ operator.</p></li>
</ul>
</div></blockquote>
</div>
</div>
<div class="section" id="id23">
<h2>0.6.3 - 2012/08/16<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fix bug with NaN-friendly reductions (nansum,nanmean,nanmin,nanmax). They
were crashing when doing a full reduction to a scalar.
See issue 32 - <a class="reference external" href="https://github.com/pygeode/pygeode/issues/32">https://github.com/pygeode/pygeode/issues/32</a></p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id24">
<h2>0.6.2 - 2012/06/15<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Backported fix for year=0 infinite loop in timeaxis.</p></li>
<li><p>Fix issue 28 (<a class="reference external" href="https://github.com/pygeode/pygeode/issues/28">https://github.com/pygeode/pygeode/issues/28</a>)</p></li>
<li><p>Backported more robust handling of time axis in cfmeta module.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id25">
<h2>0.6.1 - 2011/11/23<a class="headerlink" href="#id25" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Fix issue 23 (<a class="reference external" href="https://github.com/pygeode/pygeode/issues/23">https://github.com/pygeode/pygeode/issues/23</a>)</p></li>
<li><p>Fix issue 25 (<a class="reference external" href="https://github.com/pygeode/pygeode/issues/25">https://github.com/pygeode/pygeode/issues/25</a>)</p></li>
<li><p>Don’t abort on missing ‘A’ and ‘B’ coefficients when loading netcdf files
with hybrid vertical coordinates.</p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="id26">
<h2>0.6.0 - 2011/08/11<a class="headerlink" href="#id26" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
<li><p>Initial stable release</p></li>
</ul>
</div></blockquote>
</div>
</div>
</div>
<div class="bottomnav" role="navigation" aria-label="bottom navigation">
<p>
«  <a href="gallery/advanced/plot_sigmask.html">Plot a significance mask</a>
  ::  
<a class="uplink" href="reference.html">Reference</a>
  ::  
<a class="uplink" href="tutorial.html">Tutorial</a>
  ::  
<a class="uplink" href="gallery/index.html">Gallery</a>
</p>
</div>
<div class="footer" role="contentinfo">
© Copyright 2020, Mike Neish, Peter Hitchcock.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
</div>
</body>
</html>