/[MITgcm]/MITgcm/pkg/seaice/seaice_cost_driver.F
ViewVC logotype

Contents of /MITgcm/pkg/seaice/seaice_cost_driver.F

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


Revision 1.11 - (show annotations) (download)
Mon Mar 15 18:31:11 2010 UTC (14 years, 3 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint63p, checkpoint63q, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint63, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x
Changes since 1.10: +65 -19 lines
Merge/update IF seaice_cost routines.

1 C $Header: /u/gcmpack/MITgcm/pkg/seaice/seaice_cost_driver.F,v 1.10 2010/02/15 23:57:57 jmc Exp $
2 C $Name: $
3
4 #include "SEAICE_OPTIONS.h"
5
6 subroutine seaice_cost_driver( myiter, mytime, mythid )
7
8 c ==================================================================
9 c SUBROUTINE seaice_cost_driver
10 c ==================================================================
11 c
12 c o Evaluate cost function contributions of
13 c seaice observations
14 c
15 c ==================================================================
16 c SUBROUTINE seaice_cost_driver
17 c ==================================================================
18
19 implicit none
20
21 c == global variables ==
22 #include "EEPARAMS.h"
23 #include "SIZE.h"
24 #include "PARAMS.h"
25 #include "GRID.h"
26
27 #ifdef ALLOW_CAL
28 # include "cal.h"
29 #endif
30 #ifdef ALLOW_COST
31 # include "ctrl.h"
32 # include "ctrl_dummy.h"
33 # ifdef ALLOW_ECCO
34 # include "ecco_cost.h"
35 # endif
36 # include "SEAICE_COST.h"
37 #endif
38
39 c == routine arguments ==
40
41 integer myiter
42 _RL mytime
43 integer mythid
44
45 #ifdef ALLOW_ECCO
46 c == local variables ==
47 character*(max_len_mbuf) msgbuf
48
49 integer nnzbar
50 integer nnzobs
51 integer nrecloc
52 _RL spminloc
53 _RL spmaxloc
54 _RL spzeroloc
55 _RL localperiod
56
57 c == end of interface ==
58
59 if (useSEAICE) then
60
61 #ifdef ALLOW_SEAICE_COST_SMR_AREA
62
63 write(msgbuf,'(a)') 'ph-cost call cost_smrarea'
64 call print_message( msgbuf, standardmessageunit,
65 & SQUEEZE_RIGHT , mythid)
66 nnzbar = 1
67 nnzobs = 1
68
69 nrecloc = ndaysrec
70 spminloc = 0.0
71 spmaxloc = 1.0
72 spzeroloc = -1.
73 localperiod = 86400.
74
75 call seaice_cost_concentration(
76 & nnzbar, smrareabarfile, smrareabar, xx_smrareabar_mean_dummy,
77 & nnzobs, smrareadatfile, smrareadat, mult_smrarea,
78 & nrecloc, modelstartdate, localperiod,
79 & maskC, wsmrarea,
80 & spminloc, spmaxloc, spzeroloc,
81 & objf_smrarea, num_smrarea,
82 & myiter, mytime, mythid )
83
84 c read the area dat file and compare against the averaged sst file
85 call seaice_cost_sst(
86 & nnzbar, smrsstbarfile, smrsstbar, xx_smrsstbar_mean_dummy,
87 & smrareabarfile, smrareabar, xx_smrareabar_mean_dummy,
88 & nnzobs, smrareadatfile, smrareadat, mult_smrsst,
89 & nrecloc, modelstartdate, localperiod,
90 & maskC, wsmrarea,
91 & spminloc, spmaxloc, spzeroloc,
92 & objf_smrsst, num_smrsst,
93 & myiter, mytime, mythid )
94
95 c read the area dat file and compare against the averaged salinity file
96 call seaice_cost_sss(
97 & nnzbar, smrsssbarfile, smrsssbar, xx_smrsssbar_mean_dummy,
98 & smrareabarfile, smrareabar, xx_smrareabar_mean_dummy,
99 & nnzobs, smrareadatfile, smrareadat, mult_smrsss,
100 & nrecloc, modelstartdate, localperiod,
101 & maskC, wsmrarea,
102 & spminloc, spmaxloc, spzeroloc,
103 & objf_smrsss, num_smrsss,
104 & myiter, mytime, mythid )
105
106 print *,' SICD cost smrarea/sst/sss ',objf_smrarea,
107 & objf_smrsst,objf_smrsss
108 print *,' SICD num points smrarea/sst/sss ',num_smrarea,
109 & num_smrsst,num_smrsss
110
111 # ifndef ALLOW_SEAICE_COST_AREASST
112 c-- write(msgbuf,'(a)') 'ph-cost call cost_smrarea'
113 c-- call print_message( msgbuf, standardmessageunit,
114 c-- & SQUEEZE_RIGHT , mythid)
115 c-- nnzbar = 1
116 c-- nnzobs = 1
117 c--cph(
118 c-- nrecloc = ndaysrec
119 c--cph hard-coding for ECCO
120 c--cph nrecloc = 4383
121 c--cph)
122 c-- spminloc = 0.
123 c-- spmaxloc = 1.
124 c-- spzeroloc = -9999.
125 c-- localperiod = 86400.
126 c-- call cost_generic(
127 c-- & nnzbar, smrareabarfile, smrareabar, xx_smrareabar_mean_dummy,
128 c-- & nnzobs, smrareadatfile, mult_smrarea,
129 c-- & nrecloc, modelstartdate, localperiod,
130 c-- & 'C', wsmrarea,
131 c-- & spminloc, spmaxloc, spzeroloc,
132 c-- & objf_smrarea, num_smrarea,
133 c-- & myiter, mytime, mythid )
134
135 c-- write(msgbuf,'(a,1P2E18.10)')
136 c-- & 'ph-cost smrarea ', objf_smrarea(1,1), num_smrarea(1,1)
137 c-- call print_message( msgbuf, standardmessageunit,
138 c-- & SQUEEZE_RIGHT , mythid)
139 # endif /* ALLOW_SEAICE_COST_AREASST */
140
141 #endif
142
143 endif
144
145 #endif /* ALLOW_ECCO */
146
147 end

  ViewVC Help
Powered by ViewVC 1.1.22