/[MITgcm]/MITgcm/pkg/dic/dic_surfforcing.F
ViewVC logotype

Diff of /MITgcm/pkg/dic/dic_surfforcing.F

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

revision 1.3 by stephd, Mon Oct 6 20:11:10 2003 UTC revision 1.8 by stephd, Fri Aug 6 19:50:52 2004 UTC
# Line 1  Line 1 
1  #include "CPP_OPTIONS.h"  C $Header$
2    C $Name$
3    
4    #include "DIC_OPTIONS.h"
5  #include "PTRACERS_OPTIONS.h"  #include "PTRACERS_OPTIONS.h"
6  #include "GCHEM_OPTIONS.h"  #include "GCHEM_OPTIONS.h"
7    
8  CStartOfInterFace  CBOP
9    C !ROUTINE: DIC_SURFFORCING
10    
11    C !INTERFACE: ==========================================================
12        SUBROUTINE DIC_SURFFORCING( PTR_CO2 , GDC,        SUBROUTINE DIC_SURFFORCING( PTR_CO2 , GDC,
13       I           bi,bj,imin,imax,jmin,jmax,       I           bi,bj,imin,imax,jmin,jmax,
14       I           myIter,myTime,myThid)       I           myIter,myTime,myThid)
15    
16  C     /==========================================================\  C !DESCRIPTION:
17  C     | SUBROUTINE DIC_SURFFORCING                               |  C  Calculate the carbon air-sea flux terms              
18  C     | o Calculate the carbon air-sea flux terms                |  C  following external_forcing_dic.F (OCMIP run) from Mick            
 C     | o following external_forcing_dic.F from Mick             |  
 C     |==========================================================|  
       IMPLICIT NONE  
19    
20  C     == GLobal variables ==  C !USES: ===============================================================
21          IMPLICIT NONE
22  #include "SIZE.h"  #include "SIZE.h"
23  #include "DYNVARS.h"  #include "DYNVARS.h"
24  #include "EEPARAMS.h"  #include "EEPARAMS.h"
# Line 23  C     == GLobal variables == Line 27  C     == GLobal variables ==
27  #include "FFIELDS.h"  #include "FFIELDS.h"
28  #include "DIC_ABIOTIC.h"  #include "DIC_ABIOTIC.h"
29  #ifdef DIC_BIOTIC  #ifdef DIC_BIOTIC
30    #include "PTRACERS_SIZE.h"
31  #include "PTRACERS.h"  #include "PTRACERS.h"
32  #endif  #endif
33    
34  C     == Routine arguments ==  C !INPUT PARAMETERS: ===================================================
35    C  myThid               :: thread number
36    C  myIter               :: current timestep
37    C  myTime               :: current time
38    c  PTR_CO2              :: DIC tracer field
39        INTEGER myIter, myThid        INTEGER myIter, myThid
40        _RL myTime        _RL myTime
41        _RL  PTR_CO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_CO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
       _RL  GDC(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
42        INTEGER iMin,iMax,jMin,jMax, bi, bj        INTEGER iMin,iMax,jMin,jMax, bi, bj
43    
44    C !OUTPUT PARAMETERS: ===================================================
45    c GDC                   :: tendency due to air-sea exchange
46          _RL  GDC(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
47    
48  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
49  C     == Local variables ==  
50    C !LOCAL VARIABLES: ====================================================
51         INTEGER I,J, kLev, it         INTEGER I,J, kLev, it
52  C Number of iterations for pCO2 solvers...  C Number of iterations for pCO2 solvers...
53  C Solubility relation coefficients  C Solubility relation coefficients
# Line 46  C local variables for carbon chem Line 59  C local variables for carbon chem
59        _RL surfphos(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL surfphos(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
60        _RL surfsi(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL surfsi(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
61        _RL VirtualFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL VirtualFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
62    CEOP
63    
64  cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc  cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
65    
# Line 158  C Positive EminusPforV => loss of water Line 172  C Positive EminusPforV => loss of water
172  C in salinity. Thus, also increase in other surface tracers  C in salinity. Thus, also increase in other surface tracers
173  C (i.e. positive virtual flux into surface layer)  C (i.e. positive virtual flux into surface layer)
174  C ...so here, VirtualFLux = dC/dt!  C ...so here, VirtualFLux = dC/dt!
175                VirtualFlux(i,j)=gsm_DIC*surfaceTendencyS(i,j,bi,bj)/gsm_s                VirtualFlux(i,j)=gsm_DIC*surfaceForcingS(i,j,bi,bj)/gsm_s
176  c OR  c OR
177  c let virtual flux be zero  c let virtual flux be zero
178  c              VirtualFlux(i,j)=0.d0  c              VirtualFlux(i,j)=0.d0
# Line 172  c Line 186  c
186  C update tendency        C update tendency      
187           DO j=1-OLy,sNy+OLy           DO j=1-OLy,sNy+OLy
188            DO i=1-OLx,sNx+OLx            DO i=1-OLx,sNx+OLx
189             GDC(i,j)= maskC(i,j,kLev,bi,bj)*(             GDC(i,j)= maskC(i,j,kLev,bi,bj)*recip_drF(kLev)*(
190       &                    FluxCO2(i,j,bi,bj)*recip_drF(kLev)       &                    FluxCO2(i,j,bi,bj) + VirtualFlux(i,j)
      &                    + VirtualFlux(i,j)  
191       &                                              )       &                                              )
192            ENDDO            ENDDO
193           ENDDO           ENDDO

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.22