/[MITgcm]/MITgcm/pkg/atm2d/put_ocnvars.F
ViewVC logotype

Contents of /MITgcm/pkg/atm2d/put_ocnvars.F

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


Revision 1.6 - (show annotations) (download)
Fri Apr 30 20:25:59 2010 UTC (14 years ago) by jscott
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint62g, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, HEAD
Changes since 1.5: +2 -2 lines
change DIC_ABIOTIC.h to DIC_VARS.h needed for single-processor mode

1 C $Header: /u/gcmpack/MITgcm/pkg/atm2d/put_ocnvars.F,v 1.5 2009/04/28 18:33:36 jmc Exp $
2 C $Name: $
3
4 #include "ctrparam.h"
5 #include "ATM2D_OPTIONS.h"
6
7 C !INTERFACE:
8 SUBROUTINE PUT_OCNVARS( myTime, myIter, myThid )
9 C *==========================================================*
10 C | Put fluxes for the ocean where needed: MPI mode, into |
11 c | common block for passing; single-proc, into FFIELDS.h |
12 C *==========================================================*
13 IMPLICIT NONE
14
15 C === Global Atmosphere Variables ===
16 #include "ATMSIZE.h"
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "PARAMS.h"
20 #include "THSICE_VARS.h"
21 #include "ATM2D_VARS.h"
22
23 #ifdef ATM2D_MPI_ON
24 # include "OCNSIZE.h"
25 # include "OCNVARS.h"
26 # include "OCNIDS.h"
27 #else
28 # include "FFIELDS.h"
29 # include "SURFACE.h"
30 # ifdef ALLOW_DIC
31 # include "DIC_VARS.h"
32 # endif
33 #endif
34
35 C !INPUT/OUTPUT PARAMETERS:
36 C === Routine arguments ===
37 C myTime - current simulation time (ocean model time)
38 C myIter - iteration number (ocean model)
39 C myThid - Thread no. that called this routine.
40 _RL myTime
41 INTEGER myIter
42 INTEGER myThid
43
44 C LOCAL VARIABLES:
45 INTEGER i,j
46
47 DO j=1,sNy
48 DO i=1,sNx
49
50 #ifdef ATM2D_MPI_ON
51
52 C OCNVARS common set from ATM2D common
53 atmSLPr_ocn(i,j)= pass_slp(i,j)
54 HeatFlux_ocn(i,j)= pass_qnet(i,j)
55 qShortWave_ocn(i,j)= pass_solarnet(i,j)
56 TauX_ocn(i,j)= pass_fu(i,j)
57 TauY_ocn(i,j)= pass_fv(i,j)
58 C convert FW to MITGCM units kg/m2/s for passing
59 FWFlux_ocn(i,j)= (pass_precip(i,j) + pass_evap(i,j)
60 & + pass_runoff(i,j)) * rhoConstFresh
61 SaltFlx_ocn(i,j) = sFluxFromIce(i,j)
62 # ifdef ATMOSPHERIC_LOADING
63 sIceMass_ocn(i,j) = pass_sIceLoad(i,j)
64 # endif /* ATMOSPHERIC_LOADING */
65 IF ( ocnCpl_exchange_DIC ) THEN
66 aCO2_ocn(i,j) = pass_pCO2(i,j)
67 wSpeed_ocn(i,j) = pass_wspeed(i,j)
68 sIceFrac_ocn(i,j) = iceMask(i,j,1,1)
69 ENDIF
70
71 #else
72 C FFIELDS.h common block set from ATM2D common
73
74 pLoad(i,j,1,1)= pass_slp(i,j)
75 Qnet(i,j,1,1)= pass_qnet(i,j)
76 Qsw(i,j,1,1)= pass_solarnet(i,j)
77 fu(i,j,1,1)= pass_fu(i,j)
78 fv(i,j,1,1)= pass_fv(i,j)
79 EmPmR(i,j,1,1)= (pass_precip(i,j) + pass_evap(i,j)
80 & + pass_runoff(i,j)) * rhoConstFresh
81 saltFlux(i,j,1,1)= sFluxFromIce(i,j)
82
83 CALL EXCH_UV_XY_RS(fu,fv,.TRUE.,myThid)
84 _EXCH_XY_RS(EmPmR, myThid ) !for NL Free surf?
85 _EXCH_XY_RS(saltFlux, myThid )
86 _EXCH_XY_RS(Qnet, myThid )
87 _EXCH_XY_RS(Qsw, myThid )
88
89 # ifdef ATMOSPHERIC_LOADING
90 sIceLoad(i,j,1,1) = pass_sIceLoad(i,j)
91 _EXCH_XY_RS(pLoad, myThid )
92 _EXCH_XY_RS( sIceLoad, myThid )
93 C phi0surf(i,j,1,1) = pass_slp(i,j)*recip_rhoConst
94 C & + gravity*seaIceMass(i,j,1,1)*recip_rhoConst
95 # endif /* ATMOSPHERIC_LOADING */
96
97 # ifdef ALLOW_DIC
98 C icemask should be imported in DIC code
99 AtmospCO2(i,j,1,1)= pass_pCO2(i,j)
100 wind(i,j,1,1)= pass_wspeed(i,j)
101 _EXCH_XY_RL(AtmospCO2 , myThid )
102 _EXCH_XY_RL(wind , myThid )
103 # endif /* ALLOW_DIC */
104
105 #endif /* ATM2D_MPI_ON */
106
107 ENDDO
108 ENDDO
109
110 RETURN
111 END
112

  ViewVC Help
Powered by ViewVC 1.1.22