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

Annotation of /MITgcm/pkg/dic/dic_cost.F

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


Revision 1.10 - (hide annotations) (download)
Tue Apr 8 20:21:35 2008 UTC (16 years, 1 month ago) by dfer
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint61b, checkpoint61c, checkpoint61a
Changes since 1.9: +1 -8 lines
Moving forcing-related filenames and parameters from gchem to dic/cfc

1 dfer 1.10 C $Header: /u/gcmpack/MITgcm/pkg/dic/dic_cost.F,v 1.9 2008/04/07 20:31:16 dfer Exp $
2 jmc 1.4 C $Name: $
3    
4 edhill 1.3 #include "DIC_OPTIONS.h"
5 stephd 1.1
6     CStartOfInterFace
7     SUBROUTINE DIC_COST (
8     I myTime,myIter,myThid)
9    
10     C /==========================================================\
11     C | SUBROUTINE DIC_COST i |
12     C |==========================================================|
13     IMPLICIT NONE
14    
15     C == GLobal variables ==
16     #include "SIZE.h"
17     #include "DYNVARS.h"
18     #include "EEPARAMS.h"
19     #include "PARAMS.h"
20     #include "GRID.h"
21 dfer 1.8 #include "DIC_VARS.h"
22 stephd 1.1 #ifdef DIC_BIOTIC
23     #include "DIC_DIAGS.h"
24 stephd 1.2 #include "DIC_COST.h"
25 stephd 1.1 #endif
26    
27     C == Routine arguments ==
28     INTEGER myIter
29     _RL myTime
30     INTEGER myThid
31    
32     #ifdef ALLOW_DIC_COST
33    
34     C == Local variables ==
35     INTEGER i, j, bi, bj, k, it
36     c
37 stephd 1.2 _RL po4cost, o2cost, sumvol
38 stephd 1.1 _RL po4costm, o2costm, sumvolm
39     c
40     c calculate costfunction
41    
42 stephd 1.2 _BEGIN_MASTER(myThid)
43 stephd 1.1
44     sumvol= 0. _d 0
45     po4cost= 0. _d 0
46     o2cost=0.d0
47     cswdmonth-add--
48 stephd 1.2 sumvolm=0.d0
49 stephd 1.1 po4costm=0.d0
50     o2costm=0.d0
51     cswdmonth -- end add --
52    
53     DO bj=myByLo(myThid),myByHi(myThid)
54     DO bi=myBxLo(myThid),myBxHi(myThid)
55     DO i=1,sNx
56     DO j=1,sNy
57     do k=1,nR
58     sumvol=sumvol+
59     & rA(i,j,bi,bj)*drF(k)*maskC(i,j,k,bi,bj)
60     po4cost=po4cost+
61     & (po4ann(i,j,k,bi,bj)-po4obs(i,j,k,bi,bj))**2
62     & /po4var(k)
63     & *rA(i,j,bi,bj)*drF(k)*maskC(i,j,k,bi,bj)
64     o2cost=o2cost+
65     & (o2ann(i,j,k,bi,bj)-o2obs(i,j,k,bi,bj))**2
66     & /o2var(k)
67     & *rA(i,j,bi,bj)*drF(k)*maskC(i,j,k,bi,bj)
68     enddo
69     cswdmonth-add--
70     do k=1,4
71     sumvolm=sumvolm+
72     & rA(i,j,bi,bj)*drF(k)*maskC(i,j,k,bi,bj)
73     enddo
74     do it=1,12
75     po4costm=po4costm+
76     & (po4lev1(i,j,it,bi,bj)-po4obsl1(i,j,it,bi,bj))**2
77     & /po4varm(it,1)
78     & *rA(i,j,bi,bj)*drF(1)*maskC(i,j,1,bi,bj) +
79     & (po4lev2(i,j,it,bi,bj)-po4obsl2(i,j,it,bi,bj))**2
80     & /po4varm(it,2)
81     & *rA(i,j,bi,bj)*drF(2)*maskC(i,j,2,bi,bj) +
82     & (po4lev3(i,j,it,bi,bj)-po4obsl3(i,j,it,bi,bj))**2
83     & /po4varm(it,3)
84 jmc 1.6 & *rA(i,j,bi,bj)*drF(3)*maskC(i,j,3,bi,bj)
85 stephd 1.1 cQQ & (po4lev4(i,j,it,bi,bj)-po4obsl4(i,j,it,bi,bj))**2
86     cQQ & /po4varm(it,4)
87 jmc 1.6 cQQ & *rA(i,j,bi,bj)*drF(4)*maskC(i,j,4,bi,bj)
88 stephd 1.1 o2costm=o2costm+
89     & (o2lev1(i,j,it,bi,bj)-o2obsl1(i,j,it,bi,bj))**2
90     & /o2varm(it,1)
91     & *rA(i,j,bi,bj)*drF(1)*maskC(i,j,1,bi,bj) +
92     & (o2lev2(i,j,it,bi,bj)-o2obsl2(i,j,it,bi,bj))**2
93     & /o2varm(it,2)
94     & *rA(i,j,bi,bj)*drF(2)*maskC(i,j,2,bi,bj) +
95     & (o2lev3(i,j,it,bi,bj)-o2obsl3(i,j,it,bi,bj))**2
96     & /o2varm(it,3)
97 jmc 1.6 & *rA(i,j,bi,bj)*drF(3)*maskC(i,j,3,bi,bj)
98 stephd 1.1 cQQ & (O2lev4(i,j,it,bi,bj)-o2obsl4(i,j,it,bi,bj))**2
99     cQQ & /o2varm(it,4)
100     cQQ & *rA(i,j,bi,bj)*drF(4)*maskC(i,j,4,bi,bj)
101    
102     enddo
103     cswdmonth -end-
104     ENDDO
105     ENDDO
106     ENDDO
107     ENDDO
108     po4cost=po4cost/sumvol
109     o2cost=o2cost/sumvol
110     cswdmonth-add
111     po4costm=po4costm/sumvolm/12.d0
112     o2costm=o2costm/sumvolm/12.d0
113     cswdmonth-end
114     totcost=po4cost+o2cost+po4costm+o2costm
115    
116     print*,'COST ',totcost, po4cost, o2cost,po4costm,o2costm
117    
118 stephd 1.2 _END_MASTER(myThid)
119 stephd 1.1 c
120     #endif
121     RETURN
122     END
123     cswd -- end added subroutine --

  ViewVC Help
Powered by ViewVC 1.1.22