CLUBB PBuf improvements #578
Currently, CLUBB uses the PBuf to both move data between parameterizations and to store data that is needed for exact restarts. The data that goes into the PBuf is flipped from the CLUBB vertical grid (surface level 1) to the CAM vertical grid (surface level plev) for every variable.
A more efficient use of memory and computer time would be to (1) remove variables that are not used by other parameterizations and create an explicit restart interface for CLUBB that reads and writes variables needed for restarts only when needed. Also we should consider (2) not flipping any arrays that don't need to be flipped.
This is mentioned in an issue with UWM in https://github.com/larson-group/cam/issues/149 as well.
Updates, clubb now has the ability to run on grids in either vertical direction (removing the need to flip variables) but the PBUF is going away with the CCPP-ization of CLUBB. I'm going to leave this issue here for now, but make a note to close it once the CCPP refactoring is finished.