forked from altMITgcm/MITgcm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
seaice_cost_areasst.F
97 lines (84 loc) · 2.46 KB
/
seaice_cost_areasst.F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
C $Header: /u/gcmpack/MITgcm/pkg/seaice/seaice_cost_areasst.F,v 1.8 2014/10/20 03:20:57 gforget Exp $
C $Name: $
#include "SEAICE_OPTIONS.h"
#ifdef ALLOW_COST
#include "COST_OPTIONS.h"
#endif
#ifdef ALLOW_ECCO
#include "ECCO_OPTIONS.h"
#endif
#ifdef ALLOW_CTRL
#include "CTRL_OPTIONS.h"
#endif
#ifdef ALLOW_AUTODIFF
# include "AUTODIFF_OPTIONS.h"
#endif
subroutine seaice_cost_areasst(
& nnzbar, localbarfile, localbar, xx_localbar_mean_dummy,
& nnzobs, localobsfile, localobs, mult_local,
& nrecloc, localstartdate, localperiod,
& localmask, localweight,
& spminloc, spmaxloc, spzeroloc,
& objf_local, num_local,
& myiter, mytime, mythid )
c ==================================================================
c SUBROUTINE seaice_cost_areasst
c ==================================================================
c
c o Based on cost_generic
c o in case where there is observed sea-ice we not only constrain
c model(area)=obs(area) but also model(sst)@freezing point
c
c ==================================================================
c SUBROUTINE seaice_cost_areasst
c ==================================================================
implicit none
c == global variables ==
#include "EEPARAMS.h"
#include "SIZE.h"
#include "PARAMS.h"
#ifdef ALLOW_CAL
# include "cal.h"
#endif
#include "SEAICE_SIZE.h"
#include "SEAICE_PARAMS.h"
#include "SEAICE.h"
#include "SEAICE_COST.h"
#ifdef ALLOW_ECCO
# include "ecco_cost.h"
#endif
#ifdef ALLOW_CTRL
# include "optim.h"
# include "CTRL_SIZE.h"
# include "ctrl.h"
# include "ctrl_dummy.h"
#endif
c == routine arguments ==
integer nnzbar
integer nnzobs
integer nrecloc
integer myiter
integer mythid
integer localstartdate(4)
_RL localbar (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
_RL localobs (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
_RL localweight(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
_RL localmask (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
_RL xx_localbar_mean_dummy
_RL mult_local
_RL mytime
_RL localperiod
_RL spminloc
_RL spmaxloc
_RL spzeroloc
_RL objf_local(nsx,nsy)
_RL num_local(nsx,nsy)
character*(MAX_LEN_FNAM) localbarfile
character*(MAX_LEN_FNAM) localobsfile
#ifdef ALLOW_ECCO
#ifdef ALLOW_COST
c == local variables ==
#endif /* ifdef ALLOW_COST */
#endif /* ifdef ALLOW_ECCO */
return
end