Complexity Analysis of Ocean Models

Type Master

Task Analyze existing climate and ocean models to identify internal dependencies and the architecture. Subsequently, identify code which is not used (dead code).

Potential models to analyze:

  • MITgcm, UVic (available)
  • NEMO, ICON, ECHAM5/6 (future candidates)

Key questions

  • How to identify internal dependencies/discover the architecture?
  • How to identify dead code in a model?
  • How to identify pattern in code (bad smells, clones)?

Tools

  • Static code analysis utilizing grammar and preprocessor stuff
  • Kieker 4 C runtime architecture
  • Joint visualization with new Kieker filters via dot and graphml