Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import netCDF4 as nc4
- import os
- def get_used_mem():
- # Quick and dirty memory check with `free`,
- # without having to install e.g. psutil
- return int(os.popen('free -m').readlines()[1].split()[2])
- # Create test NetCDF data set
- size = 10000000
- f = nc4.Dataset('test.nc', 'w')
- dim = f.createDimension('dim', size)
- var = f.createVariable('var', np.double, dimensions=('dim'))
- var[:] = np.random.random(size)
- f.close()
- # Expected size
- mem = size*8/1024**2.
- mem0 = get_used_mem()
- # Re-open and read NetCDF file
- f = nc4.Dataset('test.nc', 'r')
- var2 = f.variables['var'][:]
- mem1 = get_used_mem()
- # For me this prints: "expected mem = ~76, used=77"
- print('expected mem = ~{0:.0f} MB, used = {1:.0f} MB'.format(mem,mem1-mem0))
Add Comment
Please, Sign In to add comment