void grid_destroy(grid* g) { free(g->name); if (g->htype == GRIDHTYPE_LATLON_REGULAR || g->htype == GRIDHTYPE_LATLON_IRREGULAR) gnxy_simple_destroy(g->gridnodes_xy); #if !defined(NO_GRIDUTILS) else if (g->htype == GRIDHTYPE_CURVILINEAR) gnxy_curv_destroy(g->gridnodes_xy); #endif else enkf_quit("programming_error"); if (g->gridnodes_z != NULL) gnz_destroy(g->gridnodes_z); if (g->numlevels != NULL) free2d(g->numlevels); if (g->depth != NULL) free2d(g->depth); free(g); }
void grid_destroy(grid* g) { free(g->name); if (g->htype == GRIDHTYPE_LATLON) gnxy_simple_destroy(g->gridnodes_xy); #if !defined(NO_GRIDUTILS) else if (g->htype == GRIDHTYPE_CURVILINEAR) gnxy_curv_destroy(g->gridnodes_xy); #endif else enkf_quit("programming_error"); if (g->gridnodes_z != NULL) { if (g->vtype == GRIDVTYPE_Z || g->vtype == GRIDVTYPE_SIGMA) gnz_simple_destroy(g->gridnodes_z); else enkf_quit("not implemented"); } if (g->numlevels != NULL) free(g->numlevels); if (g->depth != NULL) free(g->depth); free(g); }