26 #include <mo_gas_concentrations.h>
27 #include <mo_gas_optics_rrtmgp.h>
28 #include <mo_load_coefficients.h>
29 #include <mo_rte_sw.h>
30 #include <mo_rte_lw.h>
31 #include <mo_optical_props.h>
32 #include <mo_fluxes_byband.h>
33 #include <rrtmgp_const.h>
35 using yakl::fortran::parallel_for;
36 using yakl::fortran::SimpleBounds;
48 void initialize (
int num_gas,
const std::vector<std::string>& active_gas_names,
49 const char* rrtmgp_coefficients_file_sw,
50 const char* rrtmgp_coefficients_file_lw);
57 const real3d& gas_vmr,
const real2d& pmid,
const real2d& tmid,
const real2d& pint,
58 const real1d& coszrs ,
const real2d& albedo_dir,
const real2d& albedo_dif,
59 const real3d& cld_tau_gpt,
const real3d& cld_ssa_gpt,
const real3d& cld_asm_gpt,
60 const real3d& aer_tau_bnd,
const real3d& aer_ssa_bnd,
const real3d& aer_asm_bnd,
61 const real2d& allsky_flux_up ,
const real2d& allsky_flux_dn ,
const real2d& allsky_flux_net ,
const real2d& allsky_flux_dn_dir,
62 const real3d& allsky_bnd_flux_up,
const real3d& allsky_bnd_flux_dn,
const real3d& allsky_bnd_flux_net,
const real3d& allsky_bnd_flux_dn_dir,
63 const real2d& clrsky_flux_up ,
const real2d& clrsky_flux_dn ,
const real2d& clrsky_flux_net ,
const real2d& clrsky_flux_dn_dir,
64 const real3d& clrsky_bnd_flux_up,
const real3d& clrsky_bnd_flux_dn,
const real3d& clrsky_bnd_flux_net,
const real3d& clrsky_bnd_flux_dn_dir,
69 const real2d& pmid,
const real2d& tmid,
const real2d& pint ,
const real2d& tint,
70 const real2d& emis_sfc,
71 const real3d& cld_tau_gpt ,
const real3d& aer_tau_bnd ,
72 const real2d& allsky_flux_up ,
const real2d& allsky_flux_dn ,
const real2d& allsky_flux_net ,
73 const real3d& allsky_bnd_flux_up,
const real3d& allsky_bnd_flux_dn,
const real3d& allsky_bnd_flux_net,
74 const real2d& clrsky_flux_up ,
const real2d& clrsky_flux_dn ,
const real2d& clrsky_flux_net ,
75 const real3d& clrsky_bnd_flux_up,
const real3d& clrsky_bnd_flux_dn,
const real3d& clrsky_bnd_flux_net);
102 gpoint_bands =
k_dist_sw.get_gpoint_bands();
107 gpoint_bands =
k_dist_lw.get_gpoint_bands();
Definition: ERF_Rrtmgp.H:39
char const * coefficients_file_lw
Definition: ERF_Rrtmgp.H:118
string1d active_gases
Definition: ERF_Rrtmgp.H:114
void run_shortwave_rrtmgp(int ngas, int ncol, int nlay, const real3d &gas_vmr, const real2d &pmid, const real2d &tmid, const real2d &pint, const real1d &coszrs, const real2d &albedo_dir, const real2d &albedo_dif, const real3d &cld_tau_gpt, const real3d &cld_ssa_gpt, const real3d &cld_asm_gpt, const real3d &aer_tau_bnd, const real3d &aer_ssa_bnd, const real3d &aer_asm_bnd, const real2d &allsky_flux_up, const real2d &allsky_flux_dn, const real2d &allsky_flux_net, const real2d &allsky_flux_dn_dir, const real3d &allsky_bnd_flux_up, const real3d &allsky_bnd_flux_dn, const real3d &allsky_bnd_flux_net, const real3d &allsky_bnd_flux_dn_dir, const real2d &clrsky_flux_up, const real2d &clrsky_flux_dn, const real2d &clrsky_flux_net, const real2d &clrsky_flux_dn_dir, const real3d &clrsky_bnd_flux_up, const real3d &clrsky_bnd_flux_dn, const real3d &clrsky_bnd_flux_net, const real3d &clrsky_bnd_flux_dn_dir, double tsi_scaling)
Definition: ERF_Run_shortwave_rrtmgp.cpp:4
int get_ngpt_lw()
Definition: ERF_Rrtmgp.H:89
void get_gpoint_bands_lw(int1d &gpoint_bands)
Definition: ERF_Rrtmgp.H:106
int get_nband_sw()
Definition: ERF_Rrtmgp.H:77
void run_longwave_rrtmgp(int ngas, int ncol, int nlay, const real3d &gas_vmr, const real2d &pmid, const real2d &tmid, const real2d &pint, const real2d &tint, const real2d &emis_sfc, const real3d &cld_tau_gpt, const real3d &aer_tau_bnd, const real2d &allsky_flux_up, const real2d &allsky_flux_dn, const real2d &allsky_flux_net, const real3d &allsky_bnd_flux_up, const real3d &allsky_bnd_flux_dn, const real3d &allsky_bnd_flux_net, const real2d &clrsky_flux_up, const real2d &clrsky_flux_dn, const real2d &clrsky_flux_net, const real3d &clrsky_bnd_flux_up, const real3d &clrsky_bnd_flux_dn, const real3d &clrsky_bnd_flux_net)
Definition: ERF_Run_longwave_rrtmgp.cpp:10
int ngas
Definition: ERF_Rrtmgp.H:113
double get_max_temperature()
Definition: ERF_Rrtmgp.H:97
char const * coefficients_file_sw
Definition: ERF_Rrtmgp.H:117
int get_nband_lw()
Definition: ERF_Rrtmgp.H:81
int get_ngpt_sw()
Definition: ERF_Rrtmgp.H:85
void get_gpoint_bands_sw(int1d &gpoint_bands)
Definition: ERF_Rrtmgp.H:101
void initialize(int num_gas, const std::vector< std::string > &active_gas_names, const char *rrtmgp_coefficients_file_sw, const char *rrtmgp_coefficients_file_lw)
Definition: ERF_Init_rrtmgp.cpp:13
GasOpticsRRTMGP k_dist_lw
Definition: ERF_Rrtmgp.H:122
double get_min_temperature()
Definition: ERF_Rrtmgp.H:93
GasOpticsRRTMGP k_dist_sw
Definition: ERF_Rrtmgp.H:121
void finalize()
Definition: ERF_Finalize_rrtmgp.cpp:13