Current High Level Architecture

 

The current architecture has three to four layers above the main science code. The science code mixes science operations with plotting. The main level has loops over variables processed for each different type of processing (over the run_diagnostics procedure for example).

ILAMB Arch

Proposed Architecture

 

Propose turning "red" boxes above into Python. Have Python handle reading of text control files, and system calls, and NCL do the science and plot creation. Python has more ability and flexibility in handling text and system calls. Python can also handle the multi-processing (using the mpi4py package). Each variable and each type of processing can be on a different processor. The main idea is to put the Python script at the top, and then gradually, let it move "downwards" and take over more high level responsibility.

 

ILAMB_Proposed

  • No labels