1 |
C $Header: /u/gcmpack/MITgcm/pkg/profiles/profiles.h,v 1.20 2017/04/03 23:16:38 ou.wang Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
C=========================================================== |
5 |
C variables |
6 |
C=========================================================== |
7 |
_RL prof_time(NFILESPROFMAX,NOBSGLOB,nsx,nsy), |
8 |
& prof_lon(NFILESPROFMAX,NOBSGLOB,nsx,nsy), |
9 |
& prof_lat(NFILESPROFMAX,NOBSGLOB,nsx,nsy) |
10 |
|
11 |
_RL prof_interp_xC11(NFILESPROFMAX,NOBSGLOB,nsx,nsy) |
12 |
_RL prof_interp_yC11(NFILESPROFMAX,NOBSGLOB,nsx,nsy) |
13 |
_RL prof_interp_xCNINJ(NFILESPROFMAX,NOBSGLOB,nsx,nsy) |
14 |
_RL prof_interp_yCNINJ(NFILESPROFMAX,NOBSGLOB,nsx,nsy) |
15 |
_RL prof_interp_weights(NFILESPROFMAX,NOBSGLOB, |
16 |
& NUM_INTERP_POINTS,nsx,nsy) |
17 |
integer prof_interp_i(NFILESPROFMAX,NOBSGLOB, |
18 |
& NUM_INTERP_POINTS,nsx,nsy) |
19 |
integer prof_interp_j(NFILESPROFMAX,NOBSGLOB, |
20 |
& NUM_INTERP_POINTS,nsx,nsy) |
21 |
|
22 |
integer prof_ind_glob(NFILESPROFMAX,NOBSGLOB,nsx,nsy) |
23 |
_RL prof_depth(NFILESPROFMAX,NLEVELMAX,nsx,nsy) |
24 |
_RL prof_mask1D_cur(NLEVELMAX,nsx,nsy) |
25 |
_RL prof_etan_mean(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
26 |
_RL prof_theta_mean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
27 |
_RL prof_salt_mean(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
28 |
|
29 |
integer profNo(NFILESPROFMAX,nsx,nsy) |
30 |
integer profDepthNo(NFILESPROFMAX,nsx,nsy) |
31 |
|
32 |
logical vec_quantities(NFILESPROFMAX,NVARMAX,nsx,nsy) |
33 |
integer fidforward(NFILESPROFMAX,nsx,nsy), |
34 |
& fidadjoint(NFILESPROFMAX,nsx,nsy), |
35 |
& fidtangent(NFILESPROFMAX,nsx,nsy) |
36 |
integer fiddata(NFILESPROFMAX,nsx,nsy) |
37 |
character*(8) prof_names(NFILESPROFMAX,NVARMAX) |
38 |
character*(8) prof_namesmod(NFILESPROFMAX,NVARMAX) |
39 |
character*(12) prof_namesmask(NFILESPROFMAX,NVARMAX) |
40 |
character*(14) prof_namesweight(NFILESPROFMAX,NVARMAX) |
41 |
#ifdef ALLOW_PROFILES_CLIMMASK |
42 |
character*(12) prof_namesclim(NFILESPROFMAX,NVARMAX) |
43 |
#endif |
44 |
integer prof_itracer(NFILESPROFMAX,NVARMAX) |
45 |
|
46 |
_RL profiles_data_buff(NLEVELMAX,1000,NVARMAX,nsx,nsy) |
47 |
_RL profiles_weight_buff(NLEVELMAX,1000,NVARMAX,nsx,nsy) |
48 |
integer profiles_minind_buff(nsx,nsy) |
49 |
integer profiles_maxind_buff(nsx,nsy) |
50 |
integer profiles_curfile_buff(nsx,nsy) |
51 |
|
52 |
logical profilesDoNcOutput, profilesDoGenGrid |
53 |
integer prof_num_var_tot(NFILESPROFMAX,nsx,nsy) |
54 |
integer prof_num_var_cur(NFILESPROFMAX,NVARMAX,nsx,nsy) |
55 |
|
56 |
#ifdef ALLOW_PROFILES_SAMPLESPLIT_COST |
57 |
integer prof_ind_avgbin(NFILESPROFMAX,NOBSGLOB,nsx,nsy) |
58 |
integer NLEVELCOMB, NAVGBIN |
59 |
_RL NLEVELCOMBRL, NAVGBINRL |
60 |
C number of independent samples |
61 |
integer profiles_mean_indsamples(NVARMAX) |
62 |
_RL prof_depth_comb(NLEVELCOMBMAX,nsx,nsy) |
63 |
integer prof_lev_comb(NLEVELMAX,NFILESPROFMAX,nsx,nsy) |
64 |
integer avgbinglbsum(NAVGBINMAX) |
65 |
_RL prof_data1D_all_mean(NAVGBINMAX,NLEVELCOMBMAX, |
66 |
&NVARMAX) |
67 |
_RL prof_traj1D_all_mean(NAVGBINMAX,NLEVELCOMBMAX, |
68 |
&NVARMAX) |
69 |
_RL prof_weights1D_all_mean(NAVGBINMAX,NLEVELCOMBMAX, |
70 |
&NVARMAX) |
71 |
_RL prof_count1D_all_mean(NAVGBINMAX,NLEVELCOMBMAX, |
72 |
&NVARMAX) |
73 |
#endif |
74 |
|
75 |
C=========================================================== |
76 |
C Common Blocks |
77 |
C=========================================================== |
78 |
|
79 |
COMMON /profiles_r/ prof_time, prof_lon, prof_lat, |
80 |
& prof_depth, prof_mask1D_cur, |
81 |
& prof_etan_mean, prof_theta_mean, prof_salt_mean |
82 |
#ifdef ALLOW_PROFILES_SAMPLESPLIT_COST |
83 |
COMMON /profiles_r2/ |
84 |
& prof_depth_comb |
85 |
&,prof_data1D_all_mean |
86 |
&,prof_traj1D_all_mean |
87 |
&,prof_weights1D_all_mean |
88 |
&,prof_count1D_all_mean |
89 |
&,NLEVELCOMBRL, NAVGBINRL |
90 |
#endif |
91 |
COMMON /profiles_i/ prof_ind_glob, profNo, profDepthNo, |
92 |
& fidforward, fidadjoint, fidtangent, fiddata, |
93 |
& prof_num_var_tot, prof_num_var_cur, prof_itracer |
94 |
#ifdef ALLOW_PROFILES_SAMPLESPLIT_COST |
95 |
COMMON /profiles_i2/ |
96 |
& prof_ind_avgbin, NLEVELCOMB, NAVGBIN |
97 |
&,prof_lev_comb |
98 |
&,avgbinglbsum |
99 |
&,profiles_mean_indsamples |
100 |
#endif |
101 |
|
102 |
COMMON /profiles_l/ vec_quantities, profilesDoNcOutput, |
103 |
& profilesDoGenGrid |
104 |
COMMON /profiles_c/ prof_names, prof_namesmask, |
105 |
& prof_namesweight, prof_namesmod |
106 |
#ifdef ALLOW_PROFILES_CLIMMASK |
107 |
COMMON /profiles_l2/ |
108 |
& prof_namesclim |
109 |
#endif |
110 |
|
111 |
COMMON /profiles_GenericGrid_r/ prof_interp_weights, |
112 |
& prof_interp_xC11, prof_interp_yC11, |
113 |
& prof_interp_xCNINJ, prof_interp_yCNINJ |
114 |
COMMON /profiles_GenericGrid_i/ |
115 |
& prof_interp_i, prof_interp_j |
116 |
|
117 |
COMMON /profiles_buff_r/ profiles_data_buff, profiles_weight_buff |
118 |
COMMON /profiles_buff_i/ |
119 |
& profiles_minind_buff, profiles_maxind_buff, profiles_curfile_buff |
120 |
|
121 |
|
122 |
COMMON /profiles_cost_r/ |
123 |
& objf_profiles, |
124 |
& num_profiles, |
125 |
& mult_profiles, |
126 |
& prof_facmod |
127 |
& ,objf_profiles_mean, |
128 |
& num_profiles_mean, |
129 |
& mult_profiles_mean |
130 |
|
131 |
_RL objf_profiles(NFILESPROFMAX,NVARMAX,nsx,nsy) |
132 |
_RL num_profiles(NFILESPROFMAX,NVARMAX,nsx,nsy) |
133 |
_RL mult_profiles(NFILESPROFMAX,NVARMAX) |
134 |
_RL prof_facmod(NFILESPROFMAX,NVARMAX) |
135 |
_RL objf_profiles_mean(NVARMAX,nsx,nsy) |
136 |
_RL num_profiles_mean(NVARMAX,nsx,nsy) |
137 |
_RL mult_profiles_mean(NVARMAX) |
138 |
|
139 |
COMMON /profiles_cost_c/ |
140 |
& profilesDir, profilesfiles |
141 |
character*(MAX_LEN_FNAM) profilesDir |
142 |
character*(MAX_LEN_FNAM) profilesfiles(NFILESPROFMAX) |
143 |
|
144 |
COMMON /profiles_ctrl_dummy/ |
145 |
& profiles_dummy |
146 |
_RL profiles_dummy(NFILESPROFMAX,NVARMAX,nsx,nsy) |
147 |
|
148 |
|