voxcity.simulator_gpu.solar.csf

Canopy Sink Factor (CSF) calculation for palm-solar.

Computes how much radiation is absorbed by plant canopy (LAD) before reaching surfaces. Based on PALM’s RTM methodology using Beer-Lambert law.

PALM CSF Structure (from radiation_model_mod.f90 lines ~920-930): - TYPE t_csf contains:

  • isurfs: Index of source face (-1 for sky, >= 0 for surface sources)

  • rcvf: Canopy view factor for faces / canopy sink factor for sky

PALM Canopy Absorption (radiation_model_mod.f90 lines ~9200-9250): - Diffuse from sky: pcbinswdif = csf * rad_sw_in_diff - Direct from sun: pcbinswdir = rad_sw_in_dir * pc_box_area * pc_abs_frac * dsitransc - From reflections: pcbinsw += csf * surfoutsl(isurfsrc) * asrc * grid_volume_inverse

palm_solar implements equivalent physics with GPU-parallel raytracing.

Attributes

Classes

CSFCalculator

GPU-accelerated Canopy Sink Factor calculator.

Functions

box_absorb_mc(boxsize_z, boxsize_y, boxsize_x, uvec_z, ...)

PALM's box_absorb: Monte Carlo integration for box absorption.

Module Contents

voxcity.simulator_gpu.solar.csf.PROTOTYPE_LAD = 1.0
voxcity.simulator_gpu.solar.csf.CSF_SOURCE_SKY = -1
voxcity.simulator_gpu.solar.csf.box_absorb_mc(boxsize_z: taichi.f32, boxsize_y: taichi.f32, boxsize_x: taichi.f32, uvec_z: taichi.f32, uvec_y: taichi.f32, uvec_x: taichi.f32, dens: taichi.f32, ext_coef: taichi.f32, resol: taichi.i32)

PALM’s box_absorb: Monte Carlo integration for box absorption.

Computes effective cross-sectional area and transmissivity by tracing multiple rays through a box at the given angle.

Parameters:
  • boxsize_z – Box dimensions

  • boxsize_y – Box dimensions

  • boxsize_x – Box dimensions

  • uvec_z – Unit vector of incoming flux (must have uvec_z > 0)

  • uvec_y – Unit vector of incoming flux (must have uvec_z > 0)

  • uvec_x – Unit vector of incoming flux (must have uvec_z > 0)

  • dens – Box density (LAD)

  • ext_coef – Extinction coefficient

  • resol – Number of rays in x and y directions

Returns:

Vector of (area, transmissivity)