Remove global arrays in lnd_set_decomp_and_domain
- Dominant language
- Fortran
- Stars
- 352
- Forks
- 361
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 7
Description
There are 6 temporary global arrays in lnd_set_decomp_and_domain that are dimensioned by the global grid size
``` fortran
allocate(lndmask_glob(gsize)); lndmask_glob(:) = 0
allocate(itemp_glob(gsize))
allocate(lndmask_glob(gsize)); lndmask_glob(:) = 0
allocate(rtemp_glob(gsize))
allocate(lndlons_glob(gsize))
allocate(lndlats_glob(gsize))
```
They are all deallocated after initialization.
lndmask_glob is what's used to determine the decomposition, and would be hard to get rid of. Some of the others could likely be handled by having them handled after the decomposition is determined so they would be scalable.
Size for 6 integer arrays, of 4 bytes, for the 42 million points of the mpasa3p75 grid is on one node in GBytes is:
6x4*41943042*128/1024^3 = 120 GBytes
Contributor guide
Assessment
This issue has not been assessed yet.