root / ase / test / netcdf.py @ 4
Historique | Voir | Annoter | Télécharger (556 octet)
| 1 | 1 | tkerber | import numpy as np |
|---|---|---|---|
| 2 | 1 | tkerber | from ase.io.pupynere import NetCDFFile |
| 3 | 1 | tkerber | |
| 4 | 1 | tkerber | # Write array
|
| 5 | 1 | tkerber | a1 = np.random.rand(5, 5) |
| 6 | 1 | tkerber | a2 = a1 * 2 - 5 |
| 7 | 1 | tkerber | nc = NetCDFFile('test.nc', 'w') |
| 8 | 1 | tkerber | nc.createDimension('dimx', a1.shape[0]) |
| 9 | 1 | tkerber | nc.createDimension('dimy', a1.shape[1]) |
| 10 | 1 | tkerber | nc.createVariable('matrix1', 'd', ('dimx', 'dimy'))[:] = a1 |
| 11 | 1 | tkerber | nc.createVariable('matrix2', 'd', ('dimx', 'dimy'))[:] = a2 |
| 12 | 1 | tkerber | nc.sync() |
| 13 | 1 | tkerber | nc.close() |
| 14 | 1 | tkerber | |
| 15 | 1 | tkerber | # Read array
|
| 16 | 1 | tkerber | nc = NetCDFFile('test.nc', 'r') |
| 17 | 1 | tkerber | b1 = nc.variables['matrix1'][:]
|
| 18 | 1 | tkerber | b2 = nc.variables['matrix2'][:]
|
| 19 | 1 | tkerber | |
| 20 | 1 | tkerber | assert np.all(a1 == b1) and np.all(a2 == b2) |
| 21 | 1 | tkerber | |
| 22 | 1 | tkerber | import os |
| 23 | 1 | tkerber | os.remove('test.nc') |