C $Header: /u/gcmpack/MITgcm/pkg/dic/dic_aver.F,v 1.3 2005/04/06 18:36:47 jmc Exp $
C $Name: $
cswdcost -- add sunroutine ---
#include "CPP_OPTIONS.h"
#include "GCHEM_OPTIONS.h"
CStartOfInterFace
SUBROUTINE DIC_AVER(
I myTime,myIter,myThid)
C /==========================================================\
C | SUBROUTINE DIC_AVER i |
C |==========================================================|
IMPLICIT NONE
C == GLobal variables ==
#include "SIZE.h"
#include "DYNVARS.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "GRID.h"
#include "PTRACERS_SIZE.h"
#include "PTRACERS.h"
#include "GCHEM.h"
#include "DIC_ABIOTIC.h"
#ifdef DIC_BIOTIC
#include "DIC_BIOTIC.h"
#include "DIC_DIAGS.h"
#include "DIC_COST.h"
#endif
#ifdef ALLOW_SEAICE
#include "ICE.h"
#endif
C == Routine arguments ==
INTEGER myIter
_RL myTime
INTEGER myThid
#ifdef ALLOW_DIC_COST
C == Local variables ==
INTEGER i, j, bi, bj, k, it
_RL rdt
INTEGER nForcingPeriods,Imytm,Ifprd,Ifcyc,Iftm
cswddmonth -- end-
c
c averages
DO bj = myByLo(myThid), myByHi(myThid)
DO bi = myBxLo(myThid), myBxHi(myThid)
DO k=1,Nr
OBS_timetave(bi,bj,k)=OBS_timetave(bi,bj,k)+
& deltaTclock
DO j=1-OLy,sNy+OLy
DO i=1-OLx,sNx+OLx
po4ann(i,j,k,bi,bj)=po4ann(i,j,k,bi,bj)+
& PTRACER(i,j,k,bi,bj,3)*deltaTclock
o2ann(i,j,k,bi,bj)=o2ann(i,j,k,bi,bj)+
& PTRACER(i,j,k,bi,bj,5)*deltaTclock
ENDDO
ENDDO
ENDDO
ENDDO
ENDDO
cswdmonth-add--
rdt=1. _d 0 / deltaTclock
nForcingPeriods=int(externForcingCycle/externForcingPeriod+0.5)
Imytm=int(myTime*rdt+0.5)
Ifprd=int(externForcingPeriod*rdt+0.5)
Ifcyc=int(externForcingCycle*rdt+0.5)
Iftm=mod( Imytm+Ifcyc ,Ifcyc)
it=int(Iftm/Ifprd)+1
c print*,'QQ timing check', mytime, myIter, it
DO bj = myByLo(myThid), myByHi(myThid)
DO bi = myBxLo(myThid), myBxHi(myThid)
OBSM_timetave(bi,bj,it)=OBSM_timetave(bi,bj,it)+
& deltaTclock
DO j=1-OLy,sNy+OLy
DO i=1-OLx,sNx+OLx
po4lev1(i,j,it,bi,bj)=po4lev1(i,j,it,bi,bj)+
& PTRACER(i,j,1,bi,bj,3)*deltaTclock
po4lev2(i,j,it,bi,bj)=po4lev2(i,j,it,bi,bj)+
& PTRACER(i,j,2,bi,bj,3)*deltaTclock
po4lev3(i,j,it,bi,bj)=po4lev3(i,j,it,bi,bj)+
& PTRACER(i,j,3,bi,bj,3)*deltaTclock
cQQ po4lev4(i,j,it,bi,bj)=po4lev4(i,j,it,bi,bj)+
cQQ & PTRACER(i,j,4,bi,bj,3)*deltaTclock
o2lev1(i,j,it,bi,bj)=o2lev1(i,j,it,bi,bj)+
& PTRACER(i,j,1,bi,bj,5)*deltaTclock
o2lev2(i,j,it,bi,bj)=o2lev2(i,j,it,bi,bj)+
& PTRACER(i,j,2,bi,bj,5)*deltaTclock
o2lev3(i,j,it,bi,bj)=o2lev3(i,j,it,bi,bj)+
& PTRACER(i,j,3,bi,bj,5)*deltaTclock
cQQ O2lev4(i,j,it,bi,bj)=O2lev4(i,j,it,bi,bj)+
cQQ & PTRACER(i,j,4,bi,bj,5)*deltaTclock
ENDDO
ENDDO
ENDDO
ENDDO
cswdmonth-end--
#endif
c
RETURN
END
cswd -- end added subroutine --