/[MITgcm]/MITgcm_contrib/ESMF/global_ocean.128x64x15/code/driver_init.F
ViewVC logotype

Annotation of /MITgcm_contrib/ESMF/global_ocean.128x64x15/code/driver_init.F

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


Revision 1.2 - (hide annotations) (download)
Mon Feb 16 02:39:06 2004 UTC (21 years, 5 months ago) by cnh
Branch: MAIN
Changes since 1.1: +4 -3 lines
Added missing loop counter declarations

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

  ViewVC Help
Powered by ViewVC 1.1.22