CAM
mo_aurora Module Reference

Data Types

interface  aurora
 

Functions/Subroutines

subroutine, public aurora_register
 
subroutine, public aurora_inti
 
subroutine, public aurora_timestep_init
 
subroutine aurora_prod (tn, o2, o1, mbar, rlats, qo2p, qop, qn2p, qnp, pmid, lchnk, calday, ncol, rlons, pbuf)
 
subroutine aurora_hrate (tn, o2, o1, mbar, rlats, aur_hrate, cpair, pmid, lchnk, calday, ncol, rlons)
 
subroutine aurora_cusp (cusp, do_aurora, hemis, colat, alon, ncol
 
subroutine aurora_heat (flux, flux2, flux3, alfa, alfa2, alfa3, qteaur, drizl, do_aurora, hemis, alon, colat, ncol)
 
subroutine aurora_ions (drizl, cusp, alfa1, alfa2, alfa3, flux1, flux2, flux3, tn, o2, o1, mbar, qo2p, qop, qn2p, qnp, pmid, do_aurora, ncol, lchnk, pbuf)
 
subroutine total_ion_prod (drizl, cusp, alfa1, alfa2, alfa3, flux1, flux2, flux3, tn, o2, o1, mbar, tpions, pmid, do_aurora, ncol, lchnk)
 
subroutine aion (si, so, do_aurora, ncol)
 
subroutine bion (si, so, do_aurora, ncol)
 
subroutine sunloc (calday, sunlons, lchnk, ncol)
 

Variables

integer, parameter isouth = 1
 
integer, parameter inorth = 2
 
real(r8), parameter grav = 870._r8
 
integer lev1 = 1
 
real(r8) twopi
 
real(r8) rmass_o1
 
real(r8) rmass_o2
 
real(r8) rmass_n2
 
real(r8) rmassinv_o1
 
real(r8) rmassinv_o2
 
real(r8) rmassinv_n2
 
real(r8) dtr
 
real(r8), parameter alfad = 2.0_r8
 
real(r8), parameter ed = 0.5_r8
 
real(r8) fd
 
real(r8), parameter alfac = 1.0_r8
 
real(r8), parameter ec = 0.5_r8
 
real(r8) fc
 
real(r8) e1
 
real(r8) e2
 
real(r8) h1
 
real(r8) h2
 
logical add_sproton = .false.
 
real(r8), parameter alfa_sp = 10._r8
 
real(r8), parameter e_sp = 1.e-20_r8
 
real(r8) flx_sp
 
logical add_helectron = .false.
 
real(r8), parameter alfa30 = 40._r8
 
real(r8), parameter e30 = .05_r8
 
real(r8) alfa0
 
real(r8) ralfa
 
real(r8) ralfa2
 
real(r8) rrote
 
real(r8) rroth
 
real(r8) h0
 
real(r8) rh
 
real(r8) e0
 
real(r8) e20
 
real(r8) ree
 
real(r8) re2
 
real(r8) alfa20
 
real(r8), dimension(2) theta0
 
real(r8), dimension(2) offa
 
real(r8), dimension(2) dskofa
 
real(r8), dimension(2) phid
 
real(r8), dimension(2) rrad
 
real(r8) ctpoten
 
real(r8) byimf
 
logical has_ions = .false.
 
integer indxaiprs = -1
 

Function/Subroutine Documentation

◆ aion()

subroutine mo_aurora::aion ( real(r8), dimension(ncol), intent(in)  si,
real(r8), dimension(ncol), intent(out)  so,
logical, dimension(ncol), intent(in)  do_aurora,
integer, intent(in)  ncol 
)
Here is the caller graph for this function:

◆ aurora_cusp()

subroutine mo_aurora::aurora_cusp ( real(r8), dimension(ncol), intent(out)  cusp,
logical, dimension(ncol), intent(in)  do_aurora,
integer, dimension(ncol), intent(in)  hemis,
real(r8), dimension(ncol), intent(in)  colat,
real(r8), dimension(ncol), intent(in)  alon,
integer, intent(in)  ncol 
)
Here is the caller graph for this function:

◆ aurora_heat()

subroutine mo_aurora::aurora_heat ( real(r8), dimension(ncol), intent(inout)  flux,
real(r8), dimension(ncol), intent(inout)  flux2,
real(r8), dimension(ncol), intent(inout)  flux3,
real(r8), dimension(ncol), intent(inout)  alfa,
real(r8), dimension(ncol), intent(inout)  alfa2,
real(r8), dimension(ncol), intent(inout)  alfa3,
real(r8), dimension(ncol), intent(inout)  qteaur,
real(r8), dimension(ncol), intent(inout)  drizl,
logical, dimension(ncol), intent(in)  do_aurora,
integer, dimension(ncol), intent(in)  hemis,
real(r8), dimension(ncol), intent(in)  alon,
real(r8), dimension(ncol), intent(in)  colat,
integer, intent(in)  ncol 
)
private
Here is the caller graph for this function:

◆ aurora_hrate()

subroutine mo_aurora::aurora_hrate ( real(r8), dimension(pcols,pver), intent(in)  tn,
real(r8), dimension(ncol,pver), intent(in)  o2,
real(r8), dimension(ncol,pver), intent(in)  o1,
real(r8), dimension(ncol,pver), intent(in)  mbar,
real(r8), dimension(ncol), intent(in)  rlats,
real(r8), dimension(ncol,pver), intent(out)  aur_hrate,
real(r8), dimension(ncol,pver), intent(in)  cpair,
real(r8), dimension(pcols,pver), intent(in)  pmid,
integer, intent(in)  lchnk,
real(r8), intent(in)  calday,
integer, intent(in)  ncol,
real(r8), dimension(ncol), intent(in)  rlons 
)
Here is the call graph for this function:

◆ aurora_inti()

subroutine, public mo_aurora::aurora_inti ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ aurora_ions()

subroutine mo_aurora::aurora_ions ( real(r8), dimension(ncol), intent(in)  drizl,
real(r8), dimension(ncol), intent(in)  cusp,
real(r8), dimension(ncol), intent(in)  alfa1,
real(r8), dimension(ncol), intent(in)  alfa2,
real(r8), dimension(ncol), intent(in)  alfa3,
real(r8), dimension(ncol), intent(in)  flux1,
real(r8), dimension(ncol), intent(in)  flux2,
real(r8), dimension(ncol), intent(in)  flux3,
real(r8), dimension(pcols,pver), intent(in)  tn,
real(r8), dimension(ncol,pver), intent(in)  o2,
real(r8), dimension(ncol,pver), intent(in)  o1,
real(r8), dimension(ncol,pver), intent(in)  mbar,
real(r8), dimension(ncol,pver), intent(inout)  qo2p,
real(r8), dimension(ncol,pver), intent(inout)  qop,
real(r8), dimension(ncol,pver), intent(inout)  qn2p,
real(r8), dimension(ncol,pver), intent(inout)  qnp,
real(r8), dimension(pcols,pver), intent(in)  pmid,
logical, dimension(ncol), intent(in)  do_aurora,
integer, intent(in)  ncol,
integer, intent(in)  lchnk,
type(physics_buffer_desc), dimension(:), pointer  pbuf 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ aurora_prod()

subroutine mo_aurora::aurora_prod ( real(r8), dimension(pcols,pver), intent(in)  tn,
real(r8), dimension(ncol,pver), intent(in)  o2,
real(r8), dimension(ncol,pver), intent(in)  o1,
real(r8), dimension(ncol,pver), intent(in)  mbar,
real(r8), dimension(ncol), intent(in)  rlats,
real(r8), dimension(ncol,pver), intent(out)  qo2p,
real(r8), dimension(ncol,pver), intent(out)  qop,
real(r8), dimension(ncol,pver), intent(out)  qn2p,
real(r8), dimension(ncol,pver), intent(out)  qnp,
real(r8), dimension(pcols,pver), intent(in)  pmid,
integer, intent(in)  lchnk,
real(r8), intent(in)  calday,
integer, intent(in)  ncol,
real(r8), dimension(ncol), intent(in)  rlons,
type(physics_buffer_desc), dimension(:), pointer  pbuf 
)
Here is the call graph for this function:

◆ aurora_register()

subroutine, public mo_aurora::aurora_register ( )
Here is the caller graph for this function:

◆ aurora_timestep_init()

subroutine, public mo_aurora::aurora_timestep_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ bion()

subroutine mo_aurora::bion ( real(r8), dimension(ncol), intent(in)  si,
real(r8), dimension(ncol), intent(out)  so,
logical, dimension(ncol), intent(in)  do_aurora,
integer, intent(in)  ncol 
)
private
Here is the caller graph for this function:

◆ sunloc()

subroutine mo_aurora::sunloc ( real(r8), intent(in)  calday,
real(r8), dimension(ncol), intent(out)  sunlons,
integer, intent(in)  lchnk,
integer, intent(in)  ncol 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ total_ion_prod()

subroutine mo_aurora::total_ion_prod ( real(r8), dimension(ncol), intent(in)  drizl,
real(r8), dimension(ncol), intent(in)  cusp,
real(r8), dimension(ncol), intent(in)  alfa1,
real(r8), dimension(ncol), intent(in)  alfa2,
real(r8), dimension(ncol), intent(in)  alfa3,
real(r8), dimension(ncol), intent(in)  flux1,
real(r8), dimension(ncol), intent(in)  flux2,
real(r8), dimension(ncol), intent(in)  flux3,
real(r8), dimension(pcols,pver), intent(in)  tn,
real(r8), dimension(ncol,pver), intent(in)  o2,
real(r8), dimension(ncol,pver), intent(in)  o1,
real(r8), dimension(ncol,pver), intent(in)  mbar,
real(r8), dimension(ncol,pver), intent(inout)  tpions,
real(r8), dimension(pcols,pver), intent(in)  pmid,
logical, dimension(ncol), intent(in)  do_aurora,
integer, intent(in)  ncol,
integer, intent(in)  lchnk 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ add_helectron

logical mo_aurora::add_helectron = .false.

◆ add_sproton

logical mo_aurora::add_sproton = .false.

◆ alfa0

real(r8) mo_aurora::alfa0

◆ alfa20

real(r8) mo_aurora::alfa20

◆ alfa30

real(r8), parameter mo_aurora::alfa30 = 40._r8

◆ alfa_sp

real(r8), parameter mo_aurora::alfa_sp = 10._r8

◆ alfac

real(r8), parameter mo_aurora::alfac = 1.0_r8

◆ alfad

real(r8), parameter mo_aurora::alfad = 2.0_r8

◆ byimf

real(r8) mo_aurora::byimf

◆ ctpoten

real(r8) mo_aurora::ctpoten

◆ dskofa

real(r8), dimension(2) mo_aurora::dskofa

◆ dtr

real(r8) mo_aurora::dtr

◆ e0

real(r8) mo_aurora::e0

◆ e1

real(r8) mo_aurora::e1

◆ e2

real(r8) mo_aurora::e2

◆ e20

real(r8) mo_aurora::e20

◆ e30

real(r8), parameter mo_aurora::e30 = .05_r8

◆ e_sp

real(r8), parameter mo_aurora::e_sp = 1.e-20_r8

◆ ec

real(r8), parameter mo_aurora::ec = 0.5_r8

◆ ed

real(r8), parameter mo_aurora::ed = 0.5_r8

◆ fc

real(r8) mo_aurora::fc

◆ fd

real(r8) mo_aurora::fd

◆ flx_sp

real(r8) mo_aurora::flx_sp

◆ grav

real(r8), parameter mo_aurora::grav = 870._r8

◆ h0

real(r8) mo_aurora::h0

◆ h1

real(r8) mo_aurora::h1

◆ h2

real(r8) mo_aurora::h2

◆ has_ions

logical mo_aurora::has_ions = .false.
private

◆ indxaiprs

integer mo_aurora::indxaiprs = -1
private

◆ inorth

integer, parameter mo_aurora::inorth = 2

◆ isouth

integer, parameter mo_aurora::isouth = 1

◆ lev1

integer mo_aurora::lev1 = 1

◆ offa

real(r8), dimension(2) mo_aurora::offa

◆ phid

real(r8), dimension(2) mo_aurora::phid

◆ ralfa

real(r8) mo_aurora::ralfa

◆ ralfa2

real(r8) mo_aurora::ralfa2

◆ re2

real(r8) mo_aurora::re2

◆ ree

real(r8) mo_aurora::ree

◆ rh

real(r8) mo_aurora::rh

◆ rmass_n2

real(r8) mo_aurora::rmass_n2

◆ rmass_o1

real(r8) mo_aurora::rmass_o1

◆ rmass_o2

real(r8) mo_aurora::rmass_o2

◆ rmassinv_n2

real(r8) mo_aurora::rmassinv_n2

◆ rmassinv_o1

real(r8) mo_aurora::rmassinv_o1

◆ rmassinv_o2

real(r8) mo_aurora::rmassinv_o2

◆ rrad

real(r8), dimension(2) mo_aurora::rrad

◆ rrote

real(r8) mo_aurora::rrote

◆ rroth

real(r8) mo_aurora::rroth

◆ theta0

real(r8), dimension(2) mo_aurora::theta0

◆ twopi

real(r8) mo_aurora::twopi