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

Contents of /MITgcm/pkg/dic/dic_aver.F

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


Revision 1.3 - (show annotations) (download)
Wed Apr 6 18:36:47 2005 UTC (19 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint57o_post, checkpoint57f_post, checkpoint57k_post, checkpoint57g_post, checkpoint57i_post, checkpoint57m_post, checkpoint57g_pre, checkpoint57h_post, checkpoint57h_done, checkpoint57n_post, checkpoint57p_post, checkpoint57j_post, checkpoint57h_pre, checkpoint57l_post
Changes since 1.2: +1 -3 lines
use baseTime as time origin ; DIFF_BASE_MULTIPLE replaces DIFFERENT_MULTIPLE

1 C $Header: /u/gcmpack/MITgcm/pkg/dic/dic_aver.F,v 1.2 2004/07/13 18:03:31 jmc Exp $
2 C $Name: $
3
4 cswdcost -- add sunroutine ---
5 #include "CPP_OPTIONS.h"
6 #include "GCHEM_OPTIONS.h"
7
8
9 CStartOfInterFace
10 SUBROUTINE DIC_AVER(
11 I myTime,myIter,myThid)
12
13 C /==========================================================\
14 C | SUBROUTINE DIC_AVER i |
15 C |==========================================================|
16 IMPLICIT NONE
17
18 C == GLobal variables ==
19 #include "SIZE.h"
20 #include "DYNVARS.h"
21 #include "EEPARAMS.h"
22 #include "PARAMS.h"
23 #include "GRID.h"
24 #include "PTRACERS_SIZE.h"
25 #include "PTRACERS.h"
26 #include "GCHEM.h"
27 #include "DIC_ABIOTIC.h"
28 #ifdef DIC_BIOTIC
29 #include "DIC_BIOTIC.h"
30 #include "DIC_DIAGS.h"
31 #include "DIC_COST.h"
32 #endif
33 #ifdef ALLOW_SEAICE
34 #include "ICE.h"
35 #endif
36
37 C == Routine arguments ==
38 INTEGER myIter
39 _RL myTime
40 INTEGER myThid
41
42 #ifdef ALLOW_DIC_COST
43
44 C == Local variables ==
45 INTEGER i, j, bi, bj, k, it
46 _RL rdt
47 INTEGER nForcingPeriods,Imytm,Ifprd,Ifcyc,Iftm
48
49 cswddmonth -- end-
50 c
51 c averages
52 DO bj = myByLo(myThid), myByHi(myThid)
53 DO bi = myBxLo(myThid), myBxHi(myThid)
54 DO k=1,Nr
55 OBS_timetave(bi,bj,k)=OBS_timetave(bi,bj,k)+
56 & deltaTclock
57 DO j=1-OLy,sNy+OLy
58 DO i=1-OLx,sNx+OLx
59 po4ann(i,j,k,bi,bj)=po4ann(i,j,k,bi,bj)+
60 & PTRACER(i,j,k,bi,bj,3)*deltaTclock
61 o2ann(i,j,k,bi,bj)=o2ann(i,j,k,bi,bj)+
62 & PTRACER(i,j,k,bi,bj,5)*deltaTclock
63 ENDDO
64 ENDDO
65 ENDDO
66 ENDDO
67 ENDDO
68 cswdmonth-add--
69 rdt=1. _d 0 / deltaTclock
70 nForcingPeriods=int(externForcingCycle/externForcingPeriod+0.5)
71 Imytm=int(myTime*rdt+0.5)
72 Ifprd=int(externForcingPeriod*rdt+0.5)
73 Ifcyc=int(externForcingCycle*rdt+0.5)
74 Iftm=mod( Imytm+Ifcyc ,Ifcyc)
75 it=int(Iftm/Ifprd)+1
76 c print*,'QQ timing check', mytime, myIter, it
77 DO bj = myByLo(myThid), myByHi(myThid)
78 DO bi = myBxLo(myThid), myBxHi(myThid)
79 OBSM_timetave(bi,bj,it)=OBSM_timetave(bi,bj,it)+
80 & deltaTclock
81 DO j=1-OLy,sNy+OLy
82 DO i=1-OLx,sNx+OLx
83 po4lev1(i,j,it,bi,bj)=po4lev1(i,j,it,bi,bj)+
84 & PTRACER(i,j,1,bi,bj,3)*deltaTclock
85 po4lev2(i,j,it,bi,bj)=po4lev2(i,j,it,bi,bj)+
86 & PTRACER(i,j,2,bi,bj,3)*deltaTclock
87 po4lev3(i,j,it,bi,bj)=po4lev3(i,j,it,bi,bj)+
88 & PTRACER(i,j,3,bi,bj,3)*deltaTclock
89 cQQ po4lev4(i,j,it,bi,bj)=po4lev4(i,j,it,bi,bj)+
90 cQQ & PTRACER(i,j,4,bi,bj,3)*deltaTclock
91 o2lev1(i,j,it,bi,bj)=o2lev1(i,j,it,bi,bj)+
92 & PTRACER(i,j,1,bi,bj,5)*deltaTclock
93 o2lev2(i,j,it,bi,bj)=o2lev2(i,j,it,bi,bj)+
94 & PTRACER(i,j,2,bi,bj,5)*deltaTclock
95 o2lev3(i,j,it,bi,bj)=o2lev3(i,j,it,bi,bj)+
96 & PTRACER(i,j,3,bi,bj,5)*deltaTclock
97 cQQ O2lev4(i,j,it,bi,bj)=O2lev4(i,j,it,bi,bj)+
98 cQQ & PTRACER(i,j,4,bi,bj,5)*deltaTclock
99 ENDDO
100 ENDDO
101 ENDDO
102 ENDDO
103
104 cswdmonth-end--
105
106
107 #endif
108 c
109 RETURN
110 END
111 cswd -- end added subroutine --

  ViewVC Help
Powered by ViewVC 1.1.22