Difference between revisions of "GENIE Main"

From SourceWiki
Jump to navigation Jump to search
Line 42: Line 42:
 
*genie_control.f90
 
*genie_control.f90
 
** flags to control the component coupling
 
** flags to control the component coupling
 +
 
*genie_global.f90
 
*genie_global.f90
 
** any common variables (i.e. those used during coupling)  
 
** any common variables (i.e. those used during coupling)  
 +
 
*genie.F
 
*genie.F
 
** the overall coupling logic and time loop: do this, then that, then the other, if, then, else.
 
** the overall coupling logic and time loop: do this, then that, then the other, if, then, else.

Revision as of 11:25, 21 June 2007

Philosophy

Central location for shared stuff. 'Linchpin' for coupling together model components.

All values exchanged between components for the coupling process should pass through genie-main.

Avoid duplication. Maintain a clear, hierarchical relationship. This significantly enhances clarity and correspondingly the process of extending and improving the model.

Default Settings

runtime_defaults.sh

vanilla

Configuration Files

genie-main/configs

morph vanilla into flavours

Note compile-time and run-time settings

Compile

user.mak makefile.arc makefile (testing.mak)

calls sub-makefiles

Run the Model

user.sh

genie_example.job

namelists.sh

Source Code

  • genie_control.f90
    • flags to control the component coupling
  • genie_global.f90
    • any common variables (i.e. those used during coupling)
  • genie.F
    • the overall coupling logic and time loop: do this, then that, then the other, if, then, else.

argument passing.

(genie_ini_wrappers.f90, genie_loop_wrappers.f90)

The Future