# Mapping of exodus entities onto NetCDF ***If you are using NetCDF-4.5.1 or later, then you can ignore the information in this file.*** The distributed version of netcdf sets the following limits on dimensions and variables: * `#define NC_MAX_DIMS 1024` * `#define NC_MAX_VARS 8192` For use with Exodus, it is recommended that these be increased to: * `#define NC_MAX_DIMS 65536` * `#define NC_MAX_VARS 524288` The reason for these increases is due to the mapping of Exodus onto NetCDF. The sections below show the number of Dimensions (controlled by NC_MAX_DIMS) and Variables (controlled by NC_MAX_VARS) that are used in an Exodus file. ## Entities * A mesh-entity is an individual node, edge, face, or element. * An entity is a set or block consisting of a single mesh-entity type. * Each entity can have variables, maps, and attributes which contain an entry per mesh-entity. * Each entity has an optional name and a required id (32-bit or 64-bit )which is non-negative. * A mesh-entity can be in one and only one entity block, * A mesh-entity can be in zero or more entity sets. * Currently there is only a single implicit node block containing all nodes in the model. ## Dimensions: (NC_MAX_DIMS) * There are about 10 standard dimensions in every file. * plus one for each set plus one if any attributes * plus two for each block plus one if any attributes * plus one for each transient variable on an entity (node, node set, element block, element set, ...) ## Variables: (NC_MAX_VARS) * There are a few standard dimensions * times * names of each entity type (block set) * ids of each entity type (block set) * status of each entity type (block set) * #ndim coordinates (1,2,3) * Each block adds 1 + 2*#attr_on_block + #var_on_block * Each set adds 2 + 2*#attr_on_set + #var_on_set * Each sideset add 3 + 2*#attr_on_sset + #var_on_sset * Each map adds 1 ## Example If we have an exodus file with: * Nodes * 5 Element blocks * 4 transient variables per element block * 2 attributes per element block * 4 Node Sets * Distribution Factors defined on each set * 3 transient variables * 3 Side Sets * Distribution Factors defined on each set * 2 transient variables Then there would be about: `10 + 5*(2+1) + 4*(2) + 3*(2) + 1 + 1 + 1 = 42` Dimensions There would be about: `5*(1+2*2+4) + 4*(2+3) + 3*(3+2) + 3*(5+4+3) + 3 + 1 = 120` Variables. From this, you can see that a moderately complicated model would quickly overflow the standard values for `NC_MAX_DIMS` and `NC_MAX_VARS`.