/[MITgcm]/MITgcm/pkg/gchem/gchem_forcing_sep.F
ViewVC logotype

Diff of /MITgcm/pkg/gchem/gchem_forcing_sep.F

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

revision 1.20 by jmc, Thu Nov 8 22:36:08 2007 UTC revision 1.28 by stephd, Tue Apr 27 18:41:47 2010 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3    
4  #include "GCHEM_OPTIONS.h"  #include "GCHEM_OPTIONS.h"
5    #ifdef ALLOW_DIC
6    #include "DIC_OPTIONS.h"
7    #endif
8    #ifdef ALLOW_DARWIN
9    #include "DARWIN_OPTIONS.h"
10    #endif
11    
12    
13  CBOP  CBOP
14  C !ROUTINE: GCHEM_FORCING_SEP  C !ROUTINE: GCHEM_FORCING_SEP
# Line 23  C !USES: =============================== Line 30  C !USES: ===============================
30  #include "EEPARAMS.h"  #include "EEPARAMS.h"
31  #include "PARAMS.h"  #include "PARAMS.h"
32  #include "PTRACERS_SIZE.h"  #include "PTRACERS_SIZE.h"
 c#include "PTRACERS_PARAMS.h"  
33  #include "PTRACERS_FIELDS.h"  #include "PTRACERS_FIELDS.h"
34    #include "GCHEM.h"
35  #ifdef ALLOW_DIC  #ifdef ALLOW_DIC
36  #include "DIC_BIOTIC.h"  #include "DIC_VARS.h"
 #include "DIC_ABIOTIC.h"  
37  #endif /* ALLOW_DIC */  #endif /* ALLOW_DIC */
38    #ifdef ALLOW_DARWIN
39    #include "DARWIN_FLUX.h"
40    #include "DARWIN_SIZE.h"
41    #endif
42    
43  C !INPUT PARAMETERS: ===================================================  C !INPUT PARAMETERS: ===================================================
44  C  myThid               :: thread number  C  myThid               :: thread number
# Line 50  CEOP Line 60  CEOP
60  ccccccccccccccccccccccccc  ccccccccccccccccccccccccc
61  c global calculations   c  c global calculations   c
62  ccccccccccccccccccccccccc  ccccccccccccccccccccccccc
 #ifdef ALLOW_DIC  
63  #ifdef ALLOW_OLD_VIRTUALFLUX  #ifdef ALLOW_OLD_VIRTUALFLUX
64    #ifdef ALLOW_DIC
65  c find global surface averages  c find global surface averages
66         gsm_s = 0.         gsm_s = 0. _d 0
67         gsm_dic = 0.         gsm_dic = 0. _d 0
68         gsm_alk = 0.         gsm_alk = 0. _d 0
69         call tracer_meanarea(myThid,salt, 1,gsm_s)         call tracer_meanarea(salt, 1,gsm_s,myThid)
70         call tracer_meanarea(myThid,         call tracer_meanarea(
71       &               ptracer(1-Olx,1-Oly,1,1,1,1), 1, gsm_dic)       &             ptracer(1-Olx,1-Oly,1,1,1,1), 1, gsm_dic, myThid )
72         print*,'mean surface dic', gsm_dic,gsm_s         print*,'mean surface dic', gsm_dic,gsm_s
73         call tracer_meanarea(myThid,         call tracer_meanarea(
74       &               ptracer(1-Olx,1-Oly,1,1,1,2), 1, gsm_alk)       &             ptracer(1-Olx,1-Oly,1,1,1,2), 1, gsm_alk, myThid )
 #endif /* ALLOW_OLD_VIRTUALFLUX */  
75  #endif  #endif
76    #ifdef ALLOW_DARWIN
77    c find global surface averages
78           gsm_s = 0. _d 0
79           gsm_dic = 0. _d 0
80           gsm_alk = 0. _d 0
81           call tracer_meanarea(salt, 1,gsm_s,myThid)
82           call tracer_meanarea(
83         &             ptracer(1-Olx,1-Oly,1,1,1,iDIC), 1, gsm_dic, myThid )
84           print*,'mean surface dic', gsm_dic,gsm_s
85           call tracer_meanarea(
86         &             ptracer(1-Olx,1-Oly,1,1,1,iALK), 1, gsm_alk, myThid )
87    #endif
88    #endif /* ALLOW_OLD_VIRTUALFLUX */
89  ccccccccccccccccccccccccccccccccccccccccccc  ccccccccccccccccccccccccccccccccccccccccccc
90    
91    
# Line 81  C$taf loop = parallel Line 103  C$taf loop = parallel
103          iMax=sNx          iMax=sNx
104  c  c
105  ccccccccccccccccccccccccccc DIC cccccccccccccccccccccccccccccccc  ccccccccccccccccccccccccccc DIC cccccccccccccccccccccccccccccccc
106  c  
107  #ifdef ALLOW_DIC  #ifdef ALLOW_DIC
108  #ifdef ALLOW_FE  #ifdef ALLOW_FE
109            call DIC_BIOTIC_Forcing( Ptracer(1-Olx,1-Oly,1,bi,bj,1),            call DIC_BIOTIC_Forcing( Ptracer(1-Olx,1-Oly,1,bi,bj,1),
# Line 113  c Line 135  c
135    
136  #endif  #endif
137  cccccccccccccccccccccccccc END DIC cccccccccccccccccccccccccccccccccc  cccccccccccccccccccccccccc END DIC cccccccccccccccccccccccccccccccccc
138    #ifdef ALLOW_DARWIN
139            IF ( useDARWIN ) THEN
140    #ifdef NUT_SUPPLY
141    c articficial supply of nutrients
142              call DARWIN_Nut_Supply( Ptracer(1-Olx,1-Oly,1,bi,bj,1),
143         &                          bi,bj,imin,imax,jmin,jmax,
144         &                          myIter,myTime,myThid)
145              call DARWIN_Nut_Supply( Ptracer(1-Olx,1-Oly,1,bi,bj,2),
146         &                          bi,bj,imin,imax,jmin,jmax,
147         &                          myIter,myTime,myThid)
148              call DARWIN_Nut_Supply( Ptracer(1-Olx,1-Oly,1,bi,bj,3),
149         &                          bi,bj,imin,imax,jmin,jmax,
150         &                          myIter,myTime,myThid)
151              call DARWIN_Nut_Supply( Ptracer(1-Olx,1-Oly,1,bi,bj,4),
152         &                          bi,bj,imin,imax,jmin,jmax,
153         &                          myIter,myTime,myThid)
154    #endif
155    ccccccccccccccc
156              call DARWIN_cons(myIter,myTime,myThid)
157    C darwin_forcing operates on bi,bj part only, but needs to get full
158    C array because of last (iPtr) index
159              call DARWIN_Forcing(  Ptracer(1-Olx,1-Oly,1,1,1,1),
160         &                          bi,bj,imin,imax,jmin,jmax,
161         &                          myIter,myTime,myThid)
162              call DARWIN_cons(myIter,myTime,myThid)
163    #ifdef ALLOW_CARBON
164           CALL DIC_ATMOS( 1, myTime, myIter, myThid )
165    #endif
166            ENDIF
167    #endif
168    
 c  
169          ENDDO          ENDDO
170         ENDDO         ENDDO
171    
172  #ifdef ALLOW_DIC  #ifdef ALLOW_DIC
173         CALL DIC_ATMOS( 1, myTime, myIter, myThid )         CALL DIC_ATMOS( 1, myTime, myIter, myThid )
174           CALL DIC_STORE_FLUXCO2( myTime, myIter, myThid )
175    #endif
176    
177    #ifdef ALLOW_COST
178           CALL DIC_COST( myTime, myIter, myThid )
179  #endif  #endif
180    
181  #endif /* GCHEM_SEPARATE_FORCING */  #endif /* GCHEM_SEPARATE_FORCING */

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.22