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

Re-use grid generator function.

parent 0b4f4073
No related branches found
No related tags found
No related merge requests found
......@@ -124,17 +124,15 @@ main(int argc, char *argv[])
nlev = 5, //!< Number of levels
nts = 3; //!< Number of time steps
enum { nmiss = 0 };
double *lons, *lats, *restrict var[nvars], mscale, mrscale;
double *restrict var[nvars], mscale, mrscale;
size_t varSize[nvars];
const char *varName[nvars] = { "varname1", "varname2" };
#ifndef TEST_CHUNK_WRITE
const char *suffix = "grb", *prefix = "example";
int grid = GRID_LONLAT;
int filetype = CDI_FILETYPE_GRB, datatype = CDI_DATATYPE_PACK24;
int filetype = FILETYPE_GRB, datatype = CDI_DATATYPE_PACK24;
#else
const char *suffix = "nc", *prefix = "example";
int grid = GRID_LONLAT;
int filetype = CDI_FILETYPE_NC, datatype = CDI_DATATYPE_FLT64;
int filetype = FILETYPE_NC, datatype = CDI_DATATYPE_FLT64;
#endif
{
int opt;
......@@ -197,22 +195,11 @@ main(int argc, char *argv[])
}
}
lons = (double *)malloc((size_t)nlon * sizeof (lons[0]));
for (size_t i = 0; i < (size_t)nlon; ++i)
lons[i] = ((double)(i * 360))/nlon;
lats = (double *)malloc((size_t)nlat * sizeof (lats[0]));
for (size_t i = 0; i < (size_t)nlat; ++i)
lats[i] = ((double)(i * 180))/nlat - 90.0;
varSize[0] = (size_t)nlon * (size_t)nlat;
varSize[1] = (size_t)nlon * (size_t)nlat * (size_t)nlev;
// Create a regular lon/lat grid
gridID = gridCreate(grid, nlon*nlat);
gridDefXsize(gridID, nlon);
gridDefYsize(gridID, nlat);
gridDefXvals(gridID, lons);
gridDefYvals(gridID, lats);
gridID = createGlobalLatLonGrid(nlon, nlat);
// Create a surface level Z-axis
zaxisID[0] = zaxisCreate(ZAXIS_SURFACE, 1);
......@@ -222,7 +209,7 @@ main(int argc, char *argv[])
{
double *levs = (double *)malloc((size_t)nlev * sizeof (levs[0]));
for (size_t i = 0; i < (size_t)nlev; ++i)
levs[i] = 101300 - floor(3940.3 * (exp(2.3579 * (double)(i)/(nlev - 1)) - 1.0));
levs[i] = 101300 - floor(3940.3 * expm1(2.3579 * (double)i/(nlev - 1)));
zaxisDefLevels(zaxisID[1], levs);
free(levs);
}
......@@ -405,8 +392,6 @@ main(int argc, char *argv[])
zaxisDestroy(zaxisID[0]);
zaxisDestroy(zaxisID[1]);
gridDestroy(gridID);
free(lats);
free(lons);
return 0;
}
......
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