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

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

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


Revision 1.9 - (show annotations) (download)
Fri Nov 19 21:28:47 2004 UTC (19 years, 6 months ago) by mlosch
Branch: MAIN
Changes since 1.8: +8 -9 lines
o still cleaning up
  - remove redundant CPP flag ALLOW_PTRACERS
  - change comments

1 C $Header: /u/gcmpack/MITgcm/pkg/gchem/gchem_forcing_sep.F,v 1.8 2004/11/19 20:17:48 mlosch Exp $
2 C $Name: $
3
4 #include "GCHEM_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GCHEM_FORCING_SEP
8 C !INTERFACE: ==========================================================
9 SUBROUTINE GCHEM_FORCING_SEP(myTime,myIter, myThid )
10
11 C !DESCRIPTION:
12 C calls subroutine that will update passive tracers values
13 C with a separate timestep. Since GCHEM_FORCING_SEP is now
14 C called before DO_FIELDS_BLOCKING_EXCHANGES, the passive
15 C tracer values in the halo regions are not up to date and
16 C must not be used.
17
18 C !USES: ===============================================================
19 IMPLICIT NONE
20 #include "SIZE.h"
21 #include "GRID.h"
22 #include "DYNVARS.h"
23 #include "EEPARAMS.h"
24 #include "PARAMS.h"
25 #include "PTRACERS_SIZE.h"
26 #include "PTRACERS.h"
27 #ifdef ALLOW_DIC
28 #include "DIC_BIOTIC.h"
29 #include "DIC_ABIOTIC.h"
30 #endif /* ALLOW_DIC */
31
32 C !INPUT PARAMETERS: ===================================================
33 C myThid :: thread number
34 INTEGER myThid, myIter
35 _RL myTime
36
37 c!LOCAL VARIABLES: ====================================================
38 C i,j :: loop indices
39 C bi,bj :: tile indices
40 C k :: vertical level
41 INTEGER bi,bj,imin,imax,jmin,jmax
42 INTEGER i,j
43 INTEGER niter
44 CEOP
45
46 #ifdef ALLOW_GCHEM
47
48 _BARRIER
49 _BEGIN_MASTER( mythid )
50
51 ccccccccccccccccccccccccc
52 c global calculations c
53 ccccccccccccccccccccccccc
54 #ifdef DIC_BIOTIC
55 c find global surface averages
56 gsm_s = 0.
57 gsm_dic = 0.
58 gsm_alk = 0.
59 call tracer_meanarea(myThid,salt, 1,gsm_s)
60 call tracer_meanarea(myThid,
61 & ptracer(1-Olx,1-Oly,1,1,1,1), 1, gsm_dic)
62 print*,'mean surface dic', gsm_dic,gsm_s
63 call tracer_meanarea(myThid,
64 & ptracer(1-Olx,1-Oly,1,1,1,2), 1, gsm_alk)
65 #endif
66 ccccccccccccccccccccccccccccccccccccccccccc
67
68 _END_MASTER( mythid )
69 _BARRIER
70
71
72 ccccccccccccccccccccccccc
73 c chemical forcing c
74 ccccccccccccccccccccccccc
75 C$taf loop = parallel
76 DO bj=myByLo(myThid),myByHi(myThid)
77 C$taf loop = parallel
78 DO bi=myBxLo(myThid),myBxHi(myThid)
79
80 jMin=1
81 jMax=sNy
82 iMin=1
83 iMax=sNx
84 c
85 ccccccccccccccccccccccccccc DIC cccccccccccccccccccccccccccccccc
86 c
87 #ifdef DIC_BIOTIC
88 #ifdef ALLOW_FE
89 call DIC_BIOTIC_Forcing( Ptracer(1-Olx,1-Oly,1,bi,bj,1),
90 & Ptracer(1-Olx,1-Oly,1,bi,bj,2),
91 & Ptracer(1-Olx,1-Oly,1,bi,bj,3),
92 & Ptracer(1-Olx,1-Oly,1,bi,bj,4),
93 & Ptracer(1-Olx,1-Oly,1,bi,bj,5),
94 & Ptracer(1-Olx,1-Oly,1,bi,bj,6),
95 & bi,bj,imin,imax,jmin,jmax,
96 & myIter,myTime,myThid)
97 #else
98 call DIC_BIOTIC_Forcing( Ptracer(1-Olx,1-Oly,1,bi,bj,1),
99 & Ptracer(1-Olx,1-Oly,1,bi,bj,2),
100 & Ptracer(1-Olx,1-Oly,1,bi,bj,3),
101 & Ptracer(1-Olx,1-Oly,1,bi,bj,4),
102 & Ptracer(1-Olx,1-Oly,1,bi,bj,5),
103 & bi,bj,imin,imax,jmin,jmax,
104 & myIter,myTime,myThid)
105 #endif
106 #endif
107 cccccccccccccccccccccccccc END DIC cccccccccccccccccccccccccccccccccc
108
109 #ifdef PTRACERS_SEPARATE_FORCING
110 C time averaging directly, here otherwise in the_correction_step
111 CALL PTRACERS_STATVARS(myTime, myIter, bi, bj, myThid)
112 #endif /* PTRACERS_SEPARATE_FORCING */
113
114 c
115 ENDDO
116 ENDDO
117
118 #endif /* ALLOW_GCHEM */
119
120 RETURN
121 END

  ViewVC Help
Powered by ViewVC 1.1.22