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

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

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

revision 1.1 by jscott, Wed Sep 6 15:32:39 2006 UTC revision 1.2 by jscott, Thu May 17 21:11:10 2007 UTC
# Line 13  C     === Global Atmosphere Variables == Line 13  C     === Global Atmosphere Variables ==
13  #include "ATMSIZE.h"  #include "ATMSIZE.h"
14  #include "SIZE.h"  #include "SIZE.h"
15  #include "EEPARAMS.h"  #include "EEPARAMS.h"
16    #include "THSICE_VARS.h"
17  #include "ATM2D_VARS.h"  #include "ATM2D_VARS.h"
18    
19  #ifdef ATM2D_MPI_ON  #ifdef ATM2D_MPI_ON
20  #  include "OCNSIZE.h"  #  include "OCNSIZE.h"
21  #  include "OCNVARS.h"  #  include "OCNVARS.h"
22    #  include "OCNIDS.h"
23  #else  #else
24  #  include "PARAMS.h"  #  include "PARAMS.h"
25  #  include "FFIELDS.h"  #  include "FFIELDS.h"
26  #  include "SURFACE.h"  #  include "SURFACE.h"
27    #  ifdef ALLOW_DIC
28    #    include "DIC_ABIOTIC.h"
29    #  endif
30  #endif  #endif
31    
32  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
# Line 36  C     myThid - Thread no. that called th Line 41  C     myThid - Thread no. that called th
41  C     LOCAL VARIABLES:  C     LOCAL VARIABLES:
42        INTEGER i,j        INTEGER i,j
43    
 #ifdef ATM2D_MPI_ON  
44        DO j=1,sNy        DO j=1,sNy
45          DO i=1,sNx          DO i=1,sNx
46    
47    #ifdef ATM2D_MPI_ON
48    
49  C OCNVARS common set from ATM2D common  C OCNVARS common set from ATM2D common
50            atmSLPr_ocn(i,j)= pass_slp(i,j)            atmSLPr_ocn(i,j)= pass_slp(i,j)
51            HeatFlux_ocn(i,j)= pass_qnet(i,j)            HeatFlux_ocn(i,j)= pass_qnet(i,j)
# Line 49  C OCNVARS common set from ATM2D common Line 55  C OCNVARS common set from ATM2D common
55            FWFlux_ocn(i,j)= pass_precip(i,j) + pass_evap(i,j)            FWFlux_ocn(i,j)= pass_precip(i,j) + pass_evap(i,j)
56       &                     + pass_runoff(i,j)       &                     + pass_runoff(i,j)
57            SaltFlx_ocn(i,j) = sFluxFromIce(i,j)            SaltFlx_ocn(i,j) = sFluxFromIce(i,j)
58  C need to pass seaice mass?  #  ifdef ATMOSPHERIC_LOADING
59  C need to pass wspeed and pCO2            sIceMass_ocn(i,j) = pass_sIceLoad(i,j)
60    #  endif /* ATMOSPHERIC_LOADING */
61              IF ( ocnCpl_exchange_DIC ) THEN
62                aCO2_ocn(i,j) = pass_pCO2(i,j)
63                wSpeed_ocn(i,j) = pass_wspeed(i,j)
64                sIceFrac_ocn(i,j) = iceMask(i,j,1,1)
65              ENDIF
66    
         ENDDO  
       ENDDO  
67  #else  #else
68  C FFIELDS.h common block set from ATM2D common  C FFIELDS.h common block set from ATM2D common
       DO j=1,sNy  
         DO i=1,sNx  
69    
70  C          pLoad(i,j,1,1)= pass_slp(i,j)            pLoad(i,j,1,1)= pass_slp(i,j)
 C          _EXCH_XY_R4(pLoad, myThid )  
71            Qnet(i,j,1,1)= pass_qnet(i,j)            Qnet(i,j,1,1)= pass_qnet(i,j)
72            Qsw(i,j,1,1)= pass_solarnet(i,j)            Qsw(i,j,1,1)= pass_solarnet(i,j)
73            fu(i,j,1,1)= pass_fu(i,j)            fu(i,j,1,1)= pass_fu(i,j)
# Line 71  C          _EXCH_XY_R4(pLoad, myThid ) Line 78  C          _EXCH_XY_R4(pLoad, myThid )
78    
79            CALL EXCH_UV_XY_RS(fu,fv,.TRUE.,myThid)            CALL EXCH_UV_XY_RS(fu,fv,.TRUE.,myThid)
80            _EXCH_XY_R4(EmPmR, myThid )   !for NL Free surf?            _EXCH_XY_R4(EmPmR, myThid )   !for NL Free surf?
81              _EXCH_XY_R4(saltFlux, myThid )
82              _EXCH_XY_R4(Qnet, myThid )
83              _EXCH_XY_R4(Qsw, myThid )
84    
85  #  ifdef ATMOSPHERIC_LOADING  #  ifdef ATMOSPHERIC_LOADING
86  Cjrs ask J-M about this            sIceLoad(i,j,1,1) = pass_sIceLoad(i,j)
87  C              phi0surf(i,j,1,1) = pass_slp(i,j)*recip_rhoConst            _EXCH_XY_R4(pLoad, myThid )
88              _EXCH_XY_R4( sIceLoad, myThid )
89    C          phi0surf(i,j,1,1) = pass_slp(i,j)*recip_rhoConst
90  C     &                 + gravity*seaIceMass(i,j,1,1)*recip_rhoConst  C     &                 + gravity*seaIceMass(i,j,1,1)*recip_rhoConst
91  #  endif /* ATMOSPHERIC_LOADING */  #  endif /* ATMOSPHERIC_LOADING */
92    
93  C need to pass seaice mass? seaIceLoad(i,j,1,1)=  #  ifdef ALLOW_DIC
94  C need to pass wspeed and pCO2  C          icemask should be imported in DIC code
95               AtmospCO2(i,j,1,1)=  pass_pCO2(i,j)  
96               wind(i,j,1,1)= pass_wspeed(i,j)
97               _EXCH_XY_R4(AtmospCO2 ,  myThid )
98               _EXCH_XY_R4(wind ,  myThid )
99    #  endif /* ALLOW_DIC */
100    
101    #endif /* ATM2D_MPI_ON */
102    
103          ENDDO          ENDDO
104        ENDDO        ENDDO
105    
 #endif  
   
 C      PRINT *,'***After seaice thicken/extend'  
 C      PRINT *,'pass_runoff:',pass_runoff(JBUGI,JBUGJ)  
 C      PRINT *,'pass_precip:',pass_precip(JBUGI,JBUGJ)  
 C      PRINT *,'pass_evap:', pass_evap(JBUGI,JBUGJ)  
 C      PRINT *,'pass_qnet:',pass_qnet(JBUGI,JBUGJ)  
 C      PRINT *,'pass_fu:',pass_fu(JBUGI,JBUGJ)  
 C      PRINT *,'sFluxFromIce:',sFluxFromIce(JBUGI,JBUGJ)  
 C      PRINT *,'slp:',pass_slp(JBUGI,JBUGJ)  
   
106        RETURN        RETURN
107        END        END
108    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22