Skip to content

Memory error with MOC analysis on edison compute node #161

@xylar

Description

@xylar

I'm running ACME PreAndPostProcessingsScripts/xylar/update_mpas_analysis_v0.2 on Edison by submitting a batch scripts. I get this error:

Plotting streamfunction of Meridional Overturning Circulation (MOC)...

  List of files for climatologies:
/scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850.ne30_oEC.edison/run/mpaso.hist.am.timeSeriesStatsMonthly.0030-12-01.nc through /scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850.ne30_oEC.edison/run/mpaso.hist.am.timeSeriesStatsMonthly.0041-01-01.nc

  List of files for timeSeries:
/scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850.ne30_oEC.edison/run/mpaso.hist.am.timeSeriesStatsMonthly.0030-12-01.nc through /scratch2/scratchdirs/golaz/ACME_simulations/20161117.beta0.A_WCYCL1850.ne30_oEC.edison/run/mpaso.hist.am.timeSeriesStatsMonthly.0041-01-01.nc

  Reading region and transect mask for Atlantic...

  Compute and/or plot post-processed MOC climatological streamfunction...
   Load data...
Traceback (most recent call last):
  File "python/MPAS-Analysis/run_analysis.py", line 243, in <module>
    analysis(config)
  File "python/MPAS-Analysis/run_analysis.py", line 182, in analysis
    moc_streamfunction(config)
  File "/global/u2/x/xylar/acme_work/analysis/xylar/update_MPAS_Analysis_v0.2/coupled_diags/python/MPAS-Analysis/mpas_analysis/ocean/meridional_overturning_circulation.py", line 134, in moc_streamfunction
    regionNames, dictClimo)
  File "/global/u2/x/xylar/acme_work/analysis/xylar/update_MPAS_Analysis_v0.2/coupled_diags/python/MPAS-Analysis/mpas_analysis/ocean/meridional_overturning_circulation.py", line 294, in _compute_moc_climo_postprocess
    horizontalVel = annualClimatology.avgNormalVelocity.values
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/xarray/core/dataarray.py", line 384, in values
    return self.variable.values
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/xarray/core/variable.py", line 309, in values
    return _as_array_or_item(self._data_cached())
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/xarray/core/variable.py", line 275, in _data_cached
    self._data = np.asarray(self._data)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/numpy/core/numeric.py", line 531, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/dask/array/core.py", line 1045, in __array__
    x = self.compute()
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/dask/base.py", line 94, in compute
    (result,) = compute(self, traverse=False, **kwargs)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/dask/base.py", line 201, in compute
    results = get(dsk, keys, **kwargs)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/dask/threaded.py", line 76, in get
    **kwargs)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/dask/async.py", line 500, in get_async
    raise(remote_exception(res, tb))
dask.async.MemoryError: 

Traceback
---------
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/dask/async.py", line 266, in execute_task
    result = _execute_task(task, data)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/dask/async.py", line 247, in _execute_task
    return func(*args2)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/toolz/functoolz.py", line 468, in __call__
    ret = f(ret)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/dask/array/reductions.py", line 229, in mean_combine
    total = sum(pair['total'], **kwargs)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/numpy/lib/nanfunctions.py", line 538, in nansum
    return np.sum(a, axis=axis, dtype=dtype, out=out, keepdims=keepdims)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/numpy/core/fromnumeric.py", line 1814, in sum
    out=out, **kwargs)
  File "/global/project/projectdirs/acme/software/anaconda_envs/edison/lib/python2.7/site-packages/numpy/core/_methods.py", line 32, in _sum
    return umr_sum(a, axis, dtype, out, keepdims)

It seems like MOC computations are too big for a compute node!!! We need to figure out what's going on...

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions