32
32
namespace rrtmgp_kernels
33
33
{
34
34
extern " C" void rte_sum_broadband (
35
- int * ncol, int * nlev, int * ngpt,
36
- Float* spectral_flux, Float* broadband_flux);
35
+ int * ncol,
36
+ int * nlev,
37
+ int * ngpt,
38
+ Float* spectral_flux,
39
+ Float* broadband_flux);
37
40
38
41
extern " C" void rte_net_broadband_precalc (
39
- int * ncol, int * nlev,
40
- Float* broadband_flux_dn, Float* broadband_flux_up,
42
+ int * ncol,
43
+ int * nlev,
44
+ Float* broadband_flux_dn,
45
+ Float* broadband_flux_up,
41
46
Float* broadband_flux_net);
42
47
43
48
extern " C" void sum_byband (
44
- int * ncol, int * nlev, int * ngpt, int * nbnd,
49
+ int * ncol,
50
+ int * nlev,
51
+ int * ngpt,
52
+ int * nbnd,
45
53
int * band_lims,
46
54
Float* spectral_flux,
47
55
Float* byband_flux);
48
56
49
57
extern " C" void net_byband_precalc (
50
- int * ncol, int * nlev, int * nbnd,
51
- Float* byband_flux_dn, Float* byband_flux_up,
58
+ int * ncol,
59
+ int * nlev,
60
+ int * nbnd,
61
+ Float* byband_flux_dn,
62
+ Float* byband_flux_up,
52
63
Float* byband_flux_net);
53
64
54
65
extern " C" void zero_array_3D (
55
- int * ni, int * nj, int * nk, Float* array);
66
+ int * ni,
67
+ int * nj,
68
+ int * nk,
69
+ Float* array);
56
70
57
71
extern " C" void zero_array_4D (
58
- int * ni, int * nj, int * nk, int * nl, Float* array);
72
+ int * ni,
73
+ int * nj,
74
+ int * nk,
75
+ int * nl,
76
+ Float* array);
59
77
60
78
extern " C" void rrtmgp_interpolation (
61
79
int * ncol, int * nlay,
@@ -123,7 +141,7 @@ namespace rrtmgp_kernels
123
141
Float* fmajor, int * jeta, Bool* tropo, int * jtemp, int * jpress,
124
142
int * gpoint_bands, int * band_lims_gpt, Float* pfracin, Float* temp_ref_min,
125
143
Float* totplnk_delta, Float* totplnk, int * gpoint_flavor,
126
- Float* sfc_src, Float* lay_src, Float* lev_src, Float* lev_source_dec,
144
+ Float* sfc_src, Float* lay_src, Float* lev_src,
127
145
Float* sfc_src_jac);
128
146
129
147
extern " C" void rrtmgp_compute_tau_rayleigh (
@@ -137,42 +155,113 @@ namespace rrtmgp_kernels
137
155
Bool* tropo, int * jtemp,
138
156
Float* tau_rayleigh);
139
157
158
+ /*
140
159
extern "C" void apply_BC_0(
141
- int * ncol, int * nlay, int * ngpt,
142
- Bool* top_at_1, Float* gpt_flux_dn);
160
+ const int& ncol,
161
+ const int& nlay,
162
+ const int& ngpt,
163
+ const Bool& top_at_1,
164
+ Float* gpt_flux_dn);
143
165
144
166
extern "C" void apply_BC_gpt(
145
- int * ncol, int * nlay, int * ngpt,
146
- Bool* top_at_1, Float* inc_flux, Float* gpt_flux_dn);
167
+ const int& ncol,
168
+ const int& nlay,
169
+ const int& ngpt,
170
+ const Bool& top_at_1,
171
+ const Float* inc_flux,
172
+ Float* gpt_flux_dn);
173
+ */
174
+
175
+ // ROBERTS REF: REMOVE COMMENTS.
176
+ // void rte_lw_solver_noscat(
177
+ // const int& ncol,
178
+ // const int& nlay,
179
+ // const int& ngpt,
180
+ // const Bool& top_at_1,
181
+ // const int& nmus,
182
+ // const Float* secants, // (nmus)
183
+ // const Float* weights, // (nmus)
184
+ // const Float* tau, // (ncol,nlay, ngpt)
185
+ // const Float* lay_source, // (ncol,nlay, ngpt)
186
+ // const Float* lev_source, // (ncol,nlay+1,ngpt)
187
+ // const Float* sfc_emis, // (ncol, ngpt)
188
+ // const Float* sfc_src, // (ncol, ngpt)
189
+ // const Float* inc_flux, // (ncol, ngpt)
190
+ // Float* flux_up, // [out] (ncol,nlay+1,ngpt)
191
+ // Float* flux_dn, // [out] (ncol,nlay+1,ngpt)
192
+ // const Bool& do_broadband,
193
+ // Float* broadband_up,
194
+ // // [out] (ncol,nlay+1)
195
+ // Float* broadband_dn,
196
+ // // [out] (ncol,nlay+1)
197
+ // const Bool& do_jacobians,
198
+ // const Float* sfc_src_jac,
199
+ // // (ncol, ngpt)
200
+ // Float* flux_up_jac,
201
+ // // [out] (ncol,nlay+1,ngpt)
202
+ // const Bool& do_rescaling,
203
+ // const Float* ssa, // (ncol,nlay, ngpt)
204
+ // const Float* g); // (ncol,nlay, ngpt)
205
+
147
206
148
207
extern " C" void rte_lw_solver_noscat (
149
- int * ncol, int * nlay, int * ngpt, Bool* top_at_1, int * n_quad_angs,
150
- Float* secants, Float* gauss_wts_subset,
151
- Float* tau,
152
- Float* lay_source, Float* lev_source_inc, Float* lev_source_dec,
153
- Float* sfc_emis_gpt, Float* sfc_source,
154
- Float* inc_flux_diffuse,
155
- Float* gpt_flux_up, Float* gpt_flux_dn,
156
- Bool* do_broadband, Float* flux_up_loc, Float* flux_dn_loc,
157
- Bool* do_jacobians, Float* sfc_source_jac, Float* gpt_flux_up_jac,
158
- Bool* do_rescaling, Float* ssa, Float* g);
208
+ const int & ncol,
209
+ const int & nlay,
210
+ const int & ngpt,
211
+ const Bool& top_at_1,
212
+ const int & n_quad_angs,
213
+ const Float* secants,
214
+ const Float* gauss_wts_subset,
215
+ const Float* tau,
216
+ const Float* lay_source,
217
+ const Float* lev_source,
218
+ const Float* sfc_emis_gpt,
219
+ const Float* sfc_source,
220
+ const Float* inc_flux_diffuse,
221
+ Float* gpt_flux_up,
222
+ Float* gpt_flux_dn,
223
+ const Bool& do_broadband,
224
+ Float* flux_up_loc,
225
+ Float* flux_dn_loc,
226
+ const Bool& do_jacobians,
227
+ const Float* sfc_source_jac,
228
+ Float* gpt_flux_up_jac,
229
+ const Bool& do_rescaling,
230
+ const Float* ssa,
231
+ const Float* g);
159
232
233
+ /*
160
234
extern "C" void apply_BC_factor(
161
- int * ncol, int * nlay, int * ngpt,
162
- Bool* top_at_1, Float* inc_flux,
163
- Float* factor, Float* flux_dn);
235
+ const int& ncol,
236
+ const int& nlay,
237
+ const int& ngpt,
238
+ const Bool& top_at_1,
239
+ const Float* inc_flux,
240
+ const Float* factor,
241
+ Float* flux_dn);
242
+ */
164
243
165
244
extern " C" void rte_sw_solver_2stream (
166
- int * ncol, int * nlay, int * ngpt, Bool* top_at_1,
167
- Float* tau,
168
- Float* ssa,
169
- Float* g,
170
- Float* mu0,
171
- Float* sfc_alb_dir_gpt, Float* sfc_alb_dif_gpt,
172
- Float* inc_flux_dir,
173
- Float* gpt_flux_up, Float* gpt_flux_dn, Float* gpt_flux_dir,
174
- Bool* has_dif_bc, Float* inc_flux_dif,
175
- Bool* do_broadband, Float* flux_up_loc, Float* flux_dn_loc, Float* flux_dir_loc);
245
+ const int & ncol,
246
+ const int & nlay,
247
+ const int & ngpt,
248
+ const Bool& top_at_1,
249
+ const Float* tau,
250
+ const Float* ssa,
251
+ const Float* g,
252
+ const Float* mu0,
253
+ const Float* sfc_alb_dir_gpt,
254
+ const Float* sfc_alb_dif_gpt,
255
+ const Float* inc_flux_dir,
256
+ Float* gpt_flux_up,
257
+ Float* gpt_flux_dn,
258
+ Float* gpt_flux_dir,
259
+ const Bool& has_dif_bc,
260
+ const Float* inc_flux_dif,
261
+ const Bool& do_broadband,
262
+ Float* flux_up_loc,
263
+ Float* flux_dn_loc,
264
+ Float* flux_dir_loc);
176
265
177
266
extern " C" void rte_increment_2stream_by_2stream (
178
267
int * ncol, int * nlev, int * ngpt,
0 commit comments