Skip to content

File canopy_bioemi_mod.F90

FileList > src > canopy_bioemi_mod.F90

Go to the source code of this file

Biogenic Emissions Module. More...

Namespaces

Type Name
namespace canopy_bioemi_mod

Public Attributes

Type Name
real(rk), intent(in) above
real(rk) agro
real(rk), intent(in) air
integer, dimension(default=0/viirs), intent(in) al
integer, intent(in) all
real(rk), dimension(size(zk)) alpha_p_shade
real(rk), dimension(size(zk)) alpha_p_sun
real(rk) amat
real(rk), intent(in) and
real(rk) anew
real(rk) aold
real(rk), intent(in) applied
integer, intent(in) applying
integer, intent(in) aq
integer, intent(in) aqopt
real(rk), intent(in) area
real(rk), intent(in) atmospheric
real(rk), intent(in) ave
real(rk), intent(in) average
real(rk) beta
real(rk), intent(in) between
integer, intent(in) biogenic
integer, intent(in) biogenics
real(rk), intent(in) calculated
integer, intent(in) calculation
real(rk) canloss_fac
real(rk), intent(out) canopy
real(rk) caq
real(rk), intent(in) cce
integer, intent(in) cell
real(rk) ceo
real(rk), intent(in) chemical
real(rk) cht
real(rk) chw
real(rk) clt
real(rk), intent(in) cm
real(rk), intent(in) cm2
integer, intent(in) co2
integer, intent(in) co2opt
real(rk), intent(in) co2set
real(rk), intent(in) coefficient
real(rk), intent(in) conc
real(rk), intent(in) constant
real(rk), intent(in) correction
real(rk), dimension(size(zk)) cp_shade
real(rk), dimension(size(zk)) cp_sun
real(rk) ct1
real(rk), parameter ct2 = 230.0\_rk
real(rk), intent(in) current
real(rk), intent(in) currentlai
real(rk), intent(in) daily
real(rk), intent(in) daily_maxt2
real(rk), intent(in) daily_maxws10
real(rk), intent(in) daily_mint2
real(rk), intent(in) days
real(rk), intent(in) depth
integer, intent(in) dominant
real(rk), intent(in) downward
real(rk), intent(in) dswrf
real(rk) dtaq
real(rk) dtht
real(rk) dthw
real(rk) dtlt
real(rk), dimension(size(zk)) e_opt
real(rk) ef
integer, intent(in) emi_ind
real(rk), dimension(:), intent(out) emi_out
integer, dimension(kg m-3 s-1), intent(out) emissions
real(rk), intent(in) environment
integer, intent(in) et
real(rk), intent(in) factor
real(rk), intent(in) fch
real(rk), dimension(:), intent(in) fclai
real(rk), dimension(size(zk)) flai
real(rk), intent(in) for
real(rk), intent(in) fraction
real(rk), intent(in) friction
real(rk), intent(in) from
real(rk), dimension(:), intent(in) fsun
real(rk) gammaaq
real(rk) gammaco2
real(rk) gammaht
real(rk) gammahw
real(rk) gammaleafage
real(rk) gammalt
real(rk), dimension(size(zk)) gammappfd_shade_ldf
real(rk), dimension(size(zk)) gammappfd_sun_ldf
real(rk) gammasoim
real(rk), dimension(size(zk)) gammatleaf_ppfd_ave
real(rk), dimension(size(zk)) gammatleaf_ppfd_ldf
real(rk), dimension(size(zk)) gammatleaf_ppfd_lif
real(rk), dimension(size(zk)) gammatleaf_shade_ldf
real(rk), dimension(size(zk)) gammatleaf_shade_ldf_den
real(rk), dimension(size(zk)) gammatleaf_shade_ldf_num
real(rk), dimension(size(zk)) gammatleaf_shade_lif
real(rk), dimension(size(zk)) gammatleaf_sun_ldf
real(rk), dimension(size(zk)) gammatleaf_sun_ldf_den
real(rk), dimension(size(zk)) gammatleaf_sun_ldf_num
real(rk), dimension(size(zk)) gammatleaf_sun_lif
real(rk), dimension(size(zk)) gauss
real(rk), intent(in) gfs
integer, intent(in) grid
real(rk), dimension(m), intent(in) height
real(rk), dimension(m), intent(in) heights
integer, intent(in) high
real(rk), intent(in) hours
real(rk), intent(in) hr
integer, intent(in) htopt
integer, intent(in) hwopt
integer i
real(rk), intent(in) index
integer, dimension(> 0), intent(in) indices
integer, intent(in) inhibition
real(rk), intent(in) input
integer, intent(in) integer
integer, intent(in) integration
real(rk), intent(in) interpolated
real(rk), intent(in) lai
real(rk), intent(out) layer
integer, intent(in) layers
real(rk) ldf
real(rk), intent(in) leaf
integer, dimension(0=on, 1=off i.e. gammaleafage=1, in canopy_readnml.f90), intent(in) leafage_opt
integer, intent(in) leafageopt
real(rk), dimension(umol phot/m2 s), intent(in) leaves
real(rk), intent(in) lifetime
integer, intent(in) loss
real(rk), intent(in) loss_opt = 2 (Default = 0.96)
integer, intent(in) lossind
integer, intent(in) lossopt
real(rk), intent(in) lossset
integer, intent(in) low
integer, intent(in) ltopt
integer, intent(in) lu
integer, intent(in) lu_opt
real(rk), intent(in) m
real(rk), intent(in) m3
integer, intent(in) mapped
integer, intent(in) massman
real(rk), intent(in) maximum
real(rk), intent(in) megan
real(rk), intent(in) minimum
real(rk), intent(in) model
integer, intent(in) modlays
real(rk), intent(in) modres
integer, intent(in) moisture
real(rk), intent(in) number
real(rk), intent(in) of
integer, intent(in) only
integer, dimension(default=0/no integration), intent(in) option
integer, intent(in) or
real(rk), intent(out) output
real(rk), intent(in) ozone
real(rk), intent(in) past
real(rk), intent(in) pastlai
real(rk), intent(in) photolysis
real(rk), intent(in) point
real(rk), intent(in) ppfd
real(rk), parameter ppfd0_shade = 50.0
real(rk), parameter ppfd0_sun = 200.0
real(rk), dimension(:), intent(in) ppfd240_shade
real(rk), dimension(:), intent(in) ppfd240_sun
real(rk), dimension(:), intent(in) ppfd24_shade
real(rk), dimension(:), intent(in) ppfd24_sun
real(rk), dimension(:), intent(in) ppfd_shade
real(rk), dimension(:), intent(in) ppfd_sun
real(rk), intent(in) ppm
real(rk), intent(in) ppmv
real(rk), intent(in) proportion
real(rk), dimension(w/m2), intent(in) radiation
real(rk), dimension(m), intent(in) resolution
real(rk) roota
real(rk) rootb
real(rk), intent(in) set
real(rk), intent(in) shaded
real(rk), intent(in) shortwave
real(rk), intent(in) soid1
real(rk), intent(in) soid2
real(rk), intent(in) soid3
real(rk), intent(in) soid4
integer, intent(in) soil
real(rk), intent(in) soim1
real(rk), intent(in) soim2
real(rk), intent(in) soim3
real(rk), intent(in) soim4
integer, intent(in) soimopt
integer, intent(in) specie
integer, dimension(=0), intent(in) species
integer, intent(in) specific
integer, intent(in) speed
integer, intent(in) stress
integer, intent(in) summing
real(rk), intent(in) sunlit
real(rk) tabovecanopy
real(rk) taq
real(rk), dimension(k), intent(in) temp
real(rk), intent(in) temp2
real(rk), dimension(m/s), intent(in) temperature
real(rk), intent(in) the
real(rk) tht
real(rk) thw
real(rk), dimension(:), intent(in) tka
real(rk), dimension(:), intent(in) tleaf240_ave
real(rk), dimension(:), intent(in) tleaf24_ave
real(rk), dimension(size(zk)) tleaf_opt
real(rk), dimension(:), intent(in) tleaf_shade
real(rk), dimension(:), intent(in) tleaf_sun
real(rk) tlt
integer, intent(in) to
integer, intent(in) top
real(rk), intent(in) total
real(rk), intent(in) tsteplai
integer, intent(in) type
real(rk), intent(in) used
real(rk), intent(in) user
real(rk), intent(in) ustar
real(rk), intent(in) value
integer, intent(in) vegetation
real(rk), dimension(m/s), intent(in) velocity
integer, intent(in) vert
real(rk), intent(in) vertical
real(rk), dimension(s), intent(in) voc
real(rk), intent(out) volume
real(rk), intent(in) volumetric
real(rk), dimension(size(zk)) vpgwt
integer, intent(in) vtype
real(rk), intent(in) w126
real(rk), intent(in) w126_ref
real(rk), intent(in) w126_set
integer, intent(in) when
real(rk), intent(in) wilt
real(rk), intent(in) wilting
integer, intent(in) wind
real(rk), intent(in) with
real(rk), dimension(:), intent(in) zk

Detailed Description

This module contains subroutines for calculating parameterized canopy biogenic emissions based on the algorithms described in Clifton et al. (2022). The module handles various biogenic volatile organic compounds (BVOCs) including isoprene, monoterpenes, and other biogenic species.

Author:

Patrick C. Campbell

Date:

January 2023

Version:

  • Jan 2023 P.C. Campbell: Initial canopy isoprene only version
  • Feb 2023 P.C. Campbell: Modified for multiple biogenic species
  • Jul 2023 P.C. Campbell: Restructured to use FSUN, TLEAF, and PPFD as inputs
  • Sept 2023 QZ Rasool: Modifications for LeafAge Response for multiple BVOCs

\references Clifton, O. E. et al. (2022). Large eddy simulation for investigating coupled forest canopy and turbulence influences on atmospheric chemistry. Journal of Advances in Modeling Earth Systems, 14, e2022MS003078. https://doi.org/10.1029/2022MS003078

Public Attributes Documentation

variable above

real(rk), intent(in) above;

variable agro

real(rk) agro;

variable air

real(rk), intent(in) air;

variable al

integer, dimension (default = 0/viirs), intent(in) al;

variable all

integer, intent(in) all;

variable alpha_p_shade

real(rk), dimension(size(zk)) alpha_p_shade;

variable alpha_p_sun

real(rk), dimension(size(zk)) alpha_p_sun;

variable amat

real(rk) amat;

variable and

real(rk), intent(in) and;

variable anew

real(rk) anew;

variable aold

real(rk) aold;

variable applied

real(rk), intent(in) applied;

variable applying

integer, intent(in) applying;

variable aq

integer, intent(in) aq;

variable aqopt

integer, intent(in) aqopt;

variable area

real(rk), intent(in) area;

variable atmospheric

real(rk), intent(in) atmospheric;

variable ave

real(rk), intent(in) ave;

variable average

real(rk), intent(in) average;

variable beta

real(rk) beta;

variable between

real(rk), intent(in) between;

variable biogenic

integer, intent(in) biogenic;

variable biogenics

integer, intent(in) biogenics;

variable calculated

real(rk), intent(in) calculated;

variable calculation

integer, intent(in) calculation;

variable canloss_fac

real(rk) canloss_fac;

variable canopy

real(rk), intent(out) canopy;

variable caq

real(rk) caq;

variable cce

real(rk), intent(in) cce;

variable cell

integer, intent(in) cell;

variable ceo

real(rk) ceo;

variable chemical

real(rk), intent(in) chemical;

variable cht

real(rk) cht;

variable chw

real(rk) chw;

variable clt

real(rk) clt;

variable cm

real(rk), intent(in) cm;

variable cm2

real(rk), intent(in) cm2;

variable co2

real(rk), intent(in) co2;

variable co2opt

integer, intent(in) co2opt;

variable co2set

real(rk), intent(in) co2set;

variable coefficient

real(rk), intent(in) coefficient;

variable conc

real(rk), intent(in) conc;

variable constant

real(rk), intent(in) constant;

variable correction

real(rk), intent(in) correction;

variable cp_shade

real(rk), dimension(size(zk)) cp_shade;

variable cp_sun

real(rk), dimension(size(zk)) cp_sun;

variable ct1

real(rk) ct1;

variable ct2

real(rk), parameter ct2;

variable current

real(rk), intent(in) current;

variable currentlai

real(rk), intent(in) currentlai;

variable daily

real(rk), intent(in) daily;

variable daily_maxt2

real(rk), intent(in) daily_maxt2;

variable daily_maxws10

real(rk), intent(in) daily_maxws10;

variable daily_mint2

real(rk), intent(in) daily_mint2;

variable days

real(rk), intent(in) days;

variable depth

real(rk), intent(in) depth;

variable dominant

integer, intent(in) dominant;

variable downward

real(rk), intent(in) downward;

variable dswrf

real(rk), intent(in) dswrf;

variable dtaq

real(rk) dtaq;

variable dtht

real(rk) dtht;

variable dthw

real(rk) dthw;

variable dtlt

real(rk) dtlt;

variable e_opt

real(rk), dimension(size(zk)) e_opt;

variable ef

real(rk) ef;

variable emi_ind

integer, intent(in) emi_ind;

variable emi_out

real(rk), dimension(:), intent(out) emi_out;

variable emissions

real(rk), dimension (kg m-3 s-1), intent(out) emissions;

variable environment

real(rk), intent(in) environment;

variable et

integer, intent(in) et;

variable factor

integer, intent(in) factor;

variable fch

real(rk), intent(in) fch;

variable fclai

real(rk), dimension(:), intent(in) fclai;

variable flai

real(rk), dimension(size(zk)) flai;

variable for

integer, intent(in) for;

variable fraction

real(rk), intent(in) fraction;

variable friction

real(rk), intent(in) friction;

variable from

integer, intent(in) from;

variable fsun

real(rk), dimension(:), intent(in) fsun;

variable gammaaq

real(rk) gammaaq;

variable gammaco2

real(rk) gammaco2;

variable gammaht

real(rk) gammaht;

variable gammahw

real(rk) gammahw;

variable gammaleafage

real(rk) gammaleafage;

variable gammalt

real(rk) gammalt;

variable gammappfd_shade_ldf

real(rk), dimension(size(zk)) gammappfd_shade_ldf;

variable gammappfd_sun_ldf

real(rk), dimension(size(zk)) gammappfd_sun_ldf;

variable gammasoim

real(rk) gammasoim;

variable gammatleaf_ppfd_ave

real(rk), dimension(size(zk)) gammatleaf_ppfd_ave;

variable gammatleaf_ppfd_ldf

real(rk), dimension(size(zk)) gammatleaf_ppfd_ldf;

variable gammatleaf_ppfd_lif

real(rk), dimension(size(zk)) gammatleaf_ppfd_lif;

variable gammatleaf_shade_ldf

real(rk), dimension(size(zk)) gammatleaf_shade_ldf;

variable gammatleaf_shade_ldf_den

real(rk), dimension(size(zk)) gammatleaf_shade_ldf_den;

variable gammatleaf_shade_ldf_num

real(rk), dimension(size(zk)) gammatleaf_shade_ldf_num;

variable gammatleaf_shade_lif

real(rk), dimension(size(zk)) gammatleaf_shade_lif;

variable gammatleaf_sun_ldf

real(rk), dimension(size(zk)) gammatleaf_sun_ldf;

variable gammatleaf_sun_ldf_den

real(rk), dimension(size(zk)) gammatleaf_sun_ldf_den;

variable gammatleaf_sun_ldf_num

real(rk), dimension(size(zk)) gammatleaf_sun_ldf_num;

variable gammatleaf_sun_lif

real(rk), dimension(size(zk)) gammatleaf_sun_lif;

variable gauss

real(rk), dimension(size(zk)) gauss;

variable gfs

real(rk), intent(in) gfs;

variable grid

integer, intent(in) grid;

variable height

real(rk), dimension (m), intent(in) height;

variable heights

real(rk), dimension (m), intent(in) heights;

variable high

integer, intent(in) high;

variable hours

real(rk), intent(in) hours;

variable hr

real(rk), intent(in) hr;

variable htopt

integer, intent(in) htopt;

variable hwopt

integer, intent(in) hwopt;

variable i

integer i;

variable index

integer, intent(in) index;

variable indices

integer, dimension (> 0), intent(in) indices;

variable inhibition

integer, intent(in) inhibition;

variable input

integer, intent(in) input;

variable integer

integer, intent(in) integer;

variable integration

integer, intent(in) integration;

variable interpolated

real(rk), intent(in) interpolated;

variable lai

integer save lai;

variable layer

real(rk), intent(out) layer;

variable layers

integer, intent(in) layers;

variable ldf

real(rk) ldf;

variable leaf

real(rk), intent(in) leaf;

variable leafage_opt

integer, dimension (0= on, 1= off i.e. gammaleafage =1, in canopy_readnml.f90), intent(in) leafage_opt;

variable leafageopt

integer, intent(in) leafageopt;

variable leaves

real(rk), dimension (umol phot/m2 s), intent(in) leaves;

variable lifetime

real(rk), intent(in) lifetime;

variable loss

integer, intent(in) loss;

variable loss_opt

real(rk), intent(in) loss_opt;

variable lossind

integer, intent(in) lossind;

variable lossopt

integer, intent(in) lossopt;

variable lossset

real(rk), intent(in) lossset;

variable low

integer, intent(in) low;

variable ltopt

integer, intent(in) ltopt;

variable lu

integer, intent(in) lu;

variable lu_opt

integer, intent(in) lu_opt;

variable m

real(rk), intent(in) m;

variable m3

real(rk), intent(in) m3;

variable mapped

integer, intent(in) mapped;

variable massman

integer, intent(in) massman;

variable maximum

real(rk), intent(in) maximum;

variable megan

integer, intent(in) megan;

variable minimum

real(rk), intent(in) minimum;

variable model

integer save model;

variable modlays

integer, intent(in) modlays;

variable modres

real(rk), intent(in) modres;

variable moisture

real(rk), intent(in) moisture;

variable number

integer save number;

variable of

integer save of;

variable only

integer, intent(in) only;

variable option

integer, dimension (default = 0/no integration), intent(in) option;

variable or

integer, intent(in) or;

variable output

real(rk), intent(out) output;

variable ozone

real(rk), intent(in) ozone;

variable past

real(rk), intent(in) past;

variable pastlai

real(rk), intent(in) pastlai;

variable photolysis

real(rk), intent(in) photolysis;

variable point

real(rk), intent(in) point;

variable ppfd

real(rk), intent(in) ppfd;

variable ppfd0_shade

real(rk), parameter ppfd0_shade;

variable ppfd0_sun

real(rk), parameter ppfd0_sun;

variable ppfd240_shade

real(rk), dimension(:), intent(in) ppfd240_shade;

variable ppfd240_sun

real(rk), dimension(:), intent(in) ppfd240_sun;

variable ppfd24_shade

real(rk), dimension(:), intent(in) ppfd24_shade;

variable ppfd24_sun

real(rk), dimension(:), intent(in) ppfd24_sun;

variable ppfd_shade

real(rk), dimension(:), intent(in) ppfd_shade;

variable ppfd_sun

real(rk), dimension(:), intent(in) ppfd_sun;

variable ppm

real(rk), intent(in) ppm;

variable ppmv

real(rk), intent(in) ppmv;

variable proportion

real(rk), intent(in) proportion;

variable radiation

real(rk), dimension (w/m2), intent(in) radiation;

variable resolution

real(rk), dimension (m), intent(in) resolution;

variable roota

real(rk) roota;

variable rootb

real(rk) rootb;

variable set

real(rk), intent(in) set;

variable shaded

real(rk), intent(in) shaded;

variable shortwave

real(rk), intent(in) shortwave;

variable soid1

real(rk), intent(in) soid1;

variable soid2

real(rk), intent(in) soid2;

variable soid3

real(rk), intent(in) soid3;

variable soid4

real(rk), intent(in) soid4;

variable soil

real(rk), intent(in) soil;

variable soim1

real(rk), intent(in) soim1;

variable soim2

real(rk), intent(in) soim2;

variable soim3

real(rk), intent(in) soim3;

variable soim4

real(rk), intent(in) soim4;

variable soimopt

integer, intent(in) soimopt;

variable specie

integer, intent(in) specie;

variable species

integer, dimension (=0), intent(in) species;

variable specific

integer, intent(in) specific;

variable speed

real(rk), intent(in) speed;

variable stress

integer, intent(in) stress;

variable summing

integer, intent(in) summing;

variable sunlit

real(rk), intent(in) sunlit;

variable tabovecanopy

real(rk) tabovecanopy;

variable taq

real(rk) taq;

variable temp

real(rk), dimension (k), intent(in) temp;

variable temp2

real(rk), intent(in) temp2;

variable temperature

real(rk), dimension (m/s), intent(in) temperature;

variable the

integer save the;

variable tht

real(rk) tht;

variable thw

real(rk) thw;

variable tka

real(rk), dimension(:), intent(in) tka;

variable tleaf240_ave

real(rk), dimension(:), intent(in) tleaf240_ave;

variable tleaf24_ave

real(rk), dimension(:), intent(in) tleaf24_ave;

variable tleaf_opt

real(rk), dimension(size(zk)) tleaf_opt;

variable tleaf_shade

real(rk), dimension(:), intent(in) tleaf_shade;

variable tleaf_sun

real(rk), dimension(:), intent(in) tleaf_sun;

variable tlt

real(rk) tlt;

variable to

integer, intent(in) to;

variable top

integer, intent(in) top;

variable total

integer, intent(in) total;

variable tsteplai

real(rk), intent(in) tsteplai;

variable type

integer, intent(in) type;

variable used

real(rk), intent(in) used;

variable user

real(rk), intent(in) user;

variable ustar

real(rk), intent(in) ustar;

variable value

real(rk), intent(in) value;

variable vegetation

integer, intent(in) vegetation;

variable velocity

real(rk), dimension (m/s), intent(in) velocity;

variable vert

integer, intent(in) vert;

variable vertical

integer, intent(in) vertical;

variable voc

real(rk), dimension (s), intent(in) voc;

variable volume

real(rk), intent(out) volume;

variable volumetric

real(rk), intent(in) volumetric;

variable vpgwt

real(rk), dimension(size(zk)) vpgwt;

variable vtype

integer, intent(in) vtype;

variable w126

real(rk), intent(in) w126;

variable w126_ref

real(rk), intent(in) w126_ref;

variable w126_set

real(rk), intent(in) w126_set;

variable when

integer, intent(in) when;

variable wilt

real(rk), intent(in) wilt;

variable wilting

real(rk), intent(in) wilting;

variable wind

real(rk), intent(in) wind;

variable with

real(rk), intent(in) with;

variable zk

real(rk), dimension(:), intent(in) zk;


The documentation for this class was generated from the following file src/canopy_bioemi_mod.F90