3 use mct_mod,
only: mct_avect_init, mct_avect_indexra, mct_avect_clean, mct_avect
4 use seq_flds_mod,
only: ice_ncat, seq_flds_i2o_per_cat
5 use seq_flds_mod,
only: seq_flds_x2o_fields, seq_flds_o2x_fields
16 integer :: o2x_so_dhdx
17 integer :: o2x_so_dhdy
18 integer :: o2x_so_bldepth
20 integer :: o2x_faoo_fco2_ocn
21 integer :: o2x_faoo_fdms_ocn
24 integer :: x2o_si_ifrac
25 integer :: x2o_so_duu10n
26 integer :: x2o_sa_pslv
27 integer :: x2o_sa_co2prog
28 integer :: x2o_sa_co2diag
29 integer :: x2o_sw_lamult
30 integer :: x2o_sw_ustokes
31 integer :: x2o_sw_vstokes
32 integer :: x2o_foxx_taux
33 integer :: x2o_foxx_tauy
34 integer :: x2o_foxx_swnet
35 integer :: x2o_foxx_sen
36 integer :: x2o_foxx_lat
37 integer :: x2o_foxx_lwup
38 integer :: x2o_faxa_lwdn
39 integer :: x2o_faxa_swvdr
40 integer :: x2o_faxa_swvdf
41 integer :: x2o_faxa_swndr
42 integer :: x2o_faxa_swndf
43 integer :: x2o_fioi_melth
44 integer :: x2o_fioi_meltw
45 integer :: x2o_fioi_bcpho
46 integer :: x2o_fioi_bcphi
47 integer :: x2o_fioi_flxdst
48 integer :: x2o_fioi_salt
49 integer :: x2o_foxx_evap
50 integer :: x2o_faxa_prec
51 integer :: x2o_faxa_snow
52 integer :: x2o_faxa_rain
53 integer :: x2o_faxa_bcphidry
54 integer :: x2o_faxa_bcphodry
55 integer :: x2o_faxa_bcphiwet
56 integer :: x2o_faxa_ocphidry
57 integer :: x2o_faxa_ocphodry
58 integer :: x2o_faxa_ocphiwet
59 integer :: x2o_faxa_dstwet1
60 integer :: x2o_faxa_dstwet2
61 integer :: x2o_faxa_dstwet3
62 integer :: x2o_faxa_dstwet4
63 integer :: x2o_faxa_dstdry1
64 integer :: x2o_faxa_dstdry2
65 integer :: x2o_faxa_dstdry3
66 integer :: x2o_faxa_dstdry4
67 integer :: x2o_foxx_rofl
68 integer :: x2o_foxx_rofi
71 integer,
dimension(:),
allocatable :: x2o_frac_col
72 integer,
dimension(:),
allocatable :: x2o_fracr_col
74 integer,
dimension(:),
allocatable :: x2o_qsw_fracr_col
88 type(mct_avect) :: o2x
89 type(mct_avect) :: x2o
91 character(len=2) :: cncat
94 integer :: lmcog_flds_sent
97 call mct_avect_init(x2o, rlist=seq_flds_x2o_fields, lsize=1)
98 call mct_avect_init(o2x, rlist=seq_flds_o2x_fields, lsize=1)
101 ind%o2x_So_t = mct_avect_indexra(o2x,
'So_t')
102 ind%o2x_So_u = mct_avect_indexra(o2x,
'So_u')
103 ind%o2x_So_v = mct_avect_indexra(o2x,
'So_v')
104 ind%o2x_So_s = mct_avect_indexra(o2x,
'So_s')
105 ind%o2x_So_dhdx = mct_avect_indexra(o2x,
'So_dhdx')
106 ind%o2x_So_dhdy = mct_avect_indexra(o2x,
'So_dhdy')
107 ind%o2x_So_bldepth = mct_avect_indexra(o2x,
'So_bldepth')
108 ind%o2x_Fioo_q = mct_avect_indexra(o2x,
'Fioo_q')
109 ind%o2x_Faoo_fco2_ocn = mct_avect_indexra(o2x,
'Faoo_fco2_ocn',perrwith=
'quiet')
110 ind%o2x_Faoo_fdms_ocn = mct_avect_indexra(o2x,
'Faoo_fdms_ocn',perrwith=
'quiet')
113 ind%x2o_Si_ifrac = mct_avect_indexra(x2o,
'Si_ifrac')
114 ind%x2o_Sa_pslv = mct_avect_indexra(x2o,
'Sa_pslv')
115 ind%x2o_So_duu10n = mct_avect_indexra(x2o,
'So_duu10n')
116 ind%x2o_Sw_lamult = mct_avect_indexra(x2o,
'Sw_lamult')
117 ind%x2o_Sw_ustokes = mct_avect_indexra(x2o,
'Sw_ustokes')
118 ind%x2o_Sw_vstokes = mct_avect_indexra(x2o,
'Sw_vstokes')
119 ind%x2o_Foxx_tauy = mct_avect_indexra(x2o,
'Foxx_tauy')
120 ind%x2o_Foxx_taux = mct_avect_indexra(x2o,
'Foxx_taux')
121 ind%x2o_Foxx_swnet = mct_avect_indexra(x2o,
'Foxx_swnet')
122 ind%x2o_Foxx_lat = mct_avect_indexra(x2o,
'Foxx_lat')
123 ind%x2o_Foxx_sen = mct_avect_indexra(x2o,
'Foxx_sen')
124 ind%x2o_Foxx_lwup = mct_avect_indexra(x2o,
'Foxx_lwup')
125 ind%x2o_Faxa_lwdn = mct_avect_indexra(x2o,
'Faxa_lwdn')
126 ind%x2o_Faxa_swvdr = mct_avect_indexra(x2o,
'Faxa_swvdr',perrwith=
'quiet')
127 ind%x2o_Faxa_swvdf = mct_avect_indexra(x2o,
'Faxa_swvdf',perrwith=
'quiet')
128 ind%x2o_Faxa_swndr = mct_avect_indexra(x2o,
'Faxa_swndr',perrwith=
'quiet')
129 ind%x2o_Faxa_swndf = mct_avect_indexra(x2o,
'Faxa_swndf',perrwith=
'quiet')
130 ind%x2o_Fioi_melth = mct_avect_indexra(x2o,
'Fioi_melth')
131 ind%x2o_Fioi_meltw = mct_avect_indexra(x2o,
'Fioi_meltw')
132 ind%x2o_Fioi_salt = mct_avect_indexra(x2o,
'Fioi_salt')
133 ind%x2o_Fioi_bcpho = mct_avect_indexra(x2o,
'Fioi_bcpho')
134 ind%x2o_Fioi_bcphi = mct_avect_indexra(x2o,
'Fioi_bcphi')
135 ind%x2o_Fioi_flxdst = mct_avect_indexra(x2o,
'Fioi_flxdst')
136 ind%x2o_Faxa_prec = mct_avect_indexra(x2o,
'Faxa_prec')
137 ind%x2o_Faxa_snow = mct_avect_indexra(x2o,
'Faxa_snow')
138 ind%x2o_Faxa_rain = mct_avect_indexra(x2o,
'Faxa_rain')
139 ind%x2o_Foxx_evap = mct_avect_indexra(x2o,
'Foxx_evap')
140 ind%x2o_Foxx_rofl = mct_avect_indexra(x2o,
'Foxx_rofl')
141 ind%x2o_Foxx_rofi = mct_avect_indexra(x2o,
'Foxx_rofi')
142 ind%x2o_Faxa_bcphidry = mct_avect_indexra(x2o,
'Faxa_bcphidry')
143 ind%x2o_Faxa_bcphodry = mct_avect_indexra(x2o,
'Faxa_bcphodry')
144 ind%x2o_Faxa_bcphiwet = mct_avect_indexra(x2o,
'Faxa_bcphiwet')
145 ind%x2o_Faxa_ocphidry = mct_avect_indexra(x2o,
'Faxa_ocphidry')
146 ind%x2o_Faxa_ocphodry = mct_avect_indexra(x2o,
'Faxa_ocphodry')
147 ind%x2o_Faxa_ocphiwet = mct_avect_indexra(x2o,
'Faxa_ocphiwet')
148 ind%x2o_Faxa_dstdry1 = mct_avect_indexra(x2o,
'Faxa_dstdry1')
149 ind%x2o_Faxa_dstdry2 = mct_avect_indexra(x2o,
'Faxa_dstdry2')
150 ind%x2o_Faxa_dstdry3 = mct_avect_indexra(x2o,
'Faxa_dstdry3')
151 ind%x2o_Faxa_dstdry4 = mct_avect_indexra(x2o,
'Faxa_dstdry4')
152 ind%x2o_Faxa_dstwet1 = mct_avect_indexra(x2o,
'Faxa_dstwet1')
153 ind%x2o_Faxa_dstwet2 = mct_avect_indexra(x2o,
'Faxa_dstwet2')
154 ind%x2o_Faxa_dstwet3 = mct_avect_indexra(x2o,
'Faxa_dstwet3')
155 ind%x2o_Faxa_dstwet4 = mct_avect_indexra(x2o,
'Faxa_dstwet4')
156 ind%x2o_Sa_co2prog = mct_avect_indexra(x2o,
'Sa_co2prog',perrwith=
'quiet')
157 ind%x2o_Sa_co2diag = mct_avect_indexra(x2o,
'Sa_co2diag',perrwith=
'quiet')
162 lmcog_flds_sent = seq_flds_i2o_per_cat
164 if (seq_flds_i2o_per_cat)
then
165 mcog_ncols = ice_ncat+1
166 allocate(ind%x2o_frac_col(mcog_ncols))
167 allocate(ind%x2o_fracr_col(mcog_ncols))
168 allocate(ind%x2o_qsw_fracr_col(mcog_ncols))
170 ind%x2o_frac_col(ncol) = mct_avect_indexra(x2o,
'Sf_afrac')
171 ind%x2o_fracr_col(ncol) = mct_avect_indexra(x2o,
'Sf_afracr')
172 ind%x2o_qsw_fracr_col(ncol) = mct_avect_indexra(x2o,
'Foxx_swnet_afracr')
174 do ncat = 1, ice_ncat
175 write(cncat,
'(i2.2)') ncat
177 ind%x2o_frac_col(ncol) = mct_avect_indexra(x2o,
'Si_ifrac_'//cncat)
178 ind%x2o_fracr_col(ncol) = ind%x2o_frac_col(ncol)
179 ind%x2o_qsw_fracr_col(ncol) = mct_avect_indexra(x2o,
'PFioi_swpen_ifrac_'//cncat)
185 call mct_avect_clean(x2o)
186 call mct_avect_clean(o2x)