1 |
cnh |
1.1 |
! $Header: $ |
2 |
|
|
! $Name: $ |
3 |
|
|
|
4 |
|
|
! Top level ESMF based driver for embedded model configurations |
5 |
|
|
|
6 |
|
|
! == Global data == |
7 |
|
|
! PRMTop :: top level module for PRM driver. |
8 |
|
|
! EEsmf_Mod :: ESMF extras module |
9 |
|
|
USE PRMTop |
10 |
|
|
USE EEsmf_Mod |
11 |
|
|
|
12 |
|
|
! == Local data == |
13 |
|
|
! theComponents :: List of "components" that make up a |
14 |
|
|
! :: PRM configuration. |
15 |
|
|
TYPE( EEsmfComponentList ), POINTER :: theComponents |
16 |
|
|
|
17 |
|
|
! Boot up ESMF |
18 |
|
|
! Calls ESMF initialization and reads in settings from |
19 |
|
|
! top-level startup file. |
20 |
|
|
CALL EEsmfBoot( 'eesmf.rc' ) |
21 |
|
|
|
22 |
|
|
! Setup the components. Returns an EEsmfComponentList |
23 |
|
|
! variable containing all the components that make up |
24 |
|
|
! the PRM configuration. |
25 |
|
|
CALL ComponentsInit( theComponents ) |
26 |
|
|
|
27 |
|
|
! Run the components. Pass down the component list that |
28 |
|
|
! contains all the components that are executed in this |
29 |
|
|
! PRM configuration. |
30 |
|
|
CALL ComponentsRun( theComponents ) |
31 |
|
|
|
32 |
|
|
! Clean up as needed |
33 |
|
|
! Deallocate memory and write out remaining I/O. |
34 |
|
|
CALL ComponentsFinalize( theComponents ) |
35 |
|
|
|
36 |
|
|
END |
37 |
|
|
|