/[MITgcm]/MITgcm_contrib/jscott/pkg_atm2d/put_ocnvars.F
ViewVC logotype

Annotation of /MITgcm_contrib/jscott/pkg_atm2d/put_ocnvars.F

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


Revision 1.2 - (hide annotations) (download)
Tue May 1 19:38:47 2007 UTC (18 years, 3 months ago) by jscott
Branch: MAIN
Changes since 1.1: +14 -18 lines
remove old atm2d package in contrib

1 jscott 1.1 #include "ctrparam.h"
2     #include "ATM2D_OPTIONS.h"
3    
4     C !INTERFACE:
5     SUBROUTINE PUT_OCNVARS( myTime, myIter, myThid )
6     C *==========================================================*
7 jscott 1.2 C | Put fluxes for the ocean where needed: MPI mode, into |
8     c | common block for passing; single-proc, into FFIELDS.h |
9 jscott 1.1 C *==========================================================*
10     IMPLICIT NONE
11    
12     C === Global Atmosphere Variables ===
13     #include "ATMSIZE.h"
14     #include "SIZE.h"
15     #include "EEPARAMS.h"
16     #include "ATM2D_VARS.h"
17    
18 jscott 1.2 #ifdef ATM2D_MPI_ON
19 jscott 1.1 # include "OCNSIZE.h"
20     # include "OCNVARS.h"
21     #else
22     # include "PARAMS.h"
23     # include "FFIELDS.h"
24     # include "SURFACE.h"
25     #endif
26    
27     C !INPUT/OUTPUT PARAMETERS:
28     C === Routine arguments ===
29     C myTime - current simulation time (ocean model time)
30     C myIter - iteration number (ocean model)
31     C myThid - Thread no. that called this routine.
32     _RL myTime
33     INTEGER myIter
34     INTEGER myThid
35    
36     C LOCAL VARIABLES:
37     INTEGER i,j
38    
39 jscott 1.2 #ifdef ATM2D_MPI_ON
40 jscott 1.1 DO j=1,sNy
41     DO i=1,sNx
42    
43     C OCNVARS common set from ATM2D common
44     atmSLPr_ocn(i,j)= pass_slp(i,j)
45     HeatFlux_ocn(i,j)= pass_qnet(i,j)
46     qShortWave_ocn(i,j)= pass_solarnet(i,j)
47     TauX_ocn(i,j)= pass_fu(i,j)
48     TauY_ocn(i,j)= pass_fv(i,j)
49     FWFlux_ocn(i,j)= pass_precip(i,j) + pass_evap(i,j)
50     & + pass_runoff(i,j)
51     SaltFlx_ocn(i,j) = sFluxFromIce(i,j)
52     C need to pass seaice mass?
53     C need to pass wspeed and pCO2
54    
55     ENDDO
56     ENDDO
57     #else
58     C FFIELDS.h common block set from ATM2D common
59     DO j=1,sNy
60     DO i=1,sNx
61    
62     C pLoad(i,j,1,1)= pass_slp(i,j)
63     C _EXCH_XY_R4(pLoad, myThid )
64     Qnet(i,j,1,1)= pass_qnet(i,j)
65     Qsw(i,j,1,1)= pass_solarnet(i,j)
66     fu(i,j,1,1)= pass_fu(i,j)
67     fv(i,j,1,1)= pass_fv(i,j)
68     EmPmR(i,j,1,1)= pass_precip(i,j) + pass_evap(i,j)
69     & + pass_runoff(i,j)
70     saltFlux(i,j,1,1)= sFluxFromIce(i,j)
71    
72     CALL EXCH_UV_XY_RS(fu,fv,.TRUE.,myThid)
73     _EXCH_XY_R4(EmPmR, myThid ) !for NL Free surf?
74    
75     # ifdef ATMOSPHERIC_LOADING
76 jscott 1.2 Cjrs ask J-M about this
77 jscott 1.1 C phi0surf(i,j,1,1) = pass_slp(i,j)*recip_rhoConst
78     C & + gravity*seaIceMass(i,j,1,1)*recip_rhoConst
79     # endif /* ATMOSPHERIC_LOADING */
80    
81     C need to pass seaice mass? seaIceLoad(i,j,1,1)=
82     C need to pass wspeed and pCO2
83    
84     ENDDO
85     ENDDO
86    
87     #endif
88 jscott 1.2
89     C PRINT *,'***After seaice thicken/extend'
90     C PRINT *,'pass_runoff:',pass_runoff(JBUGI,JBUGJ)
91     C PRINT *,'pass_precip:',pass_precip(JBUGI,JBUGJ)
92     C PRINT *,'pass_evap:', pass_evap(JBUGI,JBUGJ)
93     C PRINT *,'pass_qnet:',pass_qnet(JBUGI,JBUGJ)
94     C PRINT *,'pass_fu:',pass_fu(JBUGI,JBUGJ)
95     C PRINT *,'sFluxFromIce:',sFluxFromIce(JBUGI,JBUGJ)
96     C PRINT *,'slp:',pass_slp(JBUGI,JBUGJ)
97 jscott 1.1
98     RETURN
99     END
100    

  ViewVC Help
Powered by ViewVC 1.1.22