Class iswr

Inheritance Relationships

Base Type

Class Documentation

class iswr : public module_base

This aggregates the _no_slope direct and diffuse flat plane estimates provided by other modules and calculates a unified variant that includes (if required) slope effects and applies shadow masks from shadowing modules.

Depends:

  • Shortwave direct on a flat plane “iswr_direct_no_slope” [ \( W \cdot m^{-2}\)]

  • Shortwave diffuse on a flat plane “iswr_diffuse_no_slope” [ \( W \cdot m^{-2}\)]

Provides:

  • Shortwave all beam “iswr” [ \( W \cdot m^{-2}\)]

  • Shortwave direct “iswr_direct” [ \( W \cdot m^{-2}\)]

  • Shortwave diffuse “iswr_diffuse” [ \( W \cdot m^{-2}\)]

Configuration:

{
   "no_slope": false,
   "already_cosine_corrected": false
}
no_slope

Disables slope correction.

already_cosine_corrected
”Most observations implicitly have a cosine-correction built in by virtu of the flat-plane observation.

When using observed, ground based observations, you probably want to set this to true, so that a cosine correction is not applied twice.

If the forcing input is out of a NWP, then this should be false.

Warning

If using ground-based observations, please look at the already_cosine_corrected configuration option!

Type:

boolean

Default:

false

Type:

boolean

Default:

false

Public Functions

iswr(config_file cfg)
~iswr()
virtual void run(mesh_elem &face)

Needs to be implemented by each data parallel module. This will be called and executed for each timestep

Parameters:
  • face – The terrain element (triangle) to be worked upon for an element parallel domain

  • global_param – A pointer to the shared global paramter space with domain-wide paramters

Public Members

bool assume_no_slope
bool already_cosine_corrected