Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 23 additions & 26 deletions allsky/allsky.ini
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
[switches]
shortwave = true
longwave = true
fluxes = true
[clouds]
liquid_cloud_optics = true
ice_cloud_optics = true
aerosol_optics = false
delta_cloud = true
tilted_columns = false
cloud_mie = false

[aerosols]
aerosol_optics = false
delta_aerosol = false

# gpu_only (test_rte_rrtmgp_gpu)
timings = false
[shortwave]
shortwave = true

# compute ray tracer fluxes using "samples" photons per pixel per spectral quadrature point
raytracing = false

# compute plane parallel (two-stream) fluxes
plane_parallel = true

[longwave]
longwave = true

# compute ray tracer fluxes using 2**samples photons per spectral quadrature point
raytracing = false

# compute plane parallel fluxes (two-stream or no-scat solution depending on "scattering")
plane_parallel = true

# raytracer (test_rte_rrtmgp_rt_gpu)
sw_two_stream = false
sw_raytracing = true
lw_raytracing = true
independent_column = false
lw_scattering = false
cloud_mie = false
single_gpt = false
profiling = false
min_mfp_grid_ratio = true
tica = false

[ints]
sw_raytracing = 256
lw_raytracing = 22
single_gpt = 1

[floats]
min_mfp_grid_ratio = 1.0
10 changes: 2 additions & 8 deletions include_test/radiation_solver_rt.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,12 @@ class Radiation_solver_longwave

#ifdef __CUDACC__
void solve_gpu(
const bool switch_fluxes,
const bool switch_raytracing,
const bool switch_plane_parallel,
const bool switch_cloud_optics,
const bool switch_aerosol_optics,
const bool switch_delta_cloud,
const bool switch_delta_aerosol,
const bool switch_single_gpt,
const bool switch_lw_scattering,
const bool switch_independent_column,
const int single_gpt,
Expand All @@ -75,7 +74,6 @@ class Radiation_solver_longwave
Array_gpu<Float,2>& aer_tau_out,Array_gpu<Float,2>& aer_ssa_out, Array_gpu<Float,2>& aer_asy_out,
Array_gpu<Float,2>& lay_source, Array_gpu<Float,2>& lev_source, Array_gpu<Float,1>& sfc_source,
Array_gpu<Float,2>& lw_flux_up, Array_gpu<Float,2>& lw_flux_dn, Array_gpu<Float,2>& lw_flux_net,
Array_gpu<Float,2>& lw_gpt_flux_up, Array_gpu<Float,2>& lw_gpt_flux_dn, Array_gpu<Float,2>& lw_gpt_flux_net,
Array_gpu<Float,2>& rt_flux_tod_up, Array_gpu<Float,2>& rt_flux_tod_dn, Array_gpu<Float,2>& rt_flux_sfc_up,
Array_gpu<Float,2>& rt_flux_sfc_dn, Array_gpu<Float,3>& rt_flux_abs);

Expand Down Expand Up @@ -122,14 +120,12 @@ class Radiation_solver_shortwave

#ifdef __CUDACC__
void solve_gpu(
const bool switch_fluxes,
const bool switch_twostream,
const bool switch_raytracing,
const bool switch_plane_parallel,
const bool switch_independent_column,
const bool switch_cloud_optics,
const bool switch_cloud_mie,
const bool switch_aerosol_optics,
const bool switch_single_gpt,
const bool switch_delta_cloud,
const bool switch_delta_aerosol,
const bool switch_attenuate_tica,
Expand All @@ -154,8 +150,6 @@ class Radiation_solver_shortwave
Array_gpu<Float,2>& aer_tau_out, Array_gpu<Float,2>& aer_ssa_out, Array_gpu<Float,2>& aer_asy_out,
Array_gpu<Float,2>& sw_flux_up, Array_gpu<Float,2>& sw_flux_dn,
Array_gpu<Float,2>& sw_flux_dn_dir, Array_gpu<Float,2>& sw_flux_net,
Array_gpu<Float,2>& sw_gpt_flux_up, Array_gpu<Float,2>& sw_gpt_flux_dn,
Array_gpu<Float,2>& sw_gpt_flux_dn_dir, Array_gpu<Float,2>& sw_gpt_flux_net,
Array_gpu<Float,2>& rt_flux_tod_up,
Array_gpu<Float,2>& rt_flux_sfc_dir,
Array_gpu<Float,2>& rt_flux_sfc_dif,
Expand Down
125 changes: 71 additions & 54 deletions les_cloudfield/test.ini
Original file line number Diff line number Diff line change
@@ -1,77 +1,94 @@
[switches]
##### General switches
[clouds]
liquid_cloud_optics = true
ice_cloud_optics = true
delta_cloud = false
tilted_columns = false
cloud_mie = false

[aerosols]
aerosol_optics = false
delta_aerosol = false

[shortwave]
shortwave = true
longwave = true
fluxes = true

cloud-optics = true
delta-cloud = false
# compute ray tracer fluxes using "samples" photons per pixel per spectral quadrature point
raytracing = true
samples = 256

aerosol-optics = true
delta-aerosol = false
# ray tracing in independent column mode
rt_independent_column = false

##### test_rte_rrtmgp only (CPU & GPU)
output-optical = false
output-bnd-fluxes = false
# compute plane parallel (two-stream) fluxes
plane_parallel = false

##### test_rte_rrtmgp only (GPU)
timings = false
# only compute specified g-point
single_gpt = -1

##### Forward raytracer only
[longwave]
longwave = true

# switch on ray tracer. Specifiy ray counts under [ints]: samples per pixel for sw, for lw provide n to use 2^n samples
sw-raytracing = true
lw-raytracing = true
# compute ray tracer fluxes using 2**samples photons per spectral quadrature point
raytracing = true
samples = 22

# Also perform two-stream computations for shortwave.
sw-two-stream = false
# ray tracing in independent column mode
rt_independent_column = false

# Independent column mode
independent-column = false
# Tilted independent column mode
tica = false
# enable scattering
scattering = false

# Enable scattering for longwave. If enabled, 1D solver will also switch from no-scat solution to two-stream formulation
lw-scattering = true
# compute plane parallel fluxes (two-stream or no-scat solution depending on "scattering")
plane_parallel = false

# Only perform ray tracing when the minimum gasous mean free path is larger than (min-mfp-grid-ratio * grid spacing) and use a 1D solutions otherwise.
# Specify threshold ratio under [floats]
min-mfp-grid-ratio = true
# only compute specified g-point
single_gpt = -1

# liq and ice flags are automatically switch on when cloud-optics is set to true
# to run either liquid or ice cloud optics
liq-cloud-optics = false
ice-cloud-optics = false
# threshold ratio between lowest gaseus mean free path and horizontal grid spacing
# if this ratio falls below the thershold for a g-point, plane parallel fluxes are used for that g-point instead of the raytracer
min_mf_grid_ratio = 0.0

##### Common raytracer (forward & backward) switches
cloud-mie = false
[backward]
# enable backward ray tracing using "samples" photons per pixel"
bw_raytracing = true
samples = 16

# Save optical properties and fluxes for a single g-point. Specify under [ints]
single-gpt = false
# raytrace bands that fall within visible spectrum and convert radiances to XYZ tristimulus values
image = true

# Enable profiling
profiling = false
# compute broadband radiances
broadband = true

##### Backward raytracer only
raytracing = true
# output additional cloud information for each camera pixel
cloud_cam = true

# Read variable "surface_type" to determine scattering type and spectral albedo for each surface grid cell.
# Set either to 0 (water; spectrally constant albedo; specular reflection) or a number between 1 (soil-like spectral albedo; lambertian) and 2 (grass-line spectral albedo; lambertian).
lu-albedo = true
# read surface type from "land_use_map" input variable and use corresponding spectral albedo and scattering type (lambertian, specular)
lu_albedo = true

# broadband radiance computation (sum over all g-points)
broadband = true
[solar_angles]
# solar zenith angle in degrees. mu0 from input file is used if sza < 0
sza = 45

# image computation: run only g-points in visible spectrum and convert to XYZ tristimulus values
image = true
# solar azimuth angle in degrees. azi from input file is used if azi < 0
azi = 135

[camera]
cam_field_of_view = 50.0

# camera type: (0) fish eye camera, (1) rectangular camera, (2) top-of-atmosphere upwelling radiances
cam_type = 1

[ints]
single-gpt = 1
# x,y,z positions of virtual camera
cam_px = 0.0
cam_py = 0.0
cam_pz = 2500.0

sw-raytracing = 256
lw-raytracing = 22
# width, height (pixels) of virtual camera
cam_nx = 512
cam_ny = 512

raytracing = 128
# yaw, pitch and roll angles (degrees) of the virtual camera
cam_yaw = 135.0
cam_pitch = 55.0
cam_roll = 0.0

[floats]
min-mfp-grid-ratio = 1.0
49 changes: 23 additions & 26 deletions rcemip/rcemip.ini
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
[switches]
shortwave = true
longwave = true
fluxes = true
[clouds]
liquid_cloud_optics = false
ice_cloud_optics = false
delta_cloud = false
tilted_columns = false
cloud_mie = false

[aerosols]
aerosol_optics = false
delta_cloud = true
delta_aerosol = false

# gpu_only (test_rte_rrtmgp_gpu)
timings = false
[shortwave]
shortwave = true

# compute ray tracer fluxes using "samples" photons per pixel per spectral quadrature point
raytracing = false

# compute plane parallel (two-stream) fluxes
plane_parallel = true

[longwave]
longwave = true

# compute ray tracer fluxes using 2**samples photons per spectral quadrature point
raytracing = false

# compute plane parallel fluxes (two-stream or no-scat solution depending on "scattering")
plane_parallel = true

# raytracer (test_rte_rrtmgp_rt_gpu)
sw_two_stream = false
sw_raytracing = true
lw_raytracing = true
independent_column = false
lw_scattering = false
cloud_mie = false
single_gpt = false
profiling = false
min_mfp_grid_ratio = true
tica = false

[ints]
sw_raytracing = 256
lw_raytracing = 22
single_gpt = 1

[floats]
min_mfp_grid_ratio = 1.0
49 changes: 23 additions & 26 deletions rfmip/rfmip.ini
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
[switches]
shortwave = true
longwave = true
fluxes = true
[clouds]
liquid_cloud_optics = false
ice_cloud_optics = false
delta_cloud = false
tilted_columns = false
cloud_mie = false

[aerosols]
aerosol_optics = false
delta_cloud = true
delta_aerosol = false

# gpu_only (test_rte_rrtmgp_gpu)
timings = false
[shortwave]
shortwave = true

# compute ray tracer fluxes using "samples" photons per pixel per spectral quadrature point
raytracing = false

# compute plane parallel (two-stream) fluxes
plane_parallel = true

[longwave]
longwave = true

# compute ray tracer fluxes using 2**samples photons per spectral quadrature point
raytracing = false

# compute plane parallel fluxes (two-stream or no-scat solution depending on "scattering")
plane_parallel = true

# raytracer (test_rte_rrtmgp_rt_gpu)
sw_two_stream = false
sw_raytracing = true
lw_raytracing = true
independent_column = false
lw_scattering = false
cloud_mie = false
single_gpt = false
profiling = false
min_mfp_grid_ratio = true
tica = false

[ints]
sw_raytracing = 256
lw_raytracing = 22
single_gpt = 1

[floats]
min_mfp_grid_ratio = 1.0
Loading