1 |
SUBROUTINE EesmfAllocChildren( cTab ) |
2 |
|
3 |
! Allocates the components |
4 |
! Routine arguments |
5 |
! cTab :: Component attributes table |
6 |
TYPE( EEsmfCattr ) :: cTab |
7 |
|
8 |
! Local variables |
9 |
INTEGER I |
10 |
TYPE( EEsmfGridComp ), POINTER :: gcArr(:) |
11 |
TYPE( EEsmfCplComp ), POINTER :: ccArr(:) |
12 |
|
13 |
! Here we need to do a component allocate and assign components to |
14 |
! PET's within VM of the parent component. |
15 |
DO I=1,cTab%nSets |
16 |
IF ( TRIM(cTab%cTypeArr(I)) .EQ. 'gridded' ) THEN |
17 |
CALL EEsmfAllocGridC( gcArr, cTab%nComps(I) ) |
18 |
ELSE IF ( TRIM(cTab%cTypeArr(I)) .EQ. 'coupler' ) THEN |
19 |
CALL EEsmfAllocCplC( ccArr, cTab%nComps(I) ) |
20 |
ELSE |
21 |
STOP 'ABNORMAL END: PRMTop found unrecognised component type.' |
22 |
ENDIF |
23 |
ENDDO |
24 |
|
25 |
END SUBROUTINE EEsmfAllocChildren |