Whats the biggest array that NCL can allocate?
NCL is limited to creating arrays whose dimension sizes can be represented by a C signed integer (32-bit integer). This means that you can only allocate up to (2^31)-1 bytes of total memory, regardless of how much memory you have on your machine. This is something that we are working on, and plan to bump up to dimension sizes that can be represented by a 64-bit signed integer, which amounts to a size of (2^63)-1 bytes. The type of the NCL variable that you are creating also figures into the size. For example, each integer or float value takes up 4 bytes, so if you want to create a float or integer array, the largest one you can create is ((2^31)-1)/4. For a double array, this is further reduced to a size of ((2^31)-1)/8.