/[MITgcm]/MITgcm_contrib/ESMF/interface_test/code/driver_init.F
ViewVC logotype

Annotation of /MITgcm_contrib/ESMF/interface_test/code/driver_init.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Mon Feb 16 18:57:52 2004 UTC (21 years, 5 months ago) by cnh
Branch: MAIN
CVS Tags: adoption_1_0_pre_A, HEAD
Base files needed for simple component build

1 cnh 1.1 C $Header: $
2     C $Name: $
3    
4     #define _TRACE(a)
5     #define _TRACE(a) a
6    
7     #include "CPP_OPTIONS.h"
8    
9     CBOP
10     C !ROUTINE: DRIVER_INIT
11     C !INTERFACE:
12     SUBROUTINE DRIVER_INIT(
13     I atm_HeatFlux, atm_TauX, atm_TauY,
14     I atm_Qlatent, atm_Qsensible, atm_Qlongwave,
15     I atm_Qshortwave,
16     I atm_uVelGround, atm_vVelGround,
17     I atm_FWFlux,
18     I atm_Hatm,
19     O ocn_SSTocn, ocn_Hocn
20     & )
21    
22     C !DESCRIPTION: \bv
23     C *==================================================================
24     C | SUBROUTINE driver_init
25     C | o External driver control routine for MITgcm init phase.
26     C *==================================================================
27     C |
28     C | DRIVER routines are used to control the MITgcm code from an external
29     C | driver. This routine invokes the init phase of code execution
30     C |
31     C *==================================================================
32     C \ev
33    
34     C !USES:
35     IMPLICIT NONE
36     C == Global variables ==
37     #include "SIZE.h"
38     #include "EEPARAMS.h"
39     #include "PARAMS.h"
40     #include "GRID.h"
41     #include "OCNCPL.h"
42    
43     C == Routine arguments ==
44     _RL atm_HeatFlux( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
45     _RL atm_TauX( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
46     _RL atm_TauY( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
47     _RL atm_Qlatent( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
48     _RL atm_Qsensible( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
49     _RL atm_Qlongwave( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
50     _RL atm_Qshortwave( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
51     _RL atm_uVelGround( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
52     _RL atm_vVelGround( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
53     _RL atm_FWFlux( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
54     _RL atm_Hatm( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
55     _RL ocn_SSTocn( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
56     _RL ocn_Hocn( 1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
57    
58    
59     C == Local variables ==
60     C myThid :: Thread number for this instance of the routine
61     INTEGER myThid
62     INTEGER i,j,bi,bj
63    
64     INTEGER myCurrentIter
65     _RL myCurrentTime
66     INTEGER iLoop
67    
68     CEOP
69    
70     _TRACE(WRITE(0,*) 'DRIVER INIT (MITGCM_ORG_OCN) started')
71    
72     _TRACE(WRITE(0,*) 'Set context')
73     CALL COMP_OCN_PUSH_CONTEXT(1)
74    
75     CnoCall _TRACE(WRITE(0,*) 'CALL EEBOOT()')
76     CnoCall CALL EEBOOT()
77     CnoCall myThid = 1
78    
79     _TRACE(WRITE(0,*) 'READING IMPORTS()')
80     ! WRITE(0,*) myByLo(myThid),myByHi(myThid)
81     ! WRITE(0,*) myBxLo(myThid),myBxHi(myThid)
82     ! WRITE(0,*) 1-OLy, sNy+OLy
83     ! WRITE(0,*) 1-OLx, sNx+OLx
84     C Read the import fields
85     DO bj=myByLo(myThid),myByHi(myThid)
86     DO bi=myBxLo(myThid),myBxHi(myThid)
87     DO j=1-OLy,sNy+OLy
88     DO i=1-OLx,sNx+OLx
89     HeatFlux( i,j,bi,bj)=atm_HeatFlux( i,j,bi,bj)
90     TauX( i,j,bi,bj)=atm_tauX( i,j,bi,bj)
91     TauY( i,j,bi,bj)=atm_tauY( i,j,bi,bj)
92     Qlatent( i,j,bi,bj)=atm_qLatent( i,j,bi,bj)
93     Qsensible( i,j,bi,bj)=atm_qSensible( i,j,bi,bj)
94     Qlongwave( i,j,bi,bj)=atm_qLongwave( i,j,bi,bj)
95     Qshortwave( i,j,bi,bj)=atm_qShortwave(i,j,bi,bj)
96     uVelGround( i,j,bi,bj)=atm_uVelGround(i,j,bi,bj)
97     vVelGround( i,j,bi,bj)=atm_vVelGround(i,j,bi,bj)
98     FWFlux( i,j,bi,bj)=atm_FWFlux( i,j,bi,bj)
99     Hatm( i,j,bi,bj)=atm_Hatm( i,j,bi,bj)
100     ENDDO
101     ENDDO
102     ENDDO
103     ENDDO
104    
105     CnoCall _TRACE(WRITE(0,*) 'CALL INITIALISE_FIXED()')
106     CnoCall CALL INITIALISE_FIXED( myThid )
107    
108     CnoCall _TRACE(WRITE(0,*) 'CALL INITIALISE_VARIA()')
109     CnoCall CALL INITIALISE_VARIA( myThid )
110    
111     myCurrentTime = startTime
112     myCurrentIter = nIter0
113     myThid = 1
114     iLoop = 1
115     CnoCall CALL FORWARD_STEP_SETUP( iLoop, myCurrentTime, myCurrentIter, myThid )
116    
117     C Fill the export fields
118     Cnocall DO bj=myByLo(myThid),myByHi(myThid)
119     Cnocall DO bi=myBxLo(myThid),myBxHi(myThid)
120     Cnocall DO j=1-OLy,sNy+OLy
121     Cnocall DO i=1-OLx,sNx+OLx
122     Cnocall ocn_SSTocn(i,j,bi,bj) = SSTocn2cpl(i,j,bi,bj)
123     Cnocall ocn_Hocn( i,j,bi,bj) = R_low( i,j,bi,bj)
124     Cnocall ENDDO
125     Cnocall ENDDO
126     Cnocall ENDDO
127     Cnocall ENDDO
128    
129     Cnocall CLOSE(errorMessageUnit)
130     Cnocall CLOSE(standardMessageUnit)
131     CALL COMP_OCN_POP_CONTEXT(1)
132    
133     _TRACE(WRITE(0,*) 'DRIVER INIT (MITGCM_ORG_OCN) finished')
134    
135     RETURN
136     END

  ViewVC Help
Powered by ViewVC 1.1.22