Skip to content
Snippets Groups Projects
Commit 19655ed2 authored by Thomas Jahns's avatar Thomas Jahns :cartwheel:
Browse files

Add temporary work-around for large variables.

parent bff2e3e0
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,22 @@
#include "pio_interface.h"
#include "pio_rpc.h"
/* replace once size_t-based version of vlistInqVarSize is merged */
static size_t
cdiPioVlistInqVarSize(int vlistID, int varID)
{
int zaxisID, gridID, tsteptype;
vlistInqVar(vlistID, varID, &gridID, &zaxisID, &tsteptype);
int nlevs = zaxisInqSize(zaxisID);
int gridsize = gridInqSize(gridID);
size_t size = (size_t)gridsize*(size_t)nlevs;
return size;
}
struct clientBufSize
......@@ -27,7 +43,7 @@ computeClientStreamBufSize(int streamID, const struct collSpec *collector)
{
size_t chunkSize;
{
int varSize = vlistInqVarSize(vlistID, (int)varID);
size_t varSize = cdiPioVlistInqVarSize(vlistID, (int)varID);
chunkSize = (size_t)(ceilf(cdiPIOpartInflate_
* (float)varSize
/ (float)collector->numClients));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment